/* Maison Samaan : compléments à theme.json (mises en page, saisons, composants). */

body {
	--ms-sapin: var(--wp--preset--color--sapin);
	--ms-nuit: var(--wp--preset--color--nuit);
	--ms-creme: var(--wp--preset--color--creme);
	--ms-sable: var(--wp--preset--color--sable);
	--ms-argile: var(--wp--preset--color--argile);
	--ms-sauge: var(--wp--preset--color--sauge);
	--ms-mousse: var(--wp--preset--color--mousse);
	--ms-terra: var(--wp--preset--color--terracotta);
	--ms-saison: var(--ms-sable);
	--ms-saison-texte: var(--ms-sapin);
	--ms-filet: color-mix(in srgb, currentColor 18%, transparent);
}
body.saison-printemps { --ms-saison: var(--wp--preset--color--printemps); }
body.saison-ete { --ms-saison: var(--wp--preset--color--ete); }
body.saison-automne { --ms-saison: var(--ms-mousse); --ms-saison-texte: var(--ms-creme); }
body.saison-hiver { --ms-saison: var(--wp--preset--color--hiver); }

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.wp-site-blocks { overflow-x: clip; }
.ms-principal { margin-block: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.ms-principal > * { margin-block-start: 0; }
:where(h1, h2, h3, h4, p) em, .ms-pied__devise em { font-style: italic; color: var(--ms-terra); }
.has-sapin-background-color :where(h1, h2, h3, p) em,
.has-nuit-background-color :where(h1, h2, h3, p) em,
.has-mousse-background-color :where(h1, h2, h3, p) em,
.saison-automne .ms-hero-page em { color: var(--ms-argile); }
.has-argile-background-color :where(h1, h2, h3, p) em { color: var(--ms-sapin); }
a { text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
img { display: block; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Surtitre, chapô, petites mentions */
.is-style-surtitre, .ms-meta, .ms-saisons__saison, .ms-rencontre__ville {
	font-family: var(--wp--preset--font-family--texte);
	font-size: 0.72rem !important;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	line-height: 1.5;
}
.is-style-surtitre { color: var(--ms-mousse); margin-bottom: 0; }
.is-style-surtitre a { color: inherit; text-decoration: none; }
.has-sapin-background-color .is-style-surtitre,
.has-nuit-background-color .is-style-surtitre,
.saison-automne .ms-hero-page .is-style-surtitre { color: var(--ms-argile); }
.ms-chapo { font-size: var(--wp--preset--font-size--moyen); line-height: 1.5; max-width: 36em; color: color-mix(in srgb, currentColor 82%, transparent); }
.ms-meta { opacity: 0.75; }

/* En-tête */
.ms-entete { padding-block: 1.1rem; position: sticky; top: 0; z-index: 50; }
.admin-bar .ms-entete { top: 32px; }
.ms-entete__barre { gap: 2rem; }
.ms-entete__nav { gap: 2rem; }
.ms-entete a { text-decoration: none; }
.ms-entete .wp-block-navigation-item__content:hover { color: var(--ms-argile); }
.ms-logo { display: block; color: inherit; line-height: 0; flex-shrink: 0; max-width: 42vw; }
.ms-logo svg { width: 100%; height: auto; }
.is-style-contour .wp-block-button__link {
	background: transparent !important;
	color: currentColor;
	border: 1px solid currentColor;
}
.ms-entete .is-style-contour .wp-block-button__link { color: var(--ms-argile); border-color: var(--ms-argile); padding: 0.6rem 1.15rem; }
.is-style-contour .wp-block-button__link:hover { color: var(--ms-terra) !important; }
.ms-entete .is-style-contour .wp-block-button__link:hover { color: var(--ms-creme) !important; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 2rem clamp(1rem, 5vw, 3rem); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { font-size: 1.1rem; gap: 1.4rem; }
@media (max-width: 781px) {
	.ms-entete__rdv { display: none; }
}

/* Ouverture de l'accueil */
.ms-hero { display: grid; grid-template-columns: 1.1fr 0.9fr; min-height: min(78vh, 760px); }
.ms-hero__texte {
	display: flex; flex-direction: column; justify-content: center; gap: 1.6rem;
	padding: var(--wp--preset--spacing--50) clamp(1rem, 5vw, 5rem);
	max-width: 760px; margin-inline-start: auto; width: 100%;
}
.ms-hero__texte h1 { margin: 0; }
.ms-hero__visuel { display: flex; align-items: flex-end; justify-content: center; padding: 4rem 2rem 0; margin-block: 0 !important; }
.ms-hero__visuel .ms-arche { width: min(66%, 380px); }
@media (max-width: 860px) {
	.ms-hero { grid-template-columns: 1fr; min-height: 0; }
	.ms-hero__visuel { padding-top: 2.5rem; }
	.ms-hero__visuel .ms-arche { width: min(56%, 280px); }
}

.ms-arche { line-height: 0; }
.ms-arche__svg { width: 100%; height: auto; display: block; }

/* Bandeau des saisons */
.ms-saisons { gap: 0 !important; grid-template-columns: repeat(4, 1fr) !important; }
.ms-saisons__case { padding: 1.4rem clamp(1rem, 2.5vw, 2rem) 1.6rem; margin-block: 0 !important; display: flex; flex-direction: column; gap: 0.5rem; position: relative; transition: filter .2s; }
.ms-saisons__case:hover { filter: brightness(1.06); }
.ms-saisons__case p { margin: 0; }
.ms-saisons__saison { opacity: 0.8; }
.ms-saisons__titre { font-family: var(--wp--preset--font-family--titre); font-size: var(--wp--preset--font-size--grand); line-height: 1.1; }
.ms-saisons__titre a { color: inherit; text-decoration: none; }
.ms-saisons__titre a::after { content: ""; position: absolute; inset: 0; }
@media (max-width: 781px) { .ms-saisons { grid-template-columns: repeat(2, 1fr) !important; } }

/* Sections */
.ms-section { padding-block: var(--wp--preset--spacing--50); margin-block: 0 !important; }
.ms-section--serree { padding-block: var(--wp--preset--spacing--40); }
.ms-section__tete { margin-bottom: 2.5rem; gap: 1rem; }
.ms-section__tete > * { margin: 0; }
.ms-section > h2:first-child, .ms-section > .wp-block-heading { margin-bottom: 2rem; }
.ms-duo { gap: clamp(2rem, 6vw, 6rem) !important; }
.ms-lien-fleche a, a.ms-lien-fleche {
	font-size: 0.75rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;
	text-decoration: none; color: inherit; border-bottom: 1px solid currentColor; padding-bottom: 0.25em;
}
.ms-lien-fleche a::after, a.ms-lien-fleche::after { content: " →"; }

/* Images en arche */
.is-style-arche img, .wp-block-post-featured-image.is-style-arche img { border-radius: var(--wp--custom--arche); width: 100%; object-fit: cover; }
.is-style-arche { margin: 0; }
.ms-konenki__image { margin-top: 2.5rem; max-width: 420px; }
.ms-konenki__image img { aspect-ratio: 4 / 4.4; }
.ms-duo .is-style-arche img { aspect-ratio: 4 / 5; }

/* Konenki : étapes et repères */
.ms-konenki { gap: clamp(2rem, 6vw, 6rem) !important; }
.is-style-etapes { list-style: none; padding: 0; margin: 0; counter-reset: etape; }
.is-style-etapes li {
	counter-increment: etape; position: relative; padding: 1.4rem 0 1.4rem 4.2rem;
	border-top: 1px solid var(--ms-sable);
}
.is-style-etapes li:last-child { border-bottom: 1px solid var(--ms-sable); }
.is-style-etapes li::before {
	content: counter(etape, decimal-leading-zero); position: absolute; left: 0; top: 1.15rem;
	font-family: var(--wp--preset--font-family--titre); font-size: 1.9rem; color: var(--ms-terra); line-height: 1;
}
.is-style-etapes strong { display: block; font-family: var(--wp--preset--font-family--titre); font-weight: 400; font-size: 1.35rem; color: var(--ms-sapin); margin-bottom: 0.2rem; }
.ms-reperes { margin-top: 2.5rem; gap: 1rem !important; }
.ms-reperes p { margin: 0; background: var(--ms-sable); border-radius: var(--wp--custom--rayon); padding: 1.2rem; font-size: 0.9rem; line-height: 1.45; }
.ms-reperes strong { display: block; font-family: var(--wp--preset--font-family--titre); font-weight: 400; font-size: 1.25rem; color: var(--ms-sapin); margin-bottom: 0.3rem; }
@media (max-width: 781px) { .ms-reperes { grid-template-columns: 1fr !important; } }

/* Rencontres */
.ms-rencontres { display: grid; gap: 0; }
.ms-rencontre {
	display: grid; grid-template-columns: 7.5rem 1fr auto; gap: 1.5rem 2rem; align-items: center;
	padding: 1.6rem 0; border-top: 1px solid var(--ms-filet);
}
.ms-rencontre:last-child { border-bottom: 1px solid var(--ms-filet); }
.ms-rencontre__date { display: flex; flex-direction: column; line-height: 1.1; }
.ms-rencontre__date .jour { font-family: var(--wp--preset--font-family--titre); font-size: 3rem; color: var(--ms-terra); line-height: 1; }
.ms-rencontre__date .mois { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; margin-top: 0.35rem; }
.ms-rencontre__corps > * { margin: 0; }
.ms-rencontre__ville { color: var(--ms-mousse); }
.ms-rencontre__titre { font-size: var(--wp--preset--font-size--grand); margin: 0.2rem 0 !important; }
.ms-rencontre__titre a { text-decoration: none; color: var(--ms-sapin); }
.ms-rencontre__titre a:hover { color: var(--ms-terra); }
.ms-rencontre__lieu { font-size: 0.95rem; opacity: 0.8; }
.ms-rencontre.est-passee .jour { color: var(--ms-mousse); }
.ms-rencontres--passees .ms-rencontre { grid-template-columns: 6rem 1fr auto; padding: 1.2rem 0; }
.ms-rencontres--passees .ms-rencontre__titre { font-size: var(--wp--preset--font-size--moyen); }
.ms-rencontres--passees .jour { font-size: 2.2rem; }
.ms-bouton {
	display: inline-block; background: var(--ms-sapin); color: var(--ms-creme) !important; text-decoration: none;
	border-radius: 999px; padding: 0.85rem 1.5rem; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; white-space: nowrap;
}
.ms-bouton:hover { background: var(--ms-nuit); }
.ms-vide { font-style: italic; }
@media (max-width: 700px) {
	.ms-rencontre, .ms-rencontres--passees .ms-rencontre { grid-template-columns: 5rem 1fr; }
	.ms-rencontre__action { grid-column: 2; }
}

.ms-fiche-rencontre { padding-block: var(--wp--preset--spacing--40) 0; }
.ms-infos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; margin: 0 0 1.5rem; }
.ms-infos div { border-top: 1px solid var(--ms-sable); padding-top: 0.8rem; }
.ms-infos dt { font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ms-mousse); }
.ms-infos dd { margin: 0.2rem 0 0; font-family: var(--wp--preset--font-family--titre); font-size: 1.2rem; color: var(--ms-sapin); }

/* Citation */
.ms-citation { padding-block: var(--wp--preset--spacing--50); margin-block: 0 !important; }
.ms-citation p { margin: 0; line-height: 1.1; }

/* Thématiques */
.ms-themes { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.5rem 0 2rem; }
.ms-themes li { border: 1px solid var(--ms-sable); background: color-mix(in srgb, var(--ms-sable) 35%, transparent); border-radius: 999px; padding: 0.4rem 0.95rem; font-size: 0.9rem; }

/* Sabrina */
.ms-sabrina .ms-lien-fleche a { color: var(--ms-argile); }
.ms-sabrina p { color: var(--ms-sable); }

/* Partenaires */
.ms-partenaires { list-style: none; padding: 0; margin: 1.5rem 0 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem clamp(1.5rem, 5vw, 4rem); }
.ms-partenaires img { max-height: 40px; width: auto; opacity: 0.9; transition: opacity .2s; }
.ms-partenaires a:hover img { opacity: 1; }
.ms-partenaires__nom { font-family: var(--wp--preset--font-family--titre); font-size: 1.5rem; color: var(--ms-mousse); letter-spacing: 0.02em; }
.ms-partenaires a { text-decoration: none; }

/* Journal */
.ms-grille-articles { gap: clamp(1.5rem, 3vw, 2.5rem) !important; }
.ms-carte-article > * { margin-block: 0 0.6rem; }
.ms-carte-article .wp-block-post-featured-image { margin-bottom: 1.1rem; }
.ms-carte-article .wp-block-post-title a { text-decoration: none; }
.ms-carte-article .wp-block-post-excerpt { font-size: 0.95rem; opacity: 0.85; }
.ms-carte-article .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 781px) { .ms-grille-articles { grid-template-columns: 1fr !important; } }
.wp-block-query { padding-block: var(--wp--preset--spacing--50); }
.ms-section .wp-block-query { padding-block: 0; }
.ms-image-article { margin-top: var(--wp--preset--spacing--40) !important; }
.ms-image-article img { border-radius: var(--wp--custom--rayon); }

/* En-tête des pages intérieures : la couleur suit la saison de la page */
.ms-hero-page {
	background: var(--ms-saison); color: var(--ms-saison-texte);
	padding-block: var(--wp--preset--spacing--50) 0; margin-block: 0 !important;
}
.ms-hero-page :where(h1) { color: inherit; margin-block: 0.6rem 1.2rem; }
.ms-hero-page .wp-block-columns { margin: 0; gap: 3rem; }
.ms-hero-page .wp-block-column:first-child { padding-bottom: var(--wp--preset--spacing--40); }
.ms-hero-page__visuel { display: flex; justify-content: flex-end; }
.ms-hero-page__visuel .ms-arche { width: min(100%, 260px); }
.ms-hero-page .wp-block-post-excerpt__more-text { display: none; }
.ms-hero-article { padding-bottom: var(--wp--preset--spacing--40); }
.ms-hero-article > * { margin-inline: auto; }
@media (max-width: 781px) {
	.ms-hero-page__visuel { display: none; }
}

/* Contenu des pages : rythme vertical */
.wp-block-post-content { padding-bottom: var(--wp--preset--spacing--50); }
.wp-block-post-content > .alignfull:last-child { margin-bottom: calc(-1 * var(--wp--preset--spacing--50)); }
.wp-block-post-content > :first-child:not(.alignfull) { margin-top: var(--wp--preset--spacing--50); }
.wp-block-post-content > h2 { margin-top: 3rem; font-size: var(--wp--preset--font-size--grand); }
.wp-block-post-content > p, .wp-block-post-content > ul { max-width: 720px; }
.home .wp-block-post-content { padding-bottom: 0; }
.home .wp-block-post-content > .alignfull:last-child { margin-bottom: 0; }

/* Appel à l'action */
.ms-cta { padding-block: var(--wp--preset--spacing--50); margin-block: 0 !important; }
.ms-cta h2 { margin-top: 0; }

/* Pied de page */
.ms-pied { margin-block: 0 !important; }
.ms-pied a { color: inherit; text-decoration: none; }
.ms-pied a:hover { color: var(--ms-argile); }
.ms-pied .is-style-surtitre { color: var(--ms-argile); font-size: 0.7rem !important; margin-bottom: 1rem; }
.ms-pied .ms-logo { color: var(--ms-creme); }
.ms-pied__signature { font-size: 0.85rem; margin-top: 1rem; opacity: 0.8; }
.ms-pied__devise { color: var(--ms-creme); margin-top: 1.5rem; }
.ms-pied__devise em { color: var(--ms-argile); }
.ms-liens, .ms-villes { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.55rem; font-size: 0.95rem; }
.ms-pied__bas { margin-top: var(--wp--preset--spacing--40); padding-top: 1.2rem; border-top: 1px solid color-mix(in srgb, var(--ms-sable) 18%, transparent); font-size: 0.8rem; opacity: 0.8; }
.ms-pied__bas p { margin: 0; }
.ms-entete { transition: box-shadow .3s; } .ms-entete.est-defile { box-shadow: 0 1px 0 rgba(0,0,0,.08), 0 10px 30px -18px rgba(0,0,0,.5); }

/* Marges latérales des sections pleine largeur et des blocs larges hors contenu */
.alignfull:is(.ms-section, .ms-cta, .ms-citation, .ms-hero-page, .ms-pied) {
	padding-left: var(--wp--style--root--padding-left) !important;
	padding-right: var(--wp--style--root--padding-right) !important;
}
.ms-principal > .alignwide, .ms-principal > .ms-fiche-rencontre {
	box-sizing: border-box; width: 100%;
	max-width: calc(var(--wp--style--global--wide-size) + var(--wp--style--root--padding-left) + var(--wp--style--root--padding-right));
	margin-inline: auto !important;
	padding-left: var(--wp--style--root--padding-left); padding-right: var(--wp--style--root--padding-right);
}
@media (max-width: 781px) {
	.ms-entete .ms-entete__rdv { display: none !important; }
	.ms-konenki__image { max-width: 320px; }
	.ms-duo .is-style-arche { max-width: 340px; margin-inline: auto; }
}

/* ───────── Rondeur (retour de Sabrina, 6 nov 2026) ─────────
   Moins d'angles et de filets : les aplats de couleur deviennent des panneaux arrondis
   posés sur la crème, les cases deviennent des pastilles, les listes des cartes douces. */
body { --ms-rond: clamp(28px, 4vw, 56px); --ms-rond-moyen: 24px; --ms-marge-panneau: clamp(8px, 1.6vw, 20px); }

/* Panneaux arrondis : les sections colorées ne touchent plus les bords */
.ms-principal .alignfull:is(.has-background, .ms-hero-page, .ms-citation),
.ms-pied {
	border-radius: var(--ms-rond);
	margin-inline: var(--ms-marge-panneau) !important;
	width: auto;
	max-width: none;
}
.wp-block-post-content > .alignfull.has-background,
.wp-block-post-content > .alignfull.ms-citation { margin-inline: var(--ms-marge-panneau) !important; }
.ms-principal .alignfull.has-background + .alignfull.has-background,
.ms-principal .alignfull.has-background + .alignfull.ms-citation,
.ms-principal .alignfull.ms-citation + .alignfull.has-background { margin-top: var(--ms-marge-panneau) !important; }
.ms-hero-page { margin-top: var(--ms-marge-panneau) !important; overflow: hidden; }
.ms-pied { margin-bottom: var(--ms-marge-panneau) !important; margin-top: var(--ms-marge-panneau) !important; }
.ms-pied__bas { border-top: 0; }

/* En-tête : barre en pilule flottante */
.ms-entete { background: transparent !important; padding: var(--ms-marge-panneau) var(--ms-marge-panneau) 0 !important; }
.ms-entete__barre {
	background: var(--ms-sapin); border-radius: 999px; padding: 0.7rem 0.8rem 0.7rem 1.6rem;
	max-width: calc(var(--wp--style--global--wide-size) + 4rem) !important; margin-inline: auto !important; width: 100%; box-sizing: border-box;
}
.ms-entete.est-defile { box-shadow: none; }
.ms-entete.est-defile .ms-entete__barre { box-shadow: 0 14px 34px -18px rgba(20, 42, 34, .55); }
.wp-site-blocks { background: var(--ms-creme); }

/* Accueil : texte sur crème, visuel dans un grand galet sapin */
.ms-hero { gap: var(--ms-marge-panneau); padding-inline: var(--ms-marge-panneau); padding-top: var(--ms-marge-panneau); box-sizing: border-box; }
.ms-hero__visuel { border-radius: var(--ms-rond) var(--ms-rond) var(--ms-rond) 160px; overflow: hidden; }
.ms-hero__visuel .ms-arche { width: min(70%, 400px); }

/* Saisons : quatre pastilles arrondies, plus une bande pleine */
.ms-saisons { gap: var(--ms-marge-panneau) !important; padding: var(--ms-marge-panneau); box-sizing: border-box; }
.ms-saisons__case { border-radius: var(--ms-rond-moyen); padding: 1.6rem 1.8rem 1.9rem; min-height: 8.5rem; justify-content: flex-end; }
.ms-saisons__case::before {
	content: ""; position: absolute; top: 1.2rem; right: 1.2rem; width: 2.6rem; height: 2.6rem; border-radius: 50%;
	background: currentColor; opacity: .14;
}

/* Étapes : pastilles numérotées au lieu des filets */
.is-style-etapes { display: grid; gap: 0.7rem; }
.is-style-etapes li, .is-style-etapes li:last-child {
	border: 0; background: color-mix(in srgb, var(--ms-sable) 55%, transparent);
	border-radius: var(--ms-rond-moyen); padding: 1.2rem 1.4rem 1.2rem 5.2rem;
}
.is-style-etapes li::before {
	left: 1.1rem; top: 1.1rem; width: 2.9rem; height: 2.9rem; border-radius: 50%;
	display: grid; place-items: center; background: var(--ms-creme); font-size: 1.15rem; line-height: 1;
}
.ms-reperes p { border-radius: var(--ms-rond-moyen); padding: 1.4rem 1.5rem; }

/* Rencontres : cartes douces, date dans un médaillon rond */
.ms-rencontres { gap: 0.8rem; }
.ms-rencontre, .ms-rencontre:last-child {
	border: 0; border-radius: var(--ms-rond-moyen); padding: 1.1rem 1.4rem 1.1rem 1.1rem;
	background: color-mix(in srgb, var(--ms-creme) 70%, transparent);
}
.has-creme-background-color .ms-rencontre, .ms-section:not(.has-background) .ms-rencontre { background: color-mix(in srgb, var(--ms-sable) 50%, transparent); }
.ms-rencontre__date {
	width: 6.2rem; height: 6.2rem; border-radius: 50%; background: var(--ms-creme);
	align-items: center; justify-content: center; text-align: center;
}
.ms-rencontre__date .jour { font-size: 2.4rem; }
.ms-rencontre__date .mois { font-size: 0.62rem; margin-top: 0.25rem; letter-spacing: 0.1em; }
.ms-rencontres--passees .ms-rencontre__date { width: 5rem; height: 5rem; }
.ms-rencontres--passees .jour { font-size: 1.8rem; }
@media (max-width: 700px) {
	.ms-rencontre__date { width: 4.6rem; height: 4.6rem; }
	.ms-rencontre__date .jour { font-size: 1.7rem; }
	.ms-rencontre__date .mois { font-size: 0.55rem; }
}
.ms-infos div { border-top: 0; background: var(--ms-sable); border-radius: var(--ms-rond-moyen); padding: 1rem 1.2rem; }

/* Images : plus d'angles vifs */
.ms-image-article img, .wp-block-image:not(.is-style-arche) img, .wp-block-post-featured-image:not(.is-style-arche) img { border-radius: var(--ms-rond-moyen); }
.is-style-arche img, .wp-block-post-featured-image.is-style-arche img { border-radius: 999px 999px var(--ms-rond-moyen) var(--ms-rond-moyen); }
.ms-arche__svg { border-radius: 0 0 var(--ms-rond-moyen) var(--ms-rond-moyen); }

/* Thématiques et partenaires : pastilles pleines */
.ms-themes li { border: 0; background: var(--ms-sable); }
.ms-partenaires li { background: color-mix(in srgb, var(--ms-sable) 45%, transparent); border-radius: 999px; padding: 0.8rem 1.6rem; }

@media (max-width: 781px) {
	.ms-saisons { grid-template-columns: repeat(2, 1fr) !important; }
	.ms-saisons__case { min-height: 6.5rem; padding: 1.1rem 1.2rem 1.3rem; }
	.ms-saisons__case::before { width: 1.8rem; height: 1.8rem; top: .9rem; right: .9rem; }
	.ms-hero { grid-template-columns: 1fr; }
	.ms-hero__visuel { border-radius: var(--ms-rond) var(--ms-rond) var(--ms-rond) 90px; }
	.ms-entete__barre { padding-left: 1.2rem; }
}
/* Dans le contenu, les panneaux sortent du retrait de page pour garder la même marge que l'en-tête */
.wp-block-post-content > .alignfull.has-background,
.wp-block-post-content > .alignfull.ms-citation {
	margin-left: calc(var(--ms-marge-panneau) - var(--wp--style--root--padding-left)) !important;
	margin-right: calc(var(--ms-marge-panneau) - var(--wp--style--root--padding-right)) !important;
}

/* ───────── Charte détaillée v2 (CHARTE.md, 6 nov 2026) ─────────
   Jetons de la section 11 ; les règles plus haut restent, celles-ci les alignent. */
body {
	--ms-mousse-texte: var(--wp--preset--color--mousse-texte);
	--ms-terra-texte: var(--wp--preset--color--terracotta-texte);
	--ms-encre: var(--wp--preset--color--encre);
	--ms-rayon-s: 12px; --ms-rayon-m: 20px; --ms-rayon-l: 32px; --ms-rayon-xl: 56px; --ms-pilule: 999px;
	--ms-arche: 999px 999px 32px 32px;
	--ms-galet: 58% 42% 50% 50% / 48% 46% 54% 52%;
	--ms-ombre: 0 18px 40px -24px rgba(20, 42, 34, .35);
	--ms-transition: 250ms cubic-bezier(.2, .7, .2, 1);
	--ms-rond: clamp(32px, 4vw, var(--ms-rayon-xl));
	--ms-rond-moyen: var(--ms-rayon-l);
}
/* Automne : texte courant lisible, donc fond mousse profonde */
body.saison-automne { --ms-saison: var(--ms-mousse-texte); }

/* Typo */
h1, h2, h3, h4, .wp-block-heading { text-wrap: balance; }
p, li { text-wrap: pretty; }
.ms-hero h1 { max-width: 14ch; }
.ms-hero-page h1 { max-width: 16ch; }
.wp-block-post-content > h2, .ms-section h2 { max-width: 18ch; }
.has-text-align-center.wp-block-heading, .ms-cta h2 { margin-inline: auto; }
.is-style-surtitre { color: var(--ms-mousse-texte); }
.ms-rencontre__ville { color: var(--ms-mousse-texte); }
.ms-chapo { color: color-mix(in srgb, currentColor 85%, transparent); }
strong { font-weight: 600; }
a:hover { color: var(--ms-terra-texte); text-decoration: none; }
.ms-pied__bas { font-size: 0.75rem; letter-spacing: 0.02em; opacity: .7; }
.is-style-etapes li::before { font-size: 1.3rem; }
.ms-infos dd { font-size: 1.25rem; }
.ms-carte-article .wp-block-post-title { font-size: 1.375rem !important; line-height: 1.2; }
.ms-pied__devise em, .has-sapin-background-color .ms-citation em { color: var(--ms-argile); }
.ms-citation p { max-width: 22ch; margin-inline: auto; }

/* Boutons (section 7) */
.wp-element-button, .wp-block-button__link, .ms-bouton { transition: background-color var(--ms-transition), color var(--ms-transition), border-color var(--ms-transition); }
.is-style-contour .wp-block-button__link, .ms-bouton--contour {
	background: transparent !important; color: var(--ms-sapin) !important; border: 1px solid var(--ms-sapin);
}
.is-style-contour .wp-block-button__link:hover, .ms-bouton--contour:hover { background: var(--ms-sapin) !important; color: var(--ms-creme) !important; }
.ms-bouton { padding: 14px 26px; font-size: 0.75rem; }
:where(.has-sapin-background-color, .has-nuit-background-color) .wp-block-button:not(.is-style-contour) .wp-block-button__link { background: var(--ms-creme); color: var(--ms-sapin); }
:where(.has-sapin-background-color, .has-nuit-background-color) .wp-block-button:not(.is-style-contour) .wp-block-button__link:hover { background: var(--ms-sable); }
:where(.has-sapin-background-color, .has-nuit-background-color, .ms-entete) .is-style-contour .wp-block-button__link { color: var(--ms-argile) !important; border-color: var(--ms-argile); }
:where(.has-sapin-background-color, .has-nuit-background-color, .ms-entete) .is-style-contour .wp-block-button__link:hover { background: var(--ms-argile) !important; color: var(--ms-sapin) !important; }
.ms-lien-fleche a::after, a.ms-lien-fleche::after { display: inline-block; transition: transform var(--ms-transition); }
.ms-lien-fleche a:hover::after, a.ms-lien-fleche:hover::after { transform: translateX(4px); }

/* En-tête : 72 à 88 px, sapin nuit au défilement, menu mobile en Caslon 32 px */
.ms-entete__barre { min-height: 64px; transition: background-color var(--ms-transition); }
.ms-entete.est-defile .ms-entete__barre { background: var(--ms-nuit); }
.ms-entete .ms-logo { width: 165px !important; }
@media (max-width: 781px) { .ms-entete .ms-logo { width: 126px !important; } }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--titre); font-size: 2rem; letter-spacing: 0; text-transform: none;
}

