/* ══════════════════════════════════════════════════════════════════════
   I.P. DON BOSCO — tokens.core.css
   Trunk PALETTE-AGNOSTICO. φ-scale, Fibonacci spacing, type, line-height,
   tracking, measure, grid, radius, shadow base, transition, z-index.
   Importato da TUTTO (site/, design-system/, deliverables/, print/).
   Le palette (colori) e i font (selfhost vs cdn) sono in file separati.
   ══════════════════════════════════════════════════════════════════════ */

:root {
  /* ─── MATH ─────────────────────────────────────────────────────────── */
  --phi:      1.618;
  --phi-inv:  0.618;

  /* ─── TYPE SCALE — φ-based, 6 step fluidi (clamp 360→1440) ───────────
     Bump 2026-05-02: t-xs/sm/body al rialzo per leggibilità (era 10-12,
     12.6→14.4 ora). WCAG raccomanda min 12px body, 14px ottimale
     desktop. Cinzel/EB Garamond hanno x-height bassa → +1-2px aiutano. */
  --t-xs:   clamp(0.75rem,   0.7rem + 0.25vw, 0.875rem);   /* 12 → 14 — label, eyebrow */
  --t-sm:   clamp(0.875rem,  0.83rem + 0.22vw, 1rem);      /* 14 → 16 — caption, nav */
  --t-body: clamp(1.0625rem, 0.96rem + 0.5vw, 1.3125rem);  /* 17 → 21 — paragrafo */
  --t-lg:   clamp(1.4375rem, 1.21rem + 1.13vw, 2.0625rem); /* 23 → 33 — sub-head */
  --t-xl:   clamp(2.0625rem, 1.5rem + 2.81vw, 3.625rem);   /* 33 → 58 — h2 */
  --t-2xl:  clamp(2.875rem,  1.93rem + 4.71vw, 5.5rem);    /* 46 → 88 — h1 display */

  /* ─── LINE HEIGHT — φ-derived ───────────────────────────────────────── */
  --lh-tight: 1.1;
  --lh-snug:  1.309;
  --lh-body:  1.618;
  --lh-loose: 1.854;

  /* ─── TRACKING ──────────────────────────────────────────────────────── */
  --track-tight: -0.02em;
  --track-body:  0;
  --track-label: 0.25em;
  --track-mark:  0.4em;

  /* ─── SPACING — Fibonacci (4 8 13 21 34 55 89 144 px) ───────────────── */
  --s-0: 0.25rem;
  --s-1: 0.5rem;
  --s-2: 0.8125rem;
  --s-3: 1.3125rem;
  --s-4: 2.125rem;
  --s-5: 3.4375rem;
  --s-6: 5.5625rem;
  --s-7: 9rem;

  /* ─── MEASURE ───────────────────────────────────────────────────────── */
  --measure-narrow: 42ch;
  --measure-body:   62ch;
  --measure-wide:   72ch;
  --max-container:  72rem;
  --gutter:         var(--s-4);

  /* ─── GRID-φ (declarazione site-historic; equivalente DS è inverso) ─── */
  --grid-phi-cols:     minmax(0, 1.618fr) minmax(0, 1fr);
  --grid-phi-cols-inv: minmax(0, 1fr) minmax(0, 1.618fr);

  /* ─── RADIUS — editorial, niente bubbly ─────────────────────────────── */
  --r-0: 0;
  --r-1: 2px;
  --r-2: 4px;
  --r-full: 999px;

  /* ─── TRANSITION ────────────────────────────────────────────────────────
     Material 3 motion spec: hover/focus 100-300ms, entrance 300-500ms ceiling.
     Era dur-2 .6s, dur-3 .8s — sopra la 500ms threshold "click registered?"
     antipattern. Bumpati al ribasso. Reveal animation usa ancora .8s ma
     è una entrance animation (mount), non feedback hover. */
  --ease-out: cubic-bezier(0.22, 0.61, 0.36, 1);
  --dur-1:    0.25s;  /* hover/focus standard */
  --dur-2:    0.4s;   /* card hover transitions */
  --dur-3:    0.5s;   /* entrance ceiling */
  --dur-reveal: 0.8s; /* scroll-reveal mount only — NON usare per hover */

  /* ─── Z-INDEX ───────────────────────────────────────────────────────── */
  --z-nav:     100;
  --z-overlay: 200;
  --z-modal:   300;

  /* ─── SHADOW base (rgba neutro). Il tinting palette-specific va nelle  */
  /*    palette files come override:  --sh-1: 0 1px 2px rgba(R,G,B,a)    */
  --sh-print: 0 8px 60px rgba(0, 0, 0, 0.25);
}
