/* ─────────────────────────────────────────────────────────────
   tokens.css — sistemul de design. Nimic hardcodat in alta parte.
   Directie: board de agentie, editorial tiparit. Hartie calda,
   cerneala aproape neagra, un singur accent (vermillon) folosit
   semantic: stare activa, casting, legaturi.
   ───────────────────────────────────────────────────────────── */

:root {
  /* Suprafete */
  --paper:        oklch(97.2% 0.006 85);
  --paper-sunk:   oklch(94.4% 0.008 85);
  --paper-raised: oklch(99.5% 0.003 85);
  --ink:          oklch(15% 0.008 60);
  --ink-soft:     oklch(38% 0.008 60);
  --ink-faint:    oklch(52% 0.006 60);   /* 4.92:1 pe --paper */
  --rule:         oklch(15% 0.008 60 / 0.14);
  --rule-strong:  oklch(15% 0.008 60 / 0.32);
  --signal:       oklch(52% 0.19 28);
  --signal-ink:   oklch(97% 0.01 28);
  --shade:        oklch(15% 0.008 60 / 0.06);

  /* Tipografie */
  --display: 'Bodoni Moda', 'Didot', 'Times New Roman', serif;
  /* Masthead-ul MODELS de pe coperti — litera coperților tipărite */
  --masthead: 'Playfair Display', 'Bodoni Moda', 'Didot', Georgia, serif;
  --script:   'Allura', 'Snell Roundhand', 'Brush Script MT', cursive;
  --ui:      'Archivo', 'Archivo Fallback', 'Helvetica Neue', Arial, sans-serif;

  --text-micro: 0.6875rem;                              /* etichete de fisa    */
  --text-sm:    0.8125rem;
  --text-base:  clamp(0.9375rem, 0.9rem + 0.18vw, 1.0625rem);
  --text-lead:  clamp(1.125rem, 1rem + 0.6vw, 1.5rem);
  --text-h3:    clamp(1.375rem, 1.1rem + 1.1vw, 2rem);
  --text-h2:    clamp(2rem, 1.3rem + 2.8vw, 4rem);
  --text-h1:    clamp(2.75rem, 1rem + 7vw, 7.5rem);
  --text-mega:  clamp(4rem, 0.5rem + 15vw, 17rem);      /* wordmark din hero   */

  --track-label: 0.16em;                                /* majuscule mici      */
  --track-tight: -0.015em;                              /* titluri Bodoni      */

  /* Ritm — intentionat inegal: sectiunile respira, fisa e stransa */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.875rem;
  --space-4: 1.5rem;
  --space-5: 2.5rem;
  --space-6: 4rem;
  --space-section: clamp(3.5rem, 2rem + 6vw, 9rem);
  --gutter: clamp(1rem, 0.5rem + 2.4vw, 3.5rem);
  --measure: 62ch;

  /* Miscare */
  --dur-fast: 140ms;
  --dur: 320ms;
  --dur-slow: 620ms;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);

  --z-header: 50;
  --z-drawer: 70;
  --z-lightbox: 90;

  color-scheme: light;
}

/* Modul „runway" — inversat, nu doar intunecat: hartia devine sala de
   defilare, fotografiile raman singura sursa de lumina.
   Aceleasi valori se declara de doua ori: o data pentru preferinta de sistem
   (fara alegere explicita) si o data pentru comutatorul manual, ca ambele
   sensuri ale butonului sa castige. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper:        oklch(14.5% 0.006 60);
    --paper-sunk:   oklch(11% 0.006 60);
    --paper-raised: oklch(19% 0.007 60);
    --ink:          oklch(95% 0.004 85);
    --ink-soft:     oklch(72% 0.006 85);
    --ink-faint:    oklch(58.5% 0.006 85);  /* 4.7:1 pe --paper */
    --rule:         oklch(95% 0.004 85 / 0.16);
    --rule-strong:  oklch(95% 0.004 85 / 0.34);
    --signal:       oklch(66% 0.17 30);
    --signal-ink:   oklch(13% 0.01 30);
    --shade:        oklch(0% 0 0 / 0.34);
    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --paper:        oklch(14.5% 0.006 60);
  --paper-sunk:   oklch(11% 0.006 60);
  --paper-raised: oklch(19% 0.007 60);
  --ink:          oklch(95% 0.004 85);
  --ink-soft:     oklch(72% 0.006 85);
  --ink-faint:    oklch(58.5% 0.006 85);  /* 4.7:1 pe --paper */
  --rule:         oklch(95% 0.004 85 / 0.16);
  --rule-strong:  oklch(95% 0.004 85 / 0.34);
  --signal:       oklch(66% 0.17 30);
  --signal-ink:   oklch(13% 0.01 30);
  --shade:        oklch(0% 0 0 / 0.34);
  color-scheme: dark;
}
