/* thomasgaunet.fr : feuille de style unique du site statique */
/* Variables de mise en page propres à chaque bloc : elles ne se transmettent pas aux blocs imbriqués */
@property --pt{syntax:"*";inherits:false}
@property --pb{syntax:"*";inherits:false}
@property --pl{syntax:"*";inherits:false}
@property --pr{syntax:"*";inherits:false}
@property --w{syntax:"*";inherits:false}
@property --jc{syntax:"*";inherits:false}
@property --ai{syntax:"*";inherits:false}
@property --gap{syntax:"*";inherits:false}
@property --wrap{syntax:"*";inherits:false}
@property --cols{syntax:"*";inherits:false}
@property --fs{syntax:"*";inherits:false}
@property --tc{syntax:"*";inherits:false}
@property --bb{syntax:"*";inherits:false}
@property --bc{syntax:"*";inherits:false}
@font-face{font-family:"Romantic";src:url("/wp-content/uploads/2026/02/Romantic.ttf") format("truetype");font-display:swap}

:root{
  --vert:#5A6354; --vert-f:#3B4232; --vert-ff:#2d3829; --creme:#FFF5DD; --creme-2:#F7EEDB;
  --terre:#90634C; --terre-f:#7A5240; --ligne:#E5DCC8; --texte:#3B4232; --doux:#5A6354;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Jost",system-ui,sans-serif; --script:"Romantic","Cormorant Garamond",cursive;
  --max:1140px; --k:1.12; --r:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.7;color:var(--texte);background:#fff;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--terre)}
a:hover{color:var(--vert-f)}
h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:500;line-height:1.2;margin:0 0 .5em;color:inherit}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--terre);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--creme);padding:10px 16px;z-index:100}
.skip:focus{left:10px}

