/* ══════════════════════════════════════════════════════════
   CREEBS — Design Bento (juillet 2026)
   Chargé après style.css. Les composants utilisent des classes
   propres au design bento ; les pages non migrées gardent style.css.
══════════════════════════════════════════════════════════ */

:root{
  --cream:#f5f1e8;
  --cream2:#ece6d8;
  --paper:#fbf9f4;
  --ink:#1c2b2e;
  --btext:#3c4c4f;
  --bmuted:#4c5c61;
  --navy:#16343b;
  --navy2:#1d434c;
  --teal:#3fb8c5;
  --teal-deep:#0f6e7a;
  --teal-pale:#d3edf0;
  --borange:#ff8a3d;
  --orange-deep:#e8630f;
  --orange-deep-a11y:#a8440a; /* variante foncée pour texte sur --orange-pale (contraste WCAG AA) */
  --orange-pale:#ffe3cd;
  --bred:#d64545;
  --bred-a11y:#b3241f; /* variante foncée pour texte sur fond rose pâle (contraste WCAG AA) */
  --r:22px;
  --r-lg:30px;
}

html{scroll-behavior:smooth;font-size:17px;overflow-x:hidden;}
body{
  font-family:'Inter','Inter-fb',sans-serif;background:var(--cream);color:var(--btext);
  font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;margin:0;
  overflow-x:hidden;max-width:100vw;
}
.bwrap{max-width:1800px;margin:0 auto;padding:0 clamp(1.25rem,2.5vw,2.75rem);}
.bwrap--full{max-width:none;padding:0 clamp(1.25rem,2.5vw,2.75rem);}
.bwrap *,.bwrap--full *{box-sizing:border-box;}
.bh{font-family:'Fraunces','Fraunces-fb',serif;color:var(--ink);font-weight:600;}

