/* Scoped to vehicle detail pages; search/checkout and administration are unchanged. */
.vehicle-date-dialog { box-sizing:border-box; width:min(520px,calc(100% - 24px)); max-width:none; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); margin:auto; padding:24px; overflow:auto; overscroll-behavior:contain; border:1px solid #caddd6; border-radius:20px; background:#fff; color:#153c3b; box-shadow:0 20px 80px #10252740; }
.vehicle-date-dialog:not([open]) { display:none; }
.vehicle-date-dialog::backdrop { background:#10252788; }
.vd-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.vehicle-date-dialog .vd-head h2 { margin:0; font:700 24px/1.2 Outfit,Arial,sans-serif; letter-spacing:-.4px; }
.vd-close { flex:none; width:44px; height:44px; border:0; border-radius:50%; background:#edf6f2; color:#153c3b; font:400 26px Arial,sans-serif; cursor:pointer; }
#vehicleDatesCar { margin:10px 0 22px; color:#526d67; font-size:14px; line-height:1.5; }
.vd-fields { display:grid; grid-template-columns:minmax(0,1fr) 128px; gap:16px 12px; align-items:end; }
.vd-fields .field { min-width:0; grid-column:auto; }
.vd-fields .field label { margin:0 0 7px; font-size:12px; line-height:1.3; }
.vd-fields .field :is(input,.booking-date-trigger) { box-sizing:border-box; width:100%; min-width:0; max-width:100%; min-inline-size:0; -webkit-min-logical-width:0; height:46px; min-height:46px; margin:0; padding:0 10px; border:1px solid #cbdcd7; border-radius:8px; background:#fff; color:#163437; font:500 16px/1.25 'DM Sans',Arial,sans-serif; appearance:none; -webkit-appearance:none; }
.vd-fields .field .booking-date-trigger { font-size:14px; }
.vd-fields .field input[type=hidden] { display:none; }
.vd-fields .bd-value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.vd-fields input::-webkit-date-and-time-value { min-width:0; min-height:1.25em; margin:0; text-align:left; }
.vd-fields input::-webkit-datetime-edit,.vd-fields input::-webkit-datetime-edit-fields-wrapper { padding:0; }
.vd-fields input::-webkit-calendar-picker-indicator { width:16px; height:16px; margin:0 0 0 4px; padding:0; }
.vd-status { margin:16px 0; min-height:20px; color:#08777b; font-size:13px; line-height:1.5; }
.vd-status.is-error { color:#a23429; }
.vd-submit { width:100%; min-height:46px; justify-content:space-between; border-radius:8px; }
.vd-submit:disabled { cursor:wait; opacity:.65; }
.vd-help { margin:12px 0 0; color:#637a72; font-size:12px; line-height:1.5; }
.vehicle-date-dialog :is(button,input):focus-visible { outline:3px solid #087e82; outline-offset:3px; }
.vehicle-availability-result { margin-top:18px; padding:18px; border:1px solid #a7d6c0; border-left:4px solid #218656; border-radius:12px; background:#eff9f3; color:#234d3d; scroll-margin-top:100px; }
.public-vehicle-info .vehicle-availability-result h2 { margin:0 0 8px; font:600 21px/1.3 Outfit,Arial,sans-serif; color:#1a6848; }
.vehicle-availability-result p { margin:8px 0; font-size:13px; line-height:1.6; }
.vehicle-availability-price strong { display:block; color:#153c3b; font:700 28px/1.3 Outfit,Arial,sans-serif; }
.vehicle-availability-price span { display:block; margin-top:3px; }
.vehicle-availability-result .button { display:flex; justify-content:space-between; min-height:46px; margin-top:16px; border-radius:8px; padding:12px; }
.vehicle-availability-result.is-unavailable { background:#fff7e9; border-color:#e6c895; border-left-color:#b88013; color:#715423; }
.public-vehicle-info .vehicle-availability-result.is-unavailable h2 { color:#805411; }
.vehicle-availability-alternatives { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; color:#665021; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.vehicle-availability-result:focus-visible { outline:3px solid #087e82; outline-offset:3px; }
@media(max-width:600px) { .vehicle-date-dialog { padding:20px 16px; border-radius:16px; } .vehicle-date-dialog .vd-head h2 { font-size:22px; } .vd-fields { grid-template-columns:minmax(0,1fr) 108px; gap:13px 10px; } .vehicle-availability-result { padding:15px; } .vehicle-availability-result .button { gap:10px; } }
@media(max-width:360px) { .vd-fields { grid-template-columns:minmax(0,1fr) 96px; gap:12px 8px; } .vd-fields .field label { font-size:11px; } .vd-fields .field .booking-date-trigger { padding:0 7px; font-size:13px; } .vehicle-date-dialog .vd-head h2 { font-size:20px; } }
