/* ============================================================
   TCB — BASE
   Ce se aplică documentului, indiferent de ce construiești
   în Elementor. Ține-l scurt: totul de aici e greu de anulat
   dintr-un widget.
   ============================================================ */

body{
  font-family:var(--tcb-sans);
  font-size:var(--tcb-fs-body);
  line-height:var(--tcb-lh-body);
  color:var(--tcb-ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

h1,h2,h3,h4{
  font-family:var(--tcb-sans);
  font-weight:800;
  line-height:var(--tcb-lh-tight);
  letter-spacing:var(--tcb-ls-h2);
}
h1{font-size:var(--tcb-fs-h1);letter-spacing:var(--tcb-ls-tight)}
h2{font-size:var(--tcb-fs-h2)}
h3{font-size:var(--tcb-fs-h3);letter-spacing:var(--tcb-ls-h3);line-height:1.25}

/* Ancorele din meniu ar ajunge sub header-ul sticky fără asta.
   72px ≈ înălțimea header-ului. Dacă schimbi header-ul, schimbă și aici. */
html{scroll-behavior:smooth}
:target{scroll-margin-top:72px}

/* Focus vizibil, obligatoriu.
   Elementor și Hello scot outline-ul default în câteva locuri;
   îl punem înapoi peste tot, o singură dată. */
:focus-visible{
  outline:3px solid var(--tcb-yellow);
  outline-offset:3px;
  border-radius:4px;
}

/* Utilitar: text livrat cititoarelor de ecran, ascuns vizual.
   Folosit de titlul din hero, care are cuvinte animate marcate
   aria-hidden. */
.tcb-sr-only{
  position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* ---- REDUCED MOTION ----------------------------------------
   Nu e opțional și nu e o bifă de audit. Oameni cu tulburări
   vestibulare chiar au setarea pornită.
   Regula stă aici, la final, ca să bată tot ce vine din
   components.css și din Elementor.                             */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
