/* Accessibility widget styles and accessibility mode overrides */
#accessibility-widget { position: fixed; right: 1rem; bottom: 1rem; z-index: 9999; font-family: Arial, sans-serif; }
.accessibility-toggle { background:#566E3D; color:#fff; border:none; padding:0.6rem 0.8rem; border-radius:0.6rem; cursor:pointer; box-shadow:0 2px 6px rgba(0,0,0,0.2); }
.accessibility-toggle:focus { outline:3px solid #ffdb4d; }
.accessibility-panel { margin-top:0.5rem; background: #fff; color:#111; border-radius:0.6rem; box-shadow:0 4px 12px rgba(0,0,0,0.15); padding:0.6rem; width:200px; }
.accessibility-panel button { display:block; width:100%; margin:6px 0; padding:8px; border-radius:4px; border:1px solid #ddd; background:#f7f7f7; cursor:pointer; text-align:left; }
.accessibility-panel button:focus { outline:2px solid #566E3D; }

/* Mode states applied to <body> */
/* Contrast mode uses CSS variables set by JS to pick appropriate text/link colors */
body.accessibility-contrast {
  background: var(--accessibility-bg, #000) !important;
  color: var(--accessibility-text, #fff) !important;
}
body.accessibility-contrast a { color: var(--accessibility-link, #ffd700) !important; }
body.accessibility-contrast .Dashboard { background: rgba(255,255,255,0.06) !important; }

/* Ensure most common elements use the accessibility text color when contrast mode is active */
body.accessibility-contrast h1,
body.accessibility-contrast h2,
body.accessibility-contrast h3,
body.accessibility-contrast h4,
body.accessibility-contrast p,
body.accessibility-contrast span,
body.accessibility-contrast label,
body.accessibility-contrast a,
body.accessibility-contrast td,
body.accessibility-contrast th,
body.accessibility-contrast .Logo,
body.accessibility-contrast .SiteTitle {
  color: var(--accessibility-text, #fff) !important;
}

/* Increase root font-size so rem-based sizing grows uniformly */
html.accessibility-large-text { font-size:115%; }
html.accessibility-large-text h, html.accessibility-large-text h1, html.accessibility-large-text h2, html.accessibility-large-text h3 { font-size:1.2em; }


body.accessibility-spacing { line-height:1.9 !important; letter-spacing:0.02em !important; }

body.accessibility-reduce-motion * { transition:none !important; animation:none !important; }

/* Small responsive adjustments */
@media (max-width:600px) {
  #accessibility-widget { right:0.5rem; bottom:0.5rem; }
  .accessibility-panel { width:170px; }
}
