/* ==========================================================================
   BASE — reset, elemente native, utilitare, accesibilitate
   ========================================================================== */

/* --- reset ---------------------------------------------------------------- */

*,
*::before,
*::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + var(--sp-md));
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* setat de nav.js cât timp sertarul mobil e deschis */
body.is-locked { overflow: hidden; }

p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; }

/* --- titluri -------------------------------------------------------------- */

h1, h2, h3 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  line-height: var(--lh-head);
  color: var(--bright);
}

h1 { font-size: var(--fs-h1); letter-spacing: var(--ls-display); }
h2 { font-size: var(--fs-h2); letter-spacing: var(--ls-display); }
h3 { font-size: var(--fs-h3); }

/* --- layout utilitar ------------------------------------------------------ */

.wrap {
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: var(--pad);
}

.section { padding-block: var(--sp-3xl); }

@media (max-width: 767px) {
  .section { padding-block: var(--sp-2xl); }
}

.section--alt {
  background: var(--bg-alt);
  border-block: 1px solid var(--line);
}

/* coloană de text limitată la o măsură confortabilă */
.prose { max-width: 62ch; }
.prose h2 + p  { margin-top: var(--sp-md); }
.prose p  + p  { margin-top: var(--sp-sm); }
.prose h3      { margin-top: var(--sp-lg); }
.prose h3 + p  { margin-top: var(--sp-xs); }

.section__title { margin-bottom: var(--sp-lg); }

.section__intro {
  margin-top: var(--sp-xs);
  max-width: 60ch;
}

/* marcaj pentru conținutul care așteaptă date reale */
.todo {
  color: var(--faint);
  font-style: italic;
}

/* --- accesibilitate ------------------------------------------------------- */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

:where(a, button, input, textarea, select):focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 3px;
}

.skip {
  position: absolute;
  left: var(--sp-xs);
  top: -80px;
  z-index: 100;
  padding: 10px 18px;
  background: var(--bright);
  color: var(--bg);
}

.skip:focus { top: 10px; }

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
