/*
 * Habillage du site de la Paroisse de l'Épiphanie — charte 2026.
 *
 * Couleurs tirées du logo (les verts des feuilles, le bleu de la Lys, l'encre
 * de la croix), fonds crème et parchemin, brique des églises de Flandre pour le
 * don et les dates. Titres en EB Garamond, texte en Source Sans 3, accroches en
 * Amatic SC (proche du lettrage du logo).
 *
 * Les pages sont faites de blocs WordPress ordinaires. Cette feuille habille :
 *  - les sections (groupe pleine largeur, classe « ep-s ») ;
 *  - les styles de blocs proposés dans l'éditeur (classes « is-style-ep-… ») ;
 *  - les modules de la paroisse (formulaires, agenda, messes, documents) ;
 *  - l'en-tête et le pied de page d'Astra.
 *
 * Tailles en pixels : Astra fixe la racine du document à 18 px, des rem
 * fausseraient l'échelle.
 */

:root {
	--ep-encre: #1C1F1A;
	--ep-encre-douce: #55574D;
	--ep-vert: #006B30;
	--ep-vert-logo: #008838;
	--ep-feuille: #3AA832;
	--ep-tilleul: #93C21E;
	--ep-tilleul-pale: #EEF4DA;
	--ep-lys: #9CD3F0;
	--ep-lys-pale: #E6F3FA;
	--ep-creme: #FBF7EF;
	--ep-parchemin: #F3EBDC;
	--ep-filet: #E2D8C5;
	--ep-trait: rgba(28, 31, 26, 0.14);
	--ep-brique: #A9492A;
	--ep-foret: #123A24;
	--ep-blanc: #FFFFFF;

	--ep-titre: 'EB Garamond', Georgia, 'Times New Roman', serif;
	--ep-texte: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--ep-main: 'Amatic SC', 'Comic Sans MS', cursive;

	--ep-largeur: 1200px;
	--ep-gouttiere: 24px;
	--ep-section: 104px;

	--ep-feuille-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 66 46'%3E%3Cpath d='M0 34C10 8 48-4 66 10 58 38 26 48 0 34Z' fill='%233AA832'/%3E%3C/svg%3E");
	--ep-feuille-tilleul-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 66 46'%3E%3Cpath d='M0 34C10 8 48-4 66 10 58 38 26 48 0 34Z' fill='%2393C21E'/%3E%3C/svg%3E");
	--ep-feuille-profonde-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 66 46'%3E%3Cpath d='M0 34C10 8 48-4 66 10 58 38 26 48 0 34Z' fill='%23008838'/%3E%3C/svg%3E");
	--ep-vague-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 14C180 0 360 28 540 14S900 0 1080 14 1350 20 1440 12V28C1350 36 1260 16 1080 30S720 16 540 30 180 16 0 30Z' fill='%239CD3F0'/%3E%3C/svg%3E");
	--ep-chemin-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24'%3E%3Cpath d='M0 12C50 0 100 24 150 12S250 0 300 12' fill='none' stroke='%239CD3F0' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}

@media (max-width: 781px) {
	:root {
		--ep-gouttiere: 20px;
		--ep-section: 56px;
	}
}

/* ================================================================ Base */

body {
	background: var(--ep-creme);
	color: var(--ep-encre-douce);
	font-family: var(--ep-texte);
	font-size: 18px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

:is(.entry-content, .editor-styles-wrapper) p,
:is(.entry-content, .editor-styles-wrapper) li {
	font-size: 18px;
	line-height: 1.6;
}

h1, h2, h3, h4, h5, h6,
:is(.entry-content, .editor-styles-wrapper) h1, :is(.entry-content, .editor-styles-wrapper) h2, :is(.entry-content, .editor-styles-wrapper) h3, :is(.entry-content, .editor-styles-wrapper) h4 {
	font-family: var(--ep-titre);
	font-weight: 500;
	color: var(--ep-encre);
	letter-spacing: -0.005em;
	text-wrap: balance;
}

:is(.entry-content, .editor-styles-wrapper) h1 { font-size: 64px; line-height: 1.04; letter-spacing: -0.015em; margin: 0 0 24px; }
:is(.entry-content, .editor-styles-wrapper) h2 { font-size: 50px; line-height: 1.08; letter-spacing: -0.01em; margin: 0 0 20px; }
:is(.entry-content, .editor-styles-wrapper) h3 { font-size: 30px; line-height: 1.18; margin: 0 0 10px; }
:is(.entry-content, .editor-styles-wrapper) h4 { font-size: 24px; line-height: 1.22; margin: 0 0 8px; }

/* Le mot ou la ligne en italique dans un titre passe en vert : « Quatre clochers, une même communauté ». */
:is(.entry-content, .editor-styles-wrapper) h1 em,
:is(.entry-content, .editor-styles-wrapper) h2 em {
	color: var(--ep-vert);
	font-style: italic;
}

@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) h1 { font-size: 44px; }
	:is(.entry-content, .editor-styles-wrapper) h2 { font-size: 34px; }
	:is(.entry-content, .editor-styles-wrapper) h3 { font-size: 25px; }
	:is(.entry-content, .editor-styles-wrapper) h4 { font-size: 22px; }
}

