/* ==========================================================================
   נגישות — רכיב נגישות משותף (תקנות שוויון זכויות / ת"י 5568, WCAG 2.0 AA)
   קובץ עצמאי, נטען בכל עמוד. אין תלות חיצונית.
   ========================================================================== */

/* דילוג לתוכן */
.skip-link {
  position: absolute; right: 12px; top: -60px; z-index: 10000;
  background: #fff; color: #0a1c47; font-weight: 700; font-size: 15px;
  padding: 10px 18px; border-radius: 10px; text-decoration: none;
  transition: top .15s ease;
}
.skip-link:focus { top: 12px; outline: 3px solid #ffbf47; outline-offset: 2px; }

/* פוקוס נראה לכל אלמנט אינטראקטיבי (ניווט מקלדת) */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #ffbf47 !important;
  outline-offset: 2px !important;
  border-radius: 6px;
}

/* כפתור פתיחת תפריט הנגישות */
.a11y-fab {
  position: fixed; inset-inline-start: 18px; bottom: 18px; z-index: 9998;
  width: 52px; height: 52px; border-radius: 50%; cursor: pointer;
  background: #1479d4; color: #fff; border: 2px solid #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  display: grid; place-items: center; font-size: 26px; line-height: 1;
  transition: transform .15s ease, background .15s ease;
}
.a11y-fab:hover { transform: scale(1.06); background: #2b8ef0; }

/* פאנל */
.a11y-panel {
  position: fixed; inset-inline-start: 18px; bottom: 80px; z-index: 9999;
  width: 288px; max-width: calc(100vw - 36px);
  background: #fff; color: #14213a; border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0,0,0,.4);
  padding: 16px; font-family: 'Rubik', system-ui, Arial, sans-serif;
  display: none;
}
.a11y-panel[data-open="true"] { display: block; }
.a11y-panel h2 { margin: 0 0 4px; font-size: 17px; color: #0a1c47; }
.a11y-panel .a11y-sub { margin: 0 0 12px; font-size: 12.5px; color: #64708a; }
.a11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.a11y-btn {
  display: flex; align-items: center; justify-content: center; gap: 6px; text-align: center;
  font-family: inherit; font-size: 13.5px; font-weight: 600; color: #14213a; cursor: pointer;
  background: #f4f7fb; border: 1.5px solid #dde5f0; border-radius: 10px; padding: 10px 8px;
  transition: border-color .12s ease, background .12s ease;
}
.a11y-btn:hover { border-color: #1479d4; background: #eaf2fc; }
.a11y-btn[aria-pressed="true"] { background: #1479d4; color: #fff; border-color: #1479d4; }
.a11y-btn--wide { grid-column: 1 / -1; }
.a11y-reset { background: #fff; color: #c0392b; border-color: #f0c9c4; }
.a11y-reset:hover { background: #fdecea; border-color: #c0392b; }
.a11y-panel .a11y-statement { display: block; margin-top: 12px; font-size: 12.5px; color: #1479d4; text-decoration: underline; text-align: center; }
.a11y-close { position: absolute; inset-inline-end: 10px; top: 8px; background: none; border: 0; font-size: 20px; color: #64708a; cursor: pointer; line-height: 1; }

/* ---- הדגשת קישורים ---- */
html.a11y-links a { text-decoration: underline !important; text-underline-offset: 2px; }
html.a11y-links a:not(.a11y-fab):not(.skip-link) { outline: 1px dashed currentColor; outline-offset: 2px; }

/* ---- גופן קריא ---- */
html.a11y-readable, html.a11y-readable body { font-family: Arial, "Segoe UI", sans-serif !important; }
html.a11y-readable body { letter-spacing: .3px; line-height: 1.8 !important; }

/* ---- ניגודיות גבוהה (רקע שחור, טקסט לבן, קישורים צהובים) ---- */
html.a11y-hc body { background: #000 !important; }
html.a11y-hc body, html.a11y-hc h1, html.a11y-hc h2, html.a11y-hc p,
html.a11y-hc .role__title, html.a11y-hc .role__cue, html.a11y-hc .lead,
html.a11y-hc .roles-label, html.a11y-hc .foot, html.a11y-hc label,
html.a11y-hc .form-card, html.a11y-hc .form-card h2, html.a11y-hc .sub { color: #fff !important; }
html.a11y-hc .form-card { background: #000 !important; border: 2px solid #fff !important; box-shadow: none !important; }
html.a11y-hc input, html.a11y-hc select, html.a11y-hc textarea { background: #000 !important; color: #fff !important; border: 2px solid #fff !important; }
html.a11y-hc input::placeholder { color: #cfcfcf !important; }
html.a11y-hc .role, html.a11y-hc .selected-role { background: #000 !important; border: 2px solid #fff !important; color: #fff !important; }
html.a11y-hc .role.is-active { background: #003a66 !important; border-color: #ffbf47 !important; }
html.a11y-hc a, html.a11y-hc .foot__cta, html.a11y-hc .a11y-statement { color: #ff0 !important; }
html.a11y-hc #submitBtn, html.a11y-hc .btn { background: #ff0 !important; color: #000 !important; border: 2px solid #fff !important; box-shadow: none !important; }
html.a11y-hc .foot__cta { border-color: #ff0 !important; }

/* כיבוד העדפת תנועה מופחתת */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