/* Formes : arche à base arrondie, galet, rayons */
.is-style-arche img, .wp-block-post-featured-image.is-style-arche img { border-radius: var(--ms-arche); aspect-ratio: 4 / 5; }
.ms-arche__svg { border-radius: 0 0 var(--ms-rayon-l) var(--ms-rayon-l); }
.is-style-galet { margin: 0; position: relative; }
.is-style-galet img { border-radius: var(--ms-galet); aspect-ratio: 4 / 4.6; width: 100%; object-fit: cover; }
.ms-image-article img, .wp-block-image:not(.is-style-arche):not(.is-style-galet) img,
.wp-block-post-featured-image:not(.is-style-arche) img { border-radius: var(--ms-rayon-m); }
.ms-reperes p { border-radius: var(--ms-rayon-m); }
.ms-pied { border-radius: var(--ms-rayon-xl) var(--ms-rayon-xl) var(--ms-rond) var(--ms-rond); }

/* Cartes : sans bordure, ombre douce et montée de 4 px au survol */
.ms-rencontre, .ms-saisons__case, .ms-carte-article { transition: transform var(--ms-transition), box-shadow var(--ms-transition); }
.ms-rencontre:hover, .ms-saisons__case:hover { transform: translateY(-4px); box-shadow: var(--ms-ombre); filter: none; }

