/*
 * ENP 2027 — composants de la refonte UX (v0.3).
 * Pages filières : ouverture, sommaire collant, sections, frise, cartes, tarifs, débouchés, FAQ, barre d'action mobile.
 * Finitions globales : en-tête au défilement, boutons, survols.
 * Propriétés logiques partout : l'arabe s'affiche de droite à gauche sans surcharge.
 */

:root {
	--enp-ombre-1: 0 1px 2px rgb(11 37 69 / 0.06), 0 2px 8px rgb(11 37 69 / 0.06);
	--enp-ombre-2: 0 4px 12px rgb(11 37 69 / 0.08), 0 16px 32px rgb(11 37 69 / 0.08);
	--enp-sommaire-h: 56px;
	--enp-transition: 0.2s cubic-bezier(0.2, 0.7, 0.3, 1);
}

/* ---------- Finitions globales ---------- */

.enp-entete { transition: box-shadow var(--enp-transition); }
.enp-defile .enp-entete { box-shadow: 0 6px 20px rgb(11 37 69 / 0.08); border-block-end-color: transparent; }

.enp-bouton { transition: background-color var(--enp-transition), transform var(--enp-transition), box-shadow var(--enp-transition); }
.enp-bouton:active { transform: translateY(1px); }
.enp-bouton--principal { box-shadow: 0 2px 6px rgb(0 104 177 / 0.25); }
.enp-bouton--principal:hover { box-shadow: 0 6px 16px rgb(11 37 69 / 0.25); }
.enp-bouton--fleche::after {
	content: "";
	width: 1em;
	height: 1em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11m-4-4 4 4-4 4' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11m-4-4 4 4-4 4' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--enp-transition);
}
.enp-bouton--fleche:hover::after { transform: translateX(3px); }
[dir="rtl"] .enp-bouton--fleche::after { transform: scaleX(-1); }
[dir="rtl"] .enp-bouton--fleche:hover::after { transform: scaleX(-1) translateX(3px); }

.wp-block-button__link { transition: background-color var(--enp-transition), box-shadow var(--enp-transition); }
.wp-block-button:not(.is-style-whatsapp) .wp-block-button__link:hover { box-shadow: 0 6px 16px rgb(11 37 69 / 0.2); }

/* Cartes : survol discret quand elles contiennent un lien. */
.is-style-carte:has(a), .enp-carte-article { transition: box-shadow var(--enp-transition), transform var(--enp-transition); }
.is-style-carte:has(a):hover, .enp-carte-article:hover { box-shadow: var(--enp-ombre-2); transform: translateY(-2px); }

/* FAQ : accordéon avec icône +/−. */
.wp-block-details {
	margin: 0;
	padding: 0;
	border-block-end: 1px solid var(--enp-filet);
}
.wp-block-details:first-of-type { border-block-start: 1px solid var(--enp-filet); }
.wp-block-details summary {
	position: relative;
	display: block;
	padding-block: 1.125rem;
	padding-inline-end: 2.5rem;
	list-style: none;
	line-height: 1.4;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "";
	position: absolute;
	inset-inline-end: 0.25rem;
	inset-block-start: 50%;
	width: 1.5rem;
	height: 1.5rem;
	margin-block-start: -0.75rem;
	border-radius: 50%;
	background: var(--enp-ciel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5v9M3.5 8h9' stroke='%230068B1' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 60% no-repeat;
	transition: transform var(--enp-transition);
}
.wp-block-details[open] summary::after {
	transform: rotate(45deg);
	background-color: var(--enp-bleu);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.5v9M3.5 8h9' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}
.wp-block-details summary:hover { color: var(--enp-bleu); }
.wp-block-details > :not(summary) { margin-block: 0 1.125rem; color: var(--enp-gris); }

/* ---------- Fil d'Ariane ---------- */

.enp-ariane {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.375rem;
	margin-block-end: var(--wp--preset--spacing--6);
	color: var(--enp-gris);
	font-size: 0.875rem;
}
.enp-ariane a { color: var(--enp-gris); text-decoration: none; }
.enp-ariane a:hover { color: var(--enp-bleu); text-decoration: underline; }
.enp-ariane [aria-current] { color: var(--enp-nuit); font-weight: 500; }
[dir="rtl"] .enp-ariane span[aria-hidden] { transform: scaleX(-1); display: inline-block; }

/* ---------- Ouverture filière ---------- */

.enp-fil-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0, color-mix(in srgb, var(--enp-accent) 14%, transparent) 0, transparent 45%),
		linear-gradient(180deg, var(--enp-ciel) 0, #fff 100%);
	border-block-start: 6px solid var(--enp-accent);
}
[dir="rtl"] .enp-fil-hero {
	background:
		radial-gradient(circle at 0 0, color-mix(in srgb, var(--enp-accent) 14%, transparent) 0, transparent 45%),
		linear-gradient(180deg, var(--enp-ciel) 0, #fff 100%);
}
.enp-fil-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: var(--wp--preset--spacing--16);
	align-items: center;
	max-width: var(--enp-largeur);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--10) var(--enp-marge) var(--wp--preset--spacing--16);
}
.enp-fil-hero__titre {
	margin: 0;
	color: var(--enp-nuit);
	font-size: var(--wp--preset--font-size--affiche);
	line-height: var(--wp--custom--line-height--titre);
	letter-spacing: -0.01em;
}
.langue-ar .enp-fil-hero__titre { letter-spacing: 0; line-height: 1.35; }
.enp-fil-hero__chapo {
	max-width: 36em;
	margin-block: var(--wp--preset--spacing--4) 0;
	color: var(--enp-gris);
	font-size: 1.1875rem;
	line-height: 1.55;
}
.enp-fil-hero__actions { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--4); margin-block: var(--wp--preset--spacing--10) 0; }
.enp-fil-hero__actions .enp-bouton { min-height: 52px; padding-inline: 1.5rem; font-size: 1.0625rem; }

