:root{
  --sable:#F6EEE1;
  --sable2:#EEE1CB;
  --carte:#FBF5EA;
  --encre:#40372C;
  --encre-doux:#6E6353;
  --lagon:#4E7F7B;
  --lagon-fonce:#3C6360;
  --lagon-doux:#9CBDB8;
  --corail:#BC6353;
  --corail-doux:#D99A8B;
  --olive:#94925D;
  --rose:#CF8B7D;
  --fleur:#FFFDF8;
  --trait:rgba(64,55,44,.14);
  --ombre:0 18px 40px -22px rgba(64,55,44,.28);
  --r:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Jost',sans-serif;
  font-weight:300;
  color:var(--encre);
  background:var(--sable);
  background-image:
    radial-gradient(1200px 600px at 85% -10%, rgba(156,189,184,.20), transparent 60%),
    radial-gradient(900px 500px at -10% 30%, rgba(217,154,139,.12), transparent 55%);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--lagon-doux);color:var(--encre)}
img,svg{display:block}
a{color:var(--lagon-fonce)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--lagon);outline-offset:3px;border-radius:4px;
}

/* ---------- Typo ---------- */
.display{font-family:'Fraunces',serif;font-weight:300;line-height:1.12;letter-spacing:.2px}
h1.display{font-size:clamp(2.3rem,5.2vw,3.6rem)}
h2.display{font-size:clamp(1.7rem,3.4vw,2.4rem)}
h3.display{font-size:1.28rem;font-weight:400}
.script{font-family:'La Belle Aurore',cursive;color:var(--corail);line-height:1}
.kicker{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--lagon-fonce);font-weight:500;
}
.kicker svg{width:15px;height:15px;stroke:var(--corail)}
.lead{font-size:1.08rem;color:var(--encre-doux);max-width:62ch}
.souligne{
  background-image:linear-gradient(transparent 68%, rgba(217,154,139,.45) 68%);
}
p+p{margin-top:.9em}
strong{font-weight:500}
em{font-style:italic}

/* ---------- Structure ---------- */
.wrap{max-width:1100px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2.5rem)}
.section{padding:clamp(3rem,7vw,5.2rem) 0;position:relative}
.section.alt{background:var(--sable2)}
.section-head{max-width:720px;margin-bottom:2.4rem}
.section-head .display{margin:.45rem 0 .8rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,3vw,2.6rem)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.grid-contact{grid-template-columns:1.4fr 1fr}
@media(max-width:900px){.grid3,.grid4{grid-template-columns:repeat(2,1fr)}.grid2,.grid-contact{grid-template-columns:1fr}}
@media(max-width:600px){.grid3,.grid4,.grid6{grid-template-columns:1fr}}

/* Ornement de séparation */
.orne{display:flex;justify-content:center;gap:.6rem;align-items:center;margin:2.6rem auto;color:var(--corail)}
.orne::before,.orne::after{content:"";height:1px;width:70px;background:var(--trait)}
.orne svg{width:18px;height:18px}

