/* ArtiGianTs: token di progetto condivisi da sito pubblico, vetrina e portale.
   Unica fonte per colori, scala tipografica, pesi, raggi, ombre e tempi di animazione.
   Le linee guida grafiche (docs/grafica/) descrivono il perché; qui ci sono i valori.
   Caricare prima di site.css, vetrina.css e portal.css: nessuna regola, solo variabili. */
:root {
  /* Palette: blu notte per l'ordine, arancio per l'azione, sabbia per respirare */
  --navy: #10233a;
  --navy-soft: #16304b;
  --navy-line: #2c4866;
  --navy-hover: #1d3a59;
  --orange: #d9701f;
  --orange-hover: #e27f33;
  --orange-dark: #a34e0f;       /* testo e link su fondo chiaro: 5,4:1 su carta */
  --orange-deep: #8a3f0a;
  --orange-light: #f0a161;      /* etichette e parole evidenziate su blu notte */
  --orange-tint: #fbeee3;
  --sand: #e8e5df;
  --sand-light: #f3f0ea;
  --sand-deep: #d9d0c5;
  --tan: #bba795;
  --paper: #faf8f3;
  --card: #fffefa;
  --card-line: #e6e1d8;
  --line-strong: #cbbfb1;
  --text: #10233a;
  --text-soft: #55606c;
  --text-muted: #5a636e;
  --on-dark: #ffffff;
  --on-dark-soft: #c4cfdb;
  --on-dark-muted: #9fb0c2;
  --ok: #2e6650;
  --ok-tint: #eaf1ed;
  --ok-line: #c8dccf;
  --warn: #a1460c;
  --warn-tint: #fbeee3;
  --warn-line: #efc6a4;
  --error: #c2361b;
  --error-tint: #fbece8;
  --error-line: #f0c2b8;
  --off-bg: #e3ddd4;
  --off-text: #4b5560;

  /* Alias storici ancora usati da qualche regola: stessi valori della palette */
  --ink: var(--navy);
  --ink-soft: #3c4d60;
  --accent: var(--orange);
  --accent-dark: var(--orange-dark);
  --accent-text: var(--orange-dark);
  --white: #fff;
  --line: var(--card-line);

  /* Carattere: Inter variabile, servito in locale */
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Scala tipografica: fluida tra telefono e desktop (linee guida, sezione 04) */
  --fs-display: clamp(42px, 5vw, 72px);    /* H1 della home */
  --fs-h1: clamp(36px, 4.4vw, 60px);       /* H1 delle pagine interne */
  --fs-h2: clamp(34px, 3.6vw, 52px);       /* H2 principale */
  --fs-h2-sm: clamp(28px, 2.6vw, 38px);    /* H2 di supporto */
  --fs-h3: 20px;                           /* titoli di scheda */
  --fs-h4: 17px;                           /* titoli di riga: passi, domande */
  --fs-lead: 18px;
  --fs-body: 16px;
  --fs-small: 14px;
  --fs-caption: 13px;
  --fs-label: 12px;
  --fs-price: clamp(44px, 5vw, 64px);

  /* Pesi e interlinee */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 650;
  --fw-bold: 750;
  --fw-heavy: 850;
  --fw-black: 900;
  --lh-tight: 1.06;
  --lh-snug: 1.2;
  --lh-body: 1.65;
  --ls-display: -0.035em;
  --ls-heading: -0.03em;
  --ls-title: -0.02em;
  --ls-label: 0.15em;

  /* Spazi tra le sezioni */
  --section-y: 104px;
  --section-y-sm: 88px;

  /* Raggi: tondi di base, supercerchio dove supportato (vedi site.css) */
  --radius-sm: 8px;
  --radius: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;

  /* Ombre: stratificate e tenui, colore del blu notte */
  --shadow-sm: 0 1px 2px rgba(16, 35, 58, .05), 0 4px 12px rgba(16, 35, 58, .06);
  --shadow: 0 2px 6px rgba(16, 35, 58, .05), 0 14px 36px rgba(16, 35, 58, .09);
  --shadow-lg: 0 8px 20px rgba(16, 35, 58, .08), 0 28px 70px rgba(16, 35, 58, .16);
  --shadow-strong: 0 24px 60px rgba(16, 35, 58, .22);
  --shadow-dark: 0 18px 40px rgba(0, 0, 0, .35);

  /* Movimento: breve e deciso, mai decorativo */
  --dur-fast: .16s;
  --dur: .24s;
  --dur-slow: .5s;
  --ease-out: cubic-bezier(.2, .65, .3, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --ease-spring: cubic-bezier(.34, 1.3, .64, 1);

  /* Trama del blu notte: righe inclinate a 104° e orizzontali, come la carta millimetrata */
  --texture: repeating-linear-gradient(104deg, transparent 0 46px, rgba(255, 255, 255, .035) 46px 47px), repeating-linear-gradient(0deg, transparent 0 37px, rgba(255, 255, 255, .03) 37px 38px);

  --focus-ring: 2px solid var(--navy);
  --focus-ring-light: 2px solid var(--orange-light);
}

@supports (corner-shape: squircle) {
  :root { --radius-sm: 12px; --radius: 15px; --radius-lg: 22px; --radius-xl: 28px; }
}
