/* ==========================================================================
   Corps de Conscience — styles du site (thème enfant de Mahymedia Base)
   Couleurs et polices : theme.json. Filigrane : variable --cdc-filigrane (inc/assets.php).
   ========================================================================== */


html { scroll-behavior: smooth; overflow-x: clip; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
h1, h2, h3, h4, h5, h6 { text-wrap: balance; }
p { text-wrap: pretty; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

/* Les sections pleine largeur se touchent, sans marge entre elles */
:where(.wp-site-blocks, .wp-block-post-content, main) > .alignfull { margin-block: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* --------------------------------------------------------------------------
   Sections
   -------------------------------------------------------------------------- */
[class*="is-style-section-"] {
	padding-block: var(--wp--preset--spacing--70);
	position: relative;
}
.is-style-section-claire  { background: var(--wp--preset--color--fond); color: var(--wp--preset--color--texte); }
.is-style-section-douce   { background: var(--wp--preset--color--fond-alt); color: var(--wp--preset--color--texte); }
.is-style-section-sombre  { background: var(--wp--preset--color--marque); color: var(--wp--preset--color--fond); }
.is-style-section-sombre-2 { background: var(--wp--preset--color--brun); color: var(--wp--preset--color--fond); }
.is-style-section-accent  { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--fond); }

/* Textes secondaires */
.is-style-section-claire .cdc-doux, .is-style-section-douce .cdc-doux,
.is-style-section-claire .is-style-chapo, .is-style-section-douce .is-style-chapo { color: var(--wp--preset--color--gris); }
:is(.is-style-section-sombre, .is-style-section-sombre-2) :is(.cdc-doux, .is-style-chapo) { color: color-mix(in srgb, var(--wp--preset--color--fond) 72%, transparent); }

/* Boutons dans les sections sombres */
:is(.is-style-section-sombre, .is-style-section-sombre-2) .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--fond);
}
:is(.is-style-section-sombre, .is-style-section-sombre-2, .is-style-section-accent) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background: var(--wp--preset--color--fond);
	color: var(--wp--preset--color--marque);
}
.is-style-section-accent .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background: var(--wp--preset--color--marque); }

/* Boutons contour */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
	color: inherit;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--marque);
	border-color: var(--wp--preset--color--marque);
	color: var(--wp--preset--color--fond);
}
:is(.is-style-section-sombre, .is-style-section-sombre-2, .is-style-section-accent) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--fond);
	border-color: var(--wp--preset--color--fond);
	color: var(--wp--preset--color--marque);
}

/* --------------------------------------------------------------------------
   Paragraphes
   -------------------------------------------------------------------------- */
.is-style-surtitre {
	font-size: 0.78rem !important;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 400;
	color: var(--wp--preset--color--accent);
	line-height: 1.5;
}
:is(.is-style-section-sombre, .is-style-section-sombre-2) .is-style-surtitre { color: var(--wp--preset--color--accent-clair); }
.is-style-section-accent .is-style-surtitre { color: var(--wp--preset--color--marque); }
.is-style-chapo { font-size: var(--wp--preset--font-size--moyen); line-height: 1.6; max-width: 34em; }

.cdc-filet {
	border-top: 1px solid var(--wp--preset--color--accent);
	padding-top: 1.4em;
}
.cdc-triade { font-family: var(--wp--preset--font-family--titre); font-size: 1.15rem; }
.cdc-triade .cdc-point { color: var(--wp--preset--color--accent); padding-inline: 0.5em; }

/* --------------------------------------------------------------------------
   Images en arche : ombre interne + parallaxe
   -------------------------------------------------------------------------- */
.wp-block-image:is(.is-style-arche, .is-style-arche-haute, .is-style-arche-inversee, .is-style-galet, .is-style-cercle) {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	max-width: 100%;
	margin-inline: auto;
}
.wp-block-image.is-style-arche          { aspect-ratio: 4 / 5; border-radius: 999px 999px var(--wp--custom--rayon) var(--wp--custom--rayon); }
.wp-block-image.is-style-arche-haute    { aspect-ratio: 3 / 4; border-radius: 999px 999px 0 0; }
.wp-block-image.is-style-arche-inversee { aspect-ratio: 4 / 5; border-radius: var(--wp--custom--rayon) var(--wp--custom--rayon) 999px 999px; }
.wp-block-image.is-style-galet          { aspect-ratio: 1; border-radius: 50% / 60% 60% 40% 40%; }
.wp-block-image.is-style-cercle         { aspect-ratio: 1; border-radius: 50%; }

.wp-block-image:is(.is-style-arche, .is-style-arche-haute, .is-style-arche-inversee, .is-style-galet, .is-style-cercle) > a {
	position: absolute;
	inset: 0;
}
.wp-block-image:is(.is-style-arche, .is-style-arche-haute, .is-style-arche-inversee, .is-style-galet, .is-style-cercle) img {
	position: absolute !important;
	left: 0;
	top: -12%;
	width: 100% !important;
	height: 124% !important;
	max-width: none !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	will-change: transform;
}
.wp-block-image:is(.is-style-arche, .is-style-arche-haute, .is-style-arche-inversee, .is-style-galet, .is-style-cercle)::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	pointer-events: none;
	box-shadow:
		inset 0 14px 28px -6px rgba(20, 14, 10, 0.45),
		inset 0 -6px 18px -8px rgba(20, 14, 10, 0.25),
		inset 0 0 0 1px rgba(20, 14, 10, 0.12);
}
.wp-block-image:is(.is-style-arche, .is-style-arche-haute, .is-style-arche-inversee, .is-style-galet, .is-style-cercle) figcaption { display: none; }

/* --------------------------------------------------------------------------
   Témoignages, citations, cartes, carrousel
   -------------------------------------------------------------------------- */
.wp-block-quote.is-style-temoignage {
	margin: 0;
	padding: 2em 1.8em;
	border-radius: var(--wp--custom--rayon);
	background: var(--wp--preset--color--fond);
	color: var(--wp--preset--color--texte);
	display: grid;
	gap: 1.2em;
	align-content: space-between;
}
:is(.is-style-section-sombre, .is-style-section-sombre-2) .wp-block-quote.is-style-temoignage {
	background: var(--wp--preset--color--marque);
	color: color-mix(in srgb, var(--wp--preset--color--fond) 80%, transparent);
}
.is-style-section-sombre .wp-block-quote.is-style-temoignage { background: var(--wp--preset--color--brun); }
.wp-block-quote.is-style-temoignage::before {
	content: "\201C";
	display: block;
	font-family: var(--wp--preset--font-family--titre);
	font-size: 3.4rem;
	line-height: 0.6;
	color: var(--wp--preset--color--accent);
}
.wp-block-quote.is-style-temoignage p { font-size: 1.02em; line-height: 1.65; margin: 0; }
.wp-block-quote.is-style-temoignage cite {
	font-style: normal;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-clair);
}

