/* =========================================================
   Ship MTC — système visuel
   Noir et blanc du logo + jaune marquage routier
   ========================================================= */
:root{
  --noir:#000;--asphalte:#17191c;--bitume:#24272b;--ligne:#33373d;--beton:#9aa0a6;--craie:#e9eae6;--blanc:#fff;
  --jaune:#ffcc00;--jaune-2:#ffd633;--rouge:#ff4d3d;--vert:#3ddc84;--bleu:#7cc4ff;--violet:#c69cff;
  --display:"Chakra Petch",system-ui,sans-serif;--texte:"Archivo",system-ui,sans-serif;
  --r:14px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);
  --dash:repeating-linear-gradient(90deg,var(--jaune) 0 18px,transparent 18px 28px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--noir);color:var(--blanc);font-family:var(--texte);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--jaune);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{padding-inline:clamp(18px,5vw,72px)}
.muted{color:var(--beton)}
[hidden]{display:none!important}
h1,h2,h3{text-wrap:balance}

/* ---------- En-tête du site ---------- */
.site-top{position:sticky;top:0;z-index:80;background:rgba(0,0,0,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--bitume);padding-top:var(--safe-t)}
.site-top .bar{display:flex;align-items:center;gap:22px;padding:12px clamp(18px,4vw,48px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand img{width:62px}
.brand span{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.14em;white-space:nowrap}
.nav{display:flex;gap:2px;align-items:center}
.nav a{padding:9px 13px;border-radius:999px;color:var(--beton);text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap}
.nav a:hover{color:var(--blanc)}
.nav a[aria-current="page"]{color:var(--blanc);background:var(--bitume)}
.top-actions{display:flex;gap:8px;align-items:center}
.nav .acct-link{display:none}
.menu-btn{display:none;width:44px;height:44px;border-radius:12px;border:0;background:var(--bitume);place-items:center}
.menu-btn svg{width:22px;height:22px}
@media (max-width:1240px){
  .nav,.top-actions .hide-m{display:none}
  .menu-btn{display:grid}
  .site-top.open .nav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:#000;padding:10px 18px 20px;border-bottom:1px solid var(--bitume)}
  .site-top.open .nav a{padding:14px 12px;font-size:18px;border-radius:12px}
  .site-top.open .nav .acct-link{display:block}
}
@media (max-width:440px){.brand span{display:none}.brand img{width:56px}
}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:var(--r);padding:14px 22px;font-weight:700;font-size:16px;text-decoration:none;transition:transform .15s,background .2s,box-shadow .2s,color .2s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-jaune{background:var(--jaune);color:#000}.btn-jaune:hover{background:var(--jaune-2)}
.btn-blanc{background:#fff;color:#000}
.btn-noir{background:#000;color:#fff}
.btn-ghost{background:transparent;color:var(--blanc);box-shadow:inset 0 0 0 2px var(--ligne)}.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--blanc)}
.btn-rouge{background:transparent;color:var(--rouge);box-shadow:inset 0 0 0 2px rgba(255,77,61,.45)}
.btn-sm{padding:9px 14px;font-size:14px;border-radius:10px}
.btn-xl{padding:18px 28px;font-size:18px;border-radius:16px}
.btn-block{width:100%}
.btn[disabled],.btn.busy{opacity:.5;pointer-events:none}
.btn.busy::after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Formulaires ---------- */
.field{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--craie)}
.field small,.hint{font-weight:400;color:var(--beton);font-size:13px}
.inp{width:100%;background:#000;border:2px solid var(--ligne);border-radius:12px;padding:12px 14px;font-size:16px;color:#fff;transition:border-color .2s}
.inp:focus{outline:none;border-color:var(--jaune)}
.inp.err{border-color:var(--rouge)}
.inp::placeholder{color:#5b6068}
select.inp{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ffcc00' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
textarea.inp{min-height:90px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--craie);cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--jaune);flex:none;margin-top:2px}
.form-err{background:rgba(255,77,61,.12);color:#ffb3aa;border-radius:12px;padding:12px 14px;font-size:14px}
.hp{position:absolute;left:-9999px}

/* Interrupteurs */
.tog{display:flex;gap:14px;align-items:center;background:var(--bitume);border-radius:14px;padding:14px 16px;cursor:pointer;position:relative}
.tog input{position:absolute;opacity:0;pointer-events:none}
.tog .sw{width:48px;height:28px;border-radius:14px;background:#000;position:relative;flex:none;transition:background .2s}
.tog .sw::after{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:var(--beton);transition:transform .2s,background .2s}
.tog input:checked + .sw{background:var(--jaune)}
.tog input:checked + .sw::after{transform:translateX(20px);background:#000}
.tog input:focus-visible + .sw{outline:3px solid var(--jaune);outline-offset:3px}
.tog b{display:block;font-weight:600}
.tog small{color:var(--beton)}
.tog .px{margin-left:auto;color:var(--beton);font-size:14px;white-space:nowrap}
.stepper{display:inline-flex;align-items:center;gap:6px;margin-left:auto}
.stepper button{width:36px;height:36px;border-radius:10px;border:0;background:#000;font-size:20px;font-weight:700}
.stepper output{min-width:30px;text-align:center;font-family:var(--display);font-weight:700;font-size:18px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:2px solid var(--ligne);background:#000;border-radius:999px;padding:8px 15px;font-weight:600;font-size:14px;color:var(--craie)}
.chip[aria-pressed="true"]{border-color:var(--jaune);background:var(--jaune);color:#000}
.seg{display:inline-flex;background:#000;border-radius:11px;padding:3px}
.seg button{border:0;background:none;padding:7px 12px;border-radius:8px;font-weight:600;font-size:14px;color:var(--beton)}
.seg button[aria-pressed="true"]{background:var(--jaune);color:#000}

/* ---------- Pages ---------- */
.page-head{padding:clamp(36px,6vw,72px) clamp(18px,5vw,72px) 16px}
.page-head h1{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(36px,6vw,76px);line-height:.95;margin:0}
.page-head p{color:var(--beton);margin:12px 0 0;max-width:40em;font-size:18px}
.sec{padding:clamp(56px,9vw,120px) clamp(18px,5vw,72px)}
.sec h2,.h2{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(32px,4.6vw,60px);line-height:1;margin:0 0 16px}
.sec .intro{color:var(--beton);font-size:18px;max-width:40em;margin:0 0 44px}
.prose{max-width:760px;padding:0 clamp(18px,5vw,72px) 80px;color:var(--craie)}
.prose h2{font-family:var(--display);font-size:24px;margin:36px 0 8px;color:#fff}
.prose p,.prose li{line-height:1.7}
.prose a{color:var(--jaune)}
.panel{background:var(--asphalte);border-radius:24px;padding:clamp(18px,3vw,30px)}
.card{background:var(--asphalte);border-radius:20px;padding:20px}
.card h3{font-family:var(--display);font-size:19px;font-weight:600;margin:0 0 12px}
.kv{display:grid;gap:8px;font-size:15px}
.kv>div{display:flex;justify-content:space-between;gap:14px}
.kv span{color:var(--beton)}
.kv b{text-align:right}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#000;color:var(--craie);white-space:nowrap}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.st-recue{color:var(--jaune)}.st-confirmee{color:var(--bleu)}.st-assignee{color:var(--violet)}.st-en_route{color:var(--vert)}.st-livree{color:var(--beton)}.st-echec{color:var(--rouge)}.st-annulee{color:#6b7078}
.live-dot{width:10px;height:10px;border-radius:50%;background:var(--vert);flex:none;animation:live 1.6s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(61,220,132,.6)}70%{box-shadow:0 0 0 10px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.empty{text-align:center;color:var(--beton);padding:48px 20px}
.empty img{width:150px;margin:0 auto 18px;opacity:.6}

/* ---------- Pied de page ---------- */
.site-foot{border-top:1px solid var(--bitume);padding:56px clamp(18px,5vw,72px) calc(40px + var(--safe-b));display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:32px;color:var(--beton);font-size:14px}
.site-foot img{width:190px;margin-bottom:14px}
.site-foot h4{color:#fff;font-family:var(--display);font-weight:600;font-size:15px;margin:0 0 12px}
.site-foot a{display:block;text-decoration:none;padding:4px 0}
.site-foot a:hover{color:#fff}
.site-foot .legal{grid-column:1/-1;border-top:1px solid var(--bitume);padding-top:20px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
@media (max-width:860px){.site-foot{grid-template-columns:1fr 1fr}.site-foot>div:first-child{grid-column:1/-1}}

/* ---------- Accueil ---------- */
.hero{position:relative;min-height:calc(100svh - 70px);overflow:hidden;display:grid;align-items:center}
.hero .map-art{position:absolute;inset:0}
.hero .map-art svg{width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.7) 40%,rgba(0,0,0,0) 72%),linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,0) 35%);pointer-events:none}
.hero-in{position:relative;z-index:2;padding:48px clamp(18px,5vw,72px) 64px;max-width:780px}
.hero h1{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(46px,7.6vw,108px);line-height:.92;margin:0 0 20px}
.hero h1 .l2{display:block;-webkit-text-stroke:2px #fff;color:transparent}
.hero p.lead{font-size:clamp(17px,1.6vw,20px);color:var(--craie);max-width:34em;margin:0 0 26px}
.quick{background:#fff;color:#000;border-radius:22px;padding:10px;display:grid;grid-template-columns:1fr 1fr auto;gap:8px;max-width:720px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.quick label{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:#f2f2ef;position:relative}
.quick label i{width:12px;height:12px;border-radius:50%;flex:none;border:3px solid #000}
.quick label:first-child i{background:var(--jaune)}
.quick input{border:0;background:none;font-size:16px;width:100%;color:#000;padding:8px 0;outline:none}
.quick .btn{border-radius:14px}
@media (max-width:760px){.quick{grid-template-columns:1fr}.hero::after{background:linear-gradient(0deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.78) 55%,rgba(0,0,0,.2) 85%)}.hero{align-items:end}.hero h1 .l2{-webkit-text-stroke:1.5px #fff}}
.trust{display:flex;flex-wrap:wrap;gap:22px;margin-top:22px;color:var(--beton);font-size:14px}
.trust b{color:#fff}
.marquee{border-block:1px solid var(--bitume);overflow:hidden;padding:18px 0}
.marquee-track{display:flex;gap:48px;width:max-content;animation:defile 40s linear infinite}
.marquee span{font-family:var(--display);font-weight:700;font-size:clamp(32px,5vw,62px);text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px #4b5058;white-space:nowrap;display:flex;align-items:center;gap:48px}
.marquee span::after{content:"";width:60px;height:6px;background:var(--dash)}
.marquee span.plein{color:#fff;-webkit-text-stroke:0}
@keyframes defile{to{transform:translateX(-50%)}}
.vehicles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1100px){.vehicles{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.vehicles{grid-template-columns:1fr}}
.veh{background:var(--asphalte);border-radius:22px;padding:22px;display:grid;gap:10px;align-content:start}
.veh svg{width:100%;height:84px}
.veh h3{font-family:var(--display);font-size:22px;margin:0}
.veh .from{font-family:var(--display);font-size:15px;color:var(--jaune);font-weight:600}
.veh ul{margin:0;padding:0;list-style:none;color:var(--beton);font-size:14px;display:grid;gap:4px}
.road{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-top:56px}
.road::before{content:"";position:absolute;left:0;right:0;top:22px;height:44px;background:var(--asphalte);border-radius:22px}
.road::after{content:"";position:absolute;left:22px;right:22px;top:42px;height:4px;background:repeating-linear-gradient(90deg,var(--jaune) 0 26px,transparent 26px 44px);background-size:44px 4px;animation:roule 1.2s linear infinite}
@keyframes roule{to{background-position:44px 0}}
.step{position:relative;z-index:1}
.step .num{width:64px;height:64px;margin-top:-54px;margin-bottom:20px;border-radius:50%;background:#000;border:3px solid var(--jaune);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:24px;color:var(--jaune)}
.step h3{font-family:var(--display);font-size:22px;font-weight:600;margin:0 0 8px}
.step p{color:var(--beton);margin:0}
@media (max-width:900px){
  .road{grid-template-columns:1fr;padding:0 0 0 72px;gap:36px}
  .road::before{left:0;right:auto;top:0;bottom:0;width:44px;height:auto}
  .road::after{left:20px;right:auto;top:20px;bottom:20px;width:4px;height:auto;background:repeating-linear-gradient(180deg,var(--jaune) 0 26px,transparent 26px 44px);background-size:4px 44px;animation:roule-v 1.2s linear infinite}
  .step .num{position:absolute;left:-82px;top:-6px;margin:0}
}
@keyframes roule-v{to{background-position:0 44px}}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.feat{grid-template-columns:1fr}}
.feat article{border-top:4px solid var(--jaune);padding-top:18px}
.feat h3{font-family:var(--display);font-size:22px;margin:0 0 8px}
.feat p{color:var(--beton);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.phone{width:min(340px,100%);margin:auto;border-radius:44px;background:#111;padding:10px;box-shadow:0 30px 80px rgba(255,204,0,.08)}
.phone .screen{border-radius:36px;overflow:hidden;background:#000;aspect-ratio:9/18;position:relative}
.lourd{background:var(--jaune);color:#000;border-radius:28px;padding:clamp(28px,4vw,48px);position:relative;overflow:hidden}
.lourd h3{font-family:var(--display);font-weight:700;font-size:clamp(30px,3.6vw,46px);line-height:1;margin:0 0 14px;text-transform:uppercase}
.lourd p{margin:0 0 24px;font-size:17px;max-width:26em}
.lourd img{position:absolute;right:-40px;bottom:-10px;width:300px;opacity:.14}
.faq details{border-bottom:1px solid var(--bitume);padding:6px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-family:var(--display);font-size:20px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--jaune);font-size:28px;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--beton);margin:0 0 18px;max-width:46em}
.cta-band{margin:0 clamp(18px,5vw,72px) clamp(56px,8vw,96px);border-radius:32px;background:var(--asphalte);padding:clamp(32px,6vw,72px);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.cta-band h2{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(28px,4vw,52px);line-height:1;text-transform:uppercase}
.cta-band::before{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--dash)}

/* ---------- Carte stylisée (SVG) ---------- */
.map-art .land{fill:var(--asphalte)}
.map-art .street{stroke:#23262a;stroke-width:1}
.map-art .artere{stroke:#2e3238;stroke-width:2.2}
.map-art .lbl{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.3em;fill:#4b5058}
.map-art .route-bg{fill:none;stroke:rgba(255,204,0,.14);stroke-width:12;stroke-linejoin:round;stroke-linecap:round}
.map-art .route{fill:none;stroke:var(--jaune);stroke-width:3.5;stroke-dasharray:14 10;stroke-linejoin:round;stroke-linecap:round}
.map-art .stop circle{fill:#000;stroke:#fff;stroke-width:3}
.map-art .stop.pick circle{stroke:var(--jaune)}
.map-art .stop.done circle{fill:var(--jaune);stroke:var(--jaune)}
.map-art .stop text{font-family:var(--display);font-weight:700;font-size:14px;fill:#fff;text-anchor:middle;dominant-baseline:central}
.map-art .stop.done text{fill:#000}
.map-art .pulse{fill:var(--jaune);opacity:.25;transform-box:fill-box;transform-origin:center;animation:pulse 1.8s ease-out infinite}
@keyframes pulse{from{transform:scale(.4);opacity:.5}to{transform:scale(2.2);opacity:0}}

/* ---------- Carte Leaflet ---------- */
.lmap{background:#0b0c0e;border-radius:24px;overflow:hidden;position:relative;border:1px solid var(--bitume);min-height:300px}
.lmap .leaflet-container{background:#0b0c0e;font-family:var(--texte);height:100%;width:100%}
.lmap .leaflet-tile-pane{filter:grayscale(1) invert(1) brightness(.85) contrast(.92)}
.leaflet-control-attribution{background:rgba(0,0,0,.6)!important;color:#888!important;font-size:10px!important}
.leaflet-control-attribution a{color:#aaa!important}
.leaflet-bar a{background:#000!important;color:#fff!important;border-color:var(--ligne)!important}
.pin{width:34px;height:34px;border-radius:50%;background:#000;border:3px solid var(--jaune);color:var(--jaune);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:14px;box-shadow:0 4px 14px rgba(0,0,0,.6)}
.pin.L{border-color:#fff;color:#fff}
.pin.done{background:var(--jaune);color:#000;border-color:var(--jaune)}
.pin.fail{border-color:var(--rouge);color:var(--rouge)}
.ant-mk{position:relative;width:74px;height:40px}
.ant-mk::before{content:"";position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(255,204,0,.28);animation:pulse 1.8s ease-out infinite}
.ant-mk img{position:relative;width:74px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.8));transition:transform .4s}
.drv-mk{width:40px;height:40px;border-radius:50%;background:var(--jaune);color:#000;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:13px;border:3px solid #000;box-shadow:0 0 0 3px var(--jaune)}
.drv-mk.off{background:var(--ligne);color:#fff;box-shadow:0 0 0 3px var(--ligne)}
.map-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--beton);text-align:center;padding:20px}
.map-badge{position:absolute;left:14px;top:14px;z-index:500;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);border-radius:14px;padding:10px 14px;display:flex;gap:10px;align-items:center;font-weight:600;font-size:14px}

/* ---------- Réservation ---------- */
.book{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:24px;padding:16px clamp(18px,5vw,72px) 80px;align-items:start}
.book-side{position:sticky;top:86px;display:grid;gap:16px}
.book-side .lmap{height:min(46vh,460px)}
@media (max-width:1060px){.book{grid-template-columns:1fr}.book-side{position:static}.book-side .lmap{height:300px}}
.progress{display:flex;gap:6px;margin-bottom:26px}
.progress button{flex:1;border:0;background:none;padding:0 0 10px;text-align:left;color:var(--beton);font-weight:600;font-size:14px;position:relative}
.progress button::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:2px;background:var(--bitume)}
.progress button.fait::after{background:var(--jaune)}
.progress button.actif{color:#fff}
.progress button.actif::after{background:repeating-linear-gradient(90deg,var(--jaune) 0 14px,var(--bitume) 14px 22px);background-size:22px 4px;animation:roule .9s linear infinite reverse}
.progress small{display:block;font-family:var(--display);opacity:.7}
@media (max-width:600px){.progress button span{display:none}}
.etape{display:none}
.etape.on{display:block;animation:entre .35s ease}
@keyframes entre{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.etape h2{font-family:var(--display);font-weight:600;font-size:26px;margin:0 0 6px}
.etape .aide{color:var(--beton);margin:0 0 22px}
.stops{display:flex;flex-direction:column;gap:12px}
.stopcard{display:grid;grid-template-columns:42px 1fr;gap:12px}
.stopcard .rail{display:flex;flex-direction:column;align-items:center}
.stopcard .pin{flex:none}
.stopcard .rail i{flex:1;width:4px;margin-top:6px;background:repeating-linear-gradient(180deg,var(--jaune) 0 10px,transparent 10px 18px)}
.stopcard:last-child .rail i{display:none}
.stopbody{background:var(--bitume);border-radius:18px;padding:14px;display:grid;gap:10px}
.stophead{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.stophead .tools{margin-left:auto;display:flex;gap:4px}
.icon-btn{width:36px;height:36px;border-radius:10px;border:0;background:#000;color:var(--craie);display:grid;place-items:center}
.icon-btn:hover{color:var(--jaune)}
.icon-btn svg{width:18px;height:18px}
.icon-btn[disabled]{opacity:.3}
.more{font-size:14px;color:var(--beton);background:none;border:0;padding:0;text-align:left;text-decoration:underline}
.ac{position:relative}
.ac-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;background:#fff;color:#000;border-radius:14px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.6);max-height:300px;overflow-y:auto}
.ac-list button{display:block;width:100%;text-align:left;border:0;background:none;padding:12px 14px;font-size:15px;border-bottom:1px solid #eee;color:#000}
.ac-list button small{display:block;color:#666;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-list button:hover,.ac-list button.on{background:#fff5cc}
.stopbody .inp[data-addr]{padding-right:34px}
.ac-ok{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--vert);font-weight:700;pointer-events:none}
.row-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.veh-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (max-width:600px){.veh-pick{grid-template-columns:1fr}}
.veh-opt{border:2px solid var(--ligne);background:#000;border-radius:18px;padding:16px;text-align:left;display:grid;gap:4px}
.veh-opt b{font-family:var(--display);font-size:19px}
.veh-opt small{color:var(--beton)}
.veh-opt .p{color:var(--jaune);font-weight:700;margin-top:6px}
.veh-opt[aria-pressed="true"]{border-color:var(--jaune);box-shadow:inset 0 0 0 1px var(--jaune)}
.veh-opt .rec{justify-self:start;background:var(--jaune);color:#000;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:700}
.poids-val{font-family:var(--display);font-size:38px;font-weight:700;line-height:1}
.poids-val small{font-size:16px;color:var(--beton);font-weight:500;margin-left:6px}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--jaune) var(--p,10%),#000 var(--p,10%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:#fff;border:4px solid var(--jaune)}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:4px solid var(--jaune)}
.speeds{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:600px){.speeds{grid-template-columns:1fr}}
.when{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.estim{background:#fff;color:#000;border-radius:24px;padding:24px;position:relative;overflow:hidden}
.estim h3{font-family:var(--display);font-weight:600;font-size:17px;margin:0}
.estim .total{font-family:var(--display);font-weight:700;font-size:52px;line-height:1;margin:6px 0 2px;font-variant-numeric:tabular-nums}
.estim .sub{color:#5d6168;font-size:14px}
.estim ul{list-style:none;margin:16px 0 0;padding:0;border-top:2px dashed #d5d6d2}
.estim li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;border-bottom:1px solid #ecece8}
.estim li span:last-child{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.estim .note{font-size:12.5px;color:#5d6168;margin:12px 0 0}
.estim .warn{background:#fff1ee;color:#a32313;border-radius:10px;padding:10px 12px;font-size:13px;margin-top:10px}
.bump{animation:bump .35s ease}
@keyframes bump{40%{transform:scale(1.06)}}
.estim-bar{display:none}
@media (max-width:1060px){
  .estim-bar{display:flex;position:fixed;left:10px;right:10px;bottom:calc(10px + var(--safe-b));z-index:70;background:#fff;color:#000;border-radius:18px;padding:12px 16px;box-shadow:0 10px 40px rgba(0,0,0,.6);align-items:center;justify-content:space-between;gap:12px}
  .estim-bar b{font-family:var(--display);font-size:26px}
  .estim-bar small{display:block;color:#5d6168;font-size:12px}
  body.booking{padding-bottom:90px}
}
.nav-etapes{display:flex;justify-content:space-between;gap:12px;margin-top:26px}
.pay{display:grid;gap:10px}
.pay label{display:flex;gap:12px;align-items:center;border:2px solid var(--ligne);border-radius:16px;padding:14px 16px;cursor:pointer}
.pay label:has(input:checked){border-color:var(--jaune)}
.pay input{accent-color:var(--jaune);width:20px;height:20px}
.pay small{display:block;color:var(--beton)}

/* ---------- Confirmation ---------- */
.confirm{max-width:720px;margin:0 auto;padding:clamp(36px,7vw,80px) 20px;text-align:center}
.confirm .hop{width:220px;margin:0 auto 22px;animation:hop 1s ease-in-out infinite alternate}
@keyframes hop{to{transform:translate(14px,-6px)}}
.confirm h1{font-family:var(--display);font-weight:700;font-size:clamp(34px,5vw,56px);text-transform:uppercase;margin:0 0 10px;line-height:1}
.code{display:inline-block;font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:.08em;background:var(--jaune);color:#000;padding:8px 18px;border-radius:12px;margin:10px 0 20px}

/* ---------- Suivi ---------- */
.track{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:20px;padding:12px clamp(18px,5vw,72px) 72px}
.track .lmap{height:min(70vh,640px)}
@media (max-width:1060px){.track{grid-template-columns:1fr}.track .lmap{height:56vh}}
.side{display:grid;gap:14px;align-content:start}
.eta{background:var(--jaune);color:#000;border-radius:24px;padding:20px 22px}
.eta small{font-weight:600}
.eta b{display:block;font-family:var(--display);font-size:44px;line-height:1.05;font-weight:700}
.eta .barre{height:8px;background:rgba(0,0,0,.15);border-radius:4px;margin-top:14px;overflow:hidden}
.eta .barre i{display:block;height:100%;background:#000;border-radius:4px;transition:width .8s ease}
.who{display:flex;gap:14px;align-items:center;background:var(--asphalte);border-radius:20px;padding:16px}
.avatar{width:50px;height:50px;border-radius:50%;background:var(--bitume);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:17px;color:var(--jaune);flex:none;border:2px solid var(--jaune)}
.who small{display:block;color:var(--beton)}
.timeline{background:var(--asphalte);border-radius:20px;padding:18px 18px 4px}
.tl{display:grid;grid-template-columns:28px 1fr;gap:12px;padding-bottom:16px;position:relative}
.tl::before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--ligne)}
.tl:last-child::before{display:none}
.tl.fait::before{background:var(--jaune)}
.tl .dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--ligne);display:grid;place-items:center;font-family:var(--display);font-size:12px;font-weight:700;background:#000;position:relative;z-index:1}
.tl.fait .dot{background:var(--jaune);border-color:var(--jaune);color:#000}
.tl.encours .dot{border-color:var(--jaune);color:var(--jaune)}
.tl.rate .dot{border-color:var(--rouge);color:var(--rouge)}
.tl b{display:block;font-size:15px}
.tl small{color:var(--beton);display:block}
.pod{display:flex;gap:8px;margin-top:8px}
.pod a{display:block;width:84px;height:84px;border-radius:12px;overflow:hidden;background:#fff}
.pod img{width:100%;height:100%;object-fit:cover}
.stars{display:flex;gap:6px}
.stars button{border:0;background:none;font-size:34px;line-height:1;color:var(--ligne);padding:0}
.stars button.on{color:var(--jaune)}
.lookup{display:grid;grid-template-columns:1fr 160px auto;gap:10px;max-width:640px;margin-top:22px}
@media (max-width:640px){.lookup{grid-template-columns:1fr}}

/* ---------- Compte ---------- */
.auth{max-width:460px;margin:0 auto;padding:clamp(36px,6vw,72px) 18px}
.auth h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(32px,5vw,48px);margin:0 0 20px;line-height:1}
.orders{display:grid;gap:10px}
.ord{display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:center;background:var(--asphalte);border-radius:18px;padding:16px 18px}
.ord .c{font-family:var(--display);font-weight:700;letter-spacing:.04em;font-size:18px}
.ord .acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}

/* ---------- Modale, toast ---------- */
.modal{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.72);display:grid;place-items:end center;padding:0}
.modal>div{background:var(--asphalte);width:min(560px,100%);max-height:92vh;overflow:auto;border-radius:24px 24px 0 0;padding:22px 20px calc(22px + var(--safe-b));animation:monte .25s ease}
@media (min-width:700px){.modal{place-items:center}.modal>div{border-radius:24px}}
@keyframes monte{from{transform:translateY(40px);opacity:0}}
.modal h2{font-family:var(--display);font-size:24px;margin:0 0 14px}
.toast{position:fixed;left:50%;bottom:calc(110px + var(--safe-b));transform:translate(-50%,20px);background:#fff;color:#000;padding:12px 18px;border-radius:14px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:2100;max-width:92vw;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast.err{background:var(--rouge);color:#fff}
@media (min-width:1061px){.toast{bottom:28px}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;scroll-behavior:auto!important}}

.acct-offer{text-align:left;margin-top:8px;border:2px solid var(--jaune)}
.acct-offer h2{font-family:var(--display);font-size:24px;margin:0 0 6px}
.acct-mini{border-left:4px solid var(--jaune)}

/* Choix de la langue */
.lang-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:36px;padding:0 10px;border:1.5px solid rgba(255,255,255,.25);border-radius:999px;color:var(--blanc,#fff);font-weight:800;font-size:13px;letter-spacing:.06em;text-decoration:none}
.lang-btn:hover{border-color:var(--jaune);color:var(--jaune)}
.nav .lang-link{display:none}


/* Réservation guidée : type de livraison */
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.cat{border:2px solid var(--ligne);background:#000;border-radius:18px;padding:16px 14px;text-align:left;display:grid;gap:4px;align-content:start;color:var(--craie);cursor:pointer;transition:border-color .15s,transform .15s}
.cat:hover{border-color:#555;transform:translateY(-1px)}
.cat .ic{font-size:26px;line-height:1}
.cat b{font-family:var(--display);font-size:17px;margin-top:6px}
.cat small{color:var(--beton);font-size:13px;line-height:1.35}
.cat[aria-pressed="true"]{border-color:var(--jaune);background:#151100;box-shadow:inset 0 0 0 1px var(--jaune)}
.qs{display:grid;gap:22px;margin-top:22px;padding-top:22px;border-top:1px solid var(--ligne)}
.q .field{margin-bottom:10px}
.qopts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.qopt{border:2px solid var(--ligne);background:#000;border-radius:14px;padding:12px;text-align:left;display:grid;gap:2px;color:var(--craie);cursor:pointer}
.qopt b{font-size:15px}
.qopt small{color:var(--beton);font-size:12.5px}
.qopt[aria-pressed="true"]{border-color:var(--jaune);background:var(--jaune);color:#000}
.qopt[aria-pressed="true"] small{color:#3a3000}
.stepper.big{display:inline-flex;align-items:center;gap:8px}
.stepper.big .inp{width:110px;text-align:center;font-family:var(--display);font-size:22px;font-weight:700;padding:10px}
.stepper.big button{width:48px;height:48px;font-size:22px}
.estim-box{border:2px solid var(--jaune);border-radius:18px;padding:16px 18px;margin-bottom:18px;display:grid;gap:8px;background:#0d0b00}
.estim-box:empty{display:none}
.estim-box .eb-row{display:flex;justify-content:space-between;gap:12px}
.estim-box .eb-row span,.estim-box .eb-opts>span{color:var(--beton)}
.estim-box .eb-row b{font-family:var(--display);font-size:18px}
.estim-box .eb-opts{display:grid;gap:6px}
.estim-box .eb-opts div{display:flex;flex-wrap:wrap;gap:6px}
.estim-box .note{margin:2px 0 0;color:var(--beton);font-size:13px}
.adjust{border:1px solid var(--ligne);border-radius:16px;padding:12px 16px}
.adjust summary{cursor:pointer;font-weight:700}
@media (max-width:640px){.cats{grid-template-columns:1fr 1fr}.cat{padding:12px}.cat small{display:none}}
.estim-box .tag{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700;background:var(--jaune);color:#000}
.stepper.big{margin-left:0}
.stepper.big button{border:2px solid var(--ligne);color:var(--craie);border-radius:12px}
a.cat{text-decoration:none}
.home-cats{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.home-cats .cat{padding:20px 18px}
.home-cats .cat b{font-size:19px}
@media (max-width:640px){.home-cats{grid-template-columns:1fr 1fr;gap:8px}.home-cats .cat{padding:14px 12px}.home-cats .cat b{font-size:16px}.home-cats .cat small{display:block;font-size:12px}}

/* ===================== Version téléphone ===================== */
html,body{overflow-x:clip}
@media (max-width:980px){
  .site-top.open .nav{height:calc(100dvh - 100%);height:calc(100dvh - 64px);overflow:auto;gap:2px;padding-bottom:calc(30px + var(--safe-b))}
  .site-top.open .nav a{border-bottom:1px solid var(--bitume);border-radius:0}
  body.booking .top-actions .btn-jaune{display:none}
}
@media (max-width:1060px){
  /* Réservation : barre du bas avec prix + bouton, comme une app */
  .nav-etapes{display:none}
  .book{padding-bottom:130px}
  .book-side{display:none}
  .estim-bar{left:0;right:0;bottom:0;border-radius:20px 20px 0 0;padding:10px 12px calc(10px + var(--safe-b));gap:10px;box-shadow:0 -8px 30px rgba(0,0,0,.55)}
  .estim-bar .eb-back{width:46px;height:46px;flex:none;border-radius:14px;border:2px solid #e2e2dd;background:#fff;color:#000;display:grid;place-items:center}
  .estim-bar .eb-back svg{width:20px;height:20px}
  .estim-bar .eb-price{flex:1;min-width:0;text-align:left;background:none;border:0;color:#000;padding:0;display:grid;line-height:1.1}
  .estim-bar .eb-price b{font-family:var(--display);font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .estim-bar .eb-price small{color:#5d6168;font-size:12px;text-decoration:underline;text-underline-offset:2px}
  .estim-bar .eb-next{flex:none;height:46px;padding:0 20px;font-size:16px}
  .etape[data-e="1"] #bmap{margin:0 0 14px}
  .etape[data-e="1"] #bmap.lmap,.etape[data-e="1"] .lmap{height:190px;min-height:0;border-radius:16px}
  .estim.sheet{box-shadow:none;padding:4px 0 10px}
  /* Suivi */
  .track .lmap{height:300px;min-height:0}
}
@media (max-width:640px){
  .page-head{padding-top:26px;padding-bottom:14px}
  .page-head h1{font-size:clamp(30px,9vw,44px)}
  .panel{padding:18px 14px;border-radius:20px}
  .book{padding-left:10px;padding-right:10px}
  .etape h2{font-size:24px}
  .icon-btn{width:32px;height:32px}
  .stophead .seg button{padding:7px 10px;font-size:13px}
  #lookup-view .split img{display:none}
  .track{padding-left:12px;padding-right:12px}
  /* Pied de page compact */
  .site-foot{padding:34px 18px calc(28px + var(--safe-b));gap:22px 16px;font-size:14px}
  .site-foot img{width:120px}
  .site-foot .legal{flex-direction:column;gap:6px;text-align:center}
  .sec{padding-top:48px;padding-bottom:48px}
}
@media (max-width:1060px){
  .modal .estim.sheet{padding:18px 16px 6px;background:#fff;color:#000;border-radius:18px}
  /* Suivi : statut et livreur avant la carte */
  .track{display:flex;flex-direction:column;gap:14px}
  .track .side{display:contents}
  .track>div:first-child{order:3}
  .track .eta{order:1}
  .track .who{order:2}
  .track .side>*:not(.eta):not(.who){order:4}
}

/* Adresses récentes dans les suggestions */
.ac-list .ac-head{padding:9px 14px 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#777;background:#f6f6f4;border-bottom:1px solid #eee}
.quick-est{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:6px 8px 4px;color:#333;font-size:14px}
.quick-est b{font-size:22px;color:#000}
.quick-est .muted{color:#777}
/* Réservation sur mobile : une fois commencée, le titre se fait discret pour laisser la place au formulaire */
@media (max-width:760px){
  body.flow-on .page-head{padding-top:14px;padding-bottom:6px}
  body.flow-on .page-head h1{font-size:20px}
  body.flow-on .page-head p{display:none}
}
@media (max-width:760px){.quick .quick-est{order:3;padding-top:2px}.quick .btn{order:4}}

/* Pourquoi Ship MTC */
.why .why-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 26px}
.why .why-stats div{border:1px solid var(--bitume);border-radius:18px;padding:18px 20px;background:#0b0b0b}
.why .why-stats b{display:block;font-family:var(--display);font-size:clamp(34px,5vw,56px);line-height:1;color:var(--jaune);text-transform:uppercase}
.why .why-stats span{color:var(--beton);font-size:14px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.why-grid article{border:1px solid var(--bitume);border-radius:18px;padding:20px;background:#0b0b0b}
.why-grid i{font-style:normal;font-weight:800;font-size:13px;color:var(--jaune);letter-spacing:.08em}
.why-grid h3{margin:8px 0 6px;font-size:18px}
.why-grid p{margin:0;color:var(--beton);font-size:15px;line-height:1.5}
@media (max-width:900px){.why-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.why .why-stats{grid-template-columns:1fr;gap:8px}.why .why-stats div{display:flex;align-items:baseline;gap:12px;padding:14px 16px}.why .why-stats b{font-size:34px;flex:none;min-width:4.2em}.why-grid{grid-template-columns:1fr}}

/* Avis clients */
.reviews .rev-avg{color:var(--jaune);font-size:22px;margin-right:6px}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rev{margin:0;border:1px solid var(--bitume);border-radius:18px;padding:20px;background:#0b0b0b;display:flex;flex-direction:column;gap:10px}
.rev-stars{color:var(--jaune);letter-spacing:2px;font-size:18px}
.rev blockquote{margin:0;font-size:16px;line-height:1.5}
.rev figcaption{color:var(--beton);font-size:14px;margin-top:auto}
@media (max-width:900px){.rev-grid{grid-template-columns:1fr}}
.rev-ex{position:relative;border-style:dashed}
.rev-tag{position:absolute;top:14px;right:14px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#000;background:var(--jaune);border-radius:999px;padding:3px 9px}
.why-sub{font-family:var(--display);text-transform:uppercase;font-size:clamp(22px,3vw,30px);margin:46px 0 16px;letter-spacing:.01em}
.why .reviews .intro{margin-top:-6px}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.exp-grid article{border:1px solid var(--bitume);border-radius:18px;padding:20px;background:linear-gradient(160deg,#141414,#0b0b0b)}
.exp-grid span{font-size:26px}
.exp-grid h4{margin:10px 0 6px;font-size:17px}
.exp-grid p{margin:0;color:var(--beton);font-size:15px;line-height:1.5}
@media (max-width:900px){.exp-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.exp-grid{grid-template-columns:1fr}}
.why{scroll-margin-top:76px}
@media (min-width:1241px) and (max-width:1480px){.nav a{padding:9px 9px;font-size:14px}.brand span{display:none}.site-top .bar{gap:14px}}
/* Livreur en direct (style Uber Eats) : pastille noire, flèche blanche orientée, halo jaune */
.car-mk{position:relative;width:44px;height:44px}
.car-mk .halo{position:absolute;inset:0;border-radius:50%;background:rgba(255,204,0,.35);animation:carpulse 2s ease-out infinite}
.car-mk .dot{position:absolute;left:8px;top:8px;width:28px;height:28px;border-radius:50%;background:#111;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.45);display:grid;place-items:center}
.car-mk svg{width:15px;height:15px;fill:#ffcc00;transform:rotate(var(--hd,0deg));transition:transform .6s ease}
.car-mk.nohd svg{display:none}
.car-mk.nohd .dot::after{content:"";width:9px;height:9px;border-radius:50%;background:#ffcc00}
@keyframes carpulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.6);opacity:0}}
/* Mes routes (compte client) */
.rt-empty{border:2px dashed var(--jaune);border-radius:20px;padding:22px;display:grid;gap:8px;justify-items:start}
.rt-empty b{font-size:19px}.rt-empty p{margin:0 0 6px;color:var(--beton)}
.rt-list{display:grid;gap:12px}
.rt-card{background:var(--asphalte);border-radius:20px;padding:18px;display:grid;gap:10px}
.rt-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.rt-top small{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--beton)}
.rt-top b{font-family:var(--display);font-size:26px;line-height:1.1}
.rt-kind{font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:99px;background:rgba(127,127,127,.15)}
.rt-kind.fix{background:var(--jaune);color:#000}
.rt-meta{margin:0;font-size:14px;color:var(--beton)}
.rt-st{font-size:14px;font-weight:600}.rt-st.ok{color:#1f9d63}.rt-st.wait{color:#b7791f}
.rt-acts{display:flex;gap:8px;flex-wrap:wrap}
.rt-recent{display:grid;gap:4px;border-top:1px solid rgba(127,127,127,.2);padding-top:8px}
.rt-recent a{font-size:13.5px;color:inherit;text-decoration:none}
.rt-form{display:grid;gap:14px}
.rt-q{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start}
.rt-q .n{width:28px;height:28px;border-radius:50%;background:var(--jaune);color:#000;font-weight:800;display:grid;place-items:center;margin-top:2px}
.rt-choice{display:grid;gap:8px;margin-top:8px}
.rt-choice label{display:flex;gap:10px;align-items:flex-start;border:2px solid rgba(127,127,127,.3);border-radius:14px;padding:12px;cursor:pointer}
.rt-choice label:has(input:checked){border-color:var(--jaune);background:rgba(255,204,0,.08)}
.rt-choice b{display:block}.rt-choice small{display:block;color:var(--beton);font-weight:400}
.rt-choice input{margin-top:4px;accent-color:#ffcc00}
.rt-days{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rt-days label{cursor:pointer}.rt-days input{position:absolute;opacity:0;pointer-events:none}
.rt-days span{display:inline-block;padding:8px 12px;border-radius:99px;border:2px solid rgba(127,127,127,.3);font-weight:700;font-size:14px}
.rt-days input:checked+span{background:var(--jaune);border-color:var(--jaune);color:#000}
.rt-days input:focus-visible+span{outline:2px solid var(--jaune);outline-offset:2px}
.rt-more summary{cursor:pointer;font-weight:600;font-size:14px}
.rt-stops{margin:0 0 12px;padding-left:20px;max-height:220px;overflow:auto;font-size:14px;display:grid;gap:3px}
.rt-pending{border:2px solid var(--jaune);border-radius:20px;padding:20px;display:grid;gap:6px}
.rt-pending b{font-size:18px}.rt-pending p{margin:0;color:var(--beton)}
.rt-money{display:flex;align-items:center;gap:10px}.rt-money .inp{max-width:140px}.rt-money span{font-size:14px;color:var(--beton)}
/* Consignes et photos par adresse (compte client) */
.stop-x{display:grid;gap:10px;margin-top:8px;max-height:420px;overflow:auto;padding-right:4px}
.sx{display:grid;gap:6px;border:1px solid rgba(127,127,127,.25);border-radius:14px;padding:10px}
.sx-a{display:flex;gap:8px;align-items:center;font-weight:600;font-size:14px}
.sx-a .n{flex:none;width:22px;height:22px;border-radius:50%;background:var(--jaune);color:#000;font-size:12px;font-weight:800;display:grid;place-items:center}
.sx-p{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sx-p img{width:56px;height:56px;object-fit:cover;border-radius:10px}
.sx-p label.btn{cursor:pointer}
.sx-ok{color:#1f9d63;font-weight:800}
/* Éditeur d'adresses par livraison (espace client) */
.rt-tag{display:inline-block;width:fit-content;justify-self:start;font-size:11px;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:var(--jaune);color:#000;margin-right:4px}
.rt-tag.liv{background:#1f9d63;color:#fff}
.se{display:grid;gap:10px;margin-top:8px}
.se-list{display:grid;gap:10px}
.se-row{display:grid;gap:8px;padding:12px;border:1px solid var(--ligne);border-radius:14px;background:var(--bitume);min-width:0}
.se-h{display:flex;align-items:center;gap:8px;font-size:14px}
.se-h .n{flex:none;width:24px;height:24px;border-radius:50%;background:#1f9d63;color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center}
.se-tools{margin-left:auto;display:flex;gap:4px}
.se-tools button{width:32px;height:32px;border-radius:9px;border:1px solid var(--ligne);background:var(--asphalte);color:var(--blanc);font-size:15px;cursor:pointer}
.se-in{position:relative}
.se-ok{color:#1f9d63;font-weight:700;font-size:12.5px;line-height:1.3;overflow-wrap:anywhere}
.se-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}
.seg{display:inline-flex;border:1px solid var(--ligne);border-radius:10px;overflow:hidden}
.seg button{border:0;background:var(--asphalte);color:var(--blanc);padding:8px 16px;font-weight:700;font-size:14px;cursor:pointer}
.seg button+button{border-left:1px solid var(--ligne)}
.seg button[aria-pressed="true"]{background:var(--jaune);color:#000}
.se-ref{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}
.se-ref img{width:52px;height:52px;object-fit:cover;border-radius:10px}
.se-ref label.more{cursor:pointer}
.se-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.se-paste{display:grid;gap:8px}
.se-row.R{border-color:var(--jaune);background:color-mix(in srgb,var(--jaune) 10%,var(--bitume))}
.se-row.R .se-h .n{background:var(--jaune);color:#000}
.se-ty{width:100%}.se-ty button{flex:1;padding:9px 8px}
