/* Modèle « Légal » : fond gris, texte dans une carte blanche, lecture confortable. */

.fl-legal-page {
	background: var(--fl-color-surface-sunken);
	padding: var(--fl-space-2xl) var(--fl-space-lg) var(--fl-space-5xl);
}

.fl-legal-page__inner {
	display: flex;
	flex-direction: column;
	gap: var(--fl-space-xl);
	max-width: 860px;
	margin: 0 auto;
}

.fl-legal-page .fl-legal-page__breadcrumb {
	margin: 0;
}

.fl-legal-page .fl-legal-page__title {
	margin: 0;
}

.fl-legal-page__card {
	padding: clamp(var(--fl-space-xl), 5vw, var(--fl-space-4xl));
	border: 1px solid var(--fl-color-border);
	border-radius: var(--fl-radius-xl);
	background: var(--fl-color-surface);
	color: var(--fl-color-ink);
	font-size: var(--fl-font-size-base);
	line-height: var(--fl-line-height-relaxed);
	overflow-wrap: anywhere;
}

.fl-legal-page__card > :first-child {
	margin-top: 0;
}

.fl-legal-page__card > :last-child {
	margin-bottom: 0;
}

.fl-legal-page__card h1,
.fl-legal-page__card h2 {
	margin: var(--fl-space-3xl) 0 var(--fl-space-sm);
	font-size: var(--fl-font-size-xl);
	font-weight: var(--fl-font-weight-bold);
	line-height: var(--fl-line-height-snug);
	color: var(--fl-color-ink);
}

.fl-legal-page__card h3 {
	margin: var(--fl-space-2xl) 0 var(--fl-space-xs);
	font-size: var(--fl-font-size-lg);
	font-weight: var(--fl-font-weight-bold);
	line-height: var(--fl-line-height-snug);
}

.fl-legal-page__card p,
.fl-legal-page__card ul,
.fl-legal-page__card ol {
	margin: 0 0 var(--fl-space-md);
}

.fl-legal-page__card ul,
.fl-legal-page__card ol {
	padding-left: var(--fl-space-xl);
}

.fl-legal-page__card li + li {
	margin-top: var(--fl-space-2xs);
}

.fl-legal-page__card a {
	color: var(--fl-color-accent-ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.fl-legal-page__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fl-space-xs) var(--fl-space-lg);
	font-size: var(--fl-font-size-md);
}

.fl-legal-page__links a {
	color: var(--fl-color-muted);
	text-decoration: none;
}

.fl-legal-page__links a:hover {
	color: var(--fl-color-ink);
	text-decoration: underline;
}

/* Tableaux : rendus par la primitive `table` (fl_pages_legal_table_block). */
.fl-legal-page__card .fl-legal-page__table {
	margin: 0 0 var(--fl-space-lg);
}
