/* Generated by seo/build-site.mjs — per-coach shared styles (PRD-824). Do not edit by hand. */
:root{ --site-primary:#134a5b; --site-primary-deep:#0e3643; --site-accent:#f7ca15; --site-cream:#fbfaf7; --site-ink:#0e3643; }

/* CTA anchors that were <button> — match the button look, real navigation */
a.site-cta,a.btn-gold{ text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; cursor:pointer; }

/* ---- Mobile safety: kill horizontal overflow, keep media in-bounds ---- */
html,body{ overflow-x:hidden; max-width:100%; width:100%; }
img,svg,video,iframe,table{ max-width:100%; }
*{ min-width:0; }
/* nothing may exceed the viewport width (kills stray 1-2px overflows, e.g. footer social icons) */
@media (max-width:760px){ body *{ max-width:100%; } footer .wrap,.foot-grid,.foot-col{ max-width:100%; box-sizing:border-box; } }

/* ---- Mobile nav (no hamburger existed) ---- */
.nav-toggle{ display:none; }
@media (max-width:760px){
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin-left:auto; background:transparent; border:0; cursor:pointer; }
  .nav-toggle span{ display:block; width:22px; height:2px; background:var(--site-primary,#134a5b); position:relative; }
  .nav-toggle span::before,.nav-toggle span::after{ content:""; position:absolute; left:0; width:22px; height:2px; background:inherit; }
  .nav-toggle span::before{ top:-7px; } .nav-toggle span::after{ top:7px; }
  .nav-inner .nav-links{ display:none; flex-direction:column; width:100%; padding:.5rem 0 1rem; }
  .nav-inner.nav-open .nav-links{ display:flex; }
  .nav-inner .nav-links a{ min-height:44px; display:flex; align-items:center; width:100%; }
}

/* ---- Tap targets >=44px on mobile (min-height needs a box on inline <a>) ---- */
@media (max-width:760px){
  /* footer column links stay STACKED — block-level flex keeps them full-row */
  .foot-col a, .foot-brand a, footer nav a{ min-height:44px; display:flex; align-items:center; }
  /* inline controls: pills, chips, nav, legal, CTAs, cookie/subscribe buttons */
  .nav-links a, .site-legal-bar a, .blog-cats a, .cchip, a.stage-link, .stage-link,
  a.btn-gold, .btn-gold, a.site-cta, .site-cookie button, .site-emailcap button,
  .tags a, .tag, a.logo, .logo, button, [role="button"], summary {
    min-height:44px; display:inline-flex; align-items:center; justify-content:center;
  }
  /* form controls: block-level, min-height applies directly */
  input, select, textarea, .site-emailcap input, .form-card input, .form-card textarea{ min-height:44px; }
  input[type="text"], input[type="search"], input[type="email"]{ padding-top:10px; padding-bottom:10px; }
  /* chips/pills: tappable padding without breaking their row */
  .cchip, a.stage-link, .stage-link, .tags a, .tag{ padding:8px 14px; }
  .site-cookie button{ padding-top:10px; padding-bottom:10px; }
}

/* ---- Legal bar ---- */
.site-legal-bar{ margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.14); display:flex; flex-wrap:wrap; gap:.35rem 1.1rem; font-size:.86rem; opacity:.85; }
.site-legal-bar a{ color:inherit; text-decoration:none; }
.site-legal-bar a:hover{ text-decoration:underline; }

/* ---- Email capture ---- */
.site-emailcap{ background:var(--site-cream,#fbfaf7); border:1px solid rgba(14,54,67,.10); border-radius:18px; padding:1.6rem clamp(1.1rem,4vw,2.2rem); margin:2.5rem auto; max-width:720px; }
.site-emailcap h3{ margin:0 0 .35rem; color:var(--site-primary-deep,#0e3643); }
.site-emailcap p{ margin:0 0 1rem; color:#58595b; font-size:.95rem; }
.site-emailcap form{ display:flex; gap:.6rem; flex-wrap:wrap; }
.site-emailcap input[type=email]{ flex:1 1 220px; min-height:48px; padding:.7rem 1rem; border:1px solid rgba(14,54,67,.22); border-radius:12px; font:inherit; }
.site-emailcap button{ min-height:48px; padding:.7rem 1.3rem; border:0; border-radius:12px; background:var(--site-accent,#f7ca15); color:var(--site-ink,#0e3643); font-weight:700; cursor:pointer; }
.site-emailcap-foot{ margin-top:1.5rem; }
.site-emailcap-foot input[type=email]{ background:#fff; }
.site-msg{ font-size:.9rem; margin-top:.6rem; min-height:1.2em; }
.site-msg.ok{ color:#1a7a4d; } .site-msg.err{ color:#c0392b; }

/* ---- Cookie consent ---- */
.site-cookie{ position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:9999; max-width:560px; margin:0 auto; background:var(--site-primary-deep,#0e3643); color:#fff; border-radius:14px; padding:1rem 1.1rem; box-shadow:0 18px 44px -18px rgba(0,0,0,.5); display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; font-size:.9rem; }
.site-cookie[hidden]{ display:none; }
.site-cookie p{ margin:0; flex:1 1 240px; }
.site-cookie a{ color:var(--site-accent,#f7ca15); }
.site-cookie button{ min-height:44px; padding:.6rem 1rem; border:0; border-radius:10px; font-weight:700; cursor:pointer; }
.site-cookie .ck-accept{ background:var(--site-accent,#f7ca15); color:var(--site-ink,#0e3643); }
.site-cookie .ck-decline{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); }

/* ---- Legal page layout ---- */
.legal-wrap{ max-width:760px; margin:0 auto; padding:3rem 1.2rem 4rem; }
.legal-wrap h1{ color:var(--site-primary-deep,#0e3643); }
.legal-wrap h2{ color:var(--site-primary,#134a5b); margin-top:1.8rem; }
.legal-wrap p,.legal-wrap li{ color:#3f4244; line-height:1.7; }
.legal-wrap .legal-updated{ color:#8a8e91; font-size:.9rem; }
.legal-wrap a{ color:var(--site-primary,#134a5b); }
.legal-note{ background:#fff6d6; border:1px solid #f0d98a; border-radius:10px; padding:.8rem 1rem; font-size:.85rem; color:#6b5a17; }
