/* ===== סרגל נגישות ===== */
.a11y-btn {
  position: fixed; z-index: 1000; left: 18px; bottom: 18px;
  width: 56px; height: 56px; border-radius: 50%; border: 0; cursor: pointer;
  background: #14213D; color: #fff; display: grid; place-items: center;
  box-shadow: 0 10px 24px -8px rgba(20,33,61,.55);
}
.a11y-btn:focus-visible { outline: 3px solid #14213D; outline-offset: 3px; box-shadow: 0 0 0 6px #FFD23F; }
.a11y-btn svg { width: 30px; height: 30px; }
.a11y-panel {
  position: fixed; z-index: 1001; left: 18px; bottom: 86px; width: min(330px, calc(100vw - 36px));
  max-height: calc(100vh - 110px); overflow: auto;
  background: #fff; color: #14213D; border-radius: 18px; padding: 18px;
  box-shadow: 0 30px 60px -20px rgba(20,33,61,.5), 0 0 0 1px rgba(20,33,61,.12);
  font-family: "Plex Hebrew", Arial, sans-serif; font-size: 16px; line-height: 1.5; direction: rtl;
}
.a11y-panel[hidden] { display: none; }
.a11y-panel h2 { font-family: "Plex Hebrew", Arial, sans-serif; font-weight: 700; font-size: 18px; margin: 0 0 12px; display: flex; justify-content: space-between; align-items: center; }
.a11y-panel .x { border: 0; background: #EDF0F5; color: #14213D; width: 34px; height: 34px; border-radius: 10px; cursor: pointer; font-size: 20px; line-height: 1; }
.a11y-size { display: grid; grid-template-columns: 1fr auto auto auto; gap: 6px; align-items: center; margin-bottom: 10px; }
.a11y-size span { font-weight: 600; }
.a11y-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.a11y-panel button.opt, .a11y-size button {
  font: inherit; font-size: 15px; font-weight: 600; color: #14213D; background: #EDF0F5; border: 2px solid transparent;
  border-radius: 12px; padding: 10px 8px; cursor: pointer; text-align: center; min-height: 44px;
}
.a11y-size button { min-width: 44px; padding: 6px 10px; }
.a11y-panel button[aria-pressed="true"] { background: #14213D; color: #fff; }
.a11y-panel button:focus-visible, .a11y-panel a:focus-visible, .a11y-panel .x:focus-visible { outline: 3px solid #14213D; outline-offset: 2px; }
.a11y-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; gap: 10px; flex-wrap: wrap; }
.a11y-foot a { color: #14213D; font-weight: 600; }
.a11y-foot .reset { font: inherit; font-weight: 600; background: none; border: 2px solid #14213D; color: #14213D; border-radius: 10px; padding: 6px 12px; cursor: pointer; }

/* ===== מצבי נגישות (מוחלים על <html>) ===== */
html.a11y-links a { text-decoration: underline !important; text-underline-offset: 3px; outline: 2px dashed currentColor; outline-offset: 2px; }
html.a11y-readable body, html.a11y-readable h1, html.a11y-readable h2, html.a11y-readable h3 { font-family: Arial, "Plex Hebrew", sans-serif !important; letter-spacing: .02em; }
html.a11y-spacing body { line-height: 1.95 !important; word-spacing: .12em; }
html.a11y-spacing p, html.a11y-spacing li { line-height: 1.95 !important; }
html.a11y-contrast main, html.a11y-contrast footer, html.a11y-contrast .top { filter: contrast(1.45); }
html.a11y-gray main, html.a11y-gray footer, html.a11y-gray .top { filter: grayscale(1); }
html.a11y-contrast.a11y-gray main, html.a11y-contrast.a11y-gray footer, html.a11y-contrast.a11y-gray .top { filter: grayscale(1) contrast(1.45); }
html.a11y-still *, html.a11y-still *::before, html.a11y-still *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html.a11y-cursor, html.a11y-cursor * { cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'><path d='M6 3 L6 33 L14 25 L20 38 L26 35 L20 22 L31 22 Z' fill='%23000' stroke='%23fff' stroke-width='2.5' stroke-linejoin='round'/></svg>") 6 3, auto !important; }
@media print { .a11y-btn, .a11y-panel { display: none !important; } }
