/* 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:1100px; margin:auto; padding:70px 6vw; }
.deposit-main h1 { max-width:830px; font-size:clamp(36px,5vw,65px); line-height:1.05; letter-spacing:-.05em; }
.deposit-main h2 { font-size:clamp(23px,3vw,35px); letter-spacing:-.035em; }
.deposit-main p,.deposit-main li { max-width:800px; color:#b9c3d1; font-size:15px; line-height:1.8; }
.deposit-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:40px 0; }
.deposit-steps article { padding:24px; border:1px solid #303947; background:#12161e; }
.deposit-steps span { color:#9fc4b1; font:12px "DM Mono",monospace; }
.deposit-steps h2 { font-size:21px; }
.deposit-main details { padding:20px 0; border-top:1px solid #303947; }
.deposit-main summary { cursor:pointer; line-height:1.6; font-weight:700; }
.deposit-main .button { color:#101a22; background:#dce8e3; margin:20px 0; }
.deposit-main a:not(.button) { color:#b9dfcc; text-underline-offset:4px; }
@media(max-width:700px) {
  .dossier-grid,.deposit-steps { grid-template-columns:1fr; }
  .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; }
}