/* Cartes saisons : couleur de la saison, mot de la saison, petite arche */
.ms-saisons { gap: 14px !important; }
.ms-saisons__case { border-radius: var(--ms-rayon-l); min-height: 0; padding: 1.6rem 1.8rem 1.8rem; gap: .35rem; justify-content: flex-start; }
.ms-saisons__case::before { content: none; }
.ms-saisons__case .ms-arche { width: 54px; margin-bottom: 1.1rem; }
.ms-saisons__titre { font-size: clamp(1.75rem, 2.4vw, 2rem); }
.ms-saisons__saison { opacity: .85; }

/* Rencontres : médaillon de 88 à 104 px, argile pour la prochaine, passées à 70 % */
.ms-rencontre, .ms-rencontre:last-child { background: var(--ms-sable); border-radius: var(--ms-rayon-l); padding: 1.1rem 1.6rem 1.1rem 1.1rem; grid-template-columns: 6rem 1fr auto; }
.has-sable-background-color .ms-rencontre { background: color-mix(in srgb, var(--ms-creme) 65%, transparent); }
.ms-rencontre__date { width: 6rem; height: 6rem; background: var(--ms-creme); }
.ms-rencontre.est-prochaine .ms-rencontre__date { background: var(--ms-argile); }
.ms-rencontre__date .jour { font-size: clamp(2.5rem, 3vw, 3rem); }
.ms-rencontre__titre { font-size: var(--wp--preset--font-size--grand); }
.ms-rencontre.est-passee { opacity: .7; }
.ms-rencontres--passees .ms-rencontre { grid-template-columns: 5.5rem 1fr auto; }
.ms-rencontres--passees .ms-rencontre__date { width: 5.5rem; height: 5.5rem; }
.ms-rencontres--passees .jour { font-size: 2.5rem; }
.ms-rencontres--passees .ms-rencontre__titre { font-size: 1.375rem; }
@media (max-width: 700px) {
	.ms-rencontre, .ms-rencontres--passees .ms-rencontre { grid-template-columns: 5.5rem 1fr; }
	.ms-rencontre__date, .ms-rencontres--passees .ms-rencontre__date { width: 5.5rem; height: 5.5rem; }
	.ms-rencontre__date .jour { font-size: 2.2rem; }
}