.wp-block-quote.is-style-citation {
	margin-inline: auto;
	max-width: 18em;
	text-align: center;
	font-family: var(--wp--preset--font-family--titre);
	font-size: var(--wp--preset--font-size--tres-grand);
	line-height: 1.15;
}
.wp-block-quote.is-style-citation p { margin: 0; }
.wp-block-quote.is-style-citation cite {
	display: block;
	margin-top: 1.4em;
	font-family: var(--wp--preset--font-family--texte);
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.wp-block-group.is-style-carte {
	background: color-mix(in srgb, var(--wp--preset--color--accent) 12%, transparent);
	border-radius: 18px;
	padding: 1.1em 1.2em;
}
:is(.is-style-section-sombre, .is-style-section-sombre-2) .wp-block-group.is-style-carte { background: color-mix(in srgb, var(--wp--preset--color--fond) 8%, transparent); }

.wp-block-group.is-style-carrousel {
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: min(420px, 85%);
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 12px;
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--accent) transparent;
}
.wp-block-group.is-style-carrousel > * {
	scroll-snap-align: start;
	margin: 0 !important;
	max-width: none !important;
}
.cdc-carrousel-nav { display: flex; gap: 10px; justify-content: flex-end; margin-top: 1.4rem; }
.cdc-carrousel-nav button {
	width: 48px; height: 48px;
	border-radius: 50%;
	border: 1px solid currentColor;
	background: transparent;
	color: inherit;
	font-size: 1.1rem;
	cursor: pointer;
	transition: background var(--wp--custom--transition), color var(--wp--custom--transition);
}
.cdc-carrousel-nav button:hover { background: currentColor; }
.cdc-carrousel-nav button:hover span { color: var(--wp--preset--color--marque); }
.is-style-section-claire .cdc-carrousel-nav button:hover span,
.is-style-section-douce .cdc-carrousel-nav button:hover span { color: var(--wp--preset--color--fond); }

.wp-block-list.is-style-sans-puces { list-style: none; padding-left: 0; }

/* --------------------------------------------------------------------------
   Filigrane (logo délavé qui déborde de la section)
   Le thème enfant définit --cdc-filigrane : url(...) de son logo.
   -------------------------------------------------------------------------- */
.cdc-filigrane { position: relative; }
.cdc-filigrane::before {
	content: "";
	position: absolute;
	z-index: 1;
	pointer-events: none;
	width: clamp(420px, 58vw, 860px);
	aspect-ratio: 1;
	left: -15vw;
	bottom: -300px;
	background: var(--wp--preset--color--marque);
	opacity: 0.075;
	mix-blend-mode: multiply;
	-webkit-mask: var(--cdc-filigrane) no-repeat center / contain;
	mask: var(--cdc-filigrane) no-repeat center / contain;
	transform: rotate(-9deg);
}
.cdc-filigrane > * { position: relative; z-index: 2; }
@media (max-width: 781px) {
	.cdc-filigrane::before { width: 110vw; left: -35vw; bottom: auto; top: 10%; opacity: 0.07; }
}

/* Petit logo flottant posé sur une image */
.cdc-flottant { position: relative; }
.cdc-flottant > .cdc-flottant-logo {
	position: absolute;
	z-index: 3;
	width: 32%;
	left: -14%;
	bottom: 8%;
	margin: 0 !important;
	animation: cdc-flotte 9s ease-in-out infinite;
}
@keyframes cdc-flotte { 50% { transform: translateY(-12px) rotate(-3deg); } }
@media (max-width: 781px) { .cdc-flottant > .cdc-flottant-logo { left: -6%; width: 26%; } }

/* --------------------------------------------------------------------------
   Apparition douce (bandeau d'accueil)
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	.cdc-apparition > * { animation: cdc-monte 0.9s cubic-bezier(.2, .7, .2, 1) both; }
	.cdc-apparition > *:nth-child(2) { animation-delay: 0.08s; }
	.cdc-apparition > *:nth-child(3) { animation-delay: 0.16s; }
	.cdc-apparition > *:nth-child(4) { animation-delay: 0.24s; }
	.cdc-apparition > *:nth-child(5) { animation-delay: 0.32s; }
	@keyframes cdc-monte { from { opacity: 0.001; transform: translateY(18px); } }
}

/* --------------------------------------------------------------------------
   Accessibilité : mouvement réduit
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.wp-block-image:is(.is-style-arche, .is-style-arche-haute, .is-style-arche-inversee, .is-style-galet, .is-style-cercle) img { top: 0; height: 100% !important; }
}

/* --------------------------------------------------------------------------
   Sections « accent » (ocre) : textes et cartes lisibles
   -------------------------------------------------------------------------- */
.is-style-section-accent :is(.cdc-doux, .is-style-chapo, p) { color: var(--wp--preset--color--fond); font-weight: 400; }
.is-style-section-accent .cdc-filet { border-top-color: color-mix(in srgb, var(--wp--preset--color--fond) 55%, transparent); }
.is-style-section-accent .wp-block-group.is-style-carte { background: color-mix(in srgb, var(--wp--preset--color--fond) 16%, transparent); }
.is-style-section-accent .wp-block-quote.is-style-temoignage { background: var(--wp--preset--color--fond); color: var(--wp--preset--color--texte); }
.is-style-section-accent .wp-block-quote.is-style-temoignage p { color: var(--wp--preset--color--texte); font-weight: 300; }
.is-style-section-accent .wp-block-quote.is-style-temoignage cite { color: var(--wp--preset--color--accent); }
.is-style-section-accent .cdc-carrousel-nav button:hover span { color: var(--wp--preset--color--accent); }
.is-style-section-accent .wp-block-group.is-style-carrousel { scrollbar-color: var(--wp--preset--color--fond) transparent; }

/* --------------------------------------------------------------------------
   Logo qui revient en filigrane, à des tailles et places différentes.
   Classes à ajouter sur une section : cdc-logo-haut-droite, cdc-logo-haut-gauche,
   cdc-logo-gauche, cdc-logo-droite, cdc-logo-bas-droite (déborde sur la suivante),
   cdc-logo-petit. La couleur s'adapte au fond.
   -------------------------------------------------------------------------- */
[class*="is-style-section-"] > * { position: relative; z-index: 2; }
[class*="cdc-logo-"]::after {
	content: "";
	position: absolute;
	z-index: 1;
	pointer-events: none;
	aspect-ratio: 1;
	background: var(--cdc-logo-couleur, var(--wp--preset--color--accent));
	opacity: var(--cdc-logo-opacite, 0.12);
	-webkit-mask: var(--cdc-filigrane) no-repeat center / contain;
	mask: var(--cdc-filigrane) no-repeat center / contain;
}
.is-style-section-accent[class*="cdc-logo-"]  { --cdc-logo-couleur: var(--wp--preset--color--fond); --cdc-logo-opacite: 0.13; }
.is-style-section-sombre[class*="cdc-logo-"], .is-style-section-sombre-2[class*="cdc-logo-"] { --cdc-logo-couleur: var(--wp--preset--color--accent); --cdc-logo-opacite: 0.14; }

.cdc-logo-haut-droite::after  { width: clamp(260px, 30vw, 440px); right: -6vw; top: -70px; transform: rotate(10deg); }
.cdc-logo-haut-gauche::after  { width: clamp(200px, 22vw, 320px); left: -5vw; top: -30px; transform: rotate(-8deg); }
.cdc-logo-gauche::after       { width: clamp(150px, 16vw, 230px); left: -3vw; top: 34%; transform: rotate(-14deg); opacity: 0.11; }
.cdc-logo-droite::after       { width: clamp(240px, 26vw, 360px); right: -5vw; top: 50%; transform: translateY(-50%) rotate(-6deg); }
.cdc-logo-petit::after        { width: clamp(110px, 11vw, 160px); right: 7vw; top: 48px; transform: rotate(12deg); opacity: 0.15; }
.cdc-logo-bas-droite::after   {
	width: clamp(320px, 38vw, 560px); right: -9vw; bottom: -190px; transform: rotate(6deg);
	background: var(--wp--preset--color--marque); opacity: 0.07; mix-blend-mode: multiply;
}
@media (max-width: 781px) {
	.cdc-logo-gauche::after { display: none; }
	.cdc-logo-bas-droite::after { width: 70vw; right: -25vw; bottom: -120px; }
	.cdc-logo-haut-droite::after { width: 55vw; right: -18vw; }
	.cdc-logo-haut-gauche::after { width: 50vw; left: -15vw; }
	.cdc-logo-droite::after { width: 55vw; right: -20vw; }
}
.is-style-section-accent p.is-style-surtitre { color: var(--wp--preset--color--marque); font-weight: 500; }


