/*
Theme Name: Mooverflow
Theme URI: https://www.mooverflow.com/
Description: Thème enfant Mooverflow pour Hello Elementor : charte « signal » (anis #C3D700, noir), mode clair / sombre, motif « oo ».
Author: Mooverflow
Template: hello-elementor
Version: 1.0.0
Text Domain: mooverflow
*/
/* Mooverflow — feuille de styles du site
   Direction « signal » : noir assumé, aplats anis, typo très large, motif « oo » issu du logo */
:root{
  color-scheme:light;
  /* couleurs de marque (identiques dans les deux thèmes) */
  --anis:#C3D700;
  --anis-2:#D9E66B;
  --anis-ink:#3A4100;
  --graphite:#3C3C3C;
  --alerte:#FF5A4E;
  /* thème clair (par défaut) */
  --bg:#F6F6F0;
  --craie:#0A0A0A;          /* texte principal */
  --fumee:#5E6056;          /* texte secondaire */
  --carbon:#ECEDE4;         /* surfaces secondaires */
  --line:#D3D5C8;
  --accent:#4F5800;         /* anis assombri, lisible sur fond clair */
  --hl-fg:#0A0A0A;
  --hl-bg:linear-gradient(transparent 58%,var(--anis) 58%,var(--anis) 94%,transparent 94%);
  --logo-neg:#0A0A0A;
  --focus:#0A0A0A;
  --head-bg:rgba(246,246,240,.9);
  --f-display:"Archivo","Arial Black",Impact,sans-serif;
  --f-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"DM Mono",ui-monospace,Menlo,monospace;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#000000;
  --craie:#EDEDE4;
  --fumee:#8C8C84;
  --carbon:#0D0D0D;
  --line:#262626;
  --accent:#C3D700;
  --hl-fg:#C3D700;
  --hl-bg:none;
  --logo-neg:#FFFFFF;
  --focus:#C3D700;
  --head-bg:rgba(0,0,0,.88);
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--craie);font:400 1.0625rem/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
::selection{background:var(--anis);color:#000}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,h3{margin:0;font-family:var(--f-display);font-weight:900;font-stretch:125%;text-transform:uppercase;line-height:.92;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.8rem,9vw,7.5rem)}
h2{font-size:clamp(2.2rem,6.4vw,5rem)}
h3{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.05}
p{margin:0;max-width:62ch}
.wrap{max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
section{padding-block:clamp(4rem,9vw,7.5rem);position:relative}
.muted{color:var(--fumee)}
.mono{font-family:var(--f-mono);font-size:.82rem;letter-spacing:.02em}
.kicker{font:500 .78rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.flood{background:var(--anis);color:#000}
.flood .kicker,.flood a{color:#000}
.flood .muted{color:var(--anis-ink)}
.carbon{background:var(--carbon)}
.hl{color:var(--hl-fg);background:var(--hl-bg);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.head{display:grid;gap:1.25rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.skip{position:absolute;left:-999px;top:0;background:var(--anis);color:#000;padding:.75rem 1rem;z-index:100}
.skip:focus{left:1rem;top:1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Motif oo ---------- */
.oo{display:inline-flex;gap:.12em;vertical-align:middle}
.oo i{display:block;width:.78em;height:.52em;border:.12em solid currentColor;border-radius:.16em;transform:skewX(-10deg)}
.oo.f1 i:first-child,.oo.f2 i{background:currentColor}
@keyframes blink{0%,92%,100%{transform:skewX(-10deg) scaleY(1)}95%{transform:skewX(-10deg) scaleY(.12)}}
@media (prefers-reduced-motion:no-preference){.oo.live i{animation:blink 4.5s infinite}.oo.live i:last-child{animation-delay:.06s}}

/* ---------- Logo ---------- */
.logo{display:block;aspect-ratio:420/46;width:var(--w,190px);max-width:100%;position:relative}
.logo::before,.logo::after{content:"";position:absolute;inset:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:left center;mask-position:left center}
.logo::before{background:var(--a,var(--graphite));-webkit-mask-image:url(../../plugins/mooverflow-studio/assets/img/logo-grey.png);mask-image:url(../../plugins/mooverflow-studio/assets/img/logo-grey.png)}
.logo::after{background:var(--b,var(--anis));-webkit-mask-image:url(../../plugins/mooverflow-studio/assets/img/logo-lime.png);mask-image:url(../../plugins/mooverflow-studio/assets/img/logo-lime.png)}
.logo.neg{--a:var(--logo-neg)}
.logo.noir{--a:#000;--b:#000}
.mark{display:block;width:var(--s,48px);aspect-ratio:1;background:var(--anis);position:relative;flex:none}
.mark::after{content:"";position:absolute;inset:0;background:#fff;-webkit-mask:url(../../plugins/mooverflow-studio/assets/img/logo-oo.png) center/contain no-repeat;mask:url(../../plugins/mooverflow-studio/assets/img/logo-oo.png) center/contain no-repeat}

/* ---------- Bandeau préprod ---------- */
.preprod-bar{background:var(--anis);color:#000;font:500 .72rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.preprod-bar .wrap{display:flex;justify-content:space-between;gap:1rem;padding-block:.5rem;align-items:center}
.preprod-bar a{color:#000}

/* ---------- En-tête ---------- */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--head-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.9rem}
.site-head .brand{display:block;text-decoration:none}
.nav{display:flex;align-items:center;gap:1.5rem}
.nav a{color:var(--craie);text-decoration:none;font:500 .76rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding-block:.5rem;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--accent);border-bottom-color:var(--accent)}
.nav .btn{padding:.75rem 1rem;font-size:.82rem;border-bottom:2px solid transparent}
.nav .btn:hover{color:#000}
.burger{display:none;background:none;border:2px solid var(--craie);color:var(--craie);padding:.55rem .7rem;font:500 .72rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
@media (max-width:980px){
  .burger{display:inline-flex}
  .nav{position:fixed;inset:0;top:0;background:var(--bg);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.25rem;padding:6rem max(24px,env(safe-area-inset-left,0px)) 3rem;transform:translateY(-100%);visibility:hidden;transition:transform .3s ease,visibility .3s}
  .nav.open{transform:none;visibility:visible}
  .nav a{font:900 clamp(1.8rem,8vw,2.6rem)/1 var(--f-display);font-stretch:125%;letter-spacing:-.01em}
  .nav .btn{font-size:1rem;margin-top:1rem}
  .burger{position:relative;z-index:60}
}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;font:800 .95rem/1 var(--f-display);font-stretch:112%;text-transform:uppercase;letter-spacing:.02em;padding:1rem 1.4rem;border:2px solid transparent;cursor:pointer;text-decoration:none;border-radius:0}
.btn-anis{background:var(--anis);color:#000;box-shadow:5px 5px 0 var(--craie)}
.btn-anis:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--craie)}
.btn-line{background:transparent;color:var(--craie);border-color:var(--craie)}
.btn-line:hover{background:var(--craie);color:#000}
.btn-noir{background:#000;color:var(--anis);box-shadow:5px 5px 0 rgba(0,0,0,.25)}
.btn-noir:hover{transform:translate(-2px,-2px)}
.flood .btn-line{color:#000;border-color:#000}
.flood .btn-line:hover{background:#000;color:var(--anis)}
@media (prefers-reduced-motion:no-preference){.btn{transition:transform .15s,box-shadow .15s,background .15s,color .15s}}
.row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.chip{display:inline-flex;align-items:center;gap:.45rem;font:500 .72rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:.5rem .7rem;border:1.5px solid currentColor}

/* ---------- Hero ---------- */
.hero{padding-block:clamp(3rem,7vw,6rem) 0;overflow:hidden}
.hero h1{font-size:clamp(3rem,12.5vw,11.5rem);line-height:.84;letter-spacing:-.025em;margin-top:1.5rem}
.hero h1 .oo{font-size:.9em;color:var(--accent);margin-inline:.04em;transform:translateY(-.04em)}
.hero-foot{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;align-items:end;margin-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.hero-foot .lead{font-size:clamp(1.1rem,1.8vw,1.35rem)}
.hero-meta{display:grid;grid-template-columns:repeat(3,auto);gap:1.5rem;justify-content:end}
.hero-meta div{display:grid;gap:.35rem}
.hero-meta b{font:900 1.8rem/1 var(--f-display);font-stretch:125%;color:var(--accent)}
.hero-meta span{font:500 .7rem/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fumee)}
@media (max-width:820px){.hero-foot{grid-template-columns:1fr}.hero-meta{justify-content:start}}
.page-hero{padding-block:clamp(3rem,7vw,5.5rem) clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--line)}
.page-hero h1{margin-top:1.25rem}
.page-hero .lead{margin-top:1.5rem;font-size:clamp(1.05rem,1.6vw,1.25rem)}

/* ---------- Ruban ---------- */
.ribbon{background:var(--anis);color:#000;overflow:hidden;border-block:2px solid #000;transform:rotate(-1.2deg);margin-inline:-2vw;position:relative;z-index:2}
.ribbon .track{display:flex;width:max-content;gap:2.5rem;padding-block:.9rem;font:900 clamp(1.1rem,2.4vw,1.7rem)/1 var(--f-display);font-stretch:125%;text-transform:uppercase;white-space:nowrap}
.ribbon .track span{display:inline-flex;align-items:center;gap:2.5rem}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:no-preference){.ribbon .track{animation:slide 38s linear infinite}}

/* ---------- Listes ---------- */
.list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.list li{display:grid;grid-template-columns:1.5rem 1fr;gap:.5rem;align-items:baseline}
.list li::before{content:"";width:.7rem;height:.45rem;border:2px solid var(--anis);border-radius:2px;transform:skewX(-10deg) translateY(-.1em)}
.flood .list li::before,.offer.hot .list li::before{border-color:currentColor}

/* ---------- Dosage ---------- */
.dose{display:grid;gap:.45rem}
.dose .bar2{display:flex;height:14px;border:2px solid currentColor}
.dose .bar2 span:first-child{background:currentColor}
.dose .legend{display:flex;justify-content:space-between;font:500 .68rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase}

/* ---------- Offres ---------- */
.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid var(--craie)}
@media (max-width:980px){.offers{grid-template-columns:1fr}}
.offer{padding:2rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem;min-width:0}
.offer + .offer{border-left:2px solid var(--craie)}
@media (max-width:980px){.offer + .offer{border-left:0;border-top:2px solid var(--craie)}}
.offer.hot{background:var(--anis);color:#000}
.offer .top{display:flex;justify-content:space-between;align-items:start;gap:1rem}
.offer h3{font-size:clamp(2rem,3.4vw,2.8rem);line-height:.88}
.offer .num{font:500 .72rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.offer .price{font:900 clamp(2.4rem,4vw,3.4rem)/.9 var(--f-display);font-stretch:125%;font-variant-numeric:tabular-nums}
.offer .price small{display:block;font:500 .78rem/1.4 var(--f-mono);letter-spacing:.04em;margin-top:.5rem;opacity:.8}
.offer .for{font-weight:700}
.offer .foot{margin-top:auto;padding-top:1rem;border-top:2px solid currentColor;font:500 .74rem/1.4 var(--f-mono);text-transform:uppercase;letter-spacing:.06em}
.offer .btn{margin-top:.5rem}
.offer.hot .btn-noir{box-shadow:none}
.stamp{font:900 .72rem/1 var(--f-display);font-stretch:125%;text-transform:uppercase;letter-spacing:.06em;background:#000;color:var(--anis);padding:.55rem .7rem;transform:rotate(4deg);white-space:nowrap}
.bridge{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;align-items:center;margin-top:1.5rem;padding:1.25rem 1.5rem;border:2px dashed var(--anis)}
.bridge .oo{font-size:2rem;color:var(--accent)}

/* ---------- Grilles ---------- */
.grid-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:2px;background:#000;border:2px solid #000}
.grid-lines > *{background:var(--anis);padding:1.6rem;display:grid;gap:.75rem;align-content:start;min-width:0}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));border-top:1px solid var(--line)}
.cols > div{padding:2rem 1.5rem 2rem 0;border-bottom:1px solid var(--line);display:grid;gap:1rem;align-content:start;min-width:0}
.cols > div + div{padding-left:1.5rem;border-left:1px solid var(--line)}
@media (max-width:700px){.cols > div + div{padding-left:0;border-left:0}}
.big{font:900 clamp(3rem,6vw,4.5rem)/1 var(--f-display);font-stretch:125%;font-variant-numeric:tabular-nums;color:var(--accent)}
.big small{font-size:.35em;color:var(--fumee)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--craie)}
@media (max-width:980px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.steps{grid-template-columns:1fr}}
.steps > div{padding:1.75rem 1.5rem 1.75rem 0;display:grid;gap:.9rem;align-content:start;min-width:0}
.steps > div + div{padding-left:1.5rem;border-left:1px solid var(--line)}
@media (max-width:980px){.steps > div:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:600px){.steps > div + div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}
.steps .n{font:900 2.6rem/1 var(--f-display);font-stretch:125%;color:var(--accent)}

/* ---------- Options ---------- */
.fam h3{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.fam h3 span{font:500 .7rem/1 var(--f-mono);letter-spacing:.1em}
.fam table{width:100%;border-collapse:collapse;font-size:.92rem}
.fam td{padding:.6rem 0;border-top:1.5px solid rgba(0,0,0,.25);vertical-align:top}
.fam td:last-child{text-align:right;white-space:nowrap;font:500 .8rem/1.4 var(--f-mono);font-variant-numeric:tabular-nums;padding-left:1rem}
.fam td b{display:block}
.fam td small{color:var(--anis-ink);font-size:.82rem}
.inc{display:inline-block;background:#000;color:var(--anis);font:500 .62rem/1 var(--f-mono);letter-spacing:.06em;padding:.25rem .35rem;margin-left:.35rem;vertical-align:middle;text-transform:uppercase}
.packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.25rem;margin-top:2rem}
.packs > div{border:2px solid #000;padding:1.5rem;display:grid;gap:.6rem;min-width:0}

/* ---------- Tableau comparatif ---------- */
.tbl-wrap{overflow-x:auto;border:2px solid var(--craie)}
.compare{border-collapse:collapse;width:100%;min-width:720px;font-size:.95rem}
.compare th,.compare td{padding:.9rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.compare thead th{font:900 1rem/1 var(--f-display);font-stretch:125%;text-transform:uppercase;background:var(--carbon)}
.compare thead th.hot{background:var(--anis);color:#000}
.compare tbody th{font:500 .78rem/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fumee);width:24%}
.compare td.y{color:var(--accent);font-weight:700}

/* ---------- Formulaires ---------- */
.form{display:grid;gap:1.1rem}
.field{display:grid;gap:.45rem}
.field label{font:500 .74rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.field input,.field textarea,.field select{width:100%;background:transparent;color:inherit;border:2px solid var(--line);border-radius:0;padding:.85rem 1rem;font:inherit}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}
.field textarea{min-height:140px;resize:vertical}
.field .hint{font-size:.85rem;color:var(--fumee)}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:640px){.form-2{grid-template-columns:1fr}}
.check{display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;color:var(--fumee)}
.check input{margin-top:.25rem;accent-color:var(--accent)}
.notice{padding:1rem 1.25rem;border:2px solid var(--anis);color:var(--craie)}
.notice.err{border-color:var(--alerte)}
.hp{position:absolute;left:-9999px}

/* ---------- Configurateur ---------- */
.config{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:1.5rem;align-items:start}
@media (max-width:900px){.config{grid-template-columns:1fr}}
.step{display:grid;gap:.9rem}
.step + .step{margin-top:2rem}
.step h3 span{color:var(--accent)}
.seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem}
.seg label{border:2px solid var(--line);padding:1rem;cursor:pointer;display:grid;gap:.3rem;position:relative}
.seg label strong{font:900 1.05rem/1 var(--f-display);font-stretch:125%;text-transform:uppercase}
.seg label span{font-size:.85rem;color:var(--fumee)}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label:has(input:checked){border-color:var(--accent);background:var(--anis);color:#000}
.seg label:has(input:checked) span{color:var(--anis-ink)}
.seg label:has(input:focus-visible){outline:3px solid var(--anis);outline-offset:3px}
.opt{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);cursor:pointer;align-items:center}
.opt .l{display:flex;gap:.9rem;align-items:center}
.opt input{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:2px solid var(--craie);margin:0;flex:none;cursor:pointer;display:grid;place-items:center}
.opt input:checked{background:var(--anis);border-color:var(--accent)}
.opt input:checked::after{content:"";width:9px;height:5px;border-left:2.5px solid #000;border-bottom:2.5px solid #000;transform:rotate(-45deg) translate(1px,-1px)}
.opt .p{font:500 .8rem/1 var(--f-mono);color:var(--fumee);white-space:nowrap;font-variant-numeric:tabular-nums}
.ticket{position:sticky;top:6rem;background:var(--anis);color:#000;padding:1.75rem;display:grid;gap:1rem}
.ticket .total{font:900 clamp(2.6rem,5vw,3.6rem)/.9 var(--f-display);font-stretch:125%;font-variant-numeric:tabular-nums}
.ticket .line{display:flex;justify-content:space-between;gap:1rem;font:500 .82rem/1.3 var(--f-mono);border-top:1.5px solid rgba(0,0,0,.3);padding-top:.7rem;font-variant-numeric:tabular-nums}
.ticket .field input{border-color:rgba(0,0,0,.35)}
.ticket .field input:focus{border-color:#000}
.ticket .field label{color:#000}
.ticket .check{color:var(--anis-ink)}
.ticket .check input{accent-color:#000}

/* ---------- Projets ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}
.filters button{background:none;color:var(--craie);border:1.5px solid var(--line);padding:.6rem .9rem;font:500 .74rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--anis);color:#000;border-color:var(--accent)}
.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:1.25rem}
.project{border:2px solid var(--line);display:grid;grid-template-rows:auto 1fr;min-width:0;text-decoration:none;color:inherit}
.project:hover{border-color:var(--accent)}
.project .vis{aspect-ratio:16/10;background:var(--carbon);position:relative;overflow:hidden;display:grid;place-items:center;border-bottom:2px solid var(--line)}
.project .vis span{font:900 clamp(1.4rem,3vw,2.2rem)/.95 var(--f-display);font-stretch:125%;text-transform:uppercase;text-align:center;padding:1rem;color:var(--craie)}
.project .vis::before{content:"";position:absolute;inset:auto -10% -40% auto;width:70%;aspect-ratio:3/2;border:18px solid var(--anis);border-radius:28px;transform:skewX(-10deg);opacity:.18}
.project .body{padding:1.25rem;display:grid;gap:.75rem;align-content:start}
.project .tags{display:flex;flex-wrap:wrap;gap:.4rem;color:var(--fumee)}
.project .tags .chip{padding:.35rem .5rem;font-size:.64rem}
.project .tags .chip.f{color:var(--accent)}
.project[hidden]{display:none}

/* ---------- Logos clients ---------- */
.clients{display:flex;flex-wrap:wrap;gap:.5rem 2rem;font:900 clamp(1rem,1.8vw,1.35rem)/1.4 var(--f-display);font-stretch:125%;text-transform:uppercase;color:var(--fumee)}
.clients span:nth-child(3n+1){color:var(--craie)}

/* ---------- FAQ ---------- */
.faq{border-top:2px solid currentColor}
.faq details{border-bottom:1px solid var(--line);padding-block:1.25rem}
.flood .faq details{border-color:rgba(0,0,0,.25)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font:800 1.1rem/1.3 var(--f-body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:900 1.4rem/1 var(--f-display);color:var(--accent)}
.flood .faq summary::after{color:#000}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:.9rem;color:var(--fumee)}
.flood .faq details p{color:var(--anis-ink)}

/* ---------- Article / légal ---------- */
.prose{max-width:72ch;display:grid;gap:1rem}
.prose h2{font-size:clamp(1.4rem,3vw,2rem);margin-top:1.5rem}
.prose p,.prose li{color:var(--craie)}
.prose ul{margin:0;padding-left:1.25rem;display:grid;gap:.4rem}

/* ---------- CTA bas de page ---------- */
.cta-band{background:var(--anis);color:#000;padding-block:clamp(3rem,7vw,5rem)}
.cta-band .wrap{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:2rem;align-items:end}
@media (max-width:820px){.cta-band .wrap{grid-template-columns:1fr}}

/* ---------- Pied de page ---------- */
.site-foot{border-top:2px solid var(--anis);padding-block:4rem 2.5rem}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-grid h4{margin:0 0 .9rem;font:500 .74rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.foot-grid a{color:var(--craie);text-decoration:none}
.foot-grid a:hover{color:var(--accent)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font:500 .74rem/1.4 var(--f-mono);color:var(--fumee)}

/* ---------- Écran de connexion ---------- */
.gate{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:860px){.gate{grid-template-columns:1fr}.gate .side{display:none}}
.gate .side{background:var(--anis);color:#000;padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;justify-content:space-between;gap:2rem}
.gate .side h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.86}
.gate .main{padding:clamp(2rem,5vw,4rem) max(20px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;justify-content:center;gap:2rem;max-width:520px;width:100%;margin:0 auto}
.gate .main h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.pw-meter{height:6px;background:var(--line);overflow:hidden}
.pw-meter span{display:block;height:100%;width:0;background:var(--alerte)}

/* ---------- Thème : bascule clair / sombre ---------- */
.theme-toggle{display:inline-grid;place-items:center;width:42px;height:42px;border:2px solid var(--craie);background:transparent;color:var(--craie);cursor:pointer;flex:none;padding:0}
.theme-toggle:hover{background:var(--craie);color:var(--bg)}
.theme-toggle svg{width:20px;height:20px}
.theme-toggle .i-sun{display:none}
:root[data-theme="dark"] .theme-toggle .i-sun{display:block}
:root[data-theme="dark"] .theme-toggle .i-moon{display:none}
.head-actions{display:flex;align-items:center;gap:.75rem}
@media (max-width:980px){.theme-toggle{position:relative;z-index:60}}
@media (prefers-reduced-motion:no-preference){body,.site-head,.carbon,.project,.offer{transition:background-color .25s ease,color .25s ease,border-color .25s ease}}

/* ---------- Visuels projets ---------- */
.project .vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.project .vis.shot::before{display:none}
.project .vis.shot::after{content:"";position:absolute;inset:0;box-shadow:inset 0 -60px 60px -40px rgba(0,0,0,.25)}
.site-link{display:inline-flex;align-items:center;gap:.4rem;font:500 .78rem/1 var(--f-mono);letter-spacing:.04em;color:var(--accent);text-decoration:none;padding-block:.35rem}
.site-link.muted{color:var(--fumee)}
.site-link:hover{text-decoration:underline}
.project-card{border:2px solid var(--line);display:grid;grid-template-rows:auto 1fr;min-width:0}
.project-card:hover{border-color:var(--accent)}
.project-card .vis{aspect-ratio:16/10;position:relative;overflow:hidden;border-bottom:2px solid var(--line);background:var(--carbon);display:block}
.project-card .vis img{transition:transform .5s ease}
@media (prefers-reduced-motion:no-preference){.project-card:hover .vis img{transform:scale(1.03)}}
.project-card .body{padding:1.25rem;display:grid;gap:.75rem;align-content:start}
.project-card .links{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:.25rem}
.project-card[hidden]{display:none}
.case-shot{border:2px solid var(--craie);aspect-ratio:16/10;overflow:hidden;position:relative;background:var(--carbon)}
.case-shot img{width:100%;height:100%;object-fit:cover;object-position:top center}

/* ---------- Fil d'Ariane ---------- */
.crumbs{font:500 .74rem/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fumee);display:flex;flex-wrap:wrap;gap:.4rem}
.crumbs a{color:var(--fumee);text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.crumbs span[aria-hidden]{opacity:.5}
.project-card .vis-text{display:grid;place-items:center}
.project-card .vis-text span{font:900 clamp(1.3rem,2.6vw,2rem)/.95 var(--f-display);font-stretch:125%;text-transform:uppercase;text-align:center;padding:1rem;color:var(--craie);position:relative;z-index:1}
.project-card .vis-text::before{content:"";position:absolute;inset:auto -10% -40% auto;width:70%;aspect-ratio:3/2;border:18px solid var(--anis);border-radius:28px;transform:skewX(-10deg);opacity:.35}
.nav a.btn-anis,.nav a.btn-anis:hover{color:#000;border-bottom-color:transparent}
.project-card .vis-text .oo{font-size:clamp(3rem,7vw,4.5rem);color:var(--accent);position:relative;z-index:1}
.cta-band .kicker{color:#000}

/* =========================================================
   Adaptation Elementor
   ========================================================= */
body{background:var(--bg);color:var(--craie)}
.site-main,.page-content{max-width:none}
/* Conteneurs : sections pleine largeur avec gouttières */
.e-con.mf-sec{padding-block:clamp(4rem,9vw,7.5rem)!important;padding-inline:max(16px,env(safe-area-inset-left,0px))!important}
.e-con.mf-sec > .e-con-inner{max-width:1240px;gap:clamp(1.25rem,3vw,2rem)}
.e-con.mf-sec.page-hero{padding-block:clamp(3rem,7vw,5.5rem) clamp(2.5rem,5vw,4rem)!important}
.e-con.mf-sec.hero{padding-bottom:0!important}
.e-con.flood{background:var(--anis);color:#000}
.e-con.carbon{background:var(--carbon)}
/* Titres Elementor */
.elementor-heading-title{font-family:var(--f-display);font-weight:900;font-stretch:125%;text-transform:uppercase;line-height:.92;letter-spacing:-.01em;text-wrap:balance;color:inherit}
h1.elementor-heading-title{font-size:clamp(2.8rem,9vw,7.5rem)}
.hero h1.elementor-heading-title{font-size:clamp(3rem,12.5vw,11.5rem);line-height:.84;letter-spacing:-.025em}
h2.elementor-heading-title{font-size:clamp(2.2rem,6.4vw,5rem)}
h3.elementor-heading-title{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.05}
.mf-kicker .elementor-heading-title,.mf-kicker p{font:500 .78rem/1 var(--f-mono)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.flood .mf-kicker .elementor-heading-title,.cta-band .mf-kicker .elementor-heading-title{color:#000}
.elementor-widget-text-editor{color:inherit;font-family:var(--f-body)}
.elementor-widget-text-editor p{margin:0 0 .8em;max-width:62ch}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.mf-lead .elementor-widget-container,.mf-lead p{font-size:clamp(1.05rem,1.6vw,1.25rem)}
.mf-muted,.mf-muted p{color:var(--fumee)}
.flood .mf-muted,.flood .mf-muted p{color:var(--anis-ink)}
/* Boutons Elementor */
.elementor-button{font:800 .95rem/1 var(--f-display);font-stretch:112%;text-transform:uppercase;letter-spacing:.02em;padding:1rem 1.4rem;border-radius:0;border:2px solid transparent}
.mf-btn-anis .elementor-button{background:var(--anis);color:#000;box-shadow:5px 5px 0 var(--craie)}
.mf-btn-anis .elementor-button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--craie);color:#000}
.mf-btn-line .elementor-button{background:transparent;color:var(--craie);border-color:var(--craie)}
.mf-btn-line .elementor-button:hover{background:var(--craie);color:var(--bg)}
.mf-btn-noir .elementor-button{background:#000;color:var(--anis)}
.flood .mf-btn-line .elementor-button,.cta-band .mf-btn-line .elementor-button{color:#000;border-color:#000}
/* En-tête et menus Elementor Pro */
.mf-header{position:sticky;top:0;z-index:50;background:var(--head-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.admin-bar .mf-header{top:32px}
.mf-header .elementor-nav-menu a,.mf-header .elementor-nav-menu--main .elementor-item{font:500 .76rem/1 var(--f-mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--craie)!important}
.mf-header .elementor-nav-menu--main .elementor-item:hover,.mf-header .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--accent)!important}
.mf-header .elementor-nav-menu--dropdown{background:var(--bg)}
.mf-header .elementor-menu-toggle{color:var(--craie);background:transparent}
.mf-footer{border-top:2px solid var(--anis)}
.mf-footer a{color:var(--craie);text-decoration:none}
.mf-footer a:hover{color:var(--accent)}
/* Éditeur Elementor : garder le thème clair */
.elementor-editor-active .preprod-bar{display:none}
.mf-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start}@media (max-width:900px){.mf-detail{grid-template-columns:1fr}}.mf-detail .steps>div:nth-child(3){padding-left:0;border-left:0}.mf-detail .steps>div:nth-child(n+3){border-top:1px solid var(--line)}.say{font:700 1.15rem/1.35 var(--f-body);padding-left:1rem;border-left:4px solid var(--anis)}

/* ---------- Conteneurs Elementor en grilles Mooverflow ---------- */
.e-con.grid-lines,.e-con.cols,.e-con.steps,.e-con.packs,.e-con.tree{display:grid!important}
.e-con.grid-lines{gap:2px!important;padding:0!important;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px}
.e-con.grid-lines > .e-con{background:var(--anis);padding:1.6rem!important;gap:.75rem!important;color:#000}
.e-con.cols{gap:0!important;padding:0!important}
.e-con.cols > .e-con{padding:2rem 1.5rem 2rem 0!important;border-bottom:1px solid var(--line);gap:1rem!important}
.e-con.cols > .e-con + .e-con{padding-left:1.5rem!important;border-left:1px solid var(--line)}
@media (max-width:700px){.e-con.cols > .e-con + .e-con{padding-left:0!important;border-left:0}}
.e-con.steps{gap:0!important;padding:0!important}
.e-con.steps > .e-con{padding:1.75rem 1.5rem 1.75rem 0!important;gap:.9rem!important}
.e-con.steps > .e-con + .e-con{padding-left:1.5rem!important;border-left:1px solid var(--line)}
@media (max-width:980px){.e-con.steps > .e-con:nth-child(3){padding-left:0!important;border-left:0}}
@media (max-width:600px){.e-con.steps > .e-con + .e-con{padding-left:0!important;border-left:0;border-top:1px solid var(--line)}}
.e-con.packs{gap:1.25rem!important;padding:0!important}
.e-con.packs > .e-con{border:2px solid #000;padding:1.5rem!important;gap:.6rem!important}
.mf-n .elementor-heading-title{font:900 2.6rem/1 var(--f-display)!important;font-stretch:125%!important;color:var(--accent)}
.mf-big .elementor-heading-title{font:900 clamp(3rem,6vw,4.5rem)/1 var(--f-display)!important;font-stretch:125%!important;color:var(--accent)}
.flood .e-con.cols > .e-con{border-color:rgba(0,0,0,.2)}
.e-con.mf-row{flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:1rem!important}
.e-con.mf-plain{padding:0!important;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px}
.elementor-widget-shortcode,.elementor-widget-html{width:100%}
.ribbon{margin-top:clamp(2.5rem,5vw,4rem)}
/* Prose (pages légales, articles) */
.mf-prose{max-width:72ch}
.mf-prose h2{font-family:var(--f-display);font-weight:900;font-stretch:125%;text-transform:uppercase;font-size:clamp(1.4rem,3vw,2rem);line-height:1;margin:2rem 0 .8rem}
.mf-prose p,.mf-prose li{color:var(--craie);margin:0 0 .8rem}
.mf-prose ul{padding-left:1.25rem}
/* Couleurs globales Elementor adaptées au mode clair / sombre */
body[class*="elementor-kit-"]{--e-global-color-mffond:var(--bg);--e-global-color-mftexte:var(--craie);--e-global-color-mfsecondaire:var(--fumee);--e-global-color-mfsurface:var(--carbon);--e-global-color-mfligne:var(--line);--e-global-color-mfaccent:var(--accent);--e-global-color-text:var(--craie);--e-global-color-primary:var(--craie);--e-global-color-secondary:var(--fumee);--e-global-color-accent:var(--accent)}

/* ---------- Mise en page des sections Elementor ---------- */
.e-con.head,.e-con.hero-foot,.e-con.foot-grid,.e-con.mf-2col{display:grid!important}
.e-con.head{gap:1.25rem!important;margin-bottom:clamp(2.5rem,5vw,4rem);padding:0!important;max-width:820px}
.e-con.mf-2col{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:3rem!important;align-items:start;padding:0!important}
.e-con.mf-2col > .e-con{padding:0!important;gap:1.5rem!important}
.e-con.hero-foot{padding:0 0 clamp(2.5rem,5vw,4rem)!important;margin-top:clamp(2rem,5vw,3.5rem)}
.e-con.hero-foot > .e-con{padding:0!important;gap:1.75rem!important}
.e-con.cta-band{background:var(--anis);color:#000}
.e-con.cta-band > .e-con-inner{display:grid!important;grid-template-columns:minmax(0,1.4fr) auto;align-items:end}
@media (max-width:820px){.e-con.cta-band > .e-con-inner{grid-template-columns:1fr}}
.cta-band .elementor-heading-title,.flood .elementor-heading-title,.flood .elementor-widget-text-editor,.flood .muted,.grid-lines .elementor-widget-text-editor{color:#000!important}
.e-con.site-foot{padding-block:4rem 2.5rem!important}
.e-con.foot-grid{padding:0!important;gap:2rem!important}
.e-con.foot-grid > .e-con{padding:0!important;gap:1rem!important}
@media (max-width:820px){.e-con.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.e-con.foot-grid{grid-template-columns:1fr}}
.foot-grid .elementor-heading-title{font:500 .74rem/1 var(--f-mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)!important}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.foot-grid a,.foot-bottom a{color:var(--craie);text-decoration:none}.foot-grid a:hover,.foot-bottom a:hover{color:var(--accent)}
.elementor-location-header{position:sticky;top:0;z-index:50}
.admin-bar .elementor-location-header{top:32px}
@media (max-width:782px){.admin-bar .elementor-location-header{top:0}}
.e-con.mf-header{position:static}
.e-con.mf-header > .e-con-inner{flex-direction:row!important;align-items:center;justify-content:space-between;flex-wrap:nowrap;padding-block:.7rem;gap:.75rem}
.mf-header .elementor-widget{width:auto;flex:0 0 auto}
.mf-header .elementor-widget-nav-menu{margin-left:auto}
@media (max-width:1024px){.mf-header .mf-btn-anis{display:none}}
.e-con.mf-row > .elementor-widget{width:auto}
.e-con.mf-prose-wrap{max-width:820px}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.mf-post-title .elementor-heading-title{font-size:clamp(2.2rem,6vw,4.5rem)!important;line-height:.95}

/* Ajustements v2 */
.grid-lines{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.clients{margin-top:2.5rem}
.e-con.cta-band > .e-con-inner{grid-template-columns:minmax(0,1fr) auto!important}
.cta-band .e-con.mf-row{--width:auto;width:auto;justify-content:flex-end}

/* Ajustements v3 */
.mf-2col h2.elementor-heading-title{font-size:clamp(1.8rem,4vw,3rem)!important}

/* ---------- Hero accueil : mur de projets + logo sur onglet noir ---------- */
.e-con.hero-mur{overflow:hidden}
.e-con.hero-mur > .e-con-inner{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:2rem}
.e-con.hero-mur .mf-hero-txt{padding:0!important;gap:1.6rem!important}
.e-con.hero-mur h1.elementor-heading-title{font-size:clamp(2.8rem,5.6vw,5.4rem)!important;line-height:.88}
.e-con.hero-mur .hero-meta{justify-content:start;margin-top:.5rem}
.mur{position:relative;height:min(80vh,760px);min-height:560px;margin-block:-2rem}
.mur-track{position:absolute;inset:-14% -40% -14% 4%;display:flex;gap:22px;transform:rotate(-7deg)}
.mur-col{display:flex;flex-direction:column;gap:18px;width:clamp(170px,14vw,220px);flex:none;animation:mur-up 70s linear infinite}
.mur-col-1{animation-direction:reverse;animation-duration:84s;margin-top:-140px}
.mur-col-2{animation-duration:96s;margin-top:-50px}
@keyframes mur-up{to{transform:translateY(-50%)}}
.mur:hover .mur-col{animation-play-state:paused}
.mur-card{display:block;background:#fff;border:2px solid var(--craie);box-shadow:6px 6px 0 var(--craie);color:#0A0A0A;text-decoration:none;transition:transform .2s,box-shadow .2s}
.mur-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--anis)}
.mur-bar{display:flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-bottom:2px solid #0A0A0A;background:#F6F6F0;font:500 9px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#0A0A0A;white-space:nowrap;overflow:hidden}
.mur-bar i{width:7px;height:7px;border-radius:50%;border:1.5px solid #0A0A0A;flex:none}
.mur-bar span{margin-left:6px;overflow:hidden;text-overflow:ellipsis}
.mur-card img{display:block;width:100%;height:auto;aspect-ratio:1422/840;object-fit:cover;object-position:top}
.mur-badge{position:absolute;right:4%;bottom:8%;width:150px;height:150px;border-radius:50%;background:var(--anis);border:2px solid #0A0A0A;box-shadow:6px 6px 0 var(--craie);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#0A0A0A!important;text-decoration:none;transform:rotate(-10deg);z-index:2;transition:transform .2s}
.mur-badge:hover{transform:rotate(-4deg) scale(1.05)}
.mur-badge b{font:900 2.3rem/1 var(--f-display);font-stretch:125%}
.mur-badge span{font:500 .6rem/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
@media (prefers-reduced-motion:reduce){.mur-col{animation:none}}
@media (max-width:900px){.e-con.hero-mur > .e-con-inner{grid-template-columns:1fr}.mur{height:440px;min-height:0;margin:0 -16px}.mur-track{inset:-20% -20% -20% -10%}.mur-badge{width:120px;height:120px}.mur-badge b{font-size:1.8rem}}
/* Logo plus grand, sur onglet noir, couleurs d'origine */
.e-con.mf-header > .e-con-inner{padding-block:0!important;min-height:84px;align-items:stretch!important}
.e-con.mf-header > .e-con-inner > .elementor-widget{align-self:center}
.mf-header .elementor-widget-shortcode:first-child{align-self:stretch!important;display:flex}
.mf-header .elementor-widget-shortcode:first-child .elementor-widget-container,.mf-header .elementor-widget-shortcode:first-child .elementor-shortcode{display:flex;height:100%}
.mf-header .mf-logo-link{display:flex;align-items:center;height:100%;background:#0A0A0A;padding:0 2rem}
.mf-header .logo{width:230px!important;--a:#EDEDE4;--b:#C3D700}
:root[data-theme="dark"] .mf-header .mf-logo-link{background:transparent;padding-left:0}
@media (max-width:600px){.mf-header .logo{width:170px!important}.mf-header .mf-logo-link{padding:0 1rem}.e-con.mf-header > .e-con-inner{min-height:68px}}

.hero-mur h1 .hl{white-space:nowrap}

/* ========== ALLÈGEMENT v1 : formes adoucies, traits fins, ombres douces ========== */
:root{--r:18px;--r-s:12px;--soft:0 1px 2px rgba(10,10,10,.04),0 14px 34px -16px rgba(10,10,10,.18);--tint:color-mix(in srgb,var(--anis) 20%,var(--bg))}
:root[data-theme="dark"]{--soft:0 1px 2px rgba(0,0,0,.3),0 16px 40px -18px rgba(0,0,0,.7);--tint:color-mix(in srgb,var(--anis) 9%,var(--bg))}
h2.elementor-heading-title,.e-con h2.elementor-heading-title{font-size:clamp(2rem,4.2vw,3.4rem)!important;line-height:.96}
h1.elementor-heading-title{font-size:clamp(2.6rem,6.5vw,5.6rem)}
.page-hero h1.elementor-heading-title{font-size:clamp(2.6rem,6vw,5rem)!important}
.e-con.head{margin-bottom:clamp(2rem,4vw,3rem)}
body .lead,.elementor-widget-text-editor .lead{color:var(--fumee)}
.btn,.mf-btn-anis .elementor-button,.mf-btn-line .elementor-button,.mf-btn-noir .elementor-button{border-radius:999px!important;box-shadow:none!important;border-width:1.5px!important;font-stretch:100%!important;letter-spacing:.01em;transition:background .2s,color .2s,transform .2s}
.btn-anis:hover,.mf-btn-anis .elementor-button:hover{transform:translateY(-2px)!important;background:color-mix(in srgb,var(--anis) 88%,#000)}
.mf-btn-noir .elementor-button:hover,.btn-noir:hover{transform:translateY(-2px)!important}
.e-con.flood,.flood{background:var(--tint)!important;color:var(--craie)!important}
.flood .elementor-heading-title,.flood .elementor-widget-text-editor,.flood .muted,.flood a,.flood .kicker{color:var(--craie)!important}
.flood .mf-kicker .elementor-heading-title{color:var(--accent)!important}
.flood .mf-btn-line .elementor-button,.flood .btn-line{color:var(--craie)!important;border-color:var(--craie)!important}
.flood .fam td{border-top-color:var(--line)}.flood .fam td small{color:var(--fumee)}
.grid-lines{background:transparent!important;border:0!important;gap:14px!important}
.grid-lines > *,.e-con.grid-lines > .e-con{background:var(--bg)!important;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--soft);color:var(--craie)!important}
.grid-lines .elementor-widget-text-editor{color:var(--fumee)!important}
.e-con.packs > .e-con,.packs > div{border:1px solid var(--line)!important;border-radius:var(--r);background:var(--bg)}
.offers{border:0!important;gap:16px;align-items:stretch}
.offer{border:1px solid var(--line)!important;border-radius:22px;background:var(--bg);box-shadow:var(--soft)}
.offer.hot{background:var(--anis);border-color:transparent!important;transform:translateY(-8px)}
.offer .foot{border-top-width:1px}
.stamp{border-radius:999px;transform:rotate(3deg)}
.bridge{border:1px dashed var(--accent);border-radius:var(--r)}
.project-card{border:1px solid var(--line)!important;border-radius:var(--r);overflow:hidden;background:var(--bg);box-shadow:var(--soft)}
.project-card .vis{border-bottom:1px solid var(--line)!important}
.chip{border-width:1px;border-radius:999px}
.tbl-wrap{border:1px solid var(--line)!important;border-radius:var(--r)}
.field input,.field textarea,.field select{border-width:1px!important;border-radius:var(--r-s)!important}
.seg label{border-width:1px!important;border-radius:var(--r-s)}
.opt input{border-width:1.5px;border-radius:6px}
.ticket{border-radius:22px}
.steps{border-top-width:1px!important}
.e-con.cta-band{background:transparent!important;padding-block:clamp(2rem,5vw,4rem)!important}
.e-con.cta-band > .e-con-inner{background:var(--anis);border-radius:28px;padding:clamp(2rem,5vw,4rem)!important;color:#000}
.e-con.mf-ruban-sec{padding:0!important;--padding-top:0px;--padding-bottom:0px}
.e-con.mf-ruban-sec > .e-con-inner{max-width:none!important;padding:0!important}
.mf-ruban-sec .ribbon,.ribbon{margin:0!important;transform:none!important;border-block:0!important}
.ribbon .track{font-size:clamp(.95rem,1.6vw,1.2rem)!important;padding-block:.8rem!important}
.e-con.hero-mur{padding-block:clamp(2rem,5vw,4rem)!important}
.e-con.hero-mur > .e-con-inner{align-items:stretch!important}
.e-con.hero-mur .mf-hero-txt{justify-content:center}
.mur{height:auto!important;min-height:600px;margin:0!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%)}
.mur-card{border:1px solid rgba(10,10,10,.12)!important;border-radius:12px;overflow:hidden;box-shadow:var(--soft)!important}
.mur-card:hover{box-shadow:0 18px 40px -14px rgba(10,10,10,.35)!important}
.mur-bar{border-bottom:1px solid rgba(10,10,10,.1)!important}
.mur-bar i{border-width:1px}
.mur-badge{border:0!important;box-shadow:var(--soft)!important;z-index:3;bottom:15%!important}
@media (max-width:900px){.mur{min-height:420px}}

.mur-card{flex:none}
.mf-header .theme-toggle{border-radius:999px;border-width:1.5px}

/* ========== Ajustements v4 : ruban penché, mur jusqu'au bord, logo blanc ========== */
.e-con.mf-ruban-sec{overflow:hidden;padding-block:1.4rem!important;margin-top:-1rem}
.mf-ruban-sec .ribbon,.ribbon{transform:rotate(-1.6deg)!important;margin-inline:-2vw!important;border-block:2px solid #0A0A0A!important}
.e-con.hero-mur{overflow:hidden}
.mur{margin-right:min(-16px,calc((1240px - 100vw)/2 - 16px))!important}
.mur-badge{right:calc(max(16px,(100vw - 1240px)/2 + 16px) + 2%)!important}
.mf-header .logo{--a:#FFFFFF!important;--b:#C3D700!important}

/* Logo v5 : noir sur fond clair, blanc sur fond sombre */
.logo{--a:#0A0A0A!important}
:root[data-theme="dark"] .logo,.mf-header .logo,.cta-band .logo.noir{--a:#FFFFFF!important}
.logo::before{background:var(--a)!important}
.logo::after{background:var(--b,#C3D700)!important}

/* Logo v6 : masque opaque (le PNG d'origine est à 80 % d'opacité) */
.logo::before{-webkit-mask-image:url(data:image/png;base64,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)!important;mask-image:url(data:image/png;base64,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)!important}

/* ========== Motif oo v2 : vert anis du logo, calé sur la hauteur des majuscules ========== */
.oo{color:var(--anis)!important}
.offer.hot .oo,.flood .oo,.cta-band .oo,.mur-badge .oo{color:#0A0A0A!important}
.elementor-heading-title .oo,h1 .oo,h2 .oo{display:inline-flex!important;align-items:flex-end;vertical-align:baseline!important;gap:.07em;margin:0 .04em!important;transform:none!important;font-size:1em!important;line-height:0}
.elementor-heading-title .oo i,h1 .oo i,h2 .oo i{width:.74em!important;height:.69em!important;border-width:.13em!important;border-radius:.24em!important;box-sizing:border-box}

/* ========== Articles : cartes avec visuel, contenu importé ========== */
.mf-articles .project-card .vis{aspect-ratio:16/9}
.mf-articles .project-card .vis img{width:100%;height:100%;object-fit:cover}
.mf-prose{font-size:1.05rem;line-height:1.7}
.mf-prose h3{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.15;margin:2rem 0 .7rem;text-transform:none}
.mf-prose h4{font:800 1.05rem/1.3 var(--f-body);margin:1.5rem 0 .5rem}
.mf-prose figure{margin:2rem 0}
.mf-prose img{display:block;max-width:100%;height:auto;border-radius:var(--r,18px);border:1px solid var(--line)}
.mf-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.mf-prose blockquote{margin:1.5rem 0;padding:.5rem 0 .5rem 1.25rem;border-left:4px solid var(--anis);font-weight:700}
.mf-prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--r,18px)}
.mf-prose ul,.mf-prose ol{margin:0 0 1rem}
.mf-prose table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1.5rem 0}
.mf-prose td,.mf-prose th{border-bottom:1px solid var(--line);padding:.6rem .5rem;text-align:left}
.single-post .elementor-widget-theme-post-featured-image img{border-radius:22px}

/* Article : infos sans icônes, image à la une */
.elementor-widget-post-info .elementor-icon-list-icon{display:none!important}
.elementor-widget-post-info .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;list-style:none;margin:0;padding:0}
.mf-post-img img{width:100%;height:auto;border-radius:22px;border:1px solid var(--line)}
img[src*="elementor/assets/images/placeholder"]{display:none!important}

.mf-articles .project-card .vis{background:var(--carbon)}
.mf-articles .project-card .vis img{object-fit:contain!important}

/* Encadrés « Mise à jour » et appels à l'action dans les articles */
.mf-prose .mf-maj{margin:0 0 2rem;padding:1.1rem 1.3rem;border-radius:var(--r,18px);background:var(--tint,#EEF2C9);border:1px solid color-mix(in srgb,var(--anis) 55%,transparent)}
.mf-prose .mf-maj p{margin:0 0 .4rem;color:var(--craie)}
.mf-prose .mf-maj p:last-child{margin-bottom:0}
.mf-prose .mf-maj-k{font:500 .72rem/1 var(--f-mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)!important;margin-bottom:.6rem!important}
.mf-prose .mf-maj-cta{margin:2.5rem 0 0;background:var(--anis);border-color:transparent}
.mf-prose .mf-maj-cta p,.mf-prose .mf-maj-cta a{color:#0A0A0A!important;font-weight:700}
.mf-prose h2{font-size:clamp(1.3rem,2.6vw,1.75rem);text-transform:none;font-stretch:112%}

/* Retours à la ligne : pas de largeur max forcée dans les blocs, seulement sur les textes longs */
p,.elementor-widget-text-editor p{max-width:none!important;text-wrap:pretty}
.lead,.page-hero .elementor-widget-text-editor p,.e-con.head .elementor-widget-text-editor p,.mf-hero-txt .elementor-widget-text-editor p{max-width:62ch!important}
.mf-prose p,.mf-prose li{max-width:72ch!important}

/* Pages légales (CGV, confidentialité, mentions) : pleine largeur */
.page-id-63 .e-con.mf-prose-wrap,.page-id-63 .mf-prose,.page-id-63 .mf-prose p,.page-id-63 .mf-prose li,.page-id-64 .e-con.mf-prose-wrap,.page-id-64 .mf-prose,.page-id-64 .mf-prose p,.page-id-64 .mf-prose li,.page-id-65 .e-con.mf-prose-wrap,.page-id-65 .mf-prose,.page-id-65 .mf-prose p,.page-id-65 .mf-prose li{max-width:none!important;width:100%}

/* ========== Boutons v2 : états normal / survol cohérents et toujours lisibles ========== */
.btn,.elementor-button{transition:background-color .2s,color .2s,border-color .2s,transform .2s!important}
.btn-anis,.btn-anis:visited,.mf-btn-anis .elementor-button,.mf-btn-anis .elementor-button:visited{background:var(--anis)!important;color:#0A0A0A!important;border:1.5px solid var(--anis)!important}
.btn-anis:hover,.btn-anis:focus-visible,.mf-btn-anis .elementor-button:hover,.mf-btn-anis .elementor-button:focus-visible{background:#0A0A0A!important;color:var(--anis)!important;border-color:#0A0A0A!important}
:root[data-theme="dark"] .btn-anis:hover,:root[data-theme="dark"] .mf-btn-anis .elementor-button:hover{background:#FFFFFF!important;color:#0A0A0A!important;border-color:#FFFFFF!important}
.btn-noir,.btn-noir:visited,.mf-btn-noir .elementor-button,.mf-btn-noir .elementor-button:visited,.flood .mf-btn-noir .elementor-button,.flood a.btn-noir{background:#0A0A0A!important;color:var(--anis)!important;border:1.5px solid #0A0A0A!important}
.btn-noir:hover,.btn-noir:focus-visible,.mf-btn-noir .elementor-button:hover,.mf-btn-noir .elementor-button:focus-visible,.flood .mf-btn-noir .elementor-button:hover{background:var(--anis)!important;color:#0A0A0A!important;border-color:#0A0A0A!important}
:root[data-theme="dark"] .btn-noir,:root[data-theme="dark"] .mf-btn-noir .elementor-button{border-color:var(--anis)!important}
.btn-line,.btn-line:visited,.mf-btn-line .elementor-button,.mf-btn-line .elementor-button:visited,.flood .mf-btn-line .elementor-button,.flood .btn-line{background:transparent!important;color:var(--craie)!important;border:1.5px solid var(--craie)!important}
.btn-line:hover,.btn-line:focus-visible,.mf-btn-line .elementor-button:hover,.mf-btn-line .elementor-button:focus-visible,.flood .mf-btn-line .elementor-button:hover,.flood .btn-line:hover{background:var(--craie)!important;color:var(--bg)!important;border-color:var(--craie)!important}
/* Sur fond vert anis : bandeau final, formule Duo, pastille */
.cta-band .btn-line,.cta-band .mf-btn-line .elementor-button,.offer.hot .btn-line{color:#0A0A0A!important;border-color:#0A0A0A!important;background:transparent!important}
.cta-band .btn-line:hover,.cta-band .mf-btn-line .elementor-button:hover,.offer.hot .btn-line:hover{background:#0A0A0A!important;color:var(--anis)!important}
.cta-band .btn-noir:hover,.cta-band .mf-btn-noir .elementor-button:hover,.offer.hot .btn-noir:hover,.ticket .btn-noir:hover{background:#FFFFFF!important;color:#0A0A0A!important;border-color:#0A0A0A!important}
.cta-band .mf-btn-noir .elementor-button,.offer.hot .btn-noir,.ticket .btn-noir{border-color:#0A0A0A!important}
/* Filtres et petits boutons */
.filters button{border-radius:999px;transition:border-color .2s,background-color .2s}
.filters button:hover{border-color:var(--craie)}
.filters button[aria-pressed="true"]:hover{border-color:#0A0A0A}
.nav .btn:hover,.nav a.btn-anis:hover{color:var(--anis)!important}

/* ========== Responsive v2 ========== */
h1,h2,h3,.elementor-heading-title{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
@media (max-width:600px){
 .page-hero h1,.page-hero h1.elementor-heading-title,.mf-post-title .elementor-heading-title,.page-hero .wrap h1{font-size:clamp(1.9rem,9.5vw,2.7rem)!important;line-height:.98}
 h2.elementor-heading-title,.e-con h2.elementor-heading-title,.page-hero ~ section h2{font-size:clamp(1.6rem,8vw,2.2rem)!important}
 .offer h3{font-size:clamp(1.7rem,9vw,2.2rem)}
 .e-con.mf-sec{padding-block:clamp(2.75rem,10vw,4rem)!important}
}
.form-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important}
.chip,.offer .legend span,.dose .legend span,.fam .inc,.mur-bar span{font-size:max(11.5px,.72rem)!important}
.filters{display:flex;flex-wrap:wrap;gap:.5rem}
.filters button{min-height:42px}

@media (max-width:480px){.btn,.elementor-button{white-space:normal!important;text-align:center;max-width:100%}.form .btn{width:100%}}

/* Césure : uniquement les très longs mots des grands titres */
h1,h2,h3,h4,p,li,.elementor-heading-title{hyphens:manual!important;-webkit-hyphens:manual!important}
h1,h1.elementor-heading-title{hyphens:auto!important;-webkit-hyphens:auto!important;hyphenate-limit-chars:11 5 5;-webkit-hyphenate-limit-before:5;-webkit-hyphenate-limit-after:5}
@media (max-width:600px){.page-hero h1,.page-hero h1.elementor-heading-title,.mf-post-title .elementor-heading-title,.page-hero .wrap h1{font-size:clamp(1.75rem,8.6vw,2.6rem)!important}}

/* ========== Neutraliser les couleurs par défaut du thème Hello (rose #c36) sur les boutons ========== */
button:not(.btn),[type="button"]:not(.btn),[type="submit"]:not(.btn){color:inherit}
button:not(.btn):hover,button:not(.btn):focus,[type="button"]:not(.btn):hover,[type="button"]:not(.btn):focus,[type="submit"]:not(.btn):hover,[type="submit"]:not(.btn):focus{background-color:transparent;color:inherit}
.theme-toggle,.theme-toggle:focus{background:transparent!important;color:var(--craie)!important;border:1.5px solid var(--craie)!important;border-radius:999px}
.theme-toggle:hover{background:var(--anis)!important;color:#0A0A0A!important;border-color:var(--anis)!important}
.theme-toggle svg{stroke:currentColor}
.elementor-menu-toggle,.elementor-menu-toggle:hover,.elementor-menu-toggle:focus{background:transparent!important;color:var(--craie)!important}
.filters button:not([aria-pressed="true"]):hover,.filters button:not([aria-pressed="true"]):focus{background:transparent!important;color:var(--craie)!important}
.filters button[aria-pressed="true"],.filters button[aria-pressed="true"]:hover,.filters button[aria-pressed="true"]:focus{background:var(--anis)!important;color:#0A0A0A!important}
:focus-visible{outline:3px solid var(--anis)!important;outline-offset:3px;box-shadow:none!important}

/* Moove Créa : grilles de tarifs */
.mf-tarifs{width:100%;border-collapse:collapse;margin-top:.9rem;font-size:.92rem}
.mf-tarifs td{padding:.55rem 0;border-top:1px solid var(--line);vertical-align:top}
.mf-tarifs td:last-child{text-align:right;white-space:nowrap;padding-left:1rem;font:500 .8rem/1.4 var(--f-mono);color:var(--accent)}
.mf-crea > .e-con .elementor-widget-text-editor p{color:var(--fumee)}

/* En-tête : 7 entrées de menu */
.mf-header .elementor-nav-menu--main .elementor-item{padding:13px clamp(8px,0.9vw,14px)!important;letter-spacing:.06em!important}
.mf-header .mf-logo-link{padding:0 1.5rem}
.mf-header .logo{width:210px!important}
@media (max-width:1280px){.mf-header .mf-btn-anis{display:none!important}}

/* Accueil : bloc Moove Créa */
.e-con.mf-crea-home{border-top:1px solid var(--line)}
.e-con.mf-crea-home .mf-2col{align-items:center}
.mf-crea-ateliers{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mf-crea-ateliers a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.3rem;border:1px solid var(--line);border-radius:var(--r,18px);background:var(--bg);box-shadow:var(--soft);color:var(--craie);text-decoration:none;transition:transform .2s,border-color .2s,background-color .2s}
.mf-crea-ateliers a:hover{transform:translateX(6px);border-color:var(--anis);background:var(--tint)}
.mf-crea-ateliers b{font:900 1.05rem/1.1 var(--f-display);font-stretch:112%;text-transform:uppercase}
.mf-crea-ateliers span{font:500 .8rem/1 var(--f-mono);color:var(--accent);white-space:nowrap}

/* Bandeau défilant au premier plan, non coupé */
html,body{overflow-x:clip}
.e-con.mf-ruban-sec{overflow:visible!important;position:relative;z-index:6;padding:0!important;margin:1.6rem 0 -1.4rem!important;height:auto}
.e-con.mf-ruban-sec > .e-con-inner{overflow:visible!important}
.mf-ruban-sec .ribbon{position:relative;z-index:6;margin-inline:-3vw!important;box-shadow:0 10px 30px -12px rgba(0,0,0,.35)}
.e-con.hero-mur{position:relative;z-index:1}

/* Tableaux de tarifs : marges intérieures */
.mf-tarifs{border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--bg)}
.mf-tarifs td{padding:.7rem .95rem!important;border-top:1px solid var(--line)}
.mf-tarifs tr:first-child td{border-top:0}
.mf-tarifs td:last-child{padding-left:.5rem!important}
.fam table{border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--bg)}
.fam td{padding:.7rem .95rem!important;border-top:1px solid var(--line)!important}
.fam tr:first-child td{border-top:0!important}

/* Mur : cartes créa + fiches projet (galerie, vidéos) */
.mur-card.mur-crea{position:relative;background:#0A0A0A}
.mur-card.mur-crea img{aspect-ratio:4/5!important;object-fit:cover;object-position:center}
.mur-tag{position:absolute;left:8px;bottom:8px;z-index:2;max-width:calc(100% - 16px);padding:5px 8px;border-radius:999px;background:var(--anis);color:#0A0A0A;font:500 9.5px/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mf-projet-media{display:grid;gap:2rem}
.mf-projet-desc{max-width:72ch;display:grid;gap:.6rem;font-size:1.1rem}
.mf-projet-desc p{margin:0}
.mf-galerie{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr))}
.mf-galerie figure{margin:0;border-radius:var(--r,18px);overflow:hidden;border:1px solid var(--line);background:var(--carbon)}
.mf-galerie figure img{display:block;width:100%;height:auto}
.mf-galerie .mf-video{grid-column:1/-1;aspect-ratio:16/9;background:#000}
.mf-galerie .mf-video iframe,.mf-galerie .mf-video video{display:block;width:100%;height:100%;border:0}

/* Cartes : espacement uniforme partout */
:root{--gap-cartes:clamp(16px,1.8vw,24px);--pad-carte:clamp(24px,2.4vw,32px)}
body .e-con.grid-lines,body .grid-lines,body .offers,body .e-con.packs,body .packs,body .mf-projets-grid,body .projects,body .mf-articles{gap:var(--gap-cartes)!important;--gap:var(--gap-cartes);--row-gap:var(--gap-cartes);--column-gap:var(--gap-cartes)}
body .e-con.grid-lines > .e-con,body .grid-lines > *,body .e-con.packs > .e-con,body .packs > div{padding:var(--pad-carte)!important;--padding-top:var(--pad-carte);--padding-right:var(--pad-carte);--padding-bottom:var(--pad-carte);--padding-left:var(--pad-carte)}
body .offer{padding:calc(var(--pad-carte) + 4px) var(--pad-carte) var(--pad-carte)}

/* ========== Passe finale : formulaires, en-tête mobile, pied de page ========== */
/* Cases à cocher : même style que les options, alignées sur la 1re ligne */
.check{align-items:flex-start;gap:.75rem;line-height:1.5!important;font-size:.9rem}
.check input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:calc((1.5em - 20px)/2) 0 0!important;border:1.5px solid var(--craie);border-radius:6px;background:transparent;display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s}
.check input[type=checkbox]:checked{background:var(--anis);border-color:var(--accent)}
.check input[type=checkbox]:checked::after{content:"";width:9px;height:5px;border-left:2.5px solid #000;border-bottom:2.5px solid #000;transform:rotate(-45deg) translate(1px,-1px)}
.check input[type=checkbox]:focus-visible,.opt input:focus-visible{outline:3px solid var(--anis);outline-offset:2px}
.ticket .check input[type=checkbox]{border-color:#000}
.ticket .check input[type=checkbox]:checked{background:#000;border-color:#000}
.ticket .check input[type=checkbox]:checked::after{border-color:var(--anis)}
/* Champs : même hauteur pour texte, email, téléphone et listes */
.field input:not([type=checkbox]):not([type=radio]),.field select{box-sizing:border-box;height:3.4rem;line-height:1.2}
.field select{appearance:none;-webkit-appearance:none;padding-right:2.6rem!important;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 1.25rem) 50%,calc(100% - .9rem) 50%;background-size:.36rem .36rem;background-repeat:no-repeat;cursor:pointer}
.field select option{color:#0A0A0A;background:#fff}
/* Créneaux et choix : repère visible sur la carte choisie */
.seg label{transition:border-color .15s,background .15s}
.seg label:hover{border-color:var(--accent)}
.seg label:has(input:checked)::after{content:"";position:absolute;top:10px;right:10px;width:9px;height:5px;border-left:2.5px solid #000;border-bottom:2.5px solid #000;transform:rotate(-45deg)}
/* En-tête mobile : logo plus compact pour garder burger + mode nuit visibles */
@media (max-width:480px){
  .elementor-location-header .mf-logo-link{padding-inline:14px!important}
  .elementor-location-header .logo{width:148px!important;--w:148px!important}
}
/* Pied de page : titres de colonnes (balise p) */
.foot-grid .elementor-heading-title,.elementor-location-footer p.elementor-heading-title{margin:0 0 .9rem;font:500 .74rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}

/* Très petits écrans (320 px) : cartes articles et tableaux d'options */
.project-card{grid-template-columns:minmax(0,1fr)!important;min-width:0}
.project-card .vis,.project-card .vis img{min-width:0;max-width:100%}
.fam table{width:100%}
@media (max-width:360px){
  body .e-con.grid-lines > .e-con,body .grid-lines > *{--pad-carte:18px}
  .fam td{overflow-wrap:anywhere;font-size:.88rem}
  .fam td:last-child{white-space:nowrap}
}

/* Vignettes projet : toute la carte mène à la fiche détail */
.project-card{position:relative;transition:transform .2s,box-shadow .2s}
.project-card .card-link{color:inherit;text-decoration:none}
.project-card .card-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.project-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -16px rgba(10,10,10,.28)}
.project-card:hover .site-link{text-decoration:underline}
.project-card:has(.card-link:focus-visible){outline:3px solid var(--anis);outline-offset:3px}
.project-card .card-link:focus-visible{outline:none}
.project-card .vis img{transition:transform .5s}
.project-card:hover .vis img{transform:scale(1.03)}

/* Fiche projet : titre à la même taille que les autres pages + carte d'identité du projet */
.page-hero h1:not(.elementor-heading-title){font-size:clamp(2.6rem,6vw,5rem)!important;line-height:.92;letter-spacing:-.01em}
.mf-fiche{display:flex;flex-wrap:wrap;gap:1.1rem 2.6rem;margin:2rem 0 0;padding:1.25rem 0 0;border-top:1px solid var(--line);max-width:1100px}
.mf-fiche > div{display:grid;gap:.35rem;align-content:start;min-width:0;max-width:100%}
.mf-fiche dt{font:500 .7rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.mf-fiche dd{margin:0;font-size:.98rem;line-height:1.4;color:var(--craie)}

/* Fiche projet : description courte sous le titre */
.mf-resume{margin-top:1.5rem;max-width:62ch;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.5;color:var(--fumee)}

/* Visuels projet : tranches empilées de haut en bas, sans espace (lecture continue) */
.mf-galerie{display:flex!important;flex-direction:column;gap:0!important;max-width:1200px;margin-inline:auto;border-radius:var(--r,18px);overflow:hidden;border:1px solid var(--line);background:transparent}
.mf-galerie figure{margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;line-height:0}
.mf-galerie figure img{display:block;width:100%;height:auto;margin:0}
.mf-galerie .mf-video{aspect-ratio:16/9;background:#000}
.mf-galerie figure + .mf-video,.mf-galerie .mf-video + figure{margin-top:0!important}

/* Visuels projet : largeur réduite pour limiter le flou des anciens visuels */
.mf-galerie{max-width:860px!important}

/* Bouton retour en haut */
.mf-top{position:fixed;right:clamp(14px,2.5vw,28px);bottom:clamp(14px,2.5vw,28px);z-index:90;width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:var(--noir,#0A0A0A);color:var(--anis);border:1.5px solid var(--anis);box-shadow:0 10px 28px -10px rgba(10,10,10,.45);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s,color .2s;text-decoration:none}
.mf-top.is-on{opacity:1;transform:none;pointer-events:auto}
.mf-top:hover{background:var(--anis);color:#0A0A0A;transform:translateY(-2px)}
.mf-top:focus-visible{outline:3px solid var(--anis);outline-offset:3px}
:root[data-theme="dark"] .mf-top{background:var(--anis);color:#0A0A0A;border-color:var(--anis)}
:root[data-theme="dark"] .mf-top:hover{background:#0A0A0A;color:var(--anis)}
#content:focus,main:focus{outline:none}
@media (prefers-reduced-motion:reduce){.mf-top{transition:none}}
@media print{.mf-top{display:none}}

/* Partage réseaux sociaux */
.mf-partage{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;padding-block:1.5rem;border-top:1px solid var(--line);margin-top:2rem}
.mf-partage .kicker{margin:0}
.mf-partage-l{display:flex;flex-wrap:wrap;gap:.5rem}
.mf-partage-l a,.mf-partage-l button{display:inline-flex;align-items:center;min-height:40px;padding:.45rem 1rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--craie);font:500 .8rem/1 var(--f-mono);letter-spacing:.03em;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.mf-partage-l a:hover,.mf-partage-l button:hover{background:var(--anis);border-color:var(--anis);color:#0A0A0A}
.mf-partage-l a:focus-visible,.mf-partage-l button:focus-visible{outline:3px solid var(--anis);outline-offset:2px}

/* Sections teintées (.flood) : textes secondaires lisibles en mode clair ET sombre */
.flood .faq details p,.flood .mf-muted,.flood .mf-muted p{color:var(--fumee)!important}
.flood .faq summary::after{color:var(--craie)!important}
.flood .faq summary{color:var(--craie)}

/* Menu : « Devis en ligne » visible sur mobile/tablette (le bouton d'en-tête est masqué sous 1280 px) */
@media (min-width:1281px){.elementor-nav-menu--main .mf-menu-cta{display:none!important}}
.elementor-nav-menu--dropdown .mf-menu-cta > a{margin:.6rem 1rem 1rem!important;justify-content:center;border-radius:999px!important;background:var(--anis)!important;color:#0A0A0A!important;font-weight:700}
.elementor-nav-menu--main .mf-menu-cta > a{color:var(--accent)!important;font-weight:700}

/* Préprod : bouton « Commenter » et panneau de relecture */
.mf-retour{position:fixed;left:clamp(12px,2.5vw,28px);bottom:clamp(12px,2.5vw,28px);z-index:95;font-family:var(--f-body)}
.mf-retour-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:46px;padding:.6rem 1.1rem;border-radius:999px;border:0;background:var(--anis);color:#0A0A0A;font:700 .9rem/1 var(--f-body);box-shadow:0 10px 28px -10px rgba(10,10,10,.45);cursor:pointer}
.mf-retour-btn:hover{transform:translateY(-2px)}
.mf-retour-btn:focus-visible,.mf-retour-panel button:focus-visible{outline:3px solid var(--noir,#0A0A0A);outline-offset:3px}
.mf-retour-panel{position:absolute;left:0;bottom:calc(100% + 10px);width:min(340px,calc(100vw - 24px));display:grid;gap:.7rem;padding:1.1rem;border-radius:var(--r,18px);background:var(--bg);color:var(--craie);border:1px solid var(--line);box-shadow:0 24px 60px -20px rgba(10,10,10,.45)}
.mf-retour-panel[hidden]{display:none}
.mf-retour-t{margin:0;font:500 .72rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.mf-retour-panel label{display:grid;gap:.3rem;font-size:.85rem;font-weight:700}
.mf-retour-panel input,.mf-retour-panel textarea{width:100%;box-sizing:border-box;padding:.6rem .7rem;border:1px solid var(--line);border-radius:10px;background:transparent;color:inherit;font:400 .95rem/1.4 var(--f-body)}
.mf-retour-panel textarea{resize:vertical;min-height:110px}
.mf-retour-ctx{margin:0;font-size:.75rem;color:var(--fumee)}
.mf-retour-a{display:flex;gap:.5rem}
.mf-retour-a button{min-height:40px;padding:.5rem 1rem;border-radius:999px;border:1px solid var(--craie);background:transparent;color:var(--craie);font:700 .85rem/1 var(--f-body);cursor:pointer}
.mf-retour-a button[type=submit]{background:var(--anis);border-color:var(--anis);color:#0A0A0A}
.mf-retour-msg{margin:0;font-size:.85rem;min-height:1em}
.mf-retour-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
@media print{.mf-retour{display:none}}

/* ========== Hero : fond de couleur + visuels près du titre sur mobile ========== */
.e-con.hero-mur{background:color-mix(in srgb,var(--anis) 26%,var(--bg))!important}
:root[data-theme="dark"] .e-con.hero-mur{background:color-mix(in srgb,var(--anis) 12%,var(--bg))!important}
@media (max-width:767px){
  .e-con.hero-mur > .e-con-inner{display:flex!important;flex-direction:column!important}
  .e-con.hero-mur .mf-hero-txt{display:contents!important}
  .e-con.hero-mur .mf-hero-txt > *{order:3}
  .e-con.hero-mur .mf-hero-txt > :nth-child(1),.e-con.hero-mur .mf-hero-txt > :nth-child(2){order:1}
  .e-con.hero-mur > .e-con-inner > .elementor-widget-shortcode{order:2;margin-block:.25rem .75rem!important;width:100%}
  .e-con.hero-mur .mur{min-height:0!important;height:240px!important}
  .e-con.hero-mur .mur-badge{bottom:10%!important}
}
/* Titres sur mobile : tailles adaptées aux mots longs */
@media (max-width:480px){
  h1.elementor-heading-title,.page-hero h1,.page-hero h1.elementor-heading-title{font-size:clamp(1.8rem,9vw,2.45rem)!important;line-height:.96!important}
  h2.elementor-heading-title,.e-con h2.elementor-heading-title,main h2{font-size:clamp(1.55rem,7.2vw,2.05rem)!important;line-height:1!important}
  .offer h3,.offer .name{font-size:clamp(1.45rem,6.8vw,1.85rem)!important}
  .project-card h3{font-size:1.05rem!important}
}
.mf-nowrap{white-space:nowrap}

@media (max-width:480px){
  html body h1.elementor-heading-title,html body .hero h1.elementor-heading-title,html body .page-hero h1:not(.elementor-heading-title),html body .page-hero h1.elementor-heading-title{font-size:clamp(1.8rem,9vw,2.45rem)!important;line-height:.96!important}
}

@media (max-width:480px){html body .e-con.hero-mur h1.elementor-heading-title{font-size:clamp(1.9rem,9.4vw,2.5rem)!important;line-height:.95!important}}

/* ========== ALLÈGEMENT v2 ========== */
.mf-masque{display:none!important}
/* Moins de petits titres verts : on garde ceux du hero et des en-têtes de page */
.e-con.head .mf-kicker{display:none!important}
/* Plus d'air entre les blocs */
.e-con.mf-sec:not(.hero):not(.mf-ruban-sec):not(.cta-band){--padding-top:clamp(4rem,8vw,7rem);--padding-bottom:clamp(4rem,8vw,7rem);padding-block:clamp(4rem,8vw,7rem)!important}
/* Formules compactes (accueil) */
.offers-mini{display:grid;gap:12px}
.offers-mini .om{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:1rem 1.5rem;padding:1.1rem 1.4rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--craie);text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.offers-mini .om:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--soft)}
.offers-mini .om.hot{background:var(--anis);border-color:var(--anis);color:#0A0A0A}
.offers-mini .om-n{font:500 .8rem/1 var(--f-mono);color:var(--accent)}
.offers-mini .om.hot .om-n{color:#0A0A0A}
.offers-mini .om-t{display:grid;gap:.2rem}
.offers-mini .om-t b{font:900 clamp(1.2rem,2.2vw,1.6rem)/1 var(--f-display);font-stretch:125%;text-transform:uppercase}
.offers-mini .om-t small,.offers-mini .om-p small{font-size:.85rem;color:var(--fumee)}
.offers-mini .om.hot small{color:#2a2f00}
.offers-mini .om-p{display:grid;justify-items:end;gap:.15rem;font:800 1.15rem/1 var(--f-body);white-space:nowrap}
.offers-mini .om-go{font-size:1.3rem}
@media (max-width:600px){.offers-mini .om{grid-template-columns:1fr auto;padding:1rem 1.1rem}.offers-mini .om-n,.offers-mini .om-go{display:none}}
/* Blocs repliables (tarifs Créa, comparatif) */
.mf-plier{border-top:1px solid var(--line);margin-top:.75rem}
.mf-plier > summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;font:500 .82rem/1.2 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.mf-plier > summary::-webkit-details-marker{display:none}
.mf-plier > summary::after{content:"+";font:400 1.4rem/1 var(--f-body);color:var(--craie);transition:transform .2s}
.mf-plier[open] > summary::after{transform:rotate(45deg)}
.mf-plier > summary b{color:var(--craie);font-weight:500}
.mf-plier > summary:focus-visible{outline:3px solid var(--anis);outline-offset:3px;border-radius:6px}
.mf-plier-large > summary{justify-content:center;gap:.8rem;padding:1.1rem;border:1px solid var(--line);border-radius:999px;margin-top:1rem}
.mf-plier-large{border-top:0}
.mf-plier-large[open] > summary{margin-bottom:1.5rem}
/* Voir plus (grilles de cartes) */
.mf-plus-cache{display:none!important}
.mf-plus{display:block;margin:1.5rem auto 0;min-height:44px;padding:.6rem 1.4rem;border:1px solid var(--craie);border-radius:999px;background:transparent;color:var(--craie);font:700 .9rem/1 var(--f-body);cursor:pointer}
.mf-plus:hover{background:var(--anis);border-color:var(--anis);color:#0A0A0A}
.mf-plus:focus-visible{outline:3px solid var(--anis);outline-offset:3px}

.e-con.mf-sec:not(.hero):not(.mf-ruban-sec):not(.cta-band){--padding-top:clamp(3.5rem,7vw,6rem);--padding-bottom:clamp(3.5rem,7vw,6rem);padding-block:clamp(3.5rem,7vw,6rem)!important}
.mf-cta-note{margin:1.25rem 0 0;font-size:.95rem;color:#0A0A0A}
.mf-cta-note a{color:#0A0A0A;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Bandeau défilant à cheval sur le bas du hero vert (plus de bande claire entre les deux) */
.e-con.mf-ruban-sec{margin:-1.75rem 0 .75rem!important;position:relative;z-index:6}

.e-con.hero-mur{padding-bottom:calc(clamp(2rem,5vw,4rem) + 2.5rem)!important;--padding-bottom:calc(clamp(2rem,5vw,4rem) + 2.5rem)}

/* Fond vert du hero sur toutes les pages */
.e-con.page-hero,section.page-hero{background:color-mix(in srgb,var(--anis) 26%,var(--bg))!important}
:root[data-theme="dark"] .e-con.page-hero,:root[data-theme="dark"] section.page-hero{background:color-mix(in srgb,var(--anis) 12%,var(--bg))!important}

/* Hauts de page plus compacts + sections teintées en neutre (le vert est réservé au hero) */
.e-con.page-hero,section.page-hero{padding-block:clamp(2.5rem,5vw,4rem)!important;--padding-top:clamp(2.5rem,5vw,4rem);--padding-bottom:clamp(2.5rem,5vw,4rem)}
html body .page-hero h1.elementor-heading-title,html body .page-hero h1:not(.elementor-heading-title){font-size:clamp(2.1rem,4.4vw,3.6rem)!important;line-height:.95!important}
.page-hero .elementor-widget-text-editor .lead,.page-hero .lead{margin-top:.25rem}
.e-con.flood,.flood{background:color-mix(in srgb,var(--craie) 4%,var(--bg))!important}
:root[data-theme="dark"] .e-con.flood,:root[data-theme="dark"] .flood{background:color-mix(in srgb,var(--craie) 6%,var(--bg))!important}

html body .e-con.mf-sec.page-hero:not(.hero),html body section.page-hero{padding-block:clamp(2.25rem,4.5vw,3.75rem)!important;--padding-top:clamp(2.25rem,4.5vw,3.75rem);--padding-bottom:clamp(2.25rem,4.5vw,3.75rem)}
html body .e-con.page-hero > .e-con-inner{padding-block:0!important;gap:clamp(.9rem,1.6vw,1.4rem)!important}

/* Mobile : mur de projets bord à bord (plus de coupure nette à gauche) */
@media (max-width:767px){
  .e-con.hero-mur > .e-con-inner > .elementor-widget-shortcode{margin-inline:calc(-1 * var(--mf-gutter,16px))!important;width:calc(100% + 2 * var(--mf-gutter,16px))!important;max-width:none!important}
  .e-con.hero-mur .mur{border-radius:0}
}

/* Mobile : bouton « Commenter » réduit à une pastille pour ne pas masquer les boutons */
@media (max-width:767px){
  .mf-retour-btn{width:46px;height:46px;padding:0;justify-content:center;font-size:0;gap:0}
  .mf-retour-btn::before{content:"💬";font-size:1.15rem}
}

/* Bandeau défilant noir, texte vert : il se détache du fond vert du hero */
.mf-ruban-sec .ribbon,.ribbon{background:#0A0A0A!important;color:var(--anis)!important}
.ribbon .track,.ribbon .track span{color:var(--anis)!important}
.ribbon .oo i{border-color:var(--anis)!important}
:root[data-theme="dark"] .ribbon{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--anis) 45%,transparent),inset 0 -1px 0 color-mix(in srgb,var(--anis) 45%,transparent)}

/* Mobile : bandeau final (cta-band) sur une seule colonne */
@media (max-width:900px){
  .e-con.cta-band > .e-con-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;grid-template-columns:1fr!important}
  .e-con.cta-band .mf-plain{width:100%!important;min-width:0}
  .e-con.cta-band .mf-row{width:100%!important;flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}
  .e-con.cta-band .mf-row .elementor-widget-button,.e-con.cta-band .mf-row .elementor-button{width:100%!important;justify-content:center}
}
/* Mobile : pied de page avec marges latérales */
@media (max-width:767px){
  [data-elementor-type="footer"] .e-con.foot{padding-inline:20px!important;--padding-left:20px;--padding-right:20px}
  [data-elementor-type="footer"] .foot-grid{gap:2rem!important}
}

@media (max-width:1024px){
  .elementor-location-footer .e-con.site-foot{padding-inline:20px!important;--padding-left:20px;--padding-right:20px}
}

@media (max-width:767px){
  .elementor-location-footer .foot-grid > .e-con-inner,.elementor-location-footer .e-con.foot-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2rem 1.25rem!important}
  .elementor-location-footer .foot-grid > .e-con:first-child,.elementor-location-footer .foot-grid > .e-con-inner > .e-con:first-child{grid-column:1/-1}
  .elementor-location-footer .foot-grid > .e-con:nth-child(4),.elementor-location-footer .foot-grid > .e-con-inner > .e-con:nth-child(4){grid-column:1/-1}
}

/* ========== Mobile : barre d'actions flottante (façon application) ========== */
.mf-barre{display:none}
@media (max-width:767px){
  .mf-barre{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:99;display:grid;grid-template-columns:1fr 1fr 1.6fr 1fr;align-items:center;gap:4px;padding:6px;border-radius:22px;background:#0A0A0A;box-shadow:0 14px 34px -12px rgba(10,10,10,.55);border:1px solid rgba(195,215,0,.35)}
  .mf-barre a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border-radius:16px;color:#EDEDE4;text-decoration:none;font:600 .68rem/1 var(--f-body);letter-spacing:.02em}
  .mf-barre a:active{background:rgba(255,255,255,.08)}
  .mf-barre a[aria-current="page"]{color:var(--anis)}
  .mf-barre .mf-barre-cta{flex-direction:row;gap:.4rem;background:var(--anis);color:#0A0A0A;font:800 .9rem/1 var(--f-body);text-transform:uppercase;letter-spacing:.01em}
  .mf-barre .mf-barre-cta[aria-current="page"]{color:#0A0A0A}
  .mf-barre a:focus-visible{outline:3px solid var(--anis);outline-offset:2px}
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .mf-top{bottom:calc(84px + env(safe-area-inset-bottom))!important}
  .mf-retour{bottom:calc(84px + env(safe-area-inset-bottom))!important}
}
@media print{.mf-barre{display:none!important}}

@media (max-width:767px){.mf-top,.mf-retour{bottom:calc(88px + env(safe-area-inset-bottom))!important}.mf-top{width:42px;height:42px}.mf-retour-btn{width:42px;height:42px;min-height:42px}}

@media (max-width:767px){html body .mf-top,html body .mf-retour{bottom:96px!important;bottom:calc(96px + env(safe-area-inset-bottom))!important}}

/* Pied de page mobile : rien sous les boutons flottants (retour Mo 21/10) */
.foot-bottom a{white-space:nowrap}
@media (max-width:767px){.foot-bottom{padding-bottom:76px}}

/* Tableau comparatif mobile : 1re colonne fixe + indication de glisser (check 24/10) */
@media (max-width:767px){
.tbl-wrap{-webkit-overflow-scrolling:touch}
.tbl-wrap::before{content:"Glissez pour comparer les formules →";display:block;position:sticky;left:0;font-family:var(--mono,monospace);font-size:.75rem;letter-spacing:.04em;opacity:.7;margin:0 0 .6rem;padding-left:12px;width:max-content}
.tbl-wrap table.compare th:first-child,.tbl-wrap table.compare td:first-child{position:sticky;left:0;z-index:1;background:var(--bg,#F4F4EE);box-shadow:6px 0 8px -6px rgba(0,0,0,.25)}
}