/* ---------- Boutons ---------- */
.bw{margin:.6em 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.c.row>.bw,.sec-in.row>.bw{align-self:center;flex:0 0 auto}
.bw.center{justify-content:center}
.bw.right{justify-content:flex-end}
.btn{display:inline-block;background:var(--bb,var(--terre));color:var(--bc,var(--creme));font-family:var(--sans);font-size:14px;font-weight:400;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;padding:13px 24px;border:1px solid var(--bb,var(--terre));border-radius:3px;cursor:pointer;transition:opacity .2s,background .2s,color .2s;line-height:1.3;text-align:center}
.btn:hover{opacity:.88;color:var(--bc,var(--creme))}
.btn-ghost{background:transparent;color:var(--bc,var(--terre));border-color:currentColor}
.tag{cursor:default}
.btn-ghost.tag:hover{background:transparent;color:var(--bc,var(--terre));border-color:currentColor}
.btn-ghost:hover{background:var(--terre);color:var(--creme);border-color:var(--terre);opacity:1}
.btn-light{background:var(--creme);color:var(--vert-f);border-color:var(--creme)}
.btn-light:hover{color:var(--vert-f)}
.btn-accent{background:var(--terre-f);border-color:var(--terre-f);color:var(--creme)}
.dark .btn-ghost{color:var(--bc,var(--creme))}
.linkbtn{background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}

/* ---------- En-tête ---------- */
.hd{background:var(--vert);color:var(--creme);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.hd-in{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:24px;padding:8px 24px;min-height:72px}
.logo img{width:130px;height:auto}
.nav{display:flex;align-items:center;gap:22px;flex:1;justify-content:flex-end}
.nav-l{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.nav-l>li{position:relative}
/* Niveau 1 : rubriques en capitales, comme l'original (Jost 400, crème légèrement atténué) */
.nav-l a,.nav-h{display:block;color:rgba(255,245,221,.88);text-decoration:none;font-size:14px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;padding:12px 12px;cursor:pointer;white-space:nowrap}
.nav-l>li>a:hover,.nav-l>li>.nav-h:hover,.nav-l>li:hover>a,.nav-l>li:hover>.nav-h,.nav-l a[aria-current]{color:var(--creme)}
.nav-l>li>a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.nav-l>.has-sub>a::after,.nav-l>.has-sub>.nav-h::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.8}
/* Niveau 2 : panneau plus sombre, liseré terre, casse normale, séparateurs fins */
.nav-l ul{list-style:none;margin:0;padding:6px 0;position:absolute;left:0;top:100%;min-width:290px;background:var(--vert-f);border-top:2px solid var(--terre);border-radius:0 0 8px 8px;box-shadow:0 14px 34px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.nav-l ul>li+li{border-top:1px solid rgba(255,245,221,.1)}
.nav-l ul a{text-transform:none;letter-spacing:.01em;font-size:16px;color:var(--creme);padding:10px 22px;white-space:normal}
.nav-l ul a:hover,.nav-l ul a[aria-current]{color:#fff;background:rgba(255,245,221,.07)}
/* Niveau 3 : en retrait sous sa rubrique, plus petit, plus léger, filet vertical */
.nav-l ul ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:1px solid rgba(255,245,221,.25);border-radius:0;padding:0 0 8px;margin:0 0 0 30px;min-width:0;background:transparent}
.nav-l ul ul>li+li{border-top:0}
.nav-l ul ul a{font-size:15px;font-weight:300;color:rgba(255,245,221,.78);padding:5px 16px}
.nav-l ul ul a:hover,.nav-l ul ul a[aria-current]{background:transparent;color:var(--creme);text-decoration:underline;text-underline-offset:4px}
.nav-l>li:hover>ul,.nav-l>li:focus-within>ul{opacity:1;visibility:visible;transform:none}
.sub-tg{display:none}
.nav-cta{display:flex;gap:8px}
.nav-cta .btn{padding:10px 18px}
.burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{position:absolute;left:10px;width:24px;height:2px;background:var(--creme);content:"";transition:.2s}
.burger span{top:21px}.burger span::before{top:-7px;left:0}.burger span::after{top:7px;left:0}
.burger[aria-expanded=true] span{background:transparent}
.burger[aria-expanded=true] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded=true] span::after{top:0;transform:rotate(-45deg)}

@media (max-width:1180px){
  .burger{display:block}
  .nav{position:fixed;inset:72px 0 0 0;background:var(--vert-f);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:12px 20px 40px;overflow:auto;display:none;gap:16px}
  .nav.open{display:flex}
  .nav-l{flex-direction:column}
  .nav-l>li{border-bottom:1px solid rgba(255,245,221,.12)}
  .nav-l a,.nav-h{font-size:16px;padding:14px 4px}
  .nav-l>.has-sub>a::after,.nav-l>.has-sub>.nav-h::after{display:none}
  .nav-l ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(0,0,0,.14);border-top:0;border-radius:8px;display:none;padding:4px 0;margin:0 0 12px;min-width:0}
  .nav-l li.open>ul{display:block}
  .nav-l ul a{font-size:17px;padding:11px 16px}
  .nav-l ul ul{display:block;margin:0 0 0 22px;padding:0 0 8px}
  .nav-l ul ul a{font-size:16px;padding:7px 14px}
  .has-sub{display:flex;flex-wrap:wrap;align-items:center}
  .has-sub>a,.has-sub>.nav-h{flex:1}
  .has-sub>ul{flex-basis:100%}
  .sub-tg{display:block;width:44px;height:44px;background:none;border:0;color:var(--creme);cursor:pointer;position:relative}
  .sub-tg::after{content:"";position:absolute;left:16px;top:15px;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:.2s}
  .open>.sub-tg::after{transform:rotate(-135deg);top:20px}
  .nav-l ul .sub-tg{display:none}
  .nav-cta{flex-direction:column}
  .nav-cta .btn{padding:14px}
}

/* ---------- Sections issues des pages ---------- */
.sec{position:relative;padding:var(--pt,10px) max(var(--pr,10px),24px) var(--pb,10px) max(var(--pl,10px),24px);background-repeat:no-repeat}
.sec-in{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:var(--wrap,nowrap);gap:var(--gap,20px);justify-content:var(--jc,flex-start);align-items:var(--ai,stretch)}
.sec-in.col{flex-direction:column}
.sec.full{padding-left:var(--pl,0);padding-right:var(--pr,0)}
.sec.full>.sec-in{max-width:none}
.sec.full .c.col{padding-left:max(var(--pl,10px),48px);padding-right:max(var(--pr,10px),48px)}
.sec.full>.sec-in:not(:has(> .c)){max-width:var(--max);padding-left:24px;padding-right:24px}
.sec-in.narrow{max-width:780px}
.sec-in.center{align-items:center;text-align:center}
.c{position:relative;display:flex;flex-wrap:var(--wrap,nowrap);gap:var(--gap,20px);padding:var(--pt,10px) var(--pr,10px) var(--pb,10px) var(--pl,10px);justify-content:var(--jc,flex-start);align-items:var(--ai,stretch);min-width:0;background-repeat:no-repeat}
.c.col{flex-direction:column}
.c.row:not(:has(> :not(.bw))){flex-wrap:var(--wrap,wrap)}
.c.grid,.sec-in.grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.voile::before{content:"";position:absolute;inset:0;background:var(--ov);opacity:var(--ovo,.5);border-radius:inherit;pointer-events:none}
.voile>*{position:relative;z-index:1}
.row>.c,.row>.ibox,.row>.ptable{flex:1 1 var(--w,0);max-width:var(--w,none)}
.row>.c[style*="--w:"]{flex:0 1 calc(var(--w) - var(--gap,20px))}
.c.row[style*="--wrap"]>*:not([style*="--w:"]){flex:1 1 auto;max-width:none}
.c.row[style*="--wrap"]>.c:not([style*="--w:"]),.sec-in.row[style*="--wrap"]>.c:not([style*="--w:"]){flex:1 1 100%;max-width:100%}
/* rangée « libellé | valeur » (cartes d'inscription) : le libellé garde sa largeur, la valeur passe dessous si besoin */
.c.row[style*="--jc:space-between"]:has(> .c.row){flex-wrap:wrap;column-gap:12px}
.c.row[style*="--jc:space-between"] > .c.row:not([style*="--w:"]){flex:0 0 auto}
.dark{color:var(--creme)}
.dark a:not(.btn){color:var(--creme)}
.dark .t{color:var(--tc,var(--creme))}
.light{color:var(--texte)}
.light .t{color:var(--tc,var(--vert-f))}
.only-m{display:none!important}

/* Titres */
.t{font-family:var(--sans);font-size:min(calc(var(--fs,18px)*1.06),calc(var(--fs,18px)*.74 + 1.7vw));color:var(--tc,inherit);margin:0 0 .35em;line-height:1.2;font-weight:400}
.t-serif{font-family:var(--serif);font-weight:500}
.t-script{font-family:var(--script);font-weight:400;line-height:1.1;font-size:min(calc(var(--fs,30px)*1.06),calc(var(--fs,30px)*.85 + 1vw))}
.t-label{font-size:clamp(13px,calc(var(--fs,12px)*var(--k)),14.5px);letter-spacing:.18em;text-transform:uppercase;font-weight:500}
h1.t:not(.t-script){font-family:var(--serif);font-weight:500}
h2.t:not(.t-script):not(.t-label),h3.t:not(.t-script):not(.t-label){font-family:var(--serif)}

/* Textes */
.txt{color:var(--tc,inherit)}
.txt[style*="--fs:"]{font-size:max(17px,calc(var(--fs)*1.05))}
.txt[style*="uppercase"]{font-size:clamp(13px,calc(var(--fs,12px)*var(--k)),14.5px)}
.t-sans{font-family:var(--sans)}
.txt.t-serif{font-family:var(--serif)}
.txt.t-script{font-family:var(--script)}
.txt>*:last-child{margin-bottom:0}
.txt ul,.txt ol{padding-left:1.2em}
.txt h2,.txt h3{font-family:var(--serif)}
.txt img{border-radius:10px}
.raw{min-width:0}
.c.row>.raw{min-width:auto;flex:0 0 auto}
.c.row>.raw:first-child{flex:1 1 0;min-width:0}
.raw:has(iframe),.raw:has([data-rezalia]),.raw:has(table),.raw:has(form){align-self:stretch;width:100%}
.c.row>.raw:has([data-rezalia]){flex:1 1 0}
.bg-only{min-height:320px}

/* Images */
.img{margin:0}
.img.center img{margin:0 auto}
.img img{border-radius:var(--r)}
.img figcaption{font-size:15px;opacity:.75;margin-top:6px}

/* Listes à puces décoratives */
.ilist{list-style:none;margin:0;padding:0;color:var(--tc,inherit)}
.ilist[style*="--fs:"]{font-size:max(16px,calc(var(--fs)*1.05))}
.ilist li{position:relative;padding:4px 0 4px 26px}
.ilist li::before{content:"";position:absolute;left:4px;top:.85em;width:8px;height:8px;border-radius:50%;background:var(--ic,var(--terre))}
.dark .ilist li::before{background:var(--creme)}
.ilist.inline{display:flex;flex-wrap:wrap;gap:6px 20px}
.wbox{width:fit-content;max-width:100%}
.wbox.dark{color:var(--creme)}
.wbox .ilist li{padding-top:2px;padding-bottom:2px}
.ilist-svg li::before{display:none}
.ilist-svg li{padding-left:30px}
.ilist-i{position:absolute;left:0;top:.42em;width:1.15em;height:1.15em;color:var(--ic,var(--terre))}
.dark .ilist-svg .ilist-i{color:var(--ic,var(--creme))}
.ilist-i svg{display:block;width:100%;height:100%;fill:currentColor}

/* Boîtes à icône */
.ibox{min-width:0}
.ibox.center{text-align:center}
.ib-ic{color:var(--terre)}
.ib-ic svg{width:40px;height:40px;fill:currentColor;margin-bottom:10px}
.dark .ib-ic:not([style]){color:var(--creme)}
.ibox.center .ib-ic svg{margin-left:auto;margin-right:auto}
.ib-t{font-family:var(--serif);font-size:26px;margin:0 0 .3em}
.ib-t a{text-decoration:none;color:inherit}
.ib-d>*:last-child{margin-bottom:0}
.ic{color:var(--terre);display:inline-flex}
.ic svg{width:var(--isz,28px);height:var(--isz,28px);fill:currentColor}
.abs{position:absolute;z-index:1;line-height:0}
.dark .ic:not([style*="color"]){color:var(--creme)}

/* Séparateurs */
.sep{border:0;border-top:1px solid currentColor;opacity:.25;width:80px;margin:6px 0}
.center .sep,.sep-center{margin-left:auto;margin-right:auto}
.sep-t{display:flex;align-items:center;gap:14px;opacity:.8;font-size:15px}
.sep-t::before,.sep-t::after{content:"";flex:1;border-top:1px solid currentColor;opacity:.3}
.spacer{height:20px}

/* Galeries */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.gal.n1{grid-template-columns:1fr}.gal.n2{grid-template-columns:repeat(2,1fr)}.gal.n3{grid-template-columns:repeat(3,1fr)}.gal.n4{grid-template-columns:repeat(4,1fr)}
.gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.gal-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px}
.gal-scroll>*{flex:0 0 min(320px,80%);scroll-snap-align:start}
.gal-scroll img{aspect-ratio:4/3}

