/* ============================================================
   BETTER CLEANER — component styles
   ============================================================ */

/* ---------- section heads ---------- */
.sec-head{max-width:680px;margin-bottom:46px;}
.sec-head h2{font-size:clamp(30px,4.6vw,52px);margin-top:14px;}
.sec-head p{margin-top:16px;font-size:clamp(16px,2vw,19px);}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;}
.panel-head h2{font-size:clamp(26px,3.4vw,36px);}
.dash-sub{font-size:19px;font-weight:600;margin:38px 0 18px;}

/* ============================================================
   HOME HERO
   ============================================================ */
.home-hero{position:relative;padding:clamp(70px,11vw,130px) 0 clamp(50px,7vw,80px);overflow:hidden;}
.home-hero-bg{position:absolute;inset:0;z-index:0;background:
   radial-gradient(80% 60% at 20% -10%, var(--bg-soft), transparent 60%),
   radial-gradient(70% 60% at 100% 0%, #f0f1f3, transparent 55%);}
.home-hero-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;}
.home-hero-logo{width:min(540px,74vw);height:auto;display:block;margin-bottom:clamp(26px,4vw,42px);}

/* ---- hero showcase : diaporama cinématique ---- */
.hero-show{position:relative;width:100%;max-width:1080px;margin:0 auto clamp(30px,5vw,52px);
  aspect-ratio:16/9;border-radius:clamp(18px,2.4vw,28px);overflow:hidden;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06);background:#0c0d10;}
@media(max-width:760px){ .hero-show{aspect-ratio:4/3;} }
.hs-track{position:absolute;inset:0;transform:scale(1.06);will-change:transform;}
/* ---- loupe de propreté (hero) ---- */
.lens{position:absolute;inset:0;overflow:hidden;cursor:none;background:#0c0d10;touch-action:none;}
.lens-base,.lens-top{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none;}
.lens-base{filter:grayscale(.82) brightness(.62) contrast(.92);}
.lens-dirty{position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply;opacity:.5;
  background:radial-gradient(120% 90% at 70% 20%,transparent 30%,rgba(20,22,28,.7) 100%);}
.lens-top{-webkit-mask:radial-gradient(circle var(--r,128px) at var(--mx,50%) var(--my,46%),#000 62%,rgba(0,0,0,.35) 80%,transparent 92%);
  mask:radial-gradient(circle var(--r,128px) at var(--mx,50%) var(--my,46%),#000 62%,rgba(0,0,0,.35) 80%,transparent 92%);}
.lens-ring{position:absolute;width:calc(var(--r,128px)*2);height:calc(var(--r,128px)*2);margin:calc(var(--r,128px)*-1) 0 0 calc(var(--r,128px)*-1);
  border-radius:50%;pointer-events:none;z-index:2;
  box-shadow:0 0 0 1.5px rgba(255,255,255,.55),0 0 34px rgba(150,210,255,.28),inset 0 0 40px rgba(180,225,255,.18);
  background:radial-gradient(circle at 38% 32%,rgba(255,255,255,.18),transparent 42%);
  opacity:0;transition:opacity .4s var(--ease);}
.lens.active .lens-ring{opacity:1;}
.lens-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;
  display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;color:#fff;
  padding:8px 15px;border-radius:980px;background:rgba(10,12,16,.5);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.18);transition:opacity .5s,transform .5s;white-space:nowrap;}
.lens-hint .icon{width:14px;height:14px;}
.lens-hint.hide{opacity:0;transform:translateX(-50%) translateY(8px);pointer-events:none;}
.lens-dots{position:absolute;right:clamp(16px,3vw,26px);top:clamp(16px,3vw,24px);z-index:5;
  display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end;max-width:62%;}
.lens-dot{font-size:11.5px;font-weight:550;color:#fff;padding:6px 12px;border-radius:980px;cursor:pointer;
  background:rgba(10,12,16,.44);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);transition:all .25s var(--ease);}
.lens-dot:hover{background:rgba(10,12,16,.64);}
.lens-dot.on{background:#fff;color:#16181d;border-color:#fff;}
.hs-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s var(--ease);}
.hs-slide.on{opacity:1;}
.hs-slide img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);}
.hs-slide.on img{animation:hsZoom 5.4s var(--ease) forwards;}
@keyframes hsZoom{from{transform:scale(1);}to{transform:scale(1.1);}}
.hero-show::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,7,10,.55) 0%,rgba(6,7,10,.12) 34%,transparent 52%,rgba(6,7,10,.72) 100%);}
.hs-grain{position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background:radial-gradient(120% 80% at 50% -10%,rgba(255,255,255,.10),transparent 60%);}
.hs-cap{position:absolute;left:clamp(18px,3vw,30px);bottom:clamp(18px,3vw,28px);z-index:3;
  display:flex;flex-direction:column;gap:5px;text-align:left;color:#fff;}
.hs-cap-tag{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;opacity:.92;}
.hs-cap-txt{font-size:clamp(16px,2.1vw,21px);font-weight:600;letter-spacing:-.01em;
  text-shadow:0 2px 18px rgba(0,0,0,.5);}
.hs-slogan{position:absolute;left:clamp(22px,4vw,52px);right:clamp(22px,4vw,52px);top:clamp(30px,6vw,64px);z-index:3;
  display:flex;flex-direction:column;align-items:flex-start;gap:clamp(14px,2vw,20px);color:#fff;text-align:left;}
.hs-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:.06em;
  padding:7px 14px;border-radius:980px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.22);}
.hs-eyebrow .icon{width:15px;height:15px;}
.hs-slogan-title{font-size:clamp(28px,4.6vw,58px);line-height:1.04;letter-spacing:-.038em;font-weight:600;
  max-width:15ch;text-shadow:0 4px 30px rgba(0,0,0,.45);margin:0;}
@media(max-width:600px){ .hs-slogan{top:24px;left:20px;right:20px;} .hs-slogan-title{font-size:clamp(24px,7vw,34px);} }
.hero-chip-hide{display:none;}
.hs-dots{position:absolute;right:clamp(16px,3vw,26px);bottom:clamp(18px,3vw,28px);z-index:3;display:flex;gap:8px;}
.hs-dots button{width:8px;height:8px;border-radius:50%;border:none;cursor:pointer;padding:0;
  background:rgba(255,255,255,.4);transition:all .35s var(--ease);}
.hs-dots button.on{background:#fff;width:22px;border-radius:980px;}
.hs-dots button:hover{background:rgba(255,255,255,.75);}
.home-hero-title{font-size:clamp(40px,8vw,84px);letter-spacing:-0.045em;margin-top:22px;}
.home-hero-sub{font-size:clamp(17px,2.4vw,22px);color:var(--ink-2);max-width:600px;margin:0 auto;margin-top:4px;line-height:1.45;}
.home-hero-cta{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:34px;flex-wrap:wrap;}
.home-hero-strip{display:flex;justify-content:center;gap:38px;margin-top:54px;flex-wrap:wrap;}
.hs{display:flex;flex-direction:column;gap:2px;}
.hs-n{font-size:clamp(26px,3.4vw,38px);font-weight:600;letter-spacing:-0.03em;}
.hs-l{font-size:13px;color:var(--muted);}
@media(max-width:600px){ .home-hero-strip{gap:24px 32px;} }

/* accueil — stat « 14·76 » : carte Normandie premium (Calvados 14 · Seine-Maritime 76) */
.home-hero-strip{align-items:flex-end;}
.hs--geo{align-items:center;}
.geo{position:relative;width:162px;height:104px;border-radius:16px;overflow:hidden;margin-bottom:10px;
  background:linear-gradient(180deg,#e7edf1 0%,#eef2f5 60%,#eef2f4 100%);
  border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), var(--shadow-sm);}
.geo-map2{position:absolute;inset:0;width:100%;height:100%;display:block;}
.geo-grid line{stroke:rgba(20,30,40,.055);stroke-width:.5;}
.geo-base{fill:#f7f1e3;}
.geo-dep{stroke:var(--loc);stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round;}
.geo-dep--14{fill:rgba(189,122,28,.18);}
.geo-dep--76{fill:rgba(189,122,28,.10);}
.geo-coast{fill:none;stroke:var(--loc);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.geo-seine{fill:none;stroke:#8bb0c4;stroke-width:1.1;stroke-linecap:round;opacity:.8;}
.geo-chip rect{fill:#fff;stroke:var(--loc);stroke-width:1;}
.geo-chip text{fill:#7a4f10;font-family:var(--sans);font-weight:700;font-size:8px;text-anchor:middle;letter-spacing:.01em;}
.geo-dot{fill:var(--loc);stroke:#fff;stroke-width:1.4;}
.geo-ping{fill:none;stroke:var(--loc);stroke-width:1.3;opacity:0;transform-box:fill-box;transform-origin:center;}
.geo-compass circle{fill:rgba(255,255,255,.55);stroke:rgba(20,30,40,.28);stroke-width:.7;}
.geo-compass line{stroke:var(--loc);stroke-width:1;stroke-linecap:round;}
.geo-compass text{fill:rgba(20,30,40,.55);font-family:var(--sans);font-weight:700;font-size:5.4px;text-anchor:middle;}

@media(prefers-reduced-motion:no-preference){
  html.anim-ok .geo-dep{stroke-dasharray:230;stroke-dashoffset:230;animation:geoDraw 1.15s var(--ease) .05s forwards;}
  html.anim-ok .geo-dep--76{animation-delay:.22s;}
  html.anim-ok .geo-coast{stroke-dasharray:210;stroke-dashoffset:210;animation:geoDraw 1.25s .1s var(--ease) forwards;}
  html.anim-ok .geo-seine{stroke-dasharray:120;stroke-dashoffset:120;animation:geoDraw 1.1s .55s var(--ease) forwards;}
  html.anim-ok .geo-mk{opacity:0;animation:geoDrop .55s var(--ease) forwards;transform-box:fill-box;transform-origin:center bottom;}
  html.anim-ok .geo-mk--14{animation-delay:.8s;}
  html.anim-ok .geo-mk--76{animation-delay:1s;}
  .geo-ping--14{animation:geoPing 3.6s 1.4s ease-out infinite;}
  .geo-ping--76{animation:geoPing 3.6s 3s ease-out infinite;}
}
@keyframes geoDraw{to{stroke-dashoffset:0;}}
@keyframes geoDrop{0%{opacity:0;transform:translateY(-6px) scale(.7);}60%{opacity:1;}100%{opacity:1;transform:translateY(0) scale(1);}}
@keyframes geoPing{0%{transform:scale(.4);opacity:.7;}70%{opacity:0;}100%{transform:scale(2.8);opacity:0;}}
@media(prefers-reduced-motion:reduce){.geo-ping{display:none;}}

/* ============================================================
   UNIVERSE CARDS (home)
   ============================================================ */
.uni-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:900px){ .uni-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto;} }
.uni-card{display:block;border-radius:var(--r-lg);overflow:hidden;background:var(--card);
  border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .5s var(--ease),box-shadow .5s var(--ease);}
.uni-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.uni-card-media{position:relative;aspect-ratio:4/5;overflow:hidden;}
.uni-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.96);}
.uni-card:hover .uni-card-media img{transform:scale(1.06);}
.uni-card-badge{position:absolute;top:16px;left:16px;width:44px;height:44px;border-radius:50%;
  background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow);}
.uni-card-badge .icon{width:22px;height:22px;}
.uni-card-body{padding:24px 24px 26px;}
.uni-card-body h3{font-size:25px;margin:8px 0 10px;}
.uni-card-body p{font-size:14.5px;line-height:1.55;}
.uni-card-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:14px;font-weight:550;color:var(--accent);}
.uni-card:hover .uni-card-link .icon{transform:translateX(4px);transition:transform .3s var(--ease);}

/* ============================================================
   TEASERS (fid / pro)
   ============================================================ */
.teaser{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center;
  background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(28px,4vw,52px);}
.teaser-body h2{font-size:clamp(28px,4vw,46px);margin:14px 0 16px;}
.teaser-body p{font-size:16px;max-width:42ch;margin-bottom:24px;}
.teaser-stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.stamp{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--line);
  color:var(--muted-2);font-weight:650;font-size:15px;transition:transform .3s;}
.stamp.on{background:var(--c);border-color:var(--c);color:#fff;}
.stamp.reward{background:#fff;border-style:dashed;border-color:var(--c);color:var(--c);}
.stamp.reward .icon,.stamp.on .icon{width:18px;height:18px;}
.bfa-minis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.bfa-mini{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 14px;text-align:center;display:flex;flex-direction:column;gap:3px;}
.bfa-mini.best{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.bm-y{font-size:13px;color:var(--muted);font-weight:600;}
.bm-r{font-size:30px;font-weight:600;letter-spacing:-0.03em;color:var(--accent);}
.bm-l{font-size:11px;color:var(--muted);}
@media(max-width:820px){ .teaser{grid-template-columns:1fr;gap:28px;} }

/* ============================================================
   METHOD BAND
   ============================================================ */
.method-band{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;}
.method-step{background:#fff;padding:30px 24px;}
.ms-n{font-size:13px;font-weight:650;color:var(--muted-2);}
.method-step h4{font-size:18px;margin:34px 0 8px;}
.method-step p{font-size:13.5px;color:var(--muted);line-height:1.5;}
@media(max-width:820px){ .method-band{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .method-band{grid-template-columns:1fr;} }

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band{padding:clamp(70px,10vw,120px) 0;background:var(--bg-soft);border-top:1px solid var(--line);}
.cta-band h2{font-size:clamp(32px,5.5vw,60px);}
.cta-band p{font-size:clamp(16px,2.2vw,20px);margin:18px auto 0;max-width:48ch;}

/* ============================================================
   UNIVERSE PAGE
   ============================================================ */
.uni-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;padding:120px 0 56px;overflow:hidden;}
.uni-hero-media{position:absolute;inset:0;z-index:0;}
.uni-hero-media img{width:100%;height:100%;object-fit:cover;}
.uni-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.35) 45%,var(--accent) 130%);}
.uni-hero-in{position:relative;z-index:1;color:#fff;}
.uni-hero-in h1{font-size:clamp(44px,8vw,86px);margin:16px 0 0;color:#fff;}
.uni-hero-blurb{font-size:clamp(16px,2.2vw,21px);max-width:560px;margin:18px 0 22px;color:rgba(255,255,255,.86);line-height:1.45;}

.serv-list{display:flex;flex-direction:column;}
.serv-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 4px;border-top:1px solid var(--line);}
.serv-row:last-child{border-bottom:1px solid var(--line);}
.serv-main h4{font-size:20px;margin-bottom:6px;}
.serv-main p{font-size:14.5px;max-width:54ch;}
.serv-price{font-size:16px;font-weight:600;color:var(--accent);white-space:nowrap;}

/* détail des prestations */
.pd-intro{max-width:64ch;}
.pd-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px;}
.pd-card{display:flex;flex-direction:column;padding:26px 26px 24px;border-radius:var(--r);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);}
.pd-title{font-size:20px;color:#fff;margin-bottom:14px;}
.pd-lab{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px;}
.pd-inc{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0 0 18px;}
.pd-inc li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.4;color:rgba(255,255,255,.9);}
.pd-inc li svg{flex:none;margin-top:2px;color:#fff;opacity:.85;}
.pd-car{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.45;
  color:rgba(255,255,255,.66);margin:0 0 16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);}
