/* ============================================================
   MonteSoprano — Design System "Allevatori Editoriale"
   ms-tokens.css · Il cuore: token canonici + font + reset base
   Child theme di Hello Elementor · text-domain "ms"
   NIENTE @import · font self-hosted woff2 · font-display:swap
   ============================================================ */

/* ------------------------------------------------------------
   FONT — dichiarati UNA SOLA VOLTA in assets/css/fonts.css
   ------------------------------------------------------------
   Qui c'erano 3 @font-face duplicati (fraunces-600, inter-400, inter-600) che
   convivevano con quelli di fonts.css puntando a FILE DIVERSI della stessa
   famiglia. Poiché i font sono variabili e quei file sono byte-identici, il
   browser scaricava lo stesso font più volte: su /shop 5 richieste per 312.640 B
   invece di 3 per 197.080 B. Un solo posto dove dichiararli, e quel posto è
   fonts.css.
   ------------------------------------------------------------ */

/* ------------------------------------------------------------
   :ROOT — TOKEN CANONICI
   ------------------------------------------------------------ */
:root{
  /* --- Colore: brand rosso (SOLO CTA e prezzi) --- */
  --ms-red:#D41119;         /* accento unico: CTA, prezzo-azione */
  --ms-red-ink:#9A0B10;     /* rosso testo/link su chiaro */
  --ms-red-hover:#B00E15;   /* hover/pressed CTA */
  --ms-red-onDark:#EF5A4C;  /* rosso su fondi carbone */

  /* --- Colore: neutri caldi --- */
  --ms-ink:#23211D;         /* testo primario (nero caldo) */
  --ms-cream:#F5F0E8;       /* fondo pagina */
  --ms-cream-card:#FBF8F2;  /* superficie card/blocco */
  --ms-paper:#FFFFFF;       /* fondo foto-prodotto */
  --ms-border:#E5DFD4;      /* bordi 1px, divisori */
  --ms-muted:#6B6459;       /* testo secondario (AA su crema) */
  --ms-charcoal:#1A1917;    /* sezioni scure, footer, hero */
  --ms-charcoal-2:#12100E;  /* sezione più profonda */

  /* --- Colore: accenti secondari + semantici --- */
  --ms-ochre:#C8873A;       /* badge secco/Bottega, accento agriturismo */
  --ms-olive:#6E7250;       /* heritage/natura agriturismo */
  --ms-green:#2E7D32;       /* disponibile / peso garantito */
  --ms-amber:#B8860B;       /* warning (saldo all'arrivo) */
  --ms-error:#8E1F1F;       /* errore form (≠ brand red) */

  /* --- Famiglie tipografiche --- */
  --ms-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --ms-sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* --- Scala tipografica (clamp, base 16px) --- */
  --fs-display:clamp(2.5rem,6vw,4.5rem);   /* Display XL hero */
  --fs-h1:clamp(2rem,4vw,3rem);            /* H1 */
  --fs-h2:clamp(1.6rem,3vw,2.25rem);       /* H2 */
  --fs-h3:1.5rem;                          /* H3 */
  --fs-h4:1.125rem;                        /* H4 / titolo card */
  --fs-lead:1.125rem;                      /* Body L */
  --fs-body:1rem;                          /* Body */
  --fs-small:0.875rem;                     /* small/meta */
  --fs-eyebrow:0.75rem;                    /* eyebrow/label */
  --fs-price:1.75rem;                      /* prezzo PDP/camera */

  /* --- Scala spazi (4/8) --- */
  --sp-1:4px;
  --sp-2:8px;
  --sp-3:12px;
  --sp-4:16px;
  --sp-5:24px;
  --sp-6:32px;
  --sp-7:48px;
  --sp-8:64px;
  --sp-9:96px;
  --sp-10:128px;

  /* --- Radius --- */
  --r-0:0;          /* default squadrato */
  --r-sm:2px;       /* bottoni, badge */
  --r-pill:999px;   /* solo chip stato/progress */

  /* --- Ombre (UNA sola + header) --- */
  --shadow:0 8px 26px rgba(35,33,29,.10);
  --shadow-sticky:0 2px 12px rgba(35,33,29,.08);

  /* --- Layout --- */
  --container:1280px;
  --gutter:24px;

  /* --- Motion --- */
  --dur:150ms;
  --ease:cubic-bezier(.22,1,.36,1);

  /* --- Alias di compatibilità ---
     ms-components.css usa una convenzione di naming diversa. Definiti qui
     (dipendenza caricata prima di components) per garantire la cascata e
     non dover riscrivere le decine di riferimenti. Fonte canonica invariata. */
  --ms-font-serif:var(--ms-serif);
  --ms-font-sans:var(--ms-sans);
  --ms-shadow:var(--shadow);
  --ms-shadow-sticky:var(--shadow-sticky);
  --ms-dur:var(--dur);
  --ms-ease:var(--ease);
}

/* ------------------------------------------------------------
   RESET TIPOGRAFICO BASE
   ------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--ms-cream);
  color:var(--ms-ink);
  font-family:var(--ms-sans);
  font-size:var(--fs-body);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;color:inherit;cursor:pointer}

/* --- Titoli: Fraunces 600 --- */
h1,h2,h3,h4{
  font-family:var(--ms-serif);
  font-weight:600;
  color:var(--ms-ink);
  margin:0 0 .4em;
  text-wrap:balance;
}
h1{font-size:var(--fs-h1);line-height:1.08;letter-spacing:-.01em}
h2{font-size:var(--fs-h2);line-height:1.12}
h3{font-size:var(--fs-h3);line-height:1.2}
h4{font-size:var(--fs-h4);line-height:1.25}

p{margin:0 0 1rem;text-wrap:pretty}

/* --- Display XL (hero) --- */
.display{
  font-family:var(--ms-serif);
  font-weight:600;
  font-size:var(--fs-display);
  line-height:1.02;
  letter-spacing:-.01em;
  text-wrap:balance;
  margin:0;
}

/* --- Eyebrow: Inter 600 UPPER +.10em --- */
.eyebrow{
  font-family:var(--ms-sans);
  font-weight:600;
  font-size:var(--fs-eyebrow);
  line-height:1.4;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--ms-red-ink);
}
.eyebrow--onDark{color:var(--ms-red-onDark)}
.eyebrow--muted{color:var(--ms-muted)}

/* --- Utility testo --- */
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--ms-muted);text-wrap:pretty}
.muted{color:var(--ms-muted)}
.small{font-size:var(--fs-small);line-height:1.5}
