/* ===== A11Y: base ===== */

html.a11y-on body { margin-top: 64px; min-width: 300px; }
marquee { display: none !important; }
html.a11y-preload * { transition: none !important; }

/* top bar */
#a11ybar{
  position:fixed; inset:0 0 auto 0; width:100%;
  text-align:center; padding:8px 0; border-bottom:1px solid gray;
  z-index:999999; line-height:1 !important; user-select:none;
  color:inherit; background:inherit;
}
html:not(.a11y-on) #a11ybar{ display:none !important; }

#a11ybar .a11y-panel div{
  display:inline-flex; align-items:center; gap:6px;
  margin:0 0 5px 16px; padding:0;
}
#a11ybar span,#a11ybar em{ font-size:16px !important; }

#a11ybar button{
  margin:0 2px; border:1px solid currentColor; min-width:32px;
  padding:0 10px; height:32px; line-height:32px !important;
  box-sizing:border-box; cursor:pointer; outline:0; text-transform:none;
  font-size:18px !important; color:inherit; background:inherit;
  display:inline-flex; align-items:center; justify-content:center;
}
#a11ybar button:focus-visible{ outline:2px solid currentColor; outline-offset:2px; }
#a11ybar button[aria-pressed="true"]{ box-shadow: inset 0 0 0 2px currentColor; }
#a11ybar svg{ width:20px; height:20px; fill:currentColor; }

/* images off (не ломаем разметку) */
html.a11y-hide-images img,
html.a11y-hide-images picture,
html.a11y-hide-images figure img{ visibility:hidden !important; }

/* ===== SETTINGS PANEL (как на скрине) ===== */
#a11y-settings-body{
  display:block; padding:12px 16px 16px; text-align:left;
  max-width:1200px; margin:0 auto;
}
#a11y-settings-body.is-hidden{ display:none !important; }
/* страхуемся на случай чужого [hidden] */
#a11ybar[aria-expanded="true"] #a11y-settings-body{ display:block !important; }

#a11y-settings-body h2{
  font-size:18px !important; margin:12px 0 10px; font-weight:700;
}

#a11y-settings-body .row{
  display:grid; grid-template-columns:280px 1fr;
  gap:12px 18px; align-items:center; margin:12px 0;
}
#a11y-settings-body .row > .label{ font-size:16px !important; }
#a11y-settings-body .row > .label em{ font-style:italic; opacity:.9; }

#a11y-settings-body .row .btns{
  display:flex; flex-wrap:wrap; gap:8px;
}
#a11y-settings-body .btns button,
#a11y-settings-body .btns button i{ font-size:20px !important; }
#a11y-settings-body .btns button{
  min-height:40px; padding:6px 12px; border:2px solid currentColor;
  background:inherit; color:inherit; line-height:1.2 !important;
  display:inline-flex; align-items:center; justify-content:center;
}
#a11y-settings-body .btns button[aria-pressed="true"]{
  box-shadow: inset 0 0 0 2px currentColor;
}
#a11y-settings-body .a11y-color .btns button{ min-width:220px; text-align:left; }

#a11y-settings-body hr{
  border:0; border-top:1px solid currentColor; opacity:.4; margin:14px 0;
}
#a11y-settings-body .footer{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-top:12px;
}
#a11y-settings-body .footer button{
  padding:8px 14px; min-height:40px; font-size:18px !important;
  border:2px solid currentColor; background:inherit; color:inherit;
}

/* ===== Typography / spacing toggles ===== */
.a11y-line-height-1 *, #a11ybar .a11y-line-height button[value="1"]{ line-height:normal !important; }
.a11y-line-height-2 *, #a11ybar .a11y-line-height button[value="2"]{ line-height:1.75rem !important; }
.a11y-line-height-3 *, #a11ybar .a11y-line-height button[value="3"]{ line-height:2rem !important; }

.a11y-font-size-1 *, #a11ybar .a11y-font-size button[value="1"]{ font-size:1rem !important; }
.a11y-font-size-2 *, #a11ybar .a11y-font-size button[value="2"]{ font-size:1.5rem !important; }
.a11y-font-size-3 *, #a11ybar .a11y-font-size button[value="3"]{ font-size:2rem !important; }

.a11y-font-family-1 *, #a11ybar .a11y-font-family button[value="1"]{ font-family:Arial, sans-serif !important; }
.a11y-font-family-2 *, #a11ybar .a11y-font-family button[value="2"]{ font-family:Times, serif !important; }

.a11y-letter-spacing-1 *, #a11ybar .a11y-letter-spacing button[value="1"]{ letter-spacing:normal !important; }
.a11y-letter-spacing-2 *, #a11ybar .a11y-letter-spacing button[value="2"]{ letter-spacing:2px !important; }
.a11y-letter-spacing-3 *, #a11ybar .a11y-letter-spacing button[value="3"]{ letter-spacing:4px !important; }

/* ===== Color schemes (ГОСТ-палитры) ===== */
.a11y-color-1 *, #a11ybar .a11y-color button[value="1"]{
  color:#000 !important; background:#fff !important; border-color:#000 !important;
}
.a11y-color-2 *, #a11ybar .a11y-color button[value="2"]{
  color:#fff !important; background:#000 !important; border-color:#fff !important;
}
.a11y-color-3 *, #a11ybar .a11y-color button[value="3"]{
  color:#063462 !important; background:#9dd1ff !important; border-color:#063462 !important;
}
.a11y-color-4 *, #a11ybar .a11y-color button[value="4"]{
  color:#59422e !important; background:#f7f3d6 !important; border-color:#59422e !important;
}
.a11y-color-5 *, #a11ybar .a11y-color button[value="5"]{
  color:#a9dd38 !important; background:#3b2716 !important; border-color:#a9dd38 !important;
}

/* responsive */
@media (max-width: 940px){ #a11ybar .a11y-panel span{ display:none; } }
@media (max-width: 900px){ #a11y-settings-body .row{ grid-template-columns:1fr; } }
@media (max-width: 460px){ html.a11y-on body{ margin-top:104px; } }
