/* ============================================================
   Îmbunătățiri: slider hero · animații scroll-reveal · bară accesibilitate
   ============================================================ */

/* --- Slider (crossfade, în hero__media) --- */
.slider{ position:relative; }
.slider__slide{ position:absolute; inset:0; opacity:0; transition:opacity 700ms var(--ease); }
.slider__slide.is-active{ opacity:1; }
.slider__slide img{ width:100%; height:100%; object-fit:cover; }
.slider__btn{ position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:42px; height:42px; border-radius:50%; border:0; background:rgba(8,24,43,.5); color:#fff;
  font-size:1.6rem; line-height:1; cursor:pointer; display:grid; place-items:center; transition:background var(--dur); }
.slider__btn:hover{ background:rgba(8,24,43,.82); color:#fff; }
.slider__btn--prev{ left:10px; } .slider__btn--next{ right:10px; }
.slider__dots{ position:absolute; bottom:12px; left:50%; transform:translateX(-50%); z-index:2;
  display:flex; gap:7px; }
.slider__dot{ width:9px; height:9px; border-radius:50%; border:0; background:rgba(255,255,255,.5);
  cursor:pointer; padding:0; transition:background var(--dur), transform var(--dur); }
.slider__dot.is-active{ background:#fff; transform:scale(1.25); }

/* --- Scroll-reveal (doar când JS e activ; fără JS, nimic ascuns) --- */
html.js-reveal .reveal{ opacity:0; transform:translateY(20px);
  transition:opacity .7s var(--ease), transform .7s var(--ease); }
html.js-reveal .reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  html.js-reveal .reveal{ opacity:1; transform:none; transition:none; }
  .slider__slide{ transition:none; }
}

/* --- Bară accesibilitate (în topbar) --- */
.a11y{ display:inline-flex; gap:4px; align-items:center; }
.a11y__btn{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); color:#e6eef7;
  border-radius:4px; cursor:pointer; font:inherit; font-size:.82rem; line-height:1.5; padding:1px 8px; }
.a11y__btn[data-a11y="dec"]{ font-size:.7rem; }
.a11y__btn[data-a11y="inc"]{ font-size:.95rem; }
.a11y__btn:hover{ background:rgba(255,255,255,.24); color:#fff; }
.a11y__btn[aria-pressed="true"]{ background:#fff; color:var(--color-navy); border-color:#fff; }

/* Accesibilitate ca dropdown (inițial doar „A ▾") */
.a11y-dd{ position:relative; display:inline-flex; }
.a11y-dd__toggle{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); color:#e6eef7;
  border-radius:4px; cursor:pointer; font:inherit; font-weight:var(--fw-semibold); padding:1px 9px; line-height:1.6; }
.a11y-dd__toggle::after{ content:"▾"; margin-left:6px; font-size:.7em; opacity:.85; }
.a11y-dd__toggle:hover{ background:rgba(255,255,255,.24); color:#fff; }
.a11y-dd__menu{ position:absolute; right:0; top:calc(100% + 6px); min-width:190px; z-index:60;
  background:#fff; border:1px solid var(--color-slate-200); border-radius:8px; box-shadow:var(--shadow-md);
  padding:6px; display:grid; gap:2px; }
.a11y-dd__menu[hidden]{ display:none; }
.a11y-dd__menu .a11y__btn{ background:transparent; border:0; color:var(--color-ink); width:100%; text-align:left;
  padding:8px 10px; border-radius:6px; font-size:var(--fs-300); line-height:1.3; display:flex; align-items:center; gap:8px; }
.a11y-dd__menu .a11y__btn .k{ font-weight:var(--fw-bold); color:var(--color-navy); min-width:28px; }
.a11y-dd__menu .a11y__btn:hover{ background:var(--color-slate-100); color:var(--color-ink); }
.a11y-dd__menu .a11y__btn[aria-pressed="true"]{ background:var(--color-navy); color:#fff; }
.a11y-dd__menu .a11y__btn[aria-pressed="true"] .k{ color:#fff; }

/* Topbar: linkuri cu iconiță + comportament mobil */
.topbar__link{ display:inline-flex; align-items:center; gap:6px; }
.topbar__contact{ display:none; }   /* pe desktop Contact e în meniul principal */
@media (max-width:768px){
  .topbar__left{ display:none; }            /* ascundem program + telefon */
  .topbar__portal .topbar__txt{ display:none; }  /* rămâne doar omulețul */
  .topbar__contact{ display:inline-flex; }
}

/* --- Scalare font (rem-based => scalează tot) --- */
html[data-fontscale="sm"]{ font-size:87.5%; }
html[data-fontscale="lg"]{ font-size:112.5%; }
html[data-fontscale="xl"]{ font-size:125%; }

/* Brand-ul = logo: rămâne constant chiar dacă textul paginii e mărit (nu înghesuie header-ul) */
html[data-fontscale="lg"] .brand__line1{ font-size:.9rem; }
html[data-fontscale="lg"] .brand__line2{ font-size:.78rem; }
html[data-fontscale="xl"] .brand__line1{ font-size:.8rem; }
html[data-fontscale="xl"] .brand__line2{ font-size:.7rem; }

/* --- Contrast ridicat --- */
html[data-contrast="high"]{
  --color-ink:#000000; --color-slate-700:#161616; --color-slate-500:#262626;
  --color-bg:#ffffff; --color-surface:#ffffff; --color-slate-100:#eeeeee;
  --color-slate-200:#8a8a8a; --color-slate-300:#5a5a5a;
  --color-navy:#0a2944; --color-navy-700:#06192b; --color-action:#0a4a82; --color-teal-700:#0a5358;
}
html[data-contrast="high"] .card,
html[data-contrast="high"] .quick__card,
html[data-contrast="high"] .news__item,
html[data-contrast="high"] .header{ border-color:#000 !important; }
html[data-contrast="high"] .hero{ background:#fff; }
