/* Golf Gear Lab Platform 4.0 — Sprint 1 Foundation
   Load last. This file is the source of truth for shared visual tokens and global components. */
:root{
  --ggl-bg:#020706;--ggl-bg-soft:#06100e;--ggl-panel:#091411;--ggl-panel-2:#0d1a17;
  --ggl-text:#f5f9f3;--ggl-muted:#afbbb2;--ggl-green:#79d34d;--ggl-green-strong:#96e367;
  --ggl-gold:#ffd84d;--ggl-line:rgba(255,255,255,.13);--ggl-line-green:rgba(121,211,77,.32);
  --ggl-shadow:0 24px 70px rgba(0,0,0,.34);--ggl-radius-sm:12px;--ggl-radius:20px;--ggl-radius-lg:30px;
  --ggl-max:1180px;--ggl-space-1:.5rem;--ggl-space-2:1rem;--ggl-space-3:1.5rem;--ggl-space-4:2rem;
  --ggl-space-5:3rem;--ggl-space-6:4.5rem;--ggl-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html{scroll-behavior:smooth;scroll-padding-top:104px}body{background:radial-gradient(circle at 78% -10%,rgba(121,211,77,.11),transparent 34%),var(--ggl-bg)!important;color:var(--ggl-text)!important;font-family:var(--ggl-font)!important;line-height:1.55;margin:0}
*,*:before,*:after{box-sizing:border-box}img{max-width:100%;height:auto}a{text-underline-offset:3px}
.container,.wrap,.home-shell,.ggl-v4-shell{width:min(var(--ggl-max),calc(100% - 44px))!important;margin-inline:auto!important}
/* Shared header */
.ggl-v4-header{position:sticky;top:0;z-index:999;background:rgba(2,7,6,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--ggl-line)}
.ggl-v4-nav{min-height:86px;display:grid;grid-template-columns:minmax(220px,280px) 1fr;align-items:center;gap:34px}
.ggl-v4-brand{display:flex;align-items:center;min-width:0}.ggl-v4-brand img{display:block;width:300px!important;max-width:100%!important;height:70px!important;object-fit:contain!important;object-position:left center!important;margin:0!important}
.ggl-v4-menu{display:flex;justify-content:flex-end;align-items:center;gap:clamp(14px,1.55vw,25px);white-space:nowrap}
.ggl-v4-menu a{color:#eaf2eb;text-decoration:none;font-weight:700;font-size:.88rem;letter-spacing:.01em;padding:12px 0;border-bottom:2px solid transparent}
.ggl-v4-menu a:hover,.ggl-v4-menu a[aria-current="page"]{color:var(--ggl-green);border-bottom-color:var(--ggl-green)}
.ggl-v4-menu-toggle{display:none;background:transparent;border:1px solid var(--ggl-line);color:var(--ggl-text);border-radius:10px;padding:9px 12px;font:inherit;font-weight:800}
/* Typography and rhythm */
h1,h2,h3,h4{font-family:var(--ggl-font)!important;letter-spacing:-.035em;line-height:1.08;color:var(--ggl-text)}
h1{font-size:clamp(2.55rem,5.4vw,5.2rem)!important;max-width:16ch}h2{font-size:clamp(2rem,3.5vw,3.35rem)!important}h3{font-size:clamp(1.25rem,2vw,1.72rem)!important}
p,.lead,.lede,.sub{color:var(--ggl-muted)}
section,.section{scroll-margin-top:104px}.section{padding-block:var(--ggl-space-6)!important}
.eyebrow,.kicker{color:var(--ggl-green)!important;text-transform:uppercase;letter-spacing:.14em!important;font-size:.78rem!important;font-weight:900!important}
/* Universal buttons */
.btn,.v3-btn,a.btn,button.btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.55rem;min-height:48px;padding:.82rem 1.2rem!important;border-radius:12px!important;font-weight:850!important;text-decoration:none!important;border:1px solid transparent!important;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.btn:hover,.v3-btn:hover{transform:translateY(-2px)}
.btn-primary,.primary.v3-btn,.btn.primary{background:var(--ggl-green)!important;color:#071006!important;box-shadow:0 12px 30px rgba(121,211,77,.18)}
.btn-secondary,.secondary.v3-btn,.btn.secondary{background:rgba(255,255,255,.035)!important;color:var(--ggl-text)!important;border-color:var(--ggl-line)!important}
/* Universal cards */
.card,.product-card,.category-card,.guide-card,.comparison-card,.bp-card,.winner-card,.quick,.route-card{background:linear-gradient(180deg,rgba(13,26,23,.97),rgba(7,16,14,.97))!important;border:1px solid var(--ggl-line)!important;border-radius:var(--ggl-radius)!important;box-shadow:0 18px 44px rgba(0,0,0,.18);overflow:hidden}
.card:hover,.product-card:hover,.category-card:hover,.guide-card:hover,.comparison-card:hover,.bp-card:hover{border-color:var(--ggl-line-green)!important;transform:translateY(-3px);transition:.2s ease}
.product-card img,.winner-card img,.category-card img{width:100%;object-fit:contain;background:radial-gradient(circle at 50% 42%,rgba(25,96,115,.28),transparent 44%),#071313}
.badge,.award,.bp-badge{display:inline-flex;border-radius:999px;padding:.4rem .72rem;background:rgba(121,211,77,.12)!important;border:1px solid rgba(121,211,77,.34)!important;color:var(--ggl-green)!important;font-weight:900!important;font-size:.73rem!important;text-transform:uppercase;letter-spacing:.06em}
.score{color:var(--ggl-green)!important;font-weight:900}
/* Hero consistency */
.category-hero,.product-hero,.hero-v3,.hero{border-bottom:1px solid var(--ggl-line);background:radial-gradient(circle at 78% 30%,rgba(35,121,150,.17),transparent 31%),linear-gradient(180deg,rgba(5,15,13,.98),rgba(2,7,6,.96))}
.category-hero,.product-hero{padding-block:clamp(3.2rem,7vw,6.5rem)!important}
.product-hero-grid,.hero-grid{align-items:center!important;gap:clamp(2rem,5vw,5rem)!important}
.product-hero img,.hero-img img{max-height:510px!important;object-fit:contain!important;margin:auto!important}
/* Shared footer */
.ggl-v4-footer{margin-top:var(--ggl-space-6);border-top:1px solid var(--ggl-line);background:#010504;padding:54px 0 26px;color:var(--ggl-muted)}
.ggl-v4-footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,minmax(130px,1fr));gap:34px}.ggl-v4-footer img{width:220px;height:58px;object-fit:contain;object-position:left center;margin-bottom:14px}.ggl-v4-footer h3{font-size:.9rem!important;letter-spacing:.03em;color:var(--ggl-text);margin:0 0 14px}.ggl-v4-footer a{display:block;color:var(--ggl-muted);text-decoration:none;margin:.55rem 0}.ggl-v4-footer a:hover{color:var(--ggl-green)}
.ggl-v4-footer-bottom{border-top:1px solid var(--ggl-line);margin-top:36px;padding-top:22px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:.82rem}.ggl-v4-disclosure{max-width:780px;font-size:.78rem;color:#8f9b93}
/* Prevent legacy fixed heights and blank sections */
[data-product-grid]:empty{display:none!important}.product-hero,.product-hero-grid,.hero,.hero-grid,.category-hero{min-height:0!important;height:auto!important}.product-media,.hero-media,.hero-img{min-height:0!important}
@media(max-width:980px){.ggl-v4-nav{grid-template-columns:1fr auto;min-height:76px}.ggl-v4-brand img{width:220px!important;height:52px!important}.ggl-v4-menu-toggle{display:inline-flex}.ggl-v4-menu{display:none;position:absolute;left:22px;right:22px;top:76px;padding:18px;flex-direction:column;align-items:stretch;background:#06100e;border:1px solid var(--ggl-line);border-radius:16px;box-shadow:var(--ggl-shadow)}.ggl-v4-header.is-open .ggl-v4-menu{display:flex}.ggl-v4-menu a{padding:10px 4px}.ggl-v4-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.container,.wrap,.home-shell,.ggl-v4-shell{width:min(100% - 28px,var(--ggl-max))!important}.ggl-v4-brand img{width:185px!important;height:47px!important}.section{padding-block:3.3rem!important}.ggl-v4-footer-grid{grid-template-columns:1fr}.ggl-v4-footer-bottom{display:block}.ggl-v4-footer-bottom>*{margin-bottom:12px}}

/* Platform 4.0 Sprint 2: unified rangefinder buying centre */
.ggl-v4-category-hero{padding:72px 0 48px;background:radial-gradient(circle at 78% 35%,rgba(28,98,170,.20),transparent 34%),linear-gradient(180deg,#06110d,#07100d)}
.ggl-v4-category-hero .ggl-v4-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:46px;align-items:center}
.ggl-v4-category-hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.94;max-width:900px;margin:.25em 0}
.ggl-v4-category-hero p{max-width:720px;font-size:1.2rem;color:var(--ggl-text-muted)}
.ggl-v4-hero-art{border:1px solid var(--ggl-border);border-radius:var(--ggl-radius-lg);overflow:hidden;background:#071019;box-shadow:var(--ggl-shadow-lg)}
.ggl-v4-hero-art img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.ggl-v4-route-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.ggl-v4-route-card{display:flex;flex-direction:column;min-height:245px;padding:22px;border:1px solid var(--ggl-border);border-radius:var(--ggl-radius-md);background:linear-gradient(145deg,rgba(21,47,37,.9),rgba(8,18,15,.96));text-decoration:none;color:inherit}
.ggl-v4-route-card:hover{transform:translateY(-3px);border-color:rgba(150,255,30,.55)}
.ggl-v4-route-card h3{font-size:1.22rem;margin:.7rem 0}.ggl-v4-route-card p{color:var(--ggl-text-muted);margin:0 0 auto}.ggl-v4-route-card .score{font-weight:800;margin-top:16px}
.ggl-v4-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ggl-v4-product-card{overflow:hidden;border:1px solid var(--ggl-border);border-radius:var(--ggl-radius-lg);background:linear-gradient(180deg,#0a1e18,#07110e)}
.ggl-v4-product-card>img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#061019}
.ggl-v4-product-card-body{padding:22px}.ggl-v4-product-card h3{font-size:1.45rem;margin:.65rem 0}.ggl-v4-product-card p{color:var(--ggl-text-muted)}
.ggl-v4-product-card .price-band{display:block;color:#f4d35e;font-weight:800;margin:.4rem 0}
.ggl-v4-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ggl-v4-detail{border:1px solid var(--ggl-border);border-radius:var(--ggl-radius-lg);background:#081712;padding:24px}
.ggl-v4-detail>img{width:100%;max-height:390px;object-fit:cover;border-radius:var(--ggl-radius-md);margin-bottom:18px}
.ggl-v4-meta{display:grid;gap:0;margin:18px 0;border-top:1px solid var(--ggl-border)}.ggl-v4-meta-row{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--ggl-border)}.ggl-v4-meta-row span{color:var(--ggl-text-muted)}
.ggl-v4-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ggl-v4-actions .btn{justify-content:center;text-align:center}.ggl-v4-price-note{font-size:.83rem;color:var(--ggl-text-muted);margin-top:10px}
@media(max-width:1100px){.ggl-v4-route-grid{grid-template-columns:repeat(2,1fr)}.ggl-v4-product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ggl-v4-category-hero .ggl-v4-shell{grid-template-columns:1fr}.ggl-v4-route-grid,.ggl-v4-product-grid,.ggl-v4-detail-grid{grid-template-columns:1fr}.ggl-v4-actions{grid-template-columns:1fr}.ggl-v4-meta-row{grid-template-columns:1fr;gap:4px}}