.pd-car svg{flex:none;margin-top:1px;opacity:.7;}
.pd-av{margin-top:auto;font-size:14.5px;line-height:1.45;color:#fff;
  background:rgba(255,255,255,.08);border-radius:12px;padding:14px 16px;}
.pd-av-lab{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.7);margin-bottom:6px;font-weight:600;}
.pd-cartxt{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.82);margin:0 0 16px;}
.pd-mention{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:16px 18px;
  border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.7);}
.pd-mention svg{width:16px;height:16px;color:var(--accent,#16181d);flex:none;margin-top:1px;}
.pd-mention b{color:#fff;font-weight:650;}
/* emplacements photo avant/après (phares & polissage) */
.ba-slots{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.ba-pair{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r);padding:20px;}
.ba-pair-h{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;color:#fff;margin-bottom:14px;}
.ba-pair-h svg{width:17px;height:17px;color:var(--accent,#16181d);}
.ba-pair-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ba-slot{position:relative;height:200px;}
.ba-slot-tag{position:absolute;top:10px;left:10px;z-index:2;font-size:11px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:#fff;background:rgba(10,10,12,.72);
  padding:4px 10px;border-radius:980px;pointer-events:none;}
.ba-slot-tag-a{background:var(--ok);}
.pol-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.pol-gal-slot{height:180px;}
@media(max-width:860px){.ba-slots{grid-template-columns:1fr;}.pol-gal{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.ba-pair-imgs{grid-template-columns:1fr;}.pol-gal{grid-template-columns:1fr;}}

/* ===== Section heads centrés — tout le site ===== */
.sec-head{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head p{margin-left:auto;margin-right:auto;}
.reno-grid-h{text-align:center;}
.reno-cond{margin-left:auto;margin-right:auto;text-align:center;}

/* ===== Polissage : bande claire — fondu noir ↔ blanc ===== */
.pol-fade{height:clamp(90px,12vw,190px);}
.pol-fade-in{background:linear-gradient(180deg,var(--worldbg) 0%,color-mix(in srgb,var(--worldbg) 87%,#fff) 22%,color-mix(in srgb,var(--worldbg) 60%,#fff) 45%,color-mix(in srgb,var(--worldbg) 28%,#fff) 68%,color-mix(in srgb,var(--worldbg) 8%,#fff) 86%,#fff 100%);}
.pol-fade-out{background:linear-gradient(0deg,var(--worldbg) 0%,color-mix(in srgb,var(--worldbg) 87%,#fff) 22%,color-mix(in srgb,var(--worldbg) 60%,#fff) 45%,color-mix(in srgb,var(--worldbg) 28%,#fff) 68%,color-mix(in srgb,var(--worldbg) 8%,#fff) 86%,#fff 100%);}
.pol-light{background:#fff;color:#0a0a0c;position:relative;z-index:1;}
.uni-world .pol-light .eyebrow{color:var(--accent);}
.uni-world .pol-light .sec-head h2{color:#0a0a0c;}
.uni-world .pol-light .muted{color:#6b7280!important;}
/* tarif table clair */
.pol-light .tarif-card{background:#fff;border-color:rgba(0,0,0,.1);box-shadow:var(--shadow-sm);}
.pol-light .tarif-table th{color:#86868b;border-bottom-color:rgba(0,0,0,.14);}
.pol-light .tarif-table td{border-bottom-color:rgba(0,0,0,.08);color:#3a3a40;}
.pol-light .tt-presta b{color:#0a0a0c;}
.pol-light .tt-price{color:#0a0a0c;}
/* pd-cards claires */
.pol-light .pd-card{background:#f6f6f7;border-color:rgba(0,0,0,.08);}
.pol-light .pd-title{color:#0a0a0c;}
.pol-light .pd-lab{color:var(--accent);}
.pol-light .pd-inc li{color:#3a3a40;}
.pol-light .pd-inc svg{color:var(--accent);opacity:1;}
.pol-light .pd-car{color:#6b7280;border-top-color:rgba(0,0,0,.1);}
.pol-light .pd-car svg{color:var(--accent);}
.pol-light .pd-cartxt{color:#3a3a40;}
.pol-light .pd-av{background:#ececed;color:#0a0a0c;}
.pol-light .pd-av-lab{color:var(--accent);}
.pol-light .pd-mention{background:#f6f6f7;border-color:rgba(0,0,0,.1);color:#3a3a40;}
.pol-light .pd-mention b{color:#0a0a0c;}
.pol-light .pd-mention svg{color:var(--accent);}
.pol-light .reno-grid-h{font-size:clamp(19px,2.2vw,24px);color:#0a0a0c;margin:8px 0 16px;letter-spacing:-.02em;}
.pol-light .reno-cond{margin-top:24px;max-width:72ch;}
.pol-light .reno-cond-h{font-size:17px;color:#0a0a0c;margin-bottom:10px;letter-spacing:-.01em;}
.pol-light .reno-cond p{font-size:14px;line-height:1.6;color:#3a3a40;margin-bottom:10px;}
.pol-light .reno-cond p:last-child{margin-bottom:0;}
@media(max-width:760px){ .pd-grid{grid-template-columns:1fr;} }

/* encart option (ex : désinfection partie chevaux) */
.pd-opt{grid-column:1/-1;position:relative;background:rgba(255,255,255,.09);
  border:1.5px solid rgba(255,255,255,.28);}
.pd-opt-flag{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#0a0a0c;background:#fff;padding:5px 12px;border-radius:980px;margin-bottom:14px;}
.pd-opt-flag svg{width:13px;height:13px;}
.pd-opt-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;margin-bottom:4px;}
.pd-opt-cols .pd-inc{margin-bottom:0;}
.pd-opt-cols .pd-av{margin-top:0;}
.pd-opt-car{margin-top:16px;margin-bottom:0;}
@media(max-width:760px){ .pd-opt-cols{grid-template-columns:1fr;} }

.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px;}
.gal-item{border-radius:var(--r);overflow:hidden;background:var(--bg-soft);}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.gal-item:hover img{transform:scale(1.05);}
.gal-lead{grid-column:span 2;grid-row:span 2;}
@media(max-width:760px){ .gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px;} .gal-lead{grid-column:span 2;} }

/* ============================================================
   LOCATION
   ============================================================ */
.loc-hero{padding:clamp(80px,11vw,140px) 0 clamp(30px,5vw,50px);
  background:radial-gradient(70% 70% at 50% -10%, var(--loc-soft), transparent 60%);}
.loc-hero h1{font-size:clamp(38px,7vw,74px);margin-top:18px;}
.loc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:900px){ .loc-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .loc-grid{grid-template-columns:1fr;} }
.loc-tier{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px;
  box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease);display:flex;flex-direction:column;}
.loc-tier:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.loc-tier.popular{border-color:var(--loc);box-shadow:0 0 0 1px var(--loc),var(--shadow);}
.loc-flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--loc);color:#fff;
  font-size:11px;font-weight:650;letter-spacing:.03em;padding:5px 12px;border-radius:980px;white-space:nowrap;}
.loc-dur{font-size:15px;font-weight:600;color:var(--muted);}
.loc-price{margin:8px 0 4px;display:flex;align-items:baseline;}
.lp-eur{font-size:46px;font-weight:600;letter-spacing:-0.04em;}
.lp-cents{font-size:18px;font-weight:600;color:var(--ink-2);}
.loc-note{font-size:13.5px;margin-bottom:20px;min-height:40px;}
.loc-tier .btn{margin-top:auto;}
.loc-info{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:24px;}
.loc-info-col{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;}
.loc-info-col h4{font-size:17px;margin-bottom:16px;}
.loc-incl{list-style:none;display:flex;flex-direction:column;gap:12px;}
.loc-incl li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--ink-2);}
.loc-incl .icon{color:var(--loc);margin-top:2px;}
.loc-caution{background:var(--loc-soft);border-color:transparent;}
.caution-amt{font-size:44px;font-weight:600;letter-spacing:-0.04em;margin:6px 0 10px;color:var(--loc);}
.loc-caution p{font-size:13.5px;}
@media(max-width:760px){ .loc-info{grid-template-columns:1fr;} }

/* ============================================================
   PRO LANDING
   ============================================================ */
.pro-hero{padding:clamp(80px,11vw,140px) 0 clamp(40px,6vw,60px);
  background:radial-gradient(70% 70% at 80% -10%, var(--equestre-soft), transparent 60%);}
.pro-hero h1{font-size:clamp(38px,7vw,74px);margin:18px 0 0;}
.pro-hero p{margin-top:20px;font-size:clamp(16px,2.2vw,20px);}
.bfa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:760px){ .bfa-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;} }
.bfa-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 28px;
  text-align:center;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;}
.bfa-card.best{border-color:var(--equestre);box-shadow:0 0 0 1px var(--equestre),var(--shadow);transform:scale(1.02);}
.bfa-flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--equestre);color:#fff;
  font-size:11px;font-weight:650;padding:5px 14px;border-radius:980px;}
.bfa-y{font-size:15px;font-weight:600;color:var(--muted);}
.bfa-r{font-size:64px;font-weight:600;letter-spacing:-0.05em;line-height:1;margin:10px 0 4px;color:var(--equestre);}
.bfa-r span{font-size:64px;}
.bfa-rl{font-size:13.5px;color:var(--muted);max-width:22ch;margin-bottom:24px;}
.bfa-card .btn{margin-top:auto;width:100%;}
.bfa-note{display:flex;align-items:flex-start;gap:10px;margin-top:26px;font-size:13.5px;max-width:60ch;}
.bfa-note .icon{color:var(--equestre);margin-top:1px;}
.pro-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.pro-feat{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px;}
.pro-feat .icon{width:26px;height:26px;color:var(--equestre);}
.pro-feat h4{font-size:18px;margin:16px 0 8px;}
.pro-feat p{font-size:14px;line-height:1.5;}
@media(max-width:760px){ .pro-feats{grid-template-columns:1fr;} }

/* ============================================================
   FORMS
   ============================================================ */
.bc-form{display:flex;flex-direction:column;gap:16px;}
.form-row{display:flex;flex-direction:column;gap:7px;}
.form-row label{font-size:13px;font-weight:600;color:var(--ink-2);}
.form-row input,.form-row select,.form-row textarea{
  border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;background:#fff;color:var(--ink);
  transition:border-color .2s,box-shadow .2s;width:100%;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(0,0,0,.05);}
.form-row textarea{resize:vertical;}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:560px){ .form-2{grid-template-columns:1fr;} }

/* ============================================================
   AUTH
   ============================================================ */
.auth{min-height:calc(100vh - var(--nav-h));display:grid;place-items:center;padding:60px 20px;
  background:radial-gradient(60% 50% at 50% 0%, var(--bg-soft), transparent 70%);}
.auth-card{width:100%;max-width:420px;padding:38px 34px;}
.auth-head{text-align:center;margin-bottom:22px;}
.auth-logo{height:26px;margin:0 auto 18px;}
.auth-head h2{font-size:26px;}
.auth-head p{margin-top:8px;font-size:14px;}
.auth-seg{margin-bottom:20px;}
.auth-foot{text-align:center;margin-top:18px;font-size:12.5px;}

/* ============================================================
   ACCOUNT
   ============================================================ */
.acct{padding:34px 0 60px;background:var(--bg-soft);min-height:calc(100vh - var(--nav-h));}
.acct-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;}
.acct-id{display:flex;align-items:center;gap:14px;}
.acct-av{width:50px;height:50px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:650;font-size:17px;}
.acct-name{font-size:19px;font-weight:600;letter-spacing:-0.02em;}
.acct-sub{font-size:13px;}
.acct-layout{display:grid;grid-template-columns:228px 1fr;gap:22px;align-items:start;}
.acct-nav{position:sticky;top:calc(var(--nav-h) + 18px);display:flex;flex-direction:column;gap:2px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:10px;box-shadow:var(--shadow-sm);}
.acct-nav-link{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:12px;font-size:14px;font-weight:500;color:var(--ink-2);transition:background .2s,color .2s;text-align:left;width:100%;}
.acct-nav-link .icon{width:18px;height:18px;color:var(--muted);transition:color .2s;}
.acct-nav-link:hover{background:var(--bg-soft);color:var(--ink);}
.acct-nav-link.active{background:var(--ink);color:#fff;}
.acct-nav-link.active .icon{color:#fff;}
.acct-nav-link.logout{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;color:var(--muted);}
.acct-nav-link.logout .icon{transform:rotate(180deg);}
.acct-main{min-width:0;}
@media(max-width:860px){
  .acct-layout{grid-template-columns:1fr;}
  .acct-nav{flex-direction:row;overflow-x:auto;position:static;padding:8px;}
  .acct-nav-link{white-space:nowrap;}
  .acct-nav-link.logout{border-top:none;border-radius:12px;}
  .acct-nav-link span{display:none;}
  .acct-nav-link .icon{width:20px;height:20px;}
}

/* dash */
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.dash-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm);}
.dash-card.span-2{grid-column:span 2;}
.dash-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.dash-card-head h3{font-size:15px;display:flex;align-items:center;gap:8px;}
.dash-card-head h3 .icon{color:var(--accent);}
.dc-more{font-size:13px;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:2px;transition:color .2s;}
.dc-more:hover{color:var(--ink);}
@media(max-width:680px){ .dash-grid{grid-template-columns:1fr;} .dash-card.span-2{grid-column:span 1;} }

.fid-row{display:flex;align-items:center;gap:24px;}
.fid-ring{position:relative;flex:none;}
.fid-ring-c{position:absolute;inset:0;display:grid;place-content:center;text-align:center;}
.fid-ring-c b{font-size:26px;font-weight:600;}
.fid-ring-c span{font-size:12px;color:var(--muted);display:block;}
.fid-ring-c.big b{font-size:34px;}
.fid-text{min-width:0;}
.fid-big{font-size:20px;font-weight:600;letter-spacing:-0.02em;}
.fid-text p{font-size:14px;margin:4px 0 14px;}
.stamps-mini{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;max-width:330px;}
.stamps-mini .stamp{font-size:11px;}
.stamps-mini .stamp .icon{width:13px;height:13px;}

.next-rdv{display:flex;align-items:center;gap:16px;}
.nr-date{width:58px;height:58px;border-radius:14px;background:var(--accent-soft,var(--bg-soft));color:var(--accent);
  display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;}
.nr-day{font-size:22px;font-weight:650;line-height:1;}
.nr-mon{font-size:11px;text-transform:uppercase;letter-spacing:.04em;}
.nr-serv{font-size:16px;font-weight:600;}
.nr-meta{font-size:13px;display:flex;align-items:center;gap:6px;margin-top:3px;}

.rental-mini .rm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.rental-mini .rm-top b{font-size:18px;}
.rm-line{font-size:13px;margin-top:3px;}

.bfa-dash{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.bfa-avoir{display:flex;flex-direction:column;margin:14px 0 6px;}
.ba-lbl{font-size:12px;}
.ba-amt{font-size:34px;font-weight:600;letter-spacing:-0.03em;color:var(--equestre);}
.bfa-ca{font-size:13px;}
.bfa-dash-r{min-width:180px;flex:1;}
.ba-bar{height:8px;background:var(--bg-soft-2);border-radius:980px;overflow:hidden;margin-bottom:8px;}
.ba-bar-fill{height:100%;border-radius:980px;}

.fleet-minis{display:flex;flex-direction:column;gap:12px;}
.fleet-mini{display:flex;align-items:center;gap:12px;}
.fm-ic{width:36px;height:36px;border-radius:10px;background:var(--accent-soft,var(--bg-soft));color:var(--accent);display:grid;place-items:center;flex:none;}
.fm-name{font-size:14px;font-weight:550;}
.fm-plate{font-size:12px;}
.fleet-more{font-size:13px;padding-left:48px;}

/* rdv list */
.rdv-list{display:flex;flex-direction:column;gap:12px;}
.rdv-card{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow-sm);border-left:3px solid var(--accent);}
.rdv-date{width:52px;text-align:center;flex:none;}
.rd-day{font-size:22px;font-weight:650;display:block;line-height:1;}
.rd-mon{font-size:11px;color:var(--muted);text-transform:uppercase;}
.rdv-body{flex:1;min-width:0;}
.rdv-serv{font-size:15.5px;font-weight:600;}
.rdv-meta{font-size:13px;display:flex;align-items:center;gap:6px;margin-top:2px;}
.rdv-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none;}
.rdv-time{font-size:14px;font-weight:600;}
.rdv-status{font-size:11px;font-weight:600;padding:3px 9px;border-radius:980px;}
.rdv-status.ok{background:#e9f6ee;color:var(--ok);}
.rdv-status.wait{background:#fdf3e2;color:var(--warn);}
.rdv-status.done{background:#eef0f4;color:#5c6373;}
.rdv-status.off{background:#f7e9e9;color:#a24747;}
.rdv-annule{flex-basis:100%;display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:14px;
  border-top:1px dashed var(--line);font-size:12px;color:#a24747;}
.rdv-annule svg{width:14px;height:14px;flex:none;}
.rdv-card{flex-wrap:wrap;}
.rdv-track{flex-basis:100%;display:flex;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);}
.rdv-tk{flex:1;position:relative;font-size:10.5px;color:var(--muted);display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;}
.rdv-tk i{width:9px;height:9px;border-radius:50%;background:var(--line);position:relative;z-index:1;}
.rdv-tk:before{content:'';position:absolute;top:4px;left:-50%;width:100%;height:1.5px;background:var(--line);}
.rdv-tk:first-child:before{display:none;}
.rdv-tk.on{color:var(--ink);font-weight:600;}
.rdv-tk.on i{background:var(--ok);}
.rdv-tk.on:before{background:var(--ok);}

/* ---- paiement : wallets ---- */
.pay-wallets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;}
.pay-wbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:48px;border-radius:12px;background:#0b0b0d;color:#fff;border:1px solid #0b0b0d;cursor:pointer;font-size:15.5px;transition:transform .15s ease,box-shadow .15s ease;}
.pay-wbtn:hover{transform:translateY(-1px);box-shadow:0 12px 24px -12px rgba(0,0,0,.55);}
.pay-wbtn svg{flex:none;}
.pay-wbtn .wm{font-weight:650;letter-spacing:.005em;}
.pay-wbtn .wm-sam{font-size:11.5px;font-weight:800;letter-spacing:.06em;margin-right:1px;}
.pay-wbtn[disabled]{opacity:.75;cursor:default;}
.pay-or{display:flex;align-items:center;gap:14px;margin:18px 0 4px;color:var(--muted);font-size:12.5px;}
.pay-or:before,.pay-or:after{content:'';flex:1;height:1px;background:var(--line);}

/* ---- reçu de transaction (encadrement premium) ---- */
.rcpt{max-width:400px;margin:28px auto 0;background:#fffdf8;color:#141416;border-radius:6px;box-shadow:0 30px 60px -30px rgba(0,0,0,.5);}
.rcpt-in{border:1.5px solid #caa55a;border-radius:4px;padding:28px 26px;position:relative;}
.rcpt-in:before{content:'';position:absolute;inset:5px;border:1px solid rgba(202,165,90,.45);border-radius:2px;pointer-events:none;}
.rcpt-brand{text-align:center;padding-bottom:18px;border-bottom:1px solid #e8dcc0;}
.rcpt-bc{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid #caa55a;color:#a8813a;font-weight:800;font-size:15px;letter-spacing:.04em;}
.rcpt-name{display:block;margin-top:10px;font-size:15px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;}
.rcpt-kind{display:block;margin-top:3px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#a8813a;}
.rcpt-meta{display:flex;flex-direction:column;gap:7px;padding:16px 0;border-bottom:1px dashed #d9cba4;}
.rcpt-meta div{display:flex;justify-content:space-between;font-size:12.5px;}
.rcpt-meta span{color:#8a8a90;}
.rcpt-lines{padding:14px 0;border-bottom:1px dashed #d9cba4;display:flex;flex-direction:column;gap:8px;}
.rcpt-line{display:flex;justify-content:space-between;gap:14px;font-size:13px;}
.rcpt-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;font-size:14px;}
.rcpt-total b{font-size:22px;letter-spacing:-.01em;}
.rcpt-solde{margin-top:8px;color:#8a8a90;}
.rcpt-foot{margin-top:18px;padding-top:14px;border-top:1px solid #e8dcc0;font-size:10.5px;line-height:1.55;color:#8a8a90;text-align:center;}
.rcpt-dl{text-align:center;margin-top:14px;}

.hist-card{padding:6px 20px;}
.hist-row{display:flex;align-items:center;gap:14px;padding:15px 0;border-top:1px solid var(--line);}
.hist-row:first-child{border-top:none;}
.hist-ic{width:34px;height:34px;border-radius:9px;background:var(--accent-soft,var(--bg-soft));color:var(--accent);display:grid;place-items:center;flex:none;}
.hist-main{flex:1;}
.hist-serv{font-size:14.5px;font-weight:550;}
.hist-amt{font-size:14.5px;font-weight:600;}

/* fidelite page */
.fid-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;flex-wrap:wrap;}
.fid-hero-big{font-size:42px;font-weight:600;letter-spacing:-0.03em;margin:10px 0 12px;}
.fid-hero-big span{font-size:22px;font-weight:500;}
.fid-hero-l{flex:1;min-width:260px;}
.fid-hero-l p{font-size:15px;margin-bottom:20px;}
.stamps-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;max-width:440px;}
.fid-hero-r{position:relative;flex:none;}
.fid-how{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;}
.fid-how-step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;gap:14px;align-items:flex-start;}
.fhs-n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:650;font-size:14px;flex:none;}
.fid-how-step p{font-size:14px;line-height:1.5;}
@media(max-width:760px){ .fid-how{grid-template-columns:1fr;} .stamps-grid{grid-template-columns:repeat(5,1fr);} }

/* location account */
.loc-active{padding:28px;}
.la-head{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.la-head h3{font-size:22px;}
.la-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.la-item{display:flex;flex-direction:column;gap:3px;}
.la-item span:first-child{font-size:12px;}
.la-item b{font-size:16px;}
.la-item span:last-child{font-size:12px;}
.la-foot{display:flex;align-items:center;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;}
.la-foot .icon{color:var(--loc);}
.loc-tiers-recall{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px;}
.ltr-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center;display:flex;flex-direction:column;gap:3px;}
.ltr-item.cur{border-color:var(--loc);box-shadow:0 0 0 1px var(--loc);}
.ltr-item b{font-size:16px;}
.ltr-item span{font-size:13px;color:var(--muted);}
@media(max-width:680px){ .la-grid{grid-template-columns:1fr 1fr;} .loc-tiers-recall{grid-template-columns:1fr 1fr;} }
.empty{padding:40px;text-align:center;}
.empty p{margin-bottom:16px;}

/* flotte */
.contract-card{display:flex;justify-content:space-between;gap:30px;padding:30px;flex-wrap:wrap;}
.cc-l{flex:1;min-width:260px;}
.cc-l h3{font-size:24px;margin:8px 0 6px;}
.cc-stats{display:flex;gap:32px;margin-top:20px;}
.ccs{display:flex;flex-direction:column;gap:3px;}
.ccs span{font-size:12px;}
.ccs b{font-size:22px;}
.cc-r{flex:none;}
.bfa-recalls{display:flex;gap:8px;margin-top:10px;}
.bfa-recall{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:12px 16px;text-align:center;display:flex;flex-direction:column;gap:2px;}
.bfa-recall.cur{background:var(--equestre-soft);border-color:var(--equestre);}
.bfa-recall b{font-size:14px;}
.bfa-recall span{font-size:15px;font-weight:600;color:var(--equestre);}
.fleet-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fleet-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow-sm);}
.fc-ic{width:42px;height:42px;border-radius:11px;background:var(--accent-soft,var(--bg-soft));color:var(--accent);display:grid;place-items:center;flex:none;}
.fc-main{flex:1;}
.fc-name{font-size:15px;font-weight:600;}
.fc-plate{font-size:13px;font-weight:600;color:var(--ink-2);background:var(--bg-soft);padding:5px 10px;border-radius:8px;font-variant-numeric:tabular-nums;}
@media(max-width:680px){ .fleet-grid{grid-template-columns:1fr;} .cc-stats{gap:24px;} }

/* factures */
.inv-summary{display:flex;gap:14px;margin-bottom:18px;}
.inv-sum-item{flex:1;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column;gap:4px;}
.inv-sum-item span{font-size:12px;}
.inv-sum-item b{font-size:24px;font-weight:600;letter-spacing:-0.02em;}
.inv-list{padding:6px 20px;}
.inv-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line);}
.inv-row:first-child{border-top:none;}
.inv-ic{width:38px;height:38px;border-radius:10px;background:var(--bg-soft);color:var(--ink-2);display:grid;place-items:center;flex:none;}
.inv-main{flex:1;min-width:0;}
.inv-id{font-size:14.5px;font-weight:600;}
.inv-label{font-size:13px;}
.inv-date{font-size:13.5px;width:96px;flex:none;}
.inv-amt{font-size:15px;font-weight:600;width:90px;text-align:right;flex:none;}
.inv-dl{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);transition:border-color .2s,color .2s,background .2s;flex:none;}
.inv-dl:hover{border-color:var(--ink);color:var(--ink);background:var(--bg-soft);}
@media(max-width:600px){ .inv-date{display:none;} .inv-summary{flex-wrap:wrap;} .inv-sum-item{min-width:30%;} }

/* paiement */
.pay-card{width:340px;max-width:100%;aspect-ratio:1.586;border-radius:20px;padding:24px;color:#fff;
  background:linear-gradient(135deg,#1c1c22,#2c2c36);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;justify-content:space-between;margin-bottom:20px;}
.pay-card-top{display:flex;align-items:center;justify-content:space-between;}
.pay-card-chip{width:42px;height:32px;border-radius:7px;background:linear-gradient(135deg,#d8b75a,#b08e30);}
.pay-card-brand{font-size:13px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.92);}
.pay-card-num{font-size:21px;letter-spacing:.12em;font-variant-numeric:tabular-nums;}
.pay-card-foot{display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.8);}

/* ============================================================
   TOAST
   ============================================================ */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);z-index:900;
  background:var(--ink);color:#fff;padding:13px 20px;border-radius:14px;font-size:14px;font-weight:500;
  box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s var(--ease);
  display:flex;align-items:center;gap:10px;max-width:90vw;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast .icon{color:#7fd0a0;}

/* ============================================================
   UNIVERSE "WORLD" — full-color page background
   ============================================================ */
.uni-world{background:var(--worldbg);color:#fff;}
.uni-world .eyebrow{color:rgba(255,255,255,.92);}
.uni-world .muted{color:rgba(255,255,255,.66)!important;}
.uni-world .sec-head h2{color:#fff;}
/* hero veil flows into the page colour */
.uni-world .uni-hero-veil{background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.4) 45%,var(--worldbg) 100%);}
/* prestation list */
.uni-world .serv-row{border-color:rgba(255,255,255,.16);}
.uni-world .serv-main h4{color:#fff;}
.uni-world .serv-price{color:#fff;}
/* gallery */
.uni-world .gal-item{background:rgba(255,255,255,.06);}
/* chips */
.uni-world .chip{background:rgba(255,255,255,.12);color:#fff;}
.uni-world .chip-accent{background:rgba(255,255,255,.14);color:#fff;}
.uni-world .chip .icon{color:#fff;}
/* CTA band inside a world */
.uni-world .cta-band{background:rgba(255,255,255,.05);border-top-color:rgba(255,255,255,.14);}
.uni-world .cta-band h2{color:#fff;}
.uni-world .btn-primary{background:#fff;color:#111;}
.uni-world .btn-primary:hover{background:#f0f0f0;}
.uni-world .btn-line{background:transparent;border-color:rgba(255,255,255,.32);color:#fff;}
.uni-world .btn-line:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.uni-world .btn-ghost{color:#fff;}

/* LOCATION world — hero + cards on amber */
.loc-world .loc-hero{background:none;}
.loc-world .loc-hero h1{color:#fff;}
.loc-world .loc-hero .chip-accent{background:rgba(255,255,255,.16);color:#fff;}
.loc-world .loc-hero .chip-accent .icon{color:#fff;}
/* tier cards stay light = pop against amber */
.loc-world .loc-tier{color:var(--ink);}
.loc-world .loc-tier .muted{color:var(--muted)!important;}
.loc-world .loc-tier .btn-accent{background:var(--loc);color:#fff;}
/* info blocks: translucent on amber */
.loc-world .loc-info-col{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);}
.loc-world .loc-info-col h4{color:#fff;}
.loc-world .loc-incl li{color:rgba(255,255,255,.9);}
.loc-world .loc-incl .icon{color:#fff;}
.loc-world .loc-caution{background:rgba(255,255,255,.12);}
.loc-world .caution-amt{color:#fff;}
.loc-world .loc-caution .eyebrow{color:#fff;}

/* ============================================================
   HOME — "fond noir" dark theme
   ============================================================ */
.home-world{background:#0a0b0d;color:#fff;}
.home-world .eyebrow{color:rgba(255,255,255,.85);}
.home-world .muted{color:rgba(255,255,255,.6)!important;}
.home-world h1,.home-world h2,.home-world h3,.home-world h4{color:#fff;}
.home-world .home-hero-bg{background:
   radial-gradient(85% 65% at 18% -12%, rgba(255,255,255,.07), transparent 60%),
   radial-gradient(70% 60% at 102% -4%, rgba(120,150,200,.10), transparent 55%);}
.home-world .home-hero-sub{color:rgba(255,255,255,.72);}
.home-world .hs-l{color:rgba(255,255,255,.5);}
.home-world .chip-accent{background:rgba(255,255,255,.1);color:#fff;}
.home-world .chip-accent .icon{color:#fff;}
.home-world .btn-primary{background:#fff;color:#111;}
.home-world .btn-primary:hover{background:#f0f0f0;}
.home-world .btn-ghost{color:#fff;}
.home-world .btn-line{background:transparent;border-color:rgba(255,255,255,.32);color:#fff;}
.home-world .btn-line:hover{border-color:#fff;background:rgba(255,255,255,.08);}
/* universe cards */
.home-world .uni-card{background:rgba(255,255,255,.04);border-width:2px;border-color:color-mix(in srgb,var(--accent) 82%,#ffffff 18%);box-shadow:none;}
.home-world .uni-card:hover{background:rgba(255,255,255,.07);border-color:var(--accent);box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 2px color-mix(in srgb,var(--accent) 75%,transparent);}
/* automobile : accent trop sombre sur fond noir → contour graphite clair lisible */
.home-world .uni-card[style*="16181d"]{border-color:#6b7280;}
.home-world .uni-card[style*="16181d"]:hover{border-color:#9aa1ad;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 2px rgba(154,161,173,.6);}
.home-world .uni-card-badge{background:#fff;color:#111;box-shadow:none;}
.home-world .uni-card-link{color:#fff;}
/* teaser */
.home-world .teaser{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);}
.home-world .stamp{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.5);}
.home-world .bfa-mini{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);}
/* method band */
.home-world .method-band{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12);}
.home-world .method-step{background:#101216;}
.home-world .ms-n{color:rgba(255,255,255,.4);}
/* cta band */
.home-world .cta-band{background:rgba(255,255,255,.04);border-top-color:rgba(255,255,255,.1);}

/* ============================================================
   GRILLE DE TARIFS (on dark universe worlds)
   ============================================================ */
.tarif-controls{display:flex;flex-wrap:wrap;gap:22px 40px;align-items:flex-end;}
.tc-group{display:flex;flex-direction:column;gap:9px;}
.tc-lbl{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.tc-lbl .icon{color:rgba(255,255,255,.5);}
.tseg{display:inline-flex;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:980px;padding:4px;gap:2px;}
.tseg button{font-size:13.5px;font-weight:550;padding:9px 18px;border-radius:980px;color:rgba(255,255,255,.7);transition:background .2s,color .2s;display:flex;flex-direction:column;align-items:center;line-height:1.15;}
.tseg button em{font-style:normal;font-size:10.5px;opacity:.55;font-weight:500;margin-top:1px;}
.tseg button:hover{color:#fff;}
.tseg button.on{background:#fff;color:#111;}
.tseg-zone button{min-width:86px;}

.niv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 4px;}
.niv-card{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:26px 24px;}
.niv-card.best{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);}
.niv-flag{position:absolute;top:-11px;left:24px;background:#fff;color:#111;font-size:11px;font-weight:650;padding:5px 12px;border-radius:980px;letter-spacing:.01em;}
.niv-name{font-size:23px;font-weight:600;color:#fff;letter-spacing:-.02em;}
.niv-sub{font-size:13px;color:rgba(255,255,255,.6);margin-top:3px;}
.niv-items{list-style:none;margin-top:18px;display:flex;flex-direction:column;gap:11px;}
.niv-items li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:rgba(255,255,255,.82);line-height:1.4;}
.niv-items .icon{color:#fff;opacity:.55;margin-top:2px;flex:none;}

.tarif-subhead{margin:40px 0 16px;}
.tarif-subhead h3{font-size:clamp(22px,3vw,28px);color:#fff;}
.tarif-subhead p{font-size:14px;margin-top:5px;}

.tarif-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);overflow-x:auto;}
.tarif-table{width:100%;border-collapse:collapse;min-width:520px;}
.tarif-table th{text-align:right;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.55);font-weight:650;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.14);}
.tarif-table th.tt-presta{text-align:left;}
.tarif-table td{padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.08);}
.tarif-table tbody tr:last-child td{border-bottom:none;}
.tarif-table td:nth-child(3),.tarif-table th:nth-child(3){background:rgba(255,255,255,.05);}
.tt-presta b{display:block;font-size:16px;color:#fff;font-weight:600;}
.tt-presta span{display:block;font-size:13px;color:rgba(255,255,255,.55);margin-top:3px;max-width:46ch;}
.tt-price{text-align:right;font-size:18px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;}

.tarif-flat{display:flex;flex-direction:column;gap:1px;margin-top:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);overflow:hidden;}
.flat-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;}
.flat-item + .flat-item{border-top:1px solid rgba(255,255,255,.08);}
.flat-main b{font-size:16px;color:#fff;font-weight:600;}
.flat-main span{display:block;font-size:13px;color:rgba(255,255,255,.55);margin-top:3px;}
.flat-price{font-size:18px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;}

.packs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;}
.pack-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:20px;}
.pk-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:#e3a948;margin-bottom:10px;}
.pk-dot{width:7px;height:7px;border-radius:50%;background:#e3a948;}
.pk-head h4{font-size:19px;color:#fff;letter-spacing:-.01em;}
.pk-sub{font-size:12.5px;color:rgba(255,255,255,.55);margin-top:5px;}
.pk-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:auto;}
.pk-cell{background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px 8px;text-align:center;display:flex;flex-direction:column;gap:3px;}
.pk-lv{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.55);font-weight:650;}
.pk-now{font-size:22px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.pk-was{font-size:12.5px;color:rgba(255,255,255,.42);text-decoration:line-through;font-variant-numeric:tabular-nums;}

.tarif-opts{margin-top:36px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:26px 28px;}
.tarif-opts h4{font-size:15px;color:#fff;display:flex;align-items:center;gap:9px;margin-bottom:16px;}
.tarif-opts h4 .icon{color:rgba(255,255,255,.6);}
.tarif-opts ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;}
.tarif-opts li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:rgba(255,255,255,.78);line-height:1.45;}
.tarif-opts li .icon{color:rgba(255,255,255,.4);margin-top:2px;flex:none;}
.opts-foot{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.6);}

@media(max-width:820px){ .niv-grid{grid-template-columns:1fr;} .tarif-opts ul{grid-template-columns:1fr;} }
@media(max-width:560px){
  .tarif-controls{gap:18px 24px;}
  .tseg button{padding:8px 13px;}
  .tseg-zone button{min-width:0;}
}

/* ============================================================
   NOUVELLES ANIMATIONS
   ============================================================ */

/* ---- Cartes univers : révélation « tournante / déroulante » 3D ---- */
html.anim-ok .uni-grid{perspective:1300px;perspective-origin:50% 0;}
html.anim-ok .uni-grid .rev{
  opacity:0;transform:translateY(34px) rotateX(-78deg) scale(.97);
  transform-origin:top center;backface-visibility:hidden;}
html.anim-ok .uni-grid .rev.in{
  opacity:1;transform:none;
  transition:opacity .7s var(--ease),transform 1.05s cubic-bezier(.22,1,.36,1);}
html.anim-ok .uni-grid .rev:nth-child(1){transition-delay:60ms!important;}
html.anim-ok .uni-grid .rev:nth-child(2){transition-delay:200ms!important;}
html.anim-ok .uni-grid .rev:nth-child(3){transition-delay:340ms!important;}
@media(prefers-reduced-motion:reduce){
  html.anim-ok .uni-grid .rev{opacity:1;transform:none;}
}

/* ---- Pastilles fidélité : remplissage séquentiel ---- */
.stamp{transition:transform .3s var(--ease),background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease);}
.stamp.pop{animation:stampPop .42s var(--ease);}
@keyframes stampPop{0%{transform:scale(.55);}55%{transform:scale(1.18);}100%{transform:scale(1);}}

/* ============================================================
   SHAMPOUINEUSE ANIMÉE 3D (page Location)
   ============================================================ */
.sh-stage{position:relative;width:100%;display:flex;justify-content:center;
  margin:clamp(26px,5vw,50px) auto 0;perspective:1000px;perspective-origin:50% 60%;}
.sh-machine{position:relative;width:360px;height:300px;transform-origin:bottom center;
  animation:shRoll 5.4s ease-in-out infinite alternate;}
@media(prefers-reduced-motion:reduce){ .sh-machine{animation:none;} .sh-machine *{animation:none!important;} }
@keyframes shRoll{
  0%{transform:translateX(-24px) rotate(-1.3deg);}
  100%{transform:translateX(24px) rotate(1.3deg);}
}

/* ground shadow */
.sh-shadow{position:absolute;bottom:14px;left:50%;width:280px;height:34px;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(50% 100% at 50% 50%,rgba(0,0,0,.5),transparent 70%);
  filter:blur(3px);animation:shShadow 5.4s ease-in-out infinite alternate;}
@keyframes shShadow{0%{transform:translateX(-50%) scaleX(.92);}100%{transform:translateX(-50%) scaleX(1.06);}}

/* handle */
.sh-handle{position:absolute;top:-8px;left:118px;width:118px;height:118px;
  border:9px solid #3a2c14;border-radius:50%;
  border-right-color:transparent;border-bottom-color:transparent;
  transform:rotate(38deg);z-index:1;}

/* canister body (cylindre crème + bronze) */
.sh-body{position:absolute;top:54px;left:74px;width:170px;height:184px;z-index:3;}
.sh-front{position:absolute;inset:0;border-radius:30px;overflow:hidden;
  background:linear-gradient(102deg,#9c7838 0%,#f5eddd 26%,#fffdf8 42%,#efe2cc 60%,#a07c3b 100%);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.7),inset 0 -22px 40px rgba(120,90,40,.28),0 24px 44px rgba(0,0,0,.4);
  border:1px solid rgba(120,90,40,.35);}
.sh-side{position:absolute;top:8px;right:-20px;width:40px;height:168px;z-index:-1;
  border-radius:0 26px 26px 0;background:linear-gradient(180deg,#8e6c33,#523d1b);
  transform:skewY(9deg);box-shadow:0 18px 30px rgba(0,0,0,.4);}
.sh-top{position:absolute;top:-19px;left:50%;transform:translateX(-50%);
  width:150px;height:40px;border-radius:50%;z-index:4;
  background:radial-gradient(60% 90% at 42% 30%,#fffaf0,#cfa15f 75%,#8e6c33);
  box-shadow:inset 0 -4px 8px rgba(120,90,40,.4),0 4px 10px rgba(0,0,0,.3);}

/* tank with sloshing water */
.sh-tank{position:absolute;top:20px;left:50%;transform:translateX(-50%);
  width:98px;height:66px;border-radius:14px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(220,235,245,.32));
  border:1.5px solid rgba(255,255,255,.65);box-shadow:inset 0 0 0 2px rgba(120,90,40,.18);}
.sh-water{position:absolute;left:0;right:0;bottom:0;height:46%;
  background:linear-gradient(180deg,#7fc4e8,#2f86c4);opacity:.85;
  border-top:2px solid rgba(255,255,255,.7);animation:shSlosh 3s ease-in-out infinite;}
@keyframes shSlosh{0%,100%{height:44%;transform:skewY(-2.5deg);}50%{height:52%;transform:skewY(2.5deg);}}

/* control panel */
.sh-panel{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);
  width:104px;height:30px;border-radius:9px;background:#2c2113;
  display:flex;align-items:center;gap:8px;padding:0 12px;box-shadow:inset 0 1px 3px rgba(0,0,0,.6);}
.sh-led{width:11px;height:11px;border-radius:50%;background:#54e08a;flex:none;
  box-shadow:0 0 8px #54e08a;animation:shLed 1.5s ease-in-out infinite;}
@keyframes shLed{0%,100%{opacity:1;}50%{opacity:.35;}}
.sh-grille{flex:1;height:13px;border-radius:3px;
  background:repeating-linear-gradient(90deg,#5a4524 0 3px,transparent 3px 6px);}
.sh-logo{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);
  font-weight:800;font-size:17px;letter-spacing:.06em;color:#7a5a26;}

/* wheels */
.sh-wheel{position:absolute;border-radius:50%;z-index:2;
  background:radial-gradient(circle at 38% 34%,#5a5a5e,#101012 72%);
  display:grid;place-items:center;box-shadow:0 8px 16px rgba(0,0,0,.45);}
.sh-wheel span{display:block;width:46%;height:46%;border-radius:50%;
  background:conic-gradient(#cfa15f 0 25%,#7a5a26 0 50%,#cfa15f 0 75%,#7a5a26 0);
  box-shadow:0 0 0 3px #1a1a1c;animation:shSpin 1.4s linear infinite;}
.sh-wheel-a{width:70px;height:70px;bottom:24px;left:158px;border:5px solid #1c1c1e;}
.sh-wheel-b{width:54px;height:54px;bottom:30px;left:112px;border:4px solid #161618;
  filter:brightness(.8);z-index:1;}
.sh-wheel-b span{animation-duration:1.4s;}
@keyframes shSpin{to{transform:rotate(360deg);}}

/* hose */
.sh-hose{position:absolute;top:70px;left:228px;width:150px;height:160px;
  border:12px solid #241b10;border-radius:60%;
  border-top-color:transparent;border-left-color:transparent;
  transform:rotate(14deg);z-index:0;}

/* wand + cleaning head + spray */
.sh-wand{position:absolute;bottom:22px;left:300px;width:90px;height:90px;z-index:4;
  transform-origin:top center;animation:shScrub 2.6s ease-in-out infinite;}
@keyframes shScrub{0%,100%{transform:translateX(0) rotate(0);}50%{transform:translateX(-12px) rotate(-3deg);}}
.sh-head{position:absolute;bottom:0;left:0;width:78px;height:20px;border-radius:7px;
  background:linear-gradient(180deg,#e9dcc2,#7a5a26);transform:skewX(-20deg);
  box-shadow:0 6px 12px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.5);}
.sh-spray{position:absolute;bottom:2px;left:6px;width:70px;height:40px;}
.sh-mist{position:absolute;bottom:0;left:calc(var(--i)*9px);width:9px;height:9px;
  border-radius:50%;background:radial-gradient(circle,#dff2fb,rgba(150,205,235,.2));
  opacity:0;animation:shMist 1.5s ease-out infinite;animation-delay:calc(var(--i)*-0.2s);}
@keyframes shMist{
  0%{transform:translate(0,0) scale(.5);opacity:0;}
  25%{opacity:.85;}
  100%{transform:translate(calc(var(--i)*2px - 8px),24px) scale(1.5);opacity:0;}
}

/* clean trail on floor */
.sh-trail{position:absolute;bottom:30px;left:118px;width:206px;height:15px;
  border-radius:8px;filter:blur(3px);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26) 70%,rgba(255,255,255,.34));}

@media(max-width:560px){ .sh-stage{margin-top:24px;} }

/* ============================================================
   v3 — Carrousel 3D · Avant/Après · Avis · Partenaires · Bissell · Locker
   ============================================================ */

/* ---- service rows : tag "sur devis" au lieu du prix ---- */
.serv-tag{display:inline-flex;align-items:center;gap:6px;flex:none;
  font-size:12.5px;font-weight:600;letter-spacing:.01em;color:var(--ink-2,#6b7280);
  background:var(--bg-soft,#f4f5f6);border:1px solid rgba(0,0,0,.07);
  padding:7px 13px;border-radius:980px;white-space:nowrap;}
.serv-tag .icon{width:15px;height:15px;opacity:.7;}

/* ---- BISSELL (remplace l'ancienne machine CSS) ---- */
.sh-stage{perspective:1100px;perspective-origin:50% 45%;}
.sh-machine{width:auto;height:auto;animation:none!important;
  transform-style:preserve-3d;will-change:transform;}
.sh-bissell{width:min(330px,70vw);height:auto;display:block;
  filter:drop-shadow(0 34px 44px rgba(0,0,0,.55));backface-visibility:hidden;}
.sh-shadow{bottom:-6px;width:240px;height:30px;animation:shShadow 4s ease-in-out infinite alternate;}
.sh-spray{position:absolute;top:30%;left:46%;width:60px;height:50px;pointer-events:none;}
.sh-mist{background:radial-gradient(circle,rgba(223,242,251,.9),rgba(150,205,235,.15));}

/* ---- CARROUSEL 3D (coverflow) ---- */
.cf-section{overflow:hidden;}
.cf{position:relative;overflow:hidden;padding:42px 0 50px;perspective:1500px;
  -webkit-mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);
  mask:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);}
.cf-track{display:flex;gap:30px;width:max-content;will-change:transform;}
.cf-card{flex:0 0 auto;width:min(380px,76vw);aspect-ratio:3/2;border-radius:20px;
  overflow:hidden;background:#0c0d10;transform-style:preserve-3d;
  box-shadow:0 30px 60px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.08);}
.cf-card img,.cf-card video{width:100%;height:100%;object-fit:cover;display:block;}

/* ---- FILMSTRIP (galerie plein-format, 2 rangées) ---- */
.fs{position:relative;overflow:hidden;padding:20px 0 8px;
  display:flex;flex-direction:column;gap:clamp(16px,2vw,26px);
  -webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.fs-row{overflow:hidden;}
.fs-lane{display:flex;gap:clamp(16px,1.8vw,24px);width:max-content;will-change:transform;}
.fs-a .fs-lane{animation:fsScroll var(--dur,64s) linear infinite;}
.fs-b .fs-lane{animation:fsScrollR var(--dur,78s) linear infinite;}
@keyframes fsScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fsScrollR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media (prefers-reduced-motion: reduce){
  .fs-a .fs-lane,.fs-b .fs-lane{animation:none;}
  .fs{overflow-x:auto;} .fs-row{overflow:visible;}
}
.fs-item{position:relative;flex:0 0 auto;margin:0;height:clamp(220px,26vw,344px);aspect-ratio:3/4;
  border-radius:18px;overflow:hidden;background:#0c0d10;
  box-shadow:0 26px 54px -26px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.1);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);}
.fs-item img,.fs-item video{display:block;height:100%;width:100%;max-width:none;object-fit:cover;}
/* backdrop-filter retiré : ce numéro est répété sur CHAQUE vignette, et la
   galerie duplique ses images pour boucler — jusqu'à 78 surfaces de flou
   à recalculer en continu, dans une couche qui défile en permanence. */
.fs-num{position:absolute;top:12px;left:12px;z-index:2;font-size:11px;font-weight:760;letter-spacing:.1em;
  color:#fff;background:rgba(12,13,16,.66);
  padding:4px 9px;border-radius:980px;font-variant-numeric:tabular-nums;
  opacity:0;transform:translateY(-4px);transition:opacity .4s var(--ease),transform .4s var(--ease);}
.fs-item:hover{transform:translateY(-8px) scale(1.015);border-color:color-mix(in srgb,var(--accent,#16181d) 60%,#fff);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.7);}
.fs-item:hover .fs-num{opacity:1;transform:translateY(0);}
.uni-world .fs-item{border-color:rgba(255,255,255,.14);}
.uni-world .fs-item:hover{border-color:rgba(255,255,255,.6);}

/* ---- AVANT / APRÈS ---- */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;max-width:920px;margin:0 auto;}
.ba-grid .ba{max-width:none;aspect-ratio:4/5;}
.ba-grid .ba.ba-wide{grid-column:1/-1;aspect-ratio:16/9;}
.ba-stack{display:flex;flex-direction:column;gap:24px;max-width:920px;margin:0 auto;}
.ba-stack .ba{margin:0 auto;}
.ba-cell-tall .ba{aspect-ratio:5/6;max-width:520px;}
.ba-cell-wide .ba{aspect-ratio:12/5;max-width:920px;}
@media(max-width:760px){ .ba-grid{grid-template-columns:1fr;} }
.ba-grid-3{grid-template-columns:repeat(3,1fr);max-width:1180px;}
@media(max-width:620px){ .ba-grid-3{grid-template-columns:1fr;} }
.ba{position:relative;width:100%;max-width:920px;margin:0 auto;aspect-ratio:16/10;
  border-radius:var(--r-lg);overflow:hidden;cursor:ew-resize;user-select:none;
  box-shadow:0 26px 56px rgba(0,0,0,.28);background:#0c0d10;touch-action:pan-y;}
.ba img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;}
/* Pas de will-change ici : il promouvait EN PERMANENCE cette zone en
   couche de composition, avec une photo de 1800x2118 dedans. Trois
   comparatifs par page, plus les étiquettes en backdrop-filter posées
   par-dessus, et le compositeur s'effondrait — la page se figeait sur
   Automobile, Équestre et Textile, les seules à en contenir.
   Le navigateur promeut de lui-même pendant le glissement ; le reste
   du temps c'est une image fixe, il n'y a rien à anticiper. */
.ba-before{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;
  clip-path:inset(0 50% 0 0);}
.ba-before img{max-width:none;}
.ba-handle{position:absolute;top:0;bottom:0;left:50%;width:3px;margin-left:-1.5px;
  background:rgba(255,255,255,.95);box-shadow:0 0 14px rgba(0,0,0,.4);z-index:3;}
.ba-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:50px;height:50px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 18px rgba(0,0,0,.35);color:#111;}
.ba-knob .icon{width:16px;height:16px;}
.ba-knob .icon:first-child{transform:rotate(180deg);}
.ba-knob i{width:2px;height:18px;background:rgba(0,0,0,.12);margin:0 3px;border-radius:2px;}
/* backdrop-filter retiré : chaque étiquette obligeait le navigateur à
   relire la couche composée sous elle, à chaque image. Un fond un peu
   plus dense donne le même contraste sur la photo, sans le coût. */
.ba-tag{position:absolute;top:16px;z-index:2;font-size:12px;font-weight:650;letter-spacing:.05em;
  text-transform:uppercase;color:#fff;background:rgba(0,0,0,.62);
  padding:6px 12px;border-radius:980px;}
.ba-tag-l{left:16px;} .ba-tag-r{right:16px;}
.ba-cap{position:absolute;bottom:16px;left:16px;z-index:2;color:#fff;font-size:14px;font-weight:600;
  background:rgba(0,0,0,.62);padding:8px 14px;border-radius:12px;}

/* ---- AVIS CLIENTS ---- */
.rv-starrow{display:inline-flex;gap:3px;align-items:center;}
.rv-star{position:relative;width:18px;height:18px;display:inline-block;}
.rv-star svg{position:absolute;inset:0;width:100%;height:100%;display:block;}
.rv-star .st-base path{fill:rgba(0,0,0,.14);}
.uni-world .rv-star .st-base path,.loc-world .rv-star .st-base path{fill:rgba(255,255,255,.22);}
.rv-star .st-fill path{fill:#f5b301;}
.rv-sum{display:flex;align-items:center;gap:16px;margin:32px 0 30px;flex-wrap:wrap;}
.rv-g{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.05);}
.rv-g svg{width:22px;height:22px;display:block;}
.rv-sum-note{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink,#1a1c20);font-variant-numeric:tabular-nums;}
.uni-world .rv-sum-note,.loc-world .rv-sum-note{color:#fff;}
.rv-sum .rv-star{width:26px;height:26px;}
.rv-sum-count{font-size:13.5px;font-weight:550;color:var(--ink-2,#6b7280);}
.uni-world .rv-sum-count,.loc-world .rv-sum-count{color:rgba(255,255,255,.6);}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.rv-card{position:relative;overflow:hidden;background:var(--card,#fff);border:1px solid rgba(0,0,0,.08);border-radius:22px;
  padding:26px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 30px rgba(0,0,0,.05);
  transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .5s,box-shadow .5s;}
.rv-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(0,0,0,.16);}
.uni-world .rv-card,.loc-world .rv-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);}
.uni-world .rv-card:hover,.loc-world .rv-card:hover{border-color:rgba(255,255,255,.3);}
.rv-quote{position:absolute;top:0;right:14px;font-family:Georgia,serif;font-size:98px;line-height:1.1;opacity:.08;pointer-events:none;}
.rv-head{display:flex;align-items:center;gap:12px;}
.rv-ava{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:750;font-size:16px;
  background:linear-gradient(135deg,#d99a3f,#bd7a1c);color:#fff;}
.rv-card blockquote{font-size:15.5px;line-height:1.55;color:var(--ink,#1a1c20);margin:0;text-wrap:pretty;}
.uni-world .rv-card blockquote,.loc-world .rv-card blockquote{color:rgba(255,255,255,.92);}
.rv-card figcaption{display:flex;flex-direction:column;gap:2px;}
.rv-name{font-weight:650;font-size:14.5px;color:var(--ink,#1a1c20);}
.uni-world .rv-name,.loc-world .rv-name{color:#fff;}
.rv-city{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink-2,#6b7280);}
.rv-city .icon{width:13px;height:13px;opacity:.6;}
.uni-world .rv-city,.loc-world .rv-city{color:rgba(255,255,255,.55);}
.rv-grid.rv-collapsed .rv-card.rv-hid{display:none;}
.rv-morewrap{display:flex;justify-content:center;margin-top:28px;}
.uni-world .rv-morewrap .btn-line,.loc-world .rv-morewrap .btn-line{color:#fff;border-color:rgba(255,255,255,.28);}
.uni-world .rv-morewrap .btn-line:hover,.loc-world .rv-morewrap .btn-line:hover{border-color:#fff;background:rgba(255,255,255,.08);}
/* entrée en cascade + étoiles qui se remplissent */
html.anim-ok .rv-grid .rv-card{opacity:0;transform:translateY(26px);}
html.anim-ok .rv-grid.in .rv-card{opacity:1;transform:none;
  transition:opacity .8s cubic-bezier(.16,1,.3,1) var(--d,0s),transform .8s cubic-bezier(.16,1,.3,1) var(--d,0s),border-color .5s,box-shadow .5s;}
@keyframes stPop{0%{transform:scale(0);}70%{transform:scale(1.28);}100%{transform:scale(1);}}
@media(prefers-reduced-motion:no-preference){
  html.anim-ok .rev.in .rv-star .st-fill{animation:stPop .45s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0s);transform-origin:center;}
  html.anim-ok .rv-grid.in .rv-star .st-fill{animation:stPop .45s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d,0s);transform-origin:center;}
}

/* ---- PARTENAIRES ---- */
.pt-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 16px;margin-top:28px;}
.pt-logo{font-family:var(--serif,Georgia,serif);font-size:clamp(15px,1.7vw,18px);font-weight:600;
  letter-spacing:.01em;color:var(--ink,#1a1c20);opacity:.62;transition:opacity .3s,transform .3s,background .3s;white-space:nowrap;
  padding:10px 20px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:rgba(0,0,0,.03);}
.pt-logo:hover{opacity:1;transform:translateY(-2px);}
.uni-world .pt-logo,.loc-world .pt-logo{color:#fff;opacity:.78;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06);}
.uni-world .pt-logo:hover,.loc-world .pt-logo:hover{opacity:1;background:rgba(255,255,255,.12);}
.pt-title{font-size:clamp(20px,2.6vw,28px);letter-spacing:-0.01em;text-transform:none;font-weight:700;color:var(--ink,#0a0a0c);}
.uni-world .pt-title,.loc-world .pt-title{color:#fff;}

/* FAQ cards inside a dark uni-world page: card bg stays light, so force dark text */
.uni-world .lk-q{color:#0a0a0c;}
.uni-world .lk-q summary{color:#0a0a0c;}
.uni-world .lk-q .a{color:rgba(10,10,12,.66);}

/* ---- DEVIS : panneau sombre tarifs + sélecteur univers ---- */
.dv-dark{background:#0b0c0f;border:1px solid rgba(255,255,255,.08);border-radius:calc(var(--r-lg) + 6px);
  padding:clamp(22px,3.5vw,40px);box-shadow:0 30px 70px rgba(0,0,0,.18);}
.dv-univ{display:flex;flex-wrap:wrap;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:6px;margin-bottom:30px;}
.dv-univ button{flex:1;min-width:120px;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 14px;border-radius:11px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.66);transition:all .2s;}
.dv-univ button .icon{width:17px;height:17px;}
.dv-univ button:hover{color:#fff;}
.dv-univ button.on{background:#fff;color:#111;box-shadow:0 4px 14px rgba(0,0,0,.3);}
/* textile cards in devis */
.dv-srv-list{display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);overflow:hidden;}
.dv-srv{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;}
.dv-srv + .dv-srv{border-top:1px solid rgba(255,255,255,.08);}
.dv-srv-main h4{font-size:17px;color:#fff;font-weight:600;}
.dv-srv-main p{font-size:13.5px;color:rgba(255,255,255,.58);margin-top:4px;max-width:52ch;}
.dv-srv-price{font-size:19px;font-weight:650;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;}
/* location grid in devis */
.dv-loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.dv-loc{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg);padding:26px 22px;text-align:center;}
.dv-loc.pop{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);}
.dv-loc-flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:#fff;color:#111;
  font-size:11px;font-weight:650;padding:5px 12px;border-radius:980px;white-space:nowrap;}
.dv-loc-h{font-size:15px;font-weight:600;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.05em;}
.dv-loc-p{font-size:38px;font-weight:650;color:#fff;margin:8px 0;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.dv-loc-p span{font-size:17px;font-weight:600;}
.dv-loc p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.4;}
.dv-foot{margin-top:18px;font-size:13px;color:rgba(255,255,255,.6);display:flex;align-items:flex-start;gap:8px;}
.dv-foot .icon{width:16px;height:16px;flex:none;margin-top:1px;color:rgba(255,255,255,.5);}

/* ============================================================
   SCÈNE CASIER · rue du Gros-Horloge (photo réelle) — interactif
   ============================================================ */
.lk-scene{position:relative;width:100%;max-width:900px;margin:clamp(24px,4vw,40px) auto 0;
  aspect-ratio:3/2;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.32);background:#2a2622;user-select:none;}
.lk-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.lk-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 95% at 50% 38%,transparent 52%,rgba(0,0,0,.42));}

/* casier Better Cleaner posé sur les pavés */
.lk-locker{position:absolute;bottom:6%;left:62%;transform:translateX(-50%);z-index:5;
  width:16%;min-width:104px;aspect-ratio:3/4;cursor:pointer;border:none;background:none;padding:0;
  filter:drop-shadow(0 20px 22px rgba(0,0,0,.5));transition:transform .3s var(--ease);}
.lk-locker:hover{transform:translateX(-50%) translateY(-3px);}
.lk-ground{position:absolute;bottom:-4%;left:50%;transform:translateX(-50%);z-index:-1;
  width:150%;height:13%;border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.55),transparent 70%);filter:blur(2.5px);}
.lk-locker-body{position:relative;width:100%;height:91%;border-radius:8px;
  background:linear-gradient(155deg,#2e313a,#101217);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.10),inset 0 0 0 1px rgba(255,255,255,.06);
  overflow:hidden;transform-style:preserve-3d;}
.lk-foot{width:112%;height:6%;margin-left:-6%;background:linear-gradient(180deg,#0c0d10,#000);
  border-radius:0 0 7px 7px;box-shadow:0 12px 16px rgba(0,0,0,.5);}
.lk-inside{position:absolute;inset:6%;border-radius:5px;
  background:radial-gradient(circle at 50% 38%,#363a43,#0d0e12);
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.lk-inside img{width:82%;height:auto;margin-bottom:3%;filter:drop-shadow(0 8px 12px rgba(0,0,0,.6));
  transform:translateY(42%) scale(.92);opacity:0;transition:transform .55s .25s var(--ease),opacity .4s .25s;}
.lk-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 60%,rgba(120,180,225,.55),transparent 62%);opacity:0;transition:opacity .5s .2s;}

/* portes */
.lk-door{position:absolute;top:0;bottom:0;width:50%;z-index:2;backface-visibility:hidden;
  background:linear-gradient(160deg,#2d313a 0%,#16181d 60%,#0d0f13 100%);
  transition:transform .8s cubic-bezier(.6,.02,.2,1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);}
.lk-door-l{left:0;transform-origin:left center;border-right:1px solid rgba(0,0,0,.55);}
.lk-door-r{right:0;transform-origin:right center;}
.lk-logo{position:absolute;top:9%;left:50%;transform:translateX(-50%);
  font-family:Georgia,serif;font-weight:700;font-size:clamp(13px,2.4vw,22px);letter-spacing:.05em;color:#fff;opacity:.92;}
.lk-screen{position:absolute;top:30%;left:12%;right:12%;height:15%;border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-accent),ui-monospace,monospace;font-size:clamp(9px,1.5vw,13px);letter-spacing:.14em;color:#7fe8a6;
  background:linear-gradient(180deg,#0a1f16,#06120c);box-shadow:inset 0 0 8px rgba(0,0,0,.7),0 0 10px rgba(84,224,138,.22);}
.lk-handle{position:absolute;bottom:9%;left:8%;width:11%;height:6%;border-radius:3px;background:#42464e;box-shadow:inset 0 1px 0 rgba(255,255,255,.15);}
.lk-scene.open .lk-door-l{transform:rotateY(-118deg);}
.lk-scene.open .lk-door-r{transform:rotateY(118deg);}
.lk-scene.open .lk-inside img{transform:translateY(0) scale(1);opacity:1;}
.lk-scene.open .lk-glow{opacity:1;}

/* pavé numérique */
.lk-pad{position:absolute;z-index:9;left:50%;bottom:11%;transform:translate(-50%,18px);
  width:min(258px,74%);padding:15px 15px 16px;border-radius:16px;
  background:rgba(13,14,17,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 50px rgba(0,0,0,.55);
  opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease);}
.lk-scene.padopen .lk-pad{opacity:1;pointer-events:auto;transform:translate(-50%,0);}
.lk-pad-head{display:flex;gap:6px;align-items:center;justify-content:center;
  font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:600;}
.lk-pad-head .icon{width:14px;height:14px;}
.lk-pad-display{display:flex;gap:13px;justify-content:center;margin:13px 0;}
.lk-pad-display i{width:13px;height:13px;border-radius:50%;background:rgba(255,255,255,.13);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:background .2s,box-shadow .2s;}
.lk-pad-display i.on{background:#54e08a;box-shadow:0 0 10px rgba(84,224,138,.65);}
.lk-pad-display.shake{animation:lkshake .5s;}
@keyframes lkshake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.lk-pad-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.lk-key{height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);
  color:#fff;font-size:18px;font-weight:600;cursor:pointer;transition:background .15s,transform .08s;font-family:inherit;}
.lk-key:hover{background:rgba(255,255,255,.15);}
.lk-key:active{transform:scale(.93);}
.lk-key-del{font-size:16px;color:rgba(255,255,255,.7);}
.lk-key-empty{visibility:hidden;pointer-events:none;}
.lk-pad-note{margin-top:12px;text-align:center;font-size:11.5px;color:rgba(255,255,255,.55);}
.lk-pad-note b{color:#fff;letter-spacing:.12em;}

/* personne qui repart avec la machine */
.lk-person{position:absolute;bottom:5%;left:60%;z-index:6;width:12%;min-width:64px;aspect-ratio:140/300;
  opacity:0;pointer-events:none;transform-origin:bottom center;}
.lk-fig{position:absolute;inset:0;width:100%;height:100%;overflow:visible;
  filter:drop-shadow(0 4px 6px rgba(0,0,0,.35));}
.lk-fig-back,.lk-fig-torso{stroke:#34373f;}
.lk-fig-front{stroke:#202329;}
.lk-fig-head{fill:#202329;}
.lk-machine{position:absolute;bottom:7%;left:12%;width:52%;height:auto;
  filter:drop-shadow(0 6px 9px rgba(0,0,0,.5));}
.lk-shadow{position:absolute;bottom:-3%;left:50%;transform:translateX(-50%);
  width:135%;height:11%;border-radius:50%;
  background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.5),transparent 72%);
  filter:blur(2px);}
/* jambes en mouvement pendant la marche */
.lk-scene.pickup .lk-fig-front{animation:lkstep .56s var(--ease) infinite alternate;transform-origin:70px 150px;}
.lk-scene.pickup .lk-fig-back{animation:lkstep .56s var(--ease) infinite alternate-reverse;transform-origin:72px 150px;}
@keyframes lkstep{from{transform:rotate(-7deg);}to{transform:rotate(7deg);}}

.lk-scene.pickup .lk-inside img{opacity:0;transform:translateY(12%) scale(.8);transition:opacity .3s,transform .3s;}
.lk-scene.pickup .lk-person{animation:lkwalk 3.4s cubic-bezier(.45,.02,.5,1) forwards;}
@keyframes lkwalk{
  0%{opacity:0;transform:translate(8px,0) scale(.82);}
  12%{opacity:1;transform:translate(0,0) scale(.85);}
  100%{opacity:1;transform:translate(-300px,42px) scale(1.55);}
}
@media(prefers-reduced-motion:reduce){
  .lk-scene.pickup .lk-person{animation:none;opacity:1;transform:translate(-110px,24px) scale(1.2);}
  .lk-scene.pickup .lk-fig-front,.lk-scene.pickup .lk-fig-back{animation:none;}
}

.lk-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:8;
  display:flex;align-items:center;gap:8px;white-space:nowrap;
  background:rgba(10,11,13,.82);color:#fff;font-size:13.5px;font-weight:600;
  padding:9px 16px;border-radius:980px;backdrop-filter:blur(6px);box-shadow:0 8px 20px rgba(0,0,0,.3);}
.lk-hint .icon{width:16px;height:16px;}
.lk-scene.padopen .lk-hint{opacity:0;pointer-events:none;}

@media(max-width:760px){
  .rv-grid{grid-template-columns:1fr;}
  .dv-loc-grid{grid-template-columns:1fr;}
  .dv-univ button span{display:none;}
  .dv-univ button{min-width:0;}
  .lk-locker{width:26%;}
  .lk-person{width:15%;}
  .lk-pad{width:84%;}
  .lk-hint{font-size:11.5px;white-space:normal;text-align:center;max-width:80%;}
}

/* ============================================================
   PAGES LÉGALES
   ============================================================ */
.lg-doc{display:flex;flex-direction:column;gap:26px;margin-top:34px;}
.lg-block h3{font-size:18px;letter-spacing:-.01em;margin-bottom:10px;}
.lg-block p{font-size:15px;line-height:1.65;color:var(--ink-2);}
.lg-block p a{color:var(--ink);text-decoration:underline;}
.lg-list{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:7px;}
.lg-list li{font-size:15px;line-height:1.55;color:var(--ink-2);}
.lg-list li a{color:var(--ink);text-decoration:underline;}
.lg-updated{margin-top:34px;font-size:13px;}

/* note moyenne avis */
.rv-meta{display:inline-flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap;}
.rv-meta-avg{font-size:24px;font-weight:700;letter-spacing:-.02em;}
.rv-meta-stars{display:inline-flex;gap:2px;}
.rv-meta-stars .icon{width:17px;height:17px;color:#f5b301;fill:#f5b301;}
.rv-meta-txt{font-size:13.5px;}

/* liens légaux footer */
.footer-legal{display:inline-flex;gap:16px;flex-wrap:wrap;}
.footer-legal a{color:inherit;opacity:.8;}
.footer-legal a:hover{opacity:1;text-decoration:underline;}

/* passerelle univers → Locker */
.uni-bridge{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 16%,transparent);
  border-radius:var(--r-lg);padding:32px 34px;position:relative;overflow:hidden;min-height:230px;}
.uni-bridge-body{flex:1 1 340px;min-width:0;position:relative;z-index:1;}
.uni-bridge-body h3{font-size:clamp(20px,2.4vw,26px);letter-spacing:-0.02em;margin:8px 0 10px;color:#0a0a0c;}
.uni-bridge-body p{max-width:60ch;}
.uni-world .uni-bridge .muted{color:#4a4a4e!important;}
.uni-bridge .eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--accent);}
.uni-bridge-cta{flex:none;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px;}
.uni-bridge-mark{position:absolute;z-index:0;top:0;bottom:0;right:0;
  height:100%;aspect-ratio:380/230;width:auto;opacity:.6;pointer-events:none;
  -webkit-mask:url(../assets/logo-bc-glyph-dark.png) right center/auto 100% no-repeat;
  mask:url(../assets/logo-bc-glyph-dark.png) right center/auto 100% no-repeat;}
.uni-bridge-mark.bridge-mono-automobile{
  background:linear-gradient(118deg,#eef1f4 0%,#9aa1a9 15%,#cdd2d6 30%,#5c636b 46%,#f2f4f6 56%,#828a92 74%,#c2c7cc 100%);
  background-size:230% 230%;background-position:0% 50%;}
.uni-bridge-mark.bridge-mono-locker{
  background:linear-gradient(118deg,#e7c3a3 0%,#8a4a24 15%,#d69a6e 31%,#5e2f16 46%,#f0d2b6 56%,#7c3f1e 74%,#c98a5c 100%);
  background-size:230% 230%;background-position:0% 50%;}
/* Animation retirée : même montage que .uhx-mono — un dégradé large
   derrière un masque PNG. Animer un élément masqué force un repeint
   complet à chaque image, le GPU ne peut pas le composer. */
@media(max-width:720px){.uni-bridge-mark{display:none;}}
@media(max-width:640px){.uni-bridge{padding:26px 22px;}.uni-bridge .btn{width:100%;justify-content:center;}.uni-bridge-cta{width:100%;}}

/* accueil — bande « 4 questions » */
.home-4q{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.q4{display:flex;gap:13px;align-items:flex-start;background:var(--bg-soft);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:20px 18px;}
.q4-ic{flex:none;width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--ink);}
.q4-ic svg{width:19px;height:19px;}
.q4-b b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.q4-b p{font-size:14px;line-height:1.5;color:var(--ink);}
.q4-b a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:2px;white-space:nowrap;}
@media(max-width:900px){.home-4q{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.home-4q{grid-template-columns:1fr;}}

/* accueil — entrées Locker & Professionnels */
.home-entries{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:26px;}
.home-entry{position:relative;display:block;overflow:hidden;color:var(--ink);
  background:radial-gradient(130% 90% at 100% 0%, color-mix(in srgb,var(--accent) 13%,#ffffff) 0%, #ffffff 55%);
  border:1.5px solid color-mix(in srgb,var(--accent) 28%,transparent);
  border-radius:var(--r-lg);padding:30px 30px 28px;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);}
.home-entry:hover{transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--accent) 55%,transparent);
  box-shadow:0 28px 60px -26px color-mix(in srgb,var(--accent) 60%,rgba(0,0,0,.55));}
.he-ic{width:56px;height:56px;border-radius:16px;background:var(--accent-soft);color:var(--accent);
  display:grid;place-items:center;margin-bottom:18px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent);}
.he-ic svg{width:28px;height:28px;}
.home-world .home-entry .eyebrow{color:var(--accent);}
.home-world .home-entry h3{font-size:23px;letter-spacing:-0.02em;margin:8px 0 10px;color:var(--ink);}
.home-world .home-entry .he-body p{color:color-mix(in srgb,var(--ink) 58%,#ffffff)!important;font-size:14.5px;line-height:1.55;max-width:48ch;margin:0;}
.home-world .home-entry .uni-card-link{color:var(--accent);font-weight:650;display:inline-flex;align-items:center;gap:7px;margin-top:16px;}
.home-entry .uni-card-link svg{transition:transform .3s var(--ease);}
.home-entry:hover .uni-card-link svg{transform:translateX(4px);}
@media(max-width:1000px){.home-entries{grid-template-columns:1fr 1fr;}}
@media(max-width:760px){.home-entries{grid-template-columns:1fr;}}

/* préférence de communication (page confidentialité) */
.mkt-pref{display:block;margin-top:15px;}
.mkt-toggle{display:flex;gap:11px;align-items:flex-start;background:var(--bg-soft);border:1px solid var(--line);
  border-radius:12px;padding:14px 16px;font-size:14px;color:var(--ink);cursor:pointer;line-height:1.45;}
.mkt-toggle input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--ink);}

/* note de réservations réelles dans le compte */
.acct-note{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:#2f8f5b;background:#eef7f0;border-radius:10px;padding:9px 14px;margin-bottom:16px;}
.acct-note svg{width:15px;height:15px;}

/* ---- bandeau Programme Entretien Sur Mesure (accueil particuliers) ---- */
.pgband{display:flex;align-items:center;gap:30px;background:#0a0a0c;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:32px 36px;flex-wrap:wrap;}
.pgband-txt{flex:1;min-width:280px;}
.pgband-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#d9b877;margin-bottom:9px;}
.pgband-eyebrow svg{width:14px;height:14px;}
.pgband h3{font-size:clamp(20px,2.3vw,27px);letter-spacing:-.02em;margin:0 0 8px;color:#fff;}
.pgband p{margin:0;font-size:13.5px;color:rgba(255,255,255,.62);line-height:1.55;max-width:620px;}
.pgband-btn{background:#fff;color:#0a0a0c;flex:none;}
.pgband-btn:hover{background:#e9e9ec;}

/* ---- mini parrainage (dashboard) ---- */
.parr-mini{display:flex;flex-direction:column;gap:14px;}
.pm-code{display:flex;flex-direction:column;gap:3px;background:var(--bg-soft);border-radius:14px;padding:13px 16px;}
.pm-code span{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.pm-code b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;letter-spacing:.05em;}
.pm-stats{display:flex;gap:22px;}
.pm-stats span{display:flex;flex-direction:column;font-size:11.5px;color:var(--muted);gap:2px;}
.pm-stats b{font-size:21px;letter-spacing:-.02em;color:var(--ink);line-height:1;}
.pm-note{font-size:12.5px;margin:0;line-height:1.5;}

/* ============================================================
   BANDEAU COOKIES
   ============================================================ */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:680px;margin:0 auto;
  background:#13141a;color:#fff;border-radius:16px;padding:18px 20px;
  box-shadow:0 20px 50px rgba(0,0,0,.32);display:flex;gap:18px;align-items:center;flex-wrap:wrap;
  transform:translateY(140%);transition:transform .4s cubic-bezier(.2,.8,.2,1);}
.cookie-bar.show{transform:translateY(0);}
.cookie-bar p{font-size:13.5px;line-height:1.5;flex:1;min-width:240px;color:rgba(255,255,255,.86);margin:0;}
.cookie-bar p a{color:#fff;text-decoration:underline;}
.cookie-bar .cb-actions{display:flex;gap:10px;flex:none;}
.cookie-bar .btn{white-space:nowrap;}
@media(max-width:560px){ .cookie-bar{flex-direction:column;align-items:stretch;} .cookie-bar .cb-actions{justify-content:flex-end;} }



/* ---- CONTRATS PRO (engagement sans remise) ---- */
.ctr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
@media(max-width:860px){ .ctr-grid{grid-template-columns:1fr;max-width:540px;margin:0 auto;} }
.ctr-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px 28px;display:flex;flex-direction:column;gap:13px;box-shadow:var(--shadow-sm);
  transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s;}
.ctr-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.ctr-card.best{border-color:var(--equestre);box-shadow:0 0 0 1px var(--equestre),var(--shadow-sm);}
.ctr-tag{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--equestre);}
.ctr-card h3{font-size:22px;letter-spacing:-.02em;margin:0;}
.ctr-desc{font-size:14px;line-height:1.5;margin:0;}
.ctr-inc{list-style:none;display:flex;flex-direction:column;gap:9px;margin:4px 0 12px;padding:0;}
.ctr-inc li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--ink-2);}
.ctr-inc li svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--equestre);}
.ctr-card .btn{margin-top:auto;}
.ctr-value{position:relative;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:38px 44px 34px;max-width:880px;margin:0 auto;}
.ctr-value p{font-size:16.5px;line-height:1.7;color:var(--ink-2);margin:0;text-wrap:pretty;}
.ctr-value-q{position:absolute;top:-4px;left:20px;font-family:Georgia,serif;font-size:92px;line-height:1;color:var(--equestre);opacity:.16;pointer-events:none;}
.ctr-minis{grid-template-columns:repeat(2,1fr) !important;}
.ctr-minis .bm-y{font-size:15px;color:var(--ink);font-weight:700;}
.bm-t{font-size:12px;color:var(--muted);font-weight:500;line-height:1.35;}


/* ---- CONTRATS PRO — sélecteur 6 mois → 5 ans ---- */
.ctr-tabs{display:flex;gap:10px;flex-wrap:wrap;}
.ctr-tab{padding:10px 22px;border-radius:980px;border:1.5px solid var(--line);background:#fff;
  font-weight:650;font-size:14.5px;color:var(--ink-2);cursor:pointer;
  transition:border-color .25s,background .25s,color .25s,box-shadow .25s,transform .25s;}
.ctr-tab:hover{border-color:var(--equestre);color:var(--ink);transform:translateY(-1px);}
.ctr-tab.on{background:var(--equestre);border-color:var(--equestre);color:#fff;
  box-shadow:0 12px 26px -12px var(--equestre);}
.ctr-detail{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:32px 32px 30px;box-shadow:var(--shadow-sm);overflow:hidden;}
.ctr-detail-in{display:flex;flex-direction:column;gap:13px;animation:ctrIn .45s cubic-bezier(.16,1,.3,1);}
@keyframes ctrIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.ctr-detail-in{animation:none;}}
.ctr-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;}
.ctr-detail-head h3{font-size:24px;letter-spacing:-.02em;margin:4px 0 0;}
.ctr-obj{display:flex;flex-direction:column;gap:2px;background:var(--equestre-soft,#eef4ef);
  border:1px solid color-mix(in srgb,var(--equestre) 25%,transparent);border-radius:14px;padding:10px 16px;}
.ctr-obj span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--equestre);}
.ctr-obj b{font-size:14.5px;color:var(--ink);}
.ctr-lbl{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:2px;}
.ctr-perm{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 24px;margin:0 0 4px;}
@media(max-width:700px){.ctr-perm{grid-template-columns:1fr;}}
.ctr-quote{border-left:3px solid var(--equestre);padding:4px 0 4px 16px;font-size:15px;line-height:1.6;
  color:var(--ink-2);margin:4px 0 8px;text-wrap:pretty;}
.ctr-detail .btn{align-self:flex-start;}
.socle-intro{max-width:660px;margin:6px 0 0;}
.socle-intro h3{font-size:23px;letter-spacing:-.02em;margin:0 0 8px;color:var(--ink);}
.socle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px;}
@media(max-width:860px){.socle-grid{grid-template-columns:1fr;max-width:560px;}}
.socle-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;
  box-shadow:var(--shadow-sm);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s,border-color .5s;}
.socle-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--equestre) 35%,var(--line));}
.socle-card-head{display:flex;align-items:center;gap:13px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line);}
.socle-ic{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;color:var(--equestre);
  background:var(--equestre-soft,#eef4ef);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--equestre) 22%,transparent);}
.socle-ic .icon{width:22px;height:22px;}
.socle-card-head h4{font-size:17px;letter-spacing:-.01em;margin:0;color:var(--ink);}
.socle-list{list-style:none;display:flex;flex-direction:column;gap:15px;margin:0;padding:0;}
.socle-list li{display:flex;gap:11px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--ink-2);}
.socle-list li svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--equestre);}
.socle-value{display:flex;gap:11px;align-items:center;justify-content:center;text-align:center;
  margin:40px auto 0;max-width:64ch;font-size:16.5px;font-weight:650;color:var(--ink);text-wrap:pretty;}
.socle-value-ic{color:var(--equestre);flex:none;display:inline-flex;}
.socle-value-ic svg{width:19px;height:19px;}
html.anim-ok .socle-grid .socle-card{opacity:0;transform:translateY(26px);}
html.anim-ok .socle-grid.in .socle-card{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
html.anim-ok .socle-grid.in .socle-card:nth-child(2){transition-delay:.12s;}
html.anim-ok .socle-grid.in .socle-card:nth-child(3){transition-delay:.24s;}
@media(prefers-reduced-motion:reduce){html.anim-ok .socle-grid .socle-card{opacity:1;transform:none;}}
.ctr-table{margin-top:26px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);}
.ctr-tr{display:grid;grid-template-columns:110px 1fr 230px;gap:14px;align-items:center;
  padding:13px 20px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2);cursor:pointer;transition:background .2s;}
.ctr-tr:hover{background:var(--bg-soft);}
.ctr-tr.th{background:var(--bg-soft);cursor:default;font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);border-top:none;}
.ctr-tr b{color:var(--ink);}
.ctr-tr .obj{color:var(--equestre);font-weight:650;}
.ctr-tr.cur{background:color-mix(in srgb,var(--equestre) 7%,#fff);}
@media(max-width:640px){.ctr-tr{grid-template-columns:80px 1fr;} .ctr-tr .obj{display:none;}}


/* ---- ORGANISATION PILOTÉE — frise 5 étapes (page pro) ---- */
.pilot-flow{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:44px;}
.pilot-flow::before{content:"";position:absolute;top:26px;left:7%;right:7%;height:2px;z-index:0;
  background:linear-gradient(90deg,var(--equestre),color-mix(in srgb,var(--equestre) 12%,transparent));
  transform:scaleX(0);transform-origin:left center;}
html.anim-ok .pilot-flow.in::before{transition:transform 1.4s cubic-bezier(.16,1,.3,1) .2s;transform:scaleX(1);}
html:not(.anim-ok) .pilot-flow::before{transform:scaleX(1);}
.pilot-step{position:relative;z-index:1;}
.pilot-step-top{display:flex;align-items:center;gap:12px;margin-bottom:15px;}
.pilot-n{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:none;
  font-size:15px;font-weight:800;color:var(--equestre);background:#fff;
  border:2px solid color-mix(in srgb,var(--equestre) 55%,transparent);
  box-shadow:0 8px 20px -8px color-mix(in srgb,var(--equestre) 60%,transparent);}
.pilot-ic{color:var(--equestre);opacity:.85;display:inline-flex;}
.pilot-ic svg{width:23px;height:23px;}
.pilot-step h4{font-size:16.5px;letter-spacing:-.015em;margin:0 0 7px;color:var(--ink);}
.pilot-step p{font-size:13px;line-height:1.55;color:var(--ink-2);margin:0;text-wrap:pretty;}
html.anim-ok .pilot-flow .pilot-step{opacity:0;transform:translateY(24px);}
html.anim-ok .pilot-flow.in .pilot-step{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
html.anim-ok .pilot-flow.in .pilot-step:nth-child(2){transition-delay:.12s;}
html.anim-ok .pilot-flow.in .pilot-step:nth-child(3){transition-delay:.24s;}
html.anim-ok .pilot-flow.in .pilot-step:nth-child(4){transition-delay:.36s;}
html.anim-ok .pilot-flow.in .pilot-step:nth-child(5){transition-delay:.48s;}
@media(prefers-reduced-motion:reduce){html.anim-ok .pilot-flow .pilot-step{opacity:1;transform:none;}}
@media(max-width:900px){.pilot-flow{grid-template-columns:1fr 1fr;gap:30px 24px;}.pilot-flow::before{display:none;}}
@media(max-width:520px){.pilot-flow{grid-template-columns:1fr;}}


/* ============================================================
   PRO LANDING — version premium
   ============================================================ */
.pro-hero2{position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end;
  min-height:min(64vh,600px);}
.pro-hero2-bg{position:absolute;inset:-6% 0;z-index:0;}
.pro-hero2-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;}
@media(prefers-reduced-motion:no-preference){
  html.anim-ok .pro-hero2-bg img{animation:proKen 20s ease-in-out infinite alternate;}
}
@keyframes proKen{0%{transform:scale(1.06) translate(0,0);}100%{transform:scale(1.15) translate(-1.5%,-2%);}}
.pro-hero2-grade{position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(180deg,rgba(8,17,12,.58) 0%,rgba(8,17,12,.30) 24%,rgba(10,22,15,.82) 72%,#0b1c12 100%),
  linear-gradient(90deg,rgba(8,18,13,.85) 0%,rgba(8,18,13,.5) 38%,transparent 74%);}
.pro-hero2-in{position:relative;z-index:2;width:100%;padding-top:58px;padding-bottom:54px;}
.pro-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
  padding:7px 15px;border-radius:980px;color:#fff;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);margin-bottom:22px;}
.pro-chip .icon{color:#8fd3a8;}
.pro-hero2 h1{font-size:clamp(38px,6vw,76px);line-height:1.02;letter-spacing:-.035em;font-weight:700;
  margin:0;max-width:840px;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.45);}
.pro-hero2 p{font-size:clamp(16px,1.6vw,19px);line-height:1.55;color:rgba(255,255,255,.92);max-width:610px;margin:20px 0 0;
  text-shadow:0 1px 16px rgba(0,0,0,.55);}
.pro-hero2-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.pro-btn-w{background:#fff;color:#0e1f14;}
.pro-btn-w:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.42);}
.pro-btn-ghost{color:#fff;border:1.5px solid rgba(255,255,255,.5);}
.pro-btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.pro-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:46px;max-width:760px;}
.pro-trust-item{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-radius:16px;padding:15px 17px;transition:background .3s,border-color .3s,transform .3s;}
.pro-trust-item:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.32);transform:translateY(-3px);}
.pro-trust-item .icon{width:21px;height:21px;color:#8fd3a8;flex:none;margin-top:1px;}
.pro-trust-item b{display:block;font-size:14px;font-weight:650;color:#fff;}
.pro-trust-item span{font-size:12px;color:rgba(255,255,255,.62);line-height:1.35;}
@media(max-width:760px){.pro-trust{grid-template-columns:1fr;}.pro-hero2{min-height:auto;}}


/* frise pilotage — pastilles pleines pour plus de punch */
.pilot-n{color:#fff !important;border:none !important;
  background:linear-gradient(140deg,color-mix(in srgb,var(--equestre) 88%,#fff) 0%,var(--equestre) 55%,color-mix(in srgb,var(--equestre) 68%,#000) 100%) !important;
  box-shadow:0 12px 26px -10px color-mix(in srgb,var(--equestre) 75%,transparent) !important;}


/* ---- ÉTUDE PRO — formulaire sur mesure ---- */
.form-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:640px){.form-3{grid-template-columns:1fr;}}
.pf-sec{padding:26px 0;border-top:1px solid var(--line);}
.pf-form .pf-sec:first-of-type{padding-top:2px;border-top:none;}
.pf-sec-h{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.pf-n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;
  font-size:13px;font-weight:800;color:#fff;background:var(--equestre);
  box-shadow:0 8px 18px -8px color-mix(in srgb,var(--equestre) 70%,transparent);}
.pf-sec-h h3{font-size:18px;letter-spacing:-.01em;margin:0;color:var(--ink);}
.pf-checks{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;}
.pf-chk{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--line);
  border-radius:980px;font-size:14px;font-weight:550;color:var(--ink-2);cursor:pointer;user-select:none;
  transition:border-color .2s,background .2s,color .2s,transform .2s;}
.pf-chk input{position:absolute;opacity:0;width:0;height:0;}
.pf-chk:hover{border-color:color-mix(in srgb,var(--equestre) 45%,var(--line));transform:translateY(-1px);}
.pf-chk:has(input:checked){background:var(--equestre);border-color:var(--equestre);color:#fff;}
.pf-foot{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:18px;font-size:12.5px;color:var(--muted);}
.pf-foot .icon{color:var(--equestre);flex:none;}


/* ---- ÉTUDE PRO — prestataire actuel (conditionnel CSS) ---- */
.pf-radios{display:flex;gap:10px;}
.pf-cond{display:none;margin-top:6px;animation:ctrIn .4s cubic-bezier(.16,1,.3,1);}
.pf-prest-wrap:has(input[value="oui"]:checked) .pf-cond-yes{display:block;}
.pf-prest-wrap:has(input[value="non"]:checked) .pf-cond-no{display:block;}


/* ---- Connexion : bouton Google + séparateur ---- */
.btn-google{background:#fff;color:#1f2328;border:1.5px solid var(--line);gap:10px;}
.btn-google:hover{background:#f7f7f8;box-shadow:0 8px 20px rgba(0,0,0,.09);transform:translateY(-1px);}
.btn-google .g-ic{flex:none;}
.auth-or{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--muted);font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;}
.auth-or::before,.auth-or::after{content:"";height:1px;background:var(--line);flex:1;}


/* ---- stat « avis clients » dans le bandeau hero ---- */
.hp-stat-rev .rv-starrow{justify-content:center;margin-bottom:8px;}
.hp-stat-rev .rv-star{width:15px;height:15px;}
.hp-stat-rev .rv-star .st-base path{fill:rgba(255,255,255,.24);}
.hp-stat-rev b em{font-size:.6em;font-weight:700;color:var(--amber);}

/* ============================================================
   PRESTATIONS — cartes bénéfice (auto) : court + détail au clic
   ============================================================ */
.pc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px;align-items:start;}
.pc-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:26px 26px 22px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s,transform .2s;}
.pc-card:hover{border-color:color-mix(in srgb,var(--accent,#16181d) 40%,var(--line));
  box-shadow:0 22px 50px -34px rgba(0,0,0,.5);transform:translateY(-2px);}
.pc-feat{border:1.5px solid var(--accent,#16181d);
  background:color-mix(in srgb,var(--accent,#16181d) 3%,#fff);}
.pc-flag{position:absolute;top:-12px;left:24px;display:inline-flex;align-items:center;gap:5px;
  background:var(--accent,#16181d);color:#fff;font-size:11px;font-weight:680;letter-spacing:.03em;
  padding:5px 12px;border-radius:980px;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--accent,#16181d) 80%,transparent);}
.pc-flag .icon{width:12px;height:12px;}
.pc-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;
  background:var(--accent,#16181d);color:#fff;margin-bottom:16px;}
.pc-ic .icon{width:23px;height:23px;}
.pc-t{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:0 0 3px;color:var(--ink,#16181d);}
.pc-sub{font-size:13px;font-weight:600;color:var(--accent,#16181d);margin:0 0 12px;}
.pc-benefit{font-size:14px;color:var(--ink-2);line-height:1.55;margin:0;}
.pc-more{margin-top:16px;border-top:1px solid var(--line-2);}
.pc-more summary{display:flex;align-items:center;justify-content:space-between;gap:10px;
  list-style:none;cursor:pointer;padding:14px 0 2px;font-size:13.5px;font-weight:650;color:var(--accent,#16181d);}
.pc-more summary::-webkit-details-marker{display:none;}
.pc-more-ic{width:22px;height:22px;border-radius:50%;background:var(--bg-soft-2);color:var(--ink-2);
  display:grid;place-items:center;font-size:16px;font-weight:600;line-height:1;flex:none;
  transition:transform .25s var(--ease),background .2s,color .2s;}
.pc-more[open] .pc-more-ic{transform:rotate(45deg);background:var(--accent,#16181d);color:#fff;}
.pc-inc{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:9px;}
.pc-inc li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);line-height:1.45;}
.pc-inc svg{width:15px;height:15px;color:var(--accent,#16181d);flex:none;margin-top:2px;}
.pc-note{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;padding:12px 14px;
  border-radius:12px;background:var(--bg-soft);font-size:12.5px;color:var(--ink-2);line-height:1.5;}
.pc-note svg{width:15px;height:15px;color:var(--accent,#16181d);flex:none;margin-top:1px;}
.pc-option{display:flex;gap:14px;align-items:center;margin-top:18px;padding:18px 22px;
  border:1px dashed color-mix(in srgb,var(--accent,#16181d) 35%,var(--line));border-radius:16px;
  background:color-mix(in srgb,var(--accent,#16181d) 3%,#fff);}
.pc-option-ic{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:var(--accent,#16181d);color:#fff;}
.pc-option-ic .icon{width:21px;height:21px;}
.pc-option-t{display:flex;flex-direction:column;gap:2px;}
.pc-option-t b{font-size:15px;font-weight:680;color:var(--ink,#16181d);}
.pc-option-t span{font-size:13px;color:var(--ink-2);line-height:1.5;}
.section-tight:has(.uni-bridge){padding-top:12px;padding-bottom:12px;}
/* zone passerelles automobile sur fond photo carrosserie */
.bridge-zone{position:relative;overflow:hidden;padding:clamp(30px,4.5vw,60px) 0;margin-top:8px;}
.bridge-zone-bg{position:absolute;inset:0;z-index:0;}
.bridge-zone-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;}
.bridge-zone-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,9,11,.72),rgba(8,9,11,.6) 45%,rgba(8,9,11,.72));}
.bridge-zone-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:22px;}
@media(prefers-reduced-motion:no-preference){
  html.anim-ok .bridge-zone .uni-bridge{opacity:0;transform:translateY(48px) scale(.975);
    transition:opacity .7s var(--ease),transform .9s var(--ease);}
  html.anim-ok .bridge-zone .uni-bridge.in{opacity:1;transform:none;}
}
.pc-opthead{margin:44px 0 16px;}
.pc-optt{font-size:clamp(30px,3.8vw,46px);line-height:1.03;letter-spacing:-.02em;margin:10px 0 0;}
.pc-optsec{padding-top:0;}
.section.pc-section{padding-bottom:clamp(30px,4vw,52px);}
.pc-optsec .pc-opthead{margin:0 0 24px;}
html.anim-ok .pc-optiongrid.rev .pc-option{opacity:0;transform:translateY(26px) scale(.985);
  transition:opacity .6s var(--ease),transform .75s cubic-bezier(.22,1,.36,1);}
html.anim-ok .pc-optiongrid.rev.in .pc-option{opacity:1;transform:none;}
html.anim-ok .pc-optiongrid.rev .pc-option:nth-child(2){transition-delay:90ms;}
html.anim-ok .pc-optiongrid.rev .pc-option:nth-child(3){transition-delay:180ms;}
html.anim-ok .pc-optiongrid.rev .pc-option:nth-child(4){transition-delay:270ms;}
html.anim-ok .pc-optiongrid.rev .pc-option:nth-child(5){transition-delay:360ms;}
@media(prefers-reduced-motion:reduce){html.anim-ok .pc-optiongrid.rev .pc-option{opacity:1;transform:none;}}
.pc-opthead p{margin-top:6px;font-size:14.5px;}
.pc-optiongrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.pc-optiongrid .pc-option{margin-top:0;}
@media(max-width:720px){.pc-optiongrid{grid-template-columns:1fr;}}
@media(max-width:720px){.pc-grid{grid-template-columns:1fr;}.pc-flag{left:20px;}}

/* ---------- bloc transparence (réutilisable, thématisé par page) ---------- */
.bc-transp{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,4vw,54px);align-items:center;padding:clamp(28px,4vw,48px);border-radius:var(--r-lg);background:var(--tbg,#0e1013);color:#fff;}
.bc-transp .eyebrow{color:var(--tacc,#e0a54a);}
.bc-transp-l h2{font-size:clamp(24px,3vw,34px);margin-top:12px;color:#fff;letter-spacing:-.015em;}
.bc-transp-l p{margin-top:14px;color:rgba(255,255,255,.72);font-size:15.5px;line-height:1.6;max-width:52ch;}
.bc-transp-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:11px 20px;margin:0;padding:0;}
.bc-transp-list li{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:rgba(255,255,255,.9);line-height:1.4;}
.bc-transp-list svg{width:15px;height:15px;color:var(--tacc,#e0a54a);flex:none;margin-top:2px;}
@media(max-width:860px){.bc-transp{grid-template-columns:1fr;}}
.bc-transp-note{grid-column:1/-1;display:flex;gap:9px;align-items:flex-start;margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.78);}
.bc-transp-note svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--tacc,#e0a54a);}
.bc-transp-light{background:linear-gradient(180deg,#fbfaf8 0%,#f4f1ec 100%);border:1px solid var(--line);--tacc:#b8934a;}
.bc-transp-light .eyebrow{color:#8a6b2f;}
.bc-transp-light .bc-transp-l h2{color:var(--ink);}
.bc-transp-light .bc-transp-l p{color:var(--ink-2);}
.bc-transp-light .bc-transp-list li{color:var(--ink-2);}
.bc-transp-light .bc-transp-note{color:var(--muted);border-top-color:var(--line);}
@media(max-width:620px){.bc-transp-list{grid-template-columns:1fr;}}

.bcc-note{position:relative;z-index:2;display:block;margin:16px 2px 0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.74);}

/* ---- compte : cartes cadeaux & parrainage ---- */
.acc-gc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.acc-gc{background:linear-gradient(150deg,#15161a,#0a0a0c);color:#fff;border-radius:18px;padding:20px;display:grid;gap:8px;}
.acc-gc-top{display:flex;align-items:baseline;gap:8px;}
.acc-gc-top b{font-size:26px;letter-spacing:-.03em;}
.acc-gc-top span{font-size:12px;color:rgba(255,255,255,.55);}
.acc-gc-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:.08em;color:#d9b877;}
.acc-gc-meta{font-size:11.5px;color:rgba(255,255,255,.6);line-height:1.45;}
.acc-empty{display:flex;align-items:center;gap:14px;background:var(--bg-soft);border-radius:18px;padding:20px 22px;}
.acc-empty svg{width:20px;height:20px;color:var(--muted);flex:none;}
.acc-empty b{display:block;font-size:14.5px;}
.acc-empty span{display:block;font-size:13px;color:var(--muted);margin-top:2px;}
.acc-empty .btn{margin-left:auto;flex:none;}
.acc-parr{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 24px;display:grid;gap:16px;}
.acc-parr-head{display:flex;align-items:center;gap:14px;}
.acc-parr-code{flex:1;display:grid;gap:2px;}
.acc-parr-code span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.acc-parr-code b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;letter-spacing:.06em;}
.acc-parr-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;}
.acc-parr-stats b{display:block;font-size:18px;letter-spacing:-.02em;}
.acc-parr-stats span{display:block;font-size:11.5px;color:var(--muted);margin-top:4px;}
.acc-parr-list{display:grid;gap:2px;}
.acc-parr-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.acc-parr-row:last-child{border-bottom:none;}
.acc-parr-row b{font-size:12px;}
.acc-parr-row b.ok{color:#1f8a5b;}
.acc-parr-row b.wait{color:#8a6b2f;}
.acc-parr-row small{grid-column:1/-1;font-size:11.5px;color:var(--muted);}
.acc-parr-empty{margin:0;font-size:13px;line-height:1.55;}
.acc-parr-more{justify-self:start;}
@media(max-width:560px){.acc-parr-stats{grid-template-columns:1fr;}.acc-empty{flex-wrap:wrap;}.acc-empty .btn{margin-left:0;}}

/* ---- compte : en-tête de panneau sur deux lignes ---- */
.acct-main .panel-head{display:block;}
.acct-main .panel-head h2{font-size:clamp(22px,2.4vw,28px);letter-spacing:-.025em;margin:0;}
.acct-main .panel-head p{margin:6px 0 0;font-size:14px;line-height:1.55;max-width:60ch;}
.acct-main .dash-sub{margin-top:34px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.acct-main .fid-intro{margin:6px 0 0;font-size:13.5px;line-height:1.6;max-width:70ch;}
