/* retail-intelligence-v1.css */
.retail-router-page{min-height:100vh;background:radial-gradient(circle at 75% 10%,rgba(83,255,139,.12),transparent 30%),#071014;color:#f4f8f5;font-family:Inter,system-ui,sans-serif}.retail-router-shell{max-width:760px;margin:0 auto;padding:11vh 24px}.retail-state{padding:40px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:rgba(12,25,30,.94);box-shadow:0 30px 80px rgba(0,0,0,.35)}.retail-kicker{color:#75f38f;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}.retail-state h1{font-size:clamp(2rem,6vw,4rem);margin:.4rem 0 1rem}.retail-state h2{margin-top:2rem}.retail-status{display:inline-block;margin:12px 0 20px;padding:9px 13px;border-radius:999px;font-weight:800}.retail-status.ok{background:rgba(87,241,130,.13);color:#7ff29a}.retail-status.warn{background:rgba(255,190,77,.13);color:#ffd07b}.retail-btn,.retail-alt{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;border-radius:12px;padding:14px 19px;margin:8px 8px 0 0;background:#6df083;color:#071014}.retail-btn.secondary,.retail-alt{background:#14242a;color:#edf7f0;border:1px solid rgba(255,255,255,.15)}.retail-small{font-size:.85rem;color:#a9b8b0;margin-top:20px}.retail-alts{display:flex;flex-wrap:wrap}.ggl-retail-availability{display:inline-flex;gap:.4rem;align-items:center;margin-top:.75rem;padding:.42rem .7rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:.78rem;color:#bcd0c4;background:rgba(4,12,16,.55)}

/* platform-v1-system.css */
/* Golf Gear Lab Platform 1.0 consistency layer */
:root{--ggl-accent:#9cff00;--ggl-ink:#f4f7f4;--ggl-muted:#b9c4bd;--ggl-bg:#06100d;--ggl-panel:#0a1813;--ggl-line:rgba(156,255,0,.22)}
html{scroll-behavior:smooth}body{background:var(--ggl-bg);color:var(--ggl-ink)}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--ggl-accent)!important;outline-offset:3px!important}
.ggl-v1-decision-bar{margin:22px auto 0;max-width:1180px;padding:18px 20px;border:1px solid var(--ggl-line);border-radius:18px;background:linear-gradient(135deg,rgba(156,255,0,.09),rgba(255,255,255,.025));display:flex;align-items:center;justify-content:space-between;gap:18px}
.ggl-v1-decision-bar strong{display:block;font-size:1.05rem}.ggl-v1-decision-bar span{display:block;color:var(--ggl-muted);margin-top:4px;line-height:1.45}.ggl-v1-decision-actions{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto}.ggl-v1-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border-radius:999px;border:1px solid var(--ggl-line);font-weight:800;text-decoration:none!important;color:var(--ggl-ink)!important}.ggl-v1-action.primary{background:var(--ggl-accent);border-color:var(--ggl-accent);color:#071006!important}
.ggl-v1-next-step{max-width:1180px;margin:34px auto;padding:24px;border:1px solid var(--ggl-line);border-radius:18px;background:var(--ggl-panel);display:grid;grid-template-columns:1.4fr auto;gap:22px;align-items:center}.ggl-v1-next-step h2{margin:0 0 7px;font-size:clamp(1.35rem,2vw,1.85rem)}.ggl-v1-next-step p{margin:0;color:var(--ggl-muted);line-height:1.55}
body.ggl-v1-product .hero-actions,body.ggl-v1-product .gps-card-actions,body.ggl-v1-product .actions{gap:10px}
body.ggl-v1-product :where(.hero-actions,.gps-card-actions,.actions) a:first-child{order:-2}
body.ggl-v1-comparison table{width:100%;border-collapse:collapse}body.ggl-v1-comparison th{position:sticky;top:78px;background:#0a1713;z-index:2}
body.ggl-v1-commercial img{max-width:100%;height:auto}
body.ggl-v1-commercial :where(.btn,.gps-btn,.ggl-v4-btn){min-height:44px;align-items:center;justify-content:center}
@media(max-width:760px){.ggl-v1-decision-bar,.ggl-v1-next-step{margin-left:16px;margin-right:16px;grid-template-columns:1fr;align-items:stretch}.ggl-v1-decision-bar{flex-direction:column;align-items:stretch}.ggl-v1-decision-actions{display:grid;grid-template-columns:1fr}.ggl-v1-action{width:100%}body.ggl-v1-comparison table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}body.ggl-v1-comparison th{position:static}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* visual-identity-v42.css */
.ggl-visual-product{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:var(--ggl-product-panel,#f5f7f5);border-radius:14px;box-shadow:inset 0 0 0 1px rgba(104,245,176,.16),0 14px 34px rgba(0,0,0,.28);transition:transform .28s ease,filter .28s ease,box-shadow .28s ease}.ggl-visual-product:hover{transform:scale(1.018);filter:brightness(1.045) saturate(1.025);box-shadow:inset 0 0 0 1px rgba(104,245,176,.28),0 18px 42px rgba(0,0,0,.36)}@media(max-width:720px){.ggl-visual-product{border-radius:11px}}@media(prefers-reduced-motion:reduce){.ggl-visual-product{transition:none}.ggl-visual-product:hover{transform:none}}.ggl-hero-visual{border:1px solid rgba(131,223,75,.3);border-radius:24px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(20,92,210,.55),#071426 58%,#020706 100%);position:relative;display:flex;flex-direction:column}
.ggl-hero-visual-label{padding:20px 26px 0;font-weight:900;font-size:22px;letter-spacing:.03em;color:#fff;text-transform:uppercase}
.ggl-hero-visual-label em{display:block;font-style:normal;font-weight:500;font-size:13px;letter-spacing:.02em;text-transform:none;color:#9be068;margin-top:6px}
.ggl-hero-visual img{width:100%;height:340px;object-fit:contain;padding:24px}
.ggl-hero-visual-note{margin:0 24px 22px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.ggl-hero-visual-note strong{display:block;color:#9be068;margin-bottom:3px;font-size:14px}
.ggl-hero-visual-note span{display:block;color:#dbe6de;font-size:13px}
@media(max-width:720px){.ggl-hero-visual img{height:260px}}

/* v29-stabilisation.css */
.ggl-v29-status{max-width:1120px;margin:18px auto 0;padding:10px 14px;border-radius:12px;border:1px solid rgba(217,255,104,.28);background:rgba(217,255,104,.06);font-weight:700;font-size:14px}
.ggl-v29-status strong{color:#d9ff68}.ggl-v29-decision-panel{max-width:1120px;margin:24px auto;padding:20px;border:1px solid #284136;border-radius:16px;background:#0b1511;color:#f5f8f5}.ggl-v29-decision-panel p{margin:8px 0 14px}.ggl-v29-decision-panel a{display:inline-block;margin:5px 14px 5px 0;color:#d9ff68;font-weight:700}.ggl-v29-route-note{font-size:13px;opacity:.78;margin-top:10px}
@media(max-width:700px){.ggl-v29-decision-panel,.ggl-v29-status{margin-left:18px;margin-right:18px}.ggl-v29-decision-panel a{display:block;margin:10px 0}.ggl-v4-menu{max-height:80vh;overflow:auto}}

/* v30-navigation-fix.css */
/* Golf Gear Lab v30 — navigation and update-panel visual fix */

/* Desktop header grid/brand/menu layout SUPERSEDED by nav-search-placement-FINAL.css,
   which is now the single source of truth for the header grid (see that file for why:
   v30 and v31 disagreed with each other on column widths/breakpoints, and the header
   logo was overflowing into the nav links as a result). Left as a comment, not deleted,
   so the history of what this used to do is still visible here. */

/* Make the new update/reconciliation notices look intentional and keep action links separated. */
.ggl-decision-bridge{
  width:min(var(--ggl-max,1180px),calc(100% - 44px));
  margin:18px auto 0!important;
  padding:18px 20px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px 26px!important;
  align-items:center!important;
  border:1px solid rgba(121,211,77,.24)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,rgba(10,33,22,.96),rgba(5,20,15,.96))!important;
}
.ggl-decision-bridge strong{display:block;font-size:1.05rem;color:#f5f9f3;margin-bottom:5px}
.ggl-decision-bridge p{margin:0!important;font-size:.95rem;line-height:1.55;color:#b7c2ba!important}
.ggl-decision-bridge__actions{display:flex!important;flex-wrap:wrap!important;gap:9px!important;justify-content:flex-end!important}
.ggl-decision-bridge__actions a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:7px 11px!important;
  border:1px solid rgba(121,211,77,.34)!important;
  border-radius:999px!important;
  color:#96e367!important;
  text-decoration:none!important;
  font-weight:750!important;
  font-size:.82rem!important;
  white-space:nowrap!important;
}
.ggl-decision-bridge__actions a:hover{background:rgba(121,211,77,.1)!important}

/* Tablet: switch to menu button before the header becomes cramped. */
@media(max-width:1050px){
  /* Header grid/menu rules superseded, see note above. Only non-header rules remain. */
  .ggl-decision-bridge{grid-template-columns:1fr!important}
  .ggl-decision-bridge__actions{justify-content:flex-start!important}
}
@media(max-width:620px){
  .ggl-decision-bridge{width:calc(100% - 28px)!important;padding:16px!important}
  .ggl-decision-bridge__actions a{white-space:normal!important}
}

/* v31-header-simplification.css */
/* Golf Gear Lab v31 — simplified public header and buyer-first trolley intro */

/* Desktop header grid/brand/menu layout SUPERSEDED by nav-search-placement-FINAL.css.
   This file and v30 disagreed on column widths (280-300px vs the logo's actual 300px
   render width) and on breakpoints (1050px vs 1180px), which is what caused the logo
   to overlap the first nav links. One file now owns this layout; see that file. */

/* Current range note is supporting buyer guidance, not internal project reporting. */
.ggl-current-range-note{padding:0!important;margin:0!important}
.ggl-current-range-note .wrap{padding-top:18px!important;padding-bottom:0!important}
.ggl-current-range-note__inner{
  display:flex;
  align-items:center;
  gap:16px 24px;
  padding:14px 18px;
  border:1px solid rgba(121,211,77,.2);
  border-radius:14px;
  background:rgba(10,29,20,.62);
}
.ggl-current-range-note__inner strong{color:#f5f9f3;white-space:nowrap}
.ggl-current-range-note__inner p{margin:0;color:#b7c2ba;line-height:1.45;font-size:.92rem;flex:1}
.ggl-current-range-note__inner a{color:#96e367;text-decoration:none;font-weight:750;white-space:nowrap}

/* Switch to the existing menu button before the right-aligned nav gets crowded. */
@media(max-width:1180px){
  /* Header grid/menu mobile rules superseded, see note above. */
  .ggl-current-range-note__inner{align-items:flex-start;flex-direction:column;gap:7px}
  .ggl-current-range-note__inner strong,.ggl-current-range-note__inner a{white-space:normal}
}

/* publication-v90.css */
/* Golf Gear Lab 9.0 — Publication Edition */
:root{--ggl-pub-green:#78d34b;--ggl-pub-green-dark:#28791f;--ggl-pub-ink:#111815;--ggl-pub-muted:#66716a;--ggl-pub-dark:#050907;--ggl-pub-line:rgba(16,35,25,.13)}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
/* One publication link colour; remove browser-blue residue without overriding buttons. */
a:not(.btn):not(.v6-btn):not(.ggl-v1-action):not(.primary):not([class*="button"]){color:inherit}
main a:not(.btn):not(.v6-btn):not(.ggl-v1-action):not(.primary):not([class*="button"]), article a:not(.btn):not(.v6-btn):not(.ggl-v1-action):not(.primary):not([class*="button"]){text-decoration-color:rgba(40,121,31,.35)}
main a:not(.btn):not(.v6-btn):not(.ggl-v1-action):not(.primary):not([class*="button"]):hover, article a:not(.btn):not(.v6-btn):not(.ggl-v1-action):not(.primary):not([class*="button"]):hover{color:var(--ggl-pub-green-dark);text-decoration-color:currentColor}
/* Category-page visual system: same frame, ratio and grading across categories. */
.hero-grid>img,.gps-hero-grid>img,.gps-hero-media img,.hero-media img,.product-hero img{border-radius:22px;box-shadow:0 28px 70px rgba(0,0,0,.28);object-fit:cover;object-position:center;background:#eef1ee}
.hero-grid>img,.gps-hero-grid>img,.gps-hero-media img,.hero-media img{aspect-ratio:16/10;min-height:310px}
.gps-hero,.hero{overflow:hidden}
/* Publication footer shared across every page. */
.ggl-publication-footer{background:#050907;color:#eef4ef;border-top:1px solid rgba(120,211,75,.16);padding:58px 0 22px}
.ggl-publication-footer .pub-shell{width:min(1240px,calc(100% - 48px));margin:auto}
.ggl-publication-footer .pub-grid{display:grid;grid-template-columns:1.35fr repeat(4,.72fr);gap:38px}
.ggl-publication-footer .pub-brand img{width:205px;max-height:62px;object-fit:contain;margin:0 0 16px}
.ggl-publication-footer p{color:#aebbb2;line-height:1.55;margin:0;max-width:360px}
.ggl-publication-footer h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ggl-pub-green);margin:0 0 15px}
.ggl-publication-footer a{display:block;color:#d6dfd8!important;text-decoration:none;margin:9px 0;font-size:14px}
.ggl-publication-footer a:hover{color:var(--ggl-pub-green)!important}
.ggl-publication-footer .pub-bottom{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;color:#9eaaa2;font-size:13px;line-height:1.5}
.ggl-publication-footer .pub-bottom strong{color:#e7eee9;font-weight:700}
/* Remove unfinished-looking status treatments while preserving honest page content. */
.ggl-v29-status,.editorial-status,[class*="awaiting-review"],[class*="not-tested"]{display:none!important}
/* Homepage hero */
body.ggl-home-v6 .v6-hero{min-height:690px;background:#030605;position:relative;display:grid;align-items:stretch}
body.ggl-home-v6 .v6-hero>img{position:absolute;inset:0 0 0 auto;width:66%;height:100%;object-fit:cover;object-position:center;filter:saturate(.93) contrast(1.04)}
body.ggl-home-v6 .v6-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030605 0%,#030605 36%,rgba(3,6,5,.94) 44%,rgba(3,6,5,.45) 66%,rgba(3,6,5,.05) 100%);z-index:1}
body.ggl-home-v6 .v6-hero-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:690px}
body.ggl-home-v6 .v6-hero-copy{max-width:620px;padding:72px 0}
body.ggl-home-v6 .v6-eyebrow{color:var(--ggl-pub-green);letter-spacing:.16em;font-size:13px;text-transform:uppercase;font-weight:850;margin-bottom:20px}
body.ggl-home-v6 .v6-hero h1{font-size:clamp(56px,6vw,92px);line-height:.95;letter-spacing:-.058em;max-width:650px;margin:0 0 24px;color:#fff}
body.ggl-home-v6 .v6-hero h1 span{color:#fff}
body.ggl-home-v6 .v6-hero p{max-width:565px;color:#d4ddd6;font-size:20px;line-height:1.55;margin:0 0 30px}
body.ggl-home-v6 .v6-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
body.ggl-home-v6 .v6-btn.primary{background:var(--ggl-pub-green);color:#071006;border-color:var(--ggl-pub-green)}
body.ggl-home-v6 .v6-text-link{color:#eef4ef!important;text-decoration:none;border-bottom:1px solid rgba(120,211,75,.65);padding:8px 0;font-weight:750}
body.ggl-home-v6 .v6-text-link:hover{color:var(--ggl-pub-green)!important}
@media(max-width:1000px){.ggl-publication-footer .pub-grid{grid-template-columns:1.25fr repeat(2,1fr)}body.ggl-home-v6 .v6-hero>img{width:100%;opacity:.48}body.ggl-home-v6 .v6-hero:before{background:linear-gradient(90deg,rgba(3,6,5,.98),rgba(3,6,5,.72))}}
@media(max-width:680px){.ggl-publication-footer .pub-grid{grid-template-columns:1fr 1fr}.ggl-publication-footer .pub-brand{grid-column:1/-1}.ggl-publication-footer .pub-bottom{flex-direction:column}body.ggl-home-v6 .v6-hero,body.ggl-home-v6 .v6-hero-inner{min-height:620px}body.ggl-home-v6 .v6-hero h1{font-size:clamp(46px,14vw,68px)}body.ggl-home-v6 .v6-hero p{font-size:17px}}
@media(max-width:480px){.ggl-publication-footer .pub-grid{grid-template-columns:1fr}}


/* Publication 9.1 — consolidated product image and review system */
:root{--ggl-product-panel:#f5f7f5;--ggl-product-panel-edge:#dce3de;--ggl-product-shadow:0 18px 42px rgba(14,28,20,.12)}
/* One definitive rule for isolated products. */
body:not(.simulator-page) :is(.product-media-v2,.product-image-link,.ranking-card-img-wrap,.compare-image-frame,.compare-img-wrap,.gsr-media,.product-image,.product-media){background:linear-gradient(180deg,#fff,var(--ggl-product-panel))!important;border-color:var(--ggl-product-panel-edge)!important}
body:not(.simulator-page) :is(.product-media-v2,.product-image-link,.ranking-card-img-wrap,.compare-image-frame,.compare-img-wrap,.product-image,.product-media) img,
body:not(.simulator-page) img:is(.primary-product-image,.product-image,.product-image--card,.product-image--review,.ranking-card-img,.category-card-img,.compare-product-img,.compare-table-thumb,.ggl-visual-product){object-fit:contain!important;object-position:center!important;background:transparent!important;padding:16px!important;filter:drop-shadow(0 14px 16px rgba(10,24,16,.13))}
/* Category/environmental hero artwork remains photographic and full bleed. */
body :is(.hero-grid>img,.gps-hero-grid>img,.gps-hero-media img,.hero-media img){object-fit:cover!important;padding:0!important;filter:saturate(.92) contrast(1.03)!important}
/* Simulators remain the intentional environmental exception. */
body.simulator-page :is(.product-media-v2,.product-image-link,.product-media,.product-image),
.simulator-card-v2 :is(.product-media-v2,.product-media){background:#080d0b!important;border-color:rgba(255,255,255,.12)!important}
body.simulator-page :is(.product-media-v2,.product-image-link,.product-media,.product-image) img,
.simulator-card-v2 :is(.product-media-v2,.product-media) img{object-fit:cover!important;padding:0!important;filter:none!important}
/* Review image with score integrated as a publication badge. */
.gsr-media{position:relative!important;overflow:hidden!important;border:1px solid var(--ggl-product-panel-edge)!important;border-radius:24px!important;box-shadow:var(--ggl-product-shadow)!important;padding:24px!important;display:grid!important;place-items:center!important;min-height:430px!important}
.gsr-media>img{width:100%!important;height:340px!important;object-fit:contain!important;padding:18px!important;filter:drop-shadow(0 18px 18px rgba(10,24,16,.16))!important}
.gsr-media .gsr-score-row{position:absolute!important;left:20px!important;right:20px!important;bottom:20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:13px 15px!important;border-radius:16px!important;background:rgba(5,12,8,.92)!important;border:1px solid rgba(120,211,75,.42)!important;box-shadow:0 14px 34px rgba(0,0,0,.28)!important;color:#fff!important;backdrop-filter:blur(10px)}
.gsr-media .gsr-score strong{color:var(--ggl-pub-green)!important;font-size:40px!important;line-height:.9!important}.gsr-media .gsr-score span{color:#d7e0d9!important}.gsr-media .gsr-award{color:#fff!important;font-size:13px!important;line-height:1.25!important;text-align:right!important}
/* Two-product comparison hero. */
.ggl-comparison-pair{display:grid;grid-template-columns:1fr 58px 1fr;align-items:center;gap:12px;min-height:320px;padding:24px;border-radius:22px;background:linear-gradient(180deg,#fff,#f3f6f3);border:1px solid var(--ggl-product-panel-edge);box-shadow:var(--ggl-product-shadow)}
.ggl-comparison-pair img{width:100%;height:250px;object-fit:contain!important;padding:12px!important;filter:drop-shadow(0 14px 14px rgba(10,24,16,.13))}.ggl-comparison-pair .ggl-vs{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#09110c;color:#fff;border:2px solid var(--ggl-pub-green);font-weight:900}
.ggl-comparison-buy{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.ggl-comparison-buy a{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:10px;text-decoration:none;font-weight:850;background:var(--ggl-pub-green);color:#071006!important}.ggl-comparison-buy a+ a{background:#101714;color:#fff!important;border:1px solid rgba(120,211,75,.35)}
/* Remove all remaining default-blue link states. */
a,a:visited{accent-color:var(--ggl-pub-green)} main a:not([class*="btn"]):not([class*="button"]),article a:not([class*="btn"]):not([class*="button"]){color:var(--ggl-pub-green-dark)!important}
@media(max-width:760px){.ggl-comparison-pair{grid-template-columns:1fr}.ggl-comparison-pair .ggl-vs{margin:auto}.gsr-media{min-height:380px!important}.gsr-media>img{height:290px!important}.gsr-media .gsr-score-row{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important}}

/* publication-v100.css */
/* Golf Gear Lab 10.0 — Editorial Photography and Navigation System */
:root{--ggl-action:#74d63c;--ggl-image-panel:#f5f7f5;--ggl-image-line:#dfe5e1;}
/* Header labels are identical across the publication. */
.ggl-v4-menu,.v6-menu,.top .links{gap:clamp(12px,1.45vw,24px)!important;}
.ggl-v4-menu a,.v6-menu a,.top .links a{white-space:nowrap!important;}
/* Category artwork is photography only: no captions or text overlays. */
.gps-hero-label,.hero-label,.category-image-label,.image-overlay-copy{display:none!important;}
.gps-hero-media,.ggl-category-hero__media{overflow:hidden!important;border-radius:24px!important;background:#0b100e!important;box-shadow:0 22px 55px rgba(0,0,0,.22)!important;aspect-ratio:16/10!important;}
.gps-hero-media img,.ggl-category-hero__media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;padding:0!important;margin:0!important;background:transparent!important;filter:saturate(.92) contrast(1.02)!important;}
.ggl-category-hero{background:linear-gradient(180deg,#07100d,#0a1511);color:#f7faf7;padding:58px 24px;border-bottom:1px solid rgba(116,214,60,.18);}
.ggl-category-hero__inner{width:min(1280px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:58px;align-items:center;}
.ggl-category-hero__kicker{color:var(--ggl-action);font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:15px;}
.ggl-category-hero h1{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.045em;margin:0 0 22px;color:#fff;}
.ggl-category-hero p{max-width:680px;color:#c6d0ca;font-size:19px;line-height:1.55;margin:18px 0 0;}
.ggl-category-hero .v5-editorial-meta{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px;}
.ggl-category-hero .v5-editorial-meta span{font-size:12px;color:#dce7df;border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:7px 10px;}
/* Definitive product photography rule: isolated hardware sits on a soft-white panel. */
.product-image,.product-media,.product-media-v2,.product-card-image,.category-card-img,.ranking-card-img,.compare-image-frame,.gsr-product-media,.ggl-product-image,.ggl-visual-product-wrap,.ggl-visual-product,[class*="product-image-frame"],[class*="image-panel"]{background:var(--ggl-image-panel)!important;border-color:var(--ggl-image-line)!important;background-image:none!important;}
.product-image img,.product-media img,.product-media-v2 img,.product-card-image img,.category-card-img,.ranking-card-img,.compare-image-frame img,.gsr-product-media img,.ggl-product-image img,.ggl-visual-product{object-fit:contain!important;background:transparent!important;padding:clamp(12px,2vw,24px)!important;filter:none!important;mix-blend-mode:normal!important;}
/* Complete simulator rooms/packages remain the deliberate environmental exception. */
[data-category="simulator"] .product-image,[data-category="simulators"] .product-image,.simulator-room-image,.simulator-package-image{background:#0b100e!important;}
[data-category="simulator"] .product-image img,[data-category="simulators"] .product-image img,.simulator-room-image img,.simulator-package-image img{object-fit:cover!important;padding:0!important;}
/* No default-blue editorial links. */
main a:not(.btn):not([class*="button"]):not([class*="primary"]){color:#2e7d1e;}
main a:not(.btn):not([class*="button"]):not([class*="primary"]):hover{color:#1d5d12;}
@media(max-width:980px){.ggl-category-hero__inner{grid-template-columns:1fr;gap:30px}.ggl-category-hero__media{max-width:760px}.ggl-v4-menu,.v6-menu,.top .links{overflow-x:auto!important;justify-content:flex-start!important;padding-bottom:2px!important;}}
@media(max-width:680px){.ggl-category-hero{padding:38px 18px}.ggl-category-hero h1{font-size:42px}.ggl-category-hero p{font-size:17px}.gps-hero-media,.ggl-category-hero__media{border-radius:18px!important;}}

/* publication-v101.css */
/* Golf Gear Lab 10.1 — canonical product imagery and GPS separation */
.ggl-category-hero__inner--text-only{grid-template-columns:minmax(0,860px)!important;justify-content:start!important;min-height:300px!important;}
.product-card-v2:not(.simulator-card-v2) .product-media-v2,.recommendation-card-v2:not(.simulator-card-v2) .product-media-v2{position:relative!important;background:#f7f8f6!important;background-image:none!important;border-color:#dfe5e1!important;}
.product-card-v2:not(.simulator-card-v2) .product-media-v2>img.primary-product-image,.recommendation-card-v2:not(.simulator-card-v2) .product-media-v2>img.primary-product-image{object-fit:contain!important;object-position:center!important;padding:clamp(18px,2.4vw,34px)!important;background:transparent!important;filter:drop-shadow(0 14px 16px rgba(10,24,16,.12))!important;}
.product-media-v2 .ggl-score-overlay{position:absolute!important;z-index:4!important;top:16px!important;right:16px!important;}
.product-card-v2 .score-row-v2 .ggl-score{display:none!important;}

/* product-image-canonical-FINAL.css */
/* ==========================================================================
   Golf Gear Lab — canonical product image background rule.
   ==========================================================================
   WHY THIS FILE EXISTS
   This site accumulated 237 separate CSS rules across ~30 files that set a
   background on product-photo containers, going back and forth between light
   and dark at least 6 times (see the "FINAL", "DEFINITIVE", "HARD CLEAN"
   comment markers left behind in style.css as evidence). That happened
   because every previous fix ADDED a new override instead of removing the
   old ones, so the visible result depended on CSS load order — fragile, and
   guaranteed to break again the next time a stylesheet gets added or
   reordered.

   This time, the actual competing declarations were found and removed at
   the source (see SITE-STRUCTURE-AUDIT.md for the full list). This file is
   the deliberate single source of truth that remains, kept intentionally
   separate so it's easy to find, and loaded LAST on every page as a second
   line of defence — if anyone adds a new conflicting rule in the future,
   this one still wins, because it is both more specific and loaded after
   everything else.

   Product photos in this site's asset library are transparent-cutout WebP
   files (no baked-in background), so whatever the CSS puts behind them is
   what the visitor sees in the transparent margins. It must always be the
   light panel below — never dark — for isolated product photography.

   WHAT'S DELIBERATELY EXCLUDED
   Simulator room/package photography (.gps-hero-media, anything scoped to
   body.simulator-page or [data-category="simulator"]) is real environmental
   photography, not an isolated product cutout, and is correctly dark/moody
   by design. Do not add those selectors here.
   ========================================================================== */

html body :is(
  .ggl-visual-product,
  .gps-card-media,
  .product-image,
  .product-image--card,
  .product-image--review,
  .product-media,
  .compare-image-frame,
  .gsr-media img,
  .ggl-v33-image
):not(.gps-hero-media):not(.simulator-room-image):not(.simulator-package-image) {
  background: var(--ggl-product-panel, #f5f7f5) !important;
  background-image: none !important;
}

html body img.ggl-visual-product,
html body .gsr-media img,
html body .gps-card-media img,
html body .product-image img,
html body .product-media img {
  background: transparent !important;
}

/* ggl-product-score-overlay-v112.css */
/* Golf Gear Lab 11.2 — canonical score overlay for every scored product image */
.ggl-score-overlay-host {
  position: relative !important;
}

.ggl-product-score-overlay {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 8;
  display: grid;
  min-width: 82px;
  padding: 10px 11px 9px;
  border: 1px solid rgba(120, 211, 75, .58);
  border-radius: 13px;
  background: rgba(4, 12, 8, .92);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .24);
  color: #fff;
  line-height: 1;
  text-align: center;
  pointer-events: none;
  backdrop-filter: blur(8px);
}

.ggl-product-score-overlay small {
  display: block;
  margin-bottom: 5px;
  color: #9be068;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ggl-product-score-overlay strong {
  display: block;
  color: #fff;
  font-size: 17px;
  font-weight: 950;
  letter-spacing: -.035em;
}

/* Once the score is on the image, do not repeat it underneath the same card. */
.gps-card.ggl-has-score-overlay .gps-meta .gps-score {
  display: none;
}

@media (max-width: 620px) {
  .ggl-product-score-overlay {
    top: 10px;
    right: 10px;
    min-width: 74px;
    padding: 9px;
  }

  .ggl-product-score-overlay strong {
    font-size: 15px;
  }
}

/* site-shell-v498.css */
:root{--ggl-shell-bg:rgba(2,7,6,.96);--ggl-shell-line:rgba(255,255,255,.13);--ggl-shell-ink:#eef5ef;--ggl-shell-green:#83df4f}
.ggl-shell-header{position:sticky!important;top:0!important;z-index:9999!important;background:var(--ggl-shell-bg)!important;border-bottom:1px solid var(--ggl-shell-line)!important;backdrop-filter:blur(18px)}
.ggl-shell-nav{width:min(1480px,calc(100% - 44px));min-height:82px;margin:auto;display:grid;grid-template-columns:minmax(210px,280px) 1fr;gap:30px;align-items:center}
.ggl-shell-brand{display:flex;align-items:center}.ggl-shell-brand img{display:block!important;width:260px!important;max-width:100%!important;height:62px!important;object-fit:contain!important;object-position:left center!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important}
.ggl-shell-links{display:flex;justify-content:flex-end;align-items:center;gap:clamp(12px,1.4vw,24px);white-space:nowrap}.ggl-shell-links a{display:flex!important;align-items:center!important;min-height:82px!important;padding:0!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:none!important;color:var(--ggl-shell-ink)!important;text-decoration:none!important;font-size:.86rem!important;font-weight:800!important;line-height:1.2!important}.ggl-shell-links a:hover,.ggl-shell-links a[aria-current="page"]{color:var(--ggl-shell-green)!important;border-bottom-color:var(--ggl-shell-green)!important}
.ggl-shell-menu-toggle{display:none;border:1px solid var(--ggl-shell-line);border-radius:10px;background:transparent;color:var(--ggl-shell-ink);padding:9px 12px;font:inherit;font-weight:850}
.ggl-consent{position:fixed;z-index:20000;left:0;right:0;bottom:0;width:100%;margin:0;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:11px max(18px,calc((100% - 1180px)/2));border-top:1px solid rgba(255,255,255,.15);background:rgba(5,13,10,.97);color:#f5f8f3;box-shadow:0 -8px 28px rgba(0,0,0,.28);font-family:Inter,system-ui,sans-serif}.ggl-consent strong{display:inline;font-size:.94rem;margin-right:8px}.ggl-consent p{display:inline;margin:0;color:#c4d0c7;font-size:.86rem;line-height:1.4}.ggl-consent a{color:#a8ed80}.ggl-consent__actions{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end}.ggl-consent button{white-space:nowrap;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:transparent;color:#fff;padding:8px 12px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.ggl-consent button.primary{background:var(--ggl-shell-green);border-color:var(--ggl-shell-green);color:#071006}
.ggl-editorial-upgrade{width:min(1120px,calc(100% - 40px));margin:34px auto;padding:24px;border:1px solid rgba(131,223,79,.28);border-radius:20px;background:linear-gradient(135deg,rgba(131,223,79,.08),rgba(255,255,255,.025));color:inherit}.ggl-editorial-upgrade h2{margin:0 0 12px}.ggl-editorial-upgrade h3{margin:18px 0 6px}.ggl-editorial-upgrade p,.ggl-editorial-upgrade li{color:var(--muted,#bdc9c0)}.ggl-editorial-upgrade ul{padding-left:20px}.ggl-editorial-upgrade__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ggl-editorial-upgrade__grid>div{border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:16px;background:rgba(0,0,0,.14)}
.ggl-privacy-link{display:inline-block!important;margin-top:8px!important;color:#a8ed80!important;text-decoration:underline!important}
@media(max-width:980px){.ggl-shell-nav{grid-template-columns:1fr auto;min-height:74px}.ggl-shell-brand img{width:210px!important;height:54px!important}.ggl-shell-menu-toggle{display:inline-flex}.ggl-shell-links{display:none;position:absolute;left:22px;right:22px;top:74px;max-height:calc(100vh - 95px);overflow:auto;flex-direction:column;align-items:stretch;padding:15px;background:#06100e;border:1px solid var(--ggl-shell-line);border-radius:15px;box-shadow:0 18px 45px rgba(0,0,0,.45)}.ggl-shell-header.is-open .ggl-shell-links{display:flex}.ggl-shell-links a{min-height:42px!important;border-bottom-width:1px!important}.ggl-consent{grid-template-columns:1fr;padding:10px 16px;gap:8px}.ggl-consent__actions{justify-content:flex-start}.ggl-editorial-upgrade__grid{grid-template-columns:1fr}}
@media(max-width:620px){.ggl-shell-nav{width:calc(100% - 28px)}.ggl-consent strong,.ggl-consent p{display:block}.ggl-consent strong{margin:0 0 2px}.ggl-consent__actions{display:flex;width:100%}.ggl-consent button{flex:1}}