/* Étiquettes thématiques */
.ms-themes li { background: color-mix(in srgb, var(--ms-sable) 50%, transparent); padding: 6px 14px; font-size: 0.875rem; color: var(--ms-sapin); }
.ms-partenaires li { background: none; padding: 0; }

/* Focus clavier */
:where(a, button, .wp-element-button, input, textarea, select):focus-visible { outline: 2px solid var(--ms-sapin); outline-offset: 3px; }
:where(.has-sapin-background-color, .has-nuit-background-color, .ms-entete, .ms-pied) :where(a, button, .wp-element-button):focus-visible { outline-color: var(--ms-argile); }

/* Points de rupture de la charte : duos en une colonne sous 900 px, image d'abord */
@media (max-width: 899px) {
	.ms-duo { flex-direction: column !important; }
	.ms-duo > .wp-block-column { flex-basis: 100% !important; }
	.ms-sabrina .ms-duo { flex-direction: column-reverse !important; }
	.ms-hero { grid-template-columns: 1fr; }
}

/* Mouvement : coupé si l'utilisatrice le demande */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.ms-rencontre:hover, .ms-saisons__case:hover { transform: none; }
}
.ms-pied__devise { line-height: 1.2; max-width: 14ch; }
.is-style-galet img { aspect-ratio: 1 / 1.08; }
.ms-carte-article .wp-block-post-featured-image img { border-radius: var(--ms-rayon-m); }
/* Arche : avec 999px en haut, le navigateur réduit aussi les coins du bas à presque rien.
   On écrit donc l'arche en proportions (image 4:5 → rayon vertical du haut = 40 % de la hauteur). */