/* Accordéons */
.accs{display:flex;flex-direction:column;gap:10px;width:100%}
.acc{border:1px solid var(--ligne);border-radius:10px;background:#fff;color:var(--texte)}
.acc summary{cursor:pointer;list-style:none;padding:16px 48px 16px 20px;font-family:var(--serif);font-size:22px;position:relative}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:26px;color:var(--terre)}
.acc[open] summary::after{content:"−"}
.acc-b{padding:0 20px 18px}
.acc-b .c{padding:0}

/* Témoignages */
.testis{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;width:100%}
.testi{margin:0;background:var(--creme);color:var(--texte);border-radius:var(--r);padding:24px}
.testi p{font-family:var(--serif);font-size:21px;line-height:1.45;font-style:italic}
.testi footer{font-size:15px;font-weight:500}
.testi footer span{display:block;font-weight:400;opacity:.75}
.avis p:not(.avis-et){font-size:16.5px;font-family:var(--sans);font-style:normal;line-height:1.6;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.avis-et{color:#E7A93B;letter-spacing:.12em;font-size:18px;margin:0 0 8px}

/* Tableaux de prix */
.ptable{background:#fff;color:var(--texte);border:1px solid var(--ligne);border-radius:var(--r);padding:30px 26px;text-align:center;position:relative}
.pt-rib{position:absolute;top:14px;right:14px;background:var(--terre);color:var(--creme);font-size:13px;letter-spacing:.12em;padding:4px 10px;border-radius:20px}
.pt-t{font-size:30px}
.pt-p{font-family:var(--serif);font-size:46px;color:var(--terre);line-height:1;margin:.3em 0 .5em}
.pt-p small{font-size:17px;color:var(--doux);margin-left:4px}
.pt-f{list-style:none;padding:0;margin:0 0 1.2em;text-align:left}
.pt-f li{padding:8px 0;border-bottom:1px solid var(--ligne)}

/* Formulaires */
.form{display:grid;gap:14px;width:100%;max-width:720px;margin:0 auto;text-align:left}
.f-row{display:flex;flex-direction:column;gap:6px}
.f-row label{font-size:16px;font-weight:500}
.form input,.form select,.form textarea{font:inherit;font-size:17px;padding:12px 14px;border:1px solid #CFC4AD;border-radius:6px;background:#fff;color:var(--texte);width:100%;font-size:17px}
.form textarea{resize:vertical}
.f-acc{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.f-acc input{width:auto;margin-top:4px}
.f-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}

/* Carte, vidéo */
.map iframe,.video iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r)}
.video video{width:100%;border-radius:var(--r)}

/* ---------- Bandeau d'annonce (back-office) ---------- */
.bandeau{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 52px 10px 20px;position:relative;font-size:15.5px;line-height:1.45;text-align:center}
.bandeau p{margin:0}
.bandeau a{color:inherit;font-weight:500;text-decoration:underline;text-underline-offset:3px;margin-left:4px}
.bandeau button{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:inherit;font-size:24px;line-height:1;width:36px;height:36px;cursor:pointer;opacity:.8}
.bandeau-terre{background:var(--terre);color:var(--creme)}
.bandeau-vert{background:var(--vert);color:var(--creme)}
.bandeau-creme{background:var(--creme);color:var(--vert-f);border-bottom:1px solid var(--ligne)}

/* ---------- Dates des ateliers et formations (Rezalia) ---------- */
.rz-lignes{display:flex;flex-direction:column;gap:8px;width:100%}
.rz-lignes .rz-i{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;border:1px solid #5A635426;background:#5A635412;border-radius:2px;color:var(--texte);text-decoration:none;font-size:17px;line-height:1.45}
.rz-lignes a.rz-i:hover{border-color:var(--terre);background:#90634C14}
.rz-lignes .rz-d{color:#2E352A}
.rz-lignes .rz-p{color:#4A5244}
.rz-lignes a.rz-i .rz-p::after{content:" ›";color:var(--terre)}
.rz-p{font-size:14.5px;color:var(--vert);white-space:nowrap}
.rz-complet{color:var(--terre);font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.rz-lignes span.rz-i .rz-d{opacity:.6;text-decoration:line-through}
.rz-cles{width:100%}
.rz-cles .rz-i{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 0;border-bottom:.5px solid #d8d0bc}
.rz-k{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#90634c;padding-top:2px}
.rz-v{text-align:right;font-size:16px;line-height:1.45}
.rz-v .rz-p{display:block;font-size:13.5px;opacity:.8}
.rz-vide{margin:0;font-style:italic;opacity:.8}
@media (max-width:820px){.rz-lignes .rz-i{flex-direction:column;align-items:flex-start;gap:2px}}

/* ---------- Articles (cartes, Journal) ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;width:100%}
.card{background:#fff;border:1px solid #EADFC7;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 12px rgba(59,66,50,.06);transition:transform .25s,box-shadow .25s;color:var(--texte);text-align:left}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(59,66,50,.14)}
.card-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card-b{padding:20px 22px 24px}
.card-k{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--terre);margin-bottom:8px}
.card h3{font-size:26px;font-weight:600;margin-bottom:10px}
.card h3 a{color:var(--vert-f);text-decoration:none}
.card h3 a:hover{color:var(--terre)}
.card p:last-child{font-size:17px;color:var(--doux);margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.chip{border:1px solid var(--ligne);border-radius:30px;padding:7px 18px;font-size:15px;text-decoration:none;color:var(--vert-f)}
.chip:hover{border-color:var(--terre);color:var(--terre)}
.hero-s{background:radial-gradient(at top right,var(--vert) 0%,var(--vert-f) 100%);padding:72px 24px 64px}

.art{max-width:780px;margin:0 auto;padding:48px 22px 40px}
.art-h h1{font-size:clamp(32px,5vw,46px);color:var(--vert-f);margin:0 0 28px}
.crumb{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--doux)}
.crumb a{color:var(--terre);text-decoration:none}
.prose p,.prose li{font-size:19px;line-height:1.75}
.prose p.lead{font-size:21px;line-height:1.65;color:#2E352A}
.prose h2{font-size:clamp(26px,3.6vw,34px);color:var(--terre);margin:2.2em 0 .6em}
.prose h3{font-size:23px;font-weight:600;color:var(--vert-f);margin:1.6em 0 .4em}
.prose a{text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.4em}
.prose li{margin-bottom:.6em}
.prose img{border-radius:12px}
.prose .hero-img{margin:0 0 34px}
.prose .hero-img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.prose .offres{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:1.2em 0 2em}
.prose .offre{background:var(--creme);border:1px solid #E8DBBF;border-radius:12px;padding:22px 22px 8px}
.prose .offre .prix{display:block;font-family:var(--serif);font-size:30px;color:var(--terre);line-height:1;margin-bottom:8px}
.prose .offre strong{font-family:var(--serif);font-size:21px}
.prose .offre p{font-size:17px;line-height:1.6;margin:8px 0 14px}
.prose .faq-item{border-top:1px solid var(--ligne);padding:20px 0 4px}
.prose .faq-item:last-of-type{border-bottom:1px solid var(--ligne);margin-bottom:1.5em}
.prose .cta-box{background:var(--vert-f);border-radius:14px;padding:34px 28px;text-align:center;margin:2em 0 0}
.prose .cta-box p{color:var(--creme);margin:0 0 .8em}
.prose .cta-box p:first-child{font-family:var(--serif);font-size:28px}
.prose .cta-btn{display:inline-block;background:var(--terre);color:var(--creme);text-decoration:none;padding:14px 26px;border-radius:6px;font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin:6px 4px}
.prose .cta-btn.alt{background:transparent;border:1px solid var(--creme)}
.art-cta{background:var(--creme);border-radius:var(--r);padding:30px 24px;text-align:center;margin-top:48px}

/* ---------- Pied de page ---------- */
.ft{background:#3b4233;color:rgba(255,245,221,.8);font-size:15.5px;font-weight:300;line-height:1.55}
.ft-in{max-width:var(--max);margin:0 auto;padding:64px 24px 48px;display:grid;grid-template-columns:1.35fr 1fr 1.05fr 1fr 1.15fr;gap:40px 36px}
.ft p{margin:0 0 12px}
.ft a:not(.btn){color:rgba(255,245,221,.82);text-decoration:none}
.ft a:not(.btn):hover{color:var(--creme);text-decoration:underline;text-underline-offset:3px}
.ft ul{list-style:none;margin:0 0 26px;padding:0}
.ft li{margin:0 0 9px}
.ft li.ft-sub{margin:-3px 0 7px;padding-left:14px;font-size:14.5px;position:relative}
.ft li.ft-sub::before{content:"";position:absolute;left:2px;top:.75em;width:6px;border-top:1px solid rgba(255,245,221,.35)}
.ft li.ft-sub a{color:rgba(255,245,221,.66)}
.ft-h{font-size:13px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:#C8B1A6;margin:0 0 16px!important}
.ft-logo{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--creme);line-height:1.1}
.ft-tag{color:rgba(255,245,221,.75);font-size:13px;letter-spacing:.14em;text-transform:uppercase;line-height:1.6;margin:0 0 16px!important}
.ft-desc{max-width:300px}
.ft-soc{display:flex;gap:10px;margin-top:20px!important}
.ft-soc a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(255,245,221,.3);border-radius:50%}
.ft-soc a:hover{border-color:var(--creme);background:rgba(255,245,221,.08)}
.ft-soc svg{width:17px;height:17px;fill:var(--creme)}
.ft-ct li{margin-bottom:14px}
.ft-ct strong{color:var(--creme);font-weight:500}
.ft-ct .bw{margin:4px 0 18px}
.ft-q{font-size:13.5px;color:#C8B1A6;border-left:2px solid rgba(200,177,166,.45);padding-left:12px}
.ft-q a:not(.btn){color:#E3D3C9}
.ft-bot{background:#2d3829;font-size:14px}
.ft-bot-in{max-width:var(--max);margin:0 auto;padding:16px 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px}
.ft-bot p{margin:0}
@media (max-width:1060px){
  .ft-in{grid-template-columns:repeat(4,1fr)}
  .ft-brand{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:0 40px;align-items:start}
  .ft-brand .ft-logo,.ft-brand .ft-tag{grid-column:1}
  .ft-brand .ft-desc{grid-column:2;grid-row:1/3;max-width:520px}
  .ft-brand .ft-soc{grid-column:1;margin-top:4px!important}
}
@media (max-width:700px){
  .ft-in{grid-template-columns:1fr 1fr;padding:48px 20px 32px;gap:8px 24px}
  .ft-brand{display:block;margin-bottom:24px}
  .ft-ct{grid-column:1/-1;border-top:1px solid rgba(255,245,221,.12);padding-top:28px}
  .ft-col:has(> .ft-h ~ .ft-h){grid-column:1/-1;display:grid;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:1fr;column-gap:24px}
  .ft-ct ul{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
  .ft-ct ul li:last-child{grid-column:1/-1}
  .ft-bot-in{flex-direction:column;padding:18px 20px 84px}
}
@media (max-width:380px){.ft-ct ul{grid-template-columns:1fr}}

/* ---------- Bouton flottant de rendez-vous ---------- */
.fab{position:fixed;right:20px;bottom:20px;width:54px;height:54px;border-radius:50%;background:#6BB2E2;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:60}
.fab svg{width:24px;height:24px;fill:currentColor}
.fab:hover{color:#fff;transform:scale(1.05)}

/* ---------- Bandeau cookies ---------- */
.consent{position:fixed;z-index:95;left:16px;right:16px;bottom:16px;max-width:560px;background:#fff;color:var(--texte);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.25);padding:20px 22px;font-size:16px}
.consent p{margin:0 0 12px}
.consent-b{display:flex;gap:10px;justify-content:flex-end;margin:0}

@media (max-width:1024px){.grid:is([style*="--cols:3"],[style*="--cols:4"],[style*="--cols:5"],[style*="--cols:6"]){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---------- Mobile ---------- */
@media (max-width:820px){
  .sec{padding:min(var(--pt,10px),48px) 16px min(var(--pb,10px),48px)}
  .sec-in.row,.c.row{flex-direction:column;flex-wrap:nowrap!important}
  .sec-in.row>*,.c.row>*{flex-basis:auto!important;max-width:100%!important}
  .c.row:not(:has(> :not(.bw))){flex-direction:row;flex-wrap:wrap!important}
  .row>.c,.row>.c[style*="--w:"],.row>.ibox,.row>.ptable{flex:1 1 auto;max-width:none}
  .c{padding:min(var(--pt,10px),32px) min(var(--pr,10px),16px) min(var(--pb,10px),32px) min(var(--pl,10px),16px)}
  .hide-m{display:none}
  div.only-m{display:block!important}
  .c.only-m{display:flex!important}
  .grid.only-m{display:grid!important}
  .testis{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px;width:100%;max-width:calc(100vw - 32px)}
  .sec-in,.c{min-width:0;max-width:100%}
  .testis>.testi{flex:0 0 86%;scroll-snap-align:start}
  .c.grid,.sec-in.grid{grid-template-columns:1fr}
  .gal.n4{grid-template-columns:repeat(2,1fr)}
  .sec.full{padding-left:0;padding-right:0}
  .sec.full .c.col{padding-left:20px;padding-right:20px}
  .c[style*="background-image"][style*="min-height"]{min-height:420px!important}
  .sec[style*="border-radius"],.c[style*="border-radius"]{border-radius:24px !important}
  .prose .offres{grid-template-columns:1fr}
  .prose p,.prose li{font-size:18px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* infobulle du formulaire (financement) et récapitulatif des pages de remerciement */
.info{position:relative;display:inline-block;margin-left:6px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:#90634C;color:#FFF5DD;font-size:14px;font-weight:500;cursor:help;vertical-align:middle}
.info-b{display:none;position:absolute;z-index:5;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);width:min(320px,80vw);padding:12px 14px;border-radius:8px;background:#3B4233;color:#FFF5DD;font-size:14px;font-weight:400;line-height:1.5;text-align:left;box-shadow:0 6px 20px rgba(0,0,0,.2)}
.info:hover .info-b,.info:focus .info-b,.info:focus-within .info-b{display:block}
.recap{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:16px;line-height:1.6;text-align:left;max-width:680px}
.etapes{margin:12px 0 20px;padding-left:22px;display:grid;gap:8px}

/* hero « texte | photo » (Rituel Reconnexion) : en bureau les deux panneaux se partagent la ligne comme dans Elementor
   (largeur automatique, croissance 1) ; en mobile la photo passe en premier, 300 px de haut */
@media (min-width:821px){
  .sec-in.row[style*="--wrap"]:has(> .c .bg-only)>.c:not([style*="--w:"]){flex:1 1 0;max-width:none;min-width:0}
}
@media (max-width:820px){
  .sec-in.row:has(> .c > .bg-only)>.c:has(> .bg-only){order:-1;min-height:300px!important}
}

/* Rituel Reconnexion, revue du 10/11/2026 */
/* titre du hero « texte | photo » : à l'échelle de sa demi-colonne, sans déborder sur mobile */
.sec-in.row:has(> .c .bg-only) h1.t{font-size:clamp(40px,2.6vw + 22px,72px);line-height:1.1}
/* rangées « texte | photo » qui passent à la ligne : côte à côte en bureau, comme dans Elementor */
@media (min-width:821px){
  .sec-in.row[style*="--wrap"]:has(> .c:nth-child(2):last-child):has(> .c > figure:only-child, > .c > .hide-m:only-child > figure)>.c:not([style*="--w:"]){flex:1 1 0;max-width:none;min-width:0}
}
/* une grille ne se tasse jamais sous son contenu (les cartes des cabinets recouvraient le bouton) */
.sec-in.col>.c.grid{flex-shrink:0}
/* bloc « icône + titre » suivi d'un texte centré : centré lui aussi */
.c.col:has(> .ibox + p.t[style*="text-align:center"]){align-items:center}
.c.col:has(> .ibox + p.t[style*="text-align:center"])>.ibox{text-align:center}
/* cartes des cabinets : hauteur fixe, la grille se dimensionne enfin sur son contenu (le bouton n'est plus recouvert) */
.map iframe{aspect-ratio:auto;height:300px}
/* pastilles « Écoute profonde… » et leur description sur la même ligne, alignées */
.c.grid:has(> .wbox + .txt){grid-template-columns:fit-content(46%) minmax(0,1fr);align-items:center;column-gap:18px;row-gap:12px}
.c.grid:has(> .wbox + .txt)>.txt p{margin:0}
@media (max-width:820px){.c.grid:has(> .wbox + .txt){grid-template-columns:1fr;row-gap:6px}.c.grid:has(> .wbox + .txt)>.txt{margin-bottom:8px}}
/* lignes « icône | libellé | valeur » des encarts (tarif, durée, lieu, cabinets…) : libellé collé à l'icône, valeur à droite */
.c.row:has(> .ic:first-child + .txt + .txt:last-child){justify-content:flex-start;column-gap:12px}
.c.row:has(> .ic:first-child + .txt + .txt:last-child)>.txt:nth-child(2){flex:0 0 auto;text-align:left}
.c.row:has(> .ic:first-child + .txt + .txt:last-child)>.txt:last-child{flex:1 1 auto;margin-left:auto;text-align:right}
@media (max-width:820px){.c.row:has(> .ic:first-child + .txt + .txt:last-child){flex-direction:row!important;flex-wrap:wrap!important}}
/* hero du Rituel Reconnexion (retour de Benjamin du 10/11) : contenu remonté et centré, boutons sur une ligne,
   « Prendre rendez-vous » en bouton plein */
.sec-in.row:has(> .c .bg-only)>.c.row{--pt:0px!important;padding-top:0}
.sec-in.row:has(> .c .bg-only)>.c.row>.c.col{padding-top:3.5em;padding-bottom:3.5em;flex-flow:row wrap;align-content:center;justify-content:flex-start;column-gap:12px;row-gap:16px}
.sec-in.row:has(> .c .bg-only)>.c.row>.c.col>*{flex:1 1 100%;margin-bottom:0}
.sec-in.row:has(> .c .bg-only)>.c.row>.c.col>.bw{flex:0 0 auto;margin:0}
.sec-in.row:has(> .c .bg-only)>.c.row>.c.col>p.t+.bw .btn{background:var(--creme);color:#3B4233;border-color:var(--creme)}
.sec-in.row:has(> .c .bg-only)>.c.row>.c.col>p.t+.bw .btn:hover{background:transparent;color:var(--creme)}
.sec-in.row:has(> .c .bg-only)>.c.row>.c.col>.txt{font-size:15px;opacity:.9}
.sec-in.row:has(> .c .bg-only)>.c.row>.c.col>.txt:first-of-type{margin-top:12px}
@media (max-width:820px){
  .sec-in.row:has(> .c .bg-only)>.c.row>.c.col{padding-top:2.5em;padding-bottom:2.5em;flex-direction:row!important;flex-wrap:wrap!important}
  .sec-in.row:has(> .c .bg-only)>.c.row>.c.col>.bw{flex:0 0 auto!important}
}

/* ===== Rituel Reconnexion, nouvelle mise en page sous le hero (rr-*, 10/11/2026) ===== */
.rr-sec{padding:84px 24px}
.rr-clair{background:var(--creme-2)}
.rr-h2{font-size:clamp(30px,2.2vw + 14px,44px);font-weight:500;color:var(--terre);line-height:1.15;margin:0 0 .5em}
.rr-h2-serif{font-size:clamp(28px,2vw + 14px,40px);color:var(--creme);line-height:1.2;max-width:760px;margin:0 auto .9em;text-align:center}
.rr-col{min-width:0}
.rr-2col{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.rr-2col-inv{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.rr-photo{margin:0}
.rr-photo img{width:100%;height:auto;border-radius:var(--r);display:block;object-fit:cover}
.rr-2col:not(.rr-2col-inv) .rr-photo img{aspect-ratio:4/5;max-height:640px}
.rr-2col-inv .rr-photo img{aspect-ratio:4/3}
/* repères */
.rr-reperes{background:var(--creme);border-bottom:1px solid var(--ligne);padding:22px 24px}
.rr-rep{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:14px 44px;font-size:16px;color:var(--texte)}
.rr-rep li{display:flex;align-items:center;gap:10px}
.rr-rep a{color:var(--texte);text-decoration:underline;text-decoration-color:var(--terre);text-underline-offset:4px}
.rr-ic{display:inline-flex;width:24px;height:24px;color:var(--terre);flex:0 0 auto}
.rr-ic svg{width:100%;height:100%}
/* déroulé */
.rr-intro{font-size:17px;color:var(--doux)}
.rr-etapes{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px;counter-reset:none}
.rr-etapes li{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.rr-num{width:44px;height:44px;border-radius:50%;background:var(--vert-f);color:var(--creme);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:22px}
.rr-etapes h3{font-family:var(--sans);font-size:18px;font-weight:500;margin:2px 0 2px;color:var(--vert-f)}
.rr-etapes p{margin:0;font-size:16px;color:var(--doux);line-height:1.55}
.rr-note{margin:22px 0 0;padding-left:60px;font-style:italic;color:var(--doux);font-size:16px}
/* avis */
.rr-avis{padding-top:72px}
.rr-testis{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px;text-align:left}
/* pour qui */
.rr-clair .ilist{margin:6px 0 18px}
/* formules */
.rr-formules{background:var(--vert-f)}
.rr-cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:100%;align-items:stretch}
.rr-carte{position:relative;background:rgba(255,245,221,.06);border:1px solid rgba(255,245,221,.25);border-radius:var(--r);padding:30px 26px 26px;text-align:left;display:flex;flex-direction:column}
.rr-carte h3{font-family:var(--serif);font-size:26px;margin:0 0 6px;color:var(--creme)}
.rr-prix{font-family:var(--serif);font-size:40px;line-height:1;margin:6px 0 4px;color:var(--creme)}
.rr-prix small{font-size:18px;font-family:var(--sans)}
.rr-duree{margin:0 0 16px;font-size:15px;color:rgba(255,245,221,.8)}
.rr-liste{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px;font-size:15px;color:rgba(255,245,221,.92)}
.rr-liste li{padding-left:22px;position:relative;line-height:1.5}
.rr-liste li::before{content:"";position:absolute;left:2px;top:.6em;width:8px;height:8px;border-radius:50%;background:#C8B1A6}
.rr-carte .bw{margin-top:auto}
.rr-pop{background:var(--creme);border-color:var(--creme)}
.rr-pop h3,.rr-pop .rr-prix{color:var(--vert-f)}
.rr-pop .rr-duree,.rr-pop .rr-liste{color:var(--texte)}
.rr-pop .rr-liste li::before{background:var(--terre)}
.rr-pop .btn-light{background:var(--vert-f);color:var(--creme);border-color:var(--vert-f)}
.rr-badge{position:absolute;top:-13px;left:26px;background:var(--terre);color:var(--creme);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:20px}
/* adresses */
.rr-adresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:100%;max-width:860px;margin:6px 0 24px}
.rr-adr{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:28px 26px 22px;text-align:left}
.rr-adr h3{font-family:var(--serif);font-size:26px;margin:10px 0 6px;color:var(--vert-f)}
.rr-adr p{margin:0 0 6px;font-size:16px}
.rr-doux{color:var(--doux);font-size:15px!important}
.rr-adr .bw{margin:14px 0 0}
/* questions */
.rr-etroit{max-width:820px}
.rr-faq .acc-b,.rr-clair .acc-b{padding:0 20px 18px}
.rr-clair .acc-b p{margin:0}
/* appel final */
.rr-appel{background:var(--vert);padding:76px 24px}
.rr-tel{margin:14px 0 0;color:rgba(255,245,221,.85)}
.rr-tel a{color:var(--creme)}
/* autres services */
.rr-autres{padding:56px 24px 64px}
.rr-vignettes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;width:100%;margin-top:8px}
.rr-vig{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--texte);font-size:15px;line-height:1.35;text-align:center}
.rr-vig img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;transition:transform .25s}
.rr-vig:hover img{transform:scale(1.03)}
.rr-vig:hover span{color:var(--terre)}
@media (max-width:1024px){
  .rr-cartes{grid-template-columns:1fr;max-width:520px}
  .rr-testis{grid-template-columns:1fr 1fr}
  .rr-vignettes{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:820px){
  .rr-sec{padding:60px 20px}
  .rr-2col,.rr-2col-inv{grid-template-columns:1fr;gap:28px}
  .rr-2col:not(.rr-2col-inv) .rr-photo{order:-1}
  .rr-2col:not(.rr-2col-inv) .rr-photo img{aspect-ratio:4/3;max-height:none}
  .rr-rep{justify-content:flex-start;gap:12px 24px;font-size:15px}
  .rr-adresses{grid-template-columns:1fr}
  .rr-vignettes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.rr-etroit .acc{text-align:left}