.enp-fil-hero__photo { position: relative; margin: 0; }
.enp-fil-hero__photo::before {
	content: "";
	position: absolute;
	inset: 1.25rem -1.25rem -1.25rem 1.25rem;
	border-radius: calc(var(--enp-rayon-carte) * 1.5);
	background: var(--enp-accent);
	opacity: 0.9;
}
[dir="rtl"] .enp-fil-hero__photo::before { inset: 1.25rem 1.25rem -1.25rem -1.25rem; }
.enp-fil-hero__photo img {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3.4;
	object-fit: cover;
	border-radius: calc(var(--enp-rayon-carte) * 1.5);
	box-shadow: var(--enp-ombre-2);
}

/* Repères clés : grille de 4 faits. */
.enp-faits {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: var(--wp--preset--spacing--10) 0 0;
	background: #fff;
	border: 1px solid var(--enp-filet);
	border-radius: var(--enp-rayon-carte);
	box-shadow: var(--enp-ombre-1);
}
.enp-faits__item { padding: 0.875rem 1rem; }
.enp-faits__item + .enp-faits__item { border-inline-start: 1px solid var(--enp-filet); }
.enp-faits dt {
	margin: 0 0 0.25rem;
	color: var(--enp-gris);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.langue-ar .enp-faits dt { letter-spacing: 0; font-size: 0.875rem; }
.enp-faits dd { margin: 0; color: var(--enp-nuit); font: 600 0.9375rem / 1.35 var(--wp--preset--font-family--titre); }
.langue-ar .enp-faits dd { font-family: var(--wp--preset--font-family--arabe); }

/* ---------- Sommaire collant ---------- */

.enp-sommaire {
	position: sticky;
	inset-block-start: var(--enp-entete-h);
	z-index: 30;
	background: rgb(255 255 255 / 0.94);
	-webkit-backdrop-filter: saturate(1.4) blur(8px);
	backdrop-filter: saturate(1.4) blur(8px);
	border-block: 1px solid var(--enp-filet);
}
.admin-bar .enp-sommaire { inset-block-start: calc(var(--enp-entete-h) + 32px); }
.enp-sommaire__liste {
	display: flex;
	gap: 0.25rem;
	max-width: var(--enp-largeur);
	min-height: var(--enp-sommaire-h);
	margin: 0 auto;
	padding: 0 var(--enp-marge);
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
	align-items: stretch;
}
.enp-sommaire__liste::-webkit-scrollbar { display: none; }
.enp-sommaire__liste li { flex-shrink: 0; display: flex; }
.enp-sommaire a {
	display: flex;
	align-items: center;
	padding-inline: 0.875rem;
	border-block-end: 3px solid transparent;
	color: var(--enp-gris);
	font: 500 0.9375rem / 1.2 var(--wp--preset--font-family--titre);
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--enp-transition), border-color var(--enp-transition);
}
.langue-ar .enp-sommaire a { font-family: var(--wp--preset--font-family--arabe); font-size: 1rem; }
.enp-sommaire a:hover { color: var(--enp-nuit); }
.enp-sommaire a.est-actif { color: var(--enp-nuit); border-block-end-color: var(--enp-accent); }
html:has(.enp-sommaire) { scroll-padding-top: calc(var(--enp-entete-h) + var(--enp-sommaire-h) + 1rem); }

