/* ==========================================================================
   קו | תכנון ועיצוב פנים — Accessibility menu + accessibility statement
   The menu is a small button in the corner; the a11y-* rules below apply only
   when a visitor switches an option on, so the default design is unchanged.
   ========================================================================== */

/* ---------- Menu ---------- */
.a11y { position: fixed; inset-block-end: 16px; inset-inline-end: 16px; z-index: 60; }
.a11y__toggle {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1.5px solid var(--c-ink);
  border-radius: 50%;
  background: var(--c-bg);
  color: var(--c-ink);
  cursor: pointer;
}
.a11y__toggle:hover { background: #fff; }
.a11y__toggle:focus-visible, .a11y__btn:focus-visible, .a11y__link:focus-visible { outline: 3px solid var(--c-ink); outline-offset: 3px; }
.a11y__panel {
  position: absolute;
  inset-block-end: 60px;
  inset-inline-end: 0;
  width: min(300px, calc(100vw - 32px));
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  padding: 16px;
  border: 1px solid var(--c-line);
  background: var(--c-bg);
  color: var(--c-ink);
  font-size: 1rem;
}
.a11y__panel[hidden] { display: none; }
.a11y__title { margin: 0 0 12px; font-size: 1.25rem; font-weight: 700; }
.a11y__row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.a11y__btn {
  overflow-wrap: anywhere;
  display: block;
  width: 100%;
  min-height: 44px;
  margin-bottom: 8px;
  padding: 6px 12px;
  border: 1px solid var(--c-line);
  border-radius: 0;
  background: transparent;
  color: var(--c-ink);
  font: inherit;
  text-align: center;
  cursor: pointer;
}
.a11y__row .a11y__btn { margin-bottom: 0; }
.a11y__btn:hover { background: rgba(40, 45, 53, 0.06); }
.a11y__btn[aria-pressed="true"] { background: var(--c-ink); border-color: var(--c-ink); color: var(--c-bg); }
.a11y__btn[disabled] { opacity: 0.45; cursor: not-allowed; }
.a11y__size { margin: 8px 0 12px; font-size: 0.9375rem; color: var(--c-ink-soft); }
.a11y__link { display: block; margin-top: 4px; padding: 10px 0 2px; text-align: center; text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Text size (rem-based sizes scale with the root) ---------- */
html.a11y-text-1 { font-size: 112.5%; }
html.a11y-text-2 { font-size: 125%; }
html.a11y-text-3 { font-size: 150%; }
html.a11y-text-4 { font-size: 175%; }

/* ---------- High contrast ---------- */
html.a11y-contrast {
  --c-bg: #000;
  --c-ink: #fff;
  --c-ink-soft: #fff;
  --c-line: #fff;
  --c-rule: #fff;
  --c-sage: #ffd400;
  --c-panel-sand: #1a1a1a;
  --c-panel-blue: #1a1a1a;
  --c-panel-sage: #1a1a1a;
}
html.a11y-contrast body { background: #000; color: #fff; }
html.a11y-contrast a:not(.btn) { color: #ffd400; text-decoration: underline; }
html.a11y-contrast .masthead__logo img { background: #fff; padding: 4px; }
html.a11y-contrast .nav-link::after { background: #ffd400; }
html.a11y-contrast .site-foot__icon { background: transparent; border-color: #ffd400; }
html.a11y-contrast .a11y__toggle:hover, html.a11y-contrast .a11y__btn:hover { background: #222; }
html.a11y-contrast .a11y__btn[aria-pressed="true"] { background: #ffd400; border-color: #ffd400; color: #000; }
html.a11y-contrast .pn__btn, html.a11y-contrast .more__btn, html.a11y-contrast .input, html.a11y-contrast .textarea, html.a11y-contrast .select { border-color: #fff; }
html.a11y-contrast .input, html.a11y-contrast .textarea, html.a11y-contrast .select { background: #000; color: #fff; }
html.a11y-contrast :focus-visible { outline-color: #ffd400; }

/* ---------- Grayscale ---------- */
html.a11y-grayscale { filter: grayscale(1); }

/* ---------- Highlight links ---------- */
html.a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; background: #ffef7a; color: #000 !important; outline: 1px solid #000; }
html.a11y-links a img { background: transparent; }

/* ---------- Readable font ---------- */
html.a11y-readable body, html.a11y-readable body * {
  font-family: Arial, "Noto Sans Hebrew", "Segoe UI", sans-serif !important;
  letter-spacing: 0.01em;
}

/* ---------- No animations ---------- */
html.a11y-nomotion *, html.a11y-nomotion *::before, html.a11y-nomotion *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
html.a11y-nomotion.js [data-reveal] { opacity: 1 !important; transform: none !important; }

@media (max-width: 760px) {
  .a11y { inset-block-end: 12px; inset-inline-end: 12px; }
}

/* ==========================================================================
   Accessibility statement page
   ========================================================================== */
.statement { max-width: 760px; margin-inline: auto; padding: clamp(24px, 4vw, 56px) clamp(22px, 5.55vw, 80px) 0; }
.statement h1 { font-size: clamp(2.375rem, 1.4rem + 3.2vw, 3.875rem); line-height: 1.1; margin-bottom: 8px; }
.statement__updated { color: var(--c-ink-soft); margin-bottom: 32px; }
.statement h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin: 40px 0 12px; }
.statement p, .statement li { font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem); line-height: 1.7; }
.statement ul { padding-inline-start: 1.4em; margin: 8px 0; }
.statement li { margin-bottom: 6px; }
.statement a { text-decoration: underline; text-underline-offset: 4px; }
.statement__contact { border: 1px solid var(--c-rule); padding: 20px 24px; margin-top: 12px; }
.statement__contact p { margin: 0 0 6px; }

.statement__contact { overflow-wrap: anywhere; padding: clamp(16px, 3vw, 24px); }
.a11y__panel { overflow-wrap: anywhere; }