a { color: var(--ep-vert); }
a:hover, a:focus { color: var(--ep-vert-logo); }
:is(.entry-content, .editor-styles-wrapper) a:not(.wp-block-button__link):not(.wp-element-button) {
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

:focus-visible {
	outline: 3px solid var(--ep-vert); /* bien visible sur le crème comme sur le blanc */
	outline-offset: 2px;
}

/* Mouvements réduits quand l'appareil le demande (vertiges, migraines). */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

::selection { background: var(--ep-tilleul-pale); color: var(--ep-encre); }

/* Pages : pleine largeur, sans le titre d'Astra (le titre est dans la page). */
.ep-page .site-content > .ast-container { max-width: none; padding: 0; }
.ep-page #primary { margin: 0; padding: 0; }
.ep-page .entry-header { display: none; }
.ep-page :is(.entry-content, .editor-styles-wrapper) > :first-child { margin-top: 0; }
.ep-page .ast-article-single, .ep-page .ast-article-post { padding: 0; margin: 0; background: none; }
.ep-page :is(.entry-content, .editor-styles-wrapper) > * { margin-block: 0; }

/* =========================================================== Sections
 * Une section = un groupe aligné pleine largeur, avec la classe « ep-s ».
 * Son contenu est centré sur 1200 px. La couleur de fond se choisit dans la
 * barre latérale (Crème, Parchemin, Forêt, Tilleul pâle…).
 */

:is(.entry-content, .editor-styles-wrapper) .ep-s {
	padding: var(--ep-section) var(--ep-gouttiere);
	margin: 0;
}
:is(.entry-content, .editor-styles-wrapper) .ep-s.ep-s--serre { padding-top: 40px; }
:is(.entry-content, .editor-styles-wrapper) .ep-s.ep-s--sans-bas { padding-bottom: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-s > * { margin-left: auto; margin-right: auto; }
:is(.entry-content, .editor-styles-wrapper) .ep-s > :not(.alignfull) { max-width: var(--ep-largeur); }
:is(.entry-content, .editor-styles-wrapper) .ep-s > * + * { margin-top: 28px; }
.ep-s.has-ast-global-color-6-background-color,
.ep-s.has-ast-global-color-6-background-color h2,
.ep-s.has-ast-global-color-6-background-color h3 { color: var(--ep-creme); }

/* En-tête de section : accroche + titre + chapeau, avec un peu d'air. */
:is(.entry-content, .editor-styles-wrapper) .ep-tete { max-width: 760px; }
:is(.entry-content, .editor-styles-wrapper) .ep-tete > * { margin: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-tete > * + * { margin-top: 12px; }

/* Colonnes : le rythme des maquettes (64 à 96 px entre colonnes). */
:is(.entry-content, .editor-styles-wrapper) .wp-block-columns { gap: 72px; margin-bottom: 0; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-columns.is-style-ep-cartes { gap: 20px; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-column > * { margin-top: 0; margin-bottom: 0; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-column > * + * { margin-top: 20px; }
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .wp-block-columns { gap: 36px; }
}

/* Groupes en grille (cartes, clochers) : espacement régulier. */
:is(.entry-content, .editor-styles-wrapper) .is-layout-grid { gap: 24px; }

/* ===================================================== Styles de texte */

/* Accroche manuscrite, précédée d'une petite feuille du logo. */
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-accroche,
.ep-accroche {
	font-family: var(--ep-main);
	font-weight: 700;
	font-size: 36px;
	line-height: 1.05;
	letter-spacing: 0.01em;
	color: var(--ep-vert);
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-accroche::before,
.ep-accroche::before {
	content: '';
	flex: 0 0 28px;
	height: 20px;
	background: var(--ep-feuille-svg) no-repeat center / contain;
}
:is(.entry-content, .editor-styles-wrapper) .has-text-align-center.is-style-ep-accroche { justify-content: center; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-accroche.has-ast-global-color-8-color::before { display: none; }
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-accroche, .ep-accroche { font-size: 28px; }
}

:is(.entry-content, .editor-styles-wrapper) .is-style-ep-etiquette {
	font-family: var(--ep-texte);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ep-vert);
	margin-bottom: 6px;
}

:is(.entry-content, .editor-styles-wrapper) .is-style-ep-chapeau {
	font-size: 21px;
	line-height: 1.55;
	color: var(--ep-encre-douce);
	max-width: 640px;
}
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-chapeau { font-size: 18px; }
}

:is(.entry-content, .editor-styles-wrapper) .is-style-ep-legende,
:is(.entry-content, .editor-styles-wrapper) .wp-block-image.is-style-ep-arche figcaption,
:is(.entry-content, .editor-styles-wrapper) .wp-block-image.is-style-ep-medaillon figcaption {
	font-family: var(--ep-main);
	font-weight: 700;
	font-size: 24px;
	color: var(--ep-encre-douce);
	text-align: right;
	margin-top: 10px;
}

:is(.entry-content, .editor-styles-wrapper) .is-style-ep-pastille {
	display: inline-block;
	padding: 7px 16px;
	border-radius: 999px;
	background: var(--ep-tilleul-pale);
	color: var(--ep-vert);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	margin: 0;
}

/* Texte secondaire et mentions brique « [à compléter] ». */
:is(.entry-content, .editor-styles-wrapper) .ep-petit { font-size: 15px; line-height: 1.5; }
:is(.entry-content, .editor-styles-wrapper) .ep-a-completer { color: var(--ep-brique); font-style: italic; }

/* ============================================================ Boutons */

:is(.entry-content, .editor-styles-wrapper) .wp-block-buttons { gap: 16px 28px; align-items: center; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-button__link,
.ep-bouton {
	background: var(--ep-vert);
	color: var(--ep-creme);
	border: 1.5px solid var(--ep-vert);
	border-radius: 999px;
	padding: 15px 28px;
	font-family: var(--ep-texte);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
:is(.entry-content, .editor-styles-wrapper) .wp-block-button__link:hover,
:is(.entry-content, .editor-styles-wrapper) .wp-block-button__link:focus { background: var(--ep-vert-logo); border-color: var(--ep-vert-logo); color: var(--ep-creme); }

:is(.entry-content, .editor-styles-wrapper) .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--ep-encre);
	border-color: rgba(28, 31, 26, 0.8);
}
:is(.entry-content, .editor-styles-wrapper) .is-style-outline .wp-block-button__link:hover { background: var(--ep-encre); color: var(--ep-creme); border-color: var(--ep-encre); }

:is(.entry-content, .editor-styles-wrapper) .is-style-ep-don .wp-block-button__link { background: var(--ep-brique); border-color: var(--ep-brique); color: var(--ep-creme); }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-don .wp-block-button__link:hover { background: #8f3c21; border-color: #8f3c21; }

/* Lien fléché : souligné, flèche, sans fond. */
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-lien .wp-block-button__link {
	background: none;
	border: 0;
	padding: 0;
	color: var(--ep-vert);
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 4px;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-lien .wp-block-button__link::after { content: '  →'; white-space: pre; text-decoration: none; display: inline-block; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-lien .wp-block-button__link:hover { color: var(--ep-vert-logo); background: none; }

@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .wp-block-buttons:not(.ep-boutons-ligne) > .wp-block-button:not(.is-style-ep-lien) { width: 100%; }
	:is(.entry-content, .editor-styles-wrapper) .wp-block-buttons:not(.ep-boutons-ligne) > .wp-block-button:not(.is-style-ep-lien) .wp-block-button__link { width: 100%; text-align: center; }
}

/* ============================================================== Images */

:is(.entry-content, .editor-styles-wrapper) .wp-block-image { margin: 0; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-image img { display: block; }

:is(.entry-content, .editor-styles-wrapper) .is-style-ep-arche img {
	border-radius: 999px 999px 6px 6px;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	width: 100%;
	height: auto;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-medaillon img {
	border-radius: 50%;
	aspect-ratio: 1;
	object-fit: cover;
	width: 100%;
	height: auto;
	border: 10px solid var(--ep-creme);
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-arrondi img { border-radius: 24px; object-fit: cover; }

/* Composition « arche + médaillon + feuilles » des hauts de page. */
:is(.entry-content, .editor-styles-wrapper) .ep-composition {
	position: relative;
	padding-left: 76px;
	padding-bottom: 40px;
}
:is(.entry-content, .editor-styles-wrapper) .ep-composition > * { margin: 0 !important; }
:is(.entry-content, .editor-styles-wrapper) .ep-composition > .is-style-ep-arche { width: 100%; }
:is(.entry-content, .editor-styles-wrapper) .ep-composition > .is-style-ep-medaillon {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 38%;
	max-width: 190px;
}
:is(.entry-content, .editor-styles-wrapper) .ep-composition::before,
:is(.entry-content, .editor-styles-wrapper) .ep-composition::after {
	content: '';
	position: absolute;
	z-index: 2;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: contain;
}
:is(.entry-content, .editor-styles-wrapper) .ep-composition::before { right: -18px; top: 6px; width: 96px; height: 66px; background-image: var(--ep-feuille-tilleul-svg); transform: rotate(-8deg); }
:is(.entry-content, .editor-styles-wrapper) .ep-composition::after { right: -34px; top: 90px; width: 64px; height: 46px; background-image: var(--ep-feuille-profonde-svg); transform: rotate(18deg); }
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .ep-composition { padding-left: 50px; margin-top: 12px; }
	:is(.entry-content, .editor-styles-wrapper) .ep-composition::before { right: -6px; width: 66px; height: 46px; }
	:is(.entry-content, .editor-styles-wrapper) .ep-composition::after { right: -10px; top: 60px; width: 46px; height: 32px; }
}

/* ===================================================== Listes */

:is(.entry-content, .editor-styles-wrapper) ul.is-style-ep-filets,
:is(.entry-content, .editor-styles-wrapper) ol.is-style-ep-filets {
	list-style: none;
	padding: 0;
	margin-left: 0;
	margin-right: 0;
	border-bottom: 1px solid var(--ep-trait);
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-filets > li {
	border-top: 1px solid var(--ep-trait);
	padding: 14px 0;
	margin: 0;
}

:is(.entry-content, .editor-styles-wrapper) ul.is-style-ep-feuilles { list-style: none; padding: 0; margin-left: 0; margin-right: 0; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-feuilles > li {
	position: relative;
	padding: 12px 0 12px 40px;
	border-top: 1px solid var(--ep-trait);
	margin: 0;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-feuilles > li:last-child { border-bottom: 1px solid var(--ep-trait); }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-feuilles > li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 18px;
	width: 24px;
	height: 17px;
	background: var(--ep-feuille-svg) no-repeat center / contain;
}

/* ================================================== Groupes stylés */

/* Ligne à filet : une rangée d'une liste (démarches, événements, personnes). */
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne {
	border-top: 1px solid var(--ep-trait);
	padding: 28px 0;
	margin: 0 !important;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne:last-child { border-bottom: 1px solid var(--ep-trait); }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne > * { margin-top: 0; margin-bottom: 0; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne .ep-numero {
	font-family: var(--ep-titre);
	font-style: italic;
	font-size: 44px;
	line-height: 1;
	color: var(--ep-vert-logo); /* --ep-feuille, plus clair, n'est pas assez contrasté sur le crème */
	min-width: 64px;
}

/* Niche en arche : un panneau parchemin à sommet arrondi, texte centré. */
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-niche {
	background: var(--ep-parchemin);
	border-radius: 999px 999px 8px 8px;
	padding: 92px 40px 44px;
	text-align: center;
}
:is(.entry-content, .editor-styles-wrapper) .has-ast-global-color-5-background-color .is-style-ep-niche { background: var(--ep-creme); }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-niche::before {
	content: '';
	display: block;
	width: 34px;
	height: 24px;
	margin: 0 auto 14px;
	background: var(--ep-feuille-tilleul-svg) no-repeat center / contain;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-niche > * { margin-top: 0; margin-bottom: 0; margin-left: auto; margin-right: auto; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-niche > * + * { margin-top: 14px; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-niche .is-style-ep-accroche { justify-content: center; font-size: 26px; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-niche .is-style-ep-accroche::before { display: none; }
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-niche { padding: 64px 24px 32px; }
}

/* Carte : fond blanc, coins arrondis, contour beige. */
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-carte {
	background: var(--ep-blanc);
	border: 1px solid var(--ep-filet);
	border-radius: 16px;
	padding: 24px;
	height: 100%;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-carte > * { margin-top: 0; margin-bottom: 0; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-carte > * + * { margin-top: 10px; }

/* Encart vert pâle : une précision, un « et aussi ». */
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-encart {
	background: var(--ep-tilleul-pale);
	border-radius: 16px;
	padding: 20px 24px;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-encart > * { margin-top: 0; margin-bottom: 0; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-encart > * + * { margin-top: 8px; }

/* =============================================== Séparateur « vague » */

:is(.entry-content, .editor-styles-wrapper) hr.is-style-ep-vague,
:is(.entry-content, .editor-styles-wrapper) .wp-block-separator.is-style-ep-vague {
	border: 0 !important;
	height: 40px;
	max-width: none !important;
	width: 100%;
	margin: 0 !important;
	background: var(--ep-vague-svg) no-repeat center / 100% 100%;
	opacity: 1;
}
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .wp-block-separator.is-style-ep-vague { height: 20px; }
}

/* ===================================== Étapes « le long de la Lys » */

:is(.entry-content, .editor-styles-wrapper) .wp-block-columns.is-style-ep-etapes {
	counter-reset: ep-etape;
	position: relative;
	gap: 40px;
	background: var(--ep-chemin-svg) repeat-x 0 18px / 300px 24px;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-etapes > .wp-block-column { counter-increment: ep-etape; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-etapes > .wp-block-column::before {
	content: counter(ep-etape);
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--ep-creme);
	border: 2px solid var(--ep-tilleul);
	font-family: var(--ep-titre);
	font-style: italic;
	font-size: 32px;
	color: var(--ep-vert);
	margin-bottom: 16px;
	position: relative;
	z-index: 1;
}
:is(.entry-content, .editor-styles-wrapper) .has-ast-global-color-5-background-color .is-style-ep-etapes > .wp-block-column::before { background: var(--ep-parchemin); }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-etapes h3 { font-size: 26px; }
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .wp-block-columns.is-style-ep-etapes { background: none; gap: 0; }
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-etapes > .wp-block-column {
		position: relative;
		padding: 4px 0 24px 64px;
		min-height: 64px;
	}
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-etapes > .wp-block-column::before {
		position: absolute;
		left: 0;
		top: 0;
		width: 44px;
		height: 44px;
		font-size: 24px;
		margin: 0;
	}
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-etapes > .wp-block-column:not(:last-child)::after {
		content: '';
		position: absolute;
		left: 20px;
		top: 46px;
		bottom: 0;
		width: 3px;
		border-radius: 2px;
		background: var(--ep-lys);
	}
}

/* ====================================================== FAQ (Détails) */

:is(.entry-content, .editor-styles-wrapper) .wp-block-details.is-style-ep-faq {
	border-top: 1px solid var(--ep-trait);
	padding: 22px 0;
	margin: 0 !important;
}
:is(.entry-content, .editor-styles-wrapper) .wp-block-details.is-style-ep-faq:last-child { border-bottom: 1px solid var(--ep-trait); }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-faq summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	font-family: var(--ep-titre);
	font-size: 26px;
	line-height: 1.25;
	color: var(--ep-encre);
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-faq summary::-webkit-details-marker { display: none; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-faq summary::after {
	content: '+';
	font-family: var(--ep-titre);
	font-size: 34px;
	line-height: 0.8;
	color: var(--ep-vert);
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-faq[open] summary::after { content: '−'; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-faq > :not(summary) { margin-top: 12px; color: var(--ep-encre-douce); }
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-faq summary { font-size: 19px; font-family: var(--ep-texte); font-weight: 600; }
}

/* ============================================== Citation « Parole » */

:is(.entry-content, .editor-styles-wrapper) .wp-block-quote.is-style-ep-parole {
	border: 0;
	padding: 0;
	margin: 0;
	text-align: center;
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-parole p {
	font-family: var(--ep-titre);
	font-style: italic;
	font-size: 30px;
	line-height: 1.35;
	color: var(--ep-encre);
}
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-parole cite {
	display: block;
	margin-top: 14px;
	font-family: var(--ep-texte);
	font-style: normal;
	font-size: 15px;
	color: var(--ep-encre-douce);
}
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-parole p { font-size: 23px; }
}

/* ============================================ Fil d'Ariane (paragraphe) */

:is(.entry-content, .editor-styles-wrapper) .ep-fil { font-size: 15px; color: var(--ep-encre-douce); margin-bottom: 18px; }
:is(.entry-content, .editor-styles-wrapper) .ep-fil a { color: inherit; text-decoration: none !important; }
:is(.entry-content, .editor-styles-wrapper) .ep-fil a:hover { color: var(--ep-vert); }

/* ===================================================== En-tête Astra */

.site-header, .ast-primary-header-bar, .main-header-bar { background: var(--ep-creme); border: 0; }
.ast-primary-header-bar { border-bottom: 0 !important; }
.ast-builder-menu-1 .menu-item > .menu-link {
	font-family: var(--ep-texte);
	font-weight: 600;
	font-size: 17px;
	color: var(--ep-encre);
	padding: 0 16px;
}
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .current-menu-item > .menu-link,
.ast-builder-menu-1 .current-menu-ancestor > .menu-link,
.ast-builder-menu-1 .current_page_parent > .menu-link {
	color: var(--ep-vert);
}
.ast-builder-menu-1 .current-menu-item > .menu-link,
.ast-builder-menu-1 .current-menu-ancestor > .menu-link {
	text-decoration: underline;
	text-underline-offset: 6px;
}
/* Sous-menus : panneau crème, ombre douce. */
.ast-builder-menu-1 .sub-menu {
	background: var(--ep-creme);
	border: 1px solid var(--ep-filet) !important;
	border-radius: 16px;
	box-shadow: 0 18px 40px rgba(28, 31, 26, 0.12);
	padding: 12px 0;
	min-width: 260px;
}
.ast-builder-menu-1 .sub-menu .menu-link { font-weight: 400; font-size: 16px; padding: 9px 22px; }
/* L'entrée « Faire un don » du menu ne sert qu'en mobile (en bureau, il y a le bouton). */
@media (min-width: 1101px) {
	.ast-builder-menu-1 .ep-menu-mobile { display: none; }
}
.ast-header-button-1 .ast-custom-button {
	border: 1.5px solid var(--ep-brique) !important;
	border-radius: 999px !important;
	padding: 13px 24px !important;
	font-weight: 600;
	font-size: 16px;
}
.ast-header-search .ast-search-menu-icon .search-field { border-radius: 999px; }
.ast-header-search .astra-search-icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1.5px solid var(--ep-trait);
	border-radius: 50%;
	color: var(--ep-encre);
}
.ast-header-search .astra-search-icon svg { width: 18px; height: 18px; }
.ast-mobile-header-wrap .ast-button-wrap .menu-toggle {
	border: 1.5px solid rgba(28, 31, 26, 0.8) !important;
	border-radius: 999px !important;
	padding: 9px 16px !important;
	color: var(--ep-encre) !important;
	background: transparent !important;
}
.ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--ep-creme); }
.ast-mobile-popup-drawer .menu-link { font-family: var(--ep-titre); font-size: 21px; color: var(--ep-encre) !important; }
.ast-mobile-popup-drawer .sub-menu .menu-link { font-family: var(--ep-texte); font-size: 16px; }

/* ================================================= Pied de page Astra */

.site-above-footer-wrap { background: var(--ep-creme) !important; padding: 24px var(--ep-gouttiere) 0 !important; }
.site-above-footer-wrap .ast-builder-grid-row { max-width: 1440px; }
.site-footer .ep-clochers { margin: 0 auto; max-width: 1200px; }
.site-footer .ep-clochers img { display: block; width: 100%; height: auto; }
.site-above-footer-wrap .footer-widget-area { width: 100%; }
.site-above-footer-wrap { border: 0 !important; padding-bottom: 0 !important; }
.site-footer, .site-primary-footer-wrap { border-top: 0 !important; }
.site-above-footer-wrap::after {
	content: '';
	display: block;
	height: 40px;
	margin: -12px calc(-1 * var(--ep-gouttiere)) 0;
	background: var(--ep-vague-svg) no-repeat center / 100% 100%;
}
.site-primary-footer-wrap { padding: 72px var(--ep-gouttiere) 40px !important; }
.site-footer, .site-footer p { color: rgba(251, 247, 239, 0.78); font-size: 15px; line-height: 1.7; }
.site-footer a { color: var(--ep-creme); }
.site-footer .ep-pied-titre {
	font-family: var(--ep-main);
	font-weight: 700;
	font-size: 46px;
	line-height: 1;
	color: var(--ep-creme);
	margin-bottom: 14px;
}
.site-footer .ep-pied-etiquette,
.site-footer .widget-title,
.site-footer .footer-widget-area h2 {
	font-family: var(--ep-texte);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ep-tilleul);
	margin-bottom: 10px;
}
.site-footer .footer-nav-wrap::before {
	content: 'Raccourcis';
	display: block;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ep-tilleul);
	margin-bottom: 10px;
}
.site-footer .footer-nav-wrap .menu-link { color: rgba(251, 247, 239, 0.9) !important; padding: 2px 0 !important; font-size: 15px; }
.site-footer .footer-nav-wrap .navigation-accessibility, .site-footer .footer-nav-wrap ul { flex-direction: column; align-items: flex-start; }
.site-footer .wp-block-button__link { background: var(--ep-brique); border-radius: 999px; padding: 13px 26px; color: var(--ep-creme); font-weight: 600; }
.site-below-footer-wrap { border-top: 1px solid rgba(251, 247, 239, 0.18); }
.site-below-footer-wrap .ast-footer-copyright { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; width: 100%; color: rgba(251, 247, 239, 0.6); font-size: 14px; }
.ep-pied-legal { display: inline-flex; gap: 20px; }
.ep-pied-legal a { color: rgba(251, 247, 239, 0.8); }

/* ===================================================== Formulaires */

.ep-formulaire {
	background: var(--ep-creme);
	border-radius: 24px;
	padding: 40px;
}
.has-ast-global-color-4-background-color .ep-formulaire,
.ep-s:not([class*='-background-color']) .ep-formulaire { background: var(--ep-parchemin); }
/* Titre du formulaire : la page en a déjà un à l'écran, mais il reste lu par les lecteurs d'écran. */
.ep-formulaire__tete { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ep-formulaire .ep-champ { margin: 0 0 20px; }
.ep-formulaire label,
.ep-formulaire legend {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: var(--ep-encre);
	margin-bottom: 8px;
}
.ep-formulaire input[type='text'],
.ep-formulaire input[type='email'],
.ep-formulaire input[type='tel'],
.ep-formulaire input[type='date'],
.ep-formulaire select,
.ep-formulaire textarea {
	width: 100%;
	background: var(--ep-blanc);
	border: 1px solid rgba(28, 31, 26, 0.22);
	border-radius: 10px;
	padding: 14px 16px;
	font-family: var(--ep-texte);
	font-size: 17px;
	color: var(--ep-encre);
}
.ep-formulaire input::placeholder, .ep-formulaire textarea::placeholder { color: rgba(85, 87, 77, 0.65); }
.ep-formulaire input:focus, .ep-formulaire textarea:focus, .ep-formulaire select:focus { border-color: var(--ep-vert); outline: 2px solid var(--ep-tilleul-pale); }
.ep-champs-paire { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.ep-choix { border: 0; padding: 0; }
.ep-choix__options { display: flex; flex-wrap: wrap; gap: 10px; }
.ep-choix__option { margin: 0 !important; font-weight: 400 !important; }
.ep-choix__option input { position: absolute; opacity: 0; }
.ep-choix__option span {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 999px;
	background: var(--ep-blanc);
	border: 1px solid rgba(28, 31, 26, 0.22);
	font-size: 15px;
	color: var(--ep-encre);
	cursor: pointer;
}
.ep-choix__option input:checked + span { background: var(--ep-vert); border-color: var(--ep-vert); color: var(--ep-creme); }
.ep-choix__option input:focus-visible + span { outline: 3px solid var(--ep-vert); }
.ep-facultatif { font-weight: 400; color: var(--ep-encre-douce); }
.ep-bouton-envoi {
	background: var(--ep-vert);
	color: var(--ep-creme);
	border: 0;
	border-radius: 999px;
	padding: 15px 30px;
	font-family: var(--ep-texte);
	font-size: 17px;
	font-weight: 600;
	cursor: pointer;
}
.ep-bouton-envoi:hover { background: var(--ep-vert-logo); }
.ep-mention { font-size: 14px; color: var(--ep-encre-douce); margin: 0; }
.ep-message { border-radius: 12px; padding: 14px 18px; margin: 0 0 18px; }
.ep-message--ok { background: var(--ep-tilleul-pale); color: var(--ep-vert); }
.ep-message--erreur { background: #F8E3DC; color: var(--ep-brique); }
.ep-piege { position: absolute !important; left: -9999px !important; }
@media (max-width: 781px) {
	.ep-formulaire { padding: 24px 20px; border-radius: 20px; }
	.ep-champs-paire { grid-template-columns: 1fr; }
	.ep-bouton-envoi { width: 100%; }
}

/* ====================================================== Agenda (liste) */

.ep-agenda { border-bottom: 1px solid var(--ep-trait); }
.ep-agenda__ligne {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 8px 32px;
	padding: 28px 0;
	border-top: 1px solid var(--ep-trait);
}
.ep-date-pastille { text-align: center; }
.ep-date-pastille strong {
	display: block;
	font-family: var(--ep-titre);
	font-weight: 500;
	font-size: 50px;
	line-height: 1;
	color: var(--ep-vert);
}
.ep-date-pastille span {
	display: block;
	font-family: var(--ep-main);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.1;
	color: var(--ep-brique);
	text-transform: lowercase;
}
.ep-date-pastille em { display: block; font-style: normal; font-size: 13px; color: var(--ep-encre-douce); }
.ep-agenda__corps h3 { font-size: 26px !important; margin: 0 0 6px !important; }
.ep-agenda__corps h3 a { color: var(--ep-encre); text-decoration: none !important; }
.ep-agenda__corps h3 a:hover { color: var(--ep-vert); }
.ep-agenda__corps p { margin: 0 0 8px; color: var(--ep-encre-douce); }
.ep-agenda__infos { grid-column: 2; display: flex; flex-wrap: wrap; gap: 4px 18px; align-items: baseline; }
.ep-agenda__info { font-size: 15px; font-weight: 600; color: var(--ep-encre); }
.ep-agenda__info + .ep-agenda__info::before { content: '· '; color: var(--ep-encre-douce); }
.ep-agenda__lien { font-size: 15px; font-weight: 600; }
.ep-agenda__vide { color: var(--ep-encre-douce); font-style: italic; }
@media (max-width: 781px) {
	.ep-agenda__ligne { grid-template-columns: 56px 1fr; gap: 6px 18px; padding: 18px 0; }
	.ep-date-pastille strong { font-size: 34px; }
	.ep-date-pastille span { font-size: 22px; }
	.ep-agenda__corps h3 { font-size: 22px !important; }
	.ep-agenda__corps p { display: none; }
}

/* Agenda complet : mois en titre avec une feuille, événements en liste à filets. */
.ep-agenda-complet__mois {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 32px !important;
	margin: 48px 0 8px !important;
}
.ep-agenda-complet__mois::before { content: ''; width: 28px; height: 20px; background: var(--ep-feuille-svg) no-repeat center / contain; }
.ep-agenda-complet__cartes { border-bottom: 1px solid var(--ep-trait); }
.ep-evt {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 6px 32px;
	padding: 26px 0;
	border-top: 1px solid var(--ep-trait);
}
.ep-evt__image { display: none; }
.ep-evt__corps { grid-column: 2; }
.ep-evt__quand { margin: 0 0 4px; font-size: 15px; font-weight: 600; color: var(--ep-brique); }
.ep-evt__heure::before { content: ' · '; }
.ep-evt__titre { font-size: 28px !important; margin: 0 0 6px !important; }
.ep-evt__titre a { color: var(--ep-encre); text-decoration: none !important; }
.ep-evt__cats { margin: 0 0 6px; display: flex; gap: 8px; flex-wrap: wrap; }
.ep-etiquette { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ep-vert); }
.ep-evt__resume { margin: 0 0 8px; color: var(--ep-encre-douce); }
.ep-evt__pied { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 15px; }
.ep-evt__lien { font-weight: 600; }
.ep-evt .ep-date-pastille { grid-row: 1; grid-column: 1; }
.ep-agenda-filtres { display: flex; flex-wrap: wrap; gap: 14px 40px; margin-bottom: 8px; }
.ep-agenda-filtres__intitule { display: block; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ep-encre-douce); margin-bottom: 8px; }
.ep-agenda-filtres__boutons { display: flex; flex-wrap: wrap; gap: 8px; }
.ep-filtre {
	border: 1px solid rgba(28, 31, 26, 0.22);
	background: var(--ep-blanc);
	border-radius: 999px;
	padding: 9px 18px;
	font-family: var(--ep-texte);
	font-size: 15px;
	color: var(--ep-encre);
	cursor: pointer;
}
.ep-filtre[aria-pressed='true'] { background: var(--ep-vert); border-color: var(--ep-vert); color: var(--ep-creme); }
.ep-agenda-passes { margin-top: 40px; }
.ep-agenda-passes summary { cursor: pointer; font-weight: 600; color: var(--ep-vert); }
.ep-agenda-passe { display: flex; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--ep-trait); text-decoration: none !important; color: var(--ep-encre); }
.ep-agenda-passe__date { color: var(--ep-encre-douce); min-width: 110px; }
@media (max-width: 781px) {
	.ep-evt { grid-template-columns: 56px 1fr; gap: 6px 18px; }
	.ep-evt__titre { font-size: 22px !important; }
}

/* =================================================== Messes (MessesInfo) */

.ep-messes { margin: 0; }
.ep-messes__semaine { margin-top: 28px; }
.ep-messes__semaine:first-child { margin-top: 0; }
.ep-messes__semaine-titre {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ep-vert);
	margin: 0 0 4px;
}
.ep-messes__item {
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 4px 24px;
	padding: 14px 0;
	border-top: 1px solid var(--ep-trait);
	align-items: baseline;
}
.ep-messes__item--dimanche {
	background: var(--ep-tilleul-pale);
	border-top: 0;
	border-radius: 14px;
	padding: 16px;
	margin: 6px 0;
}
.ep-messes__quand { font-family: var(--ep-titre); font-size: 26px; color: var(--ep-encre); }
.ep-messes__heure { color: var(--ep-vert); margin-left: 10px; }
.ep-messes__type { font-weight: 600; color: var(--ep-encre); }
.ep-messes__note { color: var(--ep-encre); }
.ep-messes__lieu { display: block; color: var(--ep-encre-douce); }
.ep-messes__source { margin-top: 20px; font-size: 14px; color: var(--ep-encre-douce); }
/* Version courte (accueil) : date en gras, lieu à côté. */
.ep-messes--courte .ep-messes__item { grid-template-columns: 210px 1fr; padding: 6px 0; border: 0; background: none; margin: 0; border-radius: 0; }
.ep-messes--courte .ep-messes__quand { font-family: var(--ep-texte); font-size: 18px; font-weight: 600; }
.ep-messes--courte .ep-messes__heure { color: inherit; margin-left: 0; }
.ep-messes--courte .ep-messes__type { display: none; }
.ep-messes--courte .ep-messes__lieu { display: inline; }
@media (max-width: 781px) {
	.ep-messes__item, .ep-messes--courte .ep-messes__item { grid-template-columns: 1fr; }
	.ep-messes__quand { font-size: 22px; }
}

/* ========================================================== Documents */

.ep-documents__groupe { margin-top: 40px; }
.ep-documents__groupe:first-child { margin-top: 0; }
.ep-documents__titre { display: flex; align-items: center; gap: 12px; font-size: 30px !important; margin-bottom: 10px !important; }
.ep-documents__titre::before { content: ''; width: 28px; height: 20px; background: var(--ep-feuille-svg) no-repeat center / contain; }
.ep-documents__liste { border-bottom: 1px solid var(--ep-trait); }
.ep-document {
	display: flex;
	gap: 18px;
	align-items: center;
	padding: 18px 0;
	border-top: 1px solid var(--ep-trait);
}
.ep-document__icone { flex: 0 0 auto; color: var(--ep-brique); }
.ep-document__texte { flex: 1; }
.ep-document__titre { font-family: var(--ep-titre); font-size: 22px; color: var(--ep-encre); margin: 0; }
.ep-document__meta, .ep-document__date, .ep-document__poids { font-size: 14px; color: var(--ep-encre-douce); }
.ep-document__resume { margin: 4px 0 0; font-size: 16px; }
.ep-document__lien { font-weight: 600; white-space: nowrap; }

/* ========================================== Recherche et page introuvable */

.search .site-content .ast-container,
.error404 .site-content .ast-container { max-width: var(--ep-largeur); padding: 56px var(--ep-gouttiere) 80px; }
.search .page-title, .error404 .page-title { font-family: var(--ep-titre); font-size: 50px; color: var(--ep-encre); }
.search .ast-article-post { border-top: 1px solid var(--ep-trait); padding: 24px 0 !important; background: none; }
.search .entry-title a { font-family: var(--ep-titre); color: var(--ep-encre); text-decoration: none; }
.search mark, .ep-surligne { background: var(--ep-tilleul-pale); color: inherit; padding: 0 3px; border-radius: 3px; }
.error404 .ep-404 { text-align: center; max-width: 760px; margin: 0 auto; }
.error404 .ep-404 img { width: 100%; max-width: 720px; height: auto; margin: 0 auto 24px; display: block; }

/* Case d'accord (formulaires) et lien « tous les horaires ». */
.ep-formulaire .ep-accord label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 14px; color: var(--ep-encre-douce); }
.ep-formulaire .ep-accord input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--ep-vert); flex: 0 0 auto; }
.ep-messes__tout { margin-top: 10px; font-weight: 600; }
.ep-messes__quoi { display: block; }

/* ======================================================= Compléments pages */

/* Filet simple (séparateur par défaut). */
:is(.entry-content, .editor-styles-wrapper) .wp-block-separator:not(.is-style-ep-vague):not(.is-style-dots) {
	border: 0;
	border-top: 1px solid var(--ep-trait);
	opacity: 1;
	width: 100%;
	max-width: none;
	margin: 32px 0 24px;
}
:is(.entry-content, .editor-styles-wrapper) .ep-accroche--petite { font-size: 26px; margin-bottom: 4px; }
:is(.entry-content, .editor-styles-wrapper) .ep-accroche--petite::before { display: none; }

/* Haut de page : un peu moins d'air en haut, le titre respire. */
:is(.entry-content, .editor-styles-wrapper) .ep-heros h1 { margin: 6px 0 24px; }
:is(.entry-content, .editor-styles-wrapper) .ep-heros .is-style-ep-chapeau { margin-bottom: 32px; }

/* Lignes numérotées (I, II, III…) : le texte prend la place restante. */
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne.is-layout-flex { gap: 24px; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne.is-layout-flex > .wp-block-group { flex: 1; min-width: 0; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne .wp-block-group > * { margin-top: 0; margin-bottom: 0; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne .wp-block-group > * + * { margin-top: 10px; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne h3 { font-size: 30px; }
:is(.entry-content, .editor-styles-wrapper) p.ep-numero { margin: 0; padding-top: 2px; }
:is(.entry-content, .editor-styles-wrapper) .ep-et-aussi { padding: 28px 0 0 88px; margin: 0 !important; }
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne .ep-numero { min-width: 40px; font-size: 32px; }
	:is(.entry-content, .editor-styles-wrapper) .is-style-ep-ligne h3 { font-size: 24px; }
	:is(.entry-content, .editor-styles-wrapper) .ep-et-aussi { padding-left: 0; }
}

/* Image plus étroite que sa colonne (arche de la colonne de gauche). */
:is(.entry-content, .editor-styles-wrapper) .ep-image-etroite { max-width: 300px; }
:is(.entry-content, .editor-styles-wrapper) .ep-legende--gauche { text-align: left; margin-top: 12px !important; }

/* En-tête de section sur deux colonnes (titre à gauche, texte à droite). */
:is(.entry-content, .editor-styles-wrapper) .ep-tete-ligne { margin-bottom: 48px; }
:is(.entry-content, .editor-styles-wrapper) .ep-tete-ligne h2 { margin: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-tete-ligne .wp-block-column:last-child p { max-width: 420px; margin-left: auto; margin-right: 0; }

/* Cartes des clochers. */
:is(.entry-content, .editor-styles-wrapper) .ep-clocher > * { margin: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-clocher h3 { font-size: 24px; margin-top: 18px; }
:is(.entry-content, .editor-styles-wrapper) .ep-clocher h3 a { color: var(--ep-encre); text-decoration: none !important; }
:is(.entry-content, .editor-styles-wrapper) .ep-clocher h3 a:hover { color: var(--ep-vert); }
:is(.entry-content, .editor-styles-wrapper) .ep-clocher .ep-petit { margin-top: 4px; color: var(--ep-encre-douce); }
:is(.entry-content, .editor-styles-wrapper) .ep-clocher .is-style-ep-arche img { aspect-ratio: 23 / 30; }

/* Photo avec deux feuilles posées dans le coin. */
:is(.entry-content, .editor-styles-wrapper) .ep-feuillage { position: relative; }
:is(.entry-content, .editor-styles-wrapper) .ep-feuillage::before,
:is(.entry-content, .editor-styles-wrapper) .ep-feuillage::after {
	content: '';
	position: absolute;
	z-index: 2;
	background-repeat: no-repeat;
	background-size: contain;
}
:is(.entry-content, .editor-styles-wrapper) .ep-feuillage::before { left: -18px; bottom: 30px; width: 70px; height: 48px; background-image: var(--ep-feuille-profonde-svg); transform: rotate(-24deg); }
:is(.entry-content, .editor-styles-wrapper) .ep-feuillage::after { left: -4px; bottom: 6px; width: 64px; height: 42px; background-image: var(--ep-feuille-tilleul-svg); transform: rotate(-6deg) scaleY(-1); }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-arrondi img { border-radius: 28px; width: 100%; }

/* Personne (initiales dans une pastille + nom). */
:is(.entry-content, .editor-styles-wrapper) .ep-personne { gap: 14px; }
:is(.entry-content, .editor-styles-wrapper) .ep-personne > .wp-block-group > * { margin: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-personne h4 { font-size: 24px; line-height: 1.15; }
:is(.entry-content, .editor-styles-wrapper) p.ep-initiales {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--ep-tilleul-pale);
	color: var(--ep-vert);
	font-family: var(--ep-titre);
	font-size: 22px;
	margin: 0;
}
:is(.entry-content, .editor-styles-wrapper) .ep-colonnes-serrees { gap: 40px; margin: 28px 0 32px !important; }
:is(.entry-content, .editor-styles-wrapper) .ep-colonnes-serrees .wp-block-column > * + * { margin-top: 8px; }
:is(.entry-content, .editor-styles-wrapper) .ep-colonnes-serrees h4 { margin: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-lien-fleche a { font-weight: 600; }
:is(.entry-content, .editor-styles-wrapper) .ep-lien-fleche a::after { content: '  →'; white-space: pre; }

/* Niche dans une colonne : centrée verticalement sur sa hauteur. */
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-niche .wp-block-quote { margin-top: 18px; }
:is(.entry-content, .editor-styles-wrapper) .is-style-ep-niche .is-style-ep-parole p { font-size: 28px; }

/* Documents : lien sur toute la ligne, pastille PDF. */
.ep-document { display: block; padding: 0; }
.ep-document__lien { display: flex; gap: 20px; align-items: center; padding: 20px 0; text-decoration: none !important; color: inherit; }
.ep-document__icone::before {
	content: 'PDF';
	display: grid;
	place-items: center;
	width: 52px;
	height: 60px;
	border-radius: 6px;
	background: #F8E3DC;
	color: var(--ep-brique);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.ep-document__texte { display: flex; flex-direction: column; gap: 4px; }
.ep-document__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.ep-document__action { color: var(--ep-vert); font-weight: 600; font-size: 15px; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
.ep-document__action::after { content: '  ↓'; white-space: pre; }
.ep-document__lien:hover .ep-document__titre { color: var(--ep-vert); }
@media (max-width: 781px) {
	.ep-document__lien { flex-wrap: wrap; gap: 8px 16px; }
	.ep-document__icone::before { width: 40px; height: 46px; }
	.ep-document__texte { flex: 1 1 60%; }
	.ep-document__meta { align-items: flex-start; text-align: left; flex-basis: 100%; padding-left: 56px; }
	.ep-document__action { padding-left: 56px; }
}

/* Corrections après comparaison avec les maquettes. */
.ast-header-button-1 .ast-custom-button {
	background: transparent !important;
	color: var(--ep-brique) !important;
	border: 1.5px solid var(--ep-brique) !important;
}
.ast-header-button-1 .ast-custom-button:hover { background: var(--ep-brique) !important; color: var(--ep-creme) !important; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-button.is-style-outline > .wp-block-button__link:not(:hover) {
	background: transparent;
	color: var(--ep-encre);
	border: 1.5px solid rgba(28, 31, 26, 0.8);
}
.ep-messes--courte .ep-messes__note { display: none; }
.site-footer .footer-widget-area, .site-footer .ast-builder-html-element, .site-footer .ast-footer-copyright { text-align: left !important; }
.site-footer .site-footer-section { align-items: flex-start !important; justify-content: flex-start !important; }
.site-footer .ast-footer-copyright { width: 100%; }
.site-footer .ast-footer-copyright p { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; width: 100%; margin: 0; }
.ep-pied-legal a + a::before { content: '·'; margin-right: 20px; color: rgba(251, 247, 239, 0.4); }
.site-footer .footer-widget-area .wp-block-buttons { margin-top: 16px; }
.site-footer .is-style-ep-don .wp-block-button__link { background: var(--ep-brique); color: var(--ep-creme); border-radius: 999px; padding: 13px 26px; font-weight: 600; font-size: 16px; }
.site-footer .is-style-ep-don .wp-block-button__link:hover { background: #8f3c21; color: var(--ep-creme); }
.site-footer .ep-pied-titre { text-align: left; }
@media (max-width: 781px) {
	.site-footer .ast-footer-copyright p { flex-direction: column; }
}

/* =============================================== Menus (maquette « Navigation ») */

@media (min-width: 1101px) {
	.ast-builder-menu-1 .main-header-menu > .menu-item > .sub-menu {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2px 8px;
		width: 600px;
		padding: 58px 12px 12px;
		border-radius: 20px;
		border: 1px solid var(--ep-filet) !important;
		background: var(--ep-creme);
		box-shadow: 0 22px 48px rgba(28, 31, 26, 0.14);
	}
	.ast-builder-menu-1 .main-header-menu > .menu-item > .sub-menu::before {
		content: attr(data-rubrique);
		position: absolute;
		top: 16px;
		left: 22px;
		padding-left: 34px;
		font-family: var(--ep-main);
		font-weight: 700;
		font-size: 27px;
		line-height: 1.2;
		color: var(--ep-vert);
		background: var(--ep-feuille-tilleul-svg) no-repeat left center / 26px 18px;
		transform: none;
		width: auto;
		height: auto;
		border: 0;
	}
	/* Pont invisible entre l'entrée et son panneau : le panneau ne se ferme pas en route. */
	.ast-builder-menu-1 .main-header-menu > .menu-item > .sub-menu::after { content: ''; position: absolute; left: 0; right: 0; top: -24px; height: 24px; }
	.ast-builder-menu-1 .sub-menu .menu-item { border: 0 !important; }
	.ast-builder-menu-1 .sub-menu .menu-link {
		display: block;
		padding: 10px 12px !important;
		border-radius: 10px;
		font-family: var(--ep-titre);
		font-weight: 500;
		font-size: 20px !important;
		line-height: 1.2;
		color: var(--ep-encre) !important;
	}
	.ast-builder-menu-1 .sub-menu .menu-link:hover,
	.ast-builder-menu-1 .sub-menu .current-menu-item > .menu-link { background: var(--ep-tilleul-pale); color: var(--ep-vert) !important; text-decoration: none; }
	.ast-builder-menu-1 .sub-menu .ast-icon.icon-arrow { display: none; }
	.ast-builder-menu-1 .ep-menu-desc {
		display: block;
		margin-top: 3px;
		font-family: var(--ep-texte);
		font-size: 14px;
		line-height: 1.35;
		color: var(--ep-encre-douce);
	}
	.ast-builder-menu-1 .sub-menu .ep-menu-tout { grid-column: 1 / -1; border-top: 1px solid var(--ep-filet) !important; margin-top: 8px; padding-top: 6px; }
	.ast-builder-menu-1 .sub-menu .ep-menu-tout .menu-link { font-family: var(--ep-texte); font-size: 15px !important; font-weight: 600; color: var(--ep-vert) !important; text-decoration: underline; text-underline-offset: 3px; }
	.ast-builder-menu-1 .sub-menu .ep-menu-tout .menu-link::after { content: '  →'; white-space: pre; }
	.ast-builder-menu-1 .sub-menu .ep-menu-tout .menu-link:hover { background: none; }
}

/* Menu mobile : grandes entrées à filets, sous-menu en deux colonnes. */
@media (max-width: 1100px) {
	.ast-mobile-header-content { background: var(--ep-creme) !important; padding: 0 20px 0; border: 0 !important; }
	#ast-hf-mobile-menu { border: 0 !important; }
	#ast-hf-mobile-menu > .menu-item { border-bottom: 1px solid var(--ep-trait) !important; border-top: 0 !important; }
	#ast-hf-mobile-menu > .menu-item > .menu-link {
		font-family: var(--ep-titre);
		font-weight: 500;
		font-size: 21px !important;
		line-height: 1.25 !important;
		color: var(--ep-encre) !important;
		padding: 14px 0 !important;
		border: 0 !important;
		background: none !important;
	}
	#ast-hf-mobile-menu > .menu-item.ast-submenu-expanded > .menu-link,
	#ast-hf-mobile-menu > .current-menu-item > .menu-link,
	#ast-hf-mobile-menu > .current-menu-ancestor > .menu-link { color: var(--ep-vert) !important; }
	#ast-hf-mobile-menu > .ep-menu-mobile > .menu-link { color: var(--ep-brique) !important; }
	#ast-hf-mobile-menu .ast-menu-toggle {
		border: 0 !important;
		background: none !important;
		box-shadow: none !important;
		color: var(--ep-encre) !important;
		top: 0 !important;
		height: 54px !important;
		width: 44px !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		padding: 0 !important;
	}
	#ast-hf-mobile-menu .ast-submenu-expanded > .ast-menu-toggle { transform: rotate(180deg); color: var(--ep-vert) !important; }
	#ast-hf-mobile-menu .sub-menu {
		display: none;
		grid-template-columns: 1fr 1fr;
		gap: 0 12px;
		margin: 0 0 14px !important;
		padding: 2px 0 2px 16px !important;
		border-left: 3px solid var(--ep-tilleul) !important;
		background: none !important;
	}
	#ast-hf-mobile-menu .ast-submenu-expanded > .sub-menu { display: grid !important; }
	#ast-hf-mobile-menu .sub-menu .menu-item { border: 0 !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
	#ast-hf-mobile-menu .sub-menu .menu-link { display: block; font-family: var(--ep-texte); font-size: 16px !important; line-height: 1.3 !important; color: var(--ep-encre) !important; padding: 8px 0 !important; border: 0 !important; background: none !important; }
	#ast-hf-mobile-menu .sub-menu .ast-icon.icon-arrow, #ast-hf-mobile-menu .ep-menu-desc, #ast-hf-mobile-menu .ep-menu-tout { display: none !important; }
	/* Bouton « Menu » → « Fermer » quand le menu est ouvert. */
	.ast-mobile-header-wrap .menu-toggle.toggled .mobile-menu { font-size: 0; }
	.ast-mobile-header-wrap .menu-toggle.toggled .mobile-menu::after { content: 'Fermer'; font-size: 16px; }
	.ast-mobile-header-wrap .menu-toggle .mobile-menu { font-weight: 600; }
	/* Recherche, permanence et clochers sous le menu. */
	.ast-mobile-header-content .ast-header-html { width: 100%; }
	.ast-mobile-header-content .header-widget-area, .ast-mobile-header-content .ast-header-widget-area { width: 100%; }
	.ep-menu-recherche { margin: 6px 0 6px; }
	.ep-menu-recherche .wp-block-search__inside-wrapper { border: 0 !important; padding: 0 !important; }
	.ep-menu-recherche input {
		width: 100%;
		border: 1px solid var(--ep-filet) !important;
		border-radius: 999px !important;
		background: var(--ep-blanc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1F1A' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 18px center / 20px !important;
		padding: 14px 18px 14px 50px !important;
		font-size: 17px;
	}
	.ep-menu-pied { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 0 8px; }
	.ep-menu-pied p { margin: 0; font-size: 14px; color: var(--ep-encre-douce); }
	.ep-menu-pied .ep-menu-pied__etq { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ep-vert); margin-bottom: 2px; }
	.ep-menu-appeler { background: var(--ep-vert); color: var(--ep-creme) !important; border-radius: 999px; padding: 10px 18px; font-weight: 600; text-decoration: none; white-space: nowrap; }
	.ep-menu-clochers { display: block; width: 100%; height: auto; margin-top: 8px; }
}
@media (max-width: 1100px) {
	.ast-mobile-header-content { padding-bottom: 18px !important; box-shadow: 0 24px 40px rgba(28, 31, 26, 0.12); }
}

@media (max-width: 781px) {
	.site-below-footer-wrap { padding-left: var(--ep-gouttiere) !important; padding-right: var(--ep-gouttiere) !important; }
}

/* « Le dernier document » d'un service (Trait d'Union sur l'accueil). */
.ep-dernier-document { margin-top: 14px; }
.ep-dernier-document > * + * { margin-top: 14px; }
.ep-dernier-document__fichier { display: flex; align-items: center; gap: 14px; text-decoration: none !important; color: inherit; }
.ep-dernier-document__fichier .ep-document__icone { flex: 0 0 auto; }
.ep-dernier-document__texte { display: flex; flex-direction: column; gap: 2px; }
.ep-dernier-document__titre { font-family: var(--ep-titre); font-size: 21px; line-height: 1.2; color: var(--ep-encre); }
.ep-dernier-document__fichier:hover .ep-dernier-document__titre { color: var(--ep-vert); }
.ep-dernier-document__meta { font-size: 14px; color: var(--ep-encre-douce); }
:is(.entry-content, .editor-styles-wrapper) .ep-feuille-du-mois { margin-top: 24px !important; height: auto; padding: 28px; }
:is(.entry-content, .editor-styles-wrapper) .ep-feuille-du-mois h3 { margin-top: 0; }
@media (max-width: 781px) {
	.ep-dernier-document .wp-block-button { width: 100%; }
	.ep-dernier-document .wp-block-button__link { width: 100%; text-align: center; }
}
.ep-dernier-document .ep-document__icone { font-size: 0; line-height: 0; }

/* Bandeau d'annonce (Réglages › Annonce du site). */
.ep-annonce { background: #F8E3DC; color: var(--ep-brique); text-align: center; padding: 10px var(--ep-gouttiere); }
.ep-annonce p { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.45; }
.ep-annonce a { color: var(--ep-brique); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 781px) {
	.ep-annonce p { font-size: 14px; }
}

/* Encart « La gazette du doyenné » (rempli automatiquement). */
:is(.entry-content, .editor-styles-wrapper) .ep-gazette-doyenne { margin-top: 28px !important; }
.ep-gazette-doyenne .ep-dernier-document__titre { font-size: 19px; }
.ep-gazette-doyenne .wp-block-button__link { padding: 11px 22px; font-size: 15px; }

/* Bouton « dernier numéro » compact (gazette du doyenné sur l'accueil). */
.ep-dernier-bouton { margin-top: 6px; }
.ep-dernier-bouton .wp-block-button__link { padding: 11px 22px !important; font-size: 15px !important; }
:is(.entry-content, .editor-styles-wrapper) p.ep-dernier-bouton__titre { margin: 8px 0 0; color: var(--ep-encre-douce); }
:is(.entry-content, .editor-styles-wrapper) .ep-feuille-du-mois .ep-filet { margin: 22px 0 16px; }

/* Encart « L'agenda dans votre téléphone ». */
:is(.entry-content, .editor-styles-wrapper) .ep-abonnement-encart { margin-top: 28px !important; }
.ep-abonnement .wp-block-buttons { gap: 10px; margin: 12px 0 10px; }
.ep-abonnement .wp-block-button__link { padding: 11px 20px !important; font-size: 15px !important; }
.ep-abonnement .ep-petit { margin: 8px 0 0; }
.ep-abonnement__lien { margin: 6px 0 0; }
.ep-abonnement__lien input { width: 100%; font-size: 13px; padding: 8px 10px; border: 1px solid var(--ep-filet); border-radius: 8px; background: var(--ep-blanc); color: var(--ep-encre-douce); }

/* Agenda : rendez-vous d'un jour choisi dans le calendrier. */
.ep-agenda-jour { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 14px 0 0; padding: 12px 16px; border-radius: 12px; background: var(--ep-tilleul-pale); color: var(--ep-vert); font-weight: 600; scroll-margin-top: 24px; }
.ep-agenda-jour::first-letter { text-transform: uppercase; }
.ep-agenda-jour__tout { border: 0; background: none; padding: 0; color: var(--ep-vert); font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* Agenda : choix du mois, « Voir plus », calendrier qui suit les filtres. */
:is(.entry-content, .editor-styles-wrapper) .ep-agenda-filtres__mois { margin-left: auto; }
:is(.entry-content, .editor-styles-wrapper) .ep-agenda-filtres__mois + .ep-agenda-filtres__lieux { margin-left: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-filtre-mois {
	border: 1px solid rgba(28, 31, 26, 0.22);
	background: var(--ep-blanc);
	border-radius: 10px;
	padding: 9px 14px;
	font-family: var(--ep-texte);
	font-size: 15px;
	color: var(--ep-encre);
}
.ep-agenda-plus {
	display: block;
	margin: 28px auto 0;
	border: 1.5px solid rgba(28, 31, 26, 0.8);
	background: transparent;
	color: var(--ep-encre);
	border-radius: 999px;
	padding: 13px 26px;
	font-family: var(--ep-texte);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}
.ep-agenda-plus:hover { background: var(--ep-encre); color: var(--ep-creme); }
:is(.entry-content, .editor-styles-wrapper) .ep-cal__jour--evenement.ep-cal__jour--hors-filtre { background: transparent !important; color: inherit !important; font-weight: 400; cursor: default; }
:is(.entry-content, .editor-styles-wrapper) .ep-cal__jour--evenement.ep-cal__jour--choisi { outline: 3px solid var(--ep-tilleul); outline-offset: 1px; }
/* Un élément masqué par les filtres reste masqué, quel que soit son style d'affichage. */
.ep-agenda-complet [hidden], .ep-agenda-jour[hidden], .ep-agenda-plus[hidden] { display: none !important; }

/* =================================================== Accueil, version 2 */

/* Mosaïque des quatre clochers (haut de page). */
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 20px;
	padding-top: 8px;
}
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique > * { margin: 0 !important; }
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique > :nth-child(even) { transform: translateY(44px); }
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique .is-style-ep-arche img { aspect-ratio: 4 / 5; }
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique a { display: block; transition: transform 0.2s; }
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique a:hover { transform: translateY(-3px); }
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique figcaption {
	font-family: var(--ep-main);
	font-weight: 700;
	font-size: 23px;
	color: var(--ep-encre-douce);
	text-align: center;
	margin-top: 6px;
}
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique::before,
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique::after {
	content: '';
	position: absolute;
	z-index: 2;
	pointer-events: none;
	background-repeat: no-repeat;
	background-size: contain;
}
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique::before { right: -20px; top: 0; width: 80px; height: 56px; background-image: var(--ep-feuille-tilleul-svg); transform: rotate(-10deg); }
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique::after { left: -26px; bottom: 30px; width: 60px; height: 42px; background-image: var(--ep-feuille-profonde-svg); transform: rotate(160deg); }
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique { gap: 12px 14px; margin-top: 8px; }
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique > :nth-child(even) { transform: translateY(26px); }
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique figcaption { font-size: 20px; }
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique::before { right: -6px; width: 54px; height: 38px; }
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique::after { display: none; }
}

/* Bandeau « La feuille du mois » : le Trait d'Union bien en vue. */
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau { padding-top: 64px; padding-bottom: 64px; color: rgba(251, 247, 239, 0.86); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau h2 { color: var(--ep-creme); margin: 0 0 10px; }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau p { color: rgba(251, 247, 239, 0.86); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .is-style-ep-accroche { color: var(--ep-tilleul); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .ep-dernier-document__titre { color: var(--ep-creme); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .ep-dernier-document__meta { color: rgba(251, 247, 239, 0.65); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .ep-document__icone::before { background: rgba(251, 247, 239, 0.12); color: var(--ep-creme); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .wp-block-button__link { background: var(--ep-creme); border-color: var(--ep-creme); color: var(--ep-foret); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .wp-block-button__link:hover { background: var(--ep-tilleul); border-color: var(--ep-tilleul); color: var(--ep-foret); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .ep-lien-fleche a { color: var(--ep-creme); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-gazette {
	border: 1px solid rgba(251, 247, 239, 0.22);
	border-radius: 18px;
	padding: 24px;
}
:is(.entry-content, .editor-styles-wrapper) .ep-tu-gazette > * { margin-top: 0; margin-bottom: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-gazette > * + * { margin-top: 10px; }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-gazette .is-style-ep-etiquette { color: var(--ep-tilleul); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-gazette .is-style-outline .wp-block-button__link,
:is(.entry-content, .editor-styles-wrapper) .ep-tu-gazette .wp-block-button.is-style-outline > .wp-block-button__link:not(:hover) { background: transparent; color: var(--ep-creme); border-color: rgba(251, 247, 239, 0.7); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-gazette p.ep-dernier-bouton__titre { color: rgba(251, 247, 239, 0.65); }
.ep-couverture { display: block; max-width: 230px; margin: 0 auto; transform: rotate(-3deg); transition: transform 0.2s; }
.ep-couverture:hover { transform: rotate(0deg) scale(1.02); }
.ep-couverture img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35); background: #fff; }
.ep-couverture--icone { aspect-ratio: 210 / 297; background: var(--ep-creme); border-radius: 6px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35); display: grid; place-items: center; padding: 20px; text-align: center; text-decoration: none !important; }
.ep-couverture--icone span { font-family: var(--ep-titre); font-size: 22px; color: var(--ep-foret); }
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau { padding-top: 44px; padding-bottom: 44px; }
	.ep-couverture { max-width: 160px; }
}

/* Prochains rendez-vous en grandes cartes. */
.ep-cartes-evt { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ep-carte-evt { margin: 0; }
.ep-carte-evt__lien {
	display: flex;
	gap: 18px;
	height: 100%;
	padding: 24px;
	background: var(--ep-blanc);
	border: 1px solid var(--ep-filet);
	border-radius: 20px;
	text-decoration: none !important;
	color: inherit;
	transition: transform 0.2s, box-shadow 0.2s;
}
.ep-carte-evt__lien:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(28, 31, 26, 0.10); }
.ep-carte-evt__date { flex: 0 0 64px; text-align: center; }
.ep-carte-evt__date strong { display: block; font-family: var(--ep-titre); font-weight: 500; font-size: 52px; line-height: 1; color: var(--ep-vert); }
.ep-carte-evt__date span { display: block; font-family: var(--ep-main); font-weight: 700; font-size: 26px; line-height: 1.1; color: var(--ep-brique); }
.ep-carte-evt__date em { display: block; font-style: normal; font-size: 13px; color: var(--ep-encre-douce); }
.ep-carte-evt__corps { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ep-carte-evt__theme { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ep-vert); }
.ep-carte-evt__titre { font-family: var(--ep-titre); font-size: 24px; line-height: 1.2; color: var(--ep-encre); }
.ep-carte-evt__infos { font-size: 15px; color: var(--ep-encre-douce); }
.ep-carte-evt__suite { margin-top: auto; padding-top: 6px; font-size: 15px; font-weight: 600; color: var(--ep-vert); text-decoration: underline; text-underline-offset: 3px; }
.ep-carte-evt__suite::after { content: '  →'; white-space: pre; }
:is(.entry-content, .editor-styles-wrapper) .ep-avenir .ep-tete-ligne { margin-bottom: 36px; }
:is(.entry-content, .editor-styles-wrapper) .ep-avenir .ep-tete-ligne .wp-block-column:last-child { text-align: right; }
:is(.entry-content, .editor-styles-wrapper) .ep-avenir .ep-tete-ligne .wp-block-buttons { justify-content: flex-end; margin-top: 14px; }
@media (max-width: 1000px) {
	.ep-cartes-evt { grid-template-columns: 1fr; gap: 14px; }
	:is(.entry-content, .editor-styles-wrapper) .ep-avenir .ep-tete-ligne .wp-block-column:last-child { text-align: left; }
	:is(.entry-content, .editor-styles-wrapper) .ep-avenir .ep-tete-ligne .wp-block-column:last-child p { margin-left: 0; }
	:is(.entry-content, .editor-styles-wrapper) .ep-avenir .ep-tete-ligne .wp-block-buttons { justify-content: flex-start; }
}

/* L'événement à la une : dans « À venir », la carte passe en tête, soulignée. */
.ep-carte-evt--une .ep-carte-evt__lien { border-color: var(--ep-tilleul); box-shadow: inset 4px 0 0 var(--ep-tilleul); }
.ep-carte-evt__une { align-self: flex-start; font-family: var(--ep-main); font-weight: 700; font-size: 19px; line-height: 1; color: var(--ep-brique); }

/* « À ne pas manquer » : le temps fort en vue dès le haut de l'accueil (bloc agenda, format « À la une »). */
.ep-une { margin: 26px 0 4px; }
.ep-une__lien {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 16px 22px 16px 16px;
	background: var(--ep-blanc);
	border: 1px solid var(--ep-tilleul);
	border-radius: 20px;
	box-shadow: inset 4px 0 0 var(--ep-tilleul);
	text-decoration: none !important;
	color: inherit;
	transition: transform 0.2s, box-shadow 0.2s;
}
.ep-une__lien:hover { transform: translateY(-2px); box-shadow: inset 4px 0 0 var(--ep-tilleul), 0 14px 30px rgba(28, 31, 26, 0.10); }
.ep-une__image { flex: 0 0 96px; }
.ep-une__image img { display: block; width: 96px; height: 120px; object-fit: cover; border-radius: 48px 48px 10px 10px; }
.ep-une__date { flex: 0 0 72px; text-align: center; }
.ep-une__date strong { display: block; font-family: var(--ep-titre); font-weight: 500; font-size: 50px; line-height: 1; color: var(--ep-vert); }
.ep-une__date span { display: block; font-family: var(--ep-main); font-weight: 700; font-size: 24px; line-height: 1.1; color: var(--ep-brique); }
.ep-une__corps { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ep-une__etiquette { font-family: var(--ep-main); font-weight: 700; font-size: 20px; line-height: 1; color: var(--ep-brique); }
.ep-une__titre { font-family: var(--ep-titre); font-size: 24px; line-height: 1.2; color: var(--ep-encre); }
.ep-une__infos { font-size: 15px; color: var(--ep-encre-douce); }
.ep-une__suite { font-size: 15px; font-weight: 600; color: var(--ep-vert); text-decoration: underline; text-underline-offset: 3px; }
.ep-une__suite::after { content: '  →'; white-space: pre; }
@media (max-width: 781px) {
	.ep-une__lien { gap: 14px; padding: 12px 16px 12px 12px; }
	.ep-une__image { flex-basis: 76px; }
	.ep-une__image img { width: 76px; height: 96px; border-radius: 38px 38px 8px 8px; }
	.ep-une__date { flex-basis: 56px; }
	.ep-une__date strong { font-size: 40px; }
	.ep-une__titre { font-size: 21px; }
}

/* Téléphone : les quatre clochers en bande qu'on fait glisser du doigt, au lieu
   d'une mosaïque haute d'un écran ; « À venir » remonte d'autant. */
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin-right: -20px;
		padding: 4px 20px 6px 0;
		scrollbar-width: none;
	}
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique::-webkit-scrollbar { display: none; }
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique > * { flex: 0 0 38%; scroll-snap-align: start; }
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique > :nth-child(even) { transform: none; }
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique figcaption { font-size: 18px; margin-top: 4px; }
	:is(.entry-content, .editor-styles-wrapper) .ep-mosaique::before { display: none; }
}

/* La parole de la semaine, centrée. */
:is(.entry-content, .editor-styles-wrapper) .ep-niche-centree { max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
:is(.entry-content, .editor-styles-wrapper) .ep-mosaique .wp-block-image.is-style-ep-arche figcaption { text-align: center; margin-top: 6px; }
:is(.entry-content, .editor-styles-wrapper) .ep-s > .ep-niche-centree { max-width: 620px; }
:is(.entry-content, .editor-styles-wrapper) .ep-parole-section { padding-top: 64px; }

/* Bloc partagé « Communauté WhatsApp ». */
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp {
	gap: 18px;
	margin-top: 22px !important;
	padding: 18px;
	border-radius: 18px;
	background: var(--ep-blanc);
	border: 1px solid var(--ep-filet);
}
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp > * { margin: 0 !important; }
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__qr { flex: 0 0 104px; }
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__qr img { width: 104px; height: 104px; border-radius: 10px; background: #fff; padding: 4px; border: 1px solid var(--ep-filet); }
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__texte { flex: 1; min-width: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__texte > * { margin: 0; }
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__texte > * + * { margin-top: 6px; }
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__bouton { margin-top: 10px !important; }
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__bouton .wp-block-button__link { padding: 10px 18px 10px 16px !important; font-size: 15px !important; display: inline-flex; align-items: center; gap: 8px; width: auto !important; }
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__bouton .wp-block-button__link::before {
	content: '';
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.6.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.3-.4.7-1.3.1-.2 0-.3 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.6a2.7 2.7 0 0 0 1.8-1.3 2.2 2.2 0 0 0 .2-1.3c-.1-.1-.3-.2-.5-.3z'/%3E%3C/svg%3E") no-repeat center / contain;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.6.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.3-.4.7-1.3.1-.2 0-.3 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.6a2.7 2.7 0 0 0 1.8-1.3 2.2 2.2 0 0 0 .2-1.3c-.1-.1-.3-.2-.5-.3z'/%3E%3C/svg%3E") no-repeat center / contain;
}
:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__aide { color: var(--ep-encre-douce); font-size: 13px !important; }
/* Dans le bandeau vert du Trait d'Union : version claire sur fond sombre. */
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .ep-whatsapp { background: transparent; border-color: rgba(251, 247, 239, 0.22); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .ep-whatsapp .is-style-ep-etiquette { color: var(--ep-tilleul); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .ep-whatsapp__aide { color: rgba(251, 247, 239, 0.6); }
:is(.entry-content, .editor-styles-wrapper) .ep-tu-bandeau .ep-whatsapp__qr img { border-color: transparent; }
/* Sur téléphone, le bouton suffit : le QR code ne sert qu'à l'ordinateur. */
@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__qr, :is(.entry-content, .editor-styles-wrapper) .ep-whatsapp__aide { display: none; }
}

/* Dans une colonne, les cartes d'événements s'empilent (accueil). */
:is(.entry-content, .editor-styles-wrapper) .wp-block-column .ep-cartes-evt { grid-template-columns: 1fr; gap: 14px; margin: 26px 0 8px; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-column .ep-carte-evt__lien { padding: 20px 24px; align-items: center; }
:is(.entry-content, .editor-styles-wrapper) .wp-block-column .ep-carte-evt__suite { margin-top: 2px; padding-top: 0; }
/* WhatsApp dans « Nous rencontrer ». */
:is(.entry-content, .editor-styles-wrapper) .wp-block-column > .ep-whatsapp { margin-top: 28px !important; }
