/* ==========================================================================
   layout.css — utilitaires structurels globaux (container, sections).
   Pas de styles spécifiques aux composants : ces derniers ont leur propre fichier.
   ========================================================================== */

.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

.site-main {
	flex: 1 0 auto;
}

/* Container responsive standard */
.container {
	width: 100%;
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-padding);
}

.container--narrow {
	max-width: var(--container-narrow);
}

.container--wide {
	max-width: var(--container-wide);
}

.container--full {
	max-width: none;
	padding-inline: 0;
}

/* Espacement vertical standard de section */
.section {
	padding-block: var(--space-2xl);
}

.section--sm { padding-block: var(--space-xl); }
.section--lg { padding-block: var(--space-3xl); }
.section--xl { padding-block: var(--space-4xl); }

/* Helper pleine largeur pour les blocs ACF */
.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.alignwide {
	width: 100%;
	max-width: var(--container-wide);
	margin-inline: auto;
}

/* Pages légales (Mentions légales / CGV / Vos données) — corps long sous Page Hero */
.legal-page-body {
	padding-block: var(--space-2xl) var(--space-3xl);
}

.legal-page-body h2 {
	margin-top: var(--space-xl);
	margin-bottom: var(--space-sm);
	font-size: clamp(1.3rem, 2vw, 1.6rem);
	color: var(--color-accent);
	letter-spacing: 0.02em;
}

.legal-page-body h2:first-child {
	margin-top: 0;
}

.legal-page-body h3 {
	margin-top: var(--space-lg);
	margin-bottom: var(--space-xs);
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	color: var(--color-text);
}

.legal-page-body p {
	margin-bottom: var(--space-md);
	color: var(--color-text-muted);
	line-height: 1.7;
}

.legal-page-body a {
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Neutralise les marges injectées par WP autour du wp-block-group inner */
.legal-page-body .wp-block-group__inner-container {
	max-width: none;
	padding: 0;
}
