/* =========================================================
   ChiBri S.r.l.s. — design token (21/10/2026)
   Unica fonte di colori, misure, tipografia e spaziature del sito.
   Gli altri fogli di stile usano solo var(--…): niente valori scritti a mano.
   Va caricato PRIMA di style.css.
   ========================================================= */
:root {
  /* ---- Palette base (valori fissi, non modificare) ---- */
  --ink: #07080B;          /* sfondo principale */
  --ink-2: #0C0E14;        /* sezioni alternate */
  --surface: #12151D;      /* card */
  --surface-2: #171B25;    /* card in hover o annidate */
  --line: #232836;         /* bordi */
  --line-soft: #1B1F2A;    /* separatori */
  --text: #EDEFF5;         /* testo principale */
  --text-2: #A7AFC2;       /* testo secondario */
  --text-3: #8A93A6;       /* testo terziario, note */
  --accent: #4F7CFF;       /* primario */
  --accent-2: #64E0C8;     /* secondario, solo decorativo */
  --accent-dim: rgba(79,124,255,0.14);
  --radius: 14px;
  --radius-lg: 22px;
  --wrap: 1180px;
  --gut: clamp(20px, 5vw, 40px);
  --font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);

  /* ---- Colori derivati ----
     Contrasti misurati (WCAG 2.x) sul fondo indicato. */
  --on-accent: #07080B;        /* testo sui pulsanti blu: 5,40:1 su --accent */
  --accent-hover: #6B90FF;     /* hover del primario: 6,73:1 con --on-accent */
  --accent-text: #8FA9FF;      /* link/etichette blu su fondo scuro: 8,86:1 su --ink */
  --accent-text-2: #C9D6FF;
  --accent-deep: #2D57D6;      /* fondo blu per testo bianco: 6,09:1 (chat) */
  --accent-deep-hover: #3A64E6;
  --accent-2-hover: #8FF0DD;
  --white: #FFFFFF;
  --black: #000000;
  --paper: #F4F2EC;            /* fondo chiaro delle immagini e della prova Cassa */
  --text-soft: #C9CFDC;
  --line-strong: #2E3547;      /* bordi in hover */
  --line-hover: #39415A;
  --line-chat: #2B3142;
  --line-field: #3A4258;
  --bubble: #1B2030;
  --danger: #FF8A8A;           /* errori su fondo scuro: 8,83:1 su --ink */
  --danger-soft: #FFB4B4;
  --danger-text: #FFC2C2;
  --warn: #FFCF6E;
  --warn-text: #FFDF9E;
  --promo-bg: #FFD166;         /* pulsante promo: testo --promo-ink 10,59:1 */
  --promo-ink: #12263F;
  --promo-bg-hover: #FFE08F;
  --promo-sub: #D6E2F0;     /* sottotitolo sul banner: 11,64:1 su --promo-ink */

  /* Trasparenze (stessi colori della palette) */
  --accent-a06: rgba(79,124,255,0.06);
  --accent-a10: rgba(79,124,255,0.10);
  --accent-a13: rgba(79,124,255,0.13);
  --accent-a30: rgba(79,124,255,0.30);
  --accent-a35: rgba(79,124,255,0.35);
  --accent-a45: rgba(79,124,255,0.45);
  --accent-a85: rgba(79,124,255,0.85);
  --accent-2-a10: rgba(100,224,200,0.10);
  --accent-2-a13: rgba(100,224,200,0.13);
  --accent-2-a16: rgba(100,224,200,0.16);
  --accent-2-a26: rgba(100,224,200,0.26);
  --accent-2-a45: rgba(100,224,200,0.45);
  --ink-a00: rgba(7,8,11,0);
  --ink-a30: rgba(7,8,11,0.30);
  --ink-a80: rgba(7,8,11,0.80);
  --ink-a86: rgba(7,8,11,0.86);
  --ink-a94: rgba(7,8,11,0.94);
  --ink-a97: rgba(7,8,11,0.97);
  --ink-2-a94: rgba(12,14,20,0.94);
  --white-a02: rgba(255,255,255,0.022);
  --white-a03: rgba(255,255,255,0.03);
  --white-a06: rgba(255,255,255,0.06);
  --white-a08: rgba(255,255,255,0.08);
  --black-a60: rgba(0,0,0,0.6);
  --black-a80: rgba(0,0,0,0.8);
  --black-a90: rgba(0,0,0,0.9);
  --danger-a07: rgba(255,138,138,0.07);
  --danger-a30: rgba(255,120,120,0.30);
  --danger-a45: rgba(255,138,138,0.45);
  --warn-a07: rgba(255,207,110,0.07);
  --warn-a40: rgba(255,207,110,0.40);

  /* Ombre */
  --shadow-btn: 0 8px 26px -10px var(--accent-a85);
  --shadow-btn-hover: 0 14px 34px -10px var(--accent-a85);
  --shadow-card: 0 30px 60px -40px var(--black-a90);
  --shadow-plan: 0 0 0 1px var(--accent-dim), 0 30px 60px -30px var(--accent-a45);
  --shadow-pop: 0 24px 60px -12px var(--black-a80);

  /* ---- Spaziature: multipli di 8px (con mezzo passo da 4px) ---- */
  --sp-05: 4px;
  --sp-1: 8px;
  --sp-15: 12px;
  --sp-2: 16px;
  --sp-3: 24px;
  --sp-4: 32px;
  --sp-5: 40px;
  --sp-6: 48px;
  --sp-7: 56px;
  --sp-8: 64px;
  --sp-10: 80px;
  --sp-12: 96px;
  --sp-14: 112px;
  --sp-16: 128px;
  --sp-section: clamp(64px, 11vw, 128px);
  --sp-section-sm: clamp(40px, 6vw, 64px);
  --sp-card: clamp(24px, 3vw, 32px);
  --sp-card-lg: clamp(24px, 4vw, 56px);
  --sp-head: clamp(40px, 5vw, 64px);

  /* ---- Tipografia ---- */
  --fs-h1: clamp(2.5rem, 6.2vw, 4.375rem);     /* 40 → 70px */
  --fs-h1-page: clamp(2rem, 5vw, 3.25rem);     /* 32 → 52px, pagine interne */
  --fs-h2: clamp(2rem, 4.2vw, 3rem);           /* 32 → 48px */
  --fs-h2-sm: clamp(1.5rem, 3vw, 2.25rem);     /* 24 → 36px */
  --fs-h2-prose: clamp(1.375rem, 2.6vw, 1.875rem);
  --fs-h3: clamp(1.125rem, 2vw, 1.375rem);     /* 18 → 22px */
  --fs-h4: 1.125rem;     /* 18px */
  --fs-num: clamp(2.5rem, 5vw, 3.5rem);        /* numeri grandi 01–04 */
  --fs-stat: clamp(2rem, 4.5vw, 3rem);
  --fs-lead: clamp(1.0625rem, 1.7vw, 1.25rem); /* 17 → 20px */
  --fs-lg: 1.125rem;     /* 18px */
  --fs-md: 1.0625rem;    /* 17px */
  --fs-base: 1rem;       /* 16px */
  --fs-sm: 0.9375rem;    /* 15px */
  --fs-xs: 0.875rem;     /* 14px */
  --fs-2xs: 0.8125rem;   /* 13px, minimo per il testo */
  --fs-label: 0.75rem;   /* 12px, solo maiuscoletto spaziato */
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --lh-tight: 1.08;
  --lh-snug: 1.35;
  --lh-base: 1.6;
  --lh-loose: 1.7;
  --ls-tight: -0.03em;
  --ls-tighter: -0.04em;
  --ls-label: 0.14em;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;
  --measure: 68ch;
  --measure-wide: 74ch;

  /* ---- Misure ---- */
  --bw: 1px;              /* bordo */
  --bw-2: 2px;
  --bw-3: 3px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-xl: 18px;
  --radius-pill: 999px;
  --tap: 44px;            /* area minima di tocco */
  --icon-xs: 12px;
  --icon-sm: 16px;
  --icon: 24px;
  --icon-box: 48px;
  --icon-box-sm: 40px;
  --dot: 6px;
  --header-h: 72px;
  --banner-h: 44px;
  --focus-w: 2px;
  --focus-offset: 3px;
  --lift: -3px;
  --lift-lg: -6px;
  --reveal-shift: 24px;
  --blur: 16px;
  --z-banner: 110;
  --z-header: 100;
  --z-cookie: 90;
  --z-chat: 96;
  --z-skip: 200;

  /* ---- Larghezze e misure di layout ---- */
  --hero-pt: clamp(120px, 17vh, 168px);
  --hero-pb: clamp(64px, 10vh, 112px);
  --page-hero-pt: clamp(112px, 15vh, 160px);
  --page-hero-pb: clamp(32px, 5vw, 56px);
  --gap-lg: clamp(24px, 4vw, 56px);
  --gap-xl: clamp(32px, 4vw, 56px);
  --w-hero: 880px;
  --w-hero-lead: 58ch;
  --w-head: 720px;
  --w-faq: 820px;
  --w-fact-k: 108px;
  --w-zone: 190px;
  --w-cookie-txt: 380px;
  --w-btn-min: 120px;
  --w-footer-txt: 42ch;
  --h-textarea: 120px;
  --glow-w: 420px;
  --glow-h: 260px;
  --burger-w: 18px;
  --offscreen: -9999px;
  --ls-snug: -0.02em;
  --ls-wide: 0.06em;
  --ls-badge: 0.09em;
  --ls-num: -0.05em;
  --ls-q: -0.015em;
  --dot-offset: 0.62em;   /* allinea il pallino alla prima riga di testo */
  --vh-full: 100dvh;
  --vw-full: 100vw;
  --vh-old: 100vh;        /* ripiego per i browser senza dvh */
  --h-main: 70vh;
  --lh-1em: 1em;
  --lh-line: 1.3em;
  --lh-2righe: 2.6em;
  --check-top: 0.42em;
  --dash-top: 0.75em;
  --fs-code: 0.9em;
  --fs-price: clamp(2rem, 4vw, 2.5rem);
  --fs-kpi: 1.5rem;
  --icon-md: 20px;
  --icon-pill: 18px;
  --sp-section-md: clamp(48px, 7vw, 88px);
  --scroll-off: 88px;
  --w-aula: 980px;
  --w-phone: 232px;
  --w-input: 224px;
  --w-tabella: 560px;
  /* finestra della chat Segrethia */
  --sg-w: 380px;
  --sg-h: 580px;
  --sg-h-mobile: 600px;
  --sg-alza: 72px;
  --sg-margine: 100px;
  --qr: 160px;
  --sg-btn: 56px;
  --h-modale: 92vh;
  --w-logo: 140px;
  --h-prova: 680px;
  --paper-2: #D9D9D4;
  --accent-2-a35: rgba(100,224,200,0.35);
  --accent-2-a08: rgba(100,224,200,0.08);
  --shadow-orbyx: 0 0 0 1px var(--accent-2-a08), 0 30px 80px -40px var(--accent-2-a45);
}