/* ---------- Sections de contenu ---------- */

.enp-contenu--filiere { padding-block: 0; }
.enp-contenu--filiere > .enp-section { margin-block: 0; }

.enp-section {
	padding-block: var(--wp--preset--spacing--24);
	padding-inline: var(--enp-marge);
}
.enp-section > * { max-width: var(--enp-largeur); margin-inline: auto; }
.enp-section--ciel { background: var(--enp-ciel); }
.enp-section .wp-block-heading:is(h2) {
	margin-block: 0 var(--wp--preset--spacing--6);
	color: var(--enp-nuit);
	font-size: var(--wp--preset--font-size--titre-1);
}
.enp-section .is-style-surtitre { color: var(--enp-accent-fonce); }
.enp-section .is-style-surtitre::before {
	content: "";
	display: inline-block;
	width: 1.5rem;
	height: 2px;
	margin-inline-end: 0.625rem;
	vertical-align: middle;
	background: var(--enp-accent);
}
.enp-section__intro { color: var(--enp-gris); font-size: 1.125rem; }
.enp-section > .enp-section__intro,
.enp-section > .enp-mesure { padding-inline-end: max(0px, calc(100% - 44em)); }

.enp-section .wp-block-columns { gap: var(--wp--preset--spacing--10); margin-block: var(--wp--preset--spacing--10) 0; }
.enp-section > .wp-block-columns:first-of-type { margin-block-start: 0; }
.enp-section h3 { margin-block: 0 0.5rem; color: var(--enp-nuit); font-size: 1.25rem; }

