/* Shared layout for phones, tablets, laptops, and large desktop screens. */
html{overflow-x:clip}
.booking-card,.booking-card label,.booking-card .field-grid,.booking-price-selectors,.sc-control,.spc-route-search{min-width:0;box-sizing:border-box}
.booking-card.is-expanded{max-height:calc(100dvh - 36px);grid-template-columns:minmax(340px,.95fr) minmax(370px,1.05fr);gap:0 24px;padding:26px}
.booking-card.is-expanded .booking-route-preview{min-width:0;min-height:0;grid-template-rows:auto clamp(230px,42dvh,440px) auto auto auto;max-height:none}
.booking-card.is-expanded .booking-map-frame{min-height:0}
.booking-route-metrics strong{overflow-wrap:anywhere}
.sc-popover{overscroll-behavior:contain;touch-action:pan-y}
.sc-popover-backdrop{position:fixed;inset:0;z-index:19999;background:#062b3f58;backdrop-filter:blur(2px);touch-action:none;animation:sc-backdrop-in .14s ease-out}
.sc-popover.is-sheet{border-radius:20px;max-width:calc(100vw - 24px);padding-bottom:calc(10px + env(safe-area-inset-bottom));box-shadow:0 18px 65px #05243140}
.locale-dialog,.supercar-deposit-dialog,.demo-modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.supercar-cart-drawer{width:min(440px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;box-sizing:border-box}
.supercar-cart-body{min-width:0;overscroll-behavior:contain;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.sc-control-value{min-width:0}
@media(min-width:1600px){.booking-card.is-expanded{max-width:1500px}.booking-card.is-expanded .booking-route-preview{grid-template-rows:auto minmax(350px,48dvh) auto auto auto}}
@media(max-width:1023px){
 .hero-inner{grid-template-columns:minmax(0,1fr);width:calc(100% - 32px);gap:32px;padding:52px 0 40px}
 .hero-copy{text-align:center;margin-inline:auto}
 .booking-card:not(.is-expanded){width:min(500px,100%);max-width:100%;margin-inline:auto}
 .booking-card.is-expanded{inset:0;width:100%;height:100dvh;max-width:none;max-height:100dvh;border-radius:0;border:0;margin:0;display:block;padding:calc(62px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-left)) calc(32px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-right));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .booking-card.is-expanded .booking-expanded-close{position:fixed;z-index:190;top:calc(10px + env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));min-width:44px;min-height:44px;background:#fff}
 .booking-card.is-expanded .booking-heading{padding-right:0}
 .booking-card.is-expanded .booking-route-preview{position:static;display:grid;grid-template-rows:auto clamp(220px,40dvh,380px) auto auto auto;width:100%;margin-top:22px;padding:18px}
 .booking-card.is-expanded .booking-submit{margin-top:20px;min-height:48px}
 .booking-card .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .booking-price-selectors{grid-template-columns:repeat(2,minmax(0,1fr))}
 .spc-route-results{max-width:100%;overscroll-behavior:contain}
}
@media(max-width:600px){
 .hero-inner{width:calc(100% - 24px);padding-top:32px;gap:24px}
 .booking-card:not(.is-expanded){padding:22px 18px;border-radius:18px}
 .booking-card.is-expanded{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 .booking-price-selectors{grid-template-columns:minmax(0,1fr);gap:12px}
 .booking-card.is-expanded .booking-route-preview{padding:13px;grid-template-rows:auto clamp(190px,35dvh,300px) auto auto auto}
 .booking-route-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .booking-route-metrics .booking-fare-metric{grid-column:1/-1}
 .payment-currency-toggle,.booking-payment-options{flex-wrap:wrap}
 .spc-price-top strong{font-size:22px}
 .sc-select-popover.is-sheet{max-height:min(460px,calc(100dvh - 24px))}
 .sc-calendar-day{height:42px;font-size:14px!important}
 .sc-weekday{font-size:11px}
 .sc-month-arrow{flex-basis:40px;height:40px}
 .sc-popover-heading strong,.sc-calendar-heading strong{font-size:15px}
 .sc-calendar-today,.sc-picker-confirm{min-height:44px}
 .sc-picker-close{width:38px;height:38px}
 .sc-field-error{font-size:12px!important}
 .demo-bar{bottom:calc(8px + env(safe-area-inset-bottom));left:8px;padding:6px 8px;font-size:10px}
 .demo-bar button{padding:7px 9px}
}
@media(pointer:coarse){
 .sc-control,.booking-card input:not(.sc-control-native),.booking-card textarea,.contact-form input,.contact-form textarea,.promotion-form input,.promotion-form textarea,.supercar-cart-fields input{font-size:16px!important;min-height:48px}
 .sc-option{min-height:46px;padding-block:13px}
 .sc-time-option{min-height:44px;font-size:16px!important}
 .sc-calendar-day{min-height:42px;font-size:14px!important}
 .sc-picker-confirm,.sc-calendar-today{min-height:46px}
 .sc-month-arrow{height:40px;flex-basis:40px}
 .sc-time-list{height:176px}
 .sc-control-icon,.sc-control-icon svg{width:20px;height:20px}
}
@media(max-width:359px){
 .booking-card:not(.is-expanded){padding:18px 12px}
 .booking-card .field-grid,.booking-card:not(.is-expanded) .field-grid{gap:12px 8px}
 .sc-control{padding-inline:8px!important;gap:5px}
 .booking-card.is-expanded .booking-heading>div{font-size:22px}
 .payment-currency-toggle{display:grid;grid-template-columns:1fr}
}
@media(max-height:500px) and (max-width:1023px){
 .booking-card.is-expanded{padding-top:54px}
 .booking-card.is-expanded .booking-route-preview{grid-template-rows:auto 180px auto auto auto}
 .sc-popover.is-sheet .sc-time-preview{padding:6px;margin-bottom:7px;font-size:24px}
 .sc-popover.is-sheet .sc-time-list{height:104px}
 .sc-popover.is-sheet .sc-time-columns{margin-bottom:7px}
}
@keyframes sc-backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.sc-popover-backdrop{animation:none}}
