/* ==========================================================================
   Modul accesibilitate CTE (EN 301 549 / WCAG 2.1) — widget + preferințe utilizator
   ========================================================================== */

/* skip-link (sari la conținut) — vizibil doar la focus de tastatură */
.cte-skip{position:fixed;top:-60px;left:12px;z-index:2000;background:var(--navy,#0b1f38);color:#fff;
  padding:10px 18px;border-radius:0 0 6px 6px;font-weight:700;transition:top .18s ease}
.cte-skip:focus{top:0;color:#fff;outline:3px solid #12b0b6;outline-offset:2px}

/* focus vizibil global (quality floor WCAG 2.4.7) */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,
[tabindex]:focus-visible{outline:3px solid #12b0b6;outline-offset:2px}

/* ---- buton flotant widget ---- */
.cte-a11y{position:fixed;left:18px;bottom:18px;z-index:1600}
.cte-a11y-toggle{width:52px;height:52px;border-radius:50%;background:var(--navy,#0b1f38);color:#fff;border:2px solid #fff;
  box-shadow:0 6px 20px rgba(0,0,0,.28);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.cte-a11y-toggle:hover{background:#12b0b6}
.cte-a11y-toggle svg{width:26px;height:26px;fill:currentColor}

/* ---- panou ---- */
.cte-a11y-panel{position:absolute;left:0;bottom:64px;width:288px;background:#fff;color:#1c2430;
  border:1px solid #e2e8ec;border-radius:12px;box-shadow:0 18px 46px rgba(11,31,56,.24);padding:16px;
  font-family:'Open Sans',Arial,sans-serif}
.cte-a11y-panel h2{font-size:15px;font-weight:800;margin:0 0 12px;color:var(--navy,#0b1f38)}
.cte-a11y-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.cte-a11y-font{display:flex;align-items:center;gap:8px}
.cte-a11y-font button{width:34px;height:34px;border:1px solid #d5dde3;background:#f4f7f8;border-radius:7px;
  font-weight:800;font-size:16px;cursor:pointer;color:var(--navy,#0b1f38)}
.cte-a11y-fontval{font-weight:700;font-size:13px;min-width:52px;text-align:center}
.cte-a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.cte-a11y-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;
  border:1px solid #d5dde3;background:#fff;border-radius:9px;cursor:pointer;font-size:12px;font-weight:600;
  color:#33404d;text-align:center;line-height:1.2}
.cte-a11y-grid button svg{width:22px;height:22px;fill:var(--navy,#0b1f38)}
.cte-a11y-grid button[aria-pressed="true"]{background:var(--navy,#0b1f38);color:#fff;border-color:var(--navy,#0b1f38)}
.cte-a11y-grid button[aria-pressed="true"] svg{fill:#fff}
.cte-a11y-reset{width:100%;margin-top:10px;padding:10px;border:0;border-radius:8px;background:#12b0b6;color:#fff;
  font-weight:700;cursor:pointer}
.cte-a11y-reset:hover{background:#0a7d84}
.cte-a11y-foot{margin-top:10px;font-size:11.5px;text-align:center}
.cte-a11y-foot a{color:#0a7d84;font-weight:600}

/* ==========================================================================
   PREFERINȚE APLICATE PE <html> (data-atribute)
   ========================================================================== */
/* mărire text progresivă (folosește rem: root font-size) */
html[data-a11y-font="1"]{font-size:110%}
html[data-a11y-font="2"]{font-size:120%}
html[data-a11y-font="3"]{font-size:135%}
html[data-a11y-font="4"]{font-size:150%}

/* contrast ridicat */
html[data-a11y-contrast]{filter:contrast(1.32) saturate(1.15)}
html[data-a11y-contrast] .cte-a11y{filter:contrast(.76)}

/* evidențiere linkuri */
html[data-a11y-links] a:not(.cte-btn):not(.sv-cta):not(.nav-mcall):not(.cte-a11y-toggle){
  text-decoration:underline !important;text-underline-offset:2px;outline:1px dashed currentColor;outline-offset:2px}

/* font lizibil (dislexie-friendly) */
html[data-a11y-readable],
html[data-a11y-readable] body,
html[data-a11y-readable] h1,html[data-a11y-readable] h2,html[data-a11y-readable] h3,
html[data-a11y-readable] p,html[data-a11y-readable] a,html[data-a11y-readable] li,
html[data-a11y-readable] span,html[data-a11y-readable] button,html[data-a11y-readable] input{
  font-family:Verdana,'Segoe UI',Tahoma,sans-serif !important;letter-spacing:.02em}

/* spațiere text sporită (WCAG 1.4.12) */
html[data-a11y-spacing] p,html[data-a11y-spacing] li{line-height:2 !important;letter-spacing:.06em;word-spacing:.14em}

/* oprire animații */
html[data-a11y-noanim] *,html[data-a11y-noanim] *::before,html[data-a11y-noanim] *::after{
  animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;
  scroll-behavior:auto !important}

@media(max-width:600px){.cte-a11y-panel{width:min(288px,calc(100vw - 36px))}}
@media(prefers-reduced-motion:reduce){.cte-skip{transition:none}}
