/* ============================================================
   e-dentiste – feuille de style v2
   Header, footer et logo identiques à Flexjob (blocs marqués « identique »)
   ============================================================ */
:root{
  --sc-navy:#1c1715; --sc-navy-2:#2c221c; --sc-ink:#1f1a17;
  --sc-blue:#b45309; --sc-blue-soft:#fbeedd;
  --sc-orange:#f59e0b; --sc-orange-dark:#e08e00; --sc-orange-ink:#b26c00;
  --sc-muted:#6d635a; --sc-line:#e4d9c9; --sc-soft:#f7f2ea; --sc-sand:#f6e7cc;
  --ok:#16a34a; --ok-soft:#e7f7ec; --ko:#dc2626;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family:'Plus Jakarta Sans',system-ui,sans-serif; color:var(--sc-ink); background:#fff; -webkit-font-smoothing:antialiased; line-height:1.5}
img{max-width:100%}
a{color:var(--sc-blue)}
button,input,select,textarea{font:inherit; color:inherit}
.ed-skip{position:absolute; left:-999px; top:8px; z-index:2000; background:#fff; padding:8px 14px; border-radius:8px}
.ed-skip:focus{left:8px}
.sc-wrap{max-width:1068px; margin:0 auto; padding:0 20px}
.serif{font-family:'Fraunces',Georgia,serif; font-style:italic; font-weight:400; letter-spacing:-.02em}
:focus-visible{outline:3px solid var(--sc-orange); outline-offset:2px}

/* ---------- HEADER (identique Flexjob) ---------- */
header.sc-header{position:sticky; top:0; z-index:1000; height:55px;
  background:linear-gradient(90deg,#050f20 0%,#0a2040 55%,#081a35 100%); font-family:'Plus Jakarta Sans',sans-serif}
.sc-header .sc-nav{height:100%; max-width:1068px; margin:0 auto; padding:0 20px; display:flex; align-items:center; justify-content:space-between}
.sc-logo{display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-weight:800; font-size:21px; letter-spacing:-.3px}
.sc-logo:hover{color:#fff}
.sc-logo-icon{width:24px; height:24px; border-radius:50%; border:3px solid #fff; display:inline-flex; align-items:center; justify-content:center}
.sc-logo-icon::after{content:""; width:7px; height:7px; border-radius:50%; background:#fff}
.sc-menu{display:flex; gap:22px; list-style:none; margin:0; padding:0}
.sc-menu a{color:#fff; text-decoration:none; font-size:14.5px; font-weight:500; opacity:.95}
.sc-menu a:hover,.sc-menu a[aria-current]{color:var(--sc-orange)}
.sc-right{display:flex; align-items:center; gap:16px}
.sc-login{color:#fff; text-decoration:none; font-size:14.5px; font-weight:500}
.sc-login:hover{color:var(--sc-orange)}
.sc-cta{background:var(--sc-orange); color:#0b1630; font-weight:700; font-size:14.5px; padding:9px 20px; border-radius:999px; text-decoration:none; white-space:nowrap; border:0; cursor:pointer;
  transition:transform .2s, background .2s, box-shadow .2s}
.sc-cta:hover{background:var(--sc-orange-dark); color:#0b1630; transform:translateY(-2px); box-shadow:0 8px 18px rgba(245,158,11,.4)}
.sc-burger{display:none; background:none; border:0; padding:6px; cursor:pointer}
.sc-burger span{display:block; width:22px; height:2px; background:#fff; margin:5px 0; border-radius:2px}
@media (max-width:991px){
  .sc-burger{display:block}
  .sc-menu{position:absolute; top:55px; left:0; right:0; flex-direction:column; gap:0; background:#0a2040; padding:8px 20px 16px; display:none}
  .sc-menu.open{display:flex}
  .sc-menu li a{display:block; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08)}
  .sc-login{display:none}
}
@media (max-width:480px){ .sc-cta{padding:8px 14px; font-size:13px} .sc-logo{font-size:18px} }


/* ============================================================
   e-dentiste v2 – design
   ============================================================ */
@keyframes scUp{from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:none}}
@keyframes scPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)} 100%{box-shadow:0 0 0 9px rgba(34,197,94,0)}}
@keyframes feed{from{transform:translateY(0)} to{transform:translateY(-50%)}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes pop{0%{transform:scale(.4); opacity:0} 70%{transform:scale(1.08)} 100%{transform:scale(1); opacity:1}}
.rv{opacity:0; transform:translateY(26px); transition:opacity .75s var(--ease), transform .75s var(--ease)}
.rv.in{opacity:1; transform:none}
.live-dot{width:8px; height:8px; border-radius:50%; background:#22c55e; display:inline-block; animation:scPulse 1.6s infinite; flex:none}
.wrap{max-width:1068px; margin:0 auto; padding:0 20px}
.muted{color:var(--sc-muted)}
.hide{display:none !important}

/* ---------- Boutons, tags ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:700; font-size:14.5px; padding:12px 20px; border-radius:14px; text-decoration:none; border:0; cursor:pointer;
  transition:background .2s, transform .2s, box-shadow .2s, color .2s, border-color .2s; line-height:1.2}
.btn-or{background:var(--sc-orange); color:#1c1715}
.btn-or:hover{background:var(--sc-orange-dark); transform:translateY(-2px); box-shadow:0 10px 22px rgba(245,158,11,.4); color:#1c1715}
.btn-ln{background:#fff; border:1.5px solid var(--sc-line); color:var(--sc-ink)}
.btn-ln:hover{border-color:var(--sc-ink); color:var(--sc-ink)}
.btn-dk{background:var(--sc-navy); color:#fff}
.btn-dk:hover{background:#2c221c; color:#fff; transform:translateY(-2px)}
.btn-gh{background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.16)}
.btn-gh:hover{background:rgba(255,255,255,.14); color:#fff}
.btn-block{width:100%}
.btn-lg{padding:15px 24px; font-size:15.5px; border-radius:16px}
.btn:disabled{opacity:.5; cursor:not-allowed; transform:none; box-shadow:none}
.tag{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; padding:5px 11px; border-radius:999px; background:#f5efe6; color:#4a4038; white-space:nowrap}
.tag.ur{background:#fdecec; color:#b91c1c}
.tag.ok{background:var(--ok-soft); color:#166534}
.tag.bl{background:var(--sc-blue-soft); color:#8a4b08}
.tag.or{background:#fff3da; color:var(--sc-orange-ink)}
.eyebrow{display:inline-flex; align-items:center; gap:8px; background:var(--sc-blue-soft); color:#8a4b08; font-size:11.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; padding:7px 14px; border-radius:999px}
.eyebrow.dk{background:rgba(255,255,255,.08); color:#d8cfc3}
.sec{padding:96px 0}
.sec.sand{background:#f8f6ee}
.sec.soft{background:var(--sc-soft)}
.sec-h{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:40px}
.sec-h h2{font-size:clamp(30px,4vw,48px); line-height:1.04; letter-spacing:-.04em; margin:16px 0 0; font-weight:800; max-width:640px}
.sec-h h2 .serif{color:var(--sc-blue)}
.sec-h p{margin:12px 0 0; color:var(--sc-muted); max-width:520px; font-size:16.5px}
.more{font-weight:700; color:var(--sc-ink); text-decoration:none; border-bottom:2px solid var(--sc-orange); padding-bottom:2px; white-space:nowrap}
.more i{margin-left:6px; transition:transform .2s}
.more:hover{color:var(--sc-ink)} .more:hover i{transform:translateX(4px)}

/* ---------- Avatar (photo ou initiales) ---------- */
.ava{--h:212; --s:54px; width:var(--s); height:var(--s); flex:none; border-radius:30%; display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-size:calc(var(--s)*.33); letter-spacing:-.3px;
  color:hsl(var(--h) 70% 28%); background:linear-gradient(135deg,hsl(var(--h) 85% 92%),hsl(var(--h) 70% 82%)); position:relative}
.ava img{width:100%; height:100%; object-fit:cover; border-radius:inherit; display:block}
.ava-ok{position:absolute; right:-4px; bottom:-4px; width:calc(var(--s)*.38); height:calc(var(--s)*.38); min-width:18px; min-height:18px; border-radius:50%; background:var(--sc-blue); border:2.5px solid #fff;
  display:flex; align-items:center; justify-content:center}
.ava-ok::after{content:""; width:35%; height:18%; border:2px solid #fff; border-top:0; border-right:0; transform:rotate(-45deg) translate(1px,-1px)}
.ava.sm{--s:44px} .ava.lg{--s:132px; border-radius:34px} .ava.xs{--s:36px}

/* ================= HERO ================= */
.hx{position:relative; overflow:hidden; color:#fff; background:radial-gradient(1200px 500px at 85% -10%,#3d2a17 0%,transparent 60%),linear-gradient(180deg,#241c17 0%,#1c1715 100%); padding:56px 0 0}
.zel{position:absolute; inset:0 0 0 auto; width:62%; pointer-events:none; color:var(--sc-orange); opacity:.09;
  -webkit-mask-image:linear-gradient(270deg,#000,rgba(0,0,0,.35) 55%,transparent); mask-image:linear-gradient(270deg,#000,rgba(0,0,0,.35) 55%,transparent)}
.hx .wrap{position:relative; z-index:1; display:grid; grid-template-columns:1.2fr .8fr; gap:44px; align-items:start}
.hx-l>*{opacity:0; animation:scUp .7s var(--ease) forwards}
.hx-l>:nth-child(2){animation-delay:.08s} .hx-l>:nth-child(3){animation-delay:.16s} .hx-l>:nth-child(4){animation-delay:.24s} .hx-l>:nth-child(5){animation-delay:.32s}
.hx-kick{display:inline-flex; align-items:center; gap:10px; font-size:13.5px; color:#a39789; padding:7px 14px 7px 10px; border-radius:999px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1)}
.hx-kick b{color:#fff}
.hx h1{font-size:clamp(40px,6vw,72px); line-height:.98; letter-spacing:-.05em; font-weight:800; margin:22px 0 18px}
.hx h1 .serif{color:var(--sc-orange); display:inline-block}
.hx h1 .smile{position:relative; display:inline-block}
.hx h1 .smile svg{position:absolute; left:2%; right:0; bottom:-.16em; width:96%; height:.32em; color:var(--sc-orange)}
.hx h1 .smile svg path{stroke-dasharray:400; stroke-dashoffset:400; animation:draw 1.2s .7s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.hx-lead{font-size:18px; color:var(--sc-sand); max-width:520px; margin:0 0 30px; opacity:.88}

/* recherche intelligente */
.ss{position:relative; max-width:640px; z-index:20}
.ss-box{background:#fff; color:var(--sc-ink); border-radius:22px; padding:8px; box-shadow:0 30px 70px rgba(0,0,0,.35); transition:box-shadow .25s}
.ss-box:focus-within{box-shadow:0 30px 70px rgba(0,0,0,.35),0 0 0 4px rgba(245,158,11,.4)}
.ss-row{display:grid; grid-template-columns:1.2fr 1.15fr auto; gap:4px; align-items:stretch}
.ss-f{display:flex; align-items:center; gap:12px; padding:10px 14px; border-radius:15px; transition:background .2s; position:relative; min-width:0}
.ss-f:hover{background:var(--sc-soft)}
.ss-f>i{color:var(--sc-blue); font-size:16px; width:18px; text-align:center}
.ss-f div{flex:1; min-width:0}
.ss-f label{display:block; font-size:10.5px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; color:var(--sc-muted)}
.ss-f input,.ss-f select{border:0; outline:0; background:transparent; width:100%; font-size:15.5px; font-weight:600; padding:2px 0 0; appearance:none; cursor:pointer; text-overflow:ellipsis}
.ss-f input{cursor:text}
.ss-f input::placeholder{color:#988c7e; font-weight:500}
.ss-f+.ss-f::before{content:""; position:absolute; left:-2px; top:14px; bottom:14px; width:1px; background:var(--sc-line)}
.ss-geo{border:0; background:var(--sc-blue-soft); color:var(--sc-blue); width:34px; height:34px; border-radius:10px; flex:none; cursor:pointer; transition:background .2s, color .2s}
.ss-geo:hover{background:var(--sc-blue); color:#fff}
.ss-geo.spin i{animation:spinSlow 1s linear infinite}
.ss-go{border:0; border-radius:16px; background:var(--sc-orange); color:#1c1715; font-weight:800; font-size:15.5px; padding:0 26px; cursor:pointer; display:flex; align-items:center; gap:10px; transition:background .2s, transform .2s}
.ss-go:hover{background:var(--sc-orange-dark)}
.ss-when{display:flex; gap:6px; padding:8px 6px 4px; border-top:1px solid #f1ebe1; margin-top:6px; align-items:center; flex-wrap:wrap}
.ss-when>span{font-size:12.5px; color:var(--sc-muted); font-weight:600; margin:0 6px 0 4px}
.pill{position:relative}
.pill input{position:absolute; opacity:0; pointer-events:none}
.pill span{display:inline-block; padding:7px 13px; border-radius:999px; font-size:13px; font-weight:700; color:#4a4038; background:#f5efe6; cursor:pointer; transition:background .2s, color .2s}
.pill span:hover{background:#ede4d6}
.pill input:checked+span{background:var(--sc-navy); color:#fff}
.pill input:focus-visible+span{outline:3px solid var(--sc-orange); outline-offset:2px}
/* suggestions */
.sg{position:absolute; left:0; right:0; top:calc(100% + 10px); background:#fff; color:var(--sc-ink); border-radius:20px; box-shadow:0 30px 70px rgba(28,23,21,.28); padding:8px; display:none; max-height:440px; overflow:auto}
.sg.on{display:block; animation:scUp .25s var(--ease)}
.sg h6{margin:8px 12px 6px; font-size:11px; text-transform:uppercase; letter-spacing:.6px; color:var(--sc-muted)}
.sg a{display:flex; align-items:center; gap:12px; padding:9px 12px; border-radius:12px; text-decoration:none; color:var(--sc-ink)}
.sg a:hover,.sg a.act{background:var(--sc-soft)}
.sg a .ic{width:36px; height:36px; border-radius:11px; background:var(--sc-blue-soft); color:var(--sc-blue); display:flex; align-items:center; justify-content:center; flex:none}
.sg a b{display:block; font-size:14.5px}
.sg a small{display:block; color:var(--sc-muted); font-size:12.5px}
.sg a .nx{margin-left:auto; font-size:12px; font-weight:700; color:#166534; background:var(--ok-soft); padding:4px 9px; border-radius:999px; white-space:nowrap}
.sg .empty{padding:16px; color:var(--sc-muted); font-size:14px}
.hx-trust{display:flex; gap:22px; flex-wrap:wrap; margin-top:24px; font-size:13.5px; color:#c9bdae}
.hx-trust span{display:inline-flex; align-items:center; gap:8px}
.hx-trust i{color:var(--sc-orange)}

/* fil des disponibilités */
.feed{position:relative; height:520px; overflow:hidden; opacity:0; animation:scUp .9s .3s var(--ease) forwards;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent); mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent)}
.feed-in{display:flex; flex-direction:column; gap:12px; animation:feed 38s linear infinite}
.feed:hover .feed-in{animation-play-state:paused}
.fc{display:flex; gap:12px; align-items:center; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:13px 14px; text-decoration:none; color:#fff;
  backdrop-filter:blur(6px); transition:background .25s, border-color .25s, transform .25s}
.fc:hover{background:rgba(255,255,255,.12); border-color:rgba(245,158,11,.6); transform:translateX(-4px); color:#fff}
.fc b{display:block; font-size:14.5px}
.fc small{display:block; font-size:12.5px; color:#a39789}
.fc .t{margin-left:auto; text-align:right; flex:none}
.fc .t em{display:block; font-style:normal; font-size:11px; color:#a39789; text-transform:uppercase; letter-spacing:.4px; font-weight:700}
.fc .t strong{display:inline-block; margin-top:3px; font-size:13.5px; background:var(--sc-orange); color:#1c1715; border-radius:9px; padding:4px 9px}
.feed-lbl{display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:#d8cfc3; margin:4px 0 6px}

/* bande de confiance sous le hero */
.hx-band{position:relative; z-index:1; margin-top:56px; border-top:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.02)}
.hx-band .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding-top:0}
.hx-band div{padding:22px 10px; text-align:center; border-left:1px solid rgba(255,255,255,.08)}
.hx-band div:first-child{border-left:0}
.hx-band strong{display:block; font-size:30px; font-weight:800; letter-spacing:-1px}
.hx-band span{font-size:12px; color:#c9bdae; text-transform:uppercase; letter-spacing:.6px; font-weight:600}

/* ================= BESOINS ================= */
.needs{display:grid; grid-template-columns:repeat(4,1fr); gap:14px}
.need{position:relative; overflow:hidden; isolation:isolate; display:flex; flex-direction:column; gap:12px; min-height:168px; padding:22px; border-radius:24px; background:#fff; border:1px solid #ebe8e1; text-decoration:none; color:var(--sc-ink);
  transition:transform .35s var(--ease), box-shadow .35s, border-color .35s}
.need::before{content:""; position:absolute; inset:auto -30% -60% auto; width:200px; height:200px; border-radius:50%; background:var(--c,#fbeedd); z-index:-1; transition:transform .5s var(--ease)}
.need:hover{transform:translateY(-6px); box-shadow:0 24px 50px rgba(28,23,21,.1); border-color:transparent}
.need:hover::before{transform:scale(2.6)}
.need .ic{width:48px; height:48px; border-radius:15px; background:#fff; box-shadow:0 6px 16px rgba(28,23,21,.08); display:flex; align-items:center; justify-content:center; font-size:19px; color:var(--sc-navy)}
.need h3{margin:auto 0 0; font-size:18px; letter-spacing:-.3px}
.need p{margin:0; font-size:13.5px; color:var(--sc-muted)}
.need .ar{position:absolute; top:22px; right:22px; width:32px; height:32px; border-radius:50%; border:1px solid rgba(28,23,21,.12); display:flex; align-items:center; justify-content:center; font-size:12px; transition:all .35s}
.need:hover .ar{background:var(--sc-navy); color:#fff; transform:rotate(-45deg)}
.need.big{grid-row:span 2; background:var(--sc-navy); color:#fff; border:0}
.need.big::before{background:#2c221c}
.need.big p{color:#c9bdae}
.need.big .ic{background:var(--sc-orange); color:#1c1715}
.need.big .ar{border-color:rgba(255,255,255,.2)}
.need.big:hover .ar{background:var(--sc-orange); color:#1c1715}
.need.big h3{font-size:26px}

/* ================= BENTO ================= */
.bento{display:grid; grid-template-columns:repeat(6,1fr); gap:16px}
.bx{background:#fff; border:1px solid #ece4d8; border-radius:26px; padding:26px; position:relative; overflow:hidden}
.bx h3{margin:0 0 8px; font-size:20px; letter-spacing:-.4px}
.bx p{margin:0; color:var(--sc-muted); font-size:14.5px}
.bx-a{grid-column:span 4; grid-row:span 2}
.bx-b{grid-column:span 2; background:linear-gradient(150deg,#fff3da,#fde2a6); border-color:#f6d48d}
.bx-c{grid-column:span 2; background:var(--sc-navy); color:#fff; border:0}
.bx-c p{color:#c9bdae}
.bx .big{font-size:56px; font-weight:800; letter-spacing:-.05em; line-height:1}
.bx-list{display:flex; flex-direction:column; gap:10px; margin-top:18px}
.mini{display:flex; align-items:center; gap:14px; padding:12px; border-radius:18px; border:1px solid #f1ebe1; transition:border-color .25s, background .25s}
.mini:hover{border-color:#e0d5c4; background:#fcfaf6}
.mini .who{min-width:0; flex:1}
.mini .who a{color:var(--sc-ink); text-decoration:none; font-weight:700; font-size:15px}
.mini .who a:hover{color:var(--sc-blue)}
.mini .who small{display:block; color:var(--sc-muted); font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.mini .sl{display:flex; gap:6px; flex:none}
.slot{display:inline-block; font-size:13px; font-weight:700; padding:8px 11px; border-radius:10px; background:var(--sc-blue-soft); color:#8a4b08; text-decoration:none; border:0; cursor:pointer; transition:background .2s, color .2s, transform .2s; text-align:center}
.slot:hover{background:var(--sc-orange); color:#1c1715; transform:translateY(-2px)}
.verify{display:flex; gap:10px; margin-top:18px; align-items:center}
.verify .card{width:120px; height:76px; border-radius:12px; background:linear-gradient(135deg,#2c221c,#b45309); position:relative; box-shadow:0 14px 30px rgba(180,83,9,.25); transform:rotate(-6deg)}
.verify .card::before{content:""; position:absolute; left:12px; top:14px; width:26px; height:20px; border-radius:5px; background:linear-gradient(135deg,#ffd27a,#f59e0b)}
.verify .card::after{content:""; position:absolute; left:12px; right:12px; bottom:14px; height:6px; border-radius:3px; background:rgba(255,255,255,.35); box-shadow:0 -11px 0 rgba(255,255,255,.2)}
.verify .ok{width:42px; height:42px; border-radius:50%; background:var(--ok); color:#fff; display:flex; align-items:center; justify-content:center; font-size:17px; margin-left:-22px; z-index:1; box-shadow:0 0 0 5px #fff}

/* ================= VILLES ================= */
.cities{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.city{position:relative; overflow:hidden; isolation:isolate; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:20px 20px; border-radius:20px; background:#fff; border:1px solid #ece4d8; text-decoration:none; color:var(--sc-ink)}
.city::before{content:""; position:absolute; inset:0; z-index:-1; background:var(--sc-orange); transform:scaleY(0); transform-origin:bottom; transition:transform .45s cubic-bezier(.7,0,.2,1)}
.city:hover::before{transform:scaleY(1)}
.city b{font-size:19px; letter-spacing:-.4px; display:block}
.city small{font-size:12.5px; color:var(--sc-muted); transition:color .3s}
.city .n{font-weight:800; font-size:13px; min-width:38px; height:38px; border-radius:12px; background:var(--sc-blue-soft); color:#8a4b08; display:flex; align-items:center; justify-content:center; transition:background .3s, color .3s}
.city:hover small{color:#3a2a08}
.city:hover .n{background:#1c1715; color:#fff}

/* ================= COMMENT ÇA MARCHE ================= */
.how{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.step{background:#fff; border-radius:26px; padding:24px; border:1px solid #ece4d8}
.step .ui{height:150px; border-radius:18px; background:var(--sc-soft); margin-bottom:20px; padding:16px; display:flex; flex-direction:column; justify-content:center; gap:8px; overflow:hidden}
.step .num{font-family:'Fraunces',serif; font-style:italic; color:var(--sc-orange); font-size:22px}
.step h3{margin:4px 0 6px; font-size:19px; letter-spacing:-.3px}
.step p{margin:0; color:var(--sc-muted); font-size:14.5px}
.ui-bar{height:40px; border-radius:12px; background:#fff; border:1px solid #ebe3d6; display:flex; align-items:center; gap:10px; padding:0 12px; font-size:13px; color:var(--sc-muted)}
.ui-bar i{color:var(--sc-blue)}
.ui-bar .go{margin-left:auto; width:28px; height:28px; border-radius:8px; background:var(--sc-orange)}
.ui-slots{display:grid; grid-template-columns:repeat(4,1fr); gap:6px}
.ui-slots span{height:30px; border-radius:9px; background:var(--sc-blue-soft); font-size:12px; font-weight:700; color:#8a4b08; display:flex; align-items:center; justify-content:center}
.ui-slots span.on{background:var(--sc-orange); color:#1c1715; transform:scale(1.06)}
.ui-ok{display:flex; align-items:center; gap:12px; background:#fff; border-radius:14px; padding:14px; border:1px solid #ebe3d6}
.ui-ok i{width:36px; height:36px; border-radius:50%; background:var(--ok); color:#fff; display:flex; align-items:center; justify-content:center}
.ui-ok b{display:block; font-size:14px} .ui-ok small{color:var(--sc-muted); font-size:12px}

/* ================= CTA PRATICIENS ================= */
.pro{position:relative; overflow:hidden; background:var(--sc-navy); color:#fff; border-radius:34px; padding:52px; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center}
.pro::after{content:""; position:absolute; right:-120px; top:-120px; width:360px; height:360px; border-radius:50%; background:rgba(245,158,11,.14)}
.pro h2{font-size:clamp(28px,3.4vw,40px); letter-spacing:-.04em; line-height:1.05; margin:16px 0 14px}
.pro h2 .serif{color:var(--sc-orange)}
.pro p{color:#c9bdae; margin:0 0 24px; max-width:460px}
.pro ul{list-style:none; padding:0; margin:0 0 28px; display:grid; gap:10px}
.pro li{display:flex; gap:10px; align-items:center; color:#eee6da}
.pro li i{color:var(--sc-orange)}
.pro-mock{position:relative; z-index:1; background:#fff; color:var(--sc-ink); border-radius:22px; padding:18px; box-shadow:0 40px 80px rgba(0,0,0,.4); transform:rotate(2deg)}
.pro-mock .r{display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #f1ebe1; font-size:13.5px}
.pro-mock .r:last-child{border:0}
.pro-mock .r b{width:52px} .pro-mock .r span{flex:1}

/* ================= FAQ ================= */
.faq{max-width:840px}
.faq details{border-top:1px solid var(--sc-line)}
.faq details:last-child{border-bottom:1px solid var(--sc-line)}
.faq summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px 0; font-weight:700; font-size:17.5px; letter-spacing:-.2px}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:34px; height:34px; flex:none; border-radius:50%; background:var(--sc-blue-soft); color:var(--sc-blue); display:flex; align-items:center; justify-content:center; font-size:12px; transition:transform .3s, background .3s, color .3s}
.faq details[open] summary i{transform:rotate(45deg); background:var(--sc-orange); color:#1c1715}
.faq details p{margin:0 0 22px; color:var(--sc-muted); max-width:720px}

/* ================= BANDEAU DE PAGE ================= */
.band{position:relative; overflow:hidden; background:radial-gradient(900px 400px at 90% -20%,#3d2a17 0%,transparent 60%),linear-gradient(180deg,#241c17,#1c1715); color:#fff; padding:38px 0 34px}
.band .wrap{position:relative; z-index:1}
.crumbs{font-size:13px; color:#a39789; margin-bottom:14px}
.crumbs a{color:#d8cfc3; text-decoration:none}
.crumbs a:hover{color:var(--sc-orange)}
.band h1{margin:0; font-size:clamp(30px,4.4vw,50px); letter-spacing:-.045em; line-height:1.02}
.band h1 .serif{color:var(--sc-orange)}
.band .sub{margin:12px 0 0; color:var(--sc-sand); opacity:.85; font-size:16.5px}
.band .ss{margin-top:24px; max-width:none}

/* ================= ANNUAIRE ================= */
.dir-top{position:sticky; top:55px; z-index:30; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid #ece4d8}
.dir-top .wrap{display:flex; gap:8px; align-items:center; overflow-x:auto; padding-top:12px; padding-bottom:12px; scrollbar-width:none}
.dir-top .wrap::-webkit-scrollbar{display:none}
.chip{display:inline-flex; align-items:center; gap:8px; white-space:nowrap; font-size:13.5px; font-weight:700; padding:9px 14px; border-radius:999px; border:1.5px solid var(--sc-line); background:#fff; color:var(--sc-ink); text-decoration:none; cursor:pointer; transition:all .2s}
.chip:hover{border-color:var(--sc-ink); color:var(--sc-ink)}
.chip.on{background:var(--sc-navy); border-color:var(--sc-navy); color:#fff}
.chip.on:hover{color:#fff}
.chip i{font-size:12px}
.chip select{border:0; background:transparent; font-weight:700; font-size:13.5px; outline:0; cursor:pointer; color:inherit; max-width:170px}
.chip .x{margin-left:2px; opacity:.7}
.dir{display:grid; grid-template-columns:1fr 380px; gap:24px; padding:26px 20px 90px; max-width:1068px; margin:0 auto; align-items:start}
.dir.nomap{grid-template-columns:1fr}
.dir-h{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px}
.dir-h p{margin:0; color:var(--sc-muted)} .dir-h p b{color:var(--sc-ink)}
.dir-h select{border:1.5px solid var(--sc-line); border-radius:12px; padding:8px 10px; background:#fff; font-weight:600; font-size:13.5px}
.dir-map{position:sticky; top:130px; height:calc(100vh - 150px); min-height:420px; border-radius:24px; overflow:hidden; border:1px solid #ece4d8; background:var(--sc-soft)}
#map{width:100%; height:100%}
.leaflet-popup-content{font-family:'Plus Jakarta Sans',sans-serif !important}
.pin{width:34px; height:34px; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--sc-navy); border:3px solid #fff; box-shadow:0 6px 14px rgba(0,0,0,.3); display:flex; align-items:center; justify-content:center}
.pin b{transform:rotate(45deg); color:#fff; font-size:11px; font-family:'Plus Jakarta Sans',sans-serif}
.pin.hl{background:var(--sc-orange)} .pin.hl b{color:#1c1715}

.rc{display:grid; grid-template-columns:1fr; background:#fff; border:1px solid #ece4d8; border-radius:24px; margin-bottom:14px; overflow:hidden; transition:box-shadow .3s, border-color .3s}
.rc:hover,.rc.hl{box-shadow:0 22px 44px rgba(28,23,21,.09); border-color:#e4d9c9}
.rc-top{display:flex; gap:16px; padding:20px 20px 0}
.rc-top h3{margin:0; font-size:18px; letter-spacing:-.3px}
.rc-top h3 a{color:inherit; text-decoration:none}
.rc-top h3 a:hover{color:var(--sc-blue)}
.rc-sp{margin:2px 0 8px; font-size:13.5px; color:var(--sc-blue); font-weight:600}
.rc-meta{display:flex; flex-wrap:wrap; gap:6px 16px; font-size:13.5px; color:var(--sc-muted)}
.rc-meta i{color:#a89c8e; margin-right:5px}
.rc-tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:12px}
.rc-cal{margin-top:16px; padding:14px 20px 18px; background:linear-gradient(180deg,#fcfaf6,#f8f3ec); border-top:1px solid #f1ebe1}
.rc-cal-h{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:13px}
.rc-cal-h b{display:flex; align-items:center; gap:8px; color:#166534}
.rc-cal-h a{font-weight:700; color:var(--sc-ink); text-decoration:none}
.rc-cal-h a:hover{color:var(--sc-blue)}
.rc-days{display:grid; grid-template-columns:repeat(5,1fr); gap:8px}
.rc-day{display:flex; flex-direction:column; gap:6px}
.rc-day>small{text-align:center; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.3px; color:var(--sc-muted)}
.rc-day>small b{display:block; color:var(--sc-ink); font-size:13px; text-transform:none; letter-spacing:0}
.rc-day .slot{padding:7px 0; font-size:12.5px}
.rc-day .nil{text-align:center; color:#cfc6ba; padding:7px 0; font-size:13px; border:1px dashed #e7ded1; border-radius:10px}
.empty{text-align:center; padding:60px 20px; border:1.5px dashed var(--sc-line); border-radius:24px; color:var(--sc-muted); background:#fff}
.empty i{font-size:34px; color:var(--sc-orange); margin-bottom:12px}
.empty h3{color:var(--sc-ink); margin:0 0 6px}
.pages{display:flex; gap:6px; justify-content:center; margin-top:24px}
.pages a,.pages span{min-width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; border:1.5px solid var(--sc-line); text-decoration:none; color:var(--sc-ink); font-weight:700}
.pages span{background:var(--sc-navy); color:#fff; border-color:var(--sc-navy)}
.sheet{position:fixed; inset:0; z-index:1100; background:rgba(28,23,21,.5); display:none; align-items:flex-end; justify-content:center}
.sheet.on{display:flex}
.sheet-in{background:#fff; width:100%; max-width:520px; border-radius:26px 26px 0 0; padding:22px; max-height:88vh; overflow:auto; animation:scUp .3s var(--ease)}
.sheet h3{margin:0 0 6px; display:flex; justify-content:space-between; align-items:center}
.sheet h3 button{border:0; background:var(--sc-soft); width:36px; height:36px; border-radius:50%; cursor:pointer}
.fgrp{border-top:1px solid #f1ebe1; padding:14px 0 6px; margin-top:10px}
.fgrp>b{display:block; font-size:12px; letter-spacing:.5px; text-transform:uppercase; color:var(--sc-muted); margin-bottom:10px}
.ck{display:flex; align-items:center; gap:10px; font-size:14.5px; padding:6px 0; cursor:pointer}
.ck input{accent-color:var(--sc-orange); width:18px; height:18px}

/* ================= FICHE DENTISTE ================= */
.pf{position:relative; overflow:hidden; background:radial-gradient(900px 420px at 90% -20%,#3d2a17 0%,transparent 60%),linear-gradient(180deg,#241c17,#1c1715); color:#fff; padding:34px 0 0}
.pf .wrap{position:relative; z-index:1}
.pf-id{display:flex; gap:28px; align-items:flex-end; padding-bottom:30px}
.pf-id .ava.lg{box-shadow:0 0 0 6px rgba(255,255,255,.08),0 24px 50px rgba(0,0,0,.4)}
.pf-id .ava.lg .ava-ok{border-color:#1c1715}
.pf-id h1{margin:0; font-size:clamp(30px,4.4vw,48px); letter-spacing:-.045em; line-height:1.02}
.pf-id .role{margin:8px 0 0; color:var(--sc-sand); font-size:16.5px}
.pf-id .role b{color:#fff}
.pf-badges{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px}
.pf-badges .tag{background:rgba(255,255,255,.08); color:#ece4d8; border:1px solid rgba(255,255,255,.1)}
.pf-badges .tag.vf{background:rgba(180,83,9,.25); color:#fff; border-color:rgba(245,158,11,.4)}
.pf-badges .tag.ur{background:rgba(220,38,38,.25); color:#fff}
.pf-nav{position:sticky; top:55px; z-index:30; background:#fff; border-bottom:1px solid #ece4d8}
.pf-nav .wrap{display:flex; gap:4px; overflow-x:auto; scrollbar-width:none}
.pf-nav a{padding:15px 14px; font-weight:700; font-size:14px; color:var(--sc-muted); text-decoration:none; border-bottom:3px solid transparent; white-space:nowrap; transition:color .2s, border-color .2s}
.pf-nav a:hover,.pf-nav a.on{color:var(--sc-ink); border-color:var(--sc-orange)}
.pf-page{display:grid; grid-template-columns:1fr 410px; gap:28px; max-width:1068px; margin:0 auto; padding:28px 20px 100px; align-items:start}
.blk{background:#fff; border:1px solid #ece4d8; border-radius:24px; padding:26px; margin-bottom:16px; scroll-margin-top:130px}
.blk>h2{font-size:20px; margin:0 0 16px; letter-spacing:-.4px; display:flex; align-items:center; gap:12px}
.blk>h2 i{width:36px; height:36px; border-radius:12px; background:var(--sc-blue-soft); color:var(--sc-blue); display:flex; align-items:center; justify-content:center; font-size:14px}
.blk p{margin:0; color:#4f453d; line-height:1.65}
.facts{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:20px}
.facts div{background:var(--sc-soft); border-radius:16px; padding:14px}
.facts small{display:block; font-size:11.5px; color:var(--sc-muted); text-transform:uppercase; letter-spacing:.4px; font-weight:700}
.facts b{font-size:15px; display:block; margin-top:2px}
.tl{list-style:none; margin:0; padding:0; position:relative}
.tl::before{content:""; position:absolute; left:51px; top:8px; bottom:8px; width:2px; background:repeating-linear-gradient(180deg,#e4d9c9 0 6px,transparent 6px 10px)}
.tl li{display:grid; grid-template-columns:44px 16px 1fr; gap:12px; align-items:start; padding:8px 0}
.tl .y{font-weight:800; font-size:14px; color:var(--sc-ink); text-align:right; padding-top:1px}
.tl .d{width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--sc-blue); margin-top:3px; position:relative; z-index:1}
.tl li.dip .d{border-color:var(--sc-orange); background:var(--sc-orange)}
.tl b{display:block; font-size:15.5px}
.tl small{color:var(--sc-muted); font-size:13.5px}
.tl .k{display:inline-block; font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.4px; color:var(--sc-orange-ink); background:#fff3da; padding:2px 8px; border-radius:6px; margin-bottom:4px}
.tl li.frm .k{color:#8a4b08; background:var(--sc-blue-soft)}
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chips span{display:inline-flex; gap:9px; align-items:center; padding:10px 14px; border-radius:14px; background:var(--sc-soft); font-weight:600; font-size:14px}
.chips span i{color:var(--sc-blue)}
.hours{width:100%; border-collapse:collapse; font-size:14.5px}
.hours td{padding:10px 0; border-bottom:1px solid #f1ebe1}
.hours td:last-child{text-align:right; color:#4f453d}
.hours tr:last-child td{border:0}
.hours tr.today td{font-weight:800; color:var(--sc-ink)}
.hours tr.today td:first-child::after{content:"Aujourd'hui"; margin-left:8px; font-size:11px; background:var(--sc-orange); color:#1c1715; padding:2px 8px; border-radius:999px; vertical-align:2px}
.hours .closed{color:#a89c8e !important}
.map{border:0; width:100%; height:280px; border-radius:18px; margin-top:16px; background:var(--sc-soft); display:block}
.addr{display:flex; gap:14px; align-items:flex-start}
.addr>i{width:44px; height:44px; flex:none; border-radius:14px; background:var(--sc-orange); color:#1c1715; display:flex; align-items:center; justify-content:center}
.addr b{display:block; font-size:16px}

/* widget RDV */
.bk{position:sticky; top:118px; background:#fff; border:1px solid #ece4d8; border-radius:26px; box-shadow:0 30px 70px rgba(28,23,21,.12); overflow:hidden; scroll-margin-top:120px}
.bk-h{background:linear-gradient(110deg,#1c1715 0%,#2c221c 70%,#3a2c22 140%); color:#fff; padding:18px 20px}
.bk-h h2{margin:0; font-size:18px; letter-spacing:-.3px}
.bk-h p{margin:4px 0 0; font-size:13px; color:#c9bdae; display:flex; align-items:center; gap:8px}
.bk-steps{display:flex; gap:6px; margin-top:14px}
.bk-steps span{flex:1; height:4px; border-radius:4px; background:rgba(255,255,255,.18); transition:background .3s}
.bk-steps span.on{background:var(--sc-orange)}
.bk-b{padding:18px 20px 20px}
.bk-first{display:flex; align-items:center; gap:12px; width:100%; text-align:left; border:1.5px solid #f6d48d; background:linear-gradient(120deg,#fff9ec,#fff3da); border-radius:16px; padding:12px 14px; cursor:pointer; transition:transform .2s, box-shadow .2s}
.bk-first:hover{transform:translateY(-2px); box-shadow:0 10px 22px rgba(245,158,11,.25)}
.bk-first i{width:36px; height:36px; border-radius:11px; background:var(--sc-orange); color:#1c1715; display:flex; align-items:center; justify-content:center; flex:none}
.bk-first small{display:block; font-size:11.5px; color:var(--sc-orange-ink); font-weight:800; text-transform:uppercase; letter-spacing:.4px}
.bk-first b{font-size:15px}
.bk-first .go{margin-left:auto; font-weight:800; font-size:13px; color:var(--sc-ink)}
.bk-or{display:flex; align-items:center; gap:10px; color:var(--sc-muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin:16px 0 12px}
.bk-or::before,.bk-or::after{content:""; height:1px; background:#f1ebe1; flex:1}
.bk-week{display:flex; align-items:center; gap:6px}
.bk-week button.nv{width:32px; height:56px; flex:none; border:0; background:var(--sc-soft); border-radius:12px; cursor:pointer; color:var(--sc-ink)}
.bk-week button.nv:disabled{opacity:.3; cursor:default}
.bk-days{display:grid; grid-template-columns:repeat(5,1fr); gap:6px; flex:1}
.bk-day{border:1.5px solid var(--sc-line); background:#fff; border-radius:14px; padding:7px 0; text-align:center; cursor:pointer; transition:all .2s; min-width:0}
.bk-day small{display:block; font-size:10.5px; text-transform:uppercase; font-weight:800; color:var(--sc-muted); letter-spacing:.3px}
.bk-day b{display:block; font-size:18px; letter-spacing:-.4px; line-height:1.2}
.bk-day em{display:block; width:6px; height:6px; border-radius:50%; background:var(--ok); margin:3px auto 0}
.bk-day.full{opacity:.4} .bk-day.full em{background:#cfc6ba}
.bk-day:hover{border-color:var(--sc-ink)}
.bk-day.on{background:var(--sc-navy); border-color:var(--sc-navy); color:#fff}
.bk-day.on small{color:#c9bdae} .bk-day.on em{background:var(--sc-orange)}
.bk-pane{display:none; margin-top:12px}
.bk-pane.on{display:block; animation:scUp .3s var(--ease)}
.bk-pane h3{font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--sc-muted); margin:12px 0 8px; display:flex; align-items:center; gap:8px}
.bk-slots{display:grid; grid-template-columns:repeat(4,1fr); gap:6px}
.bk-slots label{position:relative}
.bk-slots input{position:absolute; opacity:0; pointer-events:none}
.bk-slots span{display:block; text-align:center; padding:10px 0; border-radius:11px; background:var(--sc-blue-soft); color:#8a4b08; font-weight:700; font-size:13.5px; cursor:pointer; transition:background .2s, color .2s, transform .2s}
.bk-slots span:hover{background:#f6dfbf}
.bk-slots input:checked+span{background:var(--sc-orange); color:#1c1715; transform:scale(1.05)}
.bk-slots input:focus-visible+span{outline:3px solid var(--sc-orange); outline-offset:2px}
.bk-none{font-size:14px; color:var(--sc-muted); padding:16px; text-align:center; background:var(--sc-soft); border-radius:14px}
.bk-form{display:none}
.bk-form.on{display:block; animation:scUp .35s var(--ease)}
.bk-pick{display:flex; justify-content:space-between; align-items:center; gap:10px; background:#fff7e6; border:1px solid #f6d48d; border-radius:16px; padding:12px 14px; margin-bottom:14px}
.bk-pick small{display:block; color:var(--sc-orange-ink); font-weight:800; font-size:11.5px; text-transform:uppercase; letter-spacing:.4px}
.bk-pick b{font-size:15.5px}
.bk-pick button{background:#fff; border:1px solid #f6d48d; border-radius:10px; padding:6px 10px; color:var(--sc-ink); font-weight:700; cursor:pointer; font-size:12.5px}
.motifs{display:flex; flex-wrap:wrap; gap:6px}
.motifs .pill span{font-size:12.5px; padding:7px 11px}
.bk-note{font-size:12.5px; color:var(--sc-muted); text-align:center; margin:12px 0 0}
.mbar{display:none}

/* formulaires */
.fl{margin-bottom:14px}
.fl>label,.fl>.lb{display:block; font-size:13px; font-weight:700; margin-bottom:6px}
.fl>label small,.fl>.lb small{font-weight:500; color:var(--sc-muted)}
.fl input:not([type=checkbox]):not([type=radio]),.fl select,.fl textarea{width:100%; border:1.5px solid var(--sc-line); border-radius:13px; padding:12px 13px; background:#fff; font-size:15px; transition:border-color .2s, box-shadow .2s}
.fl input:focus,.fl select:focus,.fl textarea:focus{outline:0; border-color:var(--sc-blue); box-shadow:0 0 0 4px rgba(245,158,11,.18)}
.fl input.err,.fl select.err,.fl textarea.err{border-color:var(--ko)}
.fl .hint{display:block; font-size:12.5px; color:var(--sc-muted); margin-top:5px}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.row3{display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px}
.seg{display:grid; grid-template-columns:1fr 1fr; gap:4px; background:#f3ece2; border-radius:13px; padding:4px}
.seg label{position:relative; margin:0}
.seg input{position:absolute; opacity:0}
.seg span{display:block; text-align:center; padding:9px; border-radius:10px; font-size:13.5px; font-weight:700; cursor:pointer; color:#4a4038}
.seg input:checked+span{background:#fff; color:var(--sc-ink); box-shadow:0 2px 8px rgba(28,23,21,.12)}
.consent{display:flex; gap:10px; font-size:12.5px; color:var(--sc-muted); margin:6px 0 14px; align-items:flex-start; cursor:pointer}
.consent input{accent-color:var(--sc-orange); margin-top:2px; width:16px; height:16px; flex:none}
.alert{padding:13px 15px; border-radius:14px; font-size:14px; margin-bottom:16px; display:flex; gap:10px; align-items:flex-start}
.alert.err{background:#fdecec; color:#991b1b}
.alert.ok{background:var(--ok-soft); color:#166534}
.alert.info{background:var(--sc-blue-soft); color:#8a4b08}
.checks{display:flex; flex-wrap:wrap; gap:8px}
.checks label{position:relative}
.checks input{position:absolute; opacity:0}
.checks span{display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border-radius:12px; border:1.5px solid var(--sc-line); font-size:14px; font-weight:600; cursor:pointer; transition:all .2s; background:#fff}
.checks span::before{content:""; width:16px; height:16px; border-radius:5px; border:1.5px solid #c4b8aa; transition:all .2s}
.checks input:checked+span{border-color:var(--sc-navy); background:var(--sc-navy); color:#fff}
.checks input:checked+span::before{background:var(--sc-orange); border-color:var(--sc-orange); box-shadow:inset 0 0 0 3px var(--sc-navy)}
.checks input:focus-visible+span{outline:3px solid var(--sc-orange); outline-offset:2px}

/* ================= INSCRIPTION (assistant) ================= */
.wz-wrap{display:grid; grid-template-columns:300px 1fr; gap:28px; max-width:1068px; margin:0 auto; padding:30px 20px 90px; align-items:start}
.wz-side{position:sticky; top:75px; background:var(--sc-navy); color:#fff; border-radius:26px; padding:24px; overflow:hidden}
.wz-side h2{font-size:20px; margin:0 0 4px; letter-spacing:-.3px}
.wz-side>p{color:#a39789; font-size:13.5px; margin:0 0 20px}
.wz-nav{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; counter-reset:wz}
.wz-nav li{display:flex; align-items:center; gap:12px; padding:10px; border-radius:14px; color:#a39789; font-weight:600; font-size:14.5px; cursor:pointer; transition:background .2s, color .2s}
.wz-nav li::before{counter-increment:wz; content:counter(wz); width:30px; height:30px; flex:none; border-radius:10px; border:1.5px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800}
.wz-nav li.on{background:rgba(255,255,255,.08); color:#fff}
.wz-nav li.on::before{background:var(--sc-orange); border-color:var(--sc-orange); color:#1c1715}
.wz-nav li.done{color:#eee6da}
.wz-nav li.done::before{content:"✓"; background:rgba(34,197,94,.2); border-color:#22c55e; color:#4ade80}
.wz-prog{height:6px; border-radius:6px; background:rgba(255,255,255,.1); margin-top:20px; overflow:hidden}
.wz-prog i{display:block; height:100%; width:20%; background:var(--sc-orange); border-radius:6px; transition:width .4s var(--ease)}
.wz-side .sec-note{margin-top:18px; font-size:12.5px; color:#a39789; display:flex; gap:8px}
.wz-side .sec-note i{color:#22c55e; margin-top:3px}
.wz{background:#fff; border:1px solid #ece4d8; border-radius:26px; padding:30px}
.wz-step{display:none}
.wz-step.on{display:block; animation:scUp .35s var(--ease)}
.wz-step>h2{font-size:26px; letter-spacing:-.04em; margin:0 0 4px}
.wz-step>p.lead{color:var(--sc-muted); margin:0 0 24px}
.wz-sub{font-size:13px; text-transform:uppercase; letter-spacing:.5px; color:var(--sc-muted); font-weight:800; margin:24px 0 12px; display:flex; align-items:center; gap:10px}
.wz-sub::after{content:""; flex:1; height:1px; background:#f1ebe1}
.wz-foot{display:flex; justify-content:space-between; gap:10px; margin-top:26px; padding-top:20px; border-top:1px solid #f1ebe1}
.drop{position:relative; display:flex; align-items:center; gap:16px; border:2px dashed var(--sc-line); border-radius:20px; padding:18px; cursor:pointer; transition:border-color .2s, background .2s; background:#fcfaf6}
.drop:hover,.drop.over{border-color:var(--sc-blue); background:#fdf6ec}
.drop input{position:absolute; inset:0; opacity:0; cursor:pointer}
.drop .pv{width:84px; height:84px; flex:none; border-radius:22px; background:var(--sc-blue-soft); color:var(--sc-blue); display:flex; align-items:center; justify-content:center; font-size:26px; overflow:hidden}
.drop .pv img{width:100%; height:100%; object-fit:cover}
.drop.card .pv{width:120px; height:78px; border-radius:12px}
.drop b{display:block; font-size:15px}
.drop small{color:var(--sc-muted); font-size:13px}
.drop.has{border-style:solid; border-color:#86d8a4; background:#f3fbf6}
.rep{display:flex; flex-direction:column; gap:10px}
.rep-row{display:grid; grid-template-columns:1.4fr 1.2fr 90px 40px; gap:8px; align-items:center}
.rep-row input{width:100%; border:1.5px solid var(--sc-line); border-radius:12px; padding:11px 12px; font-size:14.5px}
.rep-row input:focus{outline:0; border-color:var(--sc-blue); box-shadow:0 0 0 4px rgba(245,158,11,.18)}
.rep-row button{height:42px; border:0; border-radius:12px; background:#fdecec; color:var(--ko); cursor:pointer}
.rep-add{align-self:flex-start; border:1.5px dashed var(--sc-line); background:#fff; border-radius:12px; padding:10px 14px; font-weight:700; font-size:13.5px; cursor:pointer; color:var(--sc-ink)}
.rep-add:hover{border-color:var(--sc-ink)}
.hr-tbl{width:100%; border-collapse:separate; border-spacing:0 6px}
.hr-tbl td{padding:0 6px 0 0; vertical-align:middle}
.hr-tbl td:first-child{width:130px}
.hr-tbl input[type=time]{border:1.5px solid var(--sc-line); border-radius:10px; padding:8px; font-size:14px; width:100%; max-width:110px}
.hr-tbl tr.off input[type=time]{opacity:.35; pointer-events:none}
.hr-tbl .sep{color:var(--sc-muted); font-size:13px; padding:0 4px; white-space:nowrap}
.sw{display:inline-flex; align-items:center; gap:10px; cursor:pointer; font-weight:700; font-size:14.5px}
.sw input{appearance:none; width:40px; height:24px; border-radius:24px; background:#e4d9c9; position:relative; cursor:pointer; transition:background .2s; flex:none; margin:0}
.sw input::after{content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.2)}
.sw input:checked{background:var(--ok)}
.sw input:checked::after{transform:translateX(16px)}
.recap{display:grid; grid-template-columns:1fr 1fr; gap:10px; background:var(--sc-soft); border-radius:18px; padding:16px; font-size:14px}
.recap small{display:block; color:var(--sc-muted); font-size:11.5px; text-transform:uppercase; letter-spacing:.4px; font-weight:700}
.done-box{text-align:center; padding:30px 10px}
.done-box .ic{width:84px; height:84px; margin:0 auto 18px; border-radius:50%; background:var(--ok); color:#fff; display:flex; align-items:center; justify-content:center; font-size:34px; animation:pop .6s var(--ease)}
.done-box h2{font-size:30px; letter-spacing:-.04em; margin:0 0 8px}
.done-box p{color:var(--sc-muted); max-width:480px; margin:0 auto 10px}
.done-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:26px 0; text-align:left}
.done-steps div{background:var(--sc-soft); border-radius:16px; padding:14px; font-size:13.5px}
.done-steps b{display:block; margin-bottom:2px}
.done-steps div.on{background:#fff3da}

/* ================= CONFIRMATION RDV ================= */
.ed-confirm{max-width:640px; margin:0 auto; padding:50px 20px 90px}
.ed-empty{text-align:center; padding:60px 20px; border:1.5px dashed var(--sc-line); border-radius:24px; color:var(--sc-muted); background:#fff}
.ed-empty i{font-size:34px; color:var(--sc-orange); margin-bottom:12px}
.cf{background:#fff; border-radius:28px; box-shadow:0 40px 80px rgba(28,23,21,.14); border:1px solid #ece4d8; overflow:hidden}
.cf-top{background:linear-gradient(110deg,#1c1715 0%,#2c221c 70%,#3a2c22 140%); color:#fff; padding:32px; text-align:center}
.cf-check{width:68px; height:68px; margin:0 auto 14px; border-radius:50%; background:var(--ok); color:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; animation:pop .6s var(--ease)}
.cf-top h1{margin:0; font-size:28px; letter-spacing:-.03em}
.cf-top p{margin:6px 0 0; color:#c9bdae}
.cf-cut{height:0; border-top:2px dashed var(--sc-line); position:relative}
.cf-cut::before,.cf-cut::after{content:""; position:absolute; top:-14px; width:26px; height:26px; border-radius:50%; background:var(--sc-soft)}
.cf-cut::before{left:-13px} .cf-cut::after{right:-13px}
.cf-body{padding:26px 30px}
.cf-when{display:flex; gap:16px; align-items:center; margin-bottom:20px}
.cf-date{width:76px; flex:none; text-align:center; border-radius:18px; overflow:hidden; border:1px solid var(--sc-line)}
.cf-date small{display:block; background:var(--sc-orange); color:#1c1715; font-weight:800; font-size:11px; text-transform:uppercase; padding:4px 0}
.cf-date b{display:block; font-size:30px; padding:4px 0 6px; letter-spacing:-1px}
.cf-when h2{margin:0; font-size:20px; letter-spacing:-.3px}
.cf-when p{margin:2px 0 0; color:var(--sc-muted)}
.cf-rows{display:grid; grid-template-columns:1fr 1fr; gap:14px; border-top:1px solid #f1ebe1; padding-top:18px}
.cf-rows small{display:block; font-size:12px; text-transform:uppercase; letter-spacing:.4px; font-weight:700; color:var(--sc-muted)}
.cf-rows b{font-size:15px}
.cf-ref{font-family:ui-monospace,Menlo,monospace; letter-spacing:1px; background:var(--sc-soft); padding:2px 8px; border-radius:6px}
.cf-acts{display:flex; gap:8px; flex-wrap:wrap; margin-top:22px}
.cf-acts .btn{flex:1}

/* ================= ESPACE PRATICIEN / ADMIN ================= */
.auth{max-width:460px; margin:0 auto; padding:60px 20px 90px}
.dash{max-width:1068px; margin:0 auto; padding:30px 20px 90px}
.dash-h{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:22px}
.dash-h .me{display:flex; gap:16px; align-items:center}
.dash-h h1{margin:0; font-size:28px; letter-spacing:-.04em}
.dash-h p{margin:2px 0 0; color:var(--sc-muted)}
.tabs{display:flex; gap:6px; margin-bottom:18px; flex-wrap:wrap}
.tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:22px}
.tile{background:#fff; border:1px solid #ece4d8; border-radius:20px; padding:18px}
.tile small{font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--sc-muted); font-weight:700}
.tile b{display:block; font-size:32px; letter-spacing:-1px}
.tile.or{background:linear-gradient(135deg,#fff7e6,#fde7b8); border-color:#f6d48d}
.tbl-wrap{border:1px solid #ece4d8; border-radius:20px; overflow:auto; background:#fff}
.tbl{width:100%; border-collapse:collapse; font-size:14.5px}
.tbl th{text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:var(--sc-muted); padding:13px; border-bottom:1px solid #ece4d8; white-space:nowrap}
.tbl td{padding:13px; border-bottom:1px solid #f1ebe1; vertical-align:middle}
.tbl tr:last-child td{border:0}
.tbl tr:hover td{background:#fcfaf6}
.st{font-size:12px; font-weight:700; padding:4px 10px; border-radius:999px; white-space:nowrap}
.st.en_attente{background:#fff7e6; color:var(--sc-orange-ink)}
.st.confirme,.st.valide{background:var(--ok-soft); color:#166534}
.st.annule,.st.refuse{background:#f1f3f7; color:#988c7e}
.mini-btn{border:1.5px solid var(--sc-line); background:#fff; border-radius:9px; padding:6px 11px; font-size:12.5px; font-weight:700; cursor:pointer; text-decoration:none; color:var(--sc-ink); display:inline-block}
.mini-btn.ok:hover{background:var(--ok); color:#fff; border-color:var(--ok)}
.mini-btn.ko:hover{background:var(--ko); color:#fff; border-color:var(--ko)}
.adm-card{display:grid; grid-template-columns:auto 1fr auto; gap:20px; background:#fff; border:1px solid #ece4d8; border-radius:24px; padding:22px; margin-bottom:14px; align-items:start}
.adm-card h3{margin:0; font-size:19px}
.adm-card dl{display:grid; grid-template-columns:150px 1fr; gap:6px 12px; margin:12px 0 0; font-size:14px}
.adm-card dt{color:var(--sc-muted)} .adm-card dd{margin:0; font-weight:600}
.adm-docs{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap}
.adm-docs a{display:block; width:180px; border-radius:14px; overflow:hidden; border:1px solid #ece4d8; text-decoration:none; color:var(--sc-ink); font-size:12.5px; font-weight:700}
.adm-docs a img{display:block; width:100%; height:110px; object-fit:cover; background:var(--sc-soft)}
.adm-docs a span{display:block; padding:8px 10px}
.adm-docs a .pdf{height:110px; display:flex; align-items:center; justify-content:center; background:#fdecec; color:var(--ko); font-size:30px}
.adm-act{display:flex; flex-direction:column; gap:8px; min-width:200px}
.adm-act textarea{border:1.5px solid var(--sc-line); border-radius:12px; padding:9px; font-size:13.5px; resize:vertical}
/* ---------- Footer (identique Flexjob) ---------- */
.sc-footer{--ft-bg:#1c1715; --ft-txt:#d3ccc3; --ft-dim:#a49c92; --ft-line:rgba(255,255,255,.09); background:var(--ft-bg); color:var(--ft-txt); position:relative}
.sc-footer a{text-decoration:none; transition:color .2s, background .2s, transform .2s}
.sc-footer .sc-wrap{max-width:1068px; margin:0 auto; padding:0 16px}
.sc-footer .sc-logo{color:#fff !important; font-size:22px}
.sc-foot-grid{display:grid; grid-template-columns:1fr 1fr; gap:34px 20px; padding:52px 0 34px}
.sc-foot-brand{grid-column:1/-1}
.sc-foot-brand p{font-size:14.5px; line-height:1.7; color:var(--ft-txt); margin:18px 0 22px; max-width:320px}
.sc-social{display:flex; flex-wrap:wrap; gap:8px}
.sc-social a{width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; font-size:14px; display:inline-flex; align-items:center; justify-content:center}
.sc-social a:hover{background:#f59e0b; color:#1c1715; transform:translateY(-3px)}
.sc-foot-col h4{font-size:14px; font-weight:600; color:#ece4d8; margin:6px 0 20px; letter-spacing:.2px; text-transform:uppercase}
.sc-foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px}
.sc-foot-col li a{color:var(--ft-txt); font-size:14.5px}
.sc-foot-col li a:hover{color:#f59e0b}
.sc-foot-pay{grid-column:1/-1}
.sc-pay{display:flex; flex-wrap:wrap; gap:6px}
.sc-pay span{width:40px; height:28px; border-radius:6px; background:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:15px; color:#1c1715}
.sc-pay span.txt{font-size:10.5px; font-weight:800; letter-spacing:.3px; color:#00539b}
.sc-secure{display:flex; align-items:center; gap:8px; margin:14px 0 0; font-size:13px; color:var(--ft-dim)}
.sc-secure i{color:#22c55e; font-size:12px}
.sc-foot-col h4.sc-app-t{margin-top:26px; margin-bottom:14px}
.sc-apps{display:flex; flex-wrap:wrap; gap:8px}
.sc-apps a{display:inline-flex; align-items:center; gap:9px; padding:7px 13px 7px 11px; border-radius:10px; border:1px solid rgba(255,255,255,.16); color:#fff !important; font-size:13px; font-weight:700; line-height:1.1}
.sc-apps a i{font-size:19px; color:#fff}
.sc-apps a small{display:block; font-size:9.5px; font-weight:500; color:var(--ft-dim); text-transform:uppercase; letter-spacing:.4px}
.sc-apps a:hover{border-color:#f59e0b; background:rgba(245,158,11,.1)}
.sc-cities{border-top:1px solid var(--ft-line); padding:22px 0; display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; font-size:13.5px}
.sc-cities b{color:#ece4d8; font-weight:600; margin-right:4px}
.sc-cities a{color:var(--ft-dim)}
.sc-cities a:hover{color:#f59e0b}
.sc-bottom{max-width:1068px; margin:0 auto; padding:0 16px}
.sc-bottom-in{border-top:1px solid var(--ft-line); padding:20px 0 24px; display:flex; flex-direction:column; text-align:center; gap:12px; font-size:13.5px; color:var(--ft-dim)}
.sc-bottom-in nav{display:flex; flex-wrap:wrap; justify-content:center; gap:10px 22px}
.sc-bottom-in a{color:var(--ft-txt)}
.sc-bottom-in a:hover{color:#f59e0b}
.sc-top{position:fixed; right:22px; bottom:22px; z-index:999; width:46px; height:46px; border-radius:50%; border:0; background:#f59e0b; color:#1c1715; font-size:16px; cursor:pointer;
  box-shadow:0 10px 24px rgba(245,158,11,.4); opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity .3s, transform .3s}
.sc-top.on{opacity:1; pointer-events:auto; transform:none}
@media (min-width:768px){
  .sc-footer .sc-wrap,.sc-bottom{padding:0 20px}
  .sc-foot-grid{grid-template-columns:repeat(3,1fr)}
  .sc-foot-pay{grid-column:auto}
  .sc-bottom-in{flex-direction:row; justify-content:space-between; text-align:left}
}
@media (min-width:1024px){
  .sc-foot-grid{grid-template-columns:1.45fr 1fr 1fr 1fr 1.15fr; gap:36px; padding:60px 0 44px}
  .sc-foot-brand{grid-column:auto}
}



/* ============================================================
   v3 – palette chaude (sans bleu) : crème, sable, encre, orange
   ============================================================ */
:root{--cream:#faf6ef; --sand:#f3ebdf; --ink:#1c1715; --terra:#c2410c}
body{background:#fffdf9}
a{color:var(--sc-orange-ink)}
::selection{background:#fde3b0; color:var(--ink)}

/* Hero clair */
.hx{color:var(--ink); background:radial-gradient(700px 420px at 92% 10%,rgba(245,158,11,.22),transparent 65%),radial-gradient(600px 400px at -10% 110%,rgba(194,65,12,.10),transparent 60%),var(--cream); padding-top:60px}
.hx .zel,.band .zel,.pf .zel{color:#c08a3e; opacity:.16}
.hx h1{color:var(--ink)}
.hx h1 .serif{color:var(--sc-orange-ink)}
.hx h1 .smile svg{color:var(--sc-orange)}
.hx-lead{color:#5c524a; opacity:1}
.hx-kick{background:#fff; border:1px solid #eadfce; color:#6d635a; box-shadow:0 6px 18px rgba(28,23,21,.05)}
.hx-kick b{color:var(--ink)}
.ss-box{border:1px solid #eadfce; box-shadow:0 30px 60px rgba(120,70,20,.14)}
.ss-box:focus-within{box-shadow:0 30px 60px rgba(120,70,20,.16),0 0 0 4px rgba(245,158,11,.35)}
.ss-f>i{color:var(--sc-orange-ink)}
.ss-geo{background:var(--sand); color:var(--sc-orange-ink)}
.ss-geo:hover{background:var(--ink); color:#fff}
.hx-trust{color:#6d635a}
.hx-trust span{background:#fff; border:1px solid #eadfce; padding:7px 12px; border-radius:999px}
.feed-lbl{color:#6d635a}
.fc{background:#fff; border:1px solid #eadfce; color:var(--ink); backdrop-filter:none; box-shadow:0 8px 22px rgba(120,70,20,.06)}
.fc:hover{background:#fff; border-color:var(--sc-orange); color:var(--ink); box-shadow:0 14px 30px rgba(120,70,20,.12)}
.fc small,.fc .t em{color:#8b7f72}
.hx-band{background:var(--ink); border-top:0; color:#fff}
.hx-band div{border-color:rgba(255,255,255,.08)}
.hx-band strong{color:#fff}
.hx-band strong::after{content:""; display:block; width:22px; height:3px; border-radius:3px; background:var(--sc-orange); margin:8px auto 6px}

/* macaron rotatif */
.seal{position:absolute; right:-30px; top:-46px; z-index:3; width:118px; height:118px; border-radius:50%; background:var(--sc-orange); color:var(--ink);
  display:flex; align-items:center; justify-content:center; box-shadow:0 18px 40px rgba(245,158,11,.4)}
.seal svg{position:absolute; inset:0; width:100%; height:100%; animation:spinSlow 18s linear infinite}
.seal text{font:800 10.5px 'Plus Jakarta Sans',sans-serif; letter-spacing:2.2px; text-transform:uppercase; fill:var(--ink)}
.seal i{font-size:30px}
.feed-col{position:relative}

/* Bandeaux de page clairs */
.band,.pf{color:var(--ink); background:radial-gradient(700px 380px at 95% 0%,rgba(245,158,11,.18),transparent 65%),var(--cream); border-bottom:1px solid #eee3d3}
.band h1,.pf-id h1{color:var(--ink)}
.band h1 .serif{color:var(--sc-orange-ink)}
.band .sub,.pf-id .role{color:#5c524a; opacity:1}
.pf-id .role b{color:var(--ink)}
.crumbs{color:#8b7f72} .crumbs a{color:#5c524a} .crumbs a:hover{color:var(--sc-orange-ink)}
.pf-badges .tag{background:#fff; color:#4a4038; border:1px solid #eadfce}
.pf-badges .tag.vf{background:var(--ink); color:#fff; border-color:var(--ink)}
.pf-badges .tag.vf i{color:var(--sc-orange)}
.pf-badges .tag.ur{background:#fdecec; color:#b91c1c; border-color:#f8d0d0}
.pf-id .ava.lg{box-shadow:0 0 0 6px #fff,0 24px 50px rgba(120,70,20,.18)}
.pf-id .ava.lg .ava-ok{border-color:#fff}
.pf-nav{background:#fffdf9; border-color:#eee3d3}
.dir-top{background:rgba(255,253,249,.94); border-color:#eee3d3}

/* Avatars & badge vérifié */
.ava-ok{background:var(--ok)}
.tag.bl{background:#e7f5ec; color:#166534}

/* Sections & cartes : touches éditoriales */
.sec.soft{background:var(--sand)}
.sec.sand{background:var(--cream)}
.sec-h h2 .serif,.blk>h2 .serif{color:var(--terra)}
.eyebrow{background:#fff; border:1px solid #eadfce; color:var(--sc-orange-ink)}
.eyebrow.dk{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.14); color:#e8dccb}
.need,.bx,.city,.step,.blk,.rc,.wz,.tile,.adm-card,.tbl-wrap,.empty{border-color:#eadfce}
.need .ic{color:var(--ink)}
.need.big,.bx-c,.pro,.wz-side{background:var(--ink)}
.need.big::before{background:#2c221c}
.bx-b{background:linear-gradient(150deg,#ffe9bf,#fbc96b); border-color:#f6c766}
.verify .card{background:linear-gradient(135deg,#3a2c22,#7c3f10); box-shadow:0 14px 30px rgba(124,63,16,.35)}
.city .n,.blk>h2 i,.sg a .ic,.chips span i,.adm-docs a .pdf{color:var(--sc-orange-ink)}
.city .n,.blk>h2 i,.sg a .ic,.step .ui{background:var(--sand)}
.blk>h2 i{border-radius:50%}
.slot,.bk-slots span,.ui-slots span{background:var(--sand); color:var(--ink)}
.slot:hover,.bk-slots span:hover{background:#f8e2bd; color:var(--ink)}
.slot:hover{background:var(--sc-orange)}
.bk-h,.cf-top{background:linear-gradient(120deg,#1c1715 0%,#2c221c 60%,#4a2f12 130%)}
.bk-h p,.cf-top p{color:#c9bdae}
.tl .d{border-color:var(--ink)}
.tl li.frm .k{color:#4a4038; background:var(--sand)}
.chip.on,.pill input:checked+span,.bk-day.on,.pages span,.checks input:checked+span{background:var(--ink); border-color:var(--ink)}
.fl input:focus,.fl select:focus,.fl textarea:focus,.rep-row input:focus{border-color:var(--sc-orange); box-shadow:0 0 0 4px rgba(245,158,11,.18)}
.drop:hover,.drop.over{border-color:var(--sc-orange); background:#fff8ec}
.alert.info{background:#fff3da; color:#8a4b08}
.pin{background:var(--ink)}
.mini{border-color:#f1ebe1}
.need::after{content:""; position:absolute; left:22px; bottom:0; width:0; height:3px; background:var(--sc-orange); transition:width .4s var(--ease)}
.need:hover::after{width:44px}
.need.big::after{display:none}
.rc-cal{background:linear-gradient(180deg,#fcfaf6,#f8f3ec)}
.rc-cal-h b{color:#166534}
.sc-promo{background:linear-gradient(100deg,#f3ebdf,#fde7c0)}
/* grain discret pour un rendu plus « print » */
.hx::before,.band::before,.pf::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.35; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .45 0 0 0 0 .35 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
@media (max-width:640px){ .seal{width:92px; height:92px; right:-6px; top:-30px} .seal text{font-size:8.5px} .hx-trust span{padding:5px 10px} }

/* ================= RESPONSIVE ================= */
@media (max-width:991px){
  .hx .wrap{grid-template-columns:1fr}
  .feed{height:300px} .feed-col{margin-top:10px}
  .hx-band .wrap{grid-template-columns:repeat(2,1fr)}
  .hx-band div:nth-child(3){border-left:0}
  .hx-band div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.08)}
  .needs{grid-template-columns:repeat(2,1fr)}
  .need.big{grid-row:auto; grid-column:span 2}
  .bento{grid-template-columns:1fr 1fr}
  .bx-a{grid-column:span 2; grid-row:auto}
  .bx-b,.bx-c{grid-column:span 1}
  .cities{grid-template-columns:repeat(2,1fr)}
  .how{grid-template-columns:1fr}
  .pro{grid-template-columns:1fr; padding:34px}
  .dir{grid-template-columns:1fr}
  .dir-map{display:none}
  .dir-map.on{display:block; position:fixed; inset:55px 0 0 0; height:auto; border-radius:0; z-index:900}
  .pf-page{grid-template-columns:1fr}
  .bk{position:static}
  .facts{grid-template-columns:1fr 1fr}
  .mbar{display:flex; position:fixed; left:0; right:0; bottom:0; z-index:950; background:#fff; border-top:1px solid #ece4d8; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); gap:12px; align-items:center; box-shadow:0 -10px 30px rgba(28,23,21,.08)}
  .mbar div{flex:1; min-width:0; font-size:13px} .mbar b{display:block; font-size:14.5px}
  .sc-top{bottom:84px}
  .wz-wrap{grid-template-columns:1fr}
  .wz-side{position:static}
  .wz-nav{flex-direction:row; overflow-x:auto}
  .wz-nav li{flex:none; font-size:0; padding:6px} .wz-nav li.on{font-size:14px; padding:6px 12px 6px 6px}
  .tiles{grid-template-columns:1fr 1fr}
  .adm-card{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ss-row{grid-template-columns:1fr}
  .ss-f+.ss-f::before{left:14px; right:14px; top:-2px; bottom:auto; width:auto; height:1px}
  .ss-go{padding:14px; justify-content:center}
  .hx h1{font-size:44px}
  .needs,.cities{grid-template-columns:1fr 1fr}
  .need{min-height:140px; padding:18px}
  .bento{grid-template-columns:1fr}
  .bx-a,.bx-b,.bx-c{grid-column:auto}
  .mini{flex-wrap:wrap} .mini .sl{width:100%} .mini .sl .slot{flex:1}
  .rc-days{grid-template-columns:repeat(3,1fr)} .rc-day:nth-child(n+4){display:none}
  .pf-id{flex-direction:column; align-items:flex-start; gap:18px}
  .ava.lg{--s:104px}
  .row2,.row3,.recap,.cf-rows,.done-steps{grid-template-columns:1fr}
  .rep-row{grid-template-columns:1fr 1fr; } .rep-row input:nth-child(3){grid-column:auto}
  .wz{padding:20px}
  .hr-tbl td:first-child{width:auto}
  .sec{padding:68px 0}
  .tl::before{left:43px} .tl li{grid-template-columns:36px 16px 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important; transition:none !important}
  .rv,.hx-l>*,.feed{opacity:1 !important; transform:none !important}
  .hx h1 .smile svg path{stroke-dashoffset:0}
}
.pf-page>*,.dir>*,.wz-wrap>*,.hx .wrap>*{min-width:0}
.bk-days{min-width:0}
.facts.f3{grid-template-columns:repeat(3,1fr)}
.facts b{overflow-wrap:anywhere}
@media (max-width:640px){ .facts.f3{grid-template-columns:1fr} }