/* ---------- Navigation ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:rgba(246,238,225,.86);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--trait);
}
.nav-in{max-width:1180px;margin:0 auto;padding:.65rem clamp(1rem,3vw,2rem);display:flex;align-items:center;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--encre)}
.brand svg{width:30px;height:30px}
.brand-txt{display:flex;flex-direction:column;line-height:1.05}
.brand-nom{font-family:'Fraunces',serif;font-size:1.06rem;letter-spacing:.03em}
.brand-sous{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lagon-fonce)}
.nav-links{margin-left:auto;display:flex;gap:.2rem;align-items:center}
.nav-links a{
  text-decoration:none;color:var(--encre-doux);font-size:.93rem;letter-spacing:.04em;
  padding:.45rem .72rem;border-radius:999px;transition:color .2s,background .2s;
}
.nav-links a:hover{color:var(--encre);background:rgba(78,127,123,.10)}
.nav-links a.active{color:var(--fleur);background:var(--lagon)}
.burger{
  margin-left:auto;display:none;background:none;border:1px solid var(--trait);border-radius:10px;
  padding:.5rem .6rem;cursor:pointer;color:var(--encre);
}
.burger svg{width:20px;height:20px}
@media(max-width:940px){
  .burger{display:block}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    background:rgba(246,238,225,.98);border-bottom:1px solid var(--trait);
    padding:.6rem 1rem 1rem;display:none;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:.7rem .9rem;border-radius:12px}
}

/* ---------- Pages ---------- */
.page{display:none}
.page.active{display:block;animation:apparait .45s ease both}
@keyframes apparait{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Héros illustré ---------- */
.hero{
  position:relative;overflow:hidden;
  padding:clamp(6.2rem,12vw,8.5rem) 0 0;
  background:linear-gradient(180deg,#EAF0EA 0%, #E6EDE9 30%, var(--sable) 100%);
}
.hero-in{position:relative;z-index:2;padding-bottom:clamp(4.5rem,9vw,7rem);max-width:760px}
.hero .script{font-size:clamp(2.2rem,6vw,3.4rem);display:block;margin-bottom:.2rem}
.hero .lead{margin-top:1rem}
.horizon{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:auto;z-index:1;pointer-events:none}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}

/* ---------- Boutons & tags ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Jost',sans-serif;font-weight:500;font-size:.95rem;letter-spacing:.04em;
  padding:.72rem 1.35rem;border-radius:999px;text-decoration:none;cursor:pointer;
  border:1px solid transparent;transition:transform .18s ease, box-shadow .18s ease, background .18s;
}
.btn:hover{transform:translateY(-2px)}
.btn-plein{background:var(--corail);color:var(--fleur);box-shadow:0 10px 22px -12px rgba(188,99,83,.7)}
.btn-plein:hover{background:#A85647}
.btn-ligne{border-color:var(--lagon);color:var(--lagon-fonce);background:rgba(255,253,248,.5)}
.btn-ligne:hover{background:rgba(78,127,123,.10)}
.btn svg{width:16px;height:16px}
.tag{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  padding:.32rem .75rem;border-radius:999px;border:1px solid var(--trait);
  background:rgba(255,253,248,.65);color:var(--encre-doux);
}
.tags{display:flex;flex-wrap:wrap;gap:.5rem}

/* ---------- Cartes ---------- */
.card{
  background:var(--carte);border:1px solid var(--trait);border-radius:var(--r);
  padding:1.5rem;box-shadow:var(--ombre);
}
.card h3{margin-bottom:.4rem}
.card .ic{
  width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:rgba(78,127,123,.10);margin-bottom:.9rem;
}
.card .ic svg{width:22px;height:22px;stroke:var(--lagon-fonce)}
.card.corail .ic{background:rgba(188,99,83,.12)}
.card.corail .ic svg{stroke:var(--corail)}
.mini{font-size:.9rem;color:var(--encre-doux)}
.meta{display:flex;flex-wrap:wrap;gap:1rem;margin:.8rem 0;font-size:.92rem;color:var(--encre-doux)}
.meta span{display:inline-flex;align-items:center;gap:.4rem}
.meta svg{width:15px;height:15px;stroke:var(--lagon-fonce)}

/* Grande carte évènement (ateliers, stages, formations) */
.fiche{
  background:var(--carte);border:1px solid var(--trait);border-radius:calc(var(--r) + 6px);
  box-shadow:var(--ombre);overflow:hidden;margin-bottom:2.4rem;
}
.fiche-tete{
  padding:clamp(1.6rem,3.5vw,2.4rem);
  background:linear-gradient(135deg, rgba(78,127,123,.10), rgba(217,154,139,.10));
  border-bottom:1px solid var(--trait);
}
.fiche-tete .script{font-size:1.9rem;display:block;margin-bottom:.1rem}
.fiche-corps{padding:clamp(1.6rem,3.5vw,2.4rem);display:grid;gap:1.8rem}
.fiche-bloc h4{
  font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--lagon-fonce);
  font-weight:600;margin-bottom:.55rem;display:flex;align-items:center;gap:.5rem;
}
.fiche-bloc h4 svg{width:14px;height:14px;stroke:var(--corail)}
.fiche-bloc ul{list-style:none;display:grid;gap:.35rem}
.fiche-bloc ul li{padding-left:1.15rem;position:relative}
.fiche-bloc ul li::before{
  content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;
  background:var(--corail-doux);
}
.deux-col{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem}
@media(max-width:760px){.deux-col{grid-template-columns:1fr}}