/* ==========================================================================
   Sections des pages
   ========================================================================== */

/* Bandeaux */
.cdc-bandeau { padding-block: clamp(48px, 8vw, 110px) clamp(56px, 8vw, 120px); }
.cdc-bandeau h1 { margin-block: 0.35em 0.45em; }
.cdc-bandeau .wp-block-image.is-style-arche { max-width: 460px; margin-left: auto; }
.cdc-bandeau-page .wp-block-image.is-style-arche { max-width: 400px; }
.cdc-bandeau .wp-block-buttons { margin-top: 2.2em; }
.cdc-triade { margin-top: 2.6em; }
.cdc-flottant { max-width: 460px; margin-left: auto; }
.cdc-flottant > .cdc-flottant-logo img { width: 100%; height: auto; }
@media (max-width: 781px) {
	.cdc-bandeau .wp-block-image.is-style-arche, .cdc-flottant { margin-inline: auto; max-width: 340px; }
}

/* Titres de section */
.cdc-entete-section { margin-bottom: clamp(40px, 6vw, 72px); }
.cdc-tete-centree { margin-bottom: clamp(40px, 6vw, 72px); }
.cdc-tete-centree > * { margin-inline: auto; }
.cdc-tete-centree p:not(.is-style-surtitre) { max-width: 40em; }

/* Liens « Mon approche » */
.cdc-lien a {
	font-size: 0.85rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 0.2em;
	font-weight: 400;
	color: var(--wp--preset--color--brun);
}
.cdc-lien a:hover { color: var(--wp--preset--color--accent); }

/* Cartes univers */
.cdc-univers .wp-block-column { display: flex; flex-direction: column; gap: 0.6rem; max-width: 380px; }
.cdc-univers .wp-block-column > * { margin: 0; }
.cdc-univers .wp-block-image { width: 100%; margin-bottom: 0.6rem !important; transition: transform 0.6s cubic-bezier(.2, .7, .2, 1); }
.cdc-univers .wp-block-column:hover .wp-block-image { transform: translateY(-8px); }
.cdc-univers .cdc-doux { min-height: 3.4em; }

/* Citation */
.cdc-motif { overflow: hidden; }
.cdc-motif::after {
	content: "";
	position: absolute;
	width: min(520px, 70vw);
	aspect-ratio: 1;
	right: -6%;
	top: 50%;
	transform: translateY(-50%);
	background: var(--wp--preset--color--marque);
	opacity: 0.12;
	-webkit-mask: var(--cdc-filigrane) no-repeat center / contain;
	mask: var(--cdc-filigrane) no-repeat center / contain;
	pointer-events: none;
}
.cdc-motif .wp-block-quote.is-style-citation { color: var(--wp--preset--color--fond); position: relative; z-index: 1; }
.cdc-motif .wp-block-quote.is-style-citation cite { color: var(--wp--preset--color--marque); }

/* Week-end */
.cdc-week-end .wp-block-image.is-style-galet { max-width: 480px; }
.cdc-etapes { gap: 18px; margin-block: 1.6em 2.2em !important; }
.cdc-etapes .is-style-carte > * { margin: 0; }
.cdc-etape-titre { font-family: var(--wp--preset--font-family--titre); font-size: 1.05rem; }
.cdc-etape-titre strong { font-weight: 400; }
.cdc-etapes .cdc-doux { font-size: 0.88rem; line-height: 1.5; }

/* Portrait */
.cdc-laurence .wp-block-image.is-style-arche-inversee { max-width: 420px; }

/* Contact */
.cdc-tel { font-family: var(--wp--preset--font-family--titre); font-size: clamp(1.6rem, 3vw, 2.2rem); font-variant-numeric: tabular-nums; }
.cdc-tel a { text-decoration: none; }

/* Sections de texte */
.cdc-texte { padding-block: var(--wp--preset--spacing--60); }
.cdc-texte h2 { margin-top: 1.2em; }
.cdc-texte > h2:first-of-type { margin-top: 0; }
.cdc-texte .is-style-surtitre + h2, .cdc-texte .wp-block-column > h2:first-child { margin-top: 1.25rem; }
.cdc-texte .wp-block-column > h2:first-child { margin-top: 0; }
.cdc-texte .wp-block-list li + li { margin-top: 0.4em; }



/* ==========================================================================
   Agenda : prochaines dates [cdc_dates] et cours [cdc_cours]
   ========================================================================== */
.cdc-dates, .cdc-cours, .cdc-form-wrap {
	--cdc-texte: var(--wp--preset--color--texte, #413429);
	--cdc-doux: var(--wp--preset--color--gris, #6b5a4d);
	--cdc-accent: var(--wp--preset--color--accent, #ac796e);
	--cdc-fond: var(--wp--preset--color--fond, #fffbf4);
	--cdc-ligne: color-mix(in srgb, currentColor 18%, transparent);
	--cdc-titre: var(--wp--preset--font-family--titre, Georgia, serif);
}
.cdc-vide { font-style: italic; opacity: 0.75; }

/* Cartes */
.cdc-dates--cartes {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 24px;
}
.cdc-dates--cartes .cdc-date {
	background: var(--cdc-fond);
	color: var(--cdc-texte);
	border-radius: 24px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 0 var(--cdc-ligne);
}
.cdc-date__image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.cdc-date__corps { padding: 1.6em 1.6em 1.8em; display: flex; flex-direction: column; gap: 0.55em; flex: 1; }
.cdc-date__corps > * { margin: 0; }
.cdc-date__quand { font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cdc-accent); font-weight: 400; }
.cdc-date__titre { font-family: var(--cdc-titre); font-weight: 400; font-size: 1.6rem; line-height: 1.15; }
.cdc-date__lieu, .cdc-date__resume { color: var(--cdc-doux); font-size: 0.95rem; }
.cdc-date__lieu a { color: inherit; }
.cdc-date__pied { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin-top: auto !important; padding-top: 0.6em; font-size: 0.95rem; }
.cdc-date__tarif strong { font-family: var(--cdc-titre); font-weight: 400; font-size: 1.2rem; }
.cdc-date__places { color: var(--cdc-doux); font-size: 0.85rem; }
.cdc-date__bouton { margin-top: 0.8em; }
.cdc-badge {
	display: inline-block;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.3em 0.8em;
	border-radius: 999px;
	background: var(--cdc-accent);
	color: var(--cdc-fond);
	vertical-align: middle;
}
.cdc-date--complet .cdc-badge { background: var(--cdc-texte); }
.cdc-date--annule { opacity: 0.6; }
.cdc-date--annule .cdc-date__titre { text-decoration: line-through; }

/* Présentation compacte : Prochaines dates | Lieu | Groupe — police du texte */
.cdc-dates--compact {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, max-content));
	gap: 12px 36px;
	margin-block: 1.8em;
	padding-block: 1.3em;
	border-block: 1px solid var(--cdc-ligne);
}
.cdc-dates--compact .cdc-info { display: grid; gap: 0.25em; align-content: start; }
.cdc-dates--compact dt { font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--cdc-accent); font-weight: 400; }
.cdc-dates--compact dd { margin: 0; display: grid; gap: 0.2em; line-height: 1.35; }
.cdc-dates--compact dd strong { font-weight: 500; font-size: 1.08rem; color: var(--cdc-texte); }
.cdc-dates--compact .cdc-sec { font-weight: 300; font-size: 0.95rem; color: var(--cdc-doux); }
.cdc-dates--compact .cdc-badge { margin-left: 0.4em; }
@media (max-width: 560px) { .cdc-dates--compact { grid-template-columns: 1fr 1fr; } }

