/* DC Booking — formulaires publics (réservation, devis, suivi) */
.dcb-root{
  --g:#00BF63;--gd:#00994F;--gm:#E6F9EF;--ink:#0B1220;--tx:#4A5260;--mut:#8A93A3;--line:#E4E8EF;--soft:#F5F7FA;--err:#D93A3A;--warn:#F2A63B;
  --r:14px;--fh:"Saira",system-ui,sans-serif;--fb:"Roboto",system-ui,sans-serif;
  container-type:inline-size;font-family:var(--fb);color:var(--ink);text-align:left;line-height:1.45;width:100%;
}
.dcb-root *,.dcb-root *::before,.dcb-root *::after{box-sizing:border-box}
.dcb-root [hidden]{display:none!important}
/* neutralise les styles de boutons et champs du thème */
body .dcb-root button,body .dcb-root button:hover,body .dcb-root button:focus,body .dcb-root button:active{
  background:transparent;color:inherit;border:0;border-radius:0;padding:0;margin:0;font:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;text-decoration:none;min-height:0;line-height:inherit;cursor:pointer;width:auto;transition:none}
body .dcb-root button:disabled{cursor:default}
.dcb-root .dcb-ico{display:inline-flex;width:18px;height:18px;flex:0 0 auto;align-items:center;justify-content:center}
.dcb-root .dcb-ico svg{width:100%;height:100%;display:block}
.dcb-root .dcb-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* ---------------------------------------------------------------- carte principale */
.dcb-root .dcb-bk,.dcb-root .dcb-q,.dcb-root .dcb-card{background:#fff;border-radius:22px;box-shadow:0 30px 60px -30px rgba(5,10,21,.35),0 0 0 1px rgba(5,10,21,.05);padding:22px}
.dcb-root .dcb-bk{display:flex;flex-direction:column;gap:18px}
@container (min-width:560px){.dcb-root .dcb-bk,.dcb-root .dcb-q,.dcb-root .dcb-card{padding:28px}}
.dc-pop-form .dcb-root .dcb-bk,.dc-pop-form .dcb-root .dcb-q{box-shadow:none;padding:4px}

/* chargement */
.dcb-root .dcb-skeleton{display:grid;gap:12px;padding:24px;background:#fff;border-radius:22px;box-shadow:0 0 0 1px rgba(5,10,21,.05)}
.dcb-root .dcb-skeleton span{height:50px;border-radius:12px;background:linear-gradient(90deg,#F1F3F7 0,#F8F9FB 40%,#F1F3F7 80%);background-size:300% 100%;animation:dcbSk 1.4s ease infinite}
.dcb-root .dcb-skeleton span:first-child{height:44px;width:70%}
.dcb-root .dcb-loading{height:220px;border-radius:22px;background:linear-gradient(90deg,#F1F3F7 0,#F8F9FB 40%,#F1F3F7 80%);background-size:300% 100%;animation:dcbSk 1.4s ease infinite}
@keyframes dcbSk{from{background-position:100% 0}to{background-position:-100% 0}}

/* ---------------------------------------------------------------- onglets */
.dcb-root .dcb-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--soft);border-radius:14px}
html body .dcb-root .dcb-tab{display:flex;align-items:center;justify-content:center;gap:9px;height:46px;border-radius:11px;font:600 14.5px var(--fh);color:var(--tx);transition:background .2s,color .2s,box-shadow .2s}
html body .dcb-root .dcb-tab .dcb-ico{width:22px;height:18px}
html body .dcb-root .dcb-tab .dcb-ico:first-child svg{stroke-width:2}
html body .dcb-root .dcb-tab:hover{color:var(--ink)}
html body .dcb-root .dcb-tab[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 6px 16px -10px rgba(5,10,21,.35),0 0 0 1px rgba(5,10,21,.04)}
html body .dcb-root .dcb-tab[aria-selected="true"] .dcb-ico{color:var(--g)}
.dcb-root .dcb-tabs.is-locked{opacity:.55;pointer-events:none}

/* ---------------------------------------------------------------- progression */
.dcb-root .dcb-progress{--p:0;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.dcb-root .dcb-progress::before,.dcb-root .dcb-progress::after{content:"";position:absolute;top:13px;left:12.5%;right:12.5%;height:2px;background:var(--line);border-radius:2px}
.dcb-root .dcb-progress::after{background:var(--g);right:auto;width:calc(75% * var(--p));transition:width .35s ease}
.dcb-root .dcb-progress li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;margin:0;padding:0;min-width:0}
.dcb-root .dcb-progress-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);font:700 12.5px var(--fh);color:var(--mut);transition:all .25s}
.dcb-root .dcb-progress-l{font:500 12px var(--fh);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.dcb-root .dcb-progress li.is-current .dcb-progress-n{border-color:var(--g);color:var(--g);box-shadow:0 0 0 5px rgba(0,191,99,.14)}
.dcb-root .dcb-progress li.is-current .dcb-progress-l{color:var(--ink);font-weight:600}
.dcb-root .dcb-progress li.is-done .dcb-progress-n{background:var(--g);border-color:var(--g);color:#fff}
.dcb-root .dcb-progress li.is-done .dcb-progress-l{color:var(--tx)}

/* ---------------------------------------------------------------- mise en page */
.dcb-root .dcb-body{display:grid;gap:18px}
.dcb-root .dcb-main{min-width:0;display:flex;flex-direction:column;gap:14px}
.dcb-root .dcb-pane{display:flex;flex-direction:column;gap:14px;animation:dcbIn .3s ease}
@keyframes dcbIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@container (min-width:760px){
  .dcb-root .dcb-body{grid-template-columns:minmax(0,1fr) 290px;align-items:start}
  .dcb-root .dcb-recap{position:sticky;top:calc(var(--dc-hh,90px) + 16px)}
}
.dcb-root .dcb-row2{display:grid;grid-template-columns:1fr;gap:14px}
@container (min-width:420px){.dcb-root .dcb-row2{grid-template-columns:1fr 1fr}}
.dcb-root .dcb-block{display:flex;flex-direction:column;gap:12px}
.dcb-root .dcb-h{margin:0;font:600 16px/1.3 var(--fh);color:var(--ink);letter-spacing:0;text-transform:none}

/* ---------------------------------------------------------------- champs */
.dcb-root .dcb-field{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
.dcb-root .dcb-label{font:600 13px var(--fh);color:var(--ink);letter-spacing:.01em;margin:0}
.dcb-root .dcb-label em{font-style:normal;font-weight:400;color:var(--mut)}
.dcb-root .dcb-control{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;background:#fff;border:1.5px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.dcb-root .dcb-control:hover{border-color:#CBD2DC}
.dcb-root .dcb-control:focus-within{border-color:var(--g);box-shadow:0 0 0 4px rgba(0,191,99,.13)}
.dcb-root .dcb-control.is-textarea{align-items:flex-start;padding-top:12px;padding-bottom:12px}
.dcb-root .dcb-lead{color:var(--mut);width:18px;height:18px}
.dcb-root .dcb-control:focus-within .dcb-lead,.dcb-root .is-set .dcb-lead{color:var(--g)}
html body .dcb-root .dcb-input{flex:1 1 auto;min-width:0;width:100%;height:48px;padding:0;margin:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;border-radius:0;font:400 16px var(--fb);color:var(--ink);-webkit-appearance:none;appearance:none}
body .dcb-root textarea.dcb-input{height:auto;min-height:72px;resize:vertical;line-height:1.5}
body .dcb-root select.dcb-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%238A93A3' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 0 center!important;background-size:18px!important;padding-right:24px}
html body .dcb-root .dcb-input::placeholder{color:#9AA2B1;opacity:1}
body .dcb-root input[type=date].dcb-input,body .dcb-root input[type=time].dcb-input{min-height:48px}
.dcb-root .dcb-hint{font-size:12.5px;color:var(--mut)}
.dcb-root .dcb-err{font-size:13px;color:var(--err);min-height:0}
.dcb-root .dcb-err:empty{display:none}
.dcb-root .has-error .dcb-control{border-color:var(--err);box-shadow:0 0 0 4px rgba(217,58,58,.1)}
.dcb-root .dcb-note{margin:0;font-size:13px;color:var(--mut)}

/* itinéraire : champs empilés reliés par un tracé */
.dcb-root .dcb-route{position:relative;display:flex;flex-direction:column;gap:10px}
.dcb-root .dcb-route .dcb-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dcb-root .dcb-route::before{content:"";position:absolute;left:23px;top:30px;bottom:30px;border-left:2px dashed #CBD2DC;z-index:0}
.dcb-root .dcb-route > *{position:relative;z-index:1}
.dcb-root .dcb-route .dcb-control{background:#fff}
.dcb-root .dcb-addr.is-pickup .dcb-lead,.dcb-root .dcb-addr.is-pickup.is-set .dcb-lead{color:var(--g)}
.dcb-root .dcb-addr.is-dropoff .dcb-lead{color:var(--ink)}
.dcb-root .dcb-addr.is-dropoff.is-set .dcb-lead{color:var(--ink)}
html body .dcb-root .dcb-swap{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink);box-shadow:0 0 0 1.5px var(--line),0 6px 14px -8px rgba(5,10,21,.3)}
html body .dcb-root .dcb-swap:hover{color:var(--g);box-shadow:0 0 0 1.5px var(--g),0 6px 14px -8px rgba(5,10,21,.3)}
.dcb-root .dcb-route.has-locate-open .dcb-swap{display:none}
html body .dcb-root .dcb-locate{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;height:32px;padding:0 11px;border-radius:9px;background:var(--gm);color:var(--gd);font:600 12.5px var(--fh);white-space:nowrap}
html body .dcb-root .dcb-locate .dcb-ico{width:15px;height:15px}
html body .dcb-root .dcb-locate:hover{background:#D3F4E3}
.dcb-root .dcb-addr.is-set .dcb-locate{display:none}
.dcb-root .dcb-addr.is-busy .dcb-locate{opacity:.7;pointer-events:none}
@container (max-width:380px){html body .dcb-root .dcb-locate span:last-child{display:none}html body .dcb-root .dcb-locate{padding:0 8px}}
.dcb-root .dcb-route .dcb-addr.is-pickup .dcb-locate{margin-right:0}
.dcb-root .dcb-stops{display:flex;flex-direction:column;gap:10px}
.dcb-root .dcb-stops:empty{display:none}
.dcb-root .dcb-addr.is-stop .dcb-control{padding-left:6px}
.dcb-root .dcb-grip{width:22px;height:30px;display:grid;place-items:center;color:#B4BCC8;cursor:grab;touch-action:none;flex:0 0 auto}
.dcb-root .dcb-grip svg{width:16px;height:16px;fill:currentColor}
.dcb-root .dcb-grip:hover{color:var(--ink)}
.dcb-root .dcb-addr.is-stop .dcb-lead{color:var(--tx)}
.dcb-root .is-dragging{z-index:5!important;transition:none!important;box-shadow:0 18px 30px -18px rgba(5,10,21,.45);border-radius:12px}
.dcb-root .dcb-stops > *{transition:transform .18s ease}
html body .dcb-root .dcb-rm{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--mut);flex:0 0 auto}
html body .dcb-root .dcb-rm:hover{background:#FDECEC;color:var(--err)}
html body .dcb-root .dcb-add-stop{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px 0 10px;margin-left:8px;border-radius:10px;font:600 13.5px var(--fh);color:var(--gd)}
html body .dcb-root .dcb-add-stop .dcb-ico{width:16px;height:16px;padding:2px;border-radius:50%;background:var(--gm)}
html body .dcb-root .dcb-add-stop:hover{background:var(--gm)}
html body .dcb-root .dcb-add-stop em{font-style:normal;font-weight:500;color:var(--mut);font-size:12px}

/* suggestions */
.dcb-root .dcb-ac{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;max-height:330px;overflow:auto;padding:6px;background:#fff;border-radius:14px;box-shadow:0 26px 50px -20px rgba(5,10,21,.4),0 0 0 1px rgba(5,10,21,.07);overscroll-behavior:contain}
.dcb-root .dcb-route .dcb-ac{top:calc(100% + 4px)}
.dcb-root .dcb-ac-title{padding:10px 10px 4px;font:600 11px var(--fh);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.dcb-root .dcb-ac-note{padding:8px 10px;font-size:13.5px;color:var(--mut)}
.dcb-root .dcb-ac-item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;cursor:pointer}
.dcb-root .dcb-ac-item .dcb-ico{width:34px;height:34px;padding:8px;border-radius:10px;background:var(--soft);color:var(--tx)}
.dcb-root .dcb-ac-item.is-active,.dcb-root .dcb-ac-item:hover{background:var(--soft)}
.dcb-root .dcb-ac-item.is-active .dcb-ico,.dcb-root .dcb-ac-item:hover .dcb-ico{background:#fff;color:var(--g)}
.dcb-root .dcb-ac-item.is-special .dcb-ico{background:var(--gm);color:var(--gd)}
.dcb-root .dcb-ac-txt{display:flex;flex-direction:column;min-width:0}
.dcb-root .dcb-ac-txt strong{font:500 14.5px var(--fb);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dcb-root .dcb-ac-txt small{font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dcb-root .dcb-ac-txt small:empty{display:none}

/* carte */
.dcb-root .dcb-map-wrap{display:flex;flex-direction:column;gap:8px}
.dcb-root .dcb-map{height:190px;border-radius:var(--r);overflow:hidden;background:#EEF1F5;box-shadow:0 0 0 1px var(--line);z-index:0;isolation:isolate}
@container (min-width:560px){.dcb-root .dcb-map{height:220px}}
.dcb-root .dcb-map .leaflet-tile-pane{filter:grayscale(.55) contrast(1.02) brightness(1.03)}
.dcb-root .dcb-map .leaflet-control-attribution{font-size:9.5px;background:rgba(255,255,255,.75)}
.dcb-root .dcb-map .leaflet-control-zoom a{color:var(--ink)}
.dcb-mk span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font:700 12px "Saira",sans-serif;color:#fff;background:#0B1220;border:3px solid #fff;box-shadow:0 6px 14px -4px rgba(5,10,21,.5)}
.dcb-mk.is-a span{background:#00BF63}
.dcb-mk.is-stop span{background:#fff;color:#0B1220;border-color:#0B1220;border-width:2px}
.dcb-root .dcb-legs{display:flex;flex-wrap:wrap;gap:6px}
.dcb-root .dcb-legs:empty{display:none}
.dcb-root .dcb-leg{font-size:12.5px;color:var(--tx);background:var(--soft);border-radius:8px;padding:5px 9px}
.dcb-root .dcb-leg b{color:var(--ink);font-weight:600}

/* ---------------------------------------------------------------- étape 2 */
.dcb-root .dcb-vehicles{display:grid;gap:10px}
html body .dcb-root .dcb-veh{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:14px;padding:12px 16px 12px 12px;border-radius:14px;background:#fff;box-shadow:0 0 0 1.5px var(--line);text-align:left;transition:box-shadow .2s,background .2s}
html body .dcb-root .dcb-veh:hover{box-shadow:0 0 0 1.5px #B9C1CD}
html body .dcb-root .dcb-veh[aria-checked="true"]{box-shadow:0 0 0 2px var(--g),0 10px 24px -14px rgba(0,191,99,.6);background:#FBFEFC}
.dcb-root .dcb-veh-img{width:72px;height:48px;object-fit:cover;border-radius:10px;background:var(--soft)}
.dcb-root .dcb-veh-img.is-ico{display:grid;place-items:center;color:var(--ink);padding:8px}
.dcb-root .dcb-veh-img.is-ico svg{width:100%;height:100%}
.dcb-root .dcb-veh-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.dcb-root .dcb-veh-txt strong{font:600 15px var(--fh);color:var(--ink)}
.dcb-root .dcb-veh-txt small{font-size:12.5px;color:var(--mut)}
.dcb-root .dcb-veh-cap{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--tx)}
.dcb-root .dcb-veh-cap .dcb-ico{width:14px;height:14px;color:var(--mut)}
.dcb-root .dcb-veh-cap .dcb-ico + .dcb-ico,.dcb-root .dcb-veh-cap .dcb-ico:nth-of-type(2){margin-left:6px}
.dcb-root .dcb-veh-price{font:700 17px var(--fh);color:var(--ink);white-space:nowrap}
.dcb-root .dcb-steppers{display:grid;gap:10px}
.dcb-root .dcb-stepper{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:6px 8px 6px 14px;border-radius:12px;box-shadow:0 0 0 1.5px var(--line)}
.dcb-root .dcb-stepper-l{display:flex;align-items:center;gap:10px;font:500 15px var(--fb);color:var(--ink)}
.dcb-root .dcb-stepper-l .dcb-ico{color:var(--g)}
.dcb-root .dcb-stepper-c{display:flex;align-items:center;gap:6px}
html body .dcb-root .dcb-step-btn{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--ink)}
html body .dcb-root .dcb-step-btn .dcb-ico{width:16px;height:16px}
html body .dcb-root .dcb-step-btn:hover:not(:disabled){background:var(--gm);color:var(--gd)}
html body .dcb-root .dcb-step-btn:disabled{opacity:.35}
.dcb-root .dcb-step-val{min-width:28px;text-align:center;font:700 17px var(--fh)}
.dcb-root .dcb-chips{display:flex;gap:8px;flex-wrap:wrap}
html body .dcb-root .dcb-chip{height:40px;padding:0 16px;border-radius:999px;font:500 14px var(--fh);color:var(--tx);box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;transition:all .2s}
html body .dcb-root .dcb-chip:hover{color:var(--ink);box-shadow:inset 0 0 0 1.5px #B9C1CD}
html body .dcb-root .dcb-chip[aria-checked="true"]{background:var(--ink);color:#fff;box-shadow:none}

/* ---------------------------------------------------------------- étape 4 */
.dcb-root .dcb-pays{display:grid;gap:10px}
html body .dcb-root .dcb-pay{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;box-shadow:0 0 0 1.5px var(--line);text-align:left;background:#fff}
html body .dcb-root .dcb-pay:hover{box-shadow:0 0 0 1.5px #B9C1CD}
html body .dcb-root .dcb-pay[aria-checked="true"]{box-shadow:0 0 0 2px var(--g);background:#FBFEFC}
.dcb-root .dcb-pay > .dcb-ico{width:22px;height:22px;color:var(--g)}
.dcb-root .dcb-radio{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 2px #C3CAD5;transition:box-shadow .2s}
.dcb-root [aria-checked="true"] > .dcb-radio{box-shadow:inset 0 0 0 6px var(--g)}
.dcb-root .dcb-pay-txt{display:flex;flex-direction:column;gap:2px}
.dcb-root .dcb-pay-txt strong{font:600 15px var(--fh);color:var(--ink)}
.dcb-root .dcb-pay-txt small{font-size:13px;color:var(--tx)}
.dcb-root .dcb-summary{display:flex;flex-direction:column;border-radius:14px;background:var(--soft);padding:4px 16px}
.dcb-root .dcb-sum-row{display:grid;grid-template-columns:96px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
@container (max-width:420px){.dcb-root .dcb-sum-row{grid-template-columns:1fr auto}.dcb-root .dcb-sum-k{grid-column:1/-1;margin-bottom:-8px}}
.dcb-root .dcb-sum-k{font:600 12.5px var(--fh);color:var(--mut);padding-top:1px}
.dcb-root .dcb-sum-v{color:var(--ink);min-width:0;overflow-wrap:anywhere}
html body .dcb-root .dcb-sum-edit{font:600 12.5px var(--fh);color:var(--gd);align-self:start}
html body .dcb-root .dcb-sum-edit:hover{text-decoration:underline}
.dcb-root .dcb-sum-route{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:4px}
.dcb-root .dcb-sum-route li{margin:0;padding:0}
.dcb-root .dcb-sum-route li::marker{color:var(--g);font-weight:700}
.dcb-root .dcb-sum-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 12px}
.dcb-root .dcb-sum-total span{font:600 14px var(--fh)}
.dcb-root .dcb-sum-total strong{font:700 22px var(--fh);color:var(--ink)}
.dcb-root .dcb-check{display:flex;align-items:flex-start;gap:11px;cursor:pointer;font-size:14px;color:var(--tx);line-height:1.5}
.dcb-root .dcb-check input{position:absolute;opacity:0;width:1px;height:1px}
.dcb-root .dcb-check-box{flex:0 0 22px;width:22px;height:22px;border-radius:7px;box-shadow:inset 0 0 0 2px #C3CAD5;display:grid;place-items:center;color:transparent;transition:all .2s;margin-top:-1px}
.dcb-root .dcb-check-box svg{width:14px;height:14px}
.dcb-root .dcb-check input:checked + .dcb-check-box{background:var(--g);box-shadow:none;color:#fff}
.dcb-root .dcb-check input:focus-visible + .dcb-check-box{outline:2px solid var(--g);outline-offset:2px}
.dcb-root .dcb-check a{color:var(--gd);text-decoration:underline}
.dcb-root .dcb-terms.has-error .dcb-check-box{box-shadow:inset 0 0 0 2px var(--err)}

/* ---------------------------------------------------------------- récapitulatif */
.dcb-root .dcb-recap{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;background:var(--soft);transition:opacity .2s}
.dcb-root .dcb-recap.is-loading{opacity:.6}
.dcb-root .dcb-recap-head{display:flex;justify-content:space-between;align-items:center}
.dcb-root .dcb-recap-t{font:600 12px var(--fh);letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.dcb-root .dcb-recap-empty{margin:0;font-size:13.5px;color:var(--tx)}
.dcb-root .dcb-recap-kpis{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}
.dcb-root .dcb-recap-kpis > div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#fff;min-width:0}
.dcb-root .dcb-recap-kpis small{font-size:11.5px;color:var(--mut)}
.dcb-root .dcb-recap-kpis strong{font:700 16px var(--fh);color:var(--ink);white-space:nowrap}
.dcb-root .dcb-recap-kpis .is-price{background:var(--ink)}
.dcb-root .dcb-recap-kpis .is-price small{color:#B1B8C9}
.dcb-root .dcb-recap-kpis .is-price strong{color:#fff;font-size:18px}
.dcb-root .dcb-details summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font:600 13px var(--fh);color:var(--gd)}
.dcb-root .dcb-details summary::-webkit-details-marker{display:none}
.dcb-root .dcb-details summary .dcb-ico{width:16px;height:16px;transition:transform .2s}
.dcb-root .dcb-details[open] summary .dcb-ico{transform:rotate(180deg)}
.dcb-root .dcb-lines{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.dcb-root .dcb-lines li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;margin:0;border-bottom:1px dashed #D9DEE6;font-size:13.5px;color:var(--tx)}
.dcb-root .dcb-lines li b{font-weight:600;color:var(--ink);white-space:nowrap}
.dcb-root .dcb-lines li.is-total{border-bottom:0;padding-top:10px;font:600 14px var(--fh);color:var(--ink)}
.dcb-root .dcb-lines li.is-total b{font:700 17px var(--fh)}

/* ---------------------------------------------------------------- boutons */
.dcb-root .dcb-foot{display:flex;gap:10px;align-items:center}
html body .dcb-root .dcb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 22px;border-radius:13px;font:600 15.5px var(--fh);letter-spacing:.01em;text-decoration:none;transition:background .2s,box-shadow .2s,transform .15s,color .2s;white-space:nowrap}
html body .dcb-root .dcb-btn .dcb-ico{width:18px;height:18px}
html body .dcb-root .dcb-btn.is-primary{flex:1 1 auto;background:var(--g);color:#fff;box-shadow:0 12px 26px -12px rgba(0,191,99,.75)}
html body .dcb-root .dcb-btn.is-primary:hover{background:var(--gd);color:#fff;transform:translateY(-1px)}
html body .dcb-root .dcb-btn.is-primary.is-confirm{background:var(--ink);box-shadow:0 12px 26px -12px rgba(5,10,21,.7)}
html body .dcb-root .dcb-btn.is-primary.is-confirm:hover{background:#1A2336}
html body .dcb-root .dcb-btn.is-ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
html body .dcb-root .dcb-btn.is-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}
html body .dcb-root .dcb-btn.is-danger{background:#fff;color:var(--err);box-shadow:inset 0 0 0 1.5px #F2C4C4}
html body .dcb-root .dcb-btn.is-danger:hover{background:var(--err);color:#fff}
html body .dcb-root .dcb-btn.is-block{width:100%}
html body .dcb-root .dcb-btn.is-busy{opacity:.8;pointer-events:none}
html body .dcb-root .dcb-btn.is-busy .dcb-ico{animation:dcbSpin 1s linear infinite}
@keyframes dcbSpin{to{transform:rotate(360deg)}}
html body .dcb-root .dcb-btn:focus-visible{outline:3px solid rgba(0,191,99,.4);outline-offset:2px}
.dcb-root .dcb-foot .dcb-btn.is-ghost{flex:0 0 auto;padding:0 16px}
@container (max-width:380px){.dcb-root .dcb-foot .dcb-btn.is-ghost span:not(.dcb-ico){display:none}.dcb-root .dcb-foot .dcb-btn.is-ghost{width:52px;padding:0}}
.dcb-root .dcb-alert{padding:12px 14px;border-radius:12px;background:#FDECEC;color:#A42727;font-size:14px;border-left:4px solid var(--err)}

/* ---------------------------------------------------------------- confirmation */
.dcb-root .dcb-done{display:flex;flex-direction:column;align-items:flex-start;gap:12px;animation:dcbIn .4s ease}
.dcb-root .dcb-done-ico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--g);color:#fff;box-shadow:0 0 0 8px var(--gm);animation:dcbPop .5s cubic-bezier(.2,1.4,.4,1)}
.dcb-root .dcb-done-ico svg{width:28px;height:28px}
@keyframes dcbPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.dcb-root .dcb-done-t{margin:6px 0 0;font:700 24px/1.2 var(--fh);color:var(--ink);text-transform:none;letter-spacing:0}
.dcb-root .dcb-done-ref{margin:0;display:flex;gap:8px;align-items:baseline;font-size:13px;color:var(--mut)}
.dcb-root .dcb-done-ref strong{font:700 17px var(--fh);color:var(--ink);letter-spacing:.04em}
.dcb-root .dcb-done-p{margin:0;font-size:15px;color:var(--tx);max-width:56ch}
.dcb-root .dcb-done-meta{display:flex;flex-wrap:wrap;gap:8px}
.dcb-root .dcb-done-meta > span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--soft);font-size:13.5px;color:var(--ink)}
.dcb-root .dcb-done-meta .dcb-ico{width:16px;height:16px;color:var(--g)}
.dcb-root .dcb-done-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;width:100%}
.dcb-root .dcb-done-actions .dcb-btn.is-primary{flex:0 1 auto}

/* ---------------------------------------------------------------- devis */
.dcb-root .dcb-q{display:flex;flex-direction:column;gap:18px}
.dcb-root .dcb-q-head{display:flex;flex-direction:column;gap:4px}
.dcb-root .dcb-q-title{margin:0;font:700 21px/1.25 var(--fh);color:var(--ink);text-transform:none;letter-spacing:0}
.dcb-root .dcb-q-grid{display:grid;grid-template-columns:1fr;gap:14px}
@container (min-width:520px){.dcb-root .dcb-q-grid{grid-template-columns:1fr 1fr}.dcb-root .dcb-q-full{grid-column:1/-1}}
.dcb-root .dcb-chips.is-wrap{gap:8px}
.dcb-root .dcb-hours{display:inline-block;font:600 13px var(--fh);color:var(--gd);background:var(--gm);border-radius:8px;padding:5px 10px}
.dcb-root .dcb-hours:empty{display:none}
.dcb-root .dcb-q .dcb-route::before{display:none}
.dcb-root .dcb-q .dcb-route .dcb-label{position:static;width:auto;height:auto;overflow:visible;clip:auto}
.dcb-root .dcb-q .dcb-route .dcb-addr .dcb-control{padding-right:14px}

/* ---------------------------------------------------------------- suivi client */
.dcb-root .dcb-view{display:flex;flex-direction:column;gap:22px}
.dcb-root .dcb-view-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.dcb-root .dcb-eyebrow{margin:0 0 4px;font:600 12px var(--fh);letter-spacing:.1em;text-transform:uppercase;color:var(--g)}
.dcb-root .dcb-view-ref{margin:0;font:700 28px/1.1 var(--fh);color:var(--ink);letter-spacing:.03em;text-transform:none}
.dcb-root .dcb-badge{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;font:600 13px var(--fh);background:var(--soft);color:var(--ink)}
.dcb-root .dcb-badge.is-pending{background:#FFF4E2;color:#9A5B00}
.dcb-root .dcb-badge.is-accepted,.dcb-root .dcb-badge.is-in_progress{background:var(--gm);color:var(--gd)}
.dcb-root .dcb-badge.is-completed,.dcb-root .dcb-badge.is-paid{background:var(--ink);color:#fff}
.dcb-root .dcb-badge.is-cancelled,.dcb-root .dcb-badge.is-no_show{background:#FDECEC;color:#A42727}
.dcb-root .dcb-view-grid{display:grid;gap:22px}
@container (min-width:720px){.dcb-root .dcb-view-grid{grid-template-columns:1.1fr 1fr}}
.dcb-root .dcb-view-map .dcb-map{height:100%;min-height:240px}
.dcb-root .dcb-dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0 0 6px}
.dcb-root .dcb-dl dt{font:600 12.5px var(--fh);color:var(--mut);padding-top:2px}
.dcb-root .dcb-dl dd{margin:0;font-size:14.5px;color:var(--ink);overflow-wrap:anywhere}
.dcb-root .dcb-view-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding-top:18px;border-top:1px solid var(--line)}
.dcb-root .dcb-view-actions .dcb-pays{width:100%}
.dcb-root .dcb-confirm-q{margin:0;font-weight:500}
.dcb-root .dcb-state{display:flex;align-items:center;gap:14px}
.dcb-root .dcb-state p{margin:0;font-size:15px;color:var(--ink);max-width:60ch}
.dcb-root .dcb-state .dcb-done-ico{width:44px;height:44px;flex:0 0 auto;box-shadow:0 0 0 6px var(--gm)}
.dcb-root .dcb-state .dcb-done-ico svg{width:22px;height:22px}
.dcb-root .dcb-state.is-declined .dcb-done-ico,.dcb-root .dcb-state.is-expired .dcb-done-ico{background:var(--mut);box-shadow:0 0 0 6px var(--soft)}

@media (prefers-reduced-motion:reduce){.dcb-root *{animation:none!important;transition:none!important}}
.dcb-root .dcb-field:focus-within,.dcb-root .dcb-route > .dcb-field:focus-within{z-index:30}

/* pages de suivi (réservation, devis) */
.dcb-root[data-dcb="booking-view"],.dcb-root[data-dcb="quote-view"]{max-width:1120px;margin:0 auto;padding:44px 20px 90px}
@media (max-width:767px){.dcb-root[data-dcb="booking-view"],.dcb-root[data-dcb="quote-view"]{padding:24px 14px 60px}}

/* liste de suggestions ouverte : toujours au premier plan */
.dcb-root .dcb-field.is-open{z-index:100!important}
.dcb-root .dcb-stops:has(.is-open),.dcb-root .dcb-route:has(.is-open),.dcb-root .dcb-q-full:has(.is-open),.dcb-root .dcb-row2:has(.is-open),.dcb-root .dcb-pane:has(.is-open){position:relative;z-index:100!important}
.dcb-root .dcb-ac{z-index:200}

/* sélecteurs de date et d'heure (format français, 24 h) */
.dcb-root .dcb-dp,.dcb-root .dcb-tp{display:flex;flex:1 1 auto;min-width:0}
html body .dcb-root .dcb-dp .dcb-input{cursor:pointer}
html body .dcb-root .dcb-tp .dcb-input{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.dcb-root .dcb-field:has(.is-open),.dcb-root .dcb-q-grid > *:has(.is-open){z-index:100!important}
.dcb-root .dcb-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:200;background:#fff;border-radius:16px;box-shadow:0 26px 50px -20px rgba(5,10,21,.4),0 0 0 1px rgba(5,10,21,.07);animation:dcbIn .18s ease}
.dcb-root .dcb-cal{width:304px;max-width:calc(100vw - 48px);padding:12px}
.dcb-root .dcb-cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dcb-root .dcb-cal-h strong{font:600 15px var(--fh);color:var(--ink);text-transform:capitalize}
html body .dcb-root .dcb-cal-nav{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--ink)}
html body .dcb-root .dcb-cal-nav span{width:18px;height:18px;display:block}
html body .dcb-root .dcb-cal-nav svg{width:100%;height:100%;display:block}
html body .dcb-root .dcb-cal-nav:hover{background:var(--soft)}
html body .dcb-root .dcb-cal-nav:disabled{opacity:.25}
.dcb-root .dcb-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dcb-root .dcb-cal-w{text-align:center;font:600 11.5px var(--fh);color:var(--mut);text-transform:uppercase;padding:4px 0 6px}
html body .dcb-root .dcb-cal-d{height:38px;border-radius:10px;display:grid;place-items:center;font:500 14px var(--fb);color:var(--ink)}
html body .dcb-root .dcb-cal-d:hover:not(:disabled){background:var(--gm);color:var(--gd)}
html body .dcb-root .dcb-cal-d.is-today{color:var(--g);font-weight:700;box-shadow:inset 0 0 0 1.5px var(--gm)}
html body .dcb-root .dcb-cal-d.is-sel,html body .dcb-root .dcb-cal-d.is-sel:hover{background:var(--g);color:#fff;font-weight:700;box-shadow:0 6px 14px -6px rgba(0,191,99,.7)}
html body .dcb-root .dcb-cal-d:disabled{color:#C3CAD5;cursor:default}
.dcb-root .dcb-tl{right:0;max-height:248px;overflow:auto;padding:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;overscroll-behavior:contain}
html body .dcb-root .dcb-tl-i{height:38px;border-radius:9px;display:grid;place-items:center;font:500 14px var(--fh);color:var(--ink);font-variant-numeric:tabular-nums}
html body .dcb-root .dcb-tl-i:hover{background:var(--gm);color:var(--gd)}
html body .dcb-root .dcb-tl-i.is-sel,html body .dcb-root .dcb-tl-i.is-sel:hover{background:var(--g);color:#fff;font-weight:600}
@container (max-width:420px){.dcb-root .dcb-tl{grid-template-columns:repeat(3,1fr)}}

.dcb-root .dcb-captcha{min-height:65px}
.dcb-root .dcb-captcha[hidden]{display:none}
.dcb-root .dcb-q .dcb-terms .dcb-check{font-size:13.5px}
