/* Shared accessibility styles — used by index.html and payment-page-cardcom.html */
/* Slightly darker green / grey so small text meets the 4.5:1 contrast ratio */
:root { --sage: #4f6f4f; --text-muted: #5e5e5e; }
.lang-btn:not(.active) { color: #fff; }
  .sr-only { position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .skip-link { position:absolute; top:-100px; right:12px; z-index:3000; background:#fff; color:#000; padding:10px 16px; border-radius:0 0 8px 8px; font-weight:700; text-decoration:underline; }
  .skip-link:focus { top:0; }
  a:focus-visible, button:focus-visible, [tabindex]:focus-visible, summary:focus-visible,
  input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid #0b57d0 !important; outline-offset: 2px !important;
  }
  header a:focus-visible, header button:focus-visible { outline-color: #fff !important; }
  .modal:focus { outline: none; }
  .lang-btn.active, .btn-gold { color: #1f331f; }
  main:focus { outline: none; }
  #a11y-btn { position: fixed; left: 14px; bottom: 14px; z-index: 2500; width: 48px; height: 48px; border-radius: 50%; border: 2px solid #fff; background: #0b57d0; color: #fff; font-size: 1.5rem; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,0.35); display:flex; align-items:center; justify-content:center; padding:0; }
  #a11y-panel { position: fixed; left: 14px; bottom: 72px; z-index: 2500; width: min(320px, calc(100vw - 28px)); max-height: 75vh; overflow: auto; background: #fff; color: #111; border: 2px solid #0b57d0; border-radius: 12px; padding: 14px; box-shadow: 0 6px 24px rgba(0,0,0,0.3); font-size: 15px; }
  #a11y-panel[hidden] { display: none; }
  #a11y-panel h2 { font-size: 1.05rem; margin: 0 0 8px; }
  #a11y-panel .a11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  #a11y-panel button { font: inherit; padding: 9px 8px; border: 2px solid #0b57d0; background: #fff; color: #0b57d0; border-radius: 8px; cursor: pointer; font-weight: 600; }
  #a11y-panel button[aria-pressed="true"] { background: #0b57d0; color: #fff; }
  #a11y-panel .a11y-reset { grid-column: 1 / -1; border-color: #444; color: #222; }
  #a11y-panel p { margin: 10px 0 0; font-size: 0.85rem; line-height: 1.5; }
  #a11y-panel a { color: #0b57d0; }

  html.a11y-contrast { --cream:#ffffff; --white:#ffffff; --text:#000000; --text-muted:#1a1a1a; --border:#000000; --sage:#1e4620; --sage-dark:#0d2a0f; --brown:#2b1600; --gold:#ffd700; --gold-light:#ffe066; }
  html.a11y-contrast body { background:#fff; color:#000; }
  html.a11y-contrast a { color:#0000cc; text-decoration:underline; }
  html.a11y-contrast input, html.a11y-contrast select, html.a11y-contrast textarea { border:2px solid #000; background:#fff; color:#000; }
  html.a11y-contrast .btn-primary { background:#0d2a0f; color:#fff; border:2px solid #000; }
  html.a11y-contrast .btn-outline { border:2px solid #000; color:#000; background:#fff; }
  html.a11y-contrast header, html.a11y-contrast .hero-strip { background:#0d2a0f; }
  html.a11y-contrast .error-msg { color:#a00000; }
  html.a11y-font, html.a11y-font body, html.a11y-font * { font-family: Arial, Helvetica, sans-serif !important; }
  html.a11y-links a { text-decoration: underline !important; font-weight: 700; }
  html.a11y-nomotion *, html.a11y-nomotion *::before, html.a11y-nomotion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  }
  @media print { #a11y-btn, #a11y-panel, .skip-link { display: none !important; } }