/* Cours */
.cdc-cours__table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.cdc-cours__table caption { caption-side: top; text-align: left; font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cdc-accent); padding-bottom: 0.8em; }
.cdc-cours__table th { text-align: left; font-weight: 400; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cdc-doux); padding: 0 0.8em 0.7em 0; border-bottom: 1px solid var(--cdc-ligne); }
.cdc-cours__table td { padding: 1em 0.8em 1em 0; border-bottom: 1px solid var(--cdc-ligne); vertical-align: top; }
.cdc-cours__jour { font-weight: 500; font-size: 1.02rem; white-space: nowrap; }
.cdc-cours__horaire { white-space: nowrap; font-variant-numeric: tabular-nums; }
.cdc-cours__titre strong { font-weight: 500; }
.cdc-cours__niveau, .cdc-cours__note { display: block; color: var(--cdc-doux); font-size: 0.88rem; }
.cdc-cours__table a { color: inherit; }
@media (max-width: 700px) {
	.cdc-cours__table thead { display: none; }
	.cdc-cours__table, .cdc-cours__table tbody, .cdc-cours__table tr, .cdc-cours__table td { display: block; }
	.cdc-cours__table tr { padding: 1em 0; border-bottom: 1px solid var(--cdc-ligne); }
	.cdc-cours__table td { border: 0; padding: 0.15em 0; }
	.cdc-cours__table td[data-label="Lieu"]::before, .cdc-cours__table td[data-label="Tarif"]::before {
		content: attr(data-label) " : ";
		color: var(--cdc-doux);
	}
}


/* ==========================================================================
   Mise en page (gabarit « Pleine largeur » du parent)
   ========================================================================== */
:root {
	--mm-header-height: 76px;
	--mm-gutter: var(--wp--custom--gouttiere, clamp(20px, 5vw, 64px));
	--mm-transition: var(--wp--custom--transition, .35s ease);
}
html { overflow-x: clip; }
body { overflow-x: clip; }
.mm-content--full > .alignfull[class*="is-style-section-"],
.mm-content--full > [class*="is-style-section-"] { padding-inline: var(--mm-gutter); }
.mm-content--full > * + * { margin-block-start: 0; }
.mm-entry--full, .mm-content--full { padding-bottom: 0; }
.mm-page-header + .mm-content { padding-bottom: var(--mm-section); }
.cdc-a-completer { background: color-mix(in srgb, var(--wp--preset--color--accent) 12%, transparent); padding: .6em .9em; border-radius: 10px; }

/* ==========================================================================
   En-tête
   ========================================================================== */
.cdc-header .mm-navbar {
	background: var(--wp--preset--color--marque);
	color: var(--wp--preset--color--fond);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--fond) 14%, transparent);
}
.cdc-header .mm-navbar__inner {
	max-width: calc(var(--wp--style--global--wide-size, 1180px) + 2 * var(--mm-gutter));
	margin-inline: auto;
	padding-inline: var(--mm-gutter);
	min-height: var(--mm-header-height);
}
.cdc-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; position: relative; z-index: 3; }
.cdc-brand__logo { width: 40px; height: 40px; object-fit: contain; flex: none; }
.cdc-brand__textes { display: grid; line-height: 1.1; }
.cdc-brand__nom { font-family: var(--wp--preset--font-family--titre); font-weight: 600; font-size: 1.2rem; letter-spacing: -0.01em; }
.cdc-brand__sous { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--wp--preset--color--accent-clair); margin-top: 4px; }

/* Menu grand écran */
.cdc-header .mm-nav__menu { gap: 0 clamp(18px, 2.2vw, 34px); font-size: 0.92rem; }
.cdc-header .mm-nav__menu > li > a { position: relative; padding-block: 10px; }
.cdc-header .mm-nav__menu > li:not(.cdc-nav-cta) > a::after {
	content: ""; position: absolute; left: 0; right: 100%; bottom: 4px; height: 1px;
	background: var(--wp--preset--color--accent-clair); transition: right var(--mm-transition);
}
.cdc-header .mm-nav__menu > li:not(.cdc-nav-cta) > a:hover::after,
.cdc-header .mm-nav__menu > li.current-menu-item > a::after,
.cdc-header .mm-nav__menu > li.current-menu-ancestor > a::after { right: 0; }
.cdc-header .mm-nav__menu .sub-menu {
	background: var(--wp--preset--color--marque);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--fond) 14%, transparent);
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(20, 14, 10, .25);
	min-width: 240px;
	left: -20px;
}
.cdc-header .mm-nav__menu .sub-menu a { padding: 9px 20px; }
.cdc-header .mm-nav__menu .sub-menu a:hover { color: var(--wp--preset--color--accent-clair); }
.cdc-header .cdc-nav-cta > a {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--fond);
	border-radius: 999px;
	padding: 0.75em 1.4em !important;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: background var(--mm-transition), color var(--mm-transition);
}
.cdc-header .cdc-nav-cta > a:hover { background: var(--wp--preset--color--fond); color: var(--wp--preset--color--marque); }

/* Burger signature « ME / NU » : fourni et animé par Mahymedia Base (1.1+) */
.cdc-header { --mm-burger-size: 48px; --mm-burger-close: var(--wp--preset--color--accent-clair); }
.cdc-header .mm-nav__toggle { position: relative; z-index: 3; }

