/* =======================================================================
   _a11y.css — WCAG 2.1 AA universal layer (palette-agnostic)
   Focus, reduced motion, skip link, link affordance, SR helpers.
   Site-specific contrast fixes are appended below this block per site.
   ======================================================================= */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,
[role="button"]:focus-visible,[role="link"]:focus-visible{
  outline:3px solid #1B5FBF !important;outline-offset:2px !important;border-radius:2px;}
@supports not selector(:focus-visible){
  a:focus,button:focus,input:focus,select:focus,textarea:focus,summary:focus,[tabindex]:focus{
    outline:3px solid #1B5FBF !important;outline-offset:2px !important;}}
header a:focus-visible,nav a:focus-visible,footer a:focus-visible,.on-dark a:focus-visible{
  outline-color:#E0B96A !important;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;}}
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;}
.skip-link:focus{left:0;padding:10px 16px;background:#0B1F3A;color:#fff;text-decoration:none;border:2px solid #C4973A;}
.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;}
html{-webkit-text-size-adjust:100%;}
footer a{text-decoration:underline !important;}
@media (forced-colors: active){
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
    outline:3px solid CanvasText !important;}}

/* ===== Palms contrast remediation (WCAG 2.1 AA) ===== */
/* Footer greys on dark charcoal -> lighter for 4.5:1 */
.footer-tagline, .footer-links a, .footer-bottom p,
.footer-bottom a, .footer-bottom .legal-links a { color:#b8b5af !important; }
/* CTA band paragraph sits on teal -> brighter */
.cta-band p { color:#eef1ea !important; }
/* Club-info tile descriptions on gunmetal -> lighter */
.tile-desc { color:#cbc8c1 !important; }
/* stragglers */
.cta-band .btn-primary { color:#ffffff !important; }
.cta-band h2 .accent, .cta-band .accent { color:#f2ad89 !important; }
.courts-band .accent, .courts-band .section-title .accent { color:#ec9d73 !important; }
.tile:not(.primary) .tile-eyebrow, .hub-footer-link, .tile strong { color:#ec9d73 !important; }
/* club-info self-contained tokens: darken tile bg + fix hint strong */
:root { --gunmetal: #3A3D3F; }
.pwa-hint strong, .tile-desc strong { color:#ec9d73 !important; }