.is-style-arche img, .wp-block-post-featured-image.is-style-arche img { border-radius: 50% 50% var(--ms-rayon-l) var(--ms-rayon-l) / 40% 40% var(--ms-rayon-l) var(--ms-rayon-l); }

/* Menu : passe en bouton plein écran sous 900 px (le menu ne tient pas sur une ligne en tablette) */
@media (max-width: 899px) {
	.ms-entete .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ms-entete .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 700px) {
	.ms-bouton { white-space: normal; text-align: center; padding: 12px 20px; }
}
@media (max-width: 700px) {
	.ms-rencontre, .ms-rencontre:last-child, .ms-rencontres--passees .ms-rencontre { grid-template-columns: 4.75rem 1fr; gap: 1rem 1.1rem; padding: 1.1rem; align-items: start; }
	.ms-rencontre__date, .ms-rencontres--passees .ms-rencontre__date { width: 4.75rem; height: 4.75rem; }
	.ms-rencontre__date .jour { font-size: 2rem; }
	.ms-rencontre__date .mois { font-size: 0.5rem; letter-spacing: .04em; max-width: 4rem; }
	.ms-rencontre__titre { font-size: 1.5rem; }
	.ms-rencontre__action { grid-column: 1 / -1; }
	.ms-rencontre__action .ms-bouton { display: block; }
}

