/* כפתור ופאנל התאמות נגישות - בית לחיבורים */
.a11y-root { position: fixed; inset-block-end: 16px; left: 16px; z-index: 2147483000; direction: rtl; font-family: "Assistant", system-ui, sans-serif; letter-spacing: normal; }
.a11y-btn { width: 56px; height: 56px; border-radius: 50%; border: 0; padding: 0; cursor: pointer; background: #5E2F74; color: #fff; display: grid; place-items: center; box-shadow: 0 0 0 3px #5E2F74, inset 0 0 0 3px #fff, 0 10px 24px rgba(43, 23, 43, .35); }
.a11y-btn svg { width: 30px; height: 30px; }
.a11y-btn:focus-visible, .a11y-panel button:focus-visible, .a11y-panel a:focus-visible { outline: 3px solid #EFB22E; outline-offset: 3px; }
.a11y-panel { position: absolute; inset-block-end: 68px; left: 0; width: min(320px, calc(100vw - 32px)); max-height: min(560px, calc(100vh - 110px)); overflow: auto; background: rgba(43, 23, 43, .97); color: #F7F3EE; border: 1px solid rgba(239, 178, 46, .45); border-radius: 18px; padding: 16px; box-shadow: 0 24px 60px rgba(0, 0, 0, .4); }
.a11y-panel[hidden] { display: none; }
.a11y-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.a11y-title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.3; color: #EFB22E; font-family: inherit; }
.a11y-close { width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: #F7F3EE; font-size: 26px; line-height: 1; cursor: pointer; }
.a11y-close:hover { background: rgba(247, 243, 238, .12); }
.a11y-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.a11y-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; width: 100%; padding: 8px 14px; border-radius: 12px; border: 1px solid rgba(247, 243, 238, .28); background: transparent; color: #F7F3EE; font: inherit; font-size: 17px; font-weight: 600; text-align: start; }
button.a11y-row { cursor: pointer; }
button.a11y-row:hover { background: rgba(247, 243, 238, .1); }
button.a11y-row[aria-pressed="true"] { background: #EFB22E; border-color: #EFB22E; color: #2B172B; }
.a11y-state { font-size: 14px; font-weight: 700; opacity: .85; }
.a11y-size { display: flex; align-items: center; gap: 8px; }
.a11y-size button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(247, 243, 238, .5); background: transparent; color: #F7F3EE; font-size: 24px; font-weight: 700; line-height: 1; cursor: pointer; }
.a11y-size button:hover:not(:disabled) { background: rgba(247, 243, 238, .14); }
.a11y-size button:disabled { opacity: .35; cursor: default; }
.a11y-size output { min-width: 52px; text-align: center; font-size: 17px; font-weight: 700; direction: ltr; }
.a11y-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.a11y-reset { min-height: 44px; padding: 6px 16px; border-radius: 999px; border: 1px solid rgba(247, 243, 238, .5); background: transparent; color: #F7F3EE; font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; }
.a11y-reset:hover { background: rgba(247, 243, 238, .12); }
.a11y-link { color: #EFB22E; font-size: 16px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; min-height: 44px; display: inline-flex; align-items: center; }

/* מה שכל העדפה עושה לדף */
html.a11y-zoom-1 { zoom: 1.15; }
html.a11y-zoom-2 { zoom: 1.3; }
html.a11y-zoom-3 { zoom: 1.5; }
/* הכפתור והפאנל נשארים בגודל קבוע כדי שלא ייחתכו במסך קטן */
html.a11y-zoom-1 .a11y-root { zoom: 0.8696; }
html.a11y-zoom-2 .a11y-root { zoom: 0.7692; }
html.a11y-zoom-3 .a11y-root { zoom: 0.6667; }
@media (max-width: 767px) {
  html.a11y-zoom-1 { zoom: 1.08; }
  html.a11y-zoom-2, html.a11y-zoom-3 { zoom: 1.15; }
  html.a11y-zoom-1 .a11y-root { zoom: 0.9259; }
  html.a11y-zoom-2 .a11y-root, html.a11y-zoom-3 .a11y-root { zoom: 0.8696; }
}

html.a11y-contrast {
  --ink: 0 0% 0%; --ink-warm: 0 0% 9%; --foreground: 0 0% 0%; --muted-foreground: 0 0% 9%;
  --bronze: 30 78% 20%; --violet: 281 60% 20%; --violet-lift: 281 55% 26%; --violet-deep: 280 62% 14%;
  --cream: 0 0% 100%; --cream-2: 0 0% 95%; --background: 0 0% 100%; --line: 0 0% 35%; --border: 0 0% 35%;
  --plum: 300 45% 6%; --plum-deep: 300 50% 4%; --plum-soft: 291 40% 10%;
  --gold: 45 100% 52%; --gold-dim: 45 100% 68%;
}
html.a11y-contrast body :is(p, li, span, a, label, h1, h2, h3, h4, button, input, textarea) { text-shadow: none !important; }
html.a11y-contrast body :is(p, li, span, a, label, small) { opacity: 1 !important; }

html.a11y-links body a:not(.a11y-link) { text-decoration: underline !important; text-decoration-thickness: 2px !important; text-underline-offset: 4px !important; outline: 2px dashed currentColor; outline-offset: 3px; }

html.a11y-nomotion *, html.a11y-nomotion *::before, html.a11y-nomotion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

html.a11y-spacing body :is(p, li, dd, blockquote, label, input, textarea, h1, h2, h3, h4, span, a, button) { line-height: 2 !important; letter-spacing: .08em !important; word-spacing: .16em !important; }
html.a11y-spacing body p { margin-bottom: 1.2em !important; }
html.a11y-spacing .a11y-root * { line-height: 1.4 !important; letter-spacing: normal !important; word-spacing: normal !important; }

html.a11y-cursor, html.a11y-cursor * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 11h-7.2l4 8-3.1 1.5-4-8L4 19z' fill='%23000' stroke='%23fff' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 6 3, auto !important; }

@media print { .a11y-root { display: none; } }
