/*
Theme Name: Hunting Axes MTC
Theme URI: https://huntingaxs.com
Author: Marketing the Change
Author URI: https://marketingthechange.com
Description: Editorial FSE theme for Hunting Axes: hunter-and-bushcrafter magazine for hunting axes, hatchets, tomahawks, bushcraft axes, throwing and splitting axes. Rugged outdoor palette (Forest, Pine, Bark, Ember, Timber, Bone), Barlow Condensed display, Merriweather body, Inter UI, JetBrains Mono for specs. Ships review CPT, brand + technique-guide + species-guide taxonomies, and blocks for FTC disclosure, verdict badge with sub-scores, chopping-block session count, named-shortcomings pair, state-legality warning, and byline card.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: huntingaxs-mtc
Tags: block-theme, full-site-editing, magazine, editorial, blog, outdoor, hunting, affiliate
*/

/* Base editorial reset. theme.json owns the tokens. */
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
a { text-underline-offset: 3px; }

/* Skip link */
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { position: fixed; top: 12px; left: 12px; background: #C4562A; color: #F1EDE4; padding: 8px 14px; z-index: 9999; font-weight: 600; }

/* Writer / hunter byline card */
.hax-byline {
  display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center;
  padding: 16px 20px; background: #F5EDDD; border-left: 3px solid #C4562A;
  font-size: 14px; color: #151A17; margin: 24px 0;
}
.hax-byline strong { font-weight: 700; }
.hax-byline .hax-byline__meta { font-family: 'JetBrains Mono', ui-monospace, monospace; color: #8A9088; }
.hax-byline .hax-byline__range { color: #3A2E24; font-weight: 600; }

/* Chopping-block hours stamp */
.hax-hours {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 10px; background: #243830; color: #F1EDE4;
  font-size: 12px; font-weight: 700; letter-spacing: 0.04em; border-radius: 2px;
  font-family: 'JetBrains Mono', ui-monospace, monospace; text-transform: uppercase;
}
.hax-hours--desk { background: #8A9088; color: #151A17; }

/* FTC disclosure block (Rust border, Bone background) */
.hax-ftc {
  border-top: 4px solid #A54223; background: #F5EDDD; color: #151A17;
  padding: 20px 24px; margin: 24px 0; font-size: 15px; line-height: 1.55;
}
.hax-ftc__label {
  font-weight: 700; color: #A54223; letter-spacing: 0.06em;
  text-transform: uppercase; font-size: 12px; display: block; margin-bottom: 6px;
  font-family: 'Barlow Condensed', 'Oswald', sans-serif;
}
.hax-ftc a { color: #151A17; text-decoration: underline; text-decoration-color: #A54223; }

/* State legality warning band */
.hax-legal {
  background: #EDE4D2; border-left: 4px solid #A54223; padding: 14px 18px;
  font-size: 14px; color: #151A17; margin: 24px 0;
}
.hax-legal strong { color: #A54223; text-transform: uppercase; letter-spacing: 0.06em; font-size: 12px; }
.hax-legal__cite { font-family: 'JetBrains Mono', ui-monospace, monospace; color: #4A5058; font-size: 13px; display: block; margin-top: 6px; }

/* Callout */
.hax-callout { border-left: 4px solid #C4562A; background: #F5EDDD; padding: 20px 24px; margin: 24px 0; }
.hax-callout p:last-child { margin-bottom: 0; }

/* Verdict badge (score / 10) */
.hax-verdict-wrap { margin: 24px 0; }
.hax-verdict { display: inline-flex; align-items: baseline; gap: 6px; padding: 10px 16px; background: #C4562A; color: #F1EDE4; border-radius: 4px; font-family: 'JetBrains Mono', ui-monospace, monospace; font-weight: 700; }
.hax-verdict__score { font-size: 26px; line-height: 1; }
.hax-verdict__max { font-size: 14px; opacity: 0.8; }

/* Sub-scores row (edge, balance, handle, sheath, value) */
.hax-subscores { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; }
.hax-subscores span { padding: 4px 10px; background: #EDE4D2; color: #151A17; border-radius: 2px; }
.hax-subscores span strong { color: #C4562A; margin-left: 4px; }

/* Comparison table */
.hax-compare { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 15px; }
.hax-compare th, .hax-compare td { padding: 12px 14px; text-align: left; border-bottom: 1px solid #EDE4D2; }
.hax-compare thead th { background: #1A2A22; color: #F1EDE4; font-family: 'Barlow Condensed', 'Oswald', sans-serif; font-weight: 700; letter-spacing: 0.02em; }
.hax-compare tbody tr.hax-compare__pick { background: #F5EDDD; }
.hax-compare tbody tr.hax-compare__pick td:first-child { border-left: 3px solid #C4562A; }

/* Spec table (mono numerics) */
.hax-spec { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 15px; }
.hax-spec th, .hax-spec td { padding: 10px 12px; border-bottom: 1px solid #EDE4D2; text-align: left; }
.hax-spec th { width: 40%; color: #3A2E24; font-weight: 600; font-family: 'Inter', sans-serif; }
.hax-spec td { font-family: 'JetBrains Mono', ui-monospace, monospace; color: #151A17; }

/* Editor's pick pill */
.hax-pick { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; background: #243830; color: #F1EDE4; font-family: 'Barlow Condensed', 'Oswald', sans-serif; }
.hax-pick--top { background: #C4562A; }
.hax-pick--budget { background: #4A5058; }
.hax-pick--premium { background: #3A2E24; }
.hax-pick--sponsored { background: #A54223; }

/* Shortcomings pair callout */
.hax-shortcomings { background: #F5EDDD; border: 1px solid #8A9088; border-radius: 4px; padding: 20px 24px; margin: 24px 0; }
.hax-shortcomings h4 { margin-top: 0; color: #A54223; font-family: 'Barlow Condensed', 'Oswald', sans-serif; text-transform: uppercase; letter-spacing: 0.04em; }
.hax-shortcomings ul { margin: 8px 0 0; padding-left: 20px; }
.hax-shortcomings li { margin-bottom: 6px; }

/* Rank badge (1, 2, 3 on best-of) */
.hax-rank {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: #C4562A; color: #F1EDE4; font-family: 'Barlow Condensed', 'Oswald', sans-serif;
  font-weight: 700; font-size: 20px;
}

/* Image treatments */
.hax-img-forest-wash { position: relative; overflow: hidden; isolation: isolate; }
.hax-img-forest-wash img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hax-img-forest-wash::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(26,42,34,0.30) 0%, rgba(21,26,23,0.75) 100%); pointer-events: none; z-index: 1; }
.hax-img-bark-frame { padding: 12px; background: #3A2E24; border-radius: 4px; display: inline-block; }
.hax-img-bark-frame img { width: 100%; height: auto; display: block; border-radius: 2px; }
.hax-img-timber-frame { padding: 12px; background: #EDE4D2; border: 1px solid #F5EDDD; border-radius: 4px; display: inline-block; }
.hax-img-timber-frame img { width: 100%; height: auto; display: block; border-radius: 2px; }

/* Trust strip */
.hax-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 40px; padding: 20px 24px; background: #243830; color: #F1EDE4; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; }
.hax-trust span { border-left: 1px solid #5D6570; padding-left: 20px; }
.hax-trust span:first-child { border-left: 0; padding-left: 0; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
