/* GolfersPlace AV — base component styles */

/* ── Contrast fix: readable text inside all dark sections ── */
.bg-gray-900 .text-gray-400,
.bg-gray-900 .text-gray-500,
[style*="background:#1c1c28"] .text-gray-400,
[style*="background:#1c1c28"] .text-gray-500,
[style*="background: #1c1c28"] .text-gray-400,
[style*="background: #1c1c28"] .text-gray-500 {
    color: #d1d5db !important; /* gray-300 — passes WCAG AA on dark bg */
}
.bg-gray-900 .text-gray-600,
[style*="background:#1c1c28"] .text-gray-600 {
    color: #9ca3af !important;
}
/* Footer base text — override Tailwind default gray-400 → gray-300 */
footer.bg-gray-900 { color: #d1d5db !important; }
footer.bg-gray-900 a { color: #d1d5db !important; }
footer.bg-gray-900 a:hover { color: #fff !important; }
/* Section headings stay white */
.bg-gray-900 .text-gray-200,
[style*="background:#1c1c28"] .text-gray-200 { color: #f3f4f6 !important; }
/* ────────────────────────────────────────────────────── */

/* ── Mobile touch targets: all interactive elements ≥ 44px ── */
button, [type="submit"], [type="button"],
.btn-amber, .qty-btn {
    min-height: 44px;
}
/* Hamburger menu buttons */
#mobileMenuBtn {
    min-height: 44px;
    min-width: 44px;
}

/* ── Sticky CTA bar: safe-area for iPhone notch / home indicator ── */
.sticky-cta {
    padding-bottom: calc(.875rem + env(safe-area-inset-bottom, 0px));
}

/* ── Cookie banner: safe-area ── */
#cookieBanner {
    padding-bottom: max(.75rem, env(safe-area-inset-bottom, .75rem));
}

/* ── Article page: space for sticky CTA ── */
body:has(.sticky-cta) main {
    padding-bottom: 5rem;
}

/* ── Spec label on product pages: wrap on very small screens ── */
@media(max-width:400px){
    .spec-row { flex-direction: column !important; gap: .25rem; }
    .spec-label { width: auto !important; }
}

/* ── Product card names/prices: smaller on mobile ── */
@media(max-width:480px){
    .prod-name  { font-size: 1.1rem !important; }
    .prod-price { font-size: 1.35rem !important; }
}

/* ── Shop & article hero headings: scale down on mobile ── */
@media(max-width:640px){
    .font-syne.text-4xl  { font-size: 1.75rem !important; }
    .font-syne.text-5xl  { font-size: 2rem !important; }
}

/* ── Newsletter form on homepage: stack on mobile ── */
@media(max-width:420px){
    #newsletterForm .flex { flex-direction: column; }
    #newsletterForm .flex button { width: 100%; }
}

/* ── Hide scrollbar utility (subcategory nav on mobile) ── */
.scrollbar-hide { scrollbar-width: none; -ms-overflow-style: none; }
.scrollbar-hide::-webkit-scrollbar { display: none; }

/* ─────────────────────────────────────────────────────── */
body{font-family:'Inter',system-ui,sans-serif;}

/* ══ GLOBAL DESIGN SYSTEM ══════════════════════════════ */
:root{
  --navy:#0f172a;
  --navy-mid:#1e293b;
  --amber:#f59e0b;
  --amber-dark:#d97706;
  --text:#111827;
  --muted:#6b7280;
  --border:#e5e7eb;
  --bg-page:#f8f8f6;
}

/* ── LEGACY COMPAT: old brand-600 class used in some pages ── */
.bg-brand-600,.btn-brand{background:var(--amber)!important;color:#000!important;}
.bg-brand-600:hover,.btn-brand:hover{background:var(--amber-dark)!important;color:#fff!important;}
.hover\:bg-brand-700:hover{background:var(--amber-dark)!important;color:#fff!important;}
.text-brand-600{color:var(--amber-dark)!important;}
.accent-brand-600{accent-color:var(--amber)!important;}
.focus\:ring-brand-600:focus{box-shadow:0 0 0 3px rgba(245,158,11,.3)!important;}
.border-brand-600{border-color:var(--amber)!important;}

/* ── SITE HEADER ── */
.site-header{background:var(--navy);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.3);}
.site-header a{color:#fff;text-decoration:none;}
.hdr-inner{max-width:1280px;margin:0 auto;padding:0 1.25rem;height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.site-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;}
.logo-icon{width:38px;height:38px;background:var(--amber);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-text strong{font-size:1.2rem;font-family:'Inter',system-ui,sans-serif;font-weight:800;color:#fff;display:block;line-height:1.1;}
.logo-text span{font-size:.63rem;color:rgba(255,255,255,.5);font-weight:500;display:block;line-height:1.2;}
.site-nav{display:flex;align-items:center;gap:.2rem;}
.site-nav a{padding:.48rem .8rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:rgba(255,255,255,.8);transition:background .15s,color .15s;white-space:nowrap;}
.site-nav a:hover{background:rgba(255,255,255,.1);color:#fff;}
.site-nav a.nav-active{color:var(--amber);font-weight:700;}
.hdr-right{display:flex;align-items:center;gap:.5rem;}
.basket-link{position:relative;display:flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:.5rem;background:rgba(255,255,255,.1);color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s;}
.basket-link:hover{background:rgba(255,255,255,.18);}
.basket-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;background:var(--amber);color:#000;font-size:10px;font-weight:800;border-radius:9999px;line-height:18px;text-align:center;padding:0 4px;display:none;pointer-events:none;}
.mob-btn{display:none;background:none;border:none;padding:.4rem;color:#fff;cursor:pointer;min-height:44px;min-width:44px;align-items:center;justify-content:center;border-radius:.5rem;}
.mob-btn:hover{background:rgba(255,255,255,.1);}

/* ── TRUST STRIP ── */
.trust-strip{background:#1e2a3a;border-bottom:1px solid rgba(255,255,255,.07);}
.trust-inner{max-width:1280px;margin:0 auto;padding:.45rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem 1.25rem;}
.trust-item{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:rgba(255,255,255,.7);white-space:nowrap;}
.trust-item svg{color:var(--amber);flex-shrink:0;}

/* ── MOBILE NAV ── */
.mob-menu{display:none;background:var(--navy);border-top:1px solid rgba(255,255,255,.1);}
.mob-menu.open{display:block;}
.mob-menu nav{max-width:1280px;margin:0 auto;padding:.6rem 1.25rem;display:flex;flex-direction:column;gap:.2rem;}
.mob-menu a{display:block;padding:.65rem .85rem;border-radius:.5rem;color:rgba(255,255,255,.85);font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s;}
.mob-menu a:hover{background:rgba(255,255,255,.1);}
.mob-menu a.mob-basket{background:rgba(245,158,11,.15);color:var(--amber);font-weight:700;}

/* ── SITE FOOTER ── */
.site-footer{background:var(--navy);color:rgba(255,255,255,.6);}
.foot-inner{max-width:1280px;margin:0 auto;padding:2.5rem 1.25rem 1.5rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;}
.foot-brand strong{font-family:'Inter',system-ui,sans-serif;font-size:1.1rem;color:#fff;}
.foot-brand p{font-size:.78rem;margin-top:.4rem;line-height:1.55;}
.foot-addr{font-size:.72rem;margin-top:.75rem;line-height:1.8;color:rgba(255,255,255,.5);}
.foot-addr a{color:rgba(255,255,255,.5);text-decoration:none;transition:color .15s;}
.foot-addr a:hover{color:#fff;}
.foot-col h4{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);margin-bottom:.75rem;}
.foot-col ul{list-style:none;padding:0;margin:0;}
.foot-col li{margin-bottom:.35rem;}
.foot-col a{font-size:.8rem;color:rgba(255,255,255,.6);text-decoration:none;transition:color .15s;}
.foot-col a:hover{color:#fff;}
.foot-bottom{max-width:1280px;margin:0 auto;padding:.75rem 1.25rem 1.5rem;border-top:1px solid rgba(255,255,255,.08);font-size:.68rem;color:rgba(255,255,255,.3);line-height:1.6;}

/* ── PAGE WRAPPER ── */
.page-wrap{max-width:900px;margin:0 auto;padding:2.5rem 1.25rem 4rem;}
.page-breadcrumb{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:.4rem;margin-bottom:1.25rem;}
.page-breadcrumb a{color:var(--muted);text-decoration:none;transition:color .15s;}
.page-breadcrumb a:hover{color:var(--amber-dark);}
.page-h1{font-family:'Inter',sans-serif;font-size:2rem;font-weight:800;color:var(--text);margin-bottom:.4rem;line-height:1.15;}
.page-date{font-size:.78rem;color:var(--muted);margin-bottom:2rem;}
.prose{color:#374151;line-height:1.8;}
.prose h2{font-family:'Inter',sans-serif;font-size:1.35rem;font-weight:700;color:var(--text);margin:2rem 0 .65rem;padding-bottom:.4rem;border-bottom:2px solid var(--amber);display:inline-block;}
.prose h3{font-size:1.05rem;font-weight:700;color:var(--text);margin:1.35rem 0 .4rem;}
.prose p{margin-bottom:1rem;}
.prose ul,.prose ol{padding-left:1.5rem;margin-bottom:1rem;}
.prose li{margin-bottom:.35rem;}
.prose ul li{list-style-type:disc;}
.prose ol li{list-style-type:decimal;}
.prose a{color:var(--amber-dark);text-decoration:underline;}
.prose a:hover{color:var(--amber);}
.prose strong{font-weight:700;color:var(--text);}
.prose blockquote{border-left:4px solid var(--amber);padding:.6rem 1rem;background:#fef3c7;border-radius:0 .5rem .5rem 0;margin:1.25rem 0;font-style:italic;color:#92400e;}
.prose table{width:100%;border-collapse:collapse;font-size:.88rem;margin-bottom:1.5rem;}
.prose table th{background:var(--navy);color:#fff;padding:.5rem .75rem;text-align:left;font-weight:600;}
.prose table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);}
.prose table tr:nth-child(even) td{background:#f9fafb;}

/* ── CTA CARD ── */
.cta-card{background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:1rem;padding:1.75rem;margin:2rem 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.cta-card p{color:rgba(255,255,255,.8);font-size:.9rem;max-width:400px;line-height:1.55;}
.cta-card strong{color:#fff;display:block;font-family:'Inter',sans-serif;font-size:1.1rem;margin-bottom:.3rem;}
.btn-amber-solid{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.4rem;background:var(--amber);color:#000;font-weight:700;font-size:.9rem;border-radius:.6rem;text-decoration:none;transition:background .15s;white-space:nowrap;}
.btn-amber-solid:hover{background:var(--amber-dark);color:#fff;}

/* ── PRODUCT MINI CARD (used in blog) ── */
.prod-mini{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:.75rem;padding:1rem;margin:1.25rem 0;}
.prod-mini img{width:80px;height:80px;object-fit:cover;border-radius:.5rem;flex-shrink:0;background:#f0ede8;}
.prod-mini-body{flex:1;min-width:0;}
.prod-mini-brand{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);}
.prod-mini-name{font-family:'Inter',sans-serif;font-size:1rem;font-weight:700;color:var(--text);margin:.1rem 0 .2rem;}
.prod-mini-price{color:var(--amber-dark);font-weight:800;font-size:1.05rem;}
.prod-mini a.prod-mini-btn{display:inline-flex;align-items:center;gap:.3rem;margin-top:.45rem;padding:.35rem .85rem;background:var(--amber);color:#000;font-size:.75rem;font-weight:700;border-radius:.5rem;text-decoration:none;transition:background .15s;}
.prod-mini a.prod-mini-btn:hover{background:var(--amber-dark);color:#fff;}

/* ── RESPONSIVE LAYOUT ── */
@media(max-width:1023px){.foot-inner{grid-template-columns:1fr 1fr;}}
@media(max-width:767px){
  .site-nav,.hdr-subscribe{display:none;}
  .mob-btn{display:flex;}
  .foot-inner{grid-template-columns:1fr;gap:1.5rem;}
  .page-h1{font-size:1.5rem;}
}
.font-serif{font-family:'Playfair Display',Georgia,serif;}
.prose h2{font-family:'Playfair Display',Georgia,serif;font-size:1.375rem;font-weight:700;color:#111827;margin:1.75rem 0 .6rem;}
.prose h3{font-size:1.05rem;font-weight:700;color:#1f2937;margin:1.25rem 0 .4rem;}
.prose p{line-height:1.8;color:#374151;margin-bottom:1rem;}
.prose ul,.prose ol{color:#374151;margin-bottom:1rem;padding-left:1.5rem;}
.prose li{line-height:1.7;margin-bottom:.3rem;}
.prose ul li{list-style-type:disc;}
.prose ol li{list-style-type:decimal;}
.prose a{color:#e11d48;text-decoration:underline;}
.prose strong{color:#111827;font-weight:700;}

/* ══ NUCLEAR FONT OVERRIDE — Inter everywhere except logo ══ */
* { font-family: 'Inter', system-ui, -apple-system, sans-serif !important; }
.font-syne { font-family: 'Inter', system-ui, sans-serif !important; }

.site-logo .logo-text strong,
.logo-text strong,
.foot-brand strong,
.footer-logo strong { font-family: 'Inter', system-ui, sans-serif !important; }
/* ─────────────────────────────────────────────────── */

/* ══ UNIFIED PRICE STYLE — Inter bold amber across the whole site ══ */
.card-price,
.price-tag,
.pick-price,
.prod-mini-price,
.price-cell {
  font-family: 'Inter', system-ui, sans-serif !important;
  color: var(--amber-dark) !important;
  font-weight: 700 !important;
}
/* card-price: keep size, font is Inter (set above) */
.card-price { font-size: 1.55rem; letter-spacing: -.01em; }
.card-price small { font-size: .75rem; color: #9ca3af !important; font-weight: 400 !important; font-family: inherit !important; }
/* product page hero price stays large */
.price-tag.text-4xl { font-size: 2.25rem !important; }
/* ─────────────────────────────────────────────────── */
