/*
 * Pages légales et pratiques (gabarit « Page légale », template-legal.php) — styles PROPRES à ces
 * pages (chargés après main-<version>.css). Mobile-first, jetons --cmb-* ; aucun script, aucune
 * police, aucune ressource externe. Objectif : un texte long agréable à lire, aéré, jamais un PDF.
 *
 * Sommaire : 1. Intro · 2. Grille et sommaire · 3. Texte · 4. Encadrés
 */

/* 1. Intro ---------------------------------------------------------------------------------- */

.cmb-legal-intro {
	padding-block: var(--cmb-space-l) var(--cmb-space-m);
}

.cmb-legal-intro__title {
	max-width: 24ch;
	margin-bottom: var(--cmb-space-2xs);
	font-size: clamp(2rem, 1.55rem + 2vw, 3rem);
}

.cmb-legal-intro__meta {
	margin: 0;
	color: var(--cmb-color-text-muted);
	font-size: var(--cmb-text-sm);
}

/* 2. Grille et sommaire --------------------------------------------------------------------- */

.cmb-legal {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--cmb-space-l);
	padding-bottom: var(--cmb-space-2xl);
}

.cmb-legal__toc-box {
	padding: var(--cmb-space-s) var(--cmb-space-m);
	background: var(--cmb-color-surface);
	border: 1px solid var(--cmb-color-border);
	border-radius: var(--cmb-radius-l);
}

.cmb-legal__toc-title {
	margin: 0;
	min-height: var(--cmb-tap-target);
	display: flex;
	align-items: center;
	color: var(--cmb-color-accent-strong);
	font-size: var(--cmb-text-xs);
	font-weight: var(--cmb-weight-semibold);
	letter-spacing: var(--cmb-tracking-wider);
	text-transform: uppercase;
}

summary.cmb-legal__toc-title {
	cursor: pointer;
}

.cmb-legal__toc-list {
	margin: 0 0 var(--cmb-space-2xs);
	padding: 0;
	list-style: none;
	font-size: var(--cmb-text-sm);
	line-height: var(--cmb-leading-snug);
}

.cmb-legal__toc-list li {
	margin-block: var(--cmb-space-3xs);
}

.cmb-legal__toc-list a {
	display: inline-block;
	padding-block: 0.3rem;
	color: var(--cmb-color-text);
	text-decoration: none;
}

.cmb-legal__toc-list a:hover {
	color: var(--cmb-color-accent-strong);
	text-decoration: underline;
}

.cmb-legal__toc--full {
	display: none;
}

@media (min-width: 64em) {
	.cmb-legal__toc--compact {
		display: none;
	}

	.cmb-legal__toc--full {
		display: block;
	}

	.cmb-legal--toc {
		grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
		align-items: start;
		gap: var(--cmb-space-2xl);
	}

	.cmb-legal__toc {
		position: sticky;
		top: calc(var(--cmb-header-height, 4.5rem) + var(--cmb-admin-bar, 0px) + var(--cmb-space-m));
		max-height: calc(100vh - var(--cmb-header-height, 4.5rem) - var(--cmb-admin-bar, 0px) - 2 * var(--cmb-space-m));
		overflow-y: auto;
	}
}

/* 3. Texte ---------------------------------------------------------------------------------- */

.cmb-legal__content {
	max-width: 44rem;
	color: var(--cmb-color-text);
	font-size: var(--cmb-text-base);
	line-height: var(--cmb-leading-normal);
}

.cmb-legal__content > * + * {
	margin-top: var(--cmb-space-s);
}

.cmb-legal__content h2 {
	margin-top: var(--cmb-space-xl);
	margin-bottom: var(--cmb-space-xs);
	padding-top: var(--cmb-space-s);
	border-top: 1px solid var(--cmb-color-border);
	font-size: var(--cmb-text-2xl);
	scroll-margin-top: calc(var(--cmb-header-height, 4.5rem) + var(--cmb-admin-bar, 0px) + var(--cmb-space-m));
}

.cmb-legal__content h3 {
	margin-top: var(--cmb-space-l);
	margin-bottom: var(--cmb-space-2xs);
	font-size: var(--cmb-text-lg);
}

.cmb-legal__content ul,
.cmb-legal__content ol {
	padding-left: 1.4rem;
}

.cmb-legal__content li + li {
	margin-top: var(--cmb-space-2xs);
}

.cmb-legal__content a {
	color: var(--cmb-color-accent-strong);
	text-decoration: underline;
	text-underline-offset: 0.15em;
	overflow-wrap: anywhere;
}

.cmb-legal-lead {
	color: var(--cmb-color-text-muted);
	font-size: var(--cmb-text-lg);
	line-height: var(--cmb-leading-snug);
}

/* 4. Encadrés ------------------------------------------------------------------------------- */

/* Encadré réglementaire (garanties légales, formulaire de rétractation, médiateur). */
.cmb-legal__content .cmb-legal-box {
	margin-block: var(--cmb-space-m);
	padding: var(--cmb-space-m);
	background: var(--cmb-color-surface);
	border: 1px solid var(--cmb-color-border-strong);
	border-radius: var(--cmb-radius-l);
}

.cmb-legal-box > * + * {
	margin-top: var(--cmb-space-xs);
}

.cmb-legal-box > :first-child {
	margin-top: 0;
}

/* Note importante (exclusion du droit de rétractation des produits personnalisés). */
.cmb-legal-note {
	padding: var(--cmb-space-s) var(--cmb-space-m);
	background: var(--cmb-color-linen);
	border-left: 4px solid var(--cmb-color-accent);
	border-radius: 0 var(--cmb-radius-m) var(--cmb-radius-m) 0;
}

.cmb-legal-address-box {
	display: inline-block;
	padding: var(--cmb-space-s) var(--cmb-space-m);
	background: var(--cmb-color-surface);
	border: 1px solid var(--cmb-color-border);
	border-radius: var(--cmb-radius-m);
	font-style: normal;
}

/* Suivi de commande : formulaire natif WooCommerce dans la colonne de texte. */
.cmb-legal__content .woocommerce form.track_order {
	padding: var(--cmb-space-m);
	background: var(--cmb-color-surface);
	border: 1px solid var(--cmb-color-border);
	border-radius: var(--cmb-radius-l);
}