/* Menu mobile : panneau plein écran */
@media (max-width: 1024px) {
	.cdc-header .mm-nav__menu {
		position: fixed;
		inset: 0;
		top: 0;
		max-height: none;
		height: 100dvh;
		padding: calc(var(--mm-header-height) + 36px + var(--wp-admin--admin-bar--height, 0px)) var(--mm-gutter) 48px;
		background: var(--wp--preset--color--marque);
		color: var(--wp--preset--color--fond);
		box-shadow: none;
		align-items: flex-start;
		gap: .2em;
		z-index: 2;
		overflow: hidden auto;
		font-size: 1rem;
	}
	.cdc-header .mm-nav.is-open .mm-nav__menu { display: flex; animation: cdc-ouverture .6s cubic-bezier(.7, 0, .2, 1) both; }
	.cdc-header .mm-nav__menu::after {
		content: ""; position: fixed; width: min(90vw, 520px); aspect-ratio: 1; right: -30vw; bottom: -12vh;
		background: var(--wp--preset--color--accent); opacity: .08; pointer-events: none; transform: rotate(12deg);
		-webkit-mask: var(--cdc-filigrane) no-repeat center / contain; mask: var(--cdc-filigrane) no-repeat center / contain;
	}
	.cdc-header .mm-nav__menu > li { border: 0; width: 100%; }
	.cdc-header .mm-nav__menu > li > a {
		font-family: var(--wp--preset--font-family--titre); font-weight: 600;
		font-size: clamp(1.7rem, 7vw, 2.6rem); line-height: 1.2; padding: .1em 0;
	}
	.cdc-header .mm-nav__menu > li > a::after { display: none; }
	.cdc-header .mm-nav__menu .sub-menu {
		position: static; background: transparent; border: 0; box-shadow: none; min-width: 0;
		padding: .1em 0 .6em .15em; opacity: 1; visibility: visible; transform: none;
	}
	.cdc-header .mm-nav__menu .sub-menu a { padding: .2em 0; font-size: 1.05rem; opacity: .75; }
	.cdc-header .cdc-nav-cta { margin-top: 1.2em; width: auto !important; }
	.cdc-header .cdc-nav-cta > a { font-family: var(--wp--preset--font-family--texte) !important; font-size: .85rem !important; font-weight: 400 !important; padding: .9em 1.6em !important; }
	body:has(.mm-nav.is-open) { overflow: hidden; }
}
@keyframes cdc-ouverture {
	from { clip-path: circle(0% at calc(100% - 48px) 38px); }
	to   { clip-path: circle(150% at calc(100% - 48px) 38px); }
}

/* ==========================================================================
   Pied de page
   ========================================================================== */
.cdc-footer { background: var(--wp--preset--color--nuit); color: var(--wp--preset--color--fond); font-size: .9rem; }
.cdc-footer__inner {
	max-width: calc(var(--wp--style--global--wide-size, 1180px) + 2 * var(--mm-gutter));
	margin-inline: auto;
	padding: var(--wp--preset--spacing--60) var(--mm-gutter) var(--wp--preset--spacing--40);
}
.cdc-footer__grille { display: grid; gap: 40px; grid-template-columns: 1.6fr 1fr 1fr; }
@media (max-width: 781px) { .cdc-footer__grille { grid-template-columns: 1fr 1fr; } .cdc-footer__marque { grid-column: 1 / -1; } }
.cdc-footer a { text-decoration: none; opacity: .85; transition: opacity var(--mm-transition), color var(--mm-transition); }
.cdc-footer a:hover { opacity: 1; color: var(--wp--preset--color--accent-clair); }
.cdc-footer .cdc-brand { opacity: 1; }
.cdc-footer__baseline { max-width: 22em; opacity: .8; margin: 1.4em 0 1em; }
.cdc-footer__contact { margin: 0; line-height: 1.8; }
.cdc-footer__titre {
	font-family: var(--wp--preset--font-family--texte); font-size: .72rem; font-weight: 400;
	letter-spacing: .2em; text-transform: uppercase; color: var(--wp--preset--color--accent-clair); margin: 0 0 1.1em;
}
.cdc-footer__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .55em; }
.cdc-footer__legal {
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px;
	margin-top: 48px; padding-top: 20px; font-size: .78rem; opacity: .65;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--fond) 15%, transparent);
}
.cdc-footer__legal p { margin: 0; }

/* ==========================================================================
   Coordonnées [cdc_coordonnees] et formulaire [cdc_contact]
   ========================================================================== */
.cdc-tel a, a.cdc-coord--tel { text-decoration: none; }
.cdc-form-wrap { color: var(--cdc-texte); }
.cdc-form { display: flex; flex-wrap: wrap; gap: 18px 20px; }
.cdc-field { margin: 0; flex: 1 1 100%; display: grid; gap: 6px; }
.cdc-field--half { flex: 1 1 calc(50% - 10px); min-width: 220px; }
.cdc-field label { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--cdc-doux); }
.cdc-field input:not([type="checkbox"]), .cdc-field select, .cdc-field textarea {
	width: 100%; font: inherit; color: inherit;
	background: var(--wp--preset--color--fond);
	border: 1px solid var(--wp--preset--color--ligne);
	border-radius: 14px; padding: .8em 1em;
	transition: border-color var(--mm-transition), box-shadow var(--mm-transition);
}
.cdc-field input[readonly] { background: var(--wp--preset--color--fond-alt); }
.cdc-field :is(input, select, textarea):focus { outline: none; border-color: var(--cdc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cdc-accent) 22%, transparent); }
.cdc-field textarea { resize: vertical; min-height: 9em; }
.cdc-field--check { grid-template-columns: auto 1fr; align-items: start; gap: 12px; }
.cdc-field--check input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--cdc-accent); }
.cdc-field--check label { font-size: .88rem; letter-spacing: 0; text-transform: none; line-height: 1.5; }
.cdc-form__submit { margin: 4px 0 0; flex: 1 1 100%; }
.cdc-submit { cursor: pointer; border: 0; }
.cdc-form__note { margin: 0; flex: 1 1 100%; font-size: .8rem; color: var(--cdc-doux); }
.cdc-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cdc-notice { border-radius: 14px; padding: 1em 1.2em; margin-bottom: 1.4em; }
.cdc-notice ul { margin: 0; padding-left: 1.1em; }
.cdc-notice--ok { background: color-mix(in srgb, var(--cdc-accent) 16%, var(--wp--preset--color--fond)); }
.cdc-notice--erreur { background: #f6e1dc; color: #6e2a1e; }

/* ==========================================================================
   v2.1 — nouvelles sections (parcours, FAQ, infos pratiques, galerie…)
   ========================================================================== */

/* Poème de la page Laurence */
.cdc-poeme { font-family: var(--wp--preset--font-family--titre); font-size: clamp(1.15rem, 1.9vw, 1.4rem); line-height: 1.55; color: var(--wp--preset--color--accent); margin-block: 1.4em !important; }
.cdc-poeme em { font-style: normal; }

/* Frise du parcours */
.cdc-parcours .wp-block-image.is-style-arche-haute { max-width: 340px; margin: 1.6em 0 0; }
.cdc-frise { position: relative; padding-left: 34px; display: grid; gap: 2.2em; }
.cdc-frise::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 1px; background: var(--wp--preset--color--accent); opacity: .5; }
.cdc-frise-etape { position: relative; }
.cdc-frise-etape::before { content: ""; position: absolute; left: -34px; top: .35em; width: 15px; height: 15px; border-radius: 50%; background: var(--wp--preset--color--fond); border: 1px solid var(--wp--preset--color--accent); box-shadow: inset 0 0 0 4px var(--wp--preset--color--fond), inset 0 0 0 8px var(--wp--preset--color--accent); }
.cdc-frise-etape > * { margin-block: 0 .4em; }
.cdc-frise-etape h3 { margin-bottom: .3em; }

/* Infos pratiques « Libellé : valeur » */
.cdc-infos { margin: 1em 0 1.4em; padding: 0; display: grid; gap: .55em; }
.cdc-infos li { padding-bottom: .55em; border-bottom: 1px solid var(--wp--preset--color--ligne); }
.cdc-infos li:last-child { border-bottom: 0; }
.cdc-infos strong { font-weight: 500; color: var(--wp--preset--color--accent); margin-right: .25em; }
.is-style-section-accent .cdc-infos strong { color: var(--wp--preset--color--marque); }
.is-style-carte .cdc-infos li { border-color: color-mix(in srgb, var(--wp--preset--color--accent) 25%, transparent); }
.cdc-propositions .is-style-carte { padding: 1.6em 1.6em 1.8em; background: var(--wp--preset--color--fond); }

