/* Lunatika Factory — core.css (Fase 2B)
   Design tokens + base notturna. Tipografia Cormorant (display) / Outfit (body).
   Tutti i font SELF-HOSTED (GDPR: zero Google Fonts): Gallos Uncial (brand),
   Cormorant + Outfit (subset latin, stesse faces del vecchio enqueue Google). */

@font-face {
	font-family: "Gallos Uncial";
	src: url("../fonts/gallos-uncial-bold/GallosUncialBold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* Cormorant Garamond — display (titoli + em corsivo). 4 faces self-hosted
   (subset latin), identiche al vecchio enqueue Google. */
@font-face {
	font-family: "Cormorant Garamond";
	src: url("../fonts/cormorant-400.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Cormorant Garamond";
	src: url("../fonts/cormorant-600.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Cormorant Garamond";
	src: url("../fonts/cormorant-400-italic.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Cormorant Garamond";
	src: url("../fonts/cormorant-600-italic.woff2") format("woff2");
	font-weight: 600;
	font-style: italic;
	font-display: swap;
}

/* Outfit — body/UI. 3 faces self-hosted (subset latin), identiche al vecchio
   enqueue Google. */
@font-face {
	font-family: "Outfit";
	src: url("../fonts/outfit-300.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Outfit";
	src: url("../fonts/outfit-400.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Outfit";
	src: url("../fonts/outfit-600.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

/* Syne ExtraBold — font d'ACCENTO self-hosted (GDPR: zero Google Fonts). Una
   sola face (800), usata per i numeri/etichette tecniche dove il demo cablava
   un mono importato (bandito). Stessa face già usata dalle card di voto GPP. */
@font-face {
	font-family: "Syne";
	src: url("../fonts/syne-800.woff2") format("woff2");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

:root {
	--lf-borgogna: #8b2252;
	--lf-borgogna-light: #a9385e;
	--lf-rame: #c4956a;
	--lf-rame-light: #d4aa80;
	--lf-avorio: #f5efe6;
	--lf-nero: #0c0b0e;
	--lf-notte: #1b1520;
	--lf-card: #241e2c;
	--lf-muted: #8f8895; /* a11y: muted ≥4.5 AA anche sul fondo CARD #241e2c (4.72); pagina 5.72; resta tenue vs avorio primario (14:1 su card) */
	/* REGOLA DESIGN-SYSTEM (Gate 0 --fg-muted, 16/07): il testo muted
	   (--fg-muted/--lf-muted) è già calibrato ad AA. NON applicare opacity,
	   filter o blend che ne abbassino il contrasto (come il vecchio numerino HoF
	   a opacity 0.65 → 3.03:1). Se serve un muted più tenue, usare un token
	   dedicato VERIFICATO, non un'opacità sopra il muted. Occhielli su fondo
	   chiaro: NON il rame (sotto AA) ma --lf-borgogna-soft. */
	/* Testo su superfici accent (borgogna): resta CHIARO in entrambi i temi —
	   mai var(--lf-avorio) sui fondi colorati (in light diventa scuro). */
	--lf-on-accent: #f5efe6;
	/* Hairline e bordi card dal design system (divider/card-border) */
	--lf-divider: rgba(196, 149, 106, .06);
	--lf-card-border: rgba(196, 149, 106, .12);
	--lf-card-border-strong: rgba(196, 149, 106, .22);
	/* Accenti profondi/attenuati (colors_and_type.css export 12/06) */
	--lf-borgogna-deep: #5a1636;
	--lf-rame-dim: #96733e;
	/* Metalli HoF (tier popup): gradienti per spina/testo metallico + inchiostri eyebrow.
	   Theme-agnostic: il metallo resta metallo in dark e light (nessun override sotto). */
	--lf-oro-line: linear-gradient(180deg, #f6e2ad, #d6a96f 35%, #8a5a2e 60%, #d6a96f 80%, #f0d49a);
	--lf-arg-line: linear-gradient(180deg, #f7f9fd, #cfd5e0 35%, #7c8290 60%, #cfd5e0 80%, #eef1f6);
	--lf-oro-ink: #e8c490;
	--lf-arg-ink: #d3dae6;
	/* Canali RGB theme-aware per le rgba() (spec colors_and_type.css) */
	--lf-fg-rgb: 245, 239, 230;
	--lf-bg-rgb: 12, 11, 14;
	--lf-rame-rgb: 196, 149, 106;
	--lf-borgogna-rgb: 139, 34, 82;
	/* Badge posti (GPFB-3-quater) — 3 stati semantici: salvia poco satura /
	   arancio caldo (vicino al rame ma distinguibile) / rosso sobrio (distinto
	   dal borgogna). AA ≥4.5 del testo sul fondo pill (token 13% su card):
	   ok 6.68 · warn 5.85 · crit 4.55 (dark). */
	--lf-seats-ok: #9fc9a6;
	--lf-seats-ok-rgb: 159, 201, 166;
	--lf-seats-warn: #e0a458;
	--lf-seats-warn-rgb: 224, 164, 88;
	--lf-seats-crit: #e07a6a;
	--lf-seats-crit-rgb: 224, 122, 106;
}

/* LIGHT — "carta nobile" (token reali da colors_and_type.css del design system) */
[data-theme="light"] {
	--lf-borgogna: #6e1c41;
	--lf-borgogna-light: #8a2654;
	--lf-rame: #8f6240;
	--lf-rame-light: #a87a4f;
	--lf-avorio: #1a1418;
	--lf-nero: #f0e9d8;
	--lf-notte: #e6dcc7;
	--lf-card: #faf5e9;
	--lf-muted: #5a4e4a;
	--lf-on-accent: #faf5e9;
	--lf-divider: rgba(143, 98, 64, .14);
	--lf-card-border: rgba(143, 98, 64, .16);
	--lf-card-border-strong: rgba(143, 98, 64, .30);
	--lf-borgogna-deep: #4a1230;
	--lf-rame-dim: #6b4a30;
	--lf-fg-rgb: 26, 20, 24;
	--lf-bg-rgb: 240, 233, 216;
	--lf-rame-rgb: 143, 98, 64;
	--lf-borgogna-rgb: 110, 28, 65;
	/* Badge posti — controparti light (AA testo/pill: ok 4.74 · warn 4.55 · crit 4.88) */
	--lf-seats-ok: #3e6b4b;
	--lf-seats-ok-rgb: 62, 107, 75;
	--lf-seats-warn: #8a5a1f;
	--lf-seats-warn-rgb: 138, 90, 31;
	--lf-seats-crit: #a63a2a;
	--lf-seats-crit-rgb: 166, 58, 42;
}

/* Tipografia e layout: theme-agnostic */
:root {
	--lf-font-display: "Cormorant Garamond", Georgia, serif;
	--lf-font-body: "Outfit", system-ui, sans-serif;
	--lf-font-brand: "Gallos Uncial", var(--lf-font-display);
	--lf-font-accent: "Syne", var(--lf-font-body);
	--lf-maxw: 1100px;
	/* Motion e ombre dal design system (colors_and_type.css: --t-base/--ease/--sh-2) */
	--lf-t-base: .35s;
	--lf-ease: cubic-bezier(.22, .61, .36, 1);
	--lf-shadow-2: 0 8px 32px rgba(0, 0, 0, .32);
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--lf-nero);
	color: var(--lf-avorio);
	font-family: var(--lf-font-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
	font-family: var(--lf-font-display);
	font-weight: 600;
	line-height: 1.15;
	margin: 0 0 .4em;
}

a { color: var(--lf-rame); text-decoration: none; }
a:hover { color: var(--lf-borgogna-light); }

img { max-width: 100%; height: auto; display: block; }

.lf-container { max-width: var(--lf-maxw); margin: 0 auto; padding: 0 1.5rem; }

/* Chrome (header/nav/footer/search) -> assets/css/components.css */
