/* Prieinamumo valdiklio UI */
.a11y-toggle {
  position: fixed; right: 20px; bottom: 20px; z-index: 1000;
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--ink-900); color: var(--brand-yellow);
  display: grid; place-items: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  transition: transform .15s;
}
.a11y-toggle:hover { transform: scale(1.05); }
.a11y-toggle:focus-visible { outline: 3px solid var(--brand-orange); outline-offset: 3px; }

.a11y-panel {
  position: fixed; right: 20px; bottom: 84px; z-index: 1001;
  width: 340px; max-height: calc(100vh - 120px); overflow-y: auto;
  background: var(--white); color: var(--ink-900);
  border: 1px solid var(--ink-100); border-radius: var(--r-md);
  box-shadow: var(--shadow-lg); display: none;
  font-family: var(--font-sans);
}
.a11y-head {
  padding: 16px 20px; display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--ink-100); position: sticky; top: 0; background: var(--white);
}
.a11y-head strong { font-size: 15px; }
.a11y-close {
  width: 32px; height: 32px; font-size: 24px; line-height: 1;
  color: var(--ink-700); border-radius: var(--r-sm);
}
.a11y-close:hover { background: var(--ink-50); }
.a11y-body { padding: 16px 20px 20px; }
.a11y-row {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 13px; font-weight: 600; color: var(--ink-700);
  margin: 16px 0 8px; text-transform: uppercase; letter-spacing: .04em;
}
.a11y-row em { font-style: normal; color: var(--ink-500); font-weight: 500; text-transform: none; letter-spacing: 0; }
.a11y-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px;
}
.a11y-grid button, .a11y-stepper button {
  padding: 10px 12px; font-size: 13px; font-weight: 500; text-align: center;
  background: var(--ink-50); color: var(--ink-900);
  border-radius: var(--r-sm); border: 1.5px solid transparent;
  transition: all .12s;
}
.a11y-grid button:hover, .a11y-stepper button:hover { background: var(--ink-100); }
.a11y-grid button.is-active {
  background: var(--ink-900); color: var(--brand-yellow); border-color: var(--ink-900);
}
.a11y-stepper {
  display: grid; grid-template-columns: 40px 40px 40px; gap: 4px;
}
.a11y-stepper button { padding: 8px 0; font-size: 15px; font-weight: 700; }
.a11y-reset {
  width: 100%; margin-top: 20px; padding: 10px 16px;
  background: transparent; color: var(--ink-700); font-weight: 600; font-size: 13px;
  border: 1.5px solid var(--ink-300); border-radius: var(--r-sm);
}
.a11y-reset:hover { background: var(--ink-50); border-color: var(--ink-500); }
.a11y-note { font-size: 11px; color: var(--ink-500); margin-top: 12px; text-align: center; }

@media (max-width: 480px) {
  .a11y-panel { width: calc(100vw - 40px); right: 20px; }
}