/* Encart « En bref » à côté du texte. */
.is-style-encart {
	padding: var(--wp--preset--spacing--6);
	background: var(--enp-ciel);
	border-inline-start: 4px solid var(--enp-accent);
	border-radius: var(--enp-rayon-carte);
}
.enp-section--ciel .is-style-encart { background: #fff; }
.is-style-encart > :first-child { margin-block-start: 0; }
.is-style-encart > :last-child { margin-block-end: 0; }
.is-style-encart .is-style-surtitre { color: var(--enp-accent-fonce); }
.enp-bref { margin: 0; padding: 0; list-style: none; }
.enp-bref li { display: flex; justify-content: space-between; gap: 1rem; padding-block: 0.625rem; border-block-end: 1px solid rgb(11 37 69 / 0.08); }
.enp-bref li:last-child { border-block-end: 0; padding-block-end: 0; }
.enp-bref strong { color: var(--enp-gris); font-weight: 500; }
.enp-bref li > :last-child, .enp-bref span { color: var(--enp-nuit); font-weight: 600; text-align: end; }

/* Le texte du métier, plus grand. */
.enp-lead p { font-size: 1.125rem; line-height: 1.65; }
.enp-lead p:first-child { margin-block-start: 0; }

/* Liste en cartes : chaque élément devient une tuile avec une coche. */
.wp-block-list.is-style-cartes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--4);
	margin: var(--wp--preset--spacing--10) auto 0;
	padding: 0;
	list-style: none;
}
.is-style-cartes li {
	position: relative;
	padding: 3.75rem var(--wp--preset--spacing--6) var(--wp--preset--spacing--6);
	background: #fff;
	border: 1px solid var(--enp-filet);
	border-radius: var(--enp-rayon-carte);
	box-shadow: var(--enp-ombre-1);
	color: var(--enp-nuit);
	font: 500 1.0625rem / 1.4 var(--wp--preset--font-family--titre);
	transition: transform var(--enp-transition), box-shadow var(--enp-transition);
}
.langue-ar .is-style-cartes li { font-family: var(--wp--preset--font-family--arabe); }
.is-style-cartes li:hover { transform: translateY(-2px); box-shadow: var(--enp-ombre-2); }
.is-style-cartes li::before {
	content: "";
	position: absolute;
	inset-inline-start: var(--wp--preset--spacing--6);
	inset-block-start: var(--wp--preset--spacing--6);
	width: 2rem;
	height: 2rem;
	border-radius: 10px;
	background: color-mix(in srgb, var(--enp-accent) 18%, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230B2545' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 60% no-repeat;
}
/* Le dernier élément (stages) est mis en avant. */
.is-style-cartes li:last-child:nth-child(4n+1) { grid-column: 1 / -1; }
.is-style-cartes li:last-child:nth-child(4n+1)::before { inset-block-start: 50%; margin-block-start: -1rem; }
.is-style-cartes li:last-child:nth-child(4n+1) { padding-block: var(--wp--preset--spacing--6); padding-inline-start: 4.5rem; }
.is-style-cartes li.enp-fort, .is-style-cartes li:last-child { background: var(--enp-nuit); border-color: var(--enp-nuit); color: #fff; }
.is-style-cartes li:last-child::before { background-color: var(--enp-accent); }

/* Frise du programme : 3 années reliées. */
.wp-block-columns.is-style-frise { position: relative; gap: var(--wp--preset--spacing--6); counter-reset: annee; }
.is-style-frise > .wp-block-column {
	position: relative;
	padding: 4.5rem var(--wp--preset--spacing--6) var(--wp--preset--spacing--6);
	background: #fff;
	border: 1px solid var(--enp-filet);
	border-radius: var(--enp-rayon-carte);
	counter-increment: annee;
}
.is-style-frise > .wp-block-column::before {
	content: counter(annee);
	position: absolute;
	inset-inline-start: var(--wp--preset--spacing--6);
	inset-block-start: var(--wp--preset--spacing--6);
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--enp-accent);
	color: var(--enp-nuit);
	font: 600 1.125rem / 1 var(--wp--preset--font-family--titre);
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--enp-accent) 20%, #fff);
}
.is-style-frise > .wp-block-column:not(:last-child)::after {
	content: "";
	position: absolute;
	inset-block-start: calc(var(--wp--preset--spacing--6) + 1.25rem);
	inset-inline-start: calc(var(--wp--preset--spacing--6) + 3.25rem);
	inset-inline-end: calc(-1 * var(--wp--preset--spacing--6) - 1px);
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--enp-accent) 0 6px, transparent 6px 12px);
}
.is-style-frise .enp-frise__annee {
	margin: 0 0 0.25rem;
	color: var(--enp-accent-fonce);
	font: 600 0.8125rem / 1.3 var(--wp--preset--font-family--titre);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.langue-ar .is-style-frise .enp-frise__annee { letter-spacing: 0; font-size: 0.9375rem; font-family: var(--wp--preset--font-family--arabe); }
.is-style-frise p:last-child { margin-block-end: 0; color: var(--enp-gris); }

/* Étapes numérotées (admission). */
.wp-block-list.is-style-etapes { margin: 0; padding: 0; list-style: none; counter-reset: etape; }
.is-style-etapes li {
	position: relative;
	padding-inline-start: 3rem;
	padding-block-end: var(--wp--preset--spacing--6);
	counter-increment: etape;
}
.is-style-etapes li:last-child { padding-block-end: 0; }
.is-style-etapes li::before {
	content: counter(etape);
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 0;
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--enp-bleu);
	color: #fff;
	font: 600 0.9375rem / 1 var(--wp--preset--font-family--titre);
}
.is-style-etapes li:not(:last-child)::after {
	content: "";
	position: absolute;
	inset-inline-start: calc(1rem - 1px);
	inset-block: 2.25rem 0.25rem;
	width: 2px;
	background: var(--enp-filet);
}
.is-style-etapes strong { display: block; color: var(--enp-nuit); font-family: var(--wp--preset--font-family--titre); }
.langue-ar .is-style-etapes strong { font-family: var(--wp--preset--font-family--arabe); }

