/* ============================================================================
   quad-atv.za.net — single stylesheet (replaces Tailwind)
   Rugged off-road aesthetic: dark olive/khaki ground, bright-green accent.
   Mobile-first. No @import, no render-blocking framework. Targets LCP < 2.5s.
============================================================================ */

:root{
  --bg:#2c2c1e;            /* page background (olive/khaki) */
  --bg-2:#24241a;          /* deeper sections / topnav */
  --card:#3a3a28;          /* primary card */
  --card-2:#2c261b;        /* secondary / accordion card */
  --card-hover:#454534;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --txt:#f2f1e8;           /* body text on dark */
  --txt-dim:#b8b6a4;       /* muted */
  --txt-dimmer:#8c8a78;
  --accent:#4caf50;        /* bright green — CTAs, active, links */
  --accent-d:#3d9140;
  --accent-2:#d8a531;      /* amber — secondary highlight (years, tags) */
  --danger:#c0492f;
  --radius:12px;
  --radius-lg:18px;
  --maxw:1240px;
  --side:300px;
  --ff-display:'Bebas Neue',Impact,sans-serif;
  --ff-cond:'Barlow Condensed',system-ui,sans-serif;
  --ff:'Barlow',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--txt);
  font-family:var(--ff);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-d)}
h1,h2,h3{font-family:var(--ff-cond);line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.15rem}
p{margin:0 0 1rem}

/* ---------- HEADER ---------- */
.site-header{position:sticky;top:0;z-index:100;background:var(--bg-2);border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:16px;padding:10px 16px}
.logo-wrap{display:flex;align-items:center;gap:10px;color:var(--txt)}
.logo-icon{width:38px;height:38px;flex:none;color:var(--accent)}
.logo-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.logo-text{font-family:var(--ff-display);font-size:24px;letter-spacing:.04em;color:var(--txt);line-height:1}
.logo-text span{color:var(--accent)}
.logo-sub{font-size:11px;color:var(--txt-dim);letter-spacing:.12em;text-transform:uppercase}
.header-search{flex:1;max-width:520px;display:flex;align-items:center;gap:8px;background:#1d1d14;border:1px solid var(--line);border-radius:24px;padding:8px 16px}
.header-search svg{width:18px;height:18px;flex:none;stroke:var(--txt-dim);fill:none;stroke-width:2;stroke-linecap:round}
.header-search input{flex:1;background:none;border:none;outline:none;color:var(--txt);font-size:14px;font-family:var(--ff)}
.header-search input::placeholder{color:var(--txt-dimmer)}
.hamburger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px}
.hamburger span{width:24px;height:2px;background:var(--txt);border-radius:2px}

/* ---------- TOP NAV ---------- */
.site-topnav{background:var(--bg-2);border-bottom:1px solid var(--line)}
.site-topnav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;padding:0 16px}
.site-topnav a{font-family:var(--ff-cond);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--txt-dim);padding:12px 16px;font-size:14px;border-bottom:3px solid transparent}
.site-topnav a:hover{color:var(--txt)}
.site-topnav a.active{color:var(--accent);border-bottom-color:var(--accent)}

