/* =============================================================
   La Meissimillière — styles du thème
   Les couleurs, polices, tailles et espacements viennent de theme.json
   (variables --wp--preset--*). Ce fichier ne fait que la mise en forme
   des blocs. Les règles propres au site public (en-tête fixe, diaporama,
   bouton flottant) sont limitées à .is-site : elles ne gênent pas l'éditeur.
   ============================================================= */

:root{
  --c-fond:var(--wp--preset--color--fond);
  --c-fond-alt:var(--wp--preset--color--fond-alt);
  --c-texte:var(--wp--preset--color--texte);
  --c-texte-doux:var(--wp--preset--color--texte-doux);
  --c-accent:var(--wp--preset--color--accent);
  --c-accent-fonce:var(--wp--preset--color--accent-fonce);
  --c-sable:var(--wp--preset--color--sable);
  --c-bordure:var(--wp--preset--color--bordure);
  --c-blanc:var(--wp--preset--color--blanc);
  --c-pied-texte:#E9DFD0;

  --h-entete:4.5rem;
  --r-photo:18px;
  --r-carte:22px;
  --r-champ:12px;
  --o-entete:0 1px 0 rgba(46,36,28,.08),0 8px 24px rgba(46,36,28,.06);
  --o-flottant:0 6px 24px rgba(46,36,28,.18);
  --m-court:200ms;
  --m-moyen:400ms;
  --m-fondu:1200ms;
  --m-courbe:cubic-bezier(.2,.6,.2,1);
  --m-intervalle:5000;

  /* Icônes (traits, couleur héritée via mask) */
  --i-fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 11 11 5M6 5h5v5'/%3E%3C/svg%3E");
  --i-coche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
  --i-enfant:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M5 21c1-4 4-6 7-6s6 2 7 6'/%3E%3C/svg%3E");
  --i-flocon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 3v18M3 12h18M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E");
  --i-repere:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
  --i-email:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
  --i-tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
}
@media (max-width:782px){:root{--h-entete:4rem}}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;scroll-padding-top:var(--h-entete)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{-webkit-font-smoothing:antialiased;text-wrap:pretty}
:where(h1,h2,h3,h4){text-wrap:balance}
h4{font-size:var(--wp--preset--font-size--xl)}
img{height:auto}
a{text-underline-offset:.2em;text-decoration-thickness:1px}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:4px}
.screen-reader-text,.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Les sections se touchent : pas d'espace entre blocs de premier niveau */
.wp-site-blocks > * + *{margin-block-start:0}
.wp-block-post-content > .alignfull{margin-block:0}
main#contenu{margin-block:0}

/* ---------- Sections ---------- */
.section{padding-block:var(--wp--preset--spacing--80)}
.section > h2.wp-block-heading{margin-block-end:var(--wp--preset--spacing--30)}
.is-style-chapeau{font-size:var(--wp--preset--font-size--l);line-height:1.6;color:var(--c-texte-doux);max-width:56ch}
.has-text-align-center.is-style-chapeau{margin-inline:auto}
/* Un chapeau plus étroit que la colonne reste aligné à gauche (la mise en page contrainte le centrerait) */
.is-layout-constrained > .is-style-chapeau:not(.has-text-align-center){margin-left:max(0px,calc((100% - var(--wp--style--global--content-size)) / 2))!important;margin-right:auto!important}
.section > .is-style-chapeau{margin-block-end:var(--wp--preset--spacing--60)}
hr.wp-block-separator.is-style-filet{width:3rem;max-width:3rem;height:0;border:0;border-top:2px solid var(--c-sable);margin:var(--wp--preset--spacing--40) 0;opacity:1}

/* ---------- Boutons ---------- */
.wp-block-button__link{white-space:nowrap;transition:background-color var(--m-court),color var(--m-court),box-shadow var(--m-court)}
.wp-block-button__link:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px}
.is-style-contour .wp-block-button__link{background:transparent;color:var(--c-accent);box-shadow:inset 0 0 0 1.5px var(--c-accent)}
.is-style-contour .wp-block-button__link:hover{background:var(--c-accent);color:var(--c-blanc)}
.is-style-clair .wp-block-button__link{background:transparent;color:var(--c-blanc);box-shadow:inset 0 0 0 1.5px var(--c-blanc)}
.is-style-clair .wp-block-button__link:hover{background:rgba(255,255,255,.14);color:var(--c-blanc)}
.is-style-clair .wp-block-button__link:focus-visible{outline-color:var(--c-blanc)}
.is-style-petit .wp-block-button__link{padding:.55rem 1.15rem;font-size:var(--wp--preset--font-size--s)}