/* Questions fréquentes (blocs « Détails ») */
.cdc-faq { display: grid; gap: 0; border-top: 1px solid var(--wp--preset--color--ligne); }
.cdc-faq .wp-block-details { margin: 0; border-bottom: 1px solid var(--wp--preset--color--ligne); padding: 0; }
.cdc-faq summary { list-style: none; cursor: pointer; padding: 1.1em 2.4em 1.1em 0; position: relative; font-family: var(--wp--preset--font-family--titre); font-weight: 600; font-size: 1.08rem; line-height: 1.35; }
.cdc-faq summary::-webkit-details-marker { display: none; }
.cdc-faq summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 12px; height: 12px; margin-top: -9px; border-right: 1.5px solid var(--wp--preset--color--accent); border-bottom: 1.5px solid var(--wp--preset--color--accent); transform: rotate(45deg); transition: transform var(--mm-transition), margin var(--mm-transition); }
.cdc-faq details[open] summary::after { transform: rotate(-135deg); margin-top: -3px; }
.cdc-faq summary:hover { color: var(--wp--preset--color--accent); }
.cdc-faq details > p { margin: 0 0 1.1em; color: var(--wp--preset--color--gris); max-width: 40em; }
.cdc-section-faq h2 { margin-top: .2em; }

/* Étapes : variantes */
.cdc-etapes-4 { gap: 18px; }
@media (max-width: 1100px) and (min-width: 782px) { .cdc-etapes-4 { flex-wrap: wrap !important; } .cdc-etapes-4 > .wp-block-column { flex-basis: calc(50% - 9px) !important; } }
.cdc-engagements { margin-top: 1.6em !important; }
.cdc-trois-plans { gap: 22px; margin-top: 1.6em !important; }
.cdc-trois-plans .is-style-carte { height: 100%; padding: 1.5em 1.5em 1.7em; }

/* Encarts (structures, initiation, cadeau) */
.cdc-encart { padding-block: var(--wp--preset--spacing--60); }
.cdc-encart .wp-block-buttons { justify-content: flex-start; margin-top: 1.6em; }
@media (max-width: 781px) { .cdc-encart .wp-block-buttons { justify-content: flex-start; } }

/* Listes de questions et d'appels */
.cdc-questions { list-style: none; padding-left: 0; display: grid; gap: .5em; margin-top: 1.2em !important; }
.cdc-questions li { padding-left: 1.4em; position: relative; font-style: italic; }
.cdc-questions li::before { content: "?"; position: absolute; left: 0; font-style: normal; font-weight: 600; color: var(--wp--preset--color--accent); }
.cdc-appels { list-style: none; padding: 0; margin: 2em auto !important; max-width: 980px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 14px; }
.cdc-appels li { background: var(--wp--preset--color--fond); border-radius: 16px; padding: 1em 1.2em; line-height: 1.45; font-size: .95rem; color: var(--wp--preset--color--gris); }
.cdc-appels li strong { display: block; font-family: var(--wp--preset--font-family--titre); font-weight: 600; font-size: 1.05rem; color: var(--wp--preset--color--texte); margin-bottom: .2em; }

/* Galerie */
.cdc-galerie { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 2.4em !important; }
.cdc-galerie > .wp-block-image { margin: 0 !important; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 18px; }
.cdc-galerie > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.cdc-galerie > .wp-block-image:hover img { transform: scale(1.04); }
@media (max-width: 781px) { .cdc-galerie { grid-template-columns: 1fr 1fr; } }

/* Témoignages isolés */
.cdc-temoignage-unique { max-width: 760px; margin-inline: auto; }
.cdc-temoignage-unique .wp-block-quote.is-style-temoignage p { font-size: 1.12rem; }
.cdc-temoignage-photo .wp-block-quote.is-style-temoignage { margin-top: 1em; }
.cdc-temoignage-photo .wp-block-image.is-style-arche { max-width: 380px; }

/* Rendez-vous de l'accueil et agenda */
.cdc-rdv .cdc-dates { margin-block: 1em 2em; }
.cdc-agenda { padding-top: 0; }
.cdc-bandeau .cdc-dates--compact { margin-block: 1.4em 0; }
.cdc-bandeau .is-style-chapo + .cdc-doux { margin-top: -.4em; }

/* ==========================================================================
   v2.2 — retours de Laurence sur l'accueil
   ========================================================================== */
.cdc-verbes h2.cdc-entete-section { max-width: 15em; margin-bottom: clamp(32px, 5vw, 56px); }
.cdc-univers h3 a { color: inherit; text-decoration: none; transition: color var(--mm-transition); }
.cdc-univers h3 a:hover { color: var(--wp--preset--color--accent); }
.cdc-univers .is-style-surtitre + h3 { margin-top: .15em !important; }
.cdc-cartes-4 { gap: 24px; }
.cdc-cartes-4 .wp-block-column { max-width: none !important; }
@media (max-width: 1100px) and (min-width: 782px) { .cdc-cartes-4 { flex-wrap: wrap !important; } .cdc-cartes-4 > .wp-block-column { flex-basis: calc(50% - 12px) !important; } }
.cdc-disciplines { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin-top: -.5em !important; }
.cdc-laurence .cdc-flottant { max-width: 420px; }
.cdc-laurence .cdc-flottant > .cdc-flottant-logo { left: auto; right: -10%; bottom: 10%; width: 28%; }
.cdc-date--a-venir .cdc-date__quand { font-style: italic; }
.cdc-laurence .cdc-flottant { margin-inline: auto; }
@media (max-width: 781px) { .cdc-laurence .cdc-flottant > .cdc-flottant-logo { left: auto; right: -4%; width: 24%; } }

/* ==========================================================================
   v2.5 — vignettes de même hauteur dans une même rangée
   ========================================================================== */
/* Cartes (étapes, plans, engagements…) : chaque colonne s'étire, la carte occupe toute la hauteur */
.wp-block-columns:has(> .wp-block-column > .is-style-carte:only-child) { align-items: stretch !important; }
.wp-block-columns > .wp-block-column:has(> .is-style-carte:only-child) { align-self: stretch !important; display: flex; flex-direction: column; }
.wp-block-columns > .wp-block-column > .is-style-carte:only-child { flex: 1 1 auto; height: auto !important; }

/* Cartes « Mes accompagnements » : titres et textes alignés, liens « En savoir plus » sur une même ligne en bas */
.cdc-univers .wp-block-columns { align-items: stretch !important; }
.cdc-univers .wp-block-column { align-self: stretch !important; display: flex; flex-direction: column; }
.cdc-univers .wp-block-column > .cdc-lien { margin-top: auto !important; padding-top: .8em; }
@media (min-width: 782px) {
	/* place réservée pour l'étiquette (« Massage thaï traditionnel »…) même quand il n'y en a pas */
	.cdc-univers .wp-block-column > .wp-block-image + h3 { margin-top: 1.2rem !important; }
	/* titres sur deux lignes au plus, même hauteur réservée pour que les textes démarrent à la même hauteur */
	.cdc-cartes-4 h3 { font-size: clamp(1.45rem, 1.85vw, 1.9rem) !important; line-height: 1.12; min-height: 2.24em; }
}