/* ───── HEADER (pleine largeur) ───── */
.site-head{
  padding:1.1rem 0;position:sticky;top:0;z-index:100;
  background:rgba(245,241,232,.88);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--cream2);
}
.site-head .bwrap--full{display:flex;align-items:center;gap:2rem;}
.bbrand{display:flex;align-items:center;gap:.7rem;text-decoration:none;}
.bbrand-ico{width:44px;height:44px;border-radius:12px;display:block;box-shadow:0 3px 10px rgba(22,52,59,.25);}
.bbrand-txt{line-height:1.05;}
.bbrand-txt .bn{font-family:'Fraunces','Fraunces-fb',serif;font-weight:700;font-size:1.4rem;color:var(--ink);letter-spacing:-.5px;display:block;}
.bbrand-txt .bn i{font-style:normal;color:var(--teal-deep);}
.bbrand-txt .bt{font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--teal-deep);font-weight:700;display:block;margin-top:.1rem;}
.bnav{display:flex;gap:1.9rem;margin-left:auto;align-items:center;}
.bnav a{font-size:1rem;font-weight:600;color:#2e4046;text-decoration:none;}
.bnav a:hover,.bnav a.active{color:var(--teal-deep);}
.bnav a.bnav-cta{
  background:var(--ink);color:var(--cream);font-weight:700;font-size:.95rem;
  padding:.68rem 1.5rem;border-radius:100px;transition:background .2s;white-space:nowrap;
}
.bnav a.bnav-cta:hover,.bnav a.bnav-cta.active{background:var(--teal-deep);color:#fff;}
.bnav-close{display:none;}
.bnav-toggle{
  display:none;background:var(--ink);border:none;cursor:pointer;
  padding:.7rem .75rem;margin-left:auto;border-radius:12px;
  box-shadow:0 3px 10px rgba(22,52,59,.25);
}
.bnav-toggle span{display:block;width:22px;height:2.5px;background:var(--cream);margin:4.5px 0;border-radius:2px;transition:transform .25s,opacity .2s;}
.bnav-toggle.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.bnav-toggle.active span:nth-child(2){opacity:0;}
.bnav-toggle.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

/* ───── BOUTONS ───── */
.btn{
  font-weight:600;font-size:.92rem;padding:.85rem 1.7rem;border-radius:100px;
  display:inline-flex;align-items:center;gap:.45rem;transition:transform .15s,background .2s,color .2s;
  border:none;cursor:pointer;font-family:'Inter','Inter-fb',sans-serif;text-decoration:none;line-height:1.5;
}
.btn:hover{transform:translateY(-2px);}
.btn-ink{background:var(--ink);color:var(--cream);}
.btn-ink:hover{background:var(--teal-deep);color:var(--cream);}
.btn-line{border:1.5px solid var(--ink);color:var(--ink);background:transparent;}
.btn-line:hover{background:var(--ink);color:var(--cream);}
.btn-org{background:var(--borange);color:var(--ink);font-weight:700;}
.btn-org:hover{background:var(--orange-deep);color:#fff;}

/* ───── HERO BENTO ───── */
.bento{display:grid;gap:1.1rem;padding:1rem 0 1.1rem;grid-template-columns:repeat(12,1fr);}
.b{border-radius:var(--r-lg);overflow:hidden;position:relative;}
.b-title{
  grid-column:span 7;background:var(--paper);
  padding:clamp(2.2rem,4vw,4rem) clamp(2rem,3.5vw,3.5rem);
  display:flex;flex-direction:column;justify-content:center;border:1px solid var(--cream2);
}
.b-title .kicker{font-size:.76rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal-deep);margin-bottom:1.2rem;}
.b-title h1{font-family:'Fraunces','Fraunces-fb',serif;color:var(--ink);font-size:clamp(2.6rem,4.2vw,4.4rem);line-height:1.03;letter-spacing:-1.5px;margin:0 0 .6rem;font-weight:600;}
.b-title h1 em{font-style:italic;color:var(--teal-deep);}
/* Signature de marque, sous le h1 qui porte les mots-clés */
.b-title .hero-baseline{font-family:'Fraunces','Fraunces-fb',serif;font-style:italic;font-size:clamp(1.15rem,1.5vw,1.5rem);color:var(--teal-deep);margin:0 0 1.3rem;max-width:none;}
.b-title p{font-size:clamp(.95rem,1.1vw,1.1rem);color:var(--bmuted);max-width:560px;margin:0 0 2rem;}
.b-btns{display:flex;gap:.7rem;flex-wrap:wrap;}
.b-robot{grid-column:span 5;background:var(--navy);display:flex;align-items:flex-end;justify-content:center;min-height:460px;}
.b-robot .robot-wrap{width:78%;max-width:380px;height:auto;display:block;transition:opacity .25s ease;}
.b-robot img{width:100%;height:auto;display:block;}
.b-robot .tag{
  position:absolute;top:1.5rem;left:1.5rem;font-size:.76rem;font-weight:700;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--teal);border:1px solid rgba(63,184,197,.4);
  padding:.35rem .95rem;border-radius:100px;background:rgba(22,52,59,.6);
}
.b-robot .cms-tags{position:absolute;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.4rem;align-items:flex-end;}
.b-robot .cms-tag{
  font-size:.76rem;font-weight:600;color:#cfe6ea;background:rgba(29,67,76,.85);
  border:1px solid rgba(63,184,197,.25);padding:.25rem .8rem;border-radius:100px;backdrop-filter:blur(4px);
}

/* strip stats + urgence */
.strip{display:grid;grid-template-columns:repeat(12,1fr);gap:1.1rem;padding-bottom:3.5rem;}
.s-stat{grid-column:span 3;background:var(--teal-pale);border-radius:var(--r);padding:1.8rem 2rem;}
.s-stat .n{font-family:'Fraunces','Fraunces-fb',serif;font-size:clamp(2rem,2.4vw,2.7rem);font-weight:700;color:var(--ink);letter-spacing:-1px;line-height:1;}
.s-stat .l{font-size:.82rem;color:var(--teal-deep);font-weight:600;margin-top:.45rem;}
.s-urg{
  grid-column:span 3;background:var(--borange);border-radius:var(--r);padding:1.8rem 2rem;
  display:flex;flex-direction:column;justify-content:center;transition:background .2s;text-decoration:none;
}
.s-urg:hover{background:var(--orange-deep);}
.s-urg b{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.2rem;color:var(--ink);display:block;line-height:1.25;margin-bottom:.3rem;}
.s-urg span{font-size:.84rem;color:#5f2c06;font-weight:600;}
.s-urg:hover b{color:#fff;}
.s-urg:hover span{color:#200d02;}

/* ───── SECTIONS ───── */
.bsection{padding:3.8rem 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2.4rem;flex-wrap:wrap;}
.sec-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal-deep);display:block;margin-bottom:.6rem;}
.sec-h{font-family:'Fraunces','Fraunces-fb',serif;color:var(--ink);font-weight:600;font-size:clamp(1.9rem,2.6vw,2.9rem);letter-spacing:-1px;line-height:1.08;margin:0;}
.sec-h em{font-style:italic;color:var(--teal-deep);}
.sec-sub{font-size:.96rem;color:var(--btext);max-width:400px;margin:0;line-height:1.6;background:var(--paper);border:1px solid var(--cream2);border-radius:16px;padding:.95rem 1.25rem;}


/* services */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.svc{border-radius:var(--r-lg);padding:clamp(2rem,2.6vw,3rem);position:relative;overflow:hidden;transition:transform .2s;}
.svc:hover{transform:translateY(-4px);}
.svc-t{background:var(--navy);color:#cfe6ea;}
.svc-o{background:var(--paper);border:1px solid var(--cream2);}
.svc-badge{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;padding:.38rem 1rem;border-radius:100px;margin-bottom:1.5rem;}
.svc-t .svc-badge{color:var(--teal);border:1px solid rgba(63,184,197,.4);}
.svc-o .svc-badge{color:var(--orange-deep-a11y);background:var(--orange-pale);}
.svc h3{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:clamp(1.5rem,1.8vw,2rem);margin:0 0 .6rem;letter-spacing:-.5px;color:var(--ink);}
.svc-t h3{color:#fff;}
.svc>p{font-size:.9rem;margin:0 0 1.5rem;max-width:520px;}
.svc-t>p{color:#9fbfc6;}
.svc-o>p{color:var(--bmuted);}
.svc-list{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin:0 0 1.7rem;padding:0;}
.svc-list li{display:flex;gap:.6rem;font-size:.87rem;}
.svc-t .svc-list li{color:#b8d3d9;}
.svc-o .svc-list li{color:var(--btext);}
.svc-t .svc-list li::before{content:'✓';color:var(--teal);font-weight:700;}
.svc-o .svc-list li::before{content:'✓';color:var(--orange-deep);font-weight:700;}
.svc-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.svc-price{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.6rem;font-weight:700;}
.svc-t .svc-price{color:var(--teal);}
.svc-o .svc-price{color:var(--ink);}
.svc-price small{font-size:.78rem;font-weight:400;font-family:'Inter','Inter-fb',sans-serif;}
.svc-go{font-size:.87rem;font-weight:700;padding-bottom:2px;text-decoration:none;}
.svc-t .svc-go{color:#fff;border-bottom:2px solid var(--teal);}
.svc-o .svc-go{color:var(--ink);border-bottom:2px solid var(--borange);}

/* erreurs */
.err-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.err{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r);padding:1.9rem;transition:transform .2s,background .2s;}
.err:hover{transform:translateY(-4px);background:#fff;}
.err-code{
  font-size:.74rem;font-weight:700;letter-spacing:1px;color:var(--bred-a11y);
  background:#fbeaea;padding:.27rem .75rem;border-radius:100px;display:inline-block;margin-bottom:.95rem;
}
.err h4{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.15rem;color:var(--ink);margin:0 0 .4rem;font-weight:600;}
.err p{font-size:.84rem;color:var(--bmuted);margin:0;}
.scope{margin-top:1.1rem;background:var(--teal-pale);border-radius:var(--r);padding:2rem 2.4rem;display:flex;gap:1.3rem;align-items:flex-start;}
.scope-ico{font-size:1.7rem;flex-shrink:0;}
.scope h4{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.2rem;color:var(--ink);margin:0 0 .4rem;font-weight:600;}
.scope p{font-size:.88rem;color:var(--teal-deep);margin:0;}
.scope strong{color:var(--ink);}

/* process */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.step{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r);padding:2.2rem;position:relative;}
.step-n{
  font-family:'Fraunces','Fraunces-fb',serif;font-size:3.8rem;font-weight:700;line-height:1;
  color:var(--teal-pale);position:absolute;top:1.3rem;right:1.7rem;-webkit-text-stroke:1.5px var(--teal-deep);
}
.step h3{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:var(--ink);font-size:1.35rem;margin:0 0 .5rem;letter-spacing:-.3px;position:relative;z-index:1;}
.step p{font-size:.88rem;color:var(--bmuted);position:relative;z-index:1;max-width:88%;margin:0;}

/* trio tarifs */
.trio{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.1rem;margin-bottom:1.1rem;}
.trio-card{border-radius:var(--r-lg);padding:2.2rem;display:flex;flex-direction:column;}
.trio-a{background:var(--paper);border:1px solid var(--cream2);}
.trio-mid{background:var(--navy);color:#cfe6ea;position:relative;}
.trio-badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--borange);color:var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.5px;
  padding:.35rem 1.1rem;border-radius:100px;white-space:nowrap;
}
.trio-tag{font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:.5rem;}
.trio-a .trio-tag{color:var(--bmuted);}
.trio-mid .trio-tag{color:var(--teal);}
.trio-card h3{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:var(--ink);font-size:1.5rem;letter-spacing:-.5px;margin:0 0 .15rem;}
.trio-mid h3{color:#fff;}
.trio-desc{font-size:.83rem;margin:0 0 1.5rem;}
.trio-a .trio-desc{color:var(--bmuted);}
.trio-mid .trio-desc{color:#9fbfc6;}
.trio-rows{display:flex;flex-direction:column;flex:1;}
.trio-row{display:flex;justify-content:space-between;align-items:center;padding:.72rem 0;font-size:.9rem;}
.trio-a .trio-row{border-bottom:1px solid var(--cream2);color:var(--btext);}
.trio-mid .trio-row{border-bottom:1px solid rgba(255,255,255,.1);color:#b8d3d9;}
.trio-row:last-child{border-bottom:none !important;}
.trio-prix{font-family:'Fraunces','Fraunces-fb',serif;font-weight:700;font-size:1.08rem;}
.trio-a .trio-prix{color:var(--ink);}
.trio-mid .trio-prix{color:var(--teal);}
.trio-prix .sep{font-family:'Inter','Inter-fb',sans-serif;font-weight:400;font-size:.78rem;opacity:.5;padding:0 .15rem;}
.trio-foot{margin-top:1.4rem;font-size:.8rem;font-weight:600;text-align:center;border-radius:100px;padding:.6rem 1rem;}
.trio-a .trio-foot{background:var(--cream);color:var(--bmuted);}
.trio-mid .trio-foot{background:rgba(63,184,197,.15);color:var(--teal);}
.ecom-band{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between;background:var(--navy);color:#cfe6ea;border-radius:var(--r-lg);padding:2rem 2.2rem;margin-bottom:1.1rem;}
.ecom-band-txt{flex:1;min-width:260px;}
.ecom-band-txt .trio-tag{color:var(--teal);display:block;}
.ecom-band-txt h3{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:#fff;font-size:1.5rem;letter-spacing:-.5px;margin:0 0 .3rem;}
.ecom-band-txt p{font-size:.85rem;color:#9fbfc6;margin:0;max-width:56ch;line-height:1.55;}
.ecom-band-prices{display:flex;gap:1rem;flex-wrap:wrap;}
.ecom-price{background:rgba(63,184,197,.12);border:1px solid rgba(63,184,197,.3);border-radius:var(--r);padding:1rem 1.5rem;text-align:center;min-width:130px;}
.ecom-price span{display:block;font-size:.78rem;color:#9fbfc6;margin-bottom:.35rem;}
.ecom-price b{font-family:'Fraunces','Fraunces-fb',serif;font-weight:700;font-size:1.6rem;color:var(--teal);}
.notes{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.note{border-radius:var(--r);padding:1.4rem 1.9rem;font-size:.9rem;display:flex;gap:.85rem;align-items:flex-start;line-height:1.55;}
.note-t{background:var(--teal-pale);color:#10616b;border-left:3px solid var(--teal);}
.note-t strong{color:var(--ink);}
.note-o{background:var(--orange-pale);color:#8a4a12;border-left:3px solid var(--borange);}
.note-o strong{color:var(--ink);}

/* détail formules */
.tarif-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.1rem;}
.tarif{border-radius:var(--r-lg);padding:clamp(2rem,2.5vw,2.8rem);}
.tarif-a{background:var(--paper);border:1px solid var(--cream2);}
.tarif-b{background:var(--teal-pale);position:relative;}
.tarif-tag{font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:.5rem;color:var(--bmuted);}
.tarif-b .tarif-tag{color:var(--teal-deep);}
.tarif h3{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:var(--ink);font-size:1.45rem;letter-spacing:-.5px;margin:0 0 1.2rem;}
.tf-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;}
.tf-list li{display:flex;gap:.6rem;font-size:.87rem;color:var(--btext);}
.tf-list li.ok::before{content:'✓';font-weight:700;color:var(--teal-deep);}
.tf-list li.no{opacity:.45;}
.tf-list li.no::before{content:'✗';}
.tf-list li strong{font-weight:700;color:var(--ink);}
.provide{border-radius:14px;padding:.9rem 1.2rem;font-size:.79rem;margin-top:1.3rem;background:var(--cream);color:var(--bmuted);}
.tarif-b .provide{background:rgba(255,255,255,.6);}
.provide strong{display:block;color:var(--ink);}

/* table tarifs */
.tbl-card{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r);overflow:hidden;margin-bottom:1.1rem;}
.tbl-card table{width:100%;border-collapse:collapse;}
.tbl-card th{font-family:'Fraunces','Fraunces-fb',serif;font-size:.95rem;font-weight:600;color:var(--ink);text-align:left;padding:1rem 1.6rem;border-bottom:2px solid var(--ink);}
.tbl-card td{padding:.85rem 1.6rem;font-size:.88rem;border-bottom:1px solid var(--cream2);color:var(--btext);}
.tbl-card tr:last-child td{border-bottom:none;}
.tbl-card td b{color:var(--ink);}
.tbl-card .val{font-family:'Fraunces','Fraunces-fb',serif;font-weight:700;color:var(--teal-deep);}
.tbl-card .val2{font-family:'Fraunces','Fraunces-fb',serif;font-weight:700;color:var(--ink);}

/* prix affiché dans les cartes formules */
.tarif-price{font-family:'Fraunces','Fraunces-fb',serif;font-size:2.4rem;font-weight:700;color:var(--ink);letter-spacing:-1px;line-height:1;margin:0 0 1.2rem;}
.tarif-price .pre{display:block;font-size:.8rem;font-family:'Inter','Inter-fb',sans-serif;font-weight:500;letter-spacing:0;color:var(--bmuted);margin-bottom:.3rem;}
.tarif-price small{font-size:.9rem;font-family:'Inter','Inter-fb',sans-serif;font-weight:400;opacity:.6;}
.tarif-b .tarif-price{color:var(--teal-deep);}
.tarif-ideal{font-size:.82rem;color:var(--bmuted);font-style:italic;margin:1rem 0 0;}
.tarif-reco{
  position:absolute;top:1.6rem;right:1.6rem;background:var(--borange);color:var(--ink);
  font-size:.74rem;font-weight:700;letter-spacing:.5px;padding:.3rem .9rem;border-radius:100px;
}

/* ───── CALCULATEUR ───── */
.calc{
  background:var(--navy);border-radius:var(--r-lg);padding:clamp(2.2rem,3vw,3.5rem);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,3vw,4rem);position:relative;overflow:hidden;
}
.calc::after{
  content:'';position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(63,184,197,.15),transparent 65%);
  top:-300px;right:-200px;pointer-events:none;
}
.calc-left{position:relative;z-index:1;}
.calc-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:.7rem;}
.calc h2{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:clamp(1.8rem,2.4vw,2.6rem);color:#fff;letter-spacing:-1px;line-height:1.1;margin:0 0 .8rem;}
.calc h2 em{font-style:italic;color:var(--teal);}
.calc-sub{font-size:.92rem;color:#9fbfc6;margin:0 0 2rem;}
.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.6rem;}
.calc-field label{display:block;font-size:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#7ea9b2;margin-bottom:.45rem;}
.calc-select{
  width:100%;background:var(--navy2);border:1px solid rgba(63,184,197,.3);color:#fff;
  font-family:'Inter','Inter-fb',sans-serif;font-size:.92rem;font-weight:500;
  padding:.8rem 1rem;border-radius:12px;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233fb8c5' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;
}
.calc-select:focus{outline:2px solid var(--teal);outline-offset:1px;}
.calc-slider-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;}
.calc-slider-head label{font-size:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#7ea9b2;}
.sites-input{
  width:76px;background:var(--navy2);border:1px solid rgba(63,184,197,.3);color:var(--teal);
  font-family:'Fraunces','Fraunces-fb',serif;font-size:1.15rem;font-weight:700;text-align:center;
  padding:.4rem;border-radius:10px;
}
.sites-input:focus{outline:2px solid var(--teal);}
.calc input[type=range]{
  width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;
  background:linear-gradient(90deg,var(--teal) var(--fill,0%),var(--navy2) var(--fill,0%));
  cursor:pointer;margin-bottom:.4rem;
}
.calc input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;
  background:var(--teal);border:4px solid var(--navy);
  box-shadow:0 0 0 2px var(--teal),0 4px 12px rgba(0,0,0,.4);
}
.calc input[type=range]::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;background:var(--teal);border:4px solid var(--navy);
  box-shadow:0 0 0 2px var(--teal);
}
.calc-slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#7ea9b2;}
.calc-note{font-size:.8rem;color:#7ea9b2;margin-top:1.6rem;}
.calc-note strong{color:#fff;}
.calc-result{
  background:var(--paper);border-radius:var(--r);padding:clamp(1.8rem,2.2vw,2.6rem);
  display:flex;flex-direction:column;justify-content:center;position:relative;z-index:1;align-self:stretch;
}
.cr-label{font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--bmuted);margin-bottom:.4rem;}
.cr-total{font-family:'Fraunces','Fraunces-fb',serif;font-size:clamp(3.4rem,4.5vw,5rem);font-weight:700;color:var(--ink);letter-spacing:-2px;line-height:1;margin-bottom:1.6rem;}
.cr-total small{font-size:2rem;letter-spacing:0;}
.cr-row{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-top:1px solid var(--cream2);font-size:.9rem;color:var(--bmuted);}
.cr-row b{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.15rem;color:var(--ink);}
.cr-eco{display:none;}
.cr-eco.on{display:flex;}
.cr-eco b{color:var(--teal-deep);}
.cr-eco-badge{
  display:none;position:absolute;top:1.4rem;right:1.4rem;
  background:var(--borange);color:var(--ink);font-size:.76rem;font-weight:700;
  padding:.3rem .9rem;border-radius:100px;transform:rotate(3deg);
}
.cr-eco-badge.on{display:block;}
.cr-cta{margin-top:1.6rem;}

/* réparation */
.rep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.rep{border-radius:var(--r);padding:2.2rem;background:var(--paper);border:1px solid var(--cream2);transition:transform .2s;}
.rep:hover{transform:translateY(-4px);}
.rep:nth-child(1){background:var(--teal-pale);border:none;}
.rep-ico{font-size:1.8rem;margin-bottom:.9rem;}
.rep h3{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:var(--ink);font-size:1.35rem;margin:0 0 .45rem;letter-spacing:-.3px;}
.rep-range{font-family:'Fraunces','Fraunces-fb',serif;font-weight:700;font-size:1.85rem;color:var(--ink);margin-bottom:.5rem;letter-spacing:-.5px;}
.rep-range .min{color:var(--teal-deep);}
.rep-range .sep{font-size:1.05rem;opacity:.4;padding:0 .3rem;font-family:'Inter','Inter-fb',sans-serif;font-weight:400;}
.rep p{font-size:.84rem;color:var(--bmuted);margin:0;}
.rep:nth-child(1) p{color:var(--teal-deep);}

/* CMS */
.cms-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.cms-card{border-radius:var(--r);padding:2.2rem;}
.cms-card.ok{background:var(--navy);color:#cfe6ea;}
.cms-card.ko{background:var(--paper);border:1px solid var(--cream2);}
.cms-label{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:1.3rem;margin-bottom:1.2rem;}
.cms-card.ok .cms-label{color:#fff;}
.cms-card.ko .cms-label{color:var(--ink);}
.cms-item{display:flex;gap:.7rem;font-size:.92rem;padding:.5rem 0;align-items:center;}
.cms-card.ok .cms-item{border-bottom:1px solid rgba(255,255,255,.09);}
.cms-card.ko .cms-item{border-bottom:1px solid var(--cream2);color:var(--bmuted);}
.cms-item:last-of-type{border-bottom:none !important;}
.ok-i{color:var(--teal);font-weight:700;}
.ko-i{opacity:.4;}
.cms-note{font-size:.77rem;color:var(--bmuted);font-style:italic;margin-top:.8rem;}

/* maintenance */
.maint-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.1rem;align-items:stretch;}
.maint-pitch{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r-lg);padding:clamp(2rem,2.8vw,3rem);}
.maint-pitch h3{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:var(--ink);font-size:clamp(1.4rem,1.8vw,1.8rem);letter-spacing:-.5px;margin:0 0 .7rem;}
.maint-pitch>p{font-size:.92rem;color:var(--bmuted);margin:0 0 1.5rem;max-width:560px;}
.maint-list{list-style:none;display:flex;flex-direction:column;gap:.9rem;margin:0;padding:0;}
.maint-list li{display:flex;gap:.9rem;font-size:.9rem;color:var(--btext);align-items:flex-start;}
.maint-list .m-ico{
  width:34px;height:34px;border-radius:10px;background:var(--teal-pale);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.maint-list b{color:var(--ink);display:block;}
.maint-list span.m-txt{display:block;}
.maint-price{
  background:var(--teal-pale);border-radius:var(--r-lg);padding:clamp(2rem,2.8vw,3rem);
  display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;
}
.maint-price .mp-tag{font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--teal-deep);margin-bottom:.8rem;}
.mp-price{font-family:'Fraunces','Fraunces-fb',serif;font-size:clamp(2.6rem,3.5vw,3.6rem);font-weight:700;color:var(--ink);letter-spacing:-1.5px;line-height:1;}
.mp-price small{font-size:1.05rem;font-family:'Inter','Inter-fb',sans-serif;font-weight:500;letter-spacing:0;color:var(--teal-deep);}
.mp-sub{font-size:.85rem;color:var(--teal-deep);margin:.6rem 0 1.4rem;}
.mp-rows{border-top:1px solid rgba(23,126,138,.2);margin-bottom:1.6rem;}
.mp-row{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid rgba(23,126,138,.2);font-size:.88rem;color:var(--btext);}
.mp-row b{font-family:'Fraunces','Fraunces-fb',serif;color:var(--ink);font-size:1.05rem;}
.mp-note{font-size:.76rem;color:var(--teal-deep);margin-top:1rem;font-style:italic;}

/* cas récents */
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.case{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r);padding:2rem 2.2rem;transition:transform .2s,background .2s;}
.case:hover{transform:translateY(-3px);background:#fff;}
.case-tags{display:flex;gap:.5rem;margin-bottom:1rem;}
.case-cms{font-size:.74rem;font-weight:700;letter-spacing:.5px;color:var(--teal-deep);background:var(--teal-pale);padding:.25rem .75rem;border-radius:100px;}
.case-type{font-size:.74rem;font-weight:700;letter-spacing:.5px;color:var(--orange-deep-a11y);background:var(--orange-pale);padding:.25rem .75rem;border-radius:100px;}
.case h4{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.25rem;color:var(--ink);margin:0 0 1.1rem;font-weight:600;letter-spacing:-.3px;}
.case-row{display:flex;gap:1rem;font-size:.86rem;padding:.42rem 0;border-bottom:1px dashed var(--cream2);}
.case-row b{flex-shrink:0;width:92px;color:var(--bmuted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;padding-top:.1rem;}
.case-row span{color:var(--btext);}
.case-foot{display:flex;justify-content:space-between;align-items:center;margin-top:1.2rem;}
.case-verdict{font-size:.88rem;font-weight:700;color:var(--teal-deep);}
.case-price{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.35rem;font-weight:700;color:var(--ink);}
.case-price small{font-size:.76rem;font-family:'Inter','Inter-fb',sans-serif;font-weight:400;color:var(--bmuted);}

/* badge google */
.gbadge{
  display:inline-flex;align-items:center;gap:.7rem;background:var(--paper);
  border:1px solid var(--cream2);border-radius:100px;padding:.65rem 1.4rem;
  font-size:.88rem;color:var(--bmuted);transition:transform .15s,background .2s;text-decoration:none;
}
.gbadge:hover{transform:translateY(-2px);background:#fff;}
.gbadge .stars{color:#c47d00;letter-spacing:1px;}
.gbadge b{color:var(--ink);font-size:1rem;}
.gbadge .g-arrow{color:var(--teal-deep);font-weight:700;}

/* témoignages */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.testi{border-radius:var(--r);padding:2.2rem;background:var(--paper);border:1px solid var(--cream2);display:flex;flex-direction:column;}
.testi--feat{background:var(--orange-pale);border:none;}
.testi-quote{font-family:'Fraunces','Fraunces-fb',serif;font-size:2.8rem;line-height:.6;color:var(--borange);margin-bottom:1rem;font-weight:700;}
.testi--feat .testi-quote{color:var(--orange-deep);}
.testi p{font-size:.9rem;color:var(--btext);margin:0 0 1.4rem;flex:1;font-style:italic;}
.testi-auth b{display:block;font-size:.87rem;color:var(--ink);}
.testi-auth span{font-size:.75rem;color:var(--bmuted);}
.testi-stars{color:var(--orange-deep);font-size:.8rem;letter-spacing:2px;margin-top:.3rem;}

/* why */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.why{border-radius:var(--r);padding:2rem;background:var(--paper);border:1px solid var(--cream2);transition:transform .2s;}
.why:hover{transform:translateY(-3px);}
.why:nth-child(3){background:var(--teal-pale);border:none;}
.why:nth-child(5){background:var(--orange-pale);border:none;}
.why-ico{font-size:1.5rem;margin-bottom:.9rem;}
.why h4{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.15rem;color:var(--ink);margin:0 0 .4rem;font-weight:600;}
.why p{font-size:.84rem;color:var(--bmuted);margin:0;}
.why:nth-child(3) p{color:var(--teal-deep);}
.why:nth-child(5) p{color:#8a4a12;}

/* guides */
.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
.guide{
  background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r);
  padding:1.9rem;display:flex;flex-direction:column;gap:.6rem;
  transition:transform .2s,background .2s;text-decoration:none;
}
.guide:hover{transform:translateY(-4px);background:#fff;}
.g-eyebrow{font-size:.74rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal-deep);}
.guide h4{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.2rem;color:var(--ink);font-weight:600;letter-spacing:-.3px;line-height:1.3;margin:0;}
.guide p{font-size:.83rem;color:var(--bmuted);flex:1;margin:0;}
.g-link{font-size:.85rem;font-weight:700;color:var(--ink);border-bottom:2px solid var(--borange);align-self:flex-start;padding-bottom:1px;}

/* ───── FAQ ───── */
.faq-blayout{display:grid;grid-template-columns:260px 1fr;gap:clamp(1.5rem,3vw,3.5rem);align-items:start;}
.faq-bnav{position:sticky;top:96px;}
.faq-nav-card{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r);padding:1.6rem;}
.faq-nav-card h4{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.05rem;color:var(--ink);margin:0 0 .9rem;}
.faq-nav-card a{
  display:flex;align-items:center;gap:.6rem;font-size:.88rem;font-weight:500;color:var(--bmuted);
  padding:.5rem .8rem;border-radius:10px;transition:background .15s,color .15s;text-decoration:none;
}
.faq-nav-card a:hover{background:var(--cream);color:var(--ink);}
.faq-bgroup{margin-bottom:2.4rem;}
.faq-group-title{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:1.5rem;color:var(--ink);margin:0 0 1.1rem;letter-spacing:-.4px;scroll-margin-top:110px;}
.faq-bitem{background:var(--paper);border:1px solid var(--cream2);border-radius:18px;margin-bottom:.7rem;overflow:hidden;transition:background .2s;}
.faq-bitem.open{background:#fff;}
.faq-bq{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1.15rem 1.6rem;cursor:pointer;font-weight:600;font-size:.95rem;color:var(--ink);user-select:none;
}
.faq-btoggle{
  width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--teal-pale);color:var(--teal-deep);
  display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:600;
  transition:transform .25s,background .2s,color .2s;
}
.faq-bitem.open .faq-btoggle{transform:rotate(45deg);background:var(--borange);color:var(--ink);}
.faq-ba{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-ba-in{padding:0 1.6rem 1.4rem;font-size:.89rem;color:var(--bmuted);}
.faq-ba-in p{margin:0 0 .6rem;}
.faq-ba-in p:last-child{margin-bottom:0;}
.faq-ba-in strong{color:var(--ink);}
.faq-ba-in ul{margin:.4rem 0 .6rem 1.2rem;padding:0;}
.faq-ba-in li{margin-bottom:.25rem;}

/* ───── CONTACT ───── */
.contact-bgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.1rem;align-items:stretch;}
.form-card{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r-lg);padding:clamp(2rem,2.8vw,3rem);}
.form-brow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-bgroup{margin-bottom:1.15rem;}
.form-bgroup label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--bmuted);margin-bottom:.4rem;}
.form-card .form-input,.form-card .form-select,.form-card .form-textarea{
  width:100%;box-sizing:border-box;background:#fff;border:1.5px solid var(--cream2);border-radius:13px;
  font-family:'Inter','Inter-fb',sans-serif;font-size:.92rem;color:var(--ink);padding:.8rem 1rem;transition:border-color .2s;
}
.form-card .form-input:focus:not(:focus-visible),.form-card .form-select:focus:not(:focus-visible),.form-card .form-textarea:focus:not(:focus-visible){outline:none;border-color:var(--teal);}
.form-card .form-textarea{resize:vertical;min-height:130px;}
.check-urgence{
  display:flex;align-items:center;gap:.7rem;background:var(--orange-pale);border-radius:13px;
  padding:.9rem 1.1rem;margin-bottom:1.3rem;cursor:pointer;font-size:.87rem;font-weight:600;color:#8a4a12;
}
.check-urgence input{width:18px;height:18px;accent-color:var(--orange-deep);cursor:pointer;}
.contact-side{display:flex;flex-direction:column;gap:1.1rem;}
.side-card{border-radius:var(--r);padding:1.9rem;flex:1;}
.side-mail{background:var(--navy);}
.side-mail h4{color:#fff;}
.side-mail p{color:#9fbfc6;}
.side-mail a{color:var(--teal);font-weight:700;font-size:1.05rem;text-decoration:none;}
.side-urg{background:var(--borange);}
.side-urg h4,.side-urg p{color:var(--ink);}
.side-delay{background:var(--teal-pale);}
.side-delay h4{color:var(--ink);}
.side-delay p{color:var(--teal-deep);}
.side-card h4{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:1.2rem;margin:0 0 .4rem;}
.side-card p{font-size:.86rem;margin:0;}
.side-ico{font-size:1.5rem;margin-bottom:.7rem;display:block;}

/* ───── ARTICLE / GUIDES ───── */
.article-grid{display:grid;grid-template-columns:1fr 360px;gap:1.1rem;align-items:start;padding:1rem 0 4rem;max-width:1240px;margin:0 auto;}
.article{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r-lg);padding:clamp(2rem,3.5vw,4rem);font-size:16px;}
.crumb{font-size:.8rem;color:var(--bmuted);margin-bottom:1.6rem;}
.crumb a{color:var(--teal-deep);font-weight:600;text-decoration:none;}
.crumb span{opacity:.5;padding:0 .4rem;}
.a-tags{display:flex;gap:.5rem;margin-bottom:1.2rem;}
.a-tag{font-size:.74rem;font-weight:700;letter-spacing:.5px;color:var(--teal-deep);background:var(--teal-pale);padding:.25rem .8rem;border-radius:100px;}
.a-tag.red{color:var(--bred-a11y);background:#fbeaea;}
.article h1{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:var(--ink);font-size:clamp(2rem,3.2vw,3.2rem);letter-spacing:-1px;line-height:1.1;margin:0 0 1rem;}
.article h1 em{font-style:italic;color:var(--teal-deep);}
.article .lead{font-size:1.1rem;color:var(--bmuted);margin:0 0 2rem;}
.a-meta{display:flex;gap:1.4rem;font-size:.8rem;color:var(--bmuted);padding-bottom:2rem;border-bottom:1px solid var(--cream2);margin-bottom:2.4rem;flex-wrap:wrap;}
.a-illu{background:var(--cream);border-radius:18px;padding:1.6rem;text-align:center;margin-bottom:2rem;}
.a-illu img{max-width:min(400px,100%);height:auto;filter:drop-shadow(0 8px 20px rgba(22,52,59,.12));}
.a-meta b{color:var(--ink);}
.article h2{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:var(--ink);font-size:1.6rem;letter-spacing:-.5px;margin:2.6rem 0 .9rem;}
.article h2 .n{color:var(--teal-deep);font-style:italic;margin-right:.4rem;}
.article p{margin:0 0 1rem;}
.article ul,.article ol{margin:0 0 1rem 1.4rem;padding:0;}
.article li{margin-bottom:.45rem;}
.article strong{color:var(--ink);}
.article code{
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85em;
  background:var(--cream);border:1px solid var(--cream2);padding:.1em .45em;border-radius:6px;color:var(--ink);
}
.warn{
  background:var(--orange-pale);border-radius:16px;padding:1.2rem 1.5rem;font-size:.92rem;
  color:#8a4a12;margin:1.4rem 0;display:flex;gap:.8rem;align-items:flex-start;
}
.warn strong{color:var(--ink);}
.tip{
  background:var(--teal-pale);border-radius:16px;padding:1.2rem 1.5rem;font-size:.92rem;
  color:var(--teal-deep);margin:1.4rem 0;display:flex;gap:.8rem;align-items:flex-start;
}
.tip strong{color:var(--ink);}
.a-cta{background:var(--navy);border-radius:var(--r);padding:2.4rem;margin-top:3rem;position:relative;overflow:hidden;}
.a-cta::after{
  content:'';position:absolute;width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(63,184,197,.2),transparent 65%);
  bottom:-200px;right:-100px;pointer-events:none;
}
.a-cta h3{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:#fff;font-size:1.5rem;letter-spacing:-.4px;margin:0 0 .5rem;position:relative;z-index:1;}
.a-cta h3 em{font-style:italic;color:var(--teal);}
.a-cta p{color:#9fbfc6;font-size:.92rem;margin:0 0 1.4rem;position:relative;z-index:1;}
.a-cta .btn{position:relative;z-index:1;}
.baside{display:flex;flex-direction:column;gap:1.1rem;position:sticky;top:96px;}
.aside-card{border-radius:var(--r);padding:1.8rem;}
.aside-sos{background:var(--borange);}
.aside-sos h4{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:1.25rem;color:var(--ink);margin:0 0 .4rem;}
.aside-sos p{font-size:.85rem;color:#7c3f10;margin:0 0 1rem;}
.aside-sos .btn-ink{width:100%;justify-content:center;}
.aside-price{background:var(--paper);border:1px solid var(--cream2);}
.aside-price h4{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:1.05rem;color:var(--ink);margin:0 0 .8rem;}
.ap-row{display:flex;justify-content:space-between;font-size:.88rem;padding:.5rem 0;border-bottom:1px dashed var(--cream2);}
.ap-row:last-of-type{border-bottom:none;}
.ap-row b{font-family:'Fraunces','Fraunces-fb',serif;color:var(--teal-deep);}
.ap-note{font-size:.75rem;color:var(--bmuted);font-style:italic;margin-top:.6rem;}
.aside-more{background:var(--teal-pale);}
.aside-more h4{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:1.05rem;color:var(--ink);margin:0 0 .8rem;}
.aside-more a{display:block;font-size:.87rem;font-weight:600;color:var(--teal-deep);padding:.45rem 0;border-bottom:1px solid rgba(23,126,138,.15);text-decoration:none;}
.aside-more a:last-child{border-bottom:none;}
.aside-more a:hover{color:var(--ink);}

/* ───── CTA FINAL + FOOTER ───── */
.bcta{padding:2rem 0 4rem;}
.cta-card{
  background:var(--navy);border-radius:var(--r-lg);padding:clamp(3rem,4.5vw,5rem) 3rem;
  text-align:center;position:relative;overflow:hidden;
}
.cta-card::after{
  content:'';position:absolute;width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle,rgba(63,184,197,.22),transparent 65%);
  bottom:-280px;left:50%;transform:translateX(-50%);
}
.cta-in{position:relative;z-index:1;}
.cta-card h2{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:clamp(2rem,3vw,3.2rem);color:#fff;letter-spacing:-1px;line-height:1.12;margin:0 0 .8rem;}
.cta-card h2 em{font-style:italic;color:var(--teal);}
.cta-card>.cta-in>p{color:#9fbfc6;margin:0 0 2.2rem;font-size:.96rem;}
.cta-chips{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-bottom:2.4rem;}
.cta-chip{font-size:.76rem;font-weight:600;color:#cfe6ea;border:1px solid rgba(255,255,255,.18);padding:.38rem 1.05rem;border-radius:100px;}
/* footer pleine largeur, fond navy bord à bord */
.site-foot{
  background:var(--navy);margin-top:2rem;
  padding:clamp(2.5rem,4vw,4rem) 0 2rem;position:relative;overflow:hidden;
}
.site-foot::after{
  content:'';position:absolute;width:640px;height:640px;border-radius:50%;
  background:radial-gradient(circle,rgba(63,184,197,.12),transparent 65%);
  top:-320px;right:-160px;pointer-events:none;
}
.site-foot>*{position:relative;z-index:1;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem;}
.foot-brand .bbrand-txt .bn{color:#fff;}
.foot-brand .bbrand-txt .bn i{color:var(--teal);}
.foot-brand .bbrand-txt .bt{color:var(--teal);}
.foot-brand p{font-size:.86rem;color:#9fbfc6;margin:.8rem 0 0;max-width:300px;}
.foot-guarantee{
  display:inline-block;margin-top:1rem;font-size:.78rem;font-weight:700;
  color:var(--teal);background:rgba(63,184,197,.12);border:1px solid rgba(63,184,197,.3);
  padding:.32rem .95rem;border-radius:100px;
}
.foot-col h4{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;font-size:1.02rem;color:#fff;margin:0 0 .9rem;}
.foot-col ul{list-style:none;margin:0;padding:0;}
.foot-col li{font-size:.87rem;color:#9fbfc6;padding:.3rem 0;}
.foot-col a{color:#9fbfc6;text-decoration:none;transition:color .15s;}
.foot-col a:hover{color:var(--teal);}
.foot-in{
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;
  color:#8aa5ac;font-size:.8rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.6rem;
}
.foot-links{display:flex;gap:1.4rem;flex-wrap:wrap;}
.foot-links a{color:#9fbfc6;text-decoration:none;}
.foot-links a:hover{color:var(--teal);}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr;}}

/* ───── RESPONSIVE ───── */
@media(max-width:1000px){
  .b-title{grid-column:span 12;}
  .b-robot{grid-column:span 12;min-height:360px;}
  .s-stat,.s-urg{grid-column:span 6;}
  .svc-grid,.tarif-grid,.cms-grid,.notes,.calc,.contact-bgrid,.maint-grid,.case-grid,.article-grid{grid-template-columns:1fr;}
  .trio{grid-template-columns:1fr;}
  .err-grid,.steps,.rep-grid,.testi-grid,.why-grid{grid-template-columns:1fr 1fr;}
  .guide-grid{grid-template-columns:1fr 1fr;}
  .faq-blayout{grid-template-columns:1fr;}
  .faq-bnav,.baside{position:static;}

  /* menu mobile (menu.js : #nav.active / #navToggle.active) */
  /* backdrop-filter emprisonne les position:fixed -> on le retire sur mobile */
  .site-head{backdrop-filter:none;background:var(--cream);}
  .bnav-toggle{display:block;position:relative;z-index:100;}
  .bnav{
    position:fixed;inset:0;top:0;background:var(--navy);
    flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;
    transform:translateX(100%);transition:transform .3s ease,visibility .3s;z-index:99;margin-left:0;
    visibility:hidden;
  }
  .bnav.active{transform:translateX(0);visibility:visible;}
  .bnav-close{
    display:flex;align-items:center;justify-content:center;
    position:absolute;top:max(1.2rem, env(safe-area-inset-top));right:1.3rem;
    width:46px;height:46px;border-radius:50%;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
    color:var(--cream);font-size:1.25rem;cursor:pointer;
  }
  .bnav a{color:var(--cream);font-size:1.3rem;font-weight:600;}
  .bnav a:hover,.bnav a.active{color:var(--teal);}
  .bnav a.bnav-cta{background:var(--borange);color:var(--ink);}
  .bnav-toggle.active span{background:var(--cream);}
  body.menu-open #cw{display:none;}
  .bnav a{font-size:1.15rem;}
  .bnav-toggle{position:relative;z-index:100;}
}
@media(max-width:640px){
  .s-stat,.s-urg{grid-column:span 12;}
  .err-grid,.steps,.rep-grid,.testi-grid,.why-grid,.guide-grid,.calc-fields,.form-brow{grid-template-columns:1fr;}
}

/* ══════════ WIDGET CHAT ══════════ */
#cw{position:fixed;bottom:1.3rem;right:1.3rem;z-index:900;font-family:'Inter','Inter-fb',sans-serif;}
#cwBtn{
  width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;
  background:var(--navy);color:#fff;font-size:1.5rem;position:relative;
  box-shadow:0 8px 24px rgba(22,52,59,.35);transition:transform .15s;
}
#cwBtn:hover{transform:scale(1.06);}
#cwDot{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:var(--borange);border:2.5px solid var(--cream);display:none;}
#cwDot.on{display:block;}
#cwPanel{
  display:none;position:absolute;bottom:74px;right:0;width:min(360px,calc(100vw - 2rem));
  height:min(520px,calc(100vh - 120px));background:var(--paper);border:1px solid var(--cream2);
  border-radius:22px;box-shadow:0 24px 64px rgba(22,52,59,.25);overflow:hidden;
  flex-direction:column;
}
#cw.open #cwPanel{display:flex;}
#cwHead{background:var(--navy);padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem;}
#cwHead b{font-family:'Fraunces','Fraunces-fb',serif;color:#fff;font-size:1.1rem;display:block;line-height:1.2;}
#cwStatus{font-size:.75rem;color:#9fbfc6;display:block;}
#cwClose{
  background:rgba(255,255,255,.1);border:none;color:#fff;font-size:1rem;cursor:pointer;
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
}
#cwBody{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.5rem;}
#cwIntro p{font-size:.85rem;color:var(--btext);background:var(--teal-pale);border-radius:14px;border-bottom-left-radius:5px;padding:.7rem .95rem;margin:0 0 .6rem;}
#cwIntro input{
  width:100%;box-sizing:border-box;background:#fff;border:1.5px solid var(--cream2);border-radius:12px;
  font-size:.85rem;font-family:'Inter','Inter-fb',sans-serif;padding:.6rem .85rem;margin-bottom:.5rem;
}
#cwIntro input:focus:not(:focus-visible){outline:none;border-color:var(--teal);}
#cwIntro.done input{display:none;}
#cwIntro.done p{display:none;}
#cwMsgs{display:flex;flex-direction:column;gap:.45rem;}
.cw-m{max-width:85%;padding:.6rem .9rem;font-size:.87rem;border-radius:15px;word-wrap:break-word;line-height:1.5;}
.cw-m.visitor{align-self:flex-end;background:var(--navy);color:#e8f2f4;border-bottom-right-radius:5px;}
.cw-m.admin{align-self:flex-start;background:var(--teal-pale);color:var(--ink);border-bottom-left-radius:5px;}
#cwCompose{display:flex;gap:.5rem;align-items:flex-end;padding:.7rem;border-top:1px solid var(--cream2);background:var(--paper);}
#cwCompose textarea{
  flex:1;background:#fff;border:1.5px solid var(--cream2);border-radius:15px;
  font-size:.9rem;font-family:'Inter','Inter-fb',sans-serif;padding:.6rem .9rem;resize:none;max-height:100px;
}
#cwCompose textarea:focus:not(:focus-visible){outline:none;border-color:var(--teal);}
#cwCompose button{
  width:40px;height:40px;border-radius:50%;border:none;background:var(--borange);color:var(--ink);
  font-size:.95rem;cursor:pointer;flex-shrink:0;font-weight:700;
}
@media(max-width:480px){
  #cw{bottom:1rem;right:1rem;}
  #cwPanel{right:-4px;}
}

/* ══════════ DISPONIBILITÉ SITE ══════════ */
#siteNotice{
  background:var(--navy);color:#cfe6ea;font-size:.88rem;text-align:center;
  padding:.6rem 1.2rem;line-height:1.5;
}
#siteNotice b{color:var(--teal);}
.b-robot .tag.is-off{color:var(--borange);border-color:rgba(255,138,61,.45);}
.b-robot .tag.is-away{color:#ff8f85;border-color:rgba(255,107,94,.45);}
.b-robot .tag.is-night{color:#b9aaf5;border-color:rgba(155,138,235,.45);}

/* ══════════ PAGE PAIEMENT ══════════ */
.pay-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:1.1rem;max-width:1000px;margin:0 auto;padding:2.5rem 0 4rem;}
.pay-card{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r-lg);padding:clamp(2rem,3vw,3rem);}
.pay-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal-deep);display:block;margin-bottom:.7rem;}
.pay-card h1{font-family:'Fraunces','Fraunces-fb',serif;font-weight:600;color:var(--ink);font-size:clamp(1.7rem,2.4vw,2.4rem);letter-spacing:-.8px;margin:0 0 1.4rem;line-height:1.1;}
.pay-card h1 em{font-style:italic;color:var(--teal-deep);}
.pay-sub{font-size:.95rem;color:var(--bmuted);margin:0 0 1.4rem;}
.pay-flash{background:var(--orange-pale);color:#8a4a12;font-size:.88rem;font-weight:600;border-radius:12px;padding:.8rem 1.1rem;margin-bottom:1.2rem;}
.pay-flash.err{background:#fbeaea;color:var(--bred);}
.pay-detail{border:1px solid var(--cream2);border-radius:16px;overflow:hidden;margin-bottom:1.6rem;}
.pay-row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 1.2rem;font-size:.92rem;border-bottom:1px solid var(--cream2);}
.pay-row:last-child{border-bottom:none;}
.pay-row span{color:var(--bmuted);}
.pay-row b{color:var(--ink);text-align:right;}
.pay-total{background:var(--teal-pale);}
.pay-total b{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.5rem;color:var(--teal-deep);}
.pay-btns{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.2rem;}
.pay-cta{justify-content:center;font-size:1rem;padding:1rem 1.5rem;}
.pay-secure{font-size:.78rem;color:var(--bmuted);margin:0;}
.pay-done{
  width:64px;height:64px;border-radius:50%;background:var(--teal-pale);color:var(--teal-deep);
  font-size:2rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;
}
.pay-side{display:flex;flex-direction:column;gap:1.1rem;}
.pay-trust{
  background:var(--navy);border-radius:var(--r);padding:1.6rem;display:flex;gap:.8rem;align-items:center;
}
.pay-trust img{border-radius:12px;}
.pay-trust b{font-family:'Fraunces','Fraunces-fb',serif;font-size:1.25rem;color:#fff;display:block;}
.pay-trust span{font-size:.74rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);font-weight:700;}
.pay-points{list-style:none;margin:0;padding:1.4rem 1.6rem;background:var(--teal-pale);border-radius:var(--r);display:flex;flex-direction:column;gap:.5rem;}
.pay-points li{font-size:.88rem;color:var(--teal-deep);font-weight:600;}
.pay-help{background:var(--paper);border:1px solid var(--cream2);border-radius:var(--r);padding:1.3rem 1.6rem;font-size:.88rem;color:var(--bmuted);margin:0;}
.pay-help a{color:var(--teal-deep);font-weight:700;text-decoration:none;}

/* ══════════ MOBILE : raccourcir + menu + chat ══════════ */
@media(max-width:1000px){
  .pay-wrap{grid-template-columns:1fr;}
}
@media(max-width:640px){
  /* menu mobile stylé */
  .bnav{
    background:var(--navy);gap:1.1rem;padding:2rem;
    justify-content:flex-start;padding-top:6.5rem;
  }
  .bnav a{
    font-family:'Fraunces','Fraunces-fb',serif;font-size:1.7rem;font-weight:600;color:var(--cream);
    letter-spacing:-.5px;width:100%;text-align:left;padding:.4rem 0;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .bnav a:hover,.bnav a.active{color:var(--teal);}
  .bnav a.bnav-cta{
    background:var(--borange);color:var(--ink);border-radius:100px;font-family:'Inter','Inter-fb',sans-serif;
    font-size:1.05rem;text-align:center;border-bottom:none;margin-top:1.2rem;padding:1rem;
  }
  .bnav-toggle.active span{background:var(--cream);}

  /* sections plus courtes */
  .bsection{padding:2.2rem 0;}
  .sec-head{margin-bottom:1.4rem;}
  .b-robot{min-height:300px;}
  .b-robot .robot-wrap{width:60%;}
  .strip{padding-bottom:2rem;}
  .s-stat,.s-urg{padding:1.2rem 1.4rem;}

  /* grilles tronquées : le JS ajoute un bouton "voir plus" */
  .err-grid .err:nth-child(n+4),
  .case-grid .case:nth-child(n+3),
  .why-grid .why:nth-child(n+4),
  .guide-grid .guide:nth-child(n+3),
  .testi-grid .testi:nth-child(n+3){display:none;}
  .err-grid.expanded .err,.case-grid.expanded .case,.why-grid.expanded .why,
  .guide-grid.expanded .guide,.testi-grid.expanded .testi{display:block;}
  .show-more{
    width:100%;margin-top:.8rem;background:var(--paper);border:1.5px dashed var(--cream2);
    color:var(--teal-deep);font-weight:700;font-size:.9rem;font-family:'Inter','Inter-fb',sans-serif;
    border-radius:100px;padding:.8rem;cursor:pointer;
  }

  /* chat plein écran */
  #cwPanel{
    position:fixed;inset:0;width:100%;height:100%;height:100dvh;
    border-radius:0;border:none;bottom:0;right:0;box-shadow:none;
  }
  #cwHead{padding-top:max(1rem, env(safe-area-inset-top));}
  #cwBody{padding:1.1rem;gap:.6rem;}
  #cwIntro p{font-size:.95rem;}
  #cwIntro input{font-size:16px;padding:.8rem 1rem;}
  .cw-m{font-size:.95rem;max-width:88%;padding:.7rem 1rem;}
  #cwCompose{padding:.8rem 1rem;padding-bottom:max(.8rem, env(safe-area-inset-bottom));}
  #cwCompose textarea{font-size:16px;padding:.75rem 1rem;}
  #cwCompose button{width:46px;height:46px;font-size:1.05rem;}
  #cw.open #cwBtn{display:none;}
}

/* ── accessibilité ── */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;background:var(--navy);color:#fff;
  padding:.8rem 1.4rem;border-radius:0 0 12px 0;font-weight:700;text-decoration:none;
}
.skip-link:focus{left:0;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid currentColor;outline-offset:2px;
}
button:disabled,[type=submit]:disabled,[type=button]:disabled{
  opacity:.55;cursor:not-allowed;
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