/* ---------- Illustration « photo » ---------- */
.visuel{
  position:relative;border-radius:calc(var(--r) + 4px);overflow:hidden;
  border:1px solid var(--trait);min-height:230px;
  background:linear-gradient(160deg,#DCE8E4 0%,#CBDDD7 45%,#EFE3CF 100%);
  display:flex;align-items:flex-end;
}
.visuel svg.paysage{position:absolute;inset:auto 0 0 0;width:100%;height:auto}
.visuel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.couv-img{width:min(320px,86%);display:block;margin:0 auto;border-radius:12px;box-shadow:0 26px 55px -20px rgba(64,55,44,.45);border:1px solid var(--trait)}
.temoin{font-size:.98rem}
.temoin cite{display:block;margin-top:.6rem;font-style:normal;font-weight:600;color:var(--lagon)}
.visuel .legende{
  position:relative;z-index:2;margin:1rem;padding:.4rem .85rem;border-radius:999px;
  background:rgba(255,253,248,.8);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--encre-doux);backdrop-filter:blur(4px);
}
.visuel.portrait{min-height:340px;background:linear-gradient(165deg,#E9DECE 0%,#DCE8E4 60%,#CBDDD7 100%)}

/* ---------- Respiration (séance découverte) ---------- */
.respire-zone{display:flex;justify-content:center;padding:1rem 0}
.respire{
  width:230px;height:230px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:radial-gradient(circle at 35% 30%, rgba(255,253,248,.95), rgba(156,189,184,.35));
  border:1px solid rgba(78,127,123,.35);
  box-shadow:0 0 0 14px rgba(78,127,123,.07), 0 0 0 30px rgba(78,127,123,.04);
  animation:respiration 7s ease-in-out infinite;
  padding:1.4rem;
}
.respire .k{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--corail);font-weight:600}
.respire .t{font-family:'Fraunces',serif;font-size:1.15rem;line-height:1.25;margin:.35rem 0}
.respire .s{font-family:'La Belle Aurore',cursive;color:var(--lagon-fonce);font-size:1.05rem}
@keyframes respiration{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}

/* ---------- Planning ---------- */
.legende-cours{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.6rem}
.pastille{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--encre-doux)}
.pastille i{width:11px;height:11px;border-radius:50%;display:inline-block}
.c-yin{background:var(--rose)}
.c-vin{background:var(--lagon)}
.c-dyn{background:var(--olive)}
.c-hat{background:var(--corail)}
.c-wk{background:var(--lagon-doux)}
.semaine{display:grid;grid-template-columns:repeat(7,1fr);gap:.7rem}
@media(max-width:1000px){.semaine{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.semaine{grid-template-columns:1fr}}
.jour{background:var(--carte);border:1px solid var(--trait);border-radius:var(--r);padding:.9rem .9rem 1rem;min-height:150px}
.jour h5{
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--encre-doux);
  font-weight:600;border-bottom:1px solid var(--trait);padding-bottom:.5rem;margin-bottom:.7rem;text-align:center;
}
.slot{border-radius:12px;padding:.6rem .7rem;margin-bottom:.55rem;color:var(--fleur);font-size:.84rem;line-height:1.45}
.slot b{display:block;font-weight:500;font-size:.9rem}
.slot small{opacity:.92}
.slot.s-yin{background:var(--rose)}
.slot.s-vin{background:var(--lagon)}
.slot.s-dyn{background:var(--olive)}
.slot.s-hat{background:var(--corail)}
.slot.s-wk{background:var(--lagon-doux);color:var(--encre)}
.jour .repos{font-size:.82rem;color:var(--encre-doux);text-align:center;padding-top:1.2rem;font-style:italic}

/* ---------- Tarifs ---------- */
.prix{
  background:var(--carte);border:1px solid var(--trait);border-radius:var(--r);
  padding:1.6rem 1.4rem;text-align:center;box-shadow:var(--ombre);position:relative;
  display:flex;flex-direction:column;gap:.3rem;
}
.prix .ic-fleur{width:26px;height:26px;margin:0 auto .6rem;stroke:var(--corail)}
.prix .montant{font-family:'Fraunces',serif;font-size:2.1rem;color:var(--lagon-fonce)}
.prix .quoi{font-weight:500}
.prix .detail{font-size:.85rem;color:var(--encre-doux)}
.prix.phare{background:linear-gradient(160deg, rgba(78,127,123,.12), rgba(217,154,139,.14)), var(--carte);border-color:rgba(78,127,123,.4)}

/* ---------- Bienfaits ---------- */
.bienfait{
  border:1px solid var(--trait);border-radius:var(--r);padding:1.25rem;background:rgba(255,253,248,.55);
  display:flex;gap:.9rem;align-items:flex-start;
}
.bienfait svg{width:26px;height:26px;flex:none;stroke:var(--lagon-fonce);margin-top:.15rem}
.bienfait p{font-size:.95rem}

