/*
 * Le Sourire de Romane : styles du thème (site et éditeur).
 * Les couleurs, polices et tailles viennent de theme.json (variables --wp--preset--*).
 */

:root {
	--sdr-nuit: var(--wp--preset--color--nuit);
	--sdr-orange: var(--wp--preset--color--orange);
	--sdr-miel: var(--wp--preset--color--miel);
	--sdr-sable: var(--wp--preset--color--sable);
	--sdr-creme: var(--wp--preset--color--creme);
	--sdr-ciel: var(--wp--preset--color--ciel);
	--sdr-ardoise: var(--wp--preset--color--ardoise);
	--sdr-encre: var(--wp--preset--color--encre);
	--sdr-orange-texte: var(--wp--preset--color--orange-texte);
	--sdr-r-carte: var(--wp--custom--radius--carte, 20px);
	--sdr-r-champ: var(--wp--custom--radius--champ, 12px);
	--sdr-r-pilule: var(--wp--custom--radius--pilule, 999px);
	--sdr-ombre: 0 8px 24px rgba(10, 40, 90, .10);
	--sdr-titre: var(--wp--preset--font-family--titre);
	--sdr-accent: var(--wp--preset--font-family--accent);
}

/* ---------- Base ---------- */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; max-width: 100%; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--sdr-orange-texte); outline-offset: 3px; border-radius: 4px; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.sdr-picto { flex: none; vertical-align: -0.2em; }
.sdr-principal > .wp-block-post-content > *:first-child { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.sdr-principal :where(.wp-block-group.sdr-section, .sdr-hero) { margin-block-start: 0; }

/* Accent manuscrit au-dessus des titres. */
.sdr-accent { font-family: var(--sdr-accent); font-size: var(--wp--preset--font-size--accent); color: var(--sdr-orange); line-height: 1; margin-block-end: .1em !important; text-transform: none; transform: rotate(-2deg); transform-origin: left; }
.has-text-align-center.sdr-accent { transform-origin: center; }
.sdr-lettre .sdr-accent { font-size: var(--wp--preset--font-size--h-3); color: var(--sdr-orange-texte); }

/* Titre souligné en orange. */
.sdr-titre-souligne::after { content: ""; display: block; width: min(16rem, 70%); height: 3px; margin-top: .35em; background: var(--sdr-orange); border-radius: 3px; }
.has-text-align-center.sdr-titre-souligne::after { margin-inline: auto; }
.sdr-titre-section { margin-block-end: var(--wp--preset--spacing--40); }

/* Liens fléchés. */
.sdr-lien-fleche a, a.sdr-lien-fleche { color: var(--sdr-orange-texte); font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; gap: .4em; }
.sdr-lien-fleche a:hover, a.sdr-lien-fleche:hover { text-decoration: underline; text-underline-offset: 3px; }
.sdr-retour a { color: var(--sdr-orange-texte); font-weight: 800; text-decoration: none; }
.sdr-ariane { color: var(--sdr-ardoise); }
.sdr-ariane a { color: var(--sdr-ardoise); text-decoration: none; }
.sdr-ariane a:hover { text-decoration: underline; }
.sdr-note { color: var(--sdr-ardoise); font-size: var(--wp--preset--font-size--petit); }
.sdr-vide { text-align: center; font-size: var(--wp--preset--font-size--chapo); color: var(--sdr-nuit); }

/* Boutons : variantes. */
.wp-element-button, .wp-block-button__link { display: inline-flex; align-items: center; gap: .5em; text-transform: uppercase; letter-spacing: .04em; font-weight: 800; font-size: .9rem; }
.sdr-bouton-miel .wp-block-button__link { background: var(--sdr-miel); border-color: var(--sdr-miel); }
.has-nuit-background-color .is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; }

/* ---------- Bandeau du haut ---------- */

.sdr-bandeau-haut { background: var(--sdr-sable); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.sdr-bandeau-haut__inner { max-width: 1280px; margin: 0 auto; padding: .45rem var(--wp--style--root--padding-right, 1.25rem); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.sdr-bandeau-haut p { margin: 0; display: flex; gap: .9rem; align-items: center; }
.sdr-bandeau-haut a { color: var(--sdr-nuit); text-decoration: none; display: inline-flex; gap: .35em; align-items: center; }
.sdr-bandeau-haut a:hover { text-decoration: underline; }
.sdr-bandeau-haut .sdr-picto { width: 16px; height: 16px; }
.sdr-bandeau-haut__reseaux .sdr-picto { display: none; }

/* ---------- En-tête et menu ---------- */

.sdr-entete { padding-block: .9rem; background: var(--sdr-creme); }
.sdr-entete__ligne { gap: 1.5rem; }
.sdr-entete__logo img { width: 110px; }
.sdr-nav { flex: 1; font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.sdr-nav .wp-block-navigation__container { gap: 1.6rem; }
.sdr-nav .wp-block-navigation__container > .wp-block-navigation-item { position: relative; }
.sdr-nav .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before { content: "✦"; position: absolute; left: -1.15rem; color: var(--sdr-miel); font-size: .8rem; pointer-events: none; }
.sdr-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { background: var(--sdr-ciel); color: var(--sdr-nuit); border-radius: var(--sdr-r-pilule); padding: .55em 1.1em; text-decoration: none; }
.sdr-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.sdr-nav .current-menu-item > .wp-block-navigation-item__content,
.sdr-nav .current-menu-ancestor > .wp-block-navigation-item__content,
.sdr-nav .wp-block-navigation-item__content[aria-current="page"] { background: var(--sdr-sable) !important; box-shadow: inset 0 -2px 0 var(--sdr-orange); }
.sdr-nav .wp-block-navigation__submenu-container { border: 0 !important; border-radius: var(--sdr-r-champ); box-shadow: var(--sdr-ombre); padding: .4rem !important; background: #fff !important; min-width: 220px !important; }
.sdr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6em .9em; border-radius: 8px; text-decoration: none; }
.sdr-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--sdr-ciel); }
.sdr-nav .wp-block-navigation-submenu__toggle { margin-left: -.9em; padding-right: .8em; }
.sdr-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--sdr-creme) !important; padding: 2rem 1.5rem; }
.sdr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: .8rem; }
.sdr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item::before { display: none; }
.sdr-nav .wp-block-navigation__responsive-container-open { background: var(--sdr-ciel); border-radius: var(--sdr-r-pilule); padding: .5rem; }
@media (max-width: 781px) {
	.sdr-entete__logo img { width: 80px; }
	.sdr-entete__adherer .wp-block-button__link { padding: .55em 1em; font-size: .8rem; }
	.sdr-entete__ligne { gap: .75rem; }
	.sdr-nav { order: 3; flex: 0 0 auto; }
}

/* ---------- Héros ---------- */

.sdr-hero { padding-block: var(--wp--preset--spacing--60); position: relative; }
.sdr-hero--accueil { padding-bottom: calc(var(--wp--preset--spacing--60) + 4vw); }
.sdr-hero--accueil::after { content: ""; position: absolute; inset: auto 0 -1px 0; height: 6vw; min-height: 40px; background: var(--sdr-nuit); clip-path: polygon(0 100%, 0 70%, 15% 82%, 35% 88%, 55% 80%, 75% 55%, 100% 0, 100% 100%); }
.sdr-hero--page { padding-block: var(--wp--preset--spacing--60); border-radius: 0 0 50% 50% / 0 0 40px 40px; }
.sdr-hero__portrait img { width: 100%; max-width: 520px; margin-inline: auto; display: block; }
.sdr-hero__boutons { margin-block-start: var(--wp--preset--spacing--40); display: inline-flex; vertical-align: middle; }
.sdr-hero .sdr-lien-fleche { display: inline-block; margin: var(--wp--preset--spacing--40) 0 0 1.25rem; vertical-align: middle; }
.sdr-hero__boutons + .sdr-lien-fleche { margin-top: 0; }

/* ---------- Bandeau prochain rendez-vous ---------- */