/* Lien externe : flèche et zone cliquable */
p.lien-externe a{display:inline-flex;align-items:center;gap:.35em;font-weight:600;text-decoration:none}
p.lien-externe a:hover{text-decoration:underline}
p.lien-externe a::after{content:"";width:.8em;height:.8em;flex:none;background:currentColor;-webkit-mask:var(--i-fleche) center/contain no-repeat;mask:var(--i-fleche) center/contain no-repeat}

/* ---------- En-tête ---------- */
.entete{min-height:var(--h-entete);display:flex;align-items:center;color:var(--c-texte);background:var(--c-fond-alt);
  transition:background-color var(--m-moyen),color var(--m-moyen),box-shadow var(--m-moyen)}
.entete > .entete__barre{width:100%;gap:var(--wp--preset--spacing--40)}
.entete__marque{margin:0;white-space:nowrap}
.entete__nav{gap:var(--wp--preset--spacing--50)}
.entete .wp-block-navigation{gap:var(--wp--preset--spacing--50)}
.entete .wp-block-navigation-item__content{color:inherit;text-decoration:none;white-space:nowrap;padding-block:.4rem;
  background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size var(--m-court)}
.entete .wp-block-navigation-item__content:hover{background-size:100% 1.5px}
.entete .wp-block-navigation__responsive-container-open,.entete .wp-block-navigation__responsive-container-close{color:inherit}
.entete .wp-block-navigation__responsive-container.is-menu-open{background:var(--c-fond-alt);color:var(--c-texte);padding:var(--wp--preset--spacing--50) var(--wp--preset--spacing--40)}
.entete .is-menu-open .wp-block-navigation__container{gap:var(--wp--preset--spacing--40)}
.entete .is-menu-open .wp-block-navigation-item__content{font-family:var(--wp--preset--font-family--titre);font-size:var(--wp--preset--font-size--xl)}
.entete__action{margin:0}
/* Menu replié en icône sous 1024 px, déplié au-dessus (même mécanisme que WordPress à 600 px) */
@media (min-width:1024px){
  .entete .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open){display:block;width:100%;position:relative;z-index:auto;background-color:inherit}
  .entete .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) .wp-block-navigation__responsive-container-close{display:none}
  .entete .wp-block-navigation__responsive-container-open.always-shown{display:none}
}
@media (max-width:1023px){.entete .wp-block-buttons.entete__action{display:none}}

/* Sélecteur de langue */
.langues{display:flex;gap:.35rem;list-style:none;margin:0;padding:0}
.langues a{display:block;padding:5px;border-radius:6px;line-height:0}
.langues img{width:1.5rem;height:1rem;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.12);opacity:.8;transition:opacity var(--m-court)}
.langues a:hover img,.langues a[aria-current="true"] img{opacity:1}
.langues a[aria-current="true"]{box-shadow:inset 0 0 0 1.5px currentColor}
.langues__bientot{display:block;padding:5px;line-height:0;cursor:default}
.langues__bientot img{opacity:.35;filter:grayscale(.6)}

/* Site public : en-tête fixe, transparent au-dessus du diaporama */
.is-site .site-entete{position:fixed;inset:0 0 auto;z-index:50}
/* Sous la barre d'administration (personnes connectées). Sous 600 px, cette barre défile avec
   la page : le script met alors à jour --decalage-admin pour que l'en-tête remonte avec elle. */
.is-site.admin-bar .site-entete{top:var(--decalage-admin,32px)}
@media (max-width:782px){.is-site.admin-bar .site-entete{top:var(--decalage-admin,46px)}}
.is-site:not(.avec-hero) .wp-site-blocks{padding-top:var(--h-entete)}
.is-site:not(.avec-hero) .entete,.is-site .site-entete.est-fixe .entete{box-shadow:var(--o-entete)}
.is-site.avec-hero .site-entete:not(.est-fixe) .entete{background:linear-gradient(180deg,rgba(28,20,14,.45),rgba(28,20,14,0));color:var(--c-blanc)}
.is-site.avec-hero .site-entete:not(.est-fixe) :focus-visible{outline-color:var(--c-blanc)}
@media (prefers-reduced-motion:reduce){.entete{transition:none}}