/* ---------- Accordéon ---------- */
details.faq{border-bottom:1px solid var(--trait)}
details.faq summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;gap:.8rem;
  padding:1.05rem .2rem;font-family:'Fraunces',serif;font-size:1.12rem;
}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{
  content:"+";margin-left:auto;font-family:'Jost';color:var(--corail);font-size:1.3rem;transition:transform .25s;
}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq .faq-corps{padding:0 .2rem 1.2rem;color:var(--encre-doux);max-width:70ch}

/* ---------- Éléments du livre ---------- */
.elements{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
@media(max-width:900px){.elements{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.elements{grid-template-columns:repeat(2,1fr)}}
.element{
  border:1px solid var(--trait);border-radius:var(--r);padding:1.1rem .8rem;text-align:center;
  background:rgba(255,253,248,.55);transition:transform .2s, background .2s;
}
.element:hover{transform:translateY(-3px);background:var(--carte)}
.element svg{width:30px;height:30px;margin:0 auto .55rem;stroke:var(--lagon-fonce)}
.element span{font-size:.86rem;letter-spacing:.05em}
.element small{display:block;font-size:.72rem;color:var(--encre-doux);margin-top:.15rem}

/* ---------- Couverture livre ---------- */
.livre-couv{
  aspect-ratio:3/4;max-width:330px;margin:0 auto;border-radius:10px;overflow:hidden;position:relative;
  box-shadow:0 30px 60px -25px rgba(64,55,44,.5);border:1px solid var(--trait);
  background:linear-gradient(180deg,#B7D0CB 0%, #8FB4AE 42%, #E7D9C1 42.5%, #F2E8D5 100%);
  transform:rotate(-1.5deg);
}
.livre-couv .lc-in{position:absolute;inset:0;padding:1.6rem 1.4rem;display:flex;flex-direction:column;text-align:center}
.livre-couv .lc-aut{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#37524F}
.livre-couv .lc-titre{font-family:'Fraunces',serif;font-size:2rem;letter-spacing:.28em;color:#2E4643;margin-top:.9rem;line-height:1.35}
.livre-couv .lc-et{font-family:'La Belle Aurore',cursive;font-size:1.6rem;color:var(--corail);letter-spacing:0}
.livre-couv .lc-sous{margin-top:auto;font-size:.8rem;color:#5D5240;line-height:1.5}
.livre-couv svg{position:absolute;bottom:26%;left:0;width:100%;height:auto;opacity:.8}

/* ---------- Citation ---------- */
.citation{
  border-left:3px solid var(--corail-doux);padding:.4rem 0 .4rem 1.4rem;margin:1.4rem 0;
  font-family:'Fraunces',serif;font-style:italic;font-size:1.12rem;color:var(--encre-doux);max-width:62ch;
}
.citation cite{display:block;font-family:'Jost';font-style:normal;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin-top:.7rem;color:var(--lagon-fonce)}

/* ---------- Formulaire ---------- */
.formulaire{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media(max-width:700px){.formulaire{grid-template-columns:1fr}}
.champ{display:flex;flex-direction:column;gap:.35rem}
.champ.long{grid-column:1/-1}
.champ label{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--encre-doux);font-weight:500}
.champ input,.champ textarea{
  font-family:'Jost';font-size:1rem;color:var(--encre);
  background:rgba(255,253,248,.7);border:1px solid var(--trait);border-radius:12px;
  padding:.75rem .9rem;transition:border .2s, box-shadow .2s;
}
.champ input:focus,.champ textarea:focus{border-color:var(--lagon);box-shadow:0 0 0 3px rgba(78,127,123,.15);outline:none}
.champ textarea{min-height:150px;resize:vertical}
.accord{grid-column:1/-1;display:flex;gap:.8rem;align-items:flex-start;font-size:.86rem;color:var(--encre-doux)}
.accord input{margin-top:.3rem;accent-color:var(--lagon);width:17px;height:17px;flex:none}
.form-ok{
  grid-column:1/-1;display:none;background:rgba(78,127,123,.12);border:1px solid rgba(78,127,123,.35);
  border-radius:12px;padding:1rem 1.2rem;color:var(--lagon-fonce);
}
.form-ok.visible{display:block}

/* ---------- Pied de page ---------- */
footer{background:var(--encre);color:#D8CDBC;margin-top:0}
.foot-in{max-width:1100px;margin:0 auto;padding:3.2rem clamp(1.1rem,4vw,2.5rem) 2rem}
.foot-grille{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
@media(max-width:800px){.foot-grille{grid-template-columns:1fr}}
.foot-marque{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}
.foot-marque svg{width:32px;height:32px}
.foot-marque .n{font-family:'La Belle Aurore',cursive;font-size:1.7rem;color:var(--fleur)}
footer h6{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--corail-doux);margin-bottom:.8rem;font-weight:600}
footer a{color:#D8CDBC;text-decoration:none}
footer a:hover{color:var(--fleur)}
.foot-liens{display:grid;gap:.35rem;font-size:.95rem}
.foot-contact{display:grid;gap:.45rem;font-size:.95rem}
.foot-contact span{display:flex;gap:.55rem;align-items:center}
.foot-contact svg{width:15px;height:15px;stroke:var(--corail-doux)}
.sociaux{display:flex;gap:.7rem;margin-top:1rem}
.sociaux a{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(216,205,188,.35);
  display:flex;align-items:center;justify-content:center;transition:background .2s,border .2s;
}
.sociaux a:hover{background:rgba(216,205,188,.12);border-color:var(--fleur)}
.sociaux svg{width:17px;height:17px;stroke:#D8CDBC}
.foot-bas{border-top:1px solid rgba(216,205,188,.18);margin-top:2.4rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;font-size:.82rem;color:#A79A85}
.foot-insta{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#A79A85;margin-top:1rem}

/* ---------- Divers ---------- */
.bandeau{
  display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;justify-content:space-between;
  background:linear-gradient(120deg, var(--lagon-fonce), var(--lagon));
  color:var(--fleur);border-radius:calc(var(--r) + 4px);padding:1.7rem clamp(1.3rem,3vw,2.2rem);
  box-shadow:var(--ombre);
}
.bandeau .script{color:var(--fleur);opacity:.9;font-size:1.5rem;display:block}
.bandeau .btn-plein{background:var(--fleur);color:var(--lagon-fonce);box-shadow:none}
.bandeau .btn-plein:hover{background:#fff}
.note{font-size:.84rem;color:var(--encre-doux);font-style:italic}
.liste-simple{list-style:none;display:grid;gap:.4rem}
.liste-simple li{padding-left:1.2rem;position:relative}
.liste-simple li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--lagon-doux)}
.encart{
  border:1px dashed rgba(78,127,123,.5);border-radius:var(--r);padding:1.1rem 1.3rem;
  background:rgba(156,189,184,.10);font-size:.92rem;color:var(--encre-doux);
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* --- Photos en tête de carte --- */
.card-photo{position:relative;margin:calc(var(--pad-carte,1.5rem) * -1);margin-bottom:1.2rem;overflow:hidden;border-radius:14px 14px 0 0;background:var(--sable2)}
.card-photo img{display:block;width:100%;height:200px;object-fit:cover}
.card{--pad-carte:1.6rem}
.card.avec-photo{padding-top:0;overflow:hidden}
.card.avec-photo .card-photo{margin:0 -1.6rem 1.2rem -1.6rem;border-radius:0}
.lieu-photo{display:block;width:100%;height:130px;object-fit:cover;border-radius:12px;margin-bottom:1rem;background:var(--sable2)}
.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.galerie img{width:100%;height:200px;object-fit:cover;border-radius:14px;display:block;background:var(--sable2)}
.foot-bandeau{max-width:210px;margin-bottom:1rem;display:block;opacity:.95}
@media(max-width:760px){.galerie{grid-template-columns:1fr 1fr}.card-photo img{height:150px}}

/* --- Affiches : jamais recadrées --- */
.card-photo.affiche{background:var(--carte)}
.card-photo.affiche img{height:auto;object-fit:contain;max-height:340px}
.visuel.affiche-libre{min-height:0;background:none;border:none;padding:0}
.visuel.affiche-libre img{position:static;width:100%;height:auto;object-fit:contain;border-radius:14px;display:block}
/* --- Photos d'ateliers : affichées en entier, jamais recadrées --- */
.fiche-tete .card-photo{background:var(--carte)}
.fiche-tete .card-photo img{height:auto;max-height:none;object-fit:contain}
@media(max-width:760px){.card-photo.affiche img{max-height:none}}

.cache-bot{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
