/* Lisibilité, confort tactile et informations vérifiables. */
:focus-visible { outline:2px solid #b9d4f0; outline-offset:4px; }
.vehicle-copy>p { overflow-wrap:anywhere; white-space:pre-line; }
.vehicle-dossier { margin-top:64px; padding-top:30px; border-top:1px solid #303947; }
.vehicle-dossier h2 { margin:0 0 25px; font-size:clamp(25px,3vw,38px); letter-spacing:-.04em; }
.dossier-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.dossier-grid article { padding:22px; background:#12161e; border:1px solid #303947; border-top:2px solid #799888; }
.dossier-grid h3 { margin:0 0 12px; font-size:15px; color:#e8f0ed; }
.dossier-grid p,.dossier-note { color:#b8c1ce; font-size:13px; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; }
.dossier-note { margin:20px 0 0; }
.appointment-form input,.appointment-form textarea,.source-form input,.source-form textarea,.source-form select { font-size:16px; min-height:46px; }
.source-form textarea { width:100%; box-sizing:border-box; padding:12px; border:1px solid #354052; background:#0c111a; color:#eef2f6; font-family:inherit; resize:vertical; }
.source-copy { min-width:0; overflow-wrap:anywhere; }
.form-privacy { font-size:11px!important; line-height:1.6; }
.form-privacy a,.form-status a { color:#c4e5d5; text-underline-offset:3px; }
.vehicle-gallery .gallery-open img { aspect-ratio:4/3; }
.stock-message { grid-column:1/-1; padding:22px; border:1px solid #303947; color:#c4cddb; font-size:14px; line-height:1.6; }
.stock-message a { color:#bddfce; }
.deposit-main { max-width:1240px; margin:auto; padding:54px 5vw 80px; }
.deposit-main h1 { margin:12px 0 24px; font-size:clamp(40px,5.5vw,76px); line-height:1.01; letter-spacing:-.055em; }
.deposit-main h1 em { color:#b9ddcb; font-style:normal; }
.deposit-main h2 { margin:10px 0 20px; font-size:clamp(28px,3.6vw,47px); line-height:1.08; letter-spacing:-.045em; }
.deposit-main h3 { margin:13px 0 9px; font-size:19px; line-height:1.3; }
.deposit-main p,.deposit-main li { color:#b9c3d1; font-size:15px; line-height:1.75; }
.deposit-hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr); gap:clamp(32px,6vw,80px); align-items:center; min-height:650px; padding:34px 0 70px; }
.deposit-lead { max-width:750px; margin:0 0 28px; font-size:clamp(16px,1.6vw,20px)!important; color:#d4dae3!important; }
.deposit-actions { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 17px; }
.deposit-actions a { display:flex; align-items:center; gap:13px; min-height:68px; padding:12px 20px; border:1px solid #3d4857; text-decoration:none; transition:.2s ease; }
.deposit-actions a:hover { transform:translateY(-2px); border-color:#8eaa9c; }
.deposit-actions small { display:block; margin-bottom:3px; color:inherit; font:10px "DM Mono",monospace; letter-spacing:.08em; }
.deposit-actions strong { display:block; color:inherit; font-size:15px; }
.deposit-call { color:#10201b; background:#c9dfd4; }
.deposit-whatsapp { color:#eff6f2; background:#1c2927; }
.deposit-whatsapp svg { flex:0 0 25px; width:25px; height:25px; fill:#7fd7ab; }
.deposit-action-icon { display:grid; place-items:center; flex:0 0 29px; width:29px; height:29px; border:1px solid currentColor; border-radius:50%; font-size:14px; }
.deposit-response { display:flex; align-items:center; gap:9px; margin:0!important; font-size:13px!important; }
.deposit-response span { width:8px; height:8px; border-radius:50%; background:#75c99f; box-shadow:0 0 0 5px rgba(117,201,159,.1); }
.deposit-estimate-card { position:relative; padding:35px; border:1px solid #35404f; background:linear-gradient(145deg,#171d27,#10141b); box-shadow:0 30px 80px rgba(0,0,0,.25); }
.deposit-estimate-card:before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#a7ceba; }
.deposit-estimate-card h2 { font-size:30px; }
.deposit-estimate-card ul { list-style:none; margin:26px 0; padding:0; }
.deposit-estimate-card li { display:flex; align-items:center; gap:14px; padding:13px 0; border-bottom:1px solid #2b3441; }
.deposit-estimate-card li b { color:#e31520; font:12px "DM Mono",monospace; }
.deposit-estimate-card li span { color:#eef2f7; font-weight:700; }
.deposit-estimate-card>p:last-child { margin-bottom:0; font-size:13px; }
.deposit-trust,.deposit-process,.deposit-options,.deposit-faq { padding:76px 0; border-top:1px solid #28313e; }
.deposit-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; }
.deposit-trust-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:34px; }
.deposit-trust-grid article { padding:28px; border:1px solid #303a47; background:#131821; }
.deposit-trust-grid article>span { color:#e31520; font:12px "DM Mono",monospace; }
.deposit-process { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(35px,8vw,105px); }
.deposit-process ol { list-style:none; margin:0; padding:0; }
.deposit-process li { display:grid; grid-template-columns:45px 1fr; gap:18px; padding:0 0 27px; margin-bottom:25px; border-bottom:1px solid #303946; }
.deposit-process li>b { display:grid; place-items:center; width:42px; height:42px; border:1px solid #6e857a; color:#c6dfd3; border-radius:50%; font:13px "DM Mono",monospace; }
.deposit-process h3 { margin-top:0; }
.deposit-process p { margin:0; }
.deposit-options>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; }
.deposit-options article { min-height:210px; padding:32px; border:1px solid #35404d; background:linear-gradient(135deg,#151b24,#10141b); }
.deposit-options article:first-child { border-top-color:#9fc4b1; }
.deposit-options article:last-child { border-top-color:#e31520; }
.deposit-faq { max-width:920px; margin:auto; }
.deposit-faq details { border-top:1px solid #303947; }
.deposit-faq details:last-child { border-bottom:1px solid #303947; }
.deposit-faq summary { position:relative; padding:23px 48px 23px 0; cursor:pointer; color:#f0f3f7; line-height:1.45; font-weight:700; list-style:none; }
.deposit-faq summary::-webkit-details-marker { display:none; }
.deposit-faq summary:after { content:"+"; position:absolute; right:8px; color:#a9cdbb; font-size:22px; font-weight:400; }
.deposit-faq details[open] summary:after { content:"−"; }
.deposit-faq details p { padding:0 50px 22px 0; margin:0; }
.deposit-final { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; margin-top:65px; padding:48px; border:1px solid #405044; background:linear-gradient(120deg,#17201f,#10151c); }
.deposit-final h2 { margin-bottom:15px; }
.deposit-final p { max-width:620px; }
.deposit-final .deposit-actions { flex-direction:column; min-width:285px; }
.deposit-final .deposit-actions a { width:100%; }
.deposit-location { max-width:none!important; margin:26px 0 0!important; text-align:center; font:12px "DM Mono",monospace!important; letter-spacing:.03em; }
@media(max-width:700px) {
  .dossier-grid { grid-template-columns:1fr; }
  .deposit-main { padding:38px 20px 60px; }
  .deposit-hero { grid-template-columns:1fr; min-height:0; padding:20px 0 55px; }
  .deposit-main h1 { font-size:42px; }
  .deposit-actions { flex-direction:column; }
  .deposit-actions a { width:100%; }
  .deposit-estimate-card { padding:27px 24px; }
  .deposit-trust,.deposit-process,.deposit-options,.deposit-faq { padding:55px 0; }
  .deposit-section-heading,.deposit-process,.deposit-final { grid-template-columns:1fr; }
  .deposit-trust-grid,.deposit-options>div { grid-template-columns:1fr; }
  .deposit-final { gap:20px; margin-top:40px; padding:29px 23px; }
  .deposit-final .deposit-actions { min-width:0; }
  .vehicle-actions .button { min-height:56px; gap:12px; padding:15px 12px; }
  .vehicle-actions svg { flex:none!important; width:24px!important; height:24px!important; }
  .appointment-dialog { max-height:90dvh; overflow-y:auto; }
  .row-actions { flex-wrap:wrap; }
  .vehicle-image-navigation { top:auto; bottom:12px; transform:none; padding:0 8px; }
  .vehicle-image-nav { width:42px; height:44px; border:1px solid #3a4555!important; border-radius:5px!important; }
  .vehicle-page { padding-bottom:76px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