/* Cartes à icône (débouchés). */
.wp-block-columns.is-style-icones > .wp-block-column {
	padding: var(--wp--preset--spacing--6);
	background: #fff;
	border: 1px solid var(--enp-filet);
	border-radius: var(--enp-rayon-carte);
	box-shadow: var(--enp-ombre-1);
}
.is-style-icones > .wp-block-column::before {
	content: "";
	display: block;
	width: 3rem;
	height: 3rem;
	margin-block-end: var(--wp--preset--spacing--4);
	border-radius: 12px;
	background: color-mix(in srgb, var(--enp-accent) 18%, #fff) var(--enp-icone) center / 55% no-repeat;
}
.is-style-icones > .wp-block-column:nth-child(1) { --enp-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2545' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V8l7-4 7 4v13M10 21v-5h4v5M12 8v4M10 10h4'/%3E%3C/svg%3E"); }
.is-style-icones > .wp-block-column:nth-child(2) { --enp-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2545' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M9 21v-4h6v4M8 7h2M14 7h2M8 11h2M14 11h2'/%3E%3C/svg%3E"); }
.is-style-icones > .wp-block-column:nth-child(3) { --enp-icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2545' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E"); }
.is-style-icones p { margin-block-end: 0; color: var(--enp-gris); }
.is-style-icones .enp-note { margin-block-start: 0.75rem; font-size: 0.875rem; }

/* Modalités de paiement. */
.wp-block-columns.is-style-tarifs { gap: var(--wp--preset--spacing--4); }
.is-style-tarifs > .wp-block-column {
	position: relative;
	padding: var(--wp--preset--spacing--6);
	background: #fff;
	border: 1px solid var(--enp-filet);
	border-radius: var(--enp-rayon-carte);
	text-align: center;
}
.is-style-tarifs .enp-tarif__remise {
	margin: 0;
	color: var(--enp-bleu);
	font: 600 2.25rem / 1.1 var(--wp--preset--font-family--titre);
}
.is-style-tarifs .enp-tarif__remise--neutre { color: var(--enp-nuit); font-size: 1.5rem; line-height: 1.5; }
.is-style-tarifs .enp-tarif__nom { margin: 0.5rem 0 0.25rem; color: var(--enp-nuit); font: 600 1.0625rem / 1.3 var(--wp--preset--font-family--titre); }
.langue-ar .is-style-tarifs .enp-tarif__nom { font-family: var(--wp--preset--font-family--arabe); }
.is-style-tarifs .enp-tarif__detail { margin: 0; color: var(--enp-gris); font-size: 0.9375rem; }
.is-style-tarifs > .wp-block-column.enp-tarif--avantage { border: 2px solid var(--enp-bleu); box-shadow: var(--enp-ombre-2); }
.is-style-tarifs .enp-tarif__etiquette {
	position: absolute;
	margin: 0;
	inset-block-start: -0.75rem;
	inset-inline-start: 50%;
	transform: translateX(-50%);
	padding: 0.125rem 0.75rem;
	background: var(--enp-bleu);
	color: #fff;
	border-radius: 999px;
	font: 500 0.75rem / 1.5 var(--wp--preset--font-family--titre);
	white-space: nowrap;
}
[dir="rtl"] .is-style-tarifs .enp-tarif__etiquette { transform: translateX(50%); }

.enp-bourse {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 var(--wp--preset--spacing--6);
	align-items: center;
	margin-block-start: var(--wp--preset--spacing--10) !important;
	padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--10);
	background: var(--enp-nuit);
	color: #fff;
	border-radius: var(--enp-rayon-carte);
}
.enp-bourse > * { margin: 0; color: #fff; }
.enp-bourse .enp-bourse__montant {
	grid-row: span 2;
	color: #fff;
	font: 600 2rem / 1.1 var(--wp--preset--font-family--titre);
	white-space: nowrap;
}
.enp-bourse .enp-bourse__montant small { display: block; font-size: 0.875rem; font-weight: 400; opacity: 0.8; }
.enp-bourse p:last-child { margin-block-start: 0.375rem; font-size: 0.875rem; opacity: 0.8; }

/* FAQ en deux colonnes : titre à gauche, questions à droite. */
.enp-faq-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--wp--preset--spacing--16); align-items: start; }
.enp-faq-grille > .wp-block-column { flex-basis: auto !important; }

/* Bandeau final. */
.enp-contenu--filiere > .is-style-bandeau-nuit,
.enp-contenu--filiere > .is-style-bandeau { margin-block: 0 !important; }

/* ---------- Barre d'action mobile ---------- */

.enp-barre-action { display: none; }

@media (max-width: 782px) {
	.enp-barre-action {
		position: fixed;
		inset-inline: 0;
		inset-block-end: 0;
		z-index: 45;
		display: grid;
		grid-template-columns: 1.4fr 1fr;
		gap: 0.5rem;
		padding: 0.625rem var(--enp-marge) calc(0.625rem + env(safe-area-inset-bottom));
		background: rgb(255 255 255 / 0.96);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
		box-shadow: 0 -4px 16px rgb(11 37 69 / 0.12);
		transform: translateY(110%);
		transition: transform var(--enp-transition);
	}
	.enp-barre-action.est-visible { transform: none; }
	.enp-barre-action .enp-bouton { min-height: 48px; padding-inline: 0.75rem; }
	.page-template-page-filiere .enp-whatsapp-flottant { display: none; }
	.page-template-page-filiere .enp-pied__bas { padding-block-end: calc(var(--wp--preset--spacing--6) + 80px); }
}

/* ---------- Adaptations écrans moyens et petits ---------- */

@media (max-width: 960px) {
	.enp-fil-hero__inner { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--10); padding-block: var(--wp--preset--spacing--6) var(--wp--preset--spacing--16); }
	.enp-fil-hero__photo { margin-inline: 0 1.25rem; }
	.enp-fil-hero__photo img { aspect-ratio: 16 / 10; }
	.enp-ariane { margin-block-end: var(--wp--preset--spacing--4); }
	.enp-faits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.enp-faits__item:nth-child(3) { border-inline-start: 0; }
	.enp-faits__item:nth-child(n+3) { border-block-start: 1px solid var(--enp-filet); }
	.enp-faq-grille { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--6); }
	.wp-block-list.is-style-cartes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.is-style-cartes li:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.is-style-frise > .wp-block-column:not(:last-child)::after { display: none; }
}

