/* SAS readability layer: same design, but every text is large and bright enough to read
   (WCAG AA contrast, nothing below 12px). Loaded last. */
:root{--gz-muted:#bcc8ae;--gz-sage:#c6d3b1}

/* links that were dark green on the dark background */
.text-link,body:has(.goalz-home) .text-link{color:var(--gz-gold-soft,#d7c28d)}
.text-link:hover{color:#efdcae}
.gz-pathway .text-link{font-size:14px}

/* small labels */
.gz-kicker{font-size:13px;letter-spacing:.5px;color:#e1d6b4}
.gz-hero-copy>.gz-kicker{font-size:13px}
.eyebrow{font-size:12px!important;color:#e3d39f}
.brand small{font-size:10px!important;color:#c9d4bc!important}
.gz-hero-footer span,.gz-hero-footer small{font-size:13px!important;color:#e9eedf!important}
.gz-hero-footer small{font-size:11px!important;opacity:.9}
.gz-type-links small{font-size:11px;color:#c3cfb5}
.gz-pathway b{font-size:12px;color:#d0dbc2}
.gz-preview-top small,.gz-preview-athlete small,.gz-preview-stats small,.gz-preview-athlete p{font-size:12px!important;color:#c5d0b8!important}
.gz-coach-list p,.gz-final p,.gz-pillar p,.gz-disclaimer{font-size:14px!important;color:#c8d3bb!important}
.gz-preview-foot{font-size:13px}
.coach-top-label{font-size:10px!important;color:#c3cfb5!important}
.sport-card small{font-size:11px!important}
.footer p,.footer-links a,.footer-links span{font-size:14px;color:#c8d3bb}
.footer-bottom,.footer-bottom span,.footer-bottom a{font-size:13px!important;color:#b9c5ab!important}
.tiny{font-size:13px}
.muted,.tiny.muted{color:#b4c0a6!important}

/* hero text sits on a photo: a soft dark halo instead of a blurry shadow */
.gz-hero-copy p,.gz-hero-copy .gz-kicker,.gz-hero-footer span{text-shadow:0 1px 2px #0b120ecc,0 0 18px #0b120e99}
.gz-hero-copy p{font-size:clamp(15px,1.15vw,18px);color:#f1f4ea}

/* decorative big numbers stay decorative, but less muddy */
.coach-monogram,.gz-preview-athlete>span{color:#6f8a5c!important}

/* portal tables and forms */
.sas-portal .dash-title p{color:#c3cfb5}
.sas-portal table th{color:#d4dec7;font-size:13px}
.sas-portal table td{font-size:14px}
.field{font-size:14px}
.field input::placeholder,.field textarea::placeholder{color:#8f9c84}

@media (max-width:850px){
  .gz-kicker{font-size:12px}
  .gz-coach-list p,.gz-final p,.gz-pillar p{font-size:14px!important}
}

/* buttons: crisp text, no glow, readable size */
.btn,.goalz-home .btn{text-shadow:none!important;font-size:14px;letter-spacing:0}
.goalz-home .gz-hero .btn.gold{box-shadow:0 10px 28px -12px #000c}
.goalz-home .btn.gz-ghost{background:#0f1712b3;border:1px solid #ffffff3a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.goalz-home .btn.gz-ghost:hover{background:#e2e8d4;color:#123326}
body:has(.goalz-home) .header-actions .btn,body:not(:has(.goalz-home)) .header-actions .btn{font-size:13px}
@media (max-width:850px){.btn,.goalz-home .btn{font-size:13px}}

/* language switch: same size and baseline in both languages */
.lang-btn{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:38px;padding:0 12px;line-height:1;font:700 13px/1 Montserrat,Cairo,sans-serif;letter-spacing:.4px;vertical-align:middle}
.lang-btn[lang="ar"]{font-family:Cairo,sans-serif;font-size:14px;letter-spacing:0;padding-bottom:2px}
.sas-portal .lang-btn{height:34px}
@media (max-width:520px){
  .header-actions{gap:8px!important}
  .lang-btn{min-width:42px;height:34px;padding:0 8px;font-size:12px}
  .lang-btn[lang="ar"]{font-size:13px}
  body:not(:has(.goalz-home)) .header-actions .btn.gold{padding:6px 10px;font-size:12px;min-height:34px;gap:6px}
  body:not(:has(.goalz-home)) .header .brand b{font-size:11px}
}
@media (max-width:380px){body:not(:has(.goalz-home)) .header-actions .btn.gold svg{display:none}}
.header-actions .btn{white-space:nowrap}
