/* ==========================================================================
   Previously — shared accessibility companion (keyboard/a11y audit 2026-09-27)
   - Visible :focus-visible baseline for every interactive element
     (zero-specificity :where() so every component ring still wins).
   - Poor-contrast component focus rings corrected to pearl.
   - Skip-link pattern (.pv-skip).
   - 44px minimum tap targets for every measured-small control.
   - Coming-Soon --faint token correction. The page's inline <style> is
     CSP-hash-pinned, so the token is corrected here (this stylesheet loads
     after the inline block on that page).
   Add after the page's own stylesheets so these rules win ties.
   ========================================================================== */

/* ---- 1. Focus-visible baseline: always a visible ring -------------------- */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid #F4F1EA;
  outline-offset: 3px;
}

/* Component rings that resolve to dark-on-dark (invisible on charcoal) */
.series-tap:focus-visible,
.series-ep-btn:focus-visible,
.pod-card:focus-visible,
#tour-card .tour-next:focus-visible,
#tour-card .tour-back:focus-visible,
#tour-card .tour-skip:focus-visible,
#tour-card .tour-x:focus-visible {
  outline: 2px solid #F4F1EA;
  outline-offset: 3px;
}

/* ---- 2. Coming-Soon token correction (see header note) ------------------- */
main.page { --faint: #8d8478; } /* 5.13:1 on charcoal — was #6f6a5e (3.51:1) */

/* ---- 3. Skip link -------------------------------------------------------- */
.pv-skip {
  position: absolute; left: 12px; top: -56px; z-index: 9999;
  background: #F4F1EA; color: #101114;
  padding: 10px 18px; border-radius: 10px;
  font-weight: 700; font-size: 14px; text-decoration: none;
  transition: top .15s ease;
}
.pv-skip:focus { top: 12px; }

/* ---- 4. Tap targets: 44px minimum ---------------------------------------- */

/* Root (index.html) */
.trailer-ctl .round-btn { width: 44px; height: 44px; }           /* was 38px */
.cu-pills button { min-height: 44px; padding-top: 12px; padding-bottom: 12px; } /* was ~31px */
#pvToast button { min-height: 44px; padding: 10px 12px; }       /* was 32px */
.alert-toggle::before {                                        /* switch: 52x30 -> 44px hit area */
  content: ""; position: absolute; inset: -7px 0;
}

/* Podcasts */
#podModal .modal-close { width: 44px; height: 44px; }           /* was 38px */

/* Account */
.pv-sortwrap select { min-height: 44px; }                       /* was 40px */
.pv-linkbtn { min-height: 44px; }                               /* was 40px */

/* Sports */
.hbtn { width: 44px; height: 44px; }                            /* was 38px */
.sheet .x { width: 44px; height: 44px; }                        /* was 36px */
.tk-item { min-height: 44px; }                                  /* was ~39px */

/* Games */
.pills .pill { min-height: 44px; padding-top: 11px; padding-bottom: 11px; } /* was ~40px */

/* Culture */
.catchips button { min-height: 44px; }                         /* was ~35px */
.intchip { min-height: 44px; }                                  /* was ~33px */
.mact .abtn, .mact .kebab { min-height: 44px; }                 /* were ~37/38px */
.mby { min-height: 44px; }                                      /* was ~26px */
.mgo { min-height: 44px; display: inline-flex; align-items: center; } /* was ~37px, inline span */

/* Coming Soon */
.chip { min-height: 44px; }                                     /* was ~35px */

/* Tour */
#tour-card .tour-skip { min-height: 44px; padding: 10px 12px; }  /* was ~26px */
#tour-card .tour-x { min-width: 44px; min-height: 44px; padding: 10px; } /* was ~28px */