/* ---------- Hero (diaporama) ---------- */
.hero{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:min(100svh,60rem);
  padding-block:calc(var(--h-entete) + 2rem) clamp(4.5rem,10vh,7rem);background:var(--c-texte);color:var(--c-blanc);overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    linear-gradient(90deg,rgba(28,20,14,.5) 0%,rgba(28,20,14,.2) 45%,rgba(28,20,14,0) 70%),
    linear-gradient(180deg,rgba(28,20,14,.35) 0%,rgba(28,20,14,0) 28%,rgba(28,20,14,.12) 50%,rgba(28,20,14,.72) 100%)}
.hero > .hero__diapos{position:absolute;inset:0;z-index:0;max-width:none!important;margin:0!important;gap:0;display:block}
.wp-block-gallery.has-nested-images.hero__diapos figure.wp-block-image:not(#individual-image){position:absolute;inset:0;width:100%;height:100%;margin:0;
  opacity:0;transition:opacity var(--m-fondu) ease}
/* même priorité que la règle de galerie de WordPress (:not(#individual-image)).
   La photo entrante apparaît par-dessus la précédente, qui reste opaque : pas de creux sombre. */
.wp-block-gallery.has-nested-images.hero__diapos:not(.est-pret) figure.wp-block-image:not(#individual-image):first-child,
.wp-block-gallery.has-nested-images.hero__diapos.est-pret figure.wp-block-image:not(#individual-image).est-precedente{opacity:1;z-index:0;transition:none}
.wp-block-gallery.has-nested-images.hero__diapos.est-pret figure.wp-block-image:not(#individual-image).est-active{opacity:1;z-index:1}
.wp-block-gallery.has-nested-images.hero__diapos figure.wp-block-image img{width:100%;height:100%;object-fit:cover;border-radius:0}
.hero > .hero__contenu{position:relative;z-index:1;width:100%}
.hero .hero__titre{font-size:var(--wp--preset--font-size--xxxl);max-width:24ch;margin:0 0 var(--wp--preset--spacing--30);color:inherit;text-shadow:0 1px 24px rgba(0,0,0,.25)}
.hero .hero__texte{font-size:var(--wp--preset--font-size--l);max-width:40ch;line-height:1.5;margin:0 0 var(--wp--preset--spacing--50)}
.hero__actions{gap:.75rem}
.hero__controles{position:absolute;z-index:2;right:clamp(1rem,.5rem + 4vw,4rem);bottom:var(--wp--preset--spacing--50);display:flex;align-items:center;gap:.75rem}
.hero__points{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.hero__points button{width:1.75rem;height:1.75rem;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center}
.hero__points button::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:rgba(255,255,255,.5);transition:background-color var(--m-court),transform var(--m-court)}
.hero__points button[aria-current="true"]::before{background:var(--c-blanc);transform:scale(1.25)}
.hero__pause{width:2.25rem;height:2.25rem;border-radius:50%;border:1.5px solid rgba(255,255,255,.75);background:rgba(28,20,14,.25);color:var(--c-blanc);cursor:pointer;display:grid;place-items:center;padding:0}
.hero__pause svg{width:.85rem;height:.85rem}
.hero :focus-visible{outline-color:var(--c-blanc)}
@media (max-width:640px){.hero__controles{left:clamp(1rem,.5rem + 4vw,4rem);right:auto;bottom:var(--wp--preset--spacing--40)}.hero{padding-bottom:5.5rem}}
@media (prefers-reduced-motion:reduce){.wp-block-gallery.has-nested-images.hero__diapos figure.wp-block-image:not(#individual-image){transition:none}}
/* Dans l'éditeur : les photos du diaporama s'affichent en grille pour être modifiables */
.editor-styles-wrapper .hero > .hero__diapos{position:relative;display:flex;margin-bottom:2rem!important}
.editor-styles-wrapper .wp-block-gallery.has-nested-images.hero__diapos figure.wp-block-image:not(#individual-image){position:relative;opacity:1;width:calc(25% - .5rem);height:8rem}

/* ---------- Mot d'accueil ---------- */
.bienvenue__grille{gap:var(--wp--preset--spacing--70)}
.bienvenue__photo{margin:0}
.bienvenue__photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-photo)}
.bienvenue .is-style-chapeau{color:var(--c-texte);max-width:46ch}
.bienvenue .wp-block-buttons{margin-top:var(--wp--preset--spacing--40)}

/* ---------- Logement ---------- */
.wp-block-gallery.has-nested-images.galerie-logement{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-block:0 var(--wp--preset--spacing--70)}
.wp-block-gallery.has-nested-images.galerie-logement figure.wp-block-image:not(#individual-image){width:auto;margin:0;border-radius:var(--r-photo);overflow:hidden}
.wp-block-gallery.has-nested-images.galerie-logement figure.wp-block-image img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform var(--m-moyen) var(--m-courbe)}
.galerie-logement .wp-lightbox-container{height:100%}
.galerie-logement figure.wp-block-image:hover img{transform:scale(1.03)}
@media (min-width:860px){
  .wp-block-gallery.has-nested-images.galerie-logement{grid-template-columns:repeat(4,1fr);grid-auto-rows:13rem}
  .wp-block-gallery.has-nested-images.galerie-logement figure.wp-block-image:first-child{grid-column:span 2;grid-row:span 2}
  .wp-block-gallery.has-nested-images.galerie-logement figure.wp-block-image img{aspect-ratio:auto}
}
@media (prefers-reduced-motion:reduce){.galerie-logement figure.wp-block-image:hover img{transform:none}}

.pieces{gap:var(--wp--preset--spacing--50);margin-block-end:var(--wp--preset--spacing--70)}
.pieces h3{margin:0 0 .75rem;padding-bottom:.75rem;border-bottom:2px solid var(--c-sable)}
.pieces ul{margin:0;padding-left:1.1rem}
.pieces li{margin-bottom:.5rem}
.pieces li::marker{color:var(--c-accent)}

.plan{background:var(--c-fond);border:1px solid var(--c-bordure);border-radius:var(--r-carte);padding:var(--wp--preset--spacing--40);gap:var(--wp--preset--spacing--60)}
.plan__image{margin:0}
.plan__image img{border-radius:var(--r-photo);background:var(--c-blanc);max-height:30rem;width:auto;margin-inline:auto}
.plan__image figcaption{text-align:center}
.inclus + .inclus{margin-top:var(--wp--preset--spacing--40)}
.inclus > *{margin-block:0}
.inclus .inclus__titre{font-family:var(--wp--preset--font-family--texte);font-weight:600;font-size:var(--wp--preset--font-size--m);display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}
.inclus__titre::before{content:"";width:1.25rem;height:1.25rem;flex:none;background:var(--c-accent);-webkit-mask:var(--i-coche) center/contain no-repeat;mask:var(--i-coche) center/contain no-repeat}
.inclus__titre.inclus--petits::before{-webkit-mask-image:var(--i-enfant);mask-image:var(--i-enfant)}
.inclus__titre.inclus--saison::before{-webkit-mask-image:var(--i-flocon);mask-image:var(--i-flocon)}
.inclus p{color:var(--c-texte-doux);font-size:var(--wp--preset--font-size--s)}

/* ---------- Ceillac et activités ---------- */
.encart-village{margin-block-end:var(--wp--preset--spacing--60)}
.encart-village > *{margin-block:0}
.encart-village > * + *{margin-top:var(--wp--preset--spacing--30)}
.encart-village .is-style-chapeau{max-width:62ch}

.saison-bascule{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:var(--wp--preset--spacing--60)}
.saison-bascule__libelle{font-weight:600;font-size:var(--wp--preset--font-size--s);color:var(--c-texte-doux);transition:color var(--m-court)}
.saison-bascule__libelle.est-actif{color:var(--c-texte)}
.saison-bascule input{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:3.5rem;height:1.9rem;margin:0;
  border-radius:999px;background:var(--c-fond);border:1.5px solid var(--c-texte);cursor:pointer}
.saison-bascule input::after{content:"";position:absolute;top:2px;left:2px;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--c-accent);transition:transform var(--m-court) var(--m-courbe)}
.saison-bascule input:checked::after{transform:translateX(1.6rem)}
@media (prefers-reduced-motion:reduce){.saison-bascule input::after{transition:none}}

.saison > *{margin-block:0}
.saison + .saison{margin-top:var(--wp--preset--spacing--60)}
.saison__titre{margin-bottom:var(--wp--preset--spacing--40)!important}
.saisons.est-pret .saison + .saison{margin-top:0}
.saisons.est-pret .saison__titre{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.saisons.est-pret .saison[hidden]{display:none}

.activites{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:860px){.activites{grid-template-columns:1fr 1fr}}
.activites > *{margin:0!important}
.carte-activite{position:relative;display:grid;grid-template-columns:9.5rem 1fr;gap:1.5rem;padding:.75rem;
  background:var(--c-fond-alt);border:1px solid transparent;border-radius:var(--r-carte);transition:border-color var(--m-court)}
.carte-activite:hover{border-color:var(--c-sable)}
.carte-activite > *{margin:0!important}
.carte-activite__image img{width:100%;height:100%;min-height:8.5rem;object-fit:cover;border-radius:var(--r-photo)}
.carte-activite__corps{display:flex;flex-direction:column;padding:.5rem .5rem .5rem 0}
.carte-activite__corps > *{margin:0}
.carte-activite h4{margin-bottom:.5rem}
.carte-activite p{color:var(--c-texte-doux);font-size:var(--wp--preset--font-size--s);line-height:1.6}
.carte-activite p.lien-externe{margin-top:auto;padding-top:.75rem}
.carte-activite p.lien-externe a::before{content:"";position:absolute;inset:0;border-radius:var(--r-carte)}
@media (max-width:520px){
  .carte-activite{grid-template-columns:1fr;gap:.75rem}
  .carte-activite__image img{aspect-ratio:16/9;min-height:0;height:auto}
  .carte-activite__corps{padding:0 .5rem .5rem}
}

/* ---------- Avis ---------- */
.avis__liste{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:var(--wp--preset--spacing--50);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.avis__liste::-webkit-scrollbar{display:none}
@media (min-width:760px){.avis__liste{grid-auto-columns:calc((100% - 2 * var(--wp--preset--spacing--50)) / 3)}}
.avis__liste > *{margin:0!important}
.wp-block-quote.avis__item{scroll-snap-align:start;margin:0;padding:var(--wp--preset--spacing--40) 0 0;border:0;border-top:2px solid var(--c-sable)}
.wp-block-quote.avis__item p{font-family:var(--wp--preset--font-family--titre);font-style:italic;font-size:1.125rem;line-height:1.6;margin:0 0 1rem}
.wp-block-quote.avis__item cite{display:block;font-style:normal;font-size:var(--wp--preset--font-size--s);color:var(--c-texte-doux)}
.wp-block-quote.avis__item cite strong{color:var(--c-texte);font-weight:600}
/* Dans l'éditeur, les avis s'affichent à la suite */
.editor-styles-wrapper .avis__liste{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));overflow:visible}
.avis__nav{display:flex;gap:.5rem;justify-content:flex-end;margin-top:var(--wp--preset--spacing--40)}
.avis__nav[hidden]{display:none}
.rond{width:2.75rem;height:2.75rem;border-radius:50%;border:1.5px solid var(--c-texte);background:transparent;color:var(--c-texte);cursor:pointer;display:grid;place-items:center;padding:0;transition:background-color var(--m-court),color var(--m-court)}
.rond:hover{background:var(--c-texte);color:var(--c-fond)}
.rond[disabled]{opacity:.35;cursor:default;background:transparent;color:var(--c-texte)}
.rond svg{width:1rem;height:1rem}

/* ---------- Carte ---------- */
.carte-osm{position:relative;height:clamp(20rem,45vw,30rem);margin:0;padding:0;background:var(--c-fond-alt)}
.carte-osm__secours{position:absolute;inset:0;display:grid;place-content:center;text-align:center;margin:0;padding:var(--wp--preset--spacing--40)}
.carte-osm__carte{position:absolute;inset:0;z-index:0}
.carte-osm .leaflet-container{font-family:var(--wp--preset--font-family--texte);background:var(--c-fond-alt)}
.carte-osm .leaflet-tile-pane{filter:grayscale(.55) sepia(.18) contrast(1.08) brightness(1.02)}
.carte-osm .leaflet-control-attribution{font-size:11px;background:rgba(253,251,247,.85)}
.carte-osm__repere{width:2.25rem;height:2.25rem;max-width:none;margin:-2.1rem 0 0 -1.125rem;color:var(--c-accent);filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}

/* ---------- Contact ---------- */
.contact__liste{list-style:none;margin:0 auto var(--wp--preset--spacing--60);padding:0;display:flex;flex-direction:column;align-items:center;gap:1rem;font-size:var(--wp--preset--font-size--l)}
.contact__liste li{display:flex;align-items:center;gap:.75rem;margin:0}
.contact__liste li::before{content:"";width:1.25rem;height:1.25rem;flex:none;background:var(--c-accent);-webkit-mask:var(--i-repere) center/contain no-repeat;mask:var(--i-repere) center/contain no-repeat}
.contact__liste li.contact--email::before{-webkit-mask-image:var(--i-email);mask-image:var(--i-email)}
.contact__liste li.contact--tel::before{-webkit-mask-image:var(--i-tel);mask-image:var(--i-tel)}
.contact__liste a{color:var(--c-texte);text-decoration:none}
.contact__liste a:hover{text-decoration:underline}

/* ---------- Pages intérieures (Contact, mentions légales) ---------- */
.page-interieure{padding-block:var(--wp--preset--spacing--70) var(--wp--preset--spacing--80)}
.page-interieure__titre{font-size:var(--wp--preset--font-size--xxl);margin-bottom:var(--wp--preset--spacing--30)}
.page-contact{gap:var(--wp--preset--spacing--70);margin-top:var(--wp--preset--spacing--60)}
.page-contact__titre{font-size:var(--wp--preset--font-size--xl)}
.page-contact .contact__liste{align-items:flex-start;font-size:var(--wp--preset--font-size--m);margin:var(--wp--preset--spacing--40) 0 0}
.formulaire-a-venir{border:2px dashed var(--c-bordure);border-radius:var(--r-carte);padding:var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);color:var(--c-texte-doux);text-align:center}

/* Formulaire WPForms (rendu « moderne ») : réglé par ses propres variables */
.page-contact .wpforms-container{
  --wpforms-field-border-radius:var(--r-champ);
  --wpforms-field-border-size:1.5px;
  --wpforms-field-border-color:#8A7D70;
  --wpforms-field-background-color:var(--c-blanc);
  --wpforms-field-text-color:var(--c-texte);
  --wpforms-field-size-input-height:48px;
  --wpforms-field-size-font-size:17px;
  --wpforms-label-color:var(--c-texte);
  --wpforms-label-sublabel-color:var(--c-texte-doux);
  --wpforms-label-error-color:var(--c-accent);
  --wpforms-label-size-font-size:15px;
  --wpforms-button-border-radius:999px;
  --wpforms-button-background-color:var(--c-accent);
  --wpforms-button-text-color:var(--c-blanc);
  --wpforms-button-size-height:48px;
  --wpforms-button-size-font-size:16px;
  --wpforms-button-size-padding-h:26px;
  margin-top:0;
}
.page-contact .wpforms-container .wpforms-form{font-family:var(--wp--preset--font-family--texte)}
.page-contact .wpforms-container .wpforms-submit:hover{background:var(--c-accent-fonce)!important}

/* ---------- Pied de page ---------- */
.pied{margin:0;padding-top:var(--wp--preset--spacing--70);color:var(--c-pied-texte);font-size:var(--wp--preset--font-size--s);
  background:linear-gradient(rgba(46,36,28,.78),rgba(46,36,28,.88)),url("../img/pied-bois.jpg") center 40%/cover,var(--c-texte)}
.pied a{color:var(--c-pied-texte)}
.pied a:hover{color:var(--c-blanc)}
.pied :focus-visible{outline-color:var(--c-sable)}
.pied__haut{gap:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50)}
.pied p{margin:0 0 .5rem}
.pied .pied__marque{font-family:var(--wp--preset--font-family--titre);font-size:var(--wp--preset--font-size--xl);color:var(--c-blanc)}
.pied .pied__titre{font-family:var(--wp--preset--font-family--texte);font-size:var(--wp--preset--font-size--s);font-weight:600;color:var(--c-sable);margin:0 0 .75rem}
.pied__liste{list-style:none;margin:0;padding:0}
.pied__liste li{margin-bottom:.25rem}
.pied__bas{border-top:1px solid rgba(233,223,208,.18);padding-block:1rem;font-size:var(--wp--preset--font-size--xs);gap:.5rem 1.5rem}
.pied__bas p{margin:0}

/* ---------- Bouton « Nous écrire » flottant (mobile) ---------- */
.wp-block-buttons.bouton-mobile{display:none}
@media (max-width:1023px){
  .is-site .wp-block-buttons.bouton-mobile{display:flex;position:fixed;z-index:40;left:1rem;right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));margin:0;
    transition:transform var(--m-moyen) var(--m-courbe),opacity var(--m-moyen)}
  .is-site .bouton-mobile .wp-block-button__link{box-shadow:var(--o-flottant)}
  .is-site .wp-block-buttons.bouton-mobile.est-cache{transform:translateY(150%);opacity:0;pointer-events:none}
}
.editor-styles-wrapper .wp-block-buttons.bouton-mobile{display:flex;margin-top:1rem}