/* ---------- HERO ---------- */
.site-hero{position:relative;height:clamp(220px,34vw,380px);overflow:hidden;background:var(--bg-2)}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,12,.35),rgba(20,20,12,.82))}
.hero-content{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 24px}
.hero-h1{font-family:var(--ff-cond);font-weight:700;font-size:clamp(1.8rem,4.4vw,3rem);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5);margin:0 0 .25em;max-width:18ch}
.hero-text{color:#e8e6d8;font-size:clamp(1rem,2vw,1.2rem);max-width:46ch;margin:0;text-shadow:0 1px 6px rgba(0,0,0,.5)}

/* ---------- LAYOUT ---------- */
.site-wrapper{max-width:var(--maxw);margin:0 auto;padding:24px 16px}
.content-layout{display:grid;grid-template-columns:var(--side) 1fr;gap:28px;align-items:start}
.content-sidebar{position:sticky;top:84px}
.content-main{min-width:0}

/* ---------- SIDEBAR MENU ---------- */
.NavTop{width:100%;border-collapse:collapse;background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.clsMenuHead,.sidebar-heading{font-family:var(--ff-cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--accent);padding:12px 14px 6px;background:var(--bg-2)}
.clsMenu1{border-top:1px solid var(--line)}
.clsMenuA1{display:block;padding:10px 14px;color:var(--txt-dim);font-size:14px;font-family:var(--ff-cond);font-weight:500}
.clsMenuA1:hover{background:var(--card-hover);color:var(--txt)}
.clsMenu1Active .clsMenuA1{color:var(--accent);background:rgba(76,175,80,.10);border-left:3px solid var(--accent)}

.sidebar-latest{margin-top:18px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.sidebar-latest .sidebar-heading{display:block}
.latest-link{display:block;padding:9px 14px;border-top:1px solid var(--line);color:var(--txt-dim);font-size:13px}
.latest-link:hover{background:var(--card-hover);color:var(--txt)}

.ad-sidebar-slot{margin-top:18px;text-align:center;background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-height:120px}
.ad-label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dimmer);margin-bottom:6px}

/* ---------- CONTENT COMPONENTS (replace Tailwind utilities) ---------- */
.card{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.card-grid{display:grid;gap:16px}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.text-accent{color:var(--accent)}
.text-amber{color:var(--accent-2)}
.text-dim{color:var(--txt-dim)}
.muted{color:var(--txt-dimmer);font-size:.85rem}

/* model / spec thumbnail cards */
.q-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .15s,transform .15s;display:block;color:var(--txt)}
.q-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.q-card img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--bg-2)}
.q-card .q-body{padding:14px}
.q-card .q-title{font-family:var(--ff-cond);font-weight:700;font-size:1rem;margin:0 0 2px;color:var(--txt)}
.q-card:hover .q-title{color:var(--accent)}
.q-card .q-type{font-size:12px;color:var(--txt-dim);margin:0 0 6px}
.q-card .q-cta{font-size:12px;color:var(--accent);font-weight:600}

/* accordion (native details/summary) */
details.acc{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}
details.acc>summary{cursor:pointer;list-style:none;font-family:var(--ff-cond);font-weight:700;font-size:1.2rem;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary:hover{background:var(--card-hover)}
details.acc>summary .chev{color:var(--accent);transition:transform .2s}
details.acc[open]>summary .chev{transform:rotate(180deg)}
.acc-body{padding:18px 20px;border-top:1px solid var(--line)}

/* spec key/value grid */
.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;font-size:14px}
.spec-grid .spec-k{color:var(--txt-dim)}
.spec-grid .spec-v{color:var(--txt);font-weight:500}

/* hero/quick-stats card on spec page */
.spec-hero{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.4)}
.spec-hero>img{width:100%;height:clamp(220px,40vw,360px);object-fit:cover}
.spec-hero .sh-body{padding:24px}
.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center;margin-top:14px}
.quick-stats .qs-k{font-size:12px;color:var(--txt-dim)}
.quick-stats .qs-v{font-family:var(--ff-cond);font-weight:700;font-size:1.5rem;color:var(--txt)}
.quick-stats .qs-v.accent{color:var(--accent)}