.sdr-bandeau-evt { background: var(--sdr-nuit); color: #fff; padding-block: var(--wp--preset--spacing--50); }
.sdr-bandeau-evt__inner { max-width: 1200px; margin: 0 auto; padding-inline: var(--wp--style--root--padding-right, 1.25rem); display: flex; align-items: center; gap: var(--wp--preset--spacing--40); flex-wrap: wrap; }
.sdr-bandeau-evt p { margin: 0; }
.sdr-bandeau-evt__date { background: var(--sdr-miel); color: var(--sdr-nuit); border-radius: 12px; padding: .6rem 1rem; text-align: center; text-transform: uppercase; line-height: 1; display: grid; gap: .15rem; min-width: 5.5rem; }
.sdr-bandeau-evt__jour { font-weight: 800; font-size: .8rem; }
.sdr-bandeau-evt__num, .sdr-bandeau-evt__mois { font-family: var(--sdr-titre); font-size: 1.9rem; display: inline; }
.sdr-bandeau-evt__texte { flex: 1 1 22rem; }
.sdr-bandeau-evt__sur { color: var(--sdr-miel); font-weight: 800; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; }
.sdr-bandeau-evt__titre { font-weight: 800; font-size: var(--wp--preset--font-size--chapo); }
.sdr-bandeau-evt__resume { opacity: .92; }

/* ---------- Valeurs ---------- */

.sdr-valeur__picto img { background: var(--sdr-ciel); border-radius: 50%; padding: 18px; box-sizing: border-box; width: 96px !important; height: 96px; }
.sdr-valeur h3 { font-family: var(--sdr-titre); font-weight: 400; text-transform: uppercase; font-size: var(--wp--preset--font-size--h-3); letter-spacing: .01em; margin-block: .8rem .4rem; }
.sdr-valeur p { color: var(--sdr-encre); max-width: 18rem; margin-inline: auto; }
.sdr-valeurs__citation { border: 0 !important; padding: 0 !important; text-align: center; max-width: 40rem; margin: var(--wp--preset--spacing--50) auto 0 !important; color: var(--sdr-ardoise); font-style: italic; }
.sdr-valeurs__citation p::before { content: "« "; }
.sdr-valeurs__citation p::after { content: " »"; }

/* ---------- Photos, encarts ---------- */

.sdr-photo-arrondie img { border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); width: 100%; }
.sdr-encart { border-radius: var(--sdr-r-carte); padding: var(--wp--preset--spacing--50); gap: var(--wp--preset--spacing--40); }
.sdr-encart__texte { flex: 1 1 24rem; }
.sdr-encart__texte > * { margin-block: 0 .5rem; }
.sdr-entete-section { margin-block-end: var(--wp--preset--spacing--40); }
.sdr-entete-section .sdr-titre-section { margin: 0; }
.sdr-entete-section p { margin: 0; }
.sdr-cta--nuit h2 { color: #fff; }

/* ---------- Grilles et cartes ---------- */

.sdr-grille { display: grid; gap: var(--wp--preset--spacing--40); grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.sdr-rdv .sdr-grille { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.sdr-carte { background: #fff; border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); overflow: hidden; display: flex; flex-direction: column; position: relative; }
.sdr-carte__image { display: block; aspect-ratio: 16 / 10; background: var(--sdr-sable); overflow: hidden; }
.sdr-carte__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.sdr-carte--evenement .sdr-carte__image img { object-fit: contain; padding: .75rem .75rem 0; box-sizing: border-box; }
.sdr-carte:hover .sdr-carte__image img { transform: scale(1.03); }
.sdr-carte__image-vide { display: grid; place-items: center; height: 100%; color: var(--sdr-orange); }
.sdr-carte__image-vide .sdr-picto { width: 64px; height: 64px; }
.sdr-carte__image-vide img { width: 140px; height: auto; object-fit: contain; }
.sdr-carte__corps { padding: 1.1rem 1.4rem 1.4rem; display: flex; flex-direction: column; gap: .45rem; flex: 1; }
.sdr-carte__corps > * { margin: 0; }
.sdr-carte__titre { font-family: var(--wp--preset--font-family--texte); text-transform: none; font-size: 1.15rem; font-weight: 800; line-height: 1.3; letter-spacing: 0; }
.sdr-carte__titre a { color: var(--sdr-nuit); text-decoration: none; }
.sdr-carte__titre a:hover { text-decoration: underline; }
.sdr-carte__ligne { display: flex; gap: .5rem; align-items: center; font-size: .92rem; color: var(--sdr-encre); }
.sdr-carte__ligne .sdr-picto { width: 17px; height: 17px; color: var(--sdr-ardoise); }
.sdr-carte__auteur { font-size: .88rem; color: var(--sdr-ardoise); }
.sdr-carte__action { margin-top: auto !important; padding-top: .5rem; }
.sdr-carte__action .wp-element-button { padding: .6em 1.3em; font-size: .8rem; }
.sdr-carte.est-passe .sdr-carte__image img { filter: saturate(.85); }

.sdr-carte--partenaire .sdr-carte__logo { display: grid; place-items: center; padding: 1.5rem; height: 160px; border-bottom: 1px solid var(--sdr-ciel); }
.sdr-carte--partenaire .sdr-carte__logo img { max-height: 120px; width: auto; object-fit: contain; }
.sdr-carte--partenaire .sdr-carte__titre { font-family: var(--sdr-titre); font-weight: 400; text-transform: uppercase; font-size: 1.6rem; }

.sdr-carte-simple { background: #fff; border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); padding: var(--wp--preset--spacing--40); }
.sdr-bureau .sdr-carte-simple { background: var(--sdr-ciel); box-shadow: none; text-align: center; }
.sdr-carte-simple__role { font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; color: var(--sdr-orange-texte); margin: 0; }
.sdr-carte-simple__nom { font-family: var(--sdr-titre); font-size: 1.7rem; text-transform: uppercase; color: var(--sdr-nuit); margin: .3rem 0 0; line-height: 1.1; }

/* Badges et pastilles. */
.sdr-badges { display: flex; gap: .4rem; flex-wrap: wrap; margin: 0; }
.sdr-badge { display: inline-block; border-radius: var(--sdr-r-pilule); padding: .3em .9em; font-size: .78rem; font-weight: 800; line-height: 1.4; text-transform: uppercase; }
.sdr-badge--date { background: var(--sdr-nuit); color: #fff; }
.sdr-badge--heure { background: var(--sdr-orange); color: var(--sdr-nuit); text-transform: none; }
.sdr-pastilles { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.sdr-pastille { display: inline-block; background: var(--sdr-ciel); color: var(--sdr-nuit); border-radius: var(--sdr-r-pilule); padding: .2em .75em; font-size: .78rem; font-weight: 700; text-decoration: none; }
.sdr-pastille--plus { background: var(--sdr-sable); }
.sdr-pastilles--actives { margin-block: .5rem 1rem; }
.sdr-pastilles--actives a.sdr-pastille { background: var(--sdr-nuit); color: #fff; }
.sdr-pastilles--actives a.sdr-pastille:hover { background: var(--sdr-ardoise); }

/* Logos partenaires. */
.sdr-logos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--wp--preset--spacing--40); }
.sdr-logos li { background: #fff; border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); width: 210px; height: 130px; display: grid; place-items: center; padding: 1rem; box-sizing: border-box; }
.sdr-logos img { max-height: 95px; max-width: 100%; width: auto; object-fit: contain; display: block; }
.sdr-logos a { display: grid; place-items: center; width: 100%; height: 100%; }
.sdr-logos__nom { font-weight: 800; color: var(--sdr-nuit); text-align: center; }
.sdr-partenaires--logos-petits .sdr-logos { justify-content: flex-start; gap: 1rem; }
.sdr-partenaires--logos-petits .sdr-logos li { width: 120px; height: 64px; padding: .5rem; border-radius: 10px; box-shadow: none; }
.sdr-partenaires--logos-petits .sdr-logos img { max-height: 46px; }

/* ---------- Fiche événement ---------- */

.sdr-affiche img { border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); width: 100%; }
.sdr-fiche-evt__haut { margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); }
.sdr-chapo { color: var(--sdr-nuit); }
.sdr-evt-infos > * + * { margin-top: 1.1rem; }
.sdr-encadre { background: var(--sdr-ciel); border-radius: var(--sdr-r-carte); padding: 1.3rem 1.5rem; margin: 1.2rem 0 0; display: grid; gap: .9rem; }
.sdr-encadre > div { display: grid; grid-template-columns: 2.4rem 1fr; column-gap: .8rem; }
.sdr-encadre dt { grid-column: 1 / -1; display: contents; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--sdr-ardoise); }
.sdr-encadre dt .sdr-picto { grid-row: span 2; width: 2.2rem; height: 2.2rem; padding: .45rem; box-sizing: border-box; background: #fff; border-radius: 50%; color: var(--sdr-nuit); align-self: center; }
.sdr-encadre dd { margin: 0; grid-column: 2; font-weight: 700; color: var(--sdr-nuit); }
.sdr-evt-infos__boutons { gap: .8rem; }
.sdr-evt-infos__boutons .sdr-picto { width: 18px; height: 18px; }
.sdr-partage { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: .9rem; }
.sdr-partage__titre { font-weight: 800; color: var(--sdr-nuit); margin: 0 .3rem 0 0; }
.sdr-partage a, .sdr-partage button { display: inline-flex; align-items: center; gap: .4em; border: 2px solid var(--sdr-nuit); border-radius: var(--sdr-r-pilule); padding: .35em .9em; color: var(--sdr-nuit); background: transparent; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.sdr-partage a:hover, .sdr-partage button:hover { background: var(--sdr-nuit); color: #fff; }
.sdr-partage .sdr-picto { width: 17px; height: 17px; }
.sdr-fiche-evt__contenu h2 { margin-block-start: var(--wp--preset--spacing--50); }

/* Programme : chaque ligne commence par l'heure en gras, affichée en pastille. */
.sdr-programme { list-style: none; padding: 0; display: grid; gap: .7rem; }
.sdr-programme li { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; align-items: start; }
.sdr-programme li > strong:first-child { background: var(--sdr-sable); border-radius: var(--sdr-r-pilule); text-align: center; padding: .15em .6em; font-size: .85rem; color: var(--sdr-nuit); }
@media (max-width: 600px) { .sdr-programme li { grid-template-columns: 1fr; gap: .2rem; } .sdr-programme li > strong:first-child { justify-self: start; } }

.sdr-meme-jour { background: var(--sdr-miel); border-radius: var(--sdr-r-carte); padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); margin-block: var(--wp--preset--spacing--50); }
.sdr-meme-jour__titre { font-family: var(--wp--preset--font-family--texte); text-transform: uppercase; font-size: .85rem; font-weight: 800; letter-spacing: .06em; margin: 0 0 .5rem; }
.sdr-meme-jour__item + .sdr-meme-jour__item { border-top: 1px solid rgba(10, 40, 90, .2); padding-top: 1rem; margin-top: 1rem; }
.sdr-meme-jour__item p { margin: .3rem 0; }
.sdr-meme-jour__nom { font-family: var(--sdr-titre); text-transform: uppercase; font-size: var(--wp--preset--font-size--h-3); color: var(--sdr-nuit); }
.sdr-meme-jour .sdr-lien-fleche { color: var(--sdr-nuit); }

/* ---------- Messages pour Romane ---------- */

.sdr-lettre p { font-size: var(--wp--preset--font-size--chapo); line-height: 1.75; }
/* Textes repliés sur 5 lignes, « Lire la suite » en popup, 8 messages puis « Voir plus » (maquette Pencil validée le 02/11/2026). */
.sdr-messages__total { color: var(--sdr-ardoise); margin: -.5rem 0 1.5rem; }
.sdr-messages__grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
@media (max-width: 781px) { .sdr-messages__grille { grid-template-columns: 1fr; } }
.sdr-message { margin: 0; background: var(--sdr-creme); border: 2px solid var(--sdr-ciel); border-radius: var(--sdr-r-carte); padding: 1.6rem 1.75rem; display: flex; flex-direction: column; }
.sdr-message[hidden] { display: none; }
/* Les deux cartes d'une même ligne ont la même hauteur ; la signature reste en bas. */
.sdr-message > .sdr-message__guillemet, .sdr-message > .sdr-message__suite { align-self: flex-start; }
.sdr-message > .sdr-message__signe { margin-top: auto; padding-top: 1rem; }
.sdr-message[hidden] { display: none; }
.sdr-message:focus { outline: 3px solid var(--sdr-orange); outline-offset: 3px; }
.sdr-message__guillemet { display: block; color: var(--sdr-orange); margin-bottom: .6rem; }
.sdr-message blockquote, .sdr-message-popup__texte { margin: 0; border: 0; padding: 0; line-height: 1.75; }
.sdr-message blockquote p, .sdr-message-popup__texte p { margin: 0 0 .8em; }
.sdr-message blockquote p:last-child, .sdr-message-popup__texte p:last-child { margin-bottom: 0; }
.sdr-message__texte { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5; overflow: hidden; }
/* Un texte en plusieurs paragraphes : on le replie comme un seul bloc pour que la coupe tombe bien à 5 lignes. */
.sdr-message__texte p { display: inline; margin: 0; }
.sdr-message__texte p + p::before { content: " "; }
.sdr-message__suite { display: inline-flex; align-items: center; gap: .35rem; margin-top: .9rem; padding: 0; border: 0; background: none; font: inherit; font-size: .9rem; font-weight: 800; color: var(--sdr-orange-texte); cursor: pointer; }
.sdr-message__suite[hidden] { display: none; }
.sdr-message__suite:hover { text-decoration: underline; text-underline-offset: 3px; }
/* Carte repliée : toute la carte est cliquable et le montre au survol. */
.sdr-message--repliee { cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.sdr-message--repliee:hover { border-color: var(--sdr-miel); box-shadow: var(--sdr-ombre); transform: translateY(-2px); }
.sdr-message--repliee:hover .sdr-message__suite { text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .sdr-message--repliee, .sdr-message--repliee:hover { transition: none; transform: none; } }
.sdr-message__signe { margin: 1rem 0 0; font-size: .88rem; font-weight: 800; color: var(--sdr-ardoise); }
.sdr-messages__plus { margin-top: 2.5rem; text-align: center; }
.sdr-messages__compte { margin: 0 0 .75rem; font-size: .88rem; font-weight: 800; color: var(--sdr-ardoise); }
.sdr-messages__plus .wp-block-button { display: inline-block; }
.sdr-messages__plus .wp-block-button[hidden] { display: none; }
.sdr-messages__bouton { display: inline-flex; align-items: center; gap: .5rem; }
.sdr-message-popup { width: min(720px, calc(100vw - 2rem)); max-height: 80vh; padding: 0; border: 0; border-radius: 24px; background: #fff; color: var(--sdr-encre); box-shadow: 0 24px 60px rgba(10, 40, 90, .25); overflow: hidden; }
.sdr-message-popup[open] { display: flex; flex-direction: column; }
.sdr-message-popup::backdrop { background: rgba(10, 40, 90, .7); }
.sdr-message-popup__boite { padding: 2rem 2.5rem 2.5rem; overflow-y: auto; overscroll-behavior: contain; max-height: 80vh; }
.sdr-message-popup__haut { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.sdr-message-popup__haut .sdr-message__guillemet { margin: 0; }
.sdr-message-popup .sdr-message__signe { margin: .6rem 0 1.25rem; }
.sdr-message-popup__fermer { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem 1rem; border: 2px solid var(--sdr-nuit); border-radius: var(--sdr-r-pilule); background: #fff; color: var(--sdr-nuit); font: inherit; font-size: .9rem; font-weight: 800; cursor: pointer; }
.sdr-message-popup__fermer:hover { background: var(--sdr-nuit); color: #fff; }
html.sdr-popup-ouverte { overflow: hidden; }
@media (max-width: 600px) { .sdr-message { padding: 1.3rem 1.25rem; } .sdr-message-popup__boite { padding: 1.5rem 1.25rem 2rem; } }

/* ---------- Formulaires (ACF et Contact Form 7) ---------- */

.sdr-form .acf-fields > .acf-field, .wpcf7-form p { border: 0 !important; padding: 0 0 1.1rem !important; margin: 0; }
.sdr-form .acf-fields { border: 0; }
.sdr-form .acf-label label, .wpcf7-form label { font-weight: 800; color: var(--sdr-nuit); display: block; margin-bottom: .35rem; }
.sdr-form .acf-required { color: var(--sdr-orange-texte); }
.sdr-form .acf-field p.description, .sdr-form .acf-label p.description { color: var(--sdr-ardoise); font-size: .88rem; margin: .1rem 0 .4rem; }
.sdr-form input[type="text"], .sdr-form input[type="email"], .sdr-form input[type="number"], .sdr-form input[type="url"], .sdr-form textarea, .sdr-form select,
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form textarea, .wpcf7-form select,
.sdr-recherche input[type="search"] {
	width: 100%; box-sizing: border-box; font: inherit; color: var(--sdr-encre); background: #fff; border: 2px solid #c9d6ea; border-radius: var(--sdr-r-champ); padding: .75em 1em; min-height: 3rem;
}
.sdr-form textarea, .wpcf7-form textarea { min-height: 9rem; resize: vertical; }
.sdr-form :is(input, textarea, select):focus, .wpcf7-form :is(input, textarea, select):focus, .sdr-recherche input:focus { border-color: var(--sdr-nuit); outline: 3px solid var(--sdr-orange-texte); outline-offset: 1px; }
.sdr-form .acf-checkbox-list, .sdr-form ul.acf-checkbox-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: .3rem 1rem; border: 0 !important; padding: 0 !important; background: none !important; }
.sdr-form .acf-checkbox-list label, .sdr-form .acf-true-false label, .wpcf7-list-item label { font-weight: 600; display: inline-flex; gap: .55rem; align-items: flex-start; color: var(--sdr-encre); }
.sdr-form input[type="checkbox"], .wpcf7-form input[type="checkbox"], .sdr-filtre input { width: 1.2rem; height: 1.2rem; accent-color: var(--sdr-nuit); margin: .2rem 0 0; flex: none; }
.wpcf7-list-item { margin: 0; }
.sdr-form .acf-form-submit, .wpcf7-form .wpcf7-submit { margin-top: .5rem; }
.wpcf7-form .wpcf7-submit { background: var(--sdr-orange); color: var(--sdr-nuit); border: 2px solid var(--sdr-orange); border-radius: var(--sdr-r-pilule); padding: .8em 1.8em; font: inherit; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.wpcf7-form .wpcf7-submit:hover { background: var(--sdr-miel); border-color: var(--sdr-miel); }
.wpcf7-spinner { vertical-align: middle; }
/* Erreurs et confirmations : texte + couleur, jamais la couleur seule. */
.sdr-form .acf-error-message, .acf-notice.-error { background: #fdecea !important; border-left: 4px solid #b3261e !important; color: #7a1712 !important; border-radius: 8px; padding: .6rem .9rem !important; margin: 0 0 .5rem !important; }
.sdr-form .acf-error-message::before, .acf-notice.-error p::before { content: "⚠ "; }
.sdr-form .acf-field.acf-error input, .sdr-form .acf-field.acf-error textarea, .wpcf7-not-valid { border-color: #b3261e !important; }
.wpcf7-not-valid-tip { color: #7a1712; font-size: .88rem; font-weight: 700; margin-top: .3rem; }
.wpcf7 form .wpcf7-response-output { border-radius: var(--sdr-r-champ); padding: .9rem 1.1rem; margin: 1rem 0 0; font-weight: 700; }
.wpcf7 form.sent .wpcf7-response-output { background: #e8f5ec; border-color: #2e7d4f; color: #1b4d30; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { background: #fdecea; border-color: #b3261e; color: #7a1712; }
.sdr-merci { background: #fff; border-left: 6px solid var(--sdr-orange); border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); padding: 1.4rem 1.6rem; }
.sdr-merci__titre { font-weight: 800; font-size: var(--wp--preset--font-size--chapo); color: var(--sdr-nuit); margin-top: 0; }
.acf-hidden, .sdr-form .acf-field[data-name="_validate_email"] { display: none !important; }

/* ---------- Recettes ---------- */

.sdr-recherche { background: #fff; border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); padding: var(--wp--preset--spacing--40); }
.sdr-recherche__label { font-weight: 800; color: var(--sdr-nuit); display: block; margin-bottom: .4rem; }
.sdr-recherche__champ { display: flex; gap: .6rem; flex-wrap: wrap; }
.sdr-recherche__champ input { flex: 1 1 16rem; }
.sdr-filtres { margin-top: 1rem; }
.sdr-filtres summary { cursor: pointer; font-weight: 800; color: var(--sdr-nuit); padding: .4rem 0; }
.sdr-filtres__grille { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 1.5rem; margin-top: 1rem; }
@media (max-width: 960px) { .sdr-filtres__grille { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .sdr-filtres__grille { grid-template-columns: 1fr; } }
.sdr-filtre { border: 0; padding: 0; margin: 0; }
.sdr-filtre legend { font-weight: 800; color: var(--sdr-nuit); margin-bottom: .4rem; }
.sdr-filtre ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.sdr-filtre--sans ul { grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); }
.sdr-filtre li { display: flex; gap: .5rem; align-items: flex-start; }
.sdr-filtre__aide { color: var(--sdr-ardoise); font-size: .85rem; font-weight: 400; }
.sdr-filtres__actions { display: flex; gap: 1.2rem; align-items: center; margin-top: 1rem; }
.sdr-filtres__actions a { color: var(--sdr-orange-texte); font-weight: 800; }
.sdr-avertissement { display: flex; gap: .8rem; align-items: flex-start; background: var(--sdr-sable); border-radius: var(--sdr-r-champ); padding: 1rem 1.2rem; margin: var(--wp--preset--spacing--40) 0; font-size: .95rem; }
.sdr-avertissement p { margin: 0; }
.sdr-avertissement .sdr-picto { width: 24px; height: 24px; color: var(--sdr-orange-texte); margin-top: .1rem; }
.sdr-resultats__compte { font-weight: 800; color: var(--sdr-nuit); font-size: var(--wp--preset--font-size--chapo); }
.sdr-pagination { display: flex; justify-content: center; align-items: center; gap: 1.2rem; margin-top: var(--wp--preset--spacing--50); font-weight: 700; }
.sdr-pagination a { color: var(--sdr-orange-texte); }
.sdr-vide .wp-block-buttons { justify-content: center; gap: .8rem; }

.sdr-recette__photo img { border-radius: var(--sdr-r-carte); }
.sdr-fiche-recette__infos { font-weight: 800; color: var(--sdr-nuit); font-size: var(--wp--preset--font-size--chapo); margin-bottom: .2rem; }
.sdr-fiche-recette__auteur { color: var(--sdr-ardoise); margin-top: 0; }
.sdr-allergenes { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-block: 1.4rem; }
@media (max-width: 600px) { .sdr-allergenes { grid-template-columns: 1fr; } }
.sdr-allergenes__col { border-radius: var(--sdr-r-champ); padding: 1rem 1.2rem; }
.sdr-allergenes__col p { margin: 0; }
.sdr-allergenes__col--sans { background: #e8f5ec; }
.sdr-allergenes__col--contient { background: #fdf0e1; }
.sdr-allergenes__titre { font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: .85rem; display: flex; gap: .4rem; align-items: center; margin-bottom: .3rem !important; }
.sdr-allergenes__note { color: var(--sdr-ardoise); font-size: .85rem; }
.sdr-avertissement--court span { font-size: .9rem; }
.sdr-fiche-recette__colonnes { display: grid; grid-template-columns: 1fr 1.6fr; gap: var(--wp--preset--spacing--50); margin-top: var(--wp--preset--spacing--40); }
@media (max-width: 781px) { .sdr-fiche-recette__colonnes { grid-template-columns: 1fr; } }
.sdr-fiche-recette h2 { font-size: var(--wp--preset--font-size--h-3); }
.sdr-fiche-recette__ingredients { background: var(--sdr-ciel); border-radius: var(--sdr-r-carte); padding: 1.2rem 1.5rem; align-self: start; }
.sdr-fiche-recette__ingredients ul { padding-left: 1.1rem; }
.sdr-fiche-recette__ingredients li + li, .sdr-fiche-recette__etapes li + li { margin-top: .5rem; }
.sdr-fiche-recette__etapes ol { padding-left: 1.3rem; }
.sdr-fiche-recette__etapes li::marker { font-weight: 800; color: var(--sdr-orange-texte); }
.sdr-fiche-recette__astuces { background: var(--sdr-sable); border-radius: var(--sdr-r-carte); padding: 1.2rem 1.5rem; margin-top: var(--wp--preset--spacing--40); }
.sdr-fiche-recette__boutons { gap: .8rem; margin-top: var(--wp--preset--spacing--40); }
.sdr-fiche-recette__boutons button.wp-block-button__link { cursor: pointer; font-family: inherit; }
.sdr-fiche-recette__signaler { color: var(--sdr-ardoise); font-size: .9rem; }

/* ---------- Adhésion, contact, ressources ---------- */

.sdr-tarifs { max-width: 560px; margin-inline: auto !important; }
.sdr-tarif { background: var(--sdr-sable); border-radius: var(--sdr-r-carte); text-align: center; padding: 1.4rem 1rem; }
.sdr-tarif__prix { font-family: var(--sdr-titre); font-size: 3rem; color: var(--sdr-nuit); line-height: 1; margin: 0; }
.sdr-tarif__nom { font-weight: 800; margin: .4rem 0 0; }
.sdr-coordonnees ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .7rem; }
.sdr-coordonnees li { display: flex; gap: .6rem; align-items: flex-start; }
.sdr-coordonnees a { color: inherit; }
.sdr-coordonnees__reseaux { margin-top: 1rem !important; }
.sdr-coordonnees--page .sdr-picto { color: var(--sdr-orange-texte); width: 22px; height: 22px; }
.sdr-coordonnees--pied { font-size: .92rem; }
.sdr-coordonnees--pied .sdr-picto { display: none; }
.sdr-coordonnees--pied ul { gap: .45rem; }
.sdr-coordonnees--pied a { text-decoration: none; }
.sdr-coordonnees--pied a:hover { text-decoration: underline; }
.sdr-ancres a { font-weight: 800; color: var(--sdr-nuit); }

/* ---------- Pied de page ---------- */

.sdr-pied a { color: #fff; }
.sdr-pied__logo img { background: #fff; border-radius: 14px; padding: .8rem 1rem; box-sizing: content-box; }
.sdr-pied__titre { font-family: var(--sdr-titre); font-weight: 400; color: var(--sdr-miel) !important; text-transform: uppercase; font-size: 1.5rem; margin-block: 0 .7rem; }
.sdr-pied__liens { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; font-size: .92rem; }
.sdr-pied__liens a, .sdr-pied__bas a { text-decoration: none; }
.sdr-pied__liens a:hover, .sdr-pied__bas a:hover { text-decoration: underline; }
.sdr-pied__partenaires { margin-top: var(--wp--preset--spacing--50); gap: 1.2rem; }
.sdr-pied__partenaires .sdr-pied__titre { margin: 0; }
.sdr-pied__bas { border-top: 1px solid rgba(255, 255, 255, .2); margin-top: var(--wp--preset--spacing--50); padding-top: var(--wp--preset--spacing--30); }
.sdr-pied__bas p { margin: 0; }
.sdr-pied :focus-visible { outline-color: var(--sdr-miel); }

/* ---------- Impression des recettes ---------- */

@media print {
	.sdr-bandeau-haut, .sdr-site-entete, .sdr-pied, .sdr-fiche-recette__boutons, .sdr-fiche-recette__signaler, .sdr-cta, .sdr-ariane, .sdr-partage { display: none !important; }
	body { background: #fff; color: #000; }
	.sdr-carte, .sdr-fiche-recette__ingredients, .sdr-fiche-recette__astuces { box-shadow: none; border: 1px solid #ccc; }
}

/* Ajustements après test local. */
.sdr-principal .wp-block-post-content > .sdr-bandeau-evt, .sdr-hero + .sdr-bandeau-evt { margin-block-start: 0 !important; }
.sdr-hero--accueil { padding-bottom: calc(var(--wp--preset--spacing--50) + 5vw); }
.sdr-valeur h3 { font-size: clamp(1.6rem, 1.2rem + 1vw, 2.1rem); }
.sdr-hero__colonnes .wp-block-column:first-child { display: flex; flex-wrap: wrap; align-items: center; column-gap: 1.25rem; }
.sdr-hero__colonnes .wp-block-column:first-child > :not(.sdr-hero__boutons):not(.sdr-lien-fleche) { flex: 0 0 100%; }
.sdr-hero__colonnes .wp-block-column:first-child > .sdr-lien-fleche { margin: var(--wp--preset--spacing--40) 0 0 !important; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--sdr-nuit); border: 2px solid currentColor; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--sdr-nuit); color: #fff; border-color: var(--sdr-nuit); }
.has-nuit-background-color .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }

/* Coup de pinceau azur derrière le portrait de l'accueil (maquette du 31/10). */
.sdr-hero--accueil .sdr-hero__portrait { background: url("../images/pinceau-azur.webp") no-repeat 0% 62% / 78% auto; }

/* =====================================================================
   0.1.2 : alignement sur les maquettes Pencil du 31/10
   ===================================================================== */

/* ---------- Menu : étoiles régulières, chevron dans la pastille ---------- */
.sdr-nav .wp-block-navigation__container { gap: .7rem; }
.sdr-nav .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before { position: static; order: -1; margin-right: .7rem; line-height: 1; }
.sdr-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle { margin-left: 0; padding-right: 2.1em; }
.sdr-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon { position: absolute; right: 1em; top: 50%; transform: translateY(-50%); margin: 0; width: .75em; height: .75em; display: flex; pointer-events: none; color: var(--sdr-nuit); transition: transform .2s ease; }
.sdr-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon svg { width: 100%; height: 100%; stroke: currentColor; }
.sdr-nav .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] + .wp-block-navigation__submenu-icon { transform: translateY(-50%) rotate(180deg); }
.sdr-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { left: auto; right: 0; top: calc(100% + .4rem); }
@media (min-width: 782px) and (max-width: 1240px) {
	.sdr-nav { font-size: .72rem; letter-spacing: .03em; }
	.sdr-nav .wp-block-navigation__container { gap: .35rem; }
	.sdr-nav .wp-block-navigation__container > .wp-block-navigation-item + .wp-block-navigation-item::before { margin-right: .35rem; font-size: .65rem; }
	.sdr-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { padding: .5em .8em; }
	.sdr-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle { padding-right: 1.9em; }
	.sdr-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon { right: .8em; }
	.sdr-entete__logo img { width: 90px; }
	.sdr-entete__adherer .wp-block-button__link { padding: .6em 1.1em; }
}
/* Menu mobile ouvert : liste simple, sous-menus dépliés sous leur pastille. */
.sdr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: center; }
.sdr-nav .is-menu-open .has-child { flex-direction: column; align-items: center !important; }
.sdr-nav .is-menu-open .has-child > .wp-block-navigation-item__content { padding-right: 1.1em !important; }
.sdr-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.sdr-nav .is-menu-open .wp-block-navigation__submenu-container { position: static !important; box-shadow: none !important; background: transparent !important; padding: .3rem 0 0 !important; min-width: 0 !important; opacity: 1 !important; visibility: visible !important; width: auto !important; height: auto !important; align-items: center; gap: .2rem; }
.sdr-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { text-transform: none; letter-spacing: 0; font-weight: 700; font-size: 1rem; color: var(--sdr-nuit); padding: .3em .6em !important; }

/* ---------- Sections ---------- */
.sdr-s { padding-block: var(--wp--preset--spacing--60); }
.sdr-section--cta { padding-block: var(--wp--preset--spacing--50); }
.sdr-intro { max-width: 40rem; }
.sdr-titre-section { margin-block-end: var(--wp--preset--spacing--30); }
.sdr-titre-section + .sdr-intro, .sdr-titre-section + p { margin-block-start: 0; }
.sdr-surtitre { font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--sdr-orange-texte); margin-block-end: .3rem; }

/* ---------- En-tête des pages : aligné à gauche, sur fond crème ---------- */
.sdr-hero--page { border-radius: 0; padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
.sdr-hero--page .sdr-hero__texte > * { margin-block: 0; }
.sdr-hero--page .sdr-accent { margin-block-end: .25em !important; }
.sdr-hero--page h1 { font-size: clamp(2.6rem, 2rem + 2.6vw, 4rem); margin-block-end: .25em !important; }
.sdr-hero--page .sdr-hero__chapo, .sdr-hero--page .sdr-hero__suite { max-width: 36rem; }
.sdr-hero--page .sdr-hero__suite { margin-block-start: .6em !important; }
.sdr-hero--page .sdr-hero__texte > .wp-block-buttons, .sdr-hero--page .sdr-ancres, .sdr-hero--page .sdr-acces-liste { margin-block-start: var(--wp--preset--spacing--40) !important; }
.sdr-hero--histoire .sdr-hero__chapo--fort { font-weight: 700; color: var(--sdr-nuit); font-size: var(--wp--preset--font-size--chapo); }
.sdr-hero--histoire .sdr-hero__colonne-texte > p:not(.sdr-accent) { max-width: 34rem; }
.sdr-hero--histoire .sdr-hero__portrait img { max-width: 380px; }
.sdr-hero--histoire h1 { font-size: clamp(2.6rem, 2rem + 2.6vw, 4rem); }

/* Ancres en pastilles (Partenaires). */
.sdr-ancres { display: flex; flex-wrap: wrap; gap: .5rem; }
.sdr-ancres a { background: var(--sdr-ciel); border-radius: var(--sdr-r-pilule); padding: .4em 1em; font-size: .85rem; font-weight: 700; text-decoration: none; color: var(--sdr-nuit); }
.sdr-ancres a:hover { background: var(--sdr-sable); }

/* Accès rapides (Ressources). */
.sdr-acces-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--wp--preset--spacing--40); max-width: 1200px; }
.sdr-acces { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-items: center; background: #fff; border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); padding: 1rem 1.3rem; text-decoration: none; color: var(--sdr-nuit); }
.sdr-acces:hover { box-shadow: 0 10px 28px rgba(10, 40, 90, .16); }
.sdr-acces__picto { grid-row: span 2; width: 56px; height: 56px; padding: 12px; box-sizing: border-box; background: var(--sdr-ciel); border-radius: 50%; }
.sdr-acces__titre { font-family: var(--sdr-titre); text-transform: uppercase; font-size: 1.5rem; line-height: 1.1; }
.sdr-acces__sous { font-size: .9rem; color: var(--sdr-encre); }

/* Pastille « Fêter, oui ! » (Recettes). */
.sdr-hero--recettes .sdr-hero__texte { position: relative; }
.sdr-pastille-slogan { position: absolute; right: 4%; top: 0; width: 170px; height: 170px; display: grid; place-items: center; text-align: center; background: var(--sdr-miel); color: var(--sdr-nuit); font-family: var(--sdr-titre); text-transform: uppercase; font-size: 1.6rem; line-height: 1.05; padding: 1.4rem; box-sizing: border-box; border-radius: 50%; transform: rotate(8deg); clip-path: polygon(50% 0, 61% 6%, 74% 4%, 80% 15%, 93% 20%, 93% 33%, 100% 45%, 95% 57%, 98% 70%, 88% 78%, 84% 91%, 71% 92%, 60% 100%, 49% 94%, 37% 99%, 28% 89%, 15% 87%, 12% 74%, 2% 65%, 6% 52%, 0 40%, 9% 30%, 9% 17%, 22% 12%, 30% 2%, 41% 6%); }
@media (max-width: 900px) { .sdr-pastille-slogan { position: static; width: 140px; height: 140px; font-size: 1.3rem; margin-top: 1.5rem !important; } }

/* ---------- Carte d'appel bleu nuit ---------- */
.sdr-cta-carte { border-radius: var(--sdr-r-carte); padding: var(--wp--preset--spacing--50); gap: var(--wp--preset--spacing--40); }
.sdr-cta-carte__texte { flex: 1 1 26rem; }
.sdr-cta-carte__texte > * { margin-block: 0; }
.sdr-cta-carte__texte h2 { color: var(--sdr-miel) !important; font-size: clamp(1.9rem, 1.5rem + 1.2vw, 2.5rem); margin-block-end: .4rem; }
.sdr-cta-carte__texte p { max-width: 36rem; }
.sdr-cta-carte__boutons { gap: .8rem; }
.sdr-bouton-clair.is-style-outline > .wp-block-button__link, .has-nuit-background-color .is-style-outline > .wp-block-button__link { color: #fff; border-color: var(--sdr-miel); }
.has-nuit-background-color .is-style-outline > .wp-block-button__link:hover { background: var(--sdr-miel); color: var(--sdr-nuit); border-color: var(--sdr-miel); }
.sdr-bouton-miel .wp-block-button__link:hover { background: var(--sdr-sable); border-color: var(--sdr-sable); }

/* Bande sable « Pour aller plus loin ». */
.sdr-bande { gap: var(--wp--preset--spacing--40); }
.sdr-bande .sdr-encart__texte { flex: 1 1 28rem; }
.sdr-bande .sdr-encart__texte p { max-width: 36rem; }

/* ---------- Accueil ---------- */
.sdr-hero--accueil { padding-bottom: 5vw; }
.sdr-hero--accueil::after { height: 11vw; min-height: 60px; clip-path: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath d='M0 60 C 400 200 1000 200 1440 0 L1440 160 L0 160 Z' fill='%230A285A'/%3E%3C/svg%3E") no-repeat center bottom / 100% 100%; z-index: 0; }
.sdr-hero--accueil > * { position: relative; z-index: 1; }
.sdr-hero--accueil .sdr-hero__portrait { background-size: 92% auto; background-position: 0% 70%; }
.sdr-bandeau-evt { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); }
.sdr-bandeau-evt__inner { gap: var(--wp--preset--spacing--40); }
.sdr-bandeau-evt__date { display: grid; gap: .3rem; padding: .9rem 1.2rem; border-radius: 16px; min-width: 0; }
.sdr-bandeau-evt__jour { font-size: .85rem; }
.sdr-bandeau-evt__num { font-family: var(--sdr-titre); font-size: 2.3rem; line-height: .9; white-space: nowrap; }
.sdr-bandeau-evt__texte { flex: 1 1 24rem; font-weight: 800; font-size: var(--wp--preset--font-size--chapo); line-height: 1.5; }
.sdr-bandeau-evt__action .wp-element-button { background: var(--sdr-miel); border-color: var(--sdr-miel); }
.sdr-valeur__picto img { width: 88px !important; height: 88px; padding: 24px; }
.sdr-pour-romane .sdr-photo-arrondie img { box-shadow: none; aspect-ratio: 6 / 5; object-fit: cover; }
.sdr-pour-romane .wp-block-columns { gap: var(--wp--preset--spacing--60); }

/* ---------- Cartes ---------- */
.sdr-carte__extrait { font-size: .92rem; color: var(--sdr-encre); }
.sdr-carte__lien { margin-top: .2rem !important; }
.sdr-carte__lien a { font-size: .85rem; }
.sdr-carte--evenement .sdr-carte__image { aspect-ratio: 16 / 9; }
.sdr-grille--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.sdr-evenements__sous-titre { font-family: var(--sdr-titre); font-weight: 400; text-transform: uppercase; font-size: 1.9rem; color: var(--sdr-nuit); margin: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--30); }
.sdr-a-venir .sdr-evenements--a-venir > .sdr-grille { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }

/* Encadré du jour fort (page Événements). */
.sdr-jour-fort { background: #fff; border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); padding: var(--wp--preset--spacing--40); }
.sdr-jour-fort__entete { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.2rem; margin-bottom: var(--wp--preset--spacing--40); }
.sdr-jour-fort__date { margin: 0; background: var(--sdr-nuit); color: #fff; border-radius: 14px; padding: .55rem 1rem; display: grid; text-align: center; line-height: 1; gap: .2rem; }
.sdr-jour-fort__date span { color: var(--sdr-miel); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.sdr-jour-fort__date time { font-family: var(--sdr-titre); font-size: 1.8rem; text-transform: uppercase; white-space: nowrap; }
.sdr-jour-fort__titre { margin: 0; font-family: var(--wp--preset--font-family--texte); text-transform: none; font-weight: 800; font-size: 1.4rem; letter-spacing: 0; color: var(--sdr-nuit); }
.sdr-jour-fort .sdr-carte { box-shadow: 0 4px 14px rgba(10, 40, 90, .08); border: 1px solid var(--sdr-ciel); }
.sdr-jour-fort__note { font-size: .88rem; color: var(--sdr-encre); margin: var(--wp--preset--spacing--30) 0 0; }

/* Partenaires. */
.sdr-carte--partenaire .sdr-carte__titre { font-family: var(--wp--preset--font-family--texte); font-weight: 800; text-transform: none; font-size: 1.2rem; }
.sdr-carte--partenaire .sdr-carte__logo { border-bottom: 0; height: 130px; padding-bottom: 0; }
.sdr-vignette-partenaire { background: #fff; border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); padding: 1.4rem 1.5rem; }
.sdr-vignette-partenaire img { display: block; max-height: 110px; width: auto; max-width: 100%; margin: 0 auto .8rem; object-fit: contain; }
.sdr-vignette-partenaire__nom { font-family: var(--wp--preset--font-family--texte); text-transform: none; font-weight: 800; font-size: 1.15rem; letter-spacing: 0; margin: 0 0 .3rem; }
.sdr-vignette-partenaire p { margin: 0; font-size: .9rem; }
.sdr-nous-soutenons { gap: var(--wp--preset--spacing--50); }
#ils-nous-soutiennent .sdr-grille { grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); }

/* ---------- Notre histoire ---------- */
.sdr-video-bloc { margin: var(--wp--preset--spacing--40) 0 0; }
.sdr-video-cadre { aspect-ratio: 16 / 9; border-radius: var(--sdr-r-carte); overflow: hidden; background: var(--sdr-ciel); }
.sdr-video-facade { width: 100%; height: 100%; border: 0; background: transparent; cursor: pointer; display: grid; place-content: center; justify-items: center; gap: .6rem; padding: 1.5rem; font: inherit; color: var(--sdr-nuit); }
.sdr-video-facade__lecture { width: 76px; height: 76px; border-radius: 50%; background: var(--sdr-orange); display: grid; place-items: center; color: var(--sdr-nuit); transition: transform .2s ease; }
.sdr-video-facade__lecture svg { margin-left: 4px; }
.sdr-video-facade:hover .sdr-video-facade__lecture { transform: scale(1.06); }
.sdr-video-facade__titre { font-weight: 800; font-size: var(--wp--preset--font-size--chapo); }
.sdr-video-facade__note { font-size: .88rem; color: var(--sdr-ardoise); }
.sdr-video-iframe { width: 100%; height: 100%; border: 0; display: block; }
.sdr-video-bloc figcaption { font-size: .8rem; color: var(--sdr-ardoise); margin-top: .6rem; text-align: left; }
.sdr-bureau .sdr-carte-simple { text-align: left; padding: 1.2rem 1.4rem; }
.sdr-bureau .sdr-carte-simple__nom { font-family: var(--wp--preset--font-family--texte); font-size: 1.05rem; font-weight: 800; text-transform: none; margin: 0; line-height: 1.35; }
.sdr-bureau .sdr-carte-simple__role { text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--sdr-ardoise); font-size: .9rem; margin: .2rem 0 0; }

/* ---------- Nous soutenir ---------- */
.sdr-adherer { background: var(--sdr-ciel); border-radius: var(--sdr-r-carte); padding: var(--wp--preset--spacing--50); gap: var(--wp--preset--spacing--50); margin-block-end: var(--wp--preset--spacing--50); }
.sdr-adherer__tarifs { background: #fff; border-radius: var(--sdr-r-carte); padding: 1.5rem; box-shadow: var(--sdr-ombre); text-align: center; }
.sdr-adherer__tarifs .sdr-tarifs { margin: 0 0 1rem !important; gap: 1rem; }
.sdr-adherer__tarifs .sdr-tarif { background: none; padding: 0; }
.sdr-adherer__tarifs .sdr-tarif__nom { font-weight: 800; color: var(--sdr-nuit); font-size: .92rem; }
.sdr-adherer__boutons { flex-direction: column; align-items: center; gap: .6rem; }
.sdr-soutenir__cartes { gap: var(--wp--preset--spacing--40); }
.sdr-soutenir__cartes .sdr-carte-simple > * { margin-block: 0 .8rem; }
.sdr-soutenir__cartes h3 { font-family: var(--sdr-titre); font-weight: 400; text-transform: uppercase; letter-spacing: .01em; font-size: 1.9rem; }
.sdr-carte-picto img { width: 56px; height: 56px; padding: 13px; box-sizing: border-box; background: var(--sdr-sable); border-radius: 50%; }

/* ---------- Romane ---------- */
.sdr-romane { gap: var(--wp--preset--spacing--50); }
.sdr-lettre { border-radius: var(--sdr-r-carte); padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40); }
.sdr-lettre p { font-size: 1rem; line-height: 1.7; margin-block: 0 .9em; }
.sdr-lettre .sdr-lettre__titre { font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .85rem; color: var(--sdr-nuit); }

/* ---------- Contact ---------- */
.sdr-contact { gap: var(--wp--preset--spacing--50); }
.sdr-contact__infos { background: var(--sdr-ciel); border-radius: var(--sdr-r-carte); padding: var(--wp--preset--spacing--40) !important; align-self: flex-start; }
.sdr-contact__titre { font-size: 1.9rem; margin: 0 0 1rem; }
.sdr-contact__formulaire, .sdr-carte-formulaire { background: #fff; border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); padding: var(--wp--preset--spacing--40) !important; }
.sdr-contact__formulaire .wpcf7-form p:last-of-type { padding-bottom: 0 !important; }

/* ---------- Ressources ---------- */
.sdr-fiche { background: #fff; border: 1px solid var(--sdr-ciel); border-radius: var(--sdr-r-carte); padding: var(--wp--preset--spacing--40); gap: var(--wp--preset--spacing--40); margin-block-start: var(--wp--preset--spacing--40); }
.sdr-fiche h3 { font-family: var(--wp--preset--font-family--texte); text-transform: none; font-weight: 800; font-size: 1.4rem; letter-spacing: 0; margin: 0 0 .5rem; }
.sdr-fiche__visuel { background: var(--sdr-ciel); border-radius: 14px; align-self: stretch !important; display: grid; place-items: center; min-height: 150px; }
.sdr-fiche__picto img { width: 72px; }
.sdr-info { display: flex; gap: .8rem; align-items: flex-start; background: var(--sdr-ciel); border-radius: var(--sdr-r-champ); padding: 1rem 1.3rem; font-weight: 700; color: var(--sdr-nuit); margin-block-start: var(--wp--preset--spacing--40); }
.sdr-info::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: .15rem; background: currentColor; -webkit-mask: url("../images/pictos/telephone.svg") center / contain no-repeat; mask: url("../images/pictos/telephone.svg") center / contain no-repeat; }

/* ---------- Recettes ---------- */
.sdr-recettes .sdr-avertissement { background: var(--sdr-ciel); margin-top: 0; }
.sdr-recettes__grille { display: grid; grid-template-columns: 260px 1fr; gap: var(--wp--preset--spacing--50); align-items: start; }
.sdr-recettes__grille .sdr-recherche { box-shadow: none; padding: 0; background: transparent; position: sticky; top: 1rem; }
.sdr-recettes__grille .sdr-recherche__champ { flex-wrap: nowrap; }
.sdr-recettes__grille .sdr-recherche__champ input { flex: 1 1 auto; min-width: 0; }
.sdr-recettes__grille .sdr-recherche__champ button { padding: .6em .8em; font-size: 0; gap: 0; }
.sdr-recettes__grille .sdr-recherche__champ button .sdr-picto { width: 18px; height: 18px; font-size: 1rem; }
.sdr-recettes__grille .sdr-filtres { margin-top: 1.2rem; }
.sdr-recettes__grille .sdr-filtres__grille { grid-template-columns: 1fr; gap: 1.4rem; }
.sdr-recettes__grille .sdr-filtre--sans { background: var(--sdr-ciel); border-radius: var(--sdr-r-champ); padding: 1rem; }
.sdr-recettes__grille .sdr-filtre--sans ul { grid-template-columns: 1fr; }
.sdr-recettes__grille .sdr-filtre--sans legend { float: left; width: 100%; margin-bottom: .3rem; }
.sdr-recettes__grille .sdr-filtres__actions { flex-wrap: wrap; }
.sdr-recettes__grille .sdr-grille { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
@media (min-width: 901px) { .sdr-recettes__grille .sdr-filtres > summary { display: none; } }
@media (max-width: 900px) {
	.sdr-recettes__grille { grid-template-columns: 1fr; }
	.sdr-recettes__grille .sdr-recherche { position: static; background: #fff; box-shadow: var(--sdr-ombre); padding: var(--wp--preset--spacing--40); border-radius: var(--sdr-r-carte); }
}

/* Proposer une recette : encadré « Comment ça marche ». */
.sdr-proposer { gap: var(--wp--preset--spacing--50); }
.sdr-proposer__aside { position: sticky; top: 1rem; align-self: flex-start; }
.sdr-encart-nuit { border-radius: var(--sdr-r-carte); padding: var(--wp--preset--spacing--40); }
.sdr-encart-nuit h2 { color: var(--sdr-miel) !important; font-size: 1.8rem; margin: 0 0 .8rem; }
.sdr-etapes { list-style: none; counter-reset: etape; padding: 0; margin: 0; display: grid; gap: .9rem; }
.sdr-etapes li { counter-increment: etape; display: grid; grid-template-columns: 1.6rem 1fr; gap: .4rem; font-size: .95rem; }
.sdr-etapes li::before { content: counter(etape); font-family: var(--sdr-titre); font-size: 1.6rem; line-height: 1; color: var(--sdr-miel); }

/* ---------- Fiche événement ---------- */
.sdr-fiche-evt { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); }
.sdr-ariane { gap: .35rem; margin-block-end: var(--wp--preset--spacing--30); }
.sdr-ariane > * { margin: 0; color: var(--sdr-ardoise); font-size: var(--wp--preset--font-size--petit); font-family: var(--wp--preset--font-family--texte); text-transform: none; letter-spacing: 0; font-weight: 400; line-height: 1.5; }
.sdr-fiche-evt__haut { gap: var(--wp--preset--spacing--50); margin-block: 0 var(--wp--preset--spacing--50); }
.sdr-fiche-evt__haut h1 { margin-block: .6rem .8rem; }
.sdr-evt-badges { margin: 0; }
.sdr-fiche-evt__contenu, .sdr-fiche-evt .sdr-retour { max-width: 760px; }
/* Blocs plus étroits que le conteneur, mais calés sur son bord gauche (et non centrés). */
.is-layout-constrained > :is(.sdr-intro, .sdr-fiche-evt__contenu, .sdr-retour) { margin-left: max(0px, calc((100% - 1200px) / 2)) !important; margin-right: auto !important; }
.sdr-fiche-evt__haut h1 { font-size: clamp(2.2rem, 1.6rem + 2vw, 3.4rem); }
.sdr-partage__icone { width: 2.3rem; height: 2.3rem; padding: 0 !important; justify-content: center; }
.sdr-meme-jour { padding: var(--wp--preset--spacing--40); }
.sdr-meme-jour__item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.sdr-meme-jour__texte { flex: 1 1 24rem; }
.sdr-meme-jour__texte > * { margin: 0 0 .3rem; }
.sdr-meme-jour__nom { font-size: var(--wp--preset--font-size--h-3); }
.sdr-meme-jour .is-style-outline > .wp-block-button__link { color: var(--sdr-nuit); border-color: var(--sdr-nuit); }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.sdr-hero--accueil { padding-bottom: calc(var(--wp--preset--spacing--30) + 14vw); }
	.sdr-hero--accueil::after { height: 16vw; }
	.sdr-hero--histoire .sdr-hero__portrait img { max-width: 260px; }
	.sdr-cta-carte { padding: var(--wp--preset--spacing--40); }
	.sdr-adherer { padding: var(--wp--preset--spacing--40); }
	.sdr-bandeau-evt__inner { gap: 1rem; }
	.sdr-bandeau-evt__texte { flex-basis: 100%; order: 2; }
	.sdr-bandeau-evt__action { order: 3; }
	.sdr-proposer__aside { position: static; order: -1; }
	.sdr-jour-fort { padding: 1rem; }
	#ils-nous-soutiennent .sdr-grille { grid-template-columns: 1fr; }
}

/* Ajustements après recapture. */
.sdr-acces-liste > * { margin: 0 !important; }
.sdr-info { box-sizing: border-box; }
.sdr-pastille-slogan { width: 190px; height: 190px; font-size: 1.55rem; padding: 2rem; top: -.5rem; }
.sdr-recettes__grille .sdr-recherche__champ button { flex: none; width: 3rem; padding: 0; justify-content: center; }
.sdr-recettes__grille .sdr-recherche__champ button .sdr-picto { width: 20px; height: 20px; }

/* ==========================================================================
   Formulaires Contact Form 7 du thème (.sdr-cf7), d'après les maquettes Pencil
   ========================================================================== */
.sdr-cf7 { display: flex; flex-direction: column; gap: 1.25rem; color: var(--sdr-encre); }
.sdr-cf7 p { margin: 0; padding: 0 !important; }
.sdr-cf7 .wpcf7-form-control-wrap { display: block; }
.sdr-cf7__etape { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 1.25rem; }
.sdr-cf7__etape + .sdr-cf7__etape { margin-top: 1.5rem; }
.sdr-cf7__etape > legend { font-family: var(--sdr-titre); font-size: 2.5rem; line-height: 1.1; color: var(--sdr-nuit); text-transform: uppercase; padding: 0; margin: 0 0 1.25rem; float: left; width: 100%; }
.sdr-cf7__etape > legend + * { clear: both; }
.sdr-cf7 .sdr-cf7__champ { display: flex; flex-direction: column; gap: .35rem; margin: 0; font-weight: 400; color: var(--sdr-encre); }
.sdr-cf7__libelle { font-weight: 800; color: var(--sdr-nuit); font-size: .98rem; line-height: 1.35; }
.sdr-cf7__requis { color: var(--sdr-nuit); margin-left: .05em; }
.sdr-cf7__aide { font-size: .85rem; line-height: 1.45; color: var(--sdr-ardoise); }
.sdr-cf7__ligne { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: end; }
.sdr-cf7__ligne--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.sdr-cf7 :is(input[type="text"], input[type="email"], input[type="number"], input[type="tel"], select, textarea) {
	width: 100%; box-sizing: border-box; min-height: 3.25rem; padding: .7em 1em; font: inherit; font-size: 1rem; color: var(--sdr-encre);
	background: var(--sdr-creme); border: 1.5px solid #5b6fa6; border-radius: var(--sdr-r-champ); box-shadow: none;
}
.sdr-cf7 textarea { height: 8.5rem; min-height: 5rem; resize: vertical; }
.sdr-cf7 textarea.sdr-cf7__court { height: 5.5rem; }
.sdr-cf7--message textarea { height: 9.5rem; }
.sdr-cf7 select { appearance: none; padding-right: 2.4em; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23233a7a'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1em center; background-size: .6em; cursor: pointer; }
.sdr-cf7 ::placeholder { color: #7c8ab0; opacity: 1; }
.sdr-cf7 :is(input, select, textarea):focus { border-color: var(--sdr-nuit); outline: 3px solid var(--sdr-orange-texte); outline-offset: 1px; }

/* Encart « déjà en PDF ou en Word » */
.sdr-cf7__encart { background: #fddca9; border-radius: 16px; padding: 1.25rem 1.25rem 1.4rem; display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; }
.sdr-cf7__encart-titre { font-weight: 800; color: var(--sdr-nuit); }
.sdr-cf7__encart .sdr-cf7__aide { color: var(--sdr-encre); }

/* Champs fichier : le vrai champ est caché, l'étiquette sert de bouton */
.sdr-cf7 .sdr-cf7__fichier { position: relative; display: inline-flex; font-weight: 400; align-items: center; gap: .5rem; cursor: pointer; margin: 0; }
.sdr-cf7__fichier .wpcf7-form-control-wrap { position: static; }
.sdr-cf7__fichier input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.sdr-cf7__fichier:focus-within { outline: 3px solid var(--sdr-orange-texte); outline-offset: 2px; }
.sdr-cf7 .sdr-cf7__fichier--bouton { margin-top: .35rem; background: #fff; border: 2px solid var(--sdr-nuit); border-radius: var(--sdr-r-pilule); padding: .6em 1.2em; font-weight: 800; font-size: .88rem; text-transform: uppercase; letter-spacing: .02em; color: var(--sdr-nuit); }
.sdr-cf7__fichier--bouton .sdr-cf7__fichier-texte::before { content: ""; display: inline-block; width: 1.1em; height: 1.1em; margin-right: .5em; vertical-align: -.2em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E") center / contain no-repeat; }
.sdr-cf7__fichier--bouton:hover { background: var(--sdr-nuit); color: #fff; }
.sdr-cf7 .sdr-cf7__fichier--zone { display: flex; width: 100%; box-sizing: border-box; min-height: 4rem; padding: .9rem 1rem; align-items: flex-start; background: var(--sdr-creme); border: 1.5px solid #5b6fa6; border-radius: var(--sdr-r-champ); color: var(--sdr-ardoise); }
.sdr-cf7__fichier--zone .sdr-cf7__fichier-texte::before { content: "+"; font-size: 1.25em; line-height: 1; margin-right: .4em; }
.sdr-cf7__fichier--zone:hover { border-color: var(--sdr-nuit); }
.sdr-cf7__fichier.est-rempli { border-color: var(--sdr-nuit); }
.sdr-cf7__fichier-nom { font-size: .85rem; font-weight: 700; color: var(--sdr-nuit); }
.sdr-cf7__fichier-nom:empty { display: none; }
.sdr-cf7__fichier .wpcf7-not-valid-tip { position: absolute; top: 100%; left: 0; white-space: nowrap; margin-top: .35rem; }

/* Allergènes : deux encadrés bleu ciel, cases sur 4 colonnes */
.sdr-cf7__allergenes { background: var(--sdr-ciel); border-radius: 16px; padding: 1.5rem; display: flex; flex-direction: column; gap: .6rem; }
.sdr-cf7__allergenes .sdr-cf7__aide { color: var(--sdr-encre); margin-bottom: .2rem; }
.sdr-cf7__allergenes .wpcf7-checkbox { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem 1rem; }
.sdr-cf7 .wpcf7-list-item { margin: 0; display: block; }
.sdr-cf7 .wpcf7-list-item label { display: inline-flex; align-items: flex-start; gap: .6rem; font-weight: 400; color: var(--sdr-encre); cursor: pointer; line-height: 1.45; }

/* Cases à cocher (allergènes et consentements) */
.sdr-cf7 input[type="checkbox"] { appearance: none; -webkit-appearance: none; flex: none; width: 1.4rem; height: 1.4rem; margin: 0; border: 2px solid var(--sdr-nuit); border-radius: 6px; background: #fff; cursor: pointer; display: inline-grid; place-content: center; }
.sdr-cf7 input[type="checkbox"]:checked { background: var(--sdr-nuit) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 75% no-repeat; }
.sdr-cf7 input[type="checkbox"]:focus-visible { outline: 3px solid var(--sdr-orange-texte); outline-offset: 2px; }
.sdr-cf7 .wpcf7-acceptance .wpcf7-list-item label { font-size: 1rem; }

/* Bouton d'envoi orange avec l'icône d'avion en papier */
.sdr-cf7 .wpcf7-submit { align-self: flex-start; display: inline-block; margin-top: .25rem; padding: .95em 1.8em .95em 3.1em; border: 0; border-radius: var(--sdr-r-pilule); font: inherit; font-weight: 800; font-size: .95rem; letter-spacing: .04em; text-transform: uppercase; color: var(--sdr-nuit); cursor: pointer;
	background: var(--sdr-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23122a5c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.54 21.69a.5.5 0 0 0 .94-.03l6.5-19a.5.5 0 0 0-.64-.64l-19 6.5a.5.5 0 0 0-.03.94l7.93 3.18a2 2 0 0 1 1.11 1.11z'/%3E%3Cpath d='m21.85 2.15-10.94 10.94'/%3E%3C/svg%3E") 1.4em center / 1.15em no-repeat; }
.sdr-cf7 .wpcf7-submit:hover { background-color: var(--sdr-miel); }
.sdr-cf7 .wpcf7-submit:disabled { opacity: .6; cursor: wait; }
.sdr-cf7 .wpcf7-spinner { margin: 0 0 0 .75rem; align-self: center; }
.sdr-cf7__note { font-size: .85rem; line-height: 1.5; color: var(--sdr-ardoise); }
.sdr-cf7__note a { color: inherit; }

/* Erreurs */
.sdr-cf7 .wpcf7-not-valid { border-color: #c0392b !important; }
.sdr-cf7 .wpcf7-not-valid-tip { color: #b3261e; font-size: .85rem; font-weight: 700; margin-top: .35rem; }
.sdr-cf7 .wpcf7-not-valid-tip::before { content: "⚠ "; }
.sdr-cf7__allergenes:has(.wpcf7-not-valid-tip) { outline: 2px solid #c0392b; }
.sdr-formulaire .wpcf7 form .wpcf7-response-output { margin: 1.25rem 0 0; border-width: 2px; border-radius: var(--sdr-r-champ); padding: .9rem 1.1rem; }

/* Message pour Romane : pas de carte, sur le fond crème */
.sdr-formulaire--message .sdr-cf7 { gap: 1.1rem; }

@media (max-width: 900px) {
	.sdr-cf7__ligne--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sdr-cf7__allergenes .wpcf7-checkbox { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.sdr-cf7__ligne, .sdr-cf7__ligne--4 { grid-template-columns: minmax(0, 1fr); }
	.sdr-cf7__allergenes { padding: 1.1rem; }
	.sdr-cf7 .wpcf7-submit { align-self: stretch; }
}


/* 0.1.3 : chevron des sous-menus visible (le bouton, élément flex en z-index 1, le recouvrait sous WordPress 7) */
.sdr-site-entete .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-icon { z-index: 2; pointer-events: none; }

/* ==========================================================================
   0.1.3 : fiche recette selon Pencil (photo à droite, étapes numérotées, bande « D'autres recettes »)
   ========================================================================== */
.sdr-bouton-contour.wp-element-button { background: transparent; color: var(--sdr-nuit); border: 2px solid var(--sdr-nuit); cursor: pointer; font-family: inherit; }
.sdr-bouton-contour.wp-element-button:hover { background: var(--sdr-nuit); color: #fff; }
.sdr-fiche-recette { display: flex; flex-direction: column; }
.sdr-fiche-recette__ariane { font-size: .9rem; color: var(--sdr-ardoise); margin-bottom: .6rem; }
.sdr-fiche-recette__ariane a { color: inherit; text-decoration: none; }
.sdr-fiche-recette__ariane a:hover { text-decoration: underline; }
.sdr-fiche-recette__entete { display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); gap: var(--wp--preset--spacing--50); align-items: start; }
.sdr-fiche-recette__titre { font-size: var(--wp--preset--font-size--h-2); margin: 0 0 1.1rem; line-height: 1.02; }
.sdr-fiche-recette ul.sdr-fiche-recette__infos { list-style: none; margin: 0 0 .9rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; font-weight: 800; color: var(--sdr-nuit); font-size: 1rem; }
.sdr-fiche-recette__infos li { display: inline-flex; align-items: center; gap: .45rem; }
.sdr-fiche-recette__infos .sdr-picto { color: var(--sdr-nuit); }
.sdr-fiche-recette__auteur { color: var(--sdr-ardoise); font-size: .95rem; margin: 0; }
.sdr-fiche-recette .sdr-allergenes { margin-block: 1.6rem 0; }
.sdr-fiche-recette .sdr-allergenes__col { border-radius: 16px; padding: 1.1rem 1.25rem; }
.sdr-fiche-recette .sdr-allergenes__col--sans { background: var(--sdr-ciel); }
.sdr-fiche-recette .sdr-allergenes__col--contient { background: #fddca9; }
.sdr-fiche-recette .sdr-allergenes__titre { text-transform: none; letter-spacing: 0; font-size: 1rem; color: var(--sdr-nuit); margin-bottom: .5rem !important; }
.sdr-fiche-recette__photo { margin: 0; border-radius: var(--sdr-r-carte); overflow: hidden; aspect-ratio: 4 / 3; background: #fddca9; }
.sdr-fiche-recette__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sdr-fiche-recette__photo--vide { display: grid; place-content: center; color: var(--sdr-orange-texte); }
.sdr-fiche-recette__photo--vide .sdr-picto { width: 56px; height: 56px; }
.sdr-avertissement--cadre { background: transparent; border: 2px solid var(--sdr-nuit); border-radius: var(--sdr-r-carte); padding: 1.1rem 1.5rem; margin: var(--wp--preset--spacing--50) 0; align-items: center; font-size: 1rem; }
.sdr-avertissement--cadre .sdr-picto { color: var(--sdr-nuit); flex: none; margin: 0; }
.sdr-fiche-recette .sdr-fiche-recette__colonnes { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: var(--wp--preset--spacing--50); margin: 0; align-items: start; }
.sdr-fiche-recette h2 { font-size: 2.25rem; margin: 0 0 1.1rem; }
.sdr-fiche-recette .sdr-fiche-recette__ingredients { background: #fff; box-shadow: var(--sdr-ombre); border-radius: var(--sdr-r-carte); padding: 2rem; }
.sdr-fiche-recette__ingredients ul { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.sdr-fiche-recette__ingredients li { position: relative; padding-left: 1.2rem; }
.sdr-fiche-recette__ingredients li::before { content: ""; position: absolute; left: 0; top: .6em; width: .45rem; height: .45rem; border-radius: 50%; background: var(--sdr-orange); }
.sdr-fiche-recette .sdr-fiche-recette__boutons { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; margin: 0; }
.sdr-fiche-recette__etapes ol { list-style: none; counter-reset: etape; padding: 0; margin: 0 0 2rem; }
.sdr-fiche-recette__etapes li { counter-increment: etape; position: relative; padding-left: 4rem; min-height: 2.8rem; padding-top: .35rem; }
.sdr-fiche-recette__etapes li + li { margin-top: 1.4rem; }
.sdr-fiche-recette__etapes li::before { content: counter(etape); position: absolute; left: 0; top: 0; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: var(--sdr-nuit); color: var(--sdr-miel); font-family: var(--sdr-titre); font-size: 1.5rem; display: grid; place-content: center; line-height: 1; }
.sdr-fiche-recette .sdr-fiche-recette__astuces { background: none; padding: 0; margin: 0 0 1.4rem; }
.sdr-fiche-recette .sdr-fiche-recette__astuces p { margin: 0 0 .6rem; }
.sdr-fiche-recette .sdr-fiche-recette__signaler a { color: var(--sdr-orange-texte); font-weight: 800; text-decoration: none; }
.sdr-fiche-recette .sdr-fiche-recette__signaler a:hover { text-decoration: underline; }
.sdr-autres-recettes { width: 100vw; margin: var(--wp--preset--spacing--60) 0 0 calc(50% - 50vw); background: var(--sdr-ciel); }
.sdr-autres-recettes__interieur { max-width: none; margin: 0; padding: var(--wp--preset--spacing--50) max(var(--wp--style--root--padding-right, 1.25rem), calc((100vw - 1200px) / 2)); box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.sdr-autres-recettes h2 { margin: 0; font-size: var(--wp--preset--font-size--h-2); }
.sdr-autres-recettes__boutons { display: flex; flex-wrap: wrap; gap: 1rem; }
body:has(.sdr-autres-recettes) { overflow-x: clip; }
@media (max-width: 900px) {
	.sdr-fiche-recette__entete, .sdr-fiche-recette .sdr-fiche-recette__colonnes { grid-template-columns: minmax(0, 1fr); }
	.sdr-fiche-recette__photo { order: -1; }
}
@media print {
	.sdr-autres-recettes, .sdr-fiche-recette__ariane { display: none !important; }
}

/* 0.1.3 : liste des recettes selon Pencil (2 colonnes, tri, filtres compacts) */
.sdr-recettes__grille .sdr-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 640px) { .sdr-recettes__grille .sdr-grille { grid-template-columns: minmax(0, 1fr); } }
.sdr-resultats__entete { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-bottom: 1.2rem; }
.sdr-resultats__entete .sdr-resultats__compte { margin: 0; font-size: 1rem; }
.sdr-resultats__entete .sdr-pastilles--actives { margin: 0; display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0; }
.sdr-tri { margin: 0 0 0 auto; display: flex; gap: 1.1rem; font-size: .9rem; font-weight: 700; }
.sdr-tri a { color: var(--sdr-orange-texte); text-decoration: none; }
.sdr-tri a[aria-current] { color: var(--sdr-nuit); }
.sdr-tri a:hover { text-decoration: underline; }
.sdr-recettes__grille .sdr-filtre legend { font-size: .95rem; }
.sdr-recettes__grille .sdr-filtre li { font-size: .95rem; line-height: 1.35; }
.sdr-recettes__grille .sdr-filtre ul { gap: .3rem; }
.sdr-recettes__grille .sdr-filtre .sdr-filtre__aide { font-size: .8rem; }
.sdr-recettes__grille .sdr-filtre li .sdr-filtre__aide { display: none; }
@media (min-width: 901px) { .sdr-js .sdr-filtres__appliquer { display: none; } }
@media (max-width: 900px) {
	.sdr-js .sdr-filtres__actions { position: sticky; bottom: 0; z-index: 2; background: #fff; margin: 1rem calc(-1 * var(--wp--preset--spacing--40)) 0; padding: .8rem var(--wp--preset--spacing--40); box-shadow: 0 -6px 12px rgba(10, 40, 90, .08); justify-content: space-between; }
	.sdr-js .sdr-filtres__appliquer { flex: 1 1 auto; }
}
.sdr-resultats[aria-busy="true"] .sdr-grille { opacity: .55; transition: opacity .2s; }
.sdr-filtres__effacer { color: var(--sdr-orange-texte); font-weight: 800; text-decoration: none; }
.sdr-carte--recette .sdr-pastilles { margin: 0 0 .6rem; }
.sdr-carte__meta { color: var(--sdr-ardoise); font-size: .9rem; }
.sdr-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1rem 1.5rem; margin-top: 2rem; }
.sdr-pagination__precedent { color: var(--sdr-orange-texte); font-weight: 800; }
.sdr-recettes__grille .sdr-recherche__champ { position: relative; }
.sdr-recettes__grille .sdr-recherche__champ input { padding-right: 2.8rem; }
.sdr-recettes__grille .sdr-recherche__champ button { position: absolute; right: .3rem; top: 50%; transform: translateY(-50%); background: transparent; border: 0; color: var(--sdr-nuit); padding: .5rem; box-shadow: none; min-height: 0; }
.sdr-recettes__grille .sdr-recherche__champ button:hover { background: var(--sdr-ciel); }

/* 0.1.3 : vidéo avec la miniature YouTube en fond, bouton lecture par-dessus */
.sdr-video-cadre { position: relative; }
.sdr-video-miniature { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.sdr-video-cadre .sdr-video-iframe { position: relative; z-index: 2; }
.sdr-video-cadre--image .sdr-video-facade { position: relative; z-index: 1; color: #fff; background: linear-gradient(to top, rgba(10, 40, 90, .78) 0%, rgba(10, 40, 90, .15) 45%, rgba(10, 40, 90, .05) 100%); align-content: end; place-content: initial; grid-template-rows: 1fr auto auto; padding: 1.5rem 1.75rem; }
.sdr-video-cadre--image .sdr-video-facade__lecture { align-self: center; }
.sdr-video-cadre--image .sdr-video-facade__titre { text-shadow: 0 1px 3px rgba(0, 0, 0, .35); }
.sdr-video-cadre--image .sdr-video-facade__note { color: rgba(255, 255, 255, .9); }

/* ---------- Événements : fiche d'un événement passé et cartes (maquettes Pencil G3) ---------- */
.sdr-evt-passe, .sdr-meme-jour { box-sizing: border-box; }
.sdr-evt-passe { display: flex; align-items: center; gap: .7rem; background: var(--sdr-ciel); color: var(--sdr-nuit); font-weight: 800; border-radius: 14px; padding: .9rem 1.2rem; margin-block: 0 var(--wp--preset--spacing--40) !important; }
.sdr-evt-passe .sdr-picto { width: 20px; height: 20px; flex: none; }
/* L'affiche dans un cadre sable au format A4, comme sur les maquettes. */
.sdr-fiche-evt__affiche .sdr-affiche { aspect-ratio: 210 / 297; background: var(--sdr-sable); border-radius: var(--sdr-r-carte); box-shadow: var(--sdr-ombre); overflow: hidden; display: flex; align-items: center; margin: 0; }
.sdr-fiche-evt__affiche .sdr-affiche img { width: 100%; height: 100%; object-fit: contain !important; border-radius: 0; box-shadow: none; }
/* Contenu à 760 px, sauf la galerie qui prend toute la largeur. */
.sdr-fiche-evt .sdr-fiche-evt__contenu { max-width: 1200px; }
.sdr-fiche-evt__contenu .wp-block-post-content > :not(.wp-block-gallery) { max-width: 760px; }
.sdr-fiche-evt__contenu .wp-block-gallery { --wp--style--unstable-gallery-gap: 1.2rem; gap: 1.2rem; margin-top: 1.2rem; }
.sdr-fiche-evt__contenu .wp-block-gallery .wp-block-image img { border-radius: var(--sdr-r-carte); aspect-ratio: 4 / 3; object-fit: cover; }
.sdr-fiche-evt__contenu .wp-block-gallery .blocks-gallery-caption { flex-basis: 100%; text-align: left; color: var(--sdr-ardoise); font-size: .82rem; margin: .4rem 0 0; }
.sdr-retour--suite a { text-transform: uppercase; letter-spacing: .04em; }
.sdr-fiche-evt .sdr-retour { margin-top: var(--wp--preset--spacing--50); }

/* Cartes : « Prochainement » (sans affiche : grand logo sur fond ciel) et « Ils ont eu lieu » (photo). */
.sdr-carte__image-vide { background: var(--sdr-ciel); }
.sdr-carte--evenement .sdr-carte__image-vide img { width: 86%; height: 86%; padding: 0; object-fit: contain; }
.sdr-carte--suite .sdr-badge--date { background: var(--sdr-orange); color: var(--sdr-nuit); }
.sdr-carte--evenement.a-photos .sdr-carte__image img { object-fit: cover; padding: 0; filter: none; }
.sdr-carte__date { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--sdr-ardoise); }
.sdr-carte.est-passe .sdr-carte__extrait { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.sdr-carte__action--lien { padding-top: .2rem; }
.sdr-carte__action--lien a { font-size: .92rem; }
@media (max-width: 781px) {
	.sdr-fiche-evt__affiche .sdr-affiche { aspect-ratio: auto; padding: 1rem 0; }
	.sdr-fiche-evt__affiche .sdr-affiche img { height: auto; max-height: 70vh; }
}
@media (max-width: 600px) {
	.sdr-fiche-evt__contenu .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100%; }
}

/* 0.1.5 : retours de la comparaison avec Pencil. */
.sdr-pastille-slogan { width: 230px; height: 230px; padding: 2.4rem; }
.sdr-avertissement__lien { display: inline-block; margin-top: .5rem; color: var(--sdr-orange-texte); font-weight: 800; text-decoration: none; }
.sdr-avertissement__lien:hover { text-decoration: underline; }
.sdr-retour--haut { margin: 0 0 1rem !important; }
.sdr-retour--haut a { font-size: .9rem; }
@media (max-width: 900px) { .sdr-pastille-slogan { width: 170px; height: 170px; padding: 1.6rem; } }

/* En-tête : le menu complet ne tient qu'à partir de 1200 px. En dessous, bouton menu (comme sur mobile),
   logo et bouton « Adhérer » qui ne se tassent jamais. */
.sdr-entete__logo, .sdr-entete__adherer { flex-shrink: 0; }
.sdr-entete__adherer .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1199px) {
	.sdr-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sdr-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.sdr-nav { order: 3; flex: 0 0 auto; }
	.sdr-entete__ligne { gap: .75rem; }
	.sdr-entete__ligne > .sdr-entete__adherer { margin-left: auto !important; }
}

/* Accueil : trace orange (sable) derrière le coup de pinceau bleu et le portrait, comme dans la maquette Pencil. */
.sdr-hero--accueil { overflow-x: clip; }
.sdr-hero--accueil .sdr-hero__portrait { position: relative; }
.sdr-hero--accueil .sdr-hero__portrait::before { content: ""; position: absolute; z-index: -1; left: -20%; top: 20%; width: 125%; aspect-ratio: 1631 / 606; background: url("../images/trace-orange.webp") no-repeat center / contain; pointer-events: none; }
@media (max-width: 781px) {
	.sdr-hero--accueil .sdr-hero__portrait::before { left: -14%; width: 128%; top: 14%; }
}

/* Accent manuscrit : Mountain Script (Debut Studio), en capitales, au plus près de l'Avallon de Set Sail Studios du Canva. */
.sdr-accent { text-transform: uppercase !important; letter-spacing: 0; }

/* reCAPTCHA : badge Google masqué, remplacé par la mention sous chaque formulaire. */
.grecaptcha-badge { visibility: hidden !important; }
.sdr-recaptcha-mention { margin: 1rem 0 0; font-size: .8rem; color: var(--sdr-ardoise); }
.sdr-recaptcha-mention a { color: inherit; }

/* Cloudflare Turnstile : juste au-dessus du bouton d'envoi, place réservée pour éviter un saut de mise en page. */
.sdr-cf7__turnstile { min-height: 65px; margin: .25rem 0 .75rem; }