/* ============================================================
   TOKEN DEL CLIENTE — Bobolino Floral Design.
   Ogni valore va cambiato in DUE posti: qui (CSS, frontend) e nel theme.json del child (editor), con lo STESSO slug.
   `bash scripts/verifica-tema.sh` segnala se i due non coincidono.

   Sito SCURO: il parent nasce chiaro, quindi bg/ink sono invertiti rispetto al base.
   Palette del cliente: nero #100D08 · salvia #8EB0A1 · chiaro #F2F2F2 · bianco · azzurro #CFDCED (in palette, non usato).
   Il blu #57799B NON si usa.

   Regola hover (decisione del cliente):
   - su sfondo colorato (salvia)  → sfondo bianco, testo nero   (--color-accent-dark = bianco, --color-on-accent = nero)
   - su sfondo bianco/chiaro      → sfondo nero, testo bianco   (--color-hover-dark / --color-on-hover-dark)

   Contrasti calcolati: chiaro/nero 17,3 · salvia/nero 8,2 · nero/salvia 8,2 · nero/chiaro 17,3.
   DEROGHE accettate dal cliente (fascia 2): bianco su salvia 2,4 (menu e titolo "Contattaci!") · salvia su chiaro 2,1 (titolo della card carta).
   ============================================================ */

/* Font self-hosted (TTF: scelta del cliente). Variabili = un file per tutti i pesi.
   LICENZA: Brittany Signature è "solo uso personale" nel suo Readme → serve la licenza commerciale/web prima del go-live. */
@font-face {
	font-family: 'Ysabeau';
	src: url('../fonts/Ysabeau/Ysabeau-VariableFont_wght.ttf') format('truetype');
	font-weight: 1 1000;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Ysabeau';
	src: url('../fonts/Ysabeau/Ysabeau-Italic-VariableFont_wght.ttf') format('truetype');
	font-weight: 1 1000;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: 'Brittany Signature';
	src: url('../fonts/brittany_signature/BrittanySignature.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* Le Grand Bold: solo per il titolo della hero (è un file woff, un solo peso: il grassetto è già nel disegno delle lettere).
   LICENZA: nella cartella non c'è il file di licenza → controllare che la licenza includa l'uso web (@font-face) prima del go-live. */
@font-face {
	font-family: 'Le Grand';
	src: url('../fonts/le-grand-bold/le-grand-bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

:root {

	/* ── Colori (slug = palette del theme.json) ── */
	--color-bg:           #100d08;  /* sfondo del sito */
	--color-surface:      #f2f2f2;  /* card "carta" */
	--color-ink:          #f2f2f2;  /* testo sullo sfondo scuro */
	--color-ink-muted:    #8eb0a1;  /* testo secondario, etichette */
	--color-accent:       #8eb0a1;  /* salvia: sfondi colorati, bordi, link */
	--color-accent-dark:  #ffffff;  /* ruolo "hover su colorato": bianco */
	--color-accent-light: #cfdced;  /* azzurro: in palette, non usato */
	--color-line:         #8eb0a1;
	--color-dark:         #100d08;

	/* ── Colori di servizio ── */
	--color-on-accent:     #100d08;  /* testo su salvia e su hover bianco */
	--color-on-dark:       #f2f2f2;  /* testo su nero */
	--color-on-surface:    #100d08;  /* testo sulla card carta e su fondi chiari */
	--color-hover-dark:    #100d08;  /* hover su sfondo bianco/chiaro: sfondo nero... */
	--color-on-hover-dark: #ffffff;  /* ...con testo bianco */
	--color-border-strong: #8eb0a1;  /* bordi dei campi: 8,2:1 su nero */
	--color-focus:         #8eb0a1;  /* anello di focus sul nero; sui fondi chiari usare --color-on-surface */

	/* ── Tipografia ── */
	--font-body:    'Ysabeau', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--font-heading: var(--font-body);
	--font-script:  'Brittany Signature', 'Ysabeau', cursive;  /* solo firme e frasi d'effetto */
	--font-display: 'Le Grand', 'Ysabeau', Georgia, serif;   /* solo il titolo della hero */
	--weight-body:  300;

	--text-sm:      0.875rem;
	--text-base:    1.0625rem;
	--text-span:    1.25rem;
	--text-h4:      1.25rem;
	--text-h3:      1.5rem;
	--text-h2:      clamp(2rem, 4vw, 3rem);
	--text-h1:      clamp(2.75rem, 7vw, 5.5rem);
	--text-display: clamp(3.5rem, 9vw, 7rem);

	/* ── Layout ── */
	--container-sm: 760px;   /* testi */
	--container-lg: 1440px;  /* griglie e immagini */

	/* ── Forme: tutto squadrato nel wireframe, niente ombre ── */
	--radius-sm: 0;
	--radius-md: 0;
	--shadow-sm: none;
}

/* Il peso leggero del wireframe vale per tutto il testo; i titoli lo ereditano. */
body { font-weight: var(--weight-body); }