/* buttons / badges */
.btn{display:inline-block;font-family:var(--ff-cond);font-weight:700;letter-spacing:.03em;text-transform:uppercase;border:none;border-radius:8px;padding:12px 22px;cursor:pointer;transition:background .15s,transform .15s;text-align:center}
.btn-primary{background:var(--accent);color:#10210f}
.btn-primary:hover{background:var(--accent-d);color:#10210f;transform:translateY(-1px)}
.btn-ghost{background:var(--card-hover);color:var(--txt)}
.btn-ghost:hover{background:#52523f;color:var(--txt)}
.badge{display:inline-block;font-family:var(--ff-cond);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:4px}
.badge-year{background:rgba(216,165,49,.16);border:1px solid rgba(216,165,49,.34);color:var(--accent-2)}

/* prose (intro paragraphs / FAQ answers) */
.prose-quad{color:var(--txt);line-height:1.75}
.prose-quad p{margin:0 0 1rem}
.prose-quad strong{color:#fff}

/* section heading */
.sec-h2{font-family:var(--ff-cond);font-weight:700;font-size:1.5rem;color:var(--accent);margin:32px 0 16px}

/* breadcrumbs */
.crumbs{font-size:13px;color:var(--txt-dim);margin:0 0 14px}
.crumbs a{color:var(--txt-dim)}
.crumbs a:hover{color:var(--accent)}
.crumbs span{color:var(--txt-dimmer);margin:0 6px}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--bg-2);border-top:1px solid var(--line);text-align:center;padding:28px 16px;margin-top:40px;color:var(--txt-dim);font-size:13px}
.site-footer a{color:var(--txt-dim)}
.site-footer a:hover{color:var(--accent)}

/* ---------- MOBILE BOTTOM NAV ---------- */
.bottom-nav{display:none}

/* ---------- MOBILE SLIDE MENU ---------- */
.mm-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200}
.mm-overlay.open{display:block}
.mm-panel{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:84vw;background:var(--bg-2);z-index:201;overflow-y:auto;border-right:1px solid var(--line);transform:translateX(-100%);transition:transform .25s ease}
.mm-panel.open{transform:translateX(0)}
.mm-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.mm-title{font-family:var(--ff-display);font-size:18px;letter-spacing:.06em;color:#fff}
.mm-close{background:none;border:none;color:var(--txt-dim);font-size:24px;cursor:pointer;line-height:1}

/* ---------- AUTOCOMPLETE ---------- */
.ac-portal{display:none;position:fixed;z-index:9999;background:#1c1c13;border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.7);overflow:hidden;max-height:440px;overflow-y:auto;min-width:280px}
.ac-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);cursor:pointer}
.ac-item:last-child{border-bottom:none}
.ac-item:hover,.ac-item.ac-active{background:rgba(76,175,80,.12)}
.ac-thumb{width:48px;height:36px;border-radius:4px;background:var(--bg-2);overflow:hidden;flex:none}
.ac-thumb img{width:100%;height:100%;object-fit:cover}
.ac-text{flex:1;min-width:0}
.ac-name{font-family:var(--ff-cond);font-weight:600;font-size:14px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-detail{font-size:11px;color:var(--txt-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-footer{padding:8px 12px;font-size:12px;color:var(--txt-dim);text-align:center;border-top:1px solid var(--line);cursor:pointer}
.ac-footer:hover{color:var(--accent)}
.ac-spinner{padding:12px;text-align:center;font-size:12px;color:var(--txt-dim)}

/* ============================================================================
   PAGE COMPONENTS — added for default/make/model/spec/error templates
============================================================================ */

/* page header + intro */
.page-header{margin:0 0 20px}
.page-header h1{font-family:var(--ff-cond);font-weight:700;font-size:clamp(1.6rem,3.4vw,2.4rem);color:#fff;margin:0 0 .3em}
.page-intro{color:var(--txt-dim);max-width:70ch;margin:0}
.section-heading{font-family:var(--ff-cond);font-weight:700;font-size:1.5rem;color:var(--accent);margin:32px 0 16px}
.content-card{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin:0 0 24px}
.content-card h2{color:var(--accent);font-size:1.35rem;margin:1.2em 0 .5em}
.content-card h2:first-child{margin-top:0}
.content-card h3{color:#fff;font-size:1.1rem;margin:1.1em 0 .4em}
.txt-dim{color:var(--txt-dim)}

/* breadcrumb (matches .crumbs styling) */
.breadcrumb{font-size:13px;color:var(--txt-dim);margin:0 0 14px}
.breadcrumb a{color:var(--txt-dim)}
.breadcrumb a:hover{color:var(--accent)}

/* CTA button */
.btn-accent{display:inline-block;font-family:var(--ff-cond);font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--accent);color:#10210f;border:none;border-radius:8px;padding:12px 22px;cursor:pointer;transition:background .15s,transform .15s}
.btn-accent:hover{background:var(--accent-d);color:#10210f;transform:translateY(-1px)}
.btn-accent-muted{background:var(--card-hover);color:var(--txt-dim);border:1px solid var(--line)}
.btn-accent-muted:hover{background:var(--card-hover);color:var(--accent);transform:none}

/* home: make logo grid */
.make-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin:0 0 8px}
.make-card{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 12px;transition:border-color .15s,transform .15s;color:var(--txt)}
.make-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.make-card img{width:100%;max-width:120px;height:80px;object-fit:contain;background:var(--bg-2);border-radius:6px}
.make-card-name{font-family:var(--ff-cond);font-weight:600;font-size:15px;color:var(--txt)}
.make-card:hover .make-card-name{color:var(--accent)}

/* home: quick stats bar */
.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center;margin:24px 0}
.quick-stats .qs-item{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px 8px}
.quick-stats .qs-num{display:block;font-family:var(--ff-cond);font-weight:700;font-size:1.6rem;color:var(--accent)}
.quick-stats .qs-label{display:block;font-size:12px;color:var(--txt-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}

/* home: by-size cards */
.size-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;transition:border-color .15s,transform .15s;color:var(--txt)}
.size-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.size-cc{font-family:var(--ff-cond);font-weight:700;color:var(--accent-2);font-size:14px;letter-spacing:.04em}
.size-name{font-family:var(--ff-cond);font-weight:700;font-size:1.25rem;color:#fff;display:block;margin:2px 0 6px}
.size-card:hover .size-name{color:var(--accent)}
.size-desc{font-size:13px;color:var(--txt-dim);margin:0}

/* make page: model cards / model page: variant cards */
/* Horizontal list card: thumbnail left (fixed size) + info right */
.model-card{display:grid;grid-template-columns:120px 1fr;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .15s,transform .15s;color:var(--txt);min-height:90px}
.model-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.model-card-img{background:var(--bg-2);flex:none}
.model-card-img img{width:120px;height:100%;min-height:90px;max-height:110px;object-fit:cover;display:block}
.model-card-body{padding:12px 14px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.model-card-name{display:block;font-family:var(--ff-cond);font-weight:700;font-size:1.05rem;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.model-card:hover .model-card-name{color:var(--accent)}
.model-card-meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin:4px 0}
.model-card-cta{display:block;font-size:12px;color:var(--accent);font-weight:600;margin-top:4px}

/* variant cards on model pages */
.variant-card{display:grid;grid-template-columns:100px 1fr;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .15s,transform .15s;color:var(--txt);min-height:84px}
.variant-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.variant-img{background:var(--bg-2);flex:none}
.variant-img img{width:100px;height:100%;min-height:84px;max-height:100px;object-fit:cover;display:block}
.variant-body{padding:10px 13px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.variant-name{display:block;font-family:var(--ff-cond);font-weight:700;font-size:.98rem;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.variant-card:hover .variant-name{color:var(--accent)}
.variant-cta{display:block;font-size:11px;color:var(--accent);font-weight:600;margin-top:4px}
.variant-year{display:inline-block;font-family:var(--ff-cond);font-weight:600;font-size:11px;letter-spacing:.06em;padding:2px 7px;border-radius:4px;background:rgba(216,165,49,.16);border:1px solid rgba(216,165,49,.34);color:var(--accent-2)}
.variant-cc{display:inline-block;font-size:11px;color:var(--txt-dim)}

/* spec page hero */
.spec-article{min-width:0}
.spec-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.4);margin:0 0 24px}
.spec-hero-img{background:var(--bg-2)}
.spec-hero-img img{width:100%;height:100%;min-height:240px;object-fit:cover}
.spec-hero-info{padding:24px}
.spec-hero-info h1{font-family:var(--ff-cond);font-weight:700;font-size:clamp(1.5rem,3vw,2.1rem);color:#fff;margin:0 0 .4em}
.spec-intro{color:var(--txt-dim);font-size:.95rem;line-height:1.7}
.spec-actions{margin-top:16px}

/* spec page tables */
.spec-table-block{margin:0 0 22px}
.spec-cat-head{font-family:var(--ff-cond);font-weight:700;font-size:1.25rem;color:var(--accent);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.spec-table{width:100%;border-collapse:collapse;background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.spec-table th{text-align:left;width:42%;padding:10px 14px;color:var(--txt-dim);font-weight:500;font-size:14px;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table td{padding:10px 14px;color:var(--txt);font-weight:500;font-size:14px;border-bottom:1px solid var(--line)}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none}
.spec-table tr:hover{background:rgba(255,255,255,.02)}

/* spec page: similar */
.spec-similar{margin-top:28px}
.similar-card{display:flex;align-items:center;justify-content:center;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;font-family:var(--ff-cond);font-weight:600;color:var(--txt);min-height:72px;transition:border-color .15s,transform .15s}
.similar-card:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}

/* content ad slot */
.ad-content-slot{text-align:center;background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px;margin:24px 0;min-height:100px}

/* error pages */
.error-page{text-align:center;padding:40px 24px}
.error-code{font-family:var(--ff-display);font-size:clamp(4rem,12vw,7rem);color:var(--accent);line-height:1}
.error-page h1{font-family:var(--ff-cond);font-weight:700;color:#fff;margin:0 0 .5em}
.error-search{max-width:420px;margin:20px auto}
.error-search input{width:100%;background:#1d1d14;border:1px solid var(--line);border-radius:24px;padding:12px 18px;color:var(--txt);font-size:15px;outline:none}
.error-makes{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 24px}
.chip{display:inline-block;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-family:var(--ff-cond);font-weight:600;font-size:13px;color:var(--txt-dim)}
.chip:hover{border-color:var(--accent);color:var(--accent)}
.error-home{margin-top:8px}

/* compare table */
.compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card-2)}
.compare-table{border-collapse:collapse;width:100%;min-width:520px}
.compare-table th,.compare-table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}
.compare-corner{background:var(--bg-2);width:200px;min-width:160px}
.compare-head{text-align:center;background:var(--bg-2);vertical-align:top;min-width:180px}
.compare-head img{width:160px;height:110px;object-fit:cover;border-radius:6px;margin:0 auto 6px;background:var(--card)}
.compare-name{font-family:var(--ff-cond);font-weight:700;font-size:14px;line-height:1.2;margin-bottom:4px}
.compare-name a{color:var(--txt)}
.compare-name a:hover{color:var(--accent)}
.compare-remove{font-size:11px;color:var(--txt-dimmer);display:block;margin-top:4px}
.compare-remove:hover{color:var(--danger)}
.compare-label{background:var(--bg-2);color:var(--txt-dim);font-weight:500;width:200px;min-width:160px}
.compare-table td{color:var(--txt);font-weight:500}
.compare-table tbody tr:hover{background:rgba(255,255,255,.02)}
/* Category header rows */
.compare-cat-row{}
.compare-cat-head{background:rgba(76,175,80,.08);color:var(--accent);font-family:var(--ff-cond);font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid var(--line)}
/* Winning cell highlight */
.cmp-win{background:rgba(76,175,80,.08);color:#c8f0c8;font-weight:700}
.cmp-win-badge{color:var(--accent);font-size:12px;margin-left:4px}

/* Compare search bar */
.compare-search-bar{position:relative;margin:0 0 20px;max-width:600px}
.compare-search-inner{display:flex;align-items:center;gap:10px;background:#1d1d14;border:1px solid var(--line-strong);border-radius:12px;padding:12px 18px}
.compare-search-inner svg{width:20px;height:20px;flex:none;stroke:var(--txt-dim);fill:none;stroke-width:2;stroke-linecap:round}
.compare-search-inner input{flex:1;background:none;border:none;outline:none;color:var(--txt);font-size:15px;font-family:var(--ff)}
.compare-search-inner input::placeholder{color:var(--txt-dimmer)}
.compare-hint{font-size:13px;color:var(--txt-dimmer);margin:8px 0 0}
/* Dropdown */
.cmp-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#1c1c13;border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.7);z-index:999;overflow:hidden;max-height:360px;overflow-y:auto}
.cmp-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer}
.cmp-item:last-of-type{border-bottom:none}
.cmp-item:hover,.cmp-item-active{background:rgba(76,175,80,.1)}
.cmp-item-img{width:56px;height:42px;border-radius:5px;background:var(--bg-2);overflow:hidden;flex:none}
.cmp-item-img img{width:100%;height:100%;object-fit:cover}
.cmp-item-text{flex:1;min-width:0}
.cmp-item-name{display:block;font-family:var(--ff-cond);font-weight:600;font-size:14px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-item-detail{display:block;font-size:11px;color:var(--txt-dim)}
.cmp-item-footer{padding:9px 14px;font-size:12px;color:var(--txt-dimmer);text-align:center;border-top:1px solid var(--line);background:var(--bg-2)}

/* Selected quads tray */
.cmp-tray{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin:0 0 20px}
.cmp-tray-label{font-size:13px;color:var(--txt-dim);white-space:nowrap}
.cmp-tray-item{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 10px;max-width:200px}
.cmp-tray-item img{border-radius:4px;object-fit:cover;flex:none}
.cmp-tray-name{font-family:var(--ff-cond);font-weight:600;font-size:13px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.cmp-tray-remove{color:var(--txt-dimmer);font-size:18px;line-height:1;padding:0 2px;flex:none}
.cmp-tray-remove:hover{color:var(--danger)}

/* Quick comparison summary strip */
.cmp-summary{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;margin:0 0 24px}
.cmp-summary-table{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cmp-sum-row{display:grid;border-bottom:1px solid var(--line)}
.cmp-sum-row:last-child{border-bottom:none}
.cmp-sum-label{padding:10px 14px;background:var(--bg-2);color:var(--txt-dim);font-size:13px;font-weight:500}
.cmp-sum-val{padding:10px 14px;font-size:14px;color:var(--txt);font-weight:500;text-align:center}
.cmp-sum-head .cmp-sum-val{background:var(--bg-2)}
.cmp-sum-name{font-family:var(--ff-cond);font-weight:700;font-size:15px}
.cmp-sum-name a{color:var(--txt)}
.cmp-sum-name a:hover{color:var(--accent)}
.cmp-sum-row .cmp-win{background:rgba(76,175,80,.1);color:#c8f0c8;font-weight:700}

/* Compare insights: pros/cons grid */
.cmp-insights{margin-top:28px}
.cmp-pros-cons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0 0 28px}
.cmp-pc-col{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.cmp-pc-name{font-family:var(--ff-cond);font-weight:700;font-size:1.1rem;padding:14px 16px;border-bottom:1px solid var(--line);margin:0}
.cmp-pc-name a{color:#fff}
.cmp-pc-name a:hover{color:var(--accent)}
.cmp-pros,.cmp-cons{padding:12px 16px}
.cmp-pros{border-bottom:1px solid var(--line)}
.cmp-pc-head{font-family:var(--ff-cond);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.cmp-pros .cmp-pc-head{color:var(--accent)}
.cmp-cons .cmp-pc-head{color:var(--danger)}
.cmp-pros ul,.cmp-cons ul{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:5px}
.cmp-pros li{color:var(--txt);font-size:13px;line-height:1.45}
.cmp-cons li{color:var(--txt-dim);font-size:13px;line-height:1.45}

/* Empty state */
.cmp-empty{text-align:center;padding:48px 24px;color:var(--txt-dim)}
.cmp-empty-icon{font-size:48px;color:var(--accent);margin:0 auto 16px;line-height:1}
.cmp-empty h2{font-family:var(--ff-cond);font-size:1.6rem;color:#fff;margin:0 0 8px}
.cmp-empty p{margin:0 0 20px;font-size:15px}

/* article + review body */
.article-body{min-width:0}
.article-head{margin:0 0 18px}
.article-head h1{font-family:var(--ff-cond);font-weight:700;font-size:clamp(1.7rem,3.6vw,2.6rem);color:#fff;margin:0 0 .3em;line-height:1.15}
.article-meta{color:var(--txt-dim);font-size:14px;margin:0}
.article-featured{margin:0 0 22px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line)}
.article-featured img{width:100%;height:auto;display:block}
.article-content{font-size:16px;line-height:1.75;color:var(--txt)}
.prose-quad h2{font-family:var(--ff-cond);font-weight:700;font-size:1.5rem;color:var(--accent);margin:1.6em 0 .5em}
.prose-quad h3{font-family:var(--ff-cond);font-weight:700;font-size:1.2rem;color:#fff;margin:1.4em 0 .4em}
.prose-quad p{margin:0 0 1.1em}
.prose-quad ul,.prose-quad ol{margin:0 0 1.1em 1.4em;padding:0}
.prose-quad li{margin:0 0 .4em}
.prose-quad a{color:var(--accent);text-decoration:underline}
.prose-quad img{max-width:100%;height:auto;border-radius:var(--radius);margin:1em 0}
.prose-quad table{width:100%;border-collapse:collapse;margin:1.2em 0}
.prose-quad th,.prose-quad td{border:1px solid var(--line);padding:8px 12px;text-align:left}
.prose-quad blockquote{border-left:3px solid var(--accent);margin:1.2em 0;padding:.4em 0 .4em 1.2em;color:var(--txt-dim);font-style:italic}

/* review ratings */
.rating-grid{margin:14px 0;display:flex;flex-direction:column;gap:8px}
.rating-row{display:grid;grid-template-columns:80px 1fr 38px;align-items:center;gap:10px}
.rating-label{font-size:13px;color:var(--txt-dim)}
.rating-bar{height:8px;background:var(--bg-2);border-radius:5px;overflow:hidden}
.rating-fill{display:block;height:100%;background:var(--accent);border-radius:5px}
.rating-val{font-family:var(--ff-cond);font-weight:700;font-size:14px;color:var(--accent);text-align:right}

/* FAQ accordion (native <details>) */
.faq-block{margin:28px 0}
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.faq-item[open]{border-color:var(--accent)}
.faq-q{cursor:pointer;list-style:none;padding:15px 44px 15px 18px;position:relative;font-family:var(--ff-cond);font-weight:600;font-size:16px;color:#fff;user-select:none}
.faq-q::-webkit-details-marker{display:none}
.faq-q::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;line-height:1;color:var(--accent);transition:transform .2s}
.faq-item[open] .faq-q::after{content:"\2212"}
.faq-q:hover{color:var(--accent)}
.faq-a{padding:0 18px 16px;color:var(--txt-dim);font-size:15px;line-height:1.65}
.faq-a a{color:var(--accent)}

/* Year browse — compact chip grid on landing, variant-cards on year pages */
.year-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:0 0 24px}
.year-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 10px;text-decoration:none;color:var(--txt);transition:border-color .15s,transform .15s;text-align:center}
.year-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.year-card-year{font-family:var(--ff-cond);font-size:1.5rem;font-weight:700;color:#fff;line-height:1}
.year-card:hover .year-card-year{color:var(--accent)}
.year-card-count{font-size:11px;color:var(--txt-dim);margin-top:4px}
@media(max-width:600px){.year-grid{grid-template-columns:repeat(auto-fill,minmax(85px,1fr))}}

/* Year pills */
.year-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0}
.year-pills-label{color:var(--txt-dim);font-size:14px;margin-right:4px}
.year-pill{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:6px 14px;
  color:var(--txt);text-decoration:none;font-size:14px;font-weight:600;transition:all .15s}
.year-pill:hover{border-color:var(--accent);color:var(--accent)}
.year-pill-active{background:var(--accent);border-color:var(--accent);color:#10210f}

/* Review callout on spec pages */
.review-callout{padding:22px 24px}
.review-callout-label{display:inline-block;background:var(--accent);color:#10210f;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:20px;margin-bottom:10px}
.review-callout-title{font-family:var(--ff-cond);font-size:1.4rem;font-weight:700;margin:0 0 10px;color:#fff}
.review-callout-rating{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.review-callout-excerpt{color:var(--txt-dim);font-size:15px;margin:0 0 16px;line-height:1.6}

/* Model/make listing grids — 2 columns for the horizontal list cards */
.model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.variant-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
/* article / review grids — image-top cards, 3 columns */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
/* Article cards in the grid — image-top, capped height */
.article-grid .model-card{display:flex;flex-direction:column;grid-template-columns:unset;min-height:unset}
.article-grid .model-card-img img{width:100%;height:160px;min-height:unset;max-height:160px;object-fit:cover}
.article-grid .model-card-body{flex:1}

/* Model page filter bar */
.model-filters{background:var(--card-2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:0 0 18px}
.filter-row{display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:10px}
.filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.filter-label{font-family:var(--ff-cond);font-weight:700;font-size:13px;color:var(--txt-dim);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.filter-pill{background:none;border:1px solid var(--line);border-radius:20px;padding:5px 13px;color:var(--txt-dim);font-family:var(--ff-cond);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;line-height:1}
.filter-pill:hover{border-color:var(--accent);color:var(--accent)}
.filter-pill-active{background:var(--accent);border-color:var(--accent);color:#10210f !important}
.filter-status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--line)}
.filter-status span{font-size:14px;color:var(--txt-dim)}
.filter-reset{background:none;border:1px solid var(--line);border-radius:8px;padding:4px 12px;color:var(--txt-dimmer);font-size:13px;cursor:pointer;transition:all .15s}
.filter-reset:hover{border-color:var(--danger);color:var(--danger)}
.txt-link{color:var(--accent);text-decoration:underline}

/* By-size tab strip (shown on band pages, replaces the full card grid) */
.size-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px}
.size-tab{display:flex;flex-direction:column;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px;text-decoration:none;color:var(--txt);transition:border-color .15s,background .15s;min-width:120px}
.size-tab:hover{border-color:var(--accent);background:var(--card-hover)}
.size-tab-active{border-color:var(--accent);background:rgba(76,175,80,.08)}
.size-tab-label{font-family:var(--ff-cond);font-weight:700;font-size:15px;color:var(--txt)}
.size-tab-active .size-tab-label{color:var(--accent)}
.size-tab-cc{font-size:12px;color:var(--txt-dim);font-family:var(--ff-cond)}
.size-tab-active .size-tab-cc{color:var(--accent)}

/* Article cards — title above excerpt, CTA at bottom */
.article-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .15s,transform .15s;color:var(--txt);text-decoration:none}
.article-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.article-card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.article-card-title{font-family:var(--ff-cond);font-weight:700;font-size:1.05rem;color:var(--txt);line-height:1.25}
.article-card:hover .article-card-title{color:var(--accent)}
.article-card-exc{color:var(--txt-dim);font-size:13px;line-height:1.55;margin:0;flex:1}
.article-card-cta{font-size:12px;color:var(--accent);font-weight:600;margin-top:auto}

/* Article cards — used in related-articles strips (title above excerpt, CTA at bottom) */
.article-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .15s,transform .15s;color:var(--txt);text-decoration:none}
.article-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.article-card-img img{width:100%;height:140px;object-fit:cover;display:block;background:var(--bg-2)}
.article-card-body{padding:14px 16px;display:flex;flex-direction:column;flex:1;gap:6px}
.article-card-title{font-family:var(--ff-cond);font-weight:700;font-size:1.05rem;color:var(--txt);line-height:1.25;margin:0}
.article-card:hover .article-card-title{color:var(--accent)}
.article-card-exc{font-size:13px;color:var(--txt-dim);line-height:1.5;margin:0;flex:1}
.article-card-cta{display:inline-block;font-size:12px;color:var(--accent);font-weight:700;margin-top:6px;letter-spacing:.02em}

/* Contact page */
.contact-card{display:flex;gap:16px;align-items:flex-start}
.contact-card-icon{font-size:24px;flex:none;line-height:1;padding-top:2px}
.contact-card-heading{font-family:var(--ff-cond);font-weight:700;font-size:1.1rem;margin:0 0 6px;color:#fff}
.contact-mailto{display:inline-block;color:var(--accent);font-weight:600;font-size:14px;margin-top:8px;word-break:break-all}
.contact-mailto:hover{text-decoration:underline}
.contact-summary{padding:24px}
.contact-detail{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}
.contact-detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--txt-dim);font-weight:700}
.contact-detail span,.contact-detail a{font-size:15px;color:var(--txt)}
.contact-detail a{color:var(--accent)}

.review-byline{font-size:13px;color:var(--txt-dim);margin:8px 0 0}
.review-byline strong{color:var(--txt)}

/* Review page footer additions */
.review-spec-cta{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.review-spec-cta p{margin:0;font-size:15px;color:var(--txt-dim)}
.review-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.review-nav-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-decoration:none;color:var(--txt);transition:border-color .15s,transform .15s}
.review-nav-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.review-nav-card img{border-radius:6px;object-fit:cover;flex:none}
.review-nav-next{flex-direction:row-reverse;text-align:right}
.rnav-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.rnav-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--txt-dim);font-weight:600}
.rnav-name{font-family:var(--ff-cond);font-weight:700;font-size:1rem;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-nav-card:hover .rnav-name{color:var(--accent)}
.rnav-rating{font-size:13px;color:var(--accent);font-weight:700}
@media(max-width:600px){.review-nav{grid-template-columns:1fr}.review-nav-next{flex-direction:row;text-align:left}}

/* Similar-card subtitle (articles -> spec links) */
.similar-card-sub{display:block;font-size:13px;color:var(--txt-dim);margin-top:4px;font-weight:400}

/* ============================================================================
   RESPONSIVE
============================================================================ */
@media (max-width:900px){
  .content-layout{grid-template-columns:1fr}
  .content-sidebar{position:static;display:none}
  .hamburger{display:flex}
  .site-topnav{display:none}
  .header-search{max-width:none}
  .quick-stats{grid-template-columns:repeat(2,1fr)}
  .cols-3{grid-template-columns:repeat(2,1fr)}
  .model-grid{grid-template-columns:1fr}
  .variant-grid{grid-template-columns:1fr}
  .article-grid{grid-template-columns:repeat(2,1fr)}
  .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--bg-2);border-top:1px solid var(--line)}
  .bottom-nav .bn-item{flex:1;text-align:center;padding:10px 4px;color:var(--txt-dim);font-family:var(--ff-cond);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
  .bottom-nav .bn-item.active{color:var(--accent)}
  body{padding-bottom:54px}
}
@media (max-width:560px){
  .cols-2,.cols-3{grid-template-columns:1fr}
  .spec-grid{grid-template-columns:1fr}
  .spec-hero{grid-template-columns:1fr}
  .quick-stats{grid-template-columns:repeat(2,1fr)}
  .article-grid{grid-template-columns:1fr}
  .logo-sub{display:none}
}
