*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal)}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);color:var(--color-primary)}
p{margin:0}
a{color:var(--color-primary);text-decoration-color:var(--color-accent);text-underline-offset:3px}
a:hover{color:var(--color-accent-hover)}
button,input,select,textarea{font-family:inherit;color:inherit}
img{max-width:100%;display:block}
::selection{background:var(--color-accent);color:var(--color-text-on-accent)}

.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad)}
.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--container-pad)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--space-4);top:-48px;background:var(--forest-900);color:var(--paper-50);padding:10px 18px;border-radius:var(--radius-md);z-index:200;transition:top var(--duration-base) var(--ease-out)}
.skip-link:focus{top:var(--space-4)}

/* ---------- Focus indicator (WCAG 2.4.7) ----------
   Konzisztens, márka-színű fókuszkeret minden billentyűzettel elérhető
   elemhez. :focus-visible csak billentyűzet-navigációnál jelenik meg,
   egérkattintásnál nem — így a vizuális design nem zsúfolódik. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--color-focus-ring);
  outline-offset:2px;
  /* Nincs itt border-radius: a modern böngészők az outline-t
     automatikusan az elem saját border-radiusához igazítják (pl. a
     lekerekített .btn/.filter-pill gomboknál), ha pedig az elemnek
     nincs saját lekerekítése (sima szöveges link), az outline
     szögletes marad — ez a helyes, elvárt alapértelmezett. Egy fix
     érték itt tévesen felülírná az elemek saját alakját fókuszáláskor. */
}
