/* AccessibilityRO v1.0 - accessibility.css
   Licenta MIT
*/
:root {
  --ac-primary: #005FCC;
  --ac-primary-hover: #0048A0;
  --ac-bg: #FFFFFF;
  --ac-text: #222222;
  --ac-border: #DCDCDC;
  --ac-shadow: 0 10px 30px rgba(0,0,0,.15);
  --ac-radius: 14px;
  --ac-font: Arial, Helvetica, sans-serif;
}

/* Buton flotant */
#ac-btn {
  position: fixed; right: 20px; bottom: 20px;
  width: 60px; height: 60px; border: 0; border-radius: 50%;
  background: var(--ac-primary); color: #fff; font-size: 30px;
  cursor: pointer; box-shadow: var(--ac-shadow); z-index: 999999;
  transition: background-color .25s ease, transform .25s ease;
}
#ac-btn:hover { background: var(--ac-primary-hover); transform: scale(1.08); }

/* Focus vizibil pentru tastatura */
#ac-btn:focus-visible, #ac-close:focus-visible, .ac-item:focus-visible {
  outline: 3px solid #FFBF47; outline-offset: 3px;
}

/* Panou */
#ac-panel {
  position: fixed; right: 20px; bottom: 95px; width: 340px;
  max-width: calc(100vw - 30px); background: var(--ac-bg);
  color: var(--ac-text); border: 1px solid var(--ac-border);
  border-radius: var(--ac-radius); box-shadow: var(--ac-shadow);
  overflow: hidden; display: none; z-index: 999998;
  font-family: var(--ac-font);
}
#ac-panel.ac-open { display: block; }

/* Antet */
#ac-header {
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px; padding: 16px; background: var(--ac-primary); color: #fff;
}
#ac-title { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 700; }
#ac-close {
  border: 0; border-radius: 6px; padding: 4px 8px;
  background: transparent; color: #fff; font-size: 24px;
  line-height: 1; cursor: pointer;
}

/* Continut si optiuni */
#ac-content { padding: 15px; max-height: min(65vh, 520px); overflow-y: auto; }
.ac-item {
  width: 100%; display: flex; align-items: center; gap: 12px;
  min-height: 44px; padding: 12px; margin: 0 0 10px;
  background: #F7F7F7; color: #222; border: 1px solid #E5E5E5;
  border-radius: 10px; cursor: pointer; text-align: left;
  font: inherit; font-size: 15px;
  transition: background-color .2s ease, border-color .2s ease;
}
.ac-item:hover { background: #EEF5FF; border-color: var(--ac-primary); }
.ac-item.active { background: var(--ac-primary); border-color: var(--ac-primary); color: #fff; }
.ac-icon { flex: 0 0 28px; width: 28px; text-align: center; font-size: 18px; }

/* Optiuni de accesibilitate */
html.ac-high-contrast, html.ac-high-contrast body {
  background: #000 !important; color: #fff !important;
}
html.ac-high-contrast body * {
  background-color: #000 !important; color: #fff !important;
  border-color: #fff !important;
}
html.ac-grayscale { filter: grayscale(100%); }
html.ac-highlight-links a {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important; font-weight: 700 !important;
}
html.ac-highlight-headings h1, html.ac-highlight-headings h2,
html.ac-highlight-headings h3, html.ac-highlight-headings h4,
html.ac-highlight-headings h5, html.ac-highlight-headings h6 {
  background: #ff0 !important; color: #000 !important;
  outline: 2px solid #000;
}
html.ac-readable-font body, html.ac-readable-font body * {
  font-family: Arial, Helvetica, sans-serif !important;
}
html.ac-big-cursor, html.ac-big-cursor * { cursor: pointer !important; }
html.ac-stop-animation *, html.ac-stop-animation *::before,
html.ac-stop-animation *::after {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}
html.ac-hide-images img, html.ac-hide-images picture,
html.ac-hide-images video { visibility: hidden !important; }
html.ac-spacing body, html.ac-spacing body * {
  letter-spacing: .08em !important; word-spacing: .12em !important;
  line-height: 1.8 !important;
}

/* Miscare redusa */
@media (prefers-reduced-motion: reduce) {
  #ac-btn, .ac-item { transition: none; }
}

/* Telefoane si ecrane mici */
@media (max-width: 600px) {
  #ac-panel { right: 10px; left: 10px; bottom: 85px; width: auto; max-width: none; }
  #ac-btn { right: 15px; bottom: 15px; }
}