/* Témoignages */
.ms-temoignages__liste { gap: 16px; }
.ms-temoignages__liste .wp-block-quote { margin: 0; border: 0; padding: 0; }
.ms-temoignages__liste .wp-block-quote p { font-family: var(--wp--preset--font-family--titre); font-size: var(--wp--preset--font-size--grand); line-height: 1.2; }
.ms-temoignages__liste cite { font-style: normal; font-size: var(--wp--preset--font-size--petit); }
@media (max-width: 781px) { .ms-temoignages__liste { grid-template-columns: 1fr !important; } }

/* Formulaire */
.ms-form { display: grid; gap: 1rem; max-width: 640px; }
.ms-form p { margin: 0; }
.ms-form label { display: block; font-size: var(--wp--preset--font-size--petit); font-weight: 500; margin-bottom: 0.35rem; }
.ms-form input[type="text"], .ms-form input[type="email"], .ms-form input[type="tel"], .ms-form select, .ms-form textarea {
	width: 100%; background: var(--ms-creme); color: var(--ms-sapin); border: 1px solid var(--ms-sable);
	border-radius: var(--ms-pilule); padding: 0.85rem 1.25rem; font: inherit;
}
.ms-form textarea { border-radius: var(--ms-rayon-s); }
.ms-form :is(input, select, textarea):focus { outline: 2px solid var(--ms-argile); outline-offset: 2px; }
.ms-form__choix { border: 0; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.ms-form__choix legend { font-size: var(--wp--preset--font-size--petit); font-weight: 500; margin-bottom: 0.5rem; padding: 0; }
.ms-form__choix label, .ms-form__consent label { display: flex; align-items: center; gap: 0.6rem; font-weight: 400; margin: 0; }
.ms-form__consent label { align-items: flex-start; font-size: var(--wp--preset--font-size--petit); }
.ms-form__piege { position: absolute; left: -9999px; }
.ms-form__rencontre[hidden] { display: none; }
.ms-form__alerte { background: var(--ms-sable); border-radius: var(--ms-rayon-s); padding: 0.85rem 1.25rem; }
.ms-form--ok { background: var(--ms-sable); border-radius: var(--ms-rayon-l); padding: 1.5rem 2rem; }
.ms-form button.ms-bouton { cursor: pointer; border: 0; }

/* Style de bloc « Carte » (groupe) */
.wp-block-group.is-style-carte { border-radius: var(--ms-rayon-l); padding: clamp(1.5rem, 3vw, 2.5rem); }

/* Titres et formulaire du contenu de page : alignés à gauche avec le texte (la mise en page centrée les décalait). */
.wp-block-post-content > :is(h2, h3, .ms-form) {
	margin-inline-start: max(0px, calc((100% - var(--wp--style--global--content-size, 720px)) / 2)) !important;
	margin-inline-end: auto !important;
}

/* Logos partenaires : hauteur fixe (les SVG n'ont pas de largeur propre). */
.ms-partenaires img { height: 36px; max-height: none; width: auto; max-width: 180px; }
/* Photo du ponton : garder la silhouette dans le cadre en arche. */
.ms-duo .is-style-arche img[src*="leman-ponton"] { object-position: 78% center; }

/* Respiration sous les repères de la page « La Maison ». */
.wp-block-post-content > .ms-reperes { margin-bottom: var(--wp--preset--spacing--50); }
