/* =========================================================================
 * Montuori Academy — Legal (Privacy / Cookie / Termini) — frontend
 * Scoped sotto .mal. Layout sobrio ed editoriale, pensato per la lettura,
 * coerente nei toni con montuori-academy-home/contatti/chi-siamo.
 * ====================================================================== */

.mal {
	--mal-primary: #3B78BD;
	--mal-secondary: #66B9E8;
	--mal-accent: #D99A2B;
	--mal-dark: #0E1F33;
	--mal-ink: #1B2733;
	--mal-muted: #5C6B7A;
	--mal-light: #F6F8FB;
	--mal-line: #E5EAF0;
	--mal-font-heading: 'Sora', 'Segoe UI', sans-serif;
	--mal-font-body: 'Inter', 'Segoe UI', sans-serif;

	font-family: var(--mal-font-body);
	color: var(--mal-ink);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	background: #fff;
	overflow-x: clip;
}
.mal { margin: 0; }
.mal *, .mal *::before, .mal *::after { box-sizing: border-box; }
.mal h1, .mal h2, .mal h3 { font-family: var(--mal-font-heading); line-height: 1.2; letter-spacing: -.01em; }
.mal a { color: var(--mal-primary); text-decoration: underline; text-underline-offset: 2px; }
.mal a:hover { color: var(--mal-dark); }

.mal-container {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 clamp(1.1rem, 4vw, 2.2rem);
}
.mal-container-narrow { max-width: 760px; }

.mal-eyebrow {
	display: inline-flex; align-items: center; gap: .55rem;
	font-size: .76rem; font-weight: 700; letter-spacing: .14em;
	text-transform: uppercase; color: var(--mal-accent);
	margin-bottom: .9rem;
}
.mal-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--mal-accent); }

/* ===== HEADER ===== */
.mal-head {
	background: var(--mal-light);
	border-bottom: 1px solid var(--mal-line);
	padding: clamp(2.6rem, 6vw, 4rem) 0 clamp(1.8rem, 4vw, 2.6rem);
	text-align: center;
}
.mal-title {
	font-size: clamp(1.7rem, 4vw, 2.5rem);
	font-weight: 800;
	color: var(--mal-dark);
	max-width: 26ch;
	margin: 0 auto;
}
.mal-updated {
	margin: .9rem 0 0;
	font-size: .88rem;
	color: var(--mal-muted);
}

/* ===== ARTICLE / PROSE ===== */
.mal-article { padding: clamp(2.4rem, 5vw, 3.6rem) 0 clamp(3.2rem, 6vw, 4.8rem); }

.mal-prose { font-size: 1rem; }
.mal-prose h2 {
	font-size: clamp(1.15rem, 2.4vw, 1.4rem);
	font-weight: 800;
	color: var(--mal-dark);
	margin: 2.4rem 0 .9rem;
	padding-top: 1.6rem;
	border-top: 1px solid var(--mal-line);
}
.mal-prose h2:first-child { margin-top: 0; padding-top: 0; border-top: none; }
.mal-prose h3 {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--mal-dark);
	margin: 1.6rem 0 .6rem;
}
.mal-prose p { margin: 0 0 1rem; color: var(--mal-ink); }
.mal-prose ul, .mal-prose ol { margin: 0 0 1.1rem; padding-left: 1.3rem; }
.mal-prose li { margin: 0 0 .5rem; }
.mal-prose li:last-child { margin-bottom: 0; }
.mal-prose strong { color: var(--mal-dark); font-weight: 700; }
.mal-prose table { width: 100%; border-collapse: collapse; margin: 0 0 1.1rem; font-size: .94rem; }
.mal-prose th, .mal-prose td { text-align: left; padding: 10px 12px; border: 1px solid var(--mal-line); }
.mal-prose th { background: var(--mal-light); font-family: var(--mal-font-heading); font-weight: 700; }
.mal-prose blockquote {
	margin: 0 0 1.1rem;
	padding: .9rem 1.2rem;
	border-left: 3px solid var(--mal-accent);
	background: var(--mal-light);
	color: var(--mal-muted);
	border-radius: 0 10px 10px 0;
}
