/* AccessiBar appearance is maintained in the theme, outside the plugin. */
#accessibar-root {
  font-family: 'Figtree', sans-serif;
  font-size: 1rem;
  --accessibar-color: var(--color-primary);
}
#accessibar-root.accessibar-pos-bottom-right {
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
}
#accessibar-root .accessibar-toggle {
  padding: 0 !important; /* Override AccessiBar's more specific reset. */
  width: var(--accessibar-size);
  gap: 8px;
  border-radius: 14px;
  border: 2px solid #fff;
  box-shadow: 0 4px 18px #11182726;
}
#accessibar-root .accessibar-toggle:hover { transform: none; background: var(--color-primary-hover); }
#accessibar-root .accessibar-toggle__text { display: none; }
#accessibar-root .accessibar-toggle svg { width: 24px; height: 24px; fill: #e3e3e3; }
#accessibar-root .accessibar-panel {
  padding: 16px !important;
  width: min(360px, calc(100vw - 56px));
  max-height: calc(100dvh - 110px);
  overflow-y: auto;
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: 0 12px 48px #11182729;
  color: #111827;
}
#accessibar-root .accessibar-panel__header { padding: 0 0 12px; gap: 8px; }
#accessibar-root .accessibar-panel__title {
  font-family: 'Bricolage Grotesque', sans-serif;
  font-size: 1.25rem;
}
#accessibar-root .accessibar-panel__close {
  width: 44px; height: 44px; flex-shrink: 0;
  border-radius: 10px; color: #111827; background: #f3f4f6;
}
#accessibar-root .accessibar-tool { padding: 14px 0; gap: 12px; flex-wrap: wrap; }
#accessibar-root .accessibar-tool__label { font-size: 1rem; color: #111827; }
#accessibar-root .accessibar-fontsize { gap: 6px; }
#accessibar-root .accessibar-fontsize__btn {
  width: 44px; height: 44px; border-radius: 10px;
  font-size: 0.9375rem; color: #111827; border-color: #9ca3af;
}
#accessibar-root .accessibar-switch { width: 48px; height: 44px; }
#accessibar-root .accessibar-switch__slider { inset: 8px 0; background: #6b7280; }
#accessibar-root .accessibar-switch__slider::before { width: 24px; height: 24px; }
#accessibar-root .accessibar-switch input:checked + .accessibar-switch__slider::before { transform: translateX(20px); }
#accessibar-root .accessibar-reset {
  margin-top: 16px; min-height: 44px; border-radius: 10px;
  font-size: 0.9375rem; color: #4338ca; background: #eef2ff; border-color: #c7d2fe;
}
html.accessibar-links a { outline-color: var(--color-primary) !important; text-underline-offset: 0.2em; }

/* The plugin's default contrast mode only changes body and links.
   Include themed cards, backgrounds, text and form fields as well. */
html.accessibar-contrast body *:not(#accessibar-root):not(#accessibar-root *):not(img):not(video):not(svg):not(svg *) {
  color: #fff !important;
  background-color: #111827 !important;
  background-image: none !important;
  border-color: #cbd5e1 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
html.accessibar-contrast body a:not(#accessibar-root):not(#accessibar-root *),
html.accessibar-contrast body a *:not(#accessibar-root):not(#accessibar-root *) { color: #fef08a !important; }
html.accessibar-contrast :is(.custom-logo, .footer-logo, .sponsor-logo) { background: #fff !important; filter: none !important; border-radius: 4px; }
html.accessibar-contrast body :is(input, textarea)::placeholder { color: #e5e7eb !important; }
html.accessibar-contrast body :is(input, textarea, select) { color-scheme: dark; }
html.accessibar-contrast body :focus-visible { outline-color: #fef08a !important; }
html.accessibar-contrast.accessibar-links a { outline-color: #fef08a !important; }
html.accessibar-no-animations { scroll-behavior: auto !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: 0s !important; transition-duration: 0s !important; }
}
@media (max-width: 480px) {
  #accessibar-root .accessibar-toggle { width: 50px; padding: 0 !important; }
  #accessibar-root .accessibar-toggle__text { display: none; }
}
