/* ==========================================================================
   תפריט נגישות - Taxidi
   ת"י 5568 / WCAG 2.0 AA
   ========================================================================== */

/* ------------------------------------------------------- כפתור פתיחה -- */
.a11y-btn {
  position: fixed;
  inset-inline-start: clamp(1rem, 3vw, 1.8rem);
  bottom: clamp(1rem, 3vw, 1.8rem);
  z-index: 120;
  display: grid; place-items: center;
  width: 56px; height: 56px; padding: 0;
  background: #16413D; color: #fff;
  border: 2px solid #fff; border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 6px 22px rgba(15, 27, 26, .32);
  transition: transform .2s ease, background .2s ease;
}
.a11y-btn:hover, .a11y-btn.is-open { background: #0E2B28; transform: scale(1.06); }
.a11y-btn:focus-visible { outline: 3px solid #16413D; outline-offset: 3px; }

/* ------------------------------------------------------------ פאנל -- */
.a11y-panel {
  position: fixed;
  inset-inline-start: clamp(1rem, 3vw, 1.8rem);
  bottom: calc(clamp(1rem, 3vw, 1.8rem) + 68px);
  z-index: 121;
  width: min(330px, calc(100vw - 2rem));
  max-height: min(78vh, 620px);
  display: flex; flex-direction: column;
  background: #fff; color: #10201E;
  border: 1px solid rgba(15, 27, 26, .16);
  border-radius: 16px;
  box-shadow: 0 18px 54px rgba(15, 27, 26, .26);
  font-family: "Heebo", Arial, sans-serif;
  font-size: 15px; line-height: 1.5;
  overflow: hidden;
}
.a11y-panel[hidden] { display: none; }

.a11y-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: .5rem; padding: .9rem 1.1rem;
  background: #16413D; color: #fff;
}
.a11y-head h2 { margin: 0; font-size: 1.05rem; font-weight: 500; color: #fff; letter-spacing: 0; }
.a11y-close {
  display: grid; place-items: center;
  width: 34px; height: 34px; padding: 0;
  background: transparent; color: #fff;
  border: 1px solid rgba(255, 255, 255, .45); border-radius: 8px; cursor: pointer;
}
.a11y-close:hover { background: rgba(255, 255, 255, .16); }

.a11y-body { padding: .9rem 1.1rem 1rem; overflow-y: auto; }

.a11y-group + .a11y-group { margin-top: 1.1rem; }
.a11y-group__title {
  display: block; margin-bottom: .5rem;
  font-size: .82rem; font-weight: 500; letter-spacing: .04em;
  color: #4A5A58; text-transform: uppercase;
}

.a11y-item {
  display: block; width: 100%;
  margin-bottom: .4rem; padding: .6rem .8rem;
  text-align: start;
  background: #F4F7F6; color: #10201E;
  border: 1.5px solid transparent; border-radius: 9px;
  font: inherit; cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.a11y-item:hover { background: #E4EEEC; }
.a11y-item[aria-pressed="true"] {
  background: #16413D; color: #fff; border-color: #16413D; font-weight: 500;
}
.a11y-item[aria-pressed="true"]::after { content: " ✓"; }

.a11y-size { display: flex; align-items: center; gap: .5rem; }
.a11y-step {
  flex: none; width: 46px; height: 44px;
  background: #F4F7F6; color: #10201E;
  border: 1.5px solid rgba(15, 27, 26, .14); border-radius: 9px;
  font: inherit; font-size: 1rem; font-weight: 500; cursor: pointer;
}
.a11y-step:hover { background: #E4EEEC; }
.a11y-level { flex: 1; text-align: center; font-weight: 500; font-variant-numeric: tabular-nums; }

.a11y-foot {
  display: grid; gap: .5rem;
  padding: .85rem 1.1rem;
  border-top: 1px solid rgba(15, 27, 26, .1);
  background: #FAFBFB;
}
.a11y-reset {
  padding: .6rem .8rem;
  background: #fff; color: #10201E;
  border: 1.5px solid rgba(15, 27, 26, .2); border-radius: 9px;
  font: inherit; cursor: pointer;
}
.a11y-reset:hover { background: #F4F7F6; }
.a11y-link { text-align: center; font-size: .9rem; color: #16413D; }

.a11y-panel :focus-visible,
.a11y-btn:focus-visible { outline: 3px solid #0E2B28; outline-offset: 2px; }
.a11y-head :focus-visible { outline-color: #fff; }

@media (max-width: 420px) {
  .a11y-panel { inset-inline: 1rem; width: auto; bottom: calc(1rem + 66px); }
}

/* ==========================================================================
   ההתאמות שהתפריט מפעיל על האתר
   ========================================================================== */

/* גודל טקסט. הפאנל עצמו מוחרג כדי שלא יישבר */
.a11y-font body { font-size: calc(1rem * var(--a11y-font-scale, 1)); }
.a11y-font h1, .a11y-font h2, .a11y-font h3, .a11y-font h4,
.a11y-font p, .a11y-font li, .a11y-font a, .a11y-font label,
.a11y-font td, .a11y-font th, .a11y-font .btn, .a11y-font input, .a11y-font textarea {
  font-size: calc(1em * var(--a11y-font-scale, 1));
}
.a11y-font .a11y-panel, .a11y-font .a11y-panel * { font-size: 15px; }
.a11y-font .a11y-head h2 { font-size: 1.05rem; }
.a11y-font .a11y-group__title { font-size: .82rem; }

/* הדגשת קישורים */
.a11y-links a:not(.btn):not(.a11y-link) {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
  font-weight: 500;
}
.a11y-links .card, .a11y-links .post { outline: 2px dashed #16413D; outline-offset: -2px; }

/* הדגשת כותרות */
.a11y-titles h1, .a11y-titles h2, .a11y-titles h3, .a11y-titles h4 {
  background: #FFF2C9;
  outline: 2px solid #8A6D1F;
  padding-inline: .3em;
}

/* גופן קריא */
.a11y-readable body, .a11y-readable body * { font-family: Arial, "Arial Hebrew", sans-serif !important; }
.a11y-readable body { letter-spacing: .012em; }

/* ריווח טקסט מוגדל - לפי WCAG 1.4.12 */
.a11y-spacing p, .a11y-spacing li, .a11y-spacing td, .a11y-spacing .lead, .a11y-spacing .note {
  line-height: 2 !important;
  letter-spacing: .09em !important;
  word-spacing: .16em !important;
}
.a11y-spacing p { margin-bottom: 2em !important; }

/* סמן עכבר גדול */
.a11y-bigcursor, .a11y-bigcursor * {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'><path d='M8 4 8 38 16 30 22 44 29 41 23 27 34 27Z' fill='%23fff' stroke='%23000' stroke-width='2.5' stroke-linejoin='round'/></svg>") 6 2, auto !important;
}

/* עצירת אנימציות */
.a11y-stopmotion *, .a11y-stopmotion *::before, .a11y-stopmotion *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.a11y-stopmotion .reveal { opacity: 1 !important; transform: none !important; }

/* הדגשת מוקד המקלדת */
.a11y-focus *:focus {
  outline: 4px solid #C2410C !important;
  outline-offset: 2px !important;
}

/* מדריך קריאה */
.a11y-guide-bar {
  position: fixed; inset-inline: 0; top: 0;
  z-index: 119;
  height: 2.4rem;
  margin-top: -1.2rem;
  border-block: 2px solid #16413D;
  background: rgba(22, 65, 61, .10);
  pointer-events: none;
}

/* ------------------------------------------------------- ניגודיות -- */
.a11y-dark body, .a11y-dark .section, .a11y-dark .pagehead,
.a11y-dark .section--sand, .a11y-dark .section--aqua, .a11y-dark .section--sky,
.a11y-dark .card, .a11y-dark .post, .a11y-dark .form, .a11y-dark .contact__card,
.a11y-dark .callout, .a11y-dark .note, .a11y-dark table.rates,
.a11y-dark table.rates tbody tr:nth-child(even), .a11y-dark .pros > div,
.a11y-dark .footer, .a11y-dark .header, .a11y-dark .drawer__panel,
.a11y-dark .tablewrap, .a11y-dark .figure img {
  background: #000 !important;
  color: #FFEB3B !important;
}
.a11y-dark h1, .a11y-dark h2, .a11y-dark h3, .a11y-dark h4,
.a11y-dark p, .a11y-dark li, .a11y-dark span, .a11y-dark label,
.a11y-dark td, .a11y-dark th, .a11y-dark strong, .a11y-dark .eyebrow,
.a11y-dark .crumbs, .a11y-dark .card__more { color: #FFEB3B !important; }
.a11y-dark a:not(.a11y-item):not(.a11y-link):not(.a11y-reset) { color: #7FDBFF !important; }
.a11y-dark .btn { background: #000 !important; color: #FFEB3B !important; border: 2px solid #FFEB3B !important; }
.a11y-dark input, .a11y-dark textarea { background: #000 !important; color: #FFEB3B !important; border-color: #FFEB3B !important; }
.a11y-dark .card, .a11y-dark .post, .a11y-dark .form,
.a11y-dark .contact__card, .a11y-dark .callout { border: 2px solid #FFEB3B !important; }
.a11y-dark .hero__bg, .a11y-dark .wave, .a11y-dark .about__figure::before { display: none !important; }
.a11y-dark .card__icon { background: #000 !important; color: #FFEB3B !important; border: 2px solid #FFEB3B; }

.a11y-light body, .a11y-light .section, .a11y-light .pagehead,
.a11y-light .section--sand, .a11y-light .section--aqua, .a11y-light .section--sky,
.a11y-light .card, .a11y-light .post, .a11y-light .form, .a11y-light .contact__card,
.a11y-light .callout, .a11y-light .note, .a11y-light table.rates,
.a11y-light table.rates tbody tr:nth-child(even), .a11y-light .pros > div,
.a11y-light .footer, .a11y-light .header, .a11y-light .drawer__panel {
  background: #fff !important;
  color: #000 !important;
}
.a11y-light h1, .a11y-light h2, .a11y-light h3, .a11y-light h4,
.a11y-light p, .a11y-light li, .a11y-light span, .a11y-light label,
.a11y-light td, .a11y-light th, .a11y-light .eyebrow, .a11y-light .crumbs { color: #000 !important; }
.a11y-light a:not(.a11y-item):not(.a11y-link):not(.a11y-reset) { color: #00309E !important; }
.a11y-light .btn { background: #fff !important; color: #000 !important; border: 2px solid #000 !important; }
.a11y-light .card, .a11y-light .post, .a11y-light .form,
.a11y-light .contact__card, .a11y-light .callout { border: 2px solid #000 !important; }
.a11y-light .hero__bg, .a11y-light .wave { display: none !important; }

.a11y-mono body { filter: grayscale(100%) contrast(1.12); }
.a11y-mono .a11y-panel, .a11y-mono .a11y-btn { filter: none; }

@media print { .a11y-btn, .a11y-panel, .a11y-guide-bar { display: none !important; } }