/* ==========================================================================
   v2.6 — retours de Laurence du 26/10
   ========================================================================== */

/* Places restantes (« Plus que 3 places ») */
.cdc-places-restantes {
	display: inline-block;
	font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500;
	padding: 0.3em 0.8em; border-radius: 999px;
	border: 1px solid var(--wp--preset--color--accent); color: var(--wp--preset--color--accent);
	vertical-align: middle; white-space: nowrap;
}
.cdc-dates--compact .cdc-places-restantes { justify-self: start; margin-top: 0.2em; }
.is-style-section-accent .cdc-places-restantes { border-color: currentColor; color: var(--wp--preset--color--fond); }

/* Prochaine date sous un titre */
.cdc-prochaine { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.3em 0.6em; }
.cdc-prochaine__avant { font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.cdc-prochaine strong { font-family: var(--wp--preset--font-family--titre); font-weight: 400; font-size: 1.35rem; }
p.cdc-prochaine-ligne { margin-top: 0.2em !important; }

/* Listes de dates et de cours */
ul.cdc-dates--liste, ul.cdc-cours--liste { list-style: none; padding: 0; margin: 0.6em 0 1.4em; }
.cdc-liste__item { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2em 0.7em; padding: 0.55em 0; border-bottom: 1px solid var(--wp--preset--color--ligne); }
.cdc-liste__item:last-child { border-bottom: 0; }
.cdc-liste__quand { font-weight: 500; }
.cdc-liste__quand::first-letter { text-transform: uppercase; }
.cdc-liste__horaire { font-variant-numeric: tabular-nums; }
.cdc-liste__theme, .cdc-liste__lieu { color: var(--wp--preset--color--gris); }
.cdc-liste__theme::before, .cdc-liste__lieu::before { content: "·"; margin-right: 0.7em; color: var(--wp--preset--color--accent); }
.cdc-liste__item .cdc-badge, .cdc-liste__item .cdc-places-restantes { align-self: center; }
.cdc-cours--liste .cdc-badge { background: var(--wp--preset--color--texte); }
.cdc-horaires h3 { margin-top: 1.6em; }
.cdc-horaires h3:first-of-type { margin-top: 0.4em; }

/* Citations un peu moins grandes, entre guillemets */
.wp-block-quote.is-style-citation.cdc-citation-douce { font-size: clamp(1.5rem, 2.4vw, 2rem); max-width: 16em; }

/* Petite photo (en attente de la version HD) : jamais agrandie */
.wp-block-image.cdc-photo-petite { max-width: 360px; margin-inline: auto; }
.wp-block-image.cdc-photo-petite img { border-radius: 22px; width: 100%; height: auto; }

/* Qui suis-je : logo flottant plus petit, à gauche */
.cdc-laurence .cdc-flottant > .cdc-flottant-logo { left: -9%; right: auto; bottom: 6%; width: 19%; }
@media (max-width: 781px) { .cdc-laurence .cdc-flottant > .cdc-flottant-logo { left: -4%; right: auto; width: 18%; } }

/* Envie d'échanger ? sur fond rosé */
.cdc-contact.is-style-section-accent h2 { color: var(--wp--preset--color--fond); }
.cdc-contact .wp-block-buttons { justify-content: flex-end; }
@media (max-width: 781px) { .cdc-contact .wp-block-buttons { justify-content: flex-start; } }

/* Contact : carte de visite avec petite photo ronde */
.cdc-carte-visite .cdc-bulle { width: 112px; margin: 0 0 1.2em; }
.cdc-carte-visite .cdc-bulle img { width: 112px; height: 112px; object-fit: cover; object-position: 50% 20%; border-radius: 50%; }
.cdc-carte-visite h3 { margin-bottom: 0.15em; }
.cdc-carte-visite .cdc-role { margin: 0; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.cdc-carte-visite .cdc-role + .cdc-role { margin-top: 0.3em; }
.cdc-carte-visite .cdc-tel { margin-top: 1em; }

/* Lien de téléchargement (plaquette) */
.cdc-telecharger a { font-weight: 500; }
.cdc-facultatif { font-weight: 300; font-size: .85em; color: var(--wp--preset--color--gris); }

/* « Bon à savoir » à côté d'une longue liste : la carte garde sa hauteur et accompagne le défilement */
@media (min-width: 782px) {
	.cdc-propositions .wp-block-columns > .wp-block-column > .is-style-carte:only-child { flex: 0 0 auto; position: sticky; top: 110px; }
}

/* Deux bandes rosées qui se suivent (témoignage puis « Envie d'échanger ? ») : la seconde, un ton plus profond */
.is-style-section-accent + .cdc-contact.is-style-section-accent { background: color-mix(in srgb, var(--wp--preset--color--accent) 84%, var(--wp--preset--color--brun)); }

/* ==========================================================================
   v2.7 — retours de Laurence du 30/10, agenda filtrable
   ========================================================================== */

/* Prochaine date + places restantes : une seule police, sur deux lignes */
.cdc-prochaine { display: grid; gap: .25em; font-family: var(--wp--preset--font-family--texte); font-size: 1.05rem; line-height: 1.4; }
.cdc-prochaine__avant { font-size: inherit; letter-spacing: 0; text-transform: none; color: var(--wp--preset--color--accent); font-weight: 500; }
.cdc-prochaine__quand { color: var(--wp--preset--color--texte); font-weight: 500; }
.cdc-prochaine__places { color: var(--wp--preset--color--accent); font-weight: 500; }
p.cdc-prochaine-ligne { margin-top: 1em !important; }

/* Agenda : filtres aux couleurs du site */
.cdc-filtres { --mm-filtre-actif-bg: var(--wp--preset--color--marque); --mm-filtre-bordure: color-mix(in srgb, var(--wp--preset--color--accent) 45%, transparent); --mm-filtre-color: var(--wp--preset--color--texte); margin-bottom: 1.6em; }
.cdc-filtres .mm-filtres__bouton { font-family: var(--wp--preset--font-family--texte); font-size: .85rem; letter-spacing: .06em; }

/* Agenda : une ligne par date, regroupées par mois */
.cdc-agenda-liste { display: grid; gap: 2.2em; }
.cdc-agenda__mois { display: grid; gap: 10px; }
.cdc-agenda__titre-mois { margin: 0 0 .2em !important; font-size: .78rem !important; font-family: var(--wp--preset--font-family--texte) !important; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--accent); font-weight: 500; }
.cdc-agenda__date { display: grid; grid-template-columns: 64px 1fr auto; gap: 6px 20px; align-items: center; padding: 16px 20px; background: color-mix(in srgb, var(--wp--preset--color--accent) 9%, var(--wp--preset--color--fond)); border-radius: 16px; }
.cdc-agenda__jour { margin: 0; display: grid; justify-items: center; line-height: 1.1; text-align: center; }
.cdc-agenda__jour span { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.cdc-agenda__jour strong { font-family: var(--wp--preset--font-family--titre); font-weight: 500; font-size: 1.6rem; color: var(--wp--preset--color--texte); white-space: nowrap; }
.cdc-agenda__date--avenir .cdc-agenda__jour strong { font-size: .95rem; white-space: normal; }
.cdc-agenda__corps { min-width: 0; }
.cdc-agenda__corps > * { margin: 0 !important; }
.cdc-agenda__titre { font-family: var(--wp--preset--font-family--titre); font-weight: 500; font-size: 1.15rem !important; line-height: 1.25; }
.cdc-agenda__infos, .cdc-agenda__tarif { font-size: .92rem; color: var(--wp--preset--color--gris); margin-top: .25em !important; }
.cdc-agenda__tarif strong { font-weight: 500; color: var(--wp--preset--color--texte); }
.cdc-agenda__action { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.cdc-agenda__bouton { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 18px; border-radius: 999px; background: var(--wp--preset--color--marque); color: var(--wp--preset--color--fond); font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.cdc-agenda__bouton:hover { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--fond); }
.cdc-agenda-liste .cdc-date--complet, .cdc-agenda-liste .cdc-date--annule { opacity: .65; }
@media (max-width: 640px) {
	.cdc-agenda__date { grid-template-columns: 52px 1fr; padding: 14px 16px; gap: 10px 14px; align-items: start; }
	.cdc-agenda__jour strong { font-size: 1.35rem; }
	.cdc-agenda__action { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; }
}
.cdc-agenda-liste .cdc-vide { padding: 1.2em 1.4em; background: var(--wp--preset--color--fond); border-radius: 16px; }

/* Contact : coordonnées regroupées */
.cdc-carte-visite .cdc-coordonnees { margin-top: 1.4em !important; display: grid; gap: .5em; }
.cdc-carte-visite .cdc-coordonnees li { margin: 0; }
.cdc-carte-visite .cdc-coordonnees a { text-decoration: none; }
.cdc-carte-visite .cdc-coordonnees a:hover { color: var(--wp--preset--color--accent); }
.cdc-coord--instagram { display: inline-flex; align-items: center; gap: .5em; }
.cdc-coord--instagram .mm-icon, .cdc-coord--instagram svg { width: 1.05em; height: 1.05em; fill: currentColor; }

/* Alignement des colonnes (v2.7) : quand la colonne de gauche commence par un surtitre puis un titre,
   le contenu des autres colonnes démarre à la hauteur du titre, pas du surtitre. */
@media (min-width: 782px) {
	.wp-block-columns.are-vertically-aligned-top:has(> .wp-block-column:first-child > .is-style-surtitre:first-child + :is(h2, h3)) > .wp-block-column:not(:first-child) > :first-child:not(.is-style-surtitre):not(.wp-block-image),
	.wp-block-columns.are-vertically-aligned-top:has(> .wp-block-column:first-child > .wp-block-group:first-child > .is-style-surtitre:first-child + :is(h2, h3)) > .wp-block-column:not(:first-child) > :first-child:not(.is-style-surtitre):not(.wp-block-image) {
		margin-top: calc(0.78rem * 1.5 + 1.25rem) !important;
	}
}
/* Cartes « Mes accompagnements » : étiquettes sur deux lignes réservées, collées au titre */
@media (min-width: 782px) {
	.cdc-cartes-4 .is-style-surtitre { min-height: calc(2 * 1.5em); display: flex; align-items: flex-end; }
}
.cdc-dates + .wp-block-columns { margin-top: 2.6em !important; }
/* Témoignages : le texte démarre en haut de chaque carte, la signature reste en bas */
.wp-block-quote.is-style-temoignage { display: flex; flex-direction: column; justify-content: flex-start; }
.wp-block-quote.is-style-temoignage cite { margin-top: auto; padding-top: .4em; }
/* Contact sur mobile : le formulaire avant la photo, numéro jamais coupé */
.cdc-coord--tel { white-space: nowrap; }
@media (max-width: 781px) {
	.cdc-contact-tete .wp-block-image { display: none; }
	.cdc-carte-visite { margin-bottom: 1.6em; }
}

/* v2.8 — page Laurence : intention ; variante du week-end */
.cdc-intention .wp-block-quote.is-style-citation { max-width: 20em; }
.cdc-intention .cdc-doux { max-width: 640px; margin-inline: auto; margin-top: 1.4em !important; color: var(--wp--preset--color--fond); }
.cdc-variante { padding-block: 18px !important; }
.cdc-note-variante { margin: 0; font-size: .92rem; }

/* v2.9 — titre de l'accueil un peu plus petit (demande de Laurence) */
.cdc-bandeau:not(.cdc-bandeau-page) h1 { font-size: clamp(2.2rem, 4.1vw, 3.6rem); line-height: 1.12; }

/* v2.9 — blog : liste des articles et article */
body { background: var(--wp--preset--color--fond); }
.blog .mm-section, .archive .mm-section { max-width: 1200px; }
.blog .mm-page-title, .archive .mm-page-title { font-size: var(--wp--preset--font-size--tres-grand); }
.mm-post-list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 32px; }
.mm-post-list .mm-card { background: color-mix(in srgb, var(--wp--preset--color--accent) 9%, var(--wp--preset--color--fond)); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; }
.mm-post-list .mm-card__media img { aspect-ratio: 4 / 3; display: block; }
.mm-post-list .mm-card__body { padding: 1.3em 1.4em 1.6em; }
.mm-post-list .mm-card__title { font-size: 1.45rem; line-height: 1.2; margin: 0 0 .5em; font-weight: 500; }
.mm-post-list .mm-card__text { color: var(--wp--preset--color--gris); font-size: .95rem; }
.mm-post-list .mm-card__text p { margin: 0; }

.cdc-article { padding-bottom: var(--wp--preset--spacing--60, 64px); }
.cdc-article__tete { max-width: 820px; margin: 0 auto; padding: clamp(48px, 7vw, 96px) var(--mm-gutter) clamp(24px, 3vw, 40px); text-align: center; }
.cdc-article__meta { margin: 0 0 1em; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--accent); }
.cdc-article__meta a { color: inherit; text-decoration: none; }
.cdc-article__titre { margin: 0; font-size: var(--wp--preset--font-size--tres-grand); line-height: 1.12; }
.cdc-article__image { max-width: 1000px; margin: 0 auto clamp(32px, 4vw, 56px); padding-inline: var(--mm-gutter); }
.cdc-article__image img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 22px; display: block; }
.cdc-article__texte > * { max-width: 720px; margin-inline: auto; }
.cdc-article__texte h2 { font-size: var(--wp--preset--font-size--grand); margin-top: 1.6em; }
.cdc-article__texte .wp-block-buttons { margin-block: 1.6em; }
.cdc-article__retour { max-width: min(720px, calc(100% - 2 * var(--mm-gutter))); margin: 2.4em auto 0; padding-inline: 0; font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; }
.cdc-article__retour a { text-decoration: none; color: var(--wp--preset--color--accent); }

/* v2.10 — accueil encore un peu plus discret (demande de Laurence) */
.cdc-bandeau:not(.cdc-bandeau-page) h1 { font-size: clamp(2rem, 3.4vw, 3rem); }
.cdc-motif .wp-block-quote.is-style-citation:not(.cdc-citation-douce) { font-size: clamp(1.6rem, 2.6vw, 2.3rem); max-width: 20em; }

/* Page Qui suis-je : photos de voyage */
.cdc-voyages { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 28px); max-width: 1000px; margin: 1.2em auto 0 !important; }
.cdc-voyages > .wp-block-image { margin: 0 !important; max-width: none !important; }
.cdc-voyages-section { padding-block: clamp(24px, 4vw, 56px) clamp(48px, 6vw, 90px); }
@media (max-width: 640px) {
	.cdc-voyages { grid-template-columns: repeat(3, 70%); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.cdc-voyages > * { scroll-snap-align: center; }
}
