/* === dsg-assistant-v21-5.css === */
:root{--dsg-red:#d50000;--dsg-red-dark:#a60000;--dsg-panel:#101014;--dsg-line:rgba(255,255,255,.11)}

/* Dock */
.dsg-contact-dock{position:fixed;right:18px;bottom:18px;z-index:10030;display:flex;align-items:center;gap:7px;padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(7,7,9,.88);box-shadow:0 18px 55px rgba(0,0,0,.42);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.dsg-dock-btn{position:relative;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;text-decoration:none;cursor:pointer;background:linear-gradient(180deg,var(--dsg-red),var(--dsg-red-dark));box-shadow:0 9px 24px rgba(212,0,0,.24);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;font:inherit;line-height:1}
.dsg-dock-btn:hover{transform:translateY(-2px);box-shadow:0 13px 32px rgba(212,0,0,.34);filter:saturate(1.08)}
.dsg-dock-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dsg-dock-btn.whatsapp{background:#25d366;box-shadow:0 9px 24px rgba(37,211,102,.24)}
.dsg-dock-btn.whatsapp svg{fill:#fff;stroke:none}
.dsg-dock-btn.assistant{overflow:hidden;background:linear-gradient(180deg,#cf0000,#970000)}
.dsg-dock-btn.assistant img{width:34px;height:30px;object-fit:contain;display:block;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}
.dsg-dock-btn.assistant::before{content:"";position:absolute;right:5px;bottom:5px;width:10px;height:10px;border-radius:50%;background:#35d071;border:2px solid #9b0000}
.dsg-dock-btn::after{content:attr(data-label);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(4px);white-space:nowrap;padding:7px 10px;border-radius:10px;background:#111;color:#fff;font-size:12px;font-weight:750;opacity:0;pointer-events:none;transition:.16s ease;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.dsg-dock-btn:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
.dsg-contact-dock.chat-open .dsg-dock-btn:not(.assistant){display:none}
.dsg-contact-dock.chat-open{padding:5px}

/* Shared modal */
.dsg-overlay{position:fixed;inset:0;z-index:10040;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.dsg-overlay.open{display:flex}
.dsg-callback-modal,.dsg-testdrive-modal{width:min(540px,100%);border-radius:22px;background:linear-gradient(180deg,#151518,#09090b);border:1px solid rgba(255,255,255,.14);box-shadow:0 35px 100px rgba(0,0,0,.62);color:#fff;padding:24px;position:relative}
.dsg-modal-close{position:absolute;right:14px;top:14px;width:36px;height:36px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;font-size:22px;line-height:1}
.dsg-callback-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#ff5555;font-weight:850;margin-bottom:7px}
.dsg-callback-modal h3,.dsg-testdrive-modal h3{font-family:Manrope,Inter,sans-serif;font-size:1.55rem;margin:0 42px 7px 0}
.dsg-callback-modal p,.dsg-testdrive-modal p{color:rgba(255,255,255,.66);margin:0 0 17px;line-height:1.5;font-size:.9rem}
.dsg-testdrive-vehicle{display:flex;align-items:center;gap:9px;margin:-3px 0 15px;padding:10px 12px;border-radius:12px;background:rgba(212,0,0,.10);border:1px solid rgba(255,65,65,.23);font-size:.82rem;font-weight:800}
.dsg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dsg-field{display:flex;flex-direction:column;gap:6px}.dsg-field.full{grid-column:1/-1}.dsg-field label{font-size:.75rem;color:rgba(255,255,255,.70);font-weight:750}
.dsg-input{width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.13)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;padding:0 12px!important;font:inherit!important;outline:none!important;appearance:none;-webkit-appearance:none;color-scheme:dark}
.dsg-input:focus{border-color:rgba(255,55,55,.72)!important;box-shadow:0 0 0 3px rgba(212,0,0,.12)!important}
.dsg-callback-actions{display:flex;gap:10px;margin-top:15px}.dsg-primary,.dsg-secondary{min-height:46px;border-radius:12px;padding:0 15px;font:inherit;font-weight:850;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.dsg-primary{flex:1;border:0;background:linear-gradient(180deg,var(--dsg-red),var(--dsg-red-dark));color:#fff}.dsg-secondary{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff}.dsg-form-error{min-height:18px;margin-top:8px;color:#ff8585;font-size:.78rem}

/* Chat */
.dsg-chat-panel{position:fixed;right:18px;bottom:82px;z-index:10035;width:410px;max-width:calc(100vw - 28px);height:min(590px,calc(100dvh - 112px));min-height:420px;display:none;grid-template-rows:68px minmax(0,1fr) 62px;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#111116,#08080a);border:1px solid rgba(255,255,255,.14);box-shadow:0 35px 100px rgba(0,0,0,.62);color:#fff}
.dsg-chat-panel.open{display:grid;animation:dsgChatIn .18s ease-out}@keyframes dsgChatIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.dsg-chat-head{min-height:68px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,rgba(212,0,0,.10),rgba(255,255,255,.025))}
.dsg-bot-avatar{width:46px;height:46px;min-width:46px;border-radius:13px;display:grid;place-items:center;background:#070709;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(0,0,0,.32);overflow:hidden}
.dsg-bot-avatar img{width:39px;height:34px;object-fit:contain;display:block}
.dsg-chat-title-row{display:flex;align-items:center;gap:7px}.dsg-chat-title{font-family:Manrope,Inter,sans-serif;font-size:.98rem;font-weight:900;line-height:1.1}.dsg-live-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;background:rgba(53,208,113,.10);border:1px solid rgba(53,208,113,.20);color:#7ce6a4;font-size:.56rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.dsg-live-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:#35d071}.dsg-chat-sub{font-size:.67rem;color:rgba(255,255,255,.52);margin-top:4px}.dsg-chat-close{margin-left:auto;width:34px;height:34px;min-width:34px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:#fff;cursor:pointer;font-size:19px;line-height:1}
.dsg-chat-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:13px;scroll-behavior:smooth}
.dsg-welcome-card{margin:0 0 11px;padding:13px;border-radius:16px;background:linear-gradient(145deg,rgba(212,0,0,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.09)}
.dsg-welcome-card strong{display:block;font-family:Manrope,Inter,sans-serif;font-size:.93rem;margin-bottom:4px}.dsg-welcome-card p{margin:0;color:rgba(255,255,255,.67);font-size:.8rem;line-height:1.45}
.dsg-msg{max-width:90%;margin:0 0 9px;padding:9px 11px;border-radius:14px;font-size:.84rem;line-height:1.47;white-space:pre-line;overflow-wrap:anywhere}.dsg-msg.bot{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.075);border-bottom-left-radius:5px}.dsg-msg.user{margin-left:auto;background:linear-gradient(180deg,var(--dsg-red),var(--dsg-red-dark));border-bottom-right-radius:5px}.dsg-msg.bot strong{color:#fff}
.dsg-chat-actions{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 11px}.dsg-chat-chip{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);color:#fff;border-radius:999px;padding:6px 9px;font:inherit;font-size:.7rem;font-weight:750;cursor:pointer}.dsg-chat-chip:hover{border-color:rgba(255,55,55,.55);background:rgba(212,0,0,.11)}
.dsg-chat-link{display:inline-flex;align-items:center;gap:6px;margin:-1px 0 11px;padding:8px 10px;border-radius:10px;background:rgba(212,0,0,.13);border:1px solid rgba(212,0,0,.30);color:#fff;text-decoration:none;font-size:.75rem;font-weight:850}
.dsg-chat-note{margin:4px 0 11px;color:rgba(255,255,255,.38);font-size:.65rem;line-height:1.4}
.dsg-car-wrap{margin:0 0 9px}.dsg-car-card{display:grid;grid-template-columns:72px 1fr;gap:9px;padding:8px;border-radius:13px 13px 0 0;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);color:#fff;text-decoration:none}.dsg-car-card img{width:72px;height:62px;border-radius:9px;object-fit:cover;background:#181818}.dsg-car-card-title{font-size:.75rem;line-height:1.25;font-weight:850;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dsg-car-card-meta{font-size:.67rem;color:rgba(255,255,255,.55);margin-top:4px}.dsg-car-card-price{font-size:.79rem;color:#ff6464;font-weight:900;margin-top:3px}.dsg-car-actions{display:flex;border:1px solid rgba(255,255,255,.09);border-top:0;border-radius:0 0 13px 13px;overflow:hidden}.dsg-car-actions button,.dsg-car-actions a{flex:1;min-height:32px;border:0;background:rgba(255,255,255,.035);color:#fff;text-decoration:none;font:750 .67rem/1 Inter,Manrope,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer}.dsg-car-actions button{border-left:1px solid rgba(255,255,255,.08);background:rgba(212,0,0,.10)}
.dsg-chat-inputbar{height:62px!important;min-height:62px!important;max-height:62px!important;border-top:1px solid rgba(255,255,255,.09);padding:9px;display:flex;align-items:center;gap:7px;background:rgba(0,0,0,.28);margin:0!important}.dsg-chat-input{flex:1;min-width:0;width:auto!important;height:42px!important;min-height:42px!important;max-height:42px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.11)!important;background:rgba(255,255,255,.055)!important;color:#fff!important;padding:0 11px!important;font:inherit!important;font-size:15px!important;line-height:42px!important;outline:none!important;appearance:none;-webkit-appearance:none}.dsg-chat-input:focus{border-color:rgba(255,55,55,.62)!important;box-shadow:0 0 0 3px rgba(212,0,0,.11)!important}.dsg-chat-input::placeholder{color:rgba(255,255,255,.38);opacity:1}.dsg-chat-send{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border:0;border-radius:12px;background:var(--dsg-red);color:#fff;cursor:pointer;display:grid;place-items:center}.dsg-chat-send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}

@media(max-width:768px){
  .dsg-contact-dock{right:10px;bottom:calc(76px + env(safe-area-inset-bottom));padding:5px;gap:6px;background:rgba(7,7,9,.92)}
  .dsg-contact-dock .dsg-dock-btn{width:45px;height:45px;min-width:45px;min-height:45px}
  .dsg-contact-dock .dsg-dock-btn.whatsapp,.dsg-contact-dock .dsg-dock-btn.annonces{display:none}
  .dsg-dock-btn::after{display:none}
  .dsg-chat-panel{left:8px;right:8px;bottom:calc(132px + env(safe-area-inset-bottom));width:auto;max-width:none;height:min(570px,67dvh);min-height:390px;max-height:calc(100dvh - 150px);grid-template-rows:64px minmax(0,1fr) 60px;border-radius:18px}
  .dsg-chat-head{min-height:64px;padding:9px 10px}.dsg-bot-avatar{width:43px;height:43px;min-width:43px}.dsg-bot-avatar img{width:36px;height:31px}
  .dsg-chat-body{padding:11px}.dsg-msg{max-width:94%;font-size:.82rem}.dsg-chat-chip{font-size:.69rem;padding:6px 8px}
  .dsg-chat-inputbar{height:60px!important;min-height:60px!important;max-height:60px!important;padding:9px}.dsg-chat-input{height:42px!important;min-height:42px!important;max-height:42px!important}.dsg-chat-send{width:42px;height:42px}
  .dsg-overlay{padding:11px}.dsg-callback-modal,.dsg-testdrive-modal{padding:20px 15px;border-radius:19px}.dsg-form-grid{grid-template-columns:1fr}.dsg-field.full{grid-column:auto}.dsg-callback-actions{flex-direction:column}.dsg-primary,.dsg-secondary{width:100%}
}
@media(max-width:380px){.dsg-chat-panel{left:6px;right:6px;bottom:calc(128px + env(safe-area-inset-bottom));height:min(535px,65dvh);min-height:360px}.dsg-chat-title{font-size:.92rem}.dsg-chat-sub{font-size:.63rem}}
@media(max-height:650px) and (min-width:769px){.dsg-chat-panel{height:calc(100dvh - 100px);min-height:0;bottom:74px}}

/* ═══════════════ V21 — Agenda essai ═══════════════ */
.dsg-testdrive-modal{width:min(650px,100%);max-height:min(92vh,860px);overflow:auto;overscroll-behavior:contain}
.dsg-booking-kicker{color:#63e996}
.dsg-booking-promise{margin-bottom:12px!important}
.dsg-testdrive-vehicle{background:rgba(0,200,83,.09);border-color:rgba(0,200,83,.24)}
.dsg-booking-trust{display:flex;gap:7px;flex-wrap:wrap;margin:-5px 0 16px}
.dsg-booking-trust span{font-size:.69rem;font-weight:800;color:#a8f5c5;background:rgba(0,200,83,.08);border:1px solid rgba(0,200,83,.18);border-radius:999px;padding:5px 8px}
.dsg-booking-step{display:flex;align-items:center;gap:8px;margin:13px 0 8px;color:#fff;font-size:.79rem;font-weight:850}
.dsg-booking-step strong{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#063d1d;color:#6df09e;border:1px solid rgba(0,200,83,.30);font-size:.7rem}
.dsg-booking-days{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 8px;scrollbar-width:thin}
.dsg-booking-day{min-width:82px;height:64px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;cursor:pointer;padding:7px 9px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;transition:.15s ease}
.dsg-booking-day span{font-size:.65rem;color:rgba(255,255,255,.58);text-transform:capitalize}.dsg-booking-day strong{font-size:1.02rem;margin-top:2px}.dsg-booking-day:hover{border-color:rgba(99,233,150,.42);background:rgba(0,200,83,.07)}
.dsg-booking-day.active{background:linear-gradient(180deg,#0c632f,#08461f);border-color:rgba(99,233,150,.62);box-shadow:0 8px 24px rgba(0,160,65,.18)}.dsg-booking-day.active span{color:#c9f8da}
.dsg-booking-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-height:43px}
.dsg-booking-slot{height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:#fff;font:inherit;font-size:.79rem;font-weight:850;cursor:pointer;transition:.15s ease}
.dsg-booking-slot:hover{border-color:rgba(99,233,150,.45);background:rgba(0,200,83,.08)}.dsg-booking-slot.active{background:#0a6a31;border-color:#40de7d;box-shadow:0 8px 22px rgba(0,170,70,.20)}
.dsg-booking-empty{grid-column:1/-1;padding:12px;border-radius:10px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.54);font-size:.76rem;text-align:center}.dsg-booking-empty.error{color:#ff9a9a;border:1px solid rgba(255,80,80,.16)}
.dsg-booking-fallback{grid-column:1/-1;color:#e8c76e;background:rgba(205,150,0,.08);border:1px solid rgba(225,176,40,.18);border-radius:9px;padding:8px 10px;font-size:.68rem;line-height:1.4}
.dsg-booking-form{margin-top:2px}.dsg-optional{font-weight:500;color:rgba(255,255,255,.42)}
.dsg-booking-summary{margin:13px 0 -2px;border-radius:11px;padding:10px 12px;background:rgba(0,200,83,.08);border:1px solid rgba(0,200,83,.20);color:#bff7d2;font-size:.79rem;font-weight:800}
.dsg-booking-confirm{background:linear-gradient(180deg,#10a84d,#087232)!important;box-shadow:0 10px 28px rgba(0,180,70,.22)}
.dsg-booking-confirm:hover:not(:disabled){filter:brightness(1.08)}.dsg-booking-confirm:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.dsg-booking-confirm.confirmed{background:linear-gradient(180deg,#13b856,#087232)!important}
.dsg-form-error.success{color:#76eca1}.dsg-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.btn-test-drive{background:linear-gradient(180deg,#0b8e40,#08672f)!important;border-color:rgba(80,225,135,.40)!important;color:#fff!important;box-shadow:0 7px 18px rgba(0,160,65,.14)}
.btn-test-drive:hover{filter:brightness(1.08)}
.actions .btn.test{background:linear-gradient(180deg,#0b8e40,#08672f)!important;border-color:rgba(80,225,135,.40)!important;box-shadow:0 10px 26px rgba(0,160,65,.17)}
@media(max-width:600px){.dsg-testdrive-modal{max-height:94vh}.dsg-booking-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.dsg-booking-day{min-width:76px;height:60px}.dsg-booking-trust{gap:5px}.dsg-booking-trust span{font-size:.62rem}}

/* V21.1 HOTFIX — CTA réservation vert, chargé après les anciens thèmes */
.btn-test-drive,.vmodal-btn.test-drive,.vehicle-cta-test,#testDrive,#serviceTestDrive{
  background:linear-gradient(180deg,#12a84e,#087231)!important;
  border-color:rgba(87,235,143,.55)!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(0,180,70,.20)!important;
}
.btn-test-drive:hover,.vmodal-btn.test-drive:hover,.vehicle-cta-test:hover,#testDrive:hover,#serviceTestDrive:hover{filter:brightness(1.08)!important;border-color:rgba(115,246,165,.78)!important}


/* V21.5 — réservation plus sobre */
.dsg-testdrive-modal{width:min(680px,100%)}
.dsg-booking-promise{color:rgba(255,255,255,.62);font-size:.88rem;line-height:1.5;margin-top:-2px!important;margin-bottom:13px!important}
.dsg-testdrive-vehicle{padding:11px 13px;border-radius:12px;font-size:.86rem;font-weight:800;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dsg-booking-trust{display:none!important}
.dsg-booking-step{margin:16px 0 9px;font-size:.78rem;letter-spacing:.02em;color:rgba(255,255,255,.78)}
.dsg-booking-step strong{display:none!important}
.dsg-booking-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;overflow:visible;padding:0}
.dsg-booking-day{min-width:0;width:100%;height:59px;padding:7px 9px;border-radius:12px}
.dsg-booking-day span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:.62rem}
.dsg-booking-day strong{font-size:.98rem}
.dsg-booking-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.dsg-booking-slot{height:40px}
.dsg-booking-fallback{margin-top:2px;font-size:.65rem}
.dsg-booking-summary{font-size:.75rem}
@media(max-width:600px){
  .dsg-booking-days{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dsg-booking-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dsg-testdrive-modal{padding:18px 14px}
}
@media(max-width:390px){.dsg-booking-days{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* === v11.css === */
/* DSG AUTO V11 FINAL — UI stabilization pass */

/* =========================================================
   FILTERS — real viewport drawer, no stacking-context leaks
   ========================================================= */
#filtersBackdrop{
  position:fixed!important; inset:0!important; z-index:20000!important;
  display:none!important; background:rgba(0,0,0,.68)!important;
  backdrop-filter:blur(5px)!important; -webkit-backdrop-filter:blur(5px)!important;
}
#filtersBackdrop.open{display:block!important}
body.filters-drawer-open{overflow:hidden!important}

#filtersPanel{
  position:fixed!important; z-index:20001!important; right:20px!important; top:84px!important; bottom:20px!important;
  width:min(410px,calc(100vw - 40px))!important; max-height:none!important; min-height:0!important;
  display:none!important; overflow-y:auto!important; overflow-x:hidden!important; overscroll-behavior:contain!important;
  margin:0!important; padding:0 14px 14px!important; border-radius:20px!important;
  background:linear-gradient(180deg,#141417 0%,#09090c 100%)!important;
  border:1px solid rgba(255,255,255,.13)!important; box-shadow:0 36px 120px rgba(0,0,0,.72)!important;
  isolation:isolate!important; box-sizing:border-box!important;
}
#filtersPanel.open{display:block!important; animation:v11DrawerIn .18s cubic-bezier(.2,.75,.2,1)!important}
@keyframes v11DrawerIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
#filtersPanel *{box-sizing:border-box}
#filtersPanel .filters-panel-head{
  position:sticky!important; top:0!important; z-index:4!important;
  margin:0 -14px 10px!important; padding:15px 14px 12px!important;
  display:flex!important; align-items:flex-start!important; justify-content:space-between!important; gap:12px!important;
  background:rgba(15,15,18,.97)!important; border-bottom:1px solid rgba(255,255,255,.08)!important;
  backdrop-filter:blur(16px)!important; -webkit-backdrop-filter:blur(16px)!important;
}
#filtersPanel .filters-panel-title{font-size:1rem!important; line-height:1.15!important; font-weight:900!important; color:#fff!important}
#filtersPanel .filters-panel-subtitle{font-size:.69rem!important; line-height:1.45!important; margin-top:4px!important; max-width:270px!important; color:rgba(255,255,255,.52)!important}
#filtersPanel .filters-head-actions{display:flex!important; align-items:center!important; gap:7px!important; flex:0 0 auto!important}
#filtersPanel .filter-reset,#filtersPanel .filters-close{
  height:32px!important; min-height:32px!important; padding:0 10px!important; border-radius:10px!important;
  border:1px solid rgba(255,255,255,.11)!important; background:rgba(255,255,255,.055)!important;
  color:#fff!important; font:800 .65rem/1 Inter,Arial,sans-serif!important; cursor:pointer!important;
}
#filtersPanel .filters-close{width:32px!important; min-width:32px!important; padding:0!important; font-size:18px!important}
#filtersPanel .filter-select-grid-v9{display:grid!important; grid-template-columns:1fr 1fr!important; gap:8px!important; margin:0 0 8px!important; padding:0!important; border:0!important}
#filtersPanel .filter-select-card{display:flex!important; flex-direction:column!important; gap:5px!important; padding:9px!important; border-radius:11px!important; background:rgba(255,255,255,.035)!important; border:1px solid rgba(255,255,255,.07)!important}
#filtersPanel .filter-select-card>span{font-size:.57rem!important; letter-spacing:.08em!important; text-transform:uppercase!important; font-weight:850!important; color:rgba(255,255,255,.45)!important}
#filtersPanel .filter-select-card select{width:100%!important; height:38px!important; min-height:38px!important; padding:0 30px 0 9px!important; border-radius:9px!important; border:1px solid rgba(255,255,255,.10)!important; background:#111115!important; color:#fff!important; font-size:.7rem!important}
#filtersPanel .wide-filter{grid-column:1/-1!important}
#filtersPanel .filters-grid-v9{display:grid!important; grid-template-columns:1fr!important; gap:8px!important; margin-top:0!important}
#filtersPanel .filter-group{padding:10px!important; min-height:0!important; border-radius:11px!important; background:rgba(255,255,255,.028)!important; border:1px solid rgba(255,255,255,.065)!important}
#filtersPanel .filter-label{margin:0 0 7px!important; font-size:.61rem!important; font-weight:900!important; letter-spacing:.08em!important; text-transform:uppercase!important; color:rgba(255,255,255,.52)!important}
#filtersPanel .filter-label-note{font-size:.52rem!important; text-transform:none!important; letter-spacing:0!important; color:rgba(255,255,255,.30)!important}
#filtersPanel .filter-chips{display:flex!important; flex-wrap:wrap!important; gap:6px!important}
#filtersPanel .fchip{height:31px!important; min-height:31px!important; padding:0 9px!important; border-radius:9px!important; font-size:.67rem!important; white-space:nowrap!important}
#filtersPanel .filters-panel-footer{
  position:sticky!important; bottom:-14px!important; z-index:4!important;
  margin:12px -14px -14px!important; padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;
  display:flex!important; align-items:center!important; gap:9px!important;
  background:rgba(12,12,15,.98)!important; border-top:1px solid rgba(255,255,255,.08)!important;
  backdrop-filter:blur(16px)!important; -webkit-backdrop-filter:blur(16px)!important;
}
#filtersPanel .drawer-result-copy{flex:1!important; min-width:0!important; color:rgba(255,255,255,.60)!important; font-size:.68rem!important}
#filtersPanel .drawer-result-copy strong{display:block!important; color:#fff!important; font-size:.84rem!important}
#filtersPanel .drawer-apply{
  min-width:150px!important; height:42px!important; border:0!important; border-radius:11px!important; cursor:pointer!important;
  background:linear-gradient(180deg,#e20b0b,#b90000)!important; color:#fff!important; font:900 .72rem/1 Inter,Arial,sans-serif!important;
  box-shadow:0 10px 28px rgba(212,0,0,.24)!important;
}

/* Finder remains compact and never grows when the drawer is open */
.vehicle-finder-v9{position:relative!important; z-index:2!important}
.vehicle-finder-v9 .filters-bar{min-height:0!important}
.vehicle-finder-v9 .finder-status-row{margin-top:.26rem!important; min-height:20px!important}
.vehicle-finder-v9 .filters-toggle-btn.open{border-color:rgba(255,45,45,.7)!important; background:rgba(212,0,0,.16)!important}

/* =========================================================
   DSG COPILOTE — isolated widget (no global header leakage)
   ========================================================= */
.dsg-chat-panel{
  position:fixed!important; right:20px!important; left:auto!important; bottom:86px!important; top:auto!important;
  z-index:20020!important; width:390px!important; max-width:calc(100vw - 28px)!important;
  height:min(600px,calc(100dvh - 112px))!important; min-height:430px!important; max-height:660px!important;
  display:none!important; grid-template-rows:66px minmax(0,1fr) 62px!important;
  border-radius:22px!important; overflow:hidden!important; isolation:isolate!important; contain:layout paint!important;
  background:linear-gradient(180deg,#111115 0%,#070709 100%)!important;
  border:1px solid rgba(255,255,255,.13)!important; box-shadow:0 38px 120px rgba(0,0,0,.70)!important;
}
.dsg-chat-panel.open{display:grid!important}
.dsg-chat-panel *{box-sizing:border-box}
.dsg-chat-head{
  position:relative!important; inset:auto!important; width:auto!important; height:auto!important; min-height:66px!important;
  margin:0!important; padding:9px 11px!important; display:flex!important; align-items:center!important; gap:10px!important;
  background:linear-gradient(90deg,rgba(185,0,0,.20),rgba(255,255,255,.025))!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important; box-shadow:none!important; transform:none!important;
}
.dsg-bot-avatar{width:48px!important; height:48px!important; min-width:48px!important; border-radius:50%!important; overflow:hidden!important; background:#08080a!important; border:1px solid rgba(255,255,255,.13)!important; box-shadow:0 8px 24px rgba(0,0,0,.35)!important}
.dsg-bot-avatar img{width:100%!important; height:100%!important; object-fit:cover!important; display:block!important; filter:none!important}
.dsg-chat-title{font-size:.96rem!important}.dsg-chat-sub{font-size:.65rem!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; max-width:245px!important}
.dsg-chat-close{flex:0 0 auto!important}
.dsg-chat-body{min-height:0!important; overflow-y:auto!important; overflow-x:hidden!important; padding:12px!important; scrollbar-width:thin!important; scrollbar-color:rgba(255,255,255,.18) transparent!important}
.dsg-chat-body::-webkit-scrollbar{width:6px}.dsg-chat-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:10px}
.dsg-welcome-card{padding:12px!important; border-radius:14px!important}
.dsg-chat-actions{gap:6px!important}.dsg-chat-chip{min-height:34px!important; padding:0 10px!important; border-radius:10px!important; font-size:.69rem!important}
.dsg-chat-inputbar{height:62px!important; min-height:62px!important; max-height:62px!important; padding:9px!important; background:#09090b!important}
.dsg-chat-input{height:42px!important; min-height:42px!important; max-height:42px!important; line-height:normal!important}
.dsg-contact-dock{z-index:20010!important}
.dsg-contact-dock .dsg-dock-btn.assistant img{width:100%!important; height:100%!important; object-fit:cover!important; border-radius:50%!important; filter:none!important}
.dsg-contact-dock .dsg-dock-btn.assistant{padding:5px!important; background:#09090b!important}
.dsg-contact-dock .dsg-dock-btn.assistant::before{right:4px!important;bottom:4px!important;border-color:#09090b!important}
body.dsg-chat-open{overflow:auto!important}
.dsg-contact-dock.chat-open{display:flex!important}
.dsg-contact-dock.chat-open .dsg-dock-btn:not(.assistant){display:none!important}

/* focus polish */
#filtersPanel button:focus-visible,#filtersPanel select:focus-visible,.dsg-chat-panel button:focus-visible,.dsg-chat-panel input:focus-visible{outline:2px solid #ff3b3b!important;outline-offset:2px!important}

@media(max-width:768px){
  #filtersPanel{
    left:0!important; right:0!important; top:auto!important; bottom:0!important; width:100%!important;
    max-width:none!important; max-height:84dvh!important; min-height:0!important; border-radius:22px 22px 0 0!important;
    padding:0 12px calc(12px + env(safe-area-inset-bottom))!important;
  }
  #filtersPanel.open{animation:v11SheetIn .2s cubic-bezier(.2,.75,.2,1)!important}
  @keyframes v11SheetIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  #filtersPanel .filters-panel-head{margin:0 -12px 9px!important;padding:13px 12px 11px!important;border-radius:22px 22px 0 0!important}
  #filtersPanel .filters-panel-subtitle{font-size:.64rem!important;max-width:230px!important}
  #filtersPanel .filter-select-grid-v9{grid-template-columns:1fr!important}
  #filtersPanel .wide-filter{grid-column:auto!important}
  #filtersPanel .filters-panel-footer{bottom:calc(-12px - env(safe-area-inset-bottom))!important;margin:10px -12px calc(-12px - env(safe-area-inset-bottom))!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}
  #filtersPanel .drawer-apply{min-width:138px!important}

  .dsg-chat-panel{
    left:0!important; right:0!important; bottom:0!important; top:auto!important; width:100%!important; max-width:none!important;
    height:min(78dvh,680px)!important; min-height:420px!important; max-height:calc(100dvh - 24px)!important;
    border-radius:24px 24px 0 0!important; grid-template-rows:64px minmax(0,1fr) calc(62px + env(safe-area-inset-bottom))!important;
  }
  .dsg-chat-head{min-height:64px!important;padding:8px 10px!important}
  .dsg-bot-avatar{width:46px!important;height:46px!important;min-width:46px!important}
  .dsg-chat-sub{max-width:190px!important;font-size:.61rem!important}
  .dsg-chat-body{padding:10px!important}
  .dsg-chat-inputbar{height:auto!important;min-height:62px!important;max-height:none!important;padding:9px 9px calc(9px + env(safe-area-inset-bottom))!important}
  .dsg-contact-dock.chat-open{display:none!important}
  body.dsg-chat-open{overflow:hidden!important}
}

@media(max-width:390px){
  .dsg-chat-panel{height:min(80dvh,650px)!important;min-height:390px!important}
  .dsg-chat-title{font-size:.91rem!important}.dsg-live-pill{display:none!important}.dsg-chat-sub{max-width:175px!important}
  #filtersPanel .filters-panel-title{font-size:.94rem!important}
}
#filtersPanel{scrollbar-width:thin!important;scrollbar-color:rgba(255,255,255,.18) transparent!important}
#filtersPanel::-webkit-scrollbar{width:7px!important}
#filtersPanel::-webkit-scrollbar-track{background:transparent!important}
#filtersPanel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18)!important;border-radius:10px!important;border:2px solid transparent!important;background-clip:padding-box!important}
body.filters-drawer-open .dsg-contact-dock{display:none!important}
@media(min-width:769px){
  .dsg-chat-panel{height:min(540px,calc(100dvh - 120px))!important;min-height:420px!important}
}
@media(max-width:768px){
  .dsg-chat-panel{height:min(70dvh,590px)!important;min-height:420px!important}
}

/* === v12.css === */
/* DSG AUTO V12.1 — couche finale de stabilisation (chargée en dernier) */

/* ── Filtres : jamais visibles tant que le tiroir n'est pas ouvert ── */
#filtersPanel:not(.open){display:none!important}
#filtersBackdrop:not(.open){display:none!important}
#filtersPanel{max-width:calc(100vw - 24px)!important}

/* ── Apex : mise en page blindée ── */
.dsg-chat-panel{
  box-sizing:border-box!important;
  position:fixed!important; right:18px!important; left:auto!important; bottom:84px!important; top:auto!important;
  width:400px!important; max-width:calc(100vw - 24px)!important;
  height:min(620px,calc(100dvh - 110px))!important; min-height:380px!important; max-height:calc(100dvh - 100px)!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  transform:none!important; overflow:hidden!important;
}
.dsg-chat-panel:not(.open){display:none!important}
.dsg-chat-panel>*{min-width:0!important}
.dsg-chat-head{display:flex!important; align-items:center!important; gap:11px!important; padding:11px 12px!important; min-height:0!important}
.dsg-chat-head>div:nth-child(2){flex:1 1 auto!important; min-width:0!important}
.dsg-chat-title-row{display:flex!important; align-items:center!important; gap:8px!important; flex-wrap:nowrap!important}
.dsg-chat-title{white-space:nowrap!important}
.dsg-chat-sub{display:block!important; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; max-width:100%!important}
.dsg-chat-close{width:34px!important; height:34px!important; min-width:34px!important; border-radius:50%!important; display:grid!important; place-items:center!important; border:1px solid rgba(255,255,255,.14)!important; background:rgba(255,255,255,.06)!important; color:#fff!important; font-size:20px!important; line-height:1!important; padding:0!important; cursor:pointer!important}
.dsg-chat-close:hover{background:rgba(213,0,0,.5)!important}
.dsg-chat-body{width:100%!important; max-width:100%!important; overflow-x:hidden!important; overflow-y:auto!important}
.dsg-chat-body *{max-width:100%}
.dsg-msg,.dsg-welcome-card,.dsg-car-card{overflow-wrap:anywhere!important; word-break:break-word!important}
.dsg-chat-actions{display:flex!important; flex-wrap:wrap!important}
.dsg-chat-inputbar{display:flex!important; align-items:center!important; gap:8px!important; width:100%!important; height:auto!important; min-height:62px!important; max-height:none!important; padding:10px!important}
.dsg-chat-input{flex:1 1 auto!important; min-width:0!important; width:auto!important; height:42px!important; padding:0 14px!important; border-radius:12px!important; border:1px solid rgba(255,255,255,.16)!important; background:rgba(255,255,255,.06)!important; color:#fff!important; font:inherit!important; font-size:.86rem!important}
.dsg-chat-input:focus{outline:none!important; border-color:#ff3b3b!important; box-shadow:0 0 0 3px rgba(213,0,0,.22)!important}
.dsg-chat-send{flex:0 0 42px!important; width:42px!important; height:42px!important; display:grid!important; place-items:center!important}

/* ── Mascotte Apex (robot casque course DSG) ── */
.dsg-bot-avatar{width:52px!important; height:52px!important; min-width:52px!important; border-radius:16px!important; background:#0a0a0c!important; border:1px solid rgba(255,70,70,.35)!important; box-shadow:0 0 0 3px rgba(213,0,0,.10),0 8px 24px rgba(0,0,0,.4)!important; overflow:hidden!important; padding:0!important}
.dsg-bot-avatar img{width:100%!important; height:100%!important; object-fit:contain!important; border-radius:0!important}
.dsg-contact-dock .dsg-dock-btn.assistant{padding:0!important; width:54px!important; height:54px!important; min-width:54px!important; min-height:54px!important; border-radius:50%!important; background:#0a0a0c!important; border:2px solid #d50000!important; box-shadow:0 0 0 3px rgba(213,0,0,.15),0 10px 28px rgba(213,0,0,.35)!important; overflow:hidden!important; animation:dsgBotPulse 3.2s ease-in-out infinite}
.dsg-contact-dock .dsg-dock-btn.assistant img{width:100%!important; height:100%!important; object-fit:cover!important; border-radius:50%!important}
.dsg-contact-dock .dsg-dock-btn.assistant::before{right:3px!important; bottom:3px!important; z-index:2}
@keyframes dsgBotPulse{0%,100%{box-shadow:0 0 0 3px rgba(213,0,0,.15),0 10px 28px rgba(213,0,0,.35)}50%{box-shadow:0 0 0 6px rgba(213,0,0,.08),0 10px 34px rgba(213,0,0,.55)}}
@media(prefers-reduced-motion:reduce){.dsg-contact-dock .dsg-dock-btn.assistant{animation:none}}

/* ── Mobile ── */
@media(max-width:768px){
  .dsg-chat-panel{
    left:8px!important; right:8px!important; width:auto!important; max-width:none!important;
    bottom:calc(86px + env(safe-area-inset-bottom))!important;
    height:min(74dvh,600px)!important; min-height:340px!important; border-radius:20px!important;
  }
  .dsg-contact-dock .dsg-dock-btn.assistant{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important}
}
@media(max-height:560px){
  .dsg-chat-panel{height:calc(100dvh - 90px)!important; min-height:0!important; bottom:70px!important}
}

/* ── Cartes véhicules : débordements ── */
.vehicle-card,.vcard{min-width:0}
.vehicle-title,.vcard-title{overflow-wrap:anywhere}

/* Cartes véhicule du chat */
.dsg-car-card img{object-fit:cover!important;background:#15151a!important;font-size:0!important}
.dsg-car-card img.dsg-car-noimg{object-fit:contain!important;padding:8px!important;box-sizing:border-box!important}
.dsg-car-actions a,.dsg-car-actions button{font-family:Inter,Manrope,system-ui,Arial,sans-serif!important;font-size:.7rem!important;font-weight:750!important}

/* Listes déroulantes des filtres : lisibles, sans texte coupé */
#filtersPanel .filter-select-card select,.vehicle-finder select{font-weight:600!important;font-size:.72rem!important;text-overflow:ellipsis}
#filtersPanel .filter-select-card select{padding-right:26px!important}

/* ═══ FILTRES EN LIGNE — visibles directement sur la page Véhicules (plus de tiroir) ═══ */
#filtersBar #filtersPanel{
  position:static!important; inset:auto!important; z-index:auto!important; transform:none!important; animation:none!important;
  width:100%!important; max-width:100%!important; height:auto!important; max-height:none!important; min-height:0!important;
  margin:10px 0 0!important; padding:14px!important; border-radius:16px!important; overflow:visible!important;
  background:rgba(255,255,255,.03)!important; border:1px solid rgba(255,255,255,.09)!important; box-shadow:none!important;
  isolation:auto!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
#filtersBar #filtersPanel:not(.open){display:none!important}
#filtersBar #filtersPanel.open{display:block!important}
#filtersBar #filtersPanel .filters-panel-head{
  position:static!important; margin:0 0 12px!important; padding:0 0 10px!important; background:none!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; border-radius:0!important;
}
#filtersBar #filtersPanel .filters-panel-subtitle{max-width:none!important}
#filtersBar #filtersPanel .filter-select-grid-v9{grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:10px!important; margin:0 0 10px!important}
#filtersBar #filtersPanel .wide-filter{grid-column:auto!important}
#filtersBar #filtersPanel .filters-grid-v9{grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:10px!important; margin-top:0!important}
#filtersBar #filtersPanel .filters-panel-footer{
  position:static!important; margin:12px 0 0!important; padding:12px 0 0!important; background:none!important;
  border-top:1px solid rgba(255,255,255,.08)!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
#filtersBackdrop{display:none!important}
body.filters-drawer-open{overflow:auto!important}
@media(max-width:1100px){
  #filtersBar #filtersPanel .filter-select-grid-v9{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #filtersBar #filtersPanel .filters-grid-v9{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
  #filtersBar #filtersPanel{padding:12px!important}
  #filtersBar #filtersPanel .filter-select-grid-v9{grid-template-columns:1fr 1fr!important}
  #filtersBar #filtersPanel .filters-grid-v9{grid-template-columns:1fr!important}
}
#filtersBar #filtersPanel [hidden],#filtersBar #filtersPanel .filter-group[hidden]{display:none!important}
@media(max-width:700px){
  .finder-toolbar{flex-wrap:wrap!important}
  .finder-toolbar .search-wrap{flex:1 1 100%!important}
  .finder-toolbar .filters-toggle-btn{flex:1 1 calc(50% - 6px)!important}
  .finder-toolbar .sort-select{flex:1 1 calc(50% - 6px)!important;min-width:0!important;width:auto!important}
}
@media(max-width:700px){
  .vehicle-finder-v9 .finder-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .vehicle-finder-v9 .finder-toolbar .search-wrap{grid-column:1/-1!important}
  .vehicle-finder-v9 .finder-toolbar .sort-select{width:100%!important}
}
.dsg-car-why{margin:-1px 0 0;padding:6px 10px;border:1px solid rgba(255,255,255,.09);border-top:0;background:rgba(53,208,113,.07);color:#7ee2a3;font-size:.66rem;font-weight:700;line-height:1.3}
.dsg-car-wrap .dsg-car-card{border-radius:13px 13px 0 0}

/* Carte & itinéraire */
.map-embed{height:420px;border:1px solid rgba(255,255,255,.12)!important;border-radius:16px;overflow:hidden;background:#111}
.map-embed iframe{width:100%;height:100%;border:0;display:block}
.map-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}
.map-btn{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;font-weight:800;font-size:.85rem;text-decoration:none}
.map-btn:hover{border-color:#ff3b3b}
.map-btn-primary{background:linear-gradient(180deg,#e10000,#a30000);border-color:transparent}
@media(max-width:700px){.map-embed{height:300px!important}.map-btn{flex:1 1 100%;justify-content:center}}

/* === v17.css === */
/* DSG AUTO V17 — typographie auto-hébergée, fond et finitions (feuille finale) */
@font-face{font-family:'Plus Jakarta Sans';src:url('fonts/jakarta-latin-wght-normal.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('fonts/jakarta-latin-wght-normal.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
:root{--font-display:'Plus Jakarta Sans','Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;--font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body)!important;font-feature-settings:'cv11','ss01','tnum' 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:1.6}
h1,h2,h3,h4,.section-title,.logo,.price,[class*="title"],[class*="-price"]{font-family:var(--font-display)}
h1,h2,h3,.section-title{letter-spacing:-.018em;line-height:1.12;text-wrap:balance}
h1{font-weight:800}
h2,.section-title{font-weight:750}
p,li{text-wrap:pretty}
button,input,select,textarea{font-family:var(--font-body)}
.badge,.eyebrow,[class*="kicker"],[class*="label"]{letter-spacing:.06em}
/* Fond : fibre de carbone très discrète + lueurs de marque, fixe et sans coût de scroll */
body{background:#060608!important}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1100px 560px at 12% -4%,rgba(214,0,0,.24),transparent 62%),
    radial-gradient(900px 520px at 92% 6%,rgba(255,106,0,.12),transparent 60%),
    radial-gradient(1200px 700px at 50% 112%,rgba(214,0,0,.10),transparent 65%),
    linear-gradient(180deg,#07070a 0%,#050507 100%)}
/* Sections : séparation douce */
main>section+section,section.section+section.section{border-top:1px solid rgba(255,255,255,.04)}
/* Accessibilité & finitions */
:focus-visible{outline:2px solid #ff4a3d;outline-offset:3px;border-radius:6px}
::selection{background:rgba(214,0,0,.55);color:#fff}
img{max-width:100%;height:auto}
a{text-underline-offset:3px}
::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:#09090c}::-webkit-scrollbar-thumb{background:#2a2a31;border-radius:99px;border:2px solid #09090c}::-webkit-scrollbar-thumb:hover{background:#3b3b44}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Mur de marque : plus discret, et sections translucides pour supprimer les coupures franches */
.brand-wall{opacity:.15!important;background-size:460px auto!important;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,rgba(0,0,0,.55) 100%);mask-image:linear-gradient(180deg,#000 0%,#000 55%,rgba(0,0,0,.55) 100%)}
main section,body>section,section{background-color:transparent!important;background-image:none}
section.section-dark,.section-dark{background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,.008))!important;border-block:1px solid rgba(255,255,255,.05)}
/* En-tête compact au scroll */
header{transition:box-shadow .25s,background .25s}
header .header-top{transition:max-height .25s,opacity .2s,padding .25s;max-height:60px;overflow:hidden}
body.scrolled header .header-top{max-height:0;opacity:0;padding-top:0;padding-bottom:0;border:0}
body.scrolled header{box-shadow:0 10px 40px rgba(0,0,0,.55)}
/* Hero */
.hero h1{font-family:var(--font-display)!important;font-size:clamp(3rem,9vw,6.4rem)!important;font-weight:800!important;letter-spacing:-.03em!important;line-height:1!important;text-shadow:0 8px 60px rgba(0,0,0,.6)}
.hero h1 span{background:linear-gradient(180deg,#ff4d3d,#d40000 70%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hero-content>p{font-size:clamp(1.02rem,2.2vw,1.35rem)!important;color:#d6d6de!important;letter-spacing:.01em!important;max-width:34ch;margin-inline:auto}
.hero-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.hero-chips span{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);font-size:.82rem;font-weight:600;color:#eee}
.hero-chips i{font-style:normal;color:#ff5a4d}
.hero-cta{border-radius:14px!important;font-family:var(--font-display)!important;letter-spacing:.04em!important;transition:transform .18s,box-shadow .18s,background .18s!important}
.hero-cta:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(214,0,0,.45)}
/* Cartes : verre cohérent partout */
.service-card,.why-card,[class*="why-"] > div,.review-card,.vehicle-card{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02))!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:18px!important;box-shadow:0 18px 50px rgba(0,0,0,.35)!important;transition:transform .22s,border-color .22s,box-shadow .22s}
.service-card:hover,.vehicle-card:hover,.review-card:hover{transform:translateY(-4px);border-color:rgba(255,70,55,.4)!important;box-shadow:0 26px 70px rgba(0,0,0,.5),0 0 0 1px rgba(255,70,55,.12)!important}
/* Grille services : 6 cartes = 3 colonnes (plus d'orphelines) */
@media (min-width:1100px){.services-grid:has(> :nth-child(6):last-child){grid-template-columns:repeat(3,1fr)!important}}
/* Titres de section */
.section-title{font-size:clamp(1.8rem,4vw,3rem)!important}
.section-subtitle{color:#b9b9c4!important;font-size:clamp(.98rem,1.6vw,1.12rem)}
@media (max-width:600px){.hero-chips span{font-size:.76rem;padding:8px 12px}}
header{background:rgba(6,6,9,.9)!important}
.hero-chips{gap:8px}
@media (max-width:420px){.hero-chips span:nth-child(3){display:none}}
h1{overflow-wrap:break-word;max-width:100%}
body:not(:has(.hero)) h1{font-size:clamp(1.7rem,7.4vw,3rem)!important}

.faq-item{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:15px 18px;margin:10px 0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}
.faq-item summary{cursor:pointer;font-weight:700;font-family:var(--font-display);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq-item summary::after{content:"+";color:#ff5a4d;font-size:1.3rem;line-height:1}.faq-item[open] summary::after{content:"–"}
.faq-item p{margin:.8rem 0 0;color:#cfcfd8;line-height:1.7}
.faq-section a{color:#ff6a5c}