@media (max-width: 781px) {
	.enp-section { padding-block: var(--wp--preset--spacing--16); }
	.enp-fil-hero__titre { font-size: var(--wp--preset--font-size--titre-1); }
	.enp-fil-hero__chapo { font-size: 1.0625rem; }
	.enp-fil-hero__actions .enp-bouton { flex: 1 1 100%; }
	.wp-block-list.is-style-cartes { grid-template-columns: 1fr; }
	.is-style-cartes li, .is-style-cartes li:last-child:nth-child(4n+1) { padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--4) var(--wp--preset--spacing--4) 3.75rem; }
	[dir="rtl"] .is-style-cartes li, [dir="rtl"] .is-style-cartes li:last-child:nth-child(4n+1) { padding: var(--wp--preset--spacing--4) 3.75rem var(--wp--preset--spacing--4) var(--wp--preset--spacing--4); }
	.is-style-cartes li::before { inset-inline-start: var(--wp--preset--spacing--4); inset-block-start: 50%; margin-block-start: -1rem; }
	.wp-block-columns.is-style-tarifs { display: grid; grid-template-columns: 1fr 1fr; }
	.is-style-tarifs .enp-tarif__remise { font-size: 1.75rem; }
	.enp-bourse { grid-template-columns: 1fr; padding: var(--wp--preset--spacing--6); }
	.enp-bourse .enp-bourse__montant { grid-row: auto; margin-block-end: 0.5rem; }
	.enp-sommaire { --enp-sommaire-h: 48px; }
	.enp-sommaire a { font-size: 0.875rem; padding-inline: 0.625rem; }
}

@media print {
	.enp-sommaire, .enp-barre-action, .enp-fil-hero__photo { display: none; }
}

/* Le surtitre d'encart n'a pas de trait. */
.is-style-encart .is-style-surtitre::before { display: none; }
.enp-faq-grille .wp-block-buttons { margin-block-start: var(--wp--preset--spacing--6); }

/* Ajustements après revue visuelle (v0.3.1). */
.is-style-frise .enp-frise__annee { text-transform: none; letter-spacing: 0.02em; font-size: 0.875rem; }
.is-style-encart strong { display: block; color: var(--enp-nuit); }
.enp-bref strong { display: inline; }
.enp-section .wp-block-column > .is-style-carte { height: 100%; }
.enp-section > .enp-section__intro { margin-block-end: var(--wp--preset--spacing--10); }
.enp-section > .enp-section__intro + .wp-block-columns { margin-block-start: 0; }
.enp-section > .wp-block-columns + .is-style-encart { margin-block-start: var(--wp--preset--spacing--6); }
/* Pourcentages : toujours « −5 % », même en arabe. */
.is-style-tarifs .enp-tarif__remise:not(.enp-tarif__remise--neutre) { direction: ltr; unicode-bidi: isolate; }
@media (max-width: 781px) {
	.is-style-tarifs .enp-tarif__remise--neutre { font-size: 1.125rem; line-height: 1.55; }
}
