/* ============================================================================
   RUBBER DUCK CAR WASH — Accessibility base styles
   Linked on every page. Provides the site-wide WCAG 2.1 AA baseline that isn't
   tied to the JS widget: skip link (2.4.1), visible focus (2.4.7 / 2.4.11),
   a screen-reader-only utility, and a reduced-motion fallback (2.3.3).
   ========================================================================== */

/* --- Skip to main content (WCAG 2.4.1 Bypass Blocks) ---------------------- */
.skip-link{
  position:fixed;
  top:-120px;
  left:12px;
  z-index:2147483600;               /* above the a11y widget button */
  background:#0A2138;
  color:#fff;
  padding:.75rem 1.15rem;
  border-radius:0 0 10px 10px;
  font:700 1rem/1 "Barlow",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(0,0,0,.35);
  transition:top .16s ease;
}
.skip-link:focus{
  top:0;
  outline:3px solid #FFC20E;
  outline-offset:2px;
}

/* --- Visible keyboard focus (WCAG 2.4.7). Dual-colour ring so it is visible
       on both light and dark backgrounds. Only shows for keyboard users. ---- */
:focus-visible{
  outline:3px solid #0A2138 !important;   /* dark ring — visible on light bg   */
  outline-offset:2px !important;
  box-shadow:0 0 0 2px #FFC20E !important; /* yellow ring — visible on dark bg  */
  border-radius:3px;
}
/* keep a focus ring for browsers/inputs that fall back to :focus */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,summary:focus-visible,
[tabindex]:focus-visible{ scroll-margin-top:100px; }

/* --- Screen-reader-only utility ------------------------------------------- */
.sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

/* --- Respect reduced-motion preference (WCAG 2.3.3) ----------------------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
