/**
 * Pages légales (Mentions légales, Politique de confidentialité).
 * Reproduit le prototype : en-tête centré + pastille + date de mise à jour,
 * puis bande de contenu beige avec titres auto-numérotés et listes à tirets.
 * Style appliqué aussi bien au front qu'à l'aperçu de l'éditeur (.cn-legal-content).
 */

/* -- En-tête centré (fond clair de la feuille) -- */
.cn-legal-head {
	text-align: center;
	max-width: 900px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 96px) clamp(20px, 4vw, 56px) clamp(28px, 4vw, 56px);
}

.cn-legal-kicker {
	display: inline-block;
	background: var(--paper-2);
	color: var(--ink-soft);
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 8px 18px;
	border-radius: 999px;
	margin-bottom: clamp(18px, 2.5vw, 30px);
}

.cn-legal-title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2.1rem, 4.5vw, 3.4rem);
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: var(--ink);
	margin: 0;
}

.cn-legal-updated {
	color: var(--ink-soft);
	font-size: 0.98rem;
	margin: clamp(16px, 2vw, 24px) 0 0;
}

/* -- Bande de contenu (fond beige, pleine largeur) -- */
.cn-legal-band {
	background: var(--bg);
}

.cn-legal-content {
	max-width: 800px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 84px) clamp(20px, 4vw, 56px);
	color: var(--ink-soft);
	font-size: 1.05rem;
	line-height: 1.75;
	counter-reset: legal-section;
}

.cn-legal-content > *:first-child {
	margin-top: 0;
}

/* Titres de section auto-numérotés : 01, 02, 03… */
.cn-legal-content h2 {
	counter-increment: legal-section;
	display: flex;
	align-items: baseline;
	gap: 0.55em;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 2.6vw, 2.1rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 2.2em 0 0.6em;
}

.cn-legal-content h2::before {
	content: counter(legal-section, decimal-leading-zero);
	font-size: 0.5em;
	font-weight: 700;
	color: var(--forest);
	flex: none;
}

.cn-legal-content h3 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.15rem, 1.7vw, 1.4rem);
	color: var(--ink);
	margin: 1.7em 0 0.45em;
}

.cn-legal-content p {
	margin: 0 0 1.15em;
}

.cn-legal-content strong {
	color: var(--ink);
	font-weight: 700;
}

.cn-legal-content a {
	color: var(--lime);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cn-legal-content a:hover {
	text-decoration: none;
}

/* Listes à tirets (terme en gras + description) */
.cn-legal-content ul {
	list-style: none;
	margin: 0 0 1.3em;
	padding-left: 0;
}

.cn-legal-content ul li {
	position: relative;
	padding-left: 1.5em;
	margin: 0.55em 0;
}

.cn-legal-content ul li::before {
	content: "–";
	position: absolute;
	left: 0;
	color: var(--forest);
	font-weight: 700;
}

/* Listes numérotées classiques (si utilisées) */
.cn-legal-content ol {
	margin: 0 0 1.3em;
	padding-left: 1.4em;
}

.cn-legal-content ol li {
	margin: 0.5em 0;
}

.cn-legal-content ol li::marker {
	color: var(--forest);
	font-weight: 700;
}

.cn-legal-content blockquote {
	margin: 1.5em 0;
	padding: 0.4em 0 0.4em 1.2em;
	border-left: 3px solid var(--lime);
	color: var(--ink);
}

.cn-legal-content hr {
	border: none;
	border-top: 1px solid var(--line);
	margin: 2.2em 0;
}

/* Tableaux (ex. liste des cookies) */
.cn-legal-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5em 0;
	font-size: 0.95em;
}

.cn-legal-content th,
.cn-legal-content td {
	text-align: left;
	padding: 10px 14px;
	border: 1px solid var(--line);
	vertical-align: top;
}

.cn-legal-content th {
	background: var(--surface);
	font-weight: 700;
	color: var(--ink);
}

/* Encadré (ex. bloc « Hébergement ») */
.cn-legal-content .cn-legal-card {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: clamp(22px, 3vw, 36px);
	margin: 1.6em 0;
	box-shadow: 0 20px 44px -34px rgba(10, 24, 16, 0.4);
}

.cn-legal-content .cn-legal-card p {
	margin: 0.32em 0;
}
