/* Fill the panorama across both edges without the blurred side panels. */
main:not(.vehicle-detail-page)>.hero::before{background-size:cover;background-position:center bottom}
main:not(.vehicle-detail-page)>.hero::after{content:none;display:none;background:none;filter:none;transform:none}

/* One shared route panel for the home card and the expanded dialog. The
   separator has a dedicated row so it cannot intersect a field label. */
.hero .booking-card:not(.is-expanded) .booking-fields .booking-route-fields,
.hero .booking-card.is-expanded .booking-fields .booking-route-fields{
 display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 14px auto;
 row-gap:3px;min-height:146px;height:auto;padding:12px 14px;
 border:1px solid #d8e5e8;border-radius:12px;background:#f8fbfc;
 align-items:stretch;box-sizing:border-box;
}
.hero .booking-card:not(.is-expanded) .booking-fields .booking-route-fields>label,
.hero .booking-card.is-expanded .booking-fields .booking-route-fields>label{
 display:flex;flex-direction:column;justify-content:center;gap:4px;
 height:auto;min-height:0;margin:0;padding:0;align-self:stretch;
}
.hero .booking-card:not(.is-expanded) .booking-fields .booking-route-fields>label>span,
.hero .booking-card.is-expanded .booking-fields .booking-route-fields>label>span{
 display:block;position:static;margin:0;padding:0;font-size:11px;line-height:1.4;
}
.hero .booking-card:not(.is-expanded) .booking-fields .booking-route-fields>label>input:not(.sc-control-native),
.hero .booking-card.is-expanded .booking-fields .booking-route-fields>label>input:not(.sc-control-native){
 display:block;flex:none;box-sizing:border-box;width:100%;height:30px!important;min-height:30px!important;
 padding:0 1px!important;border:0!important;border-radius:0;background:transparent;
 font-size:clamp(13px,1vw,15px);line-height:30px;box-shadow:none;
}
.hero .booking-card:not(.is-expanded) .booking-fields .booking-route-fields .route-line,
.hero .booking-card.is-expanded .booking-fields .booking-route-fields .route-line{
 display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;
 gap:10px;height:14px;min-height:14px;margin:0;padding:0;line-height:1;
}
.hero .booking-card .booking-route-fields .route-line b{line-height:14px}
.hero .booking-card .booking-route-fields:focus-within{border-color:#23a9bf;box-shadow:0 0 0 3px #23a9bf14}

@media(min-width:1024px) and (min-height:721px){
 .hero .booking-card.is-expanded>.booking-fields{
  grid-template-rows:auto repeat(2,minmax(min-content,1fr)) minmax(min-content,2.2fr) repeat(3,minmax(min-content,1fr)) minmax(min-content,1.15fr) auto;
 }
 /* All three controls share the same tracks, including the error line. */
 .hero .booking-card.is-expanded .booking-fields>.booking-identity-row>label{
  display:grid;grid-template-rows:auto minmax(38px,1fr);row-gap:5px;
  height:100%;min-height:0;align-self:stretch;align-items:stretch;
 }
 .hero .booking-card.is-expanded .booking-fields>.booking-identity-row:has(.sc-field-error)>label{
  grid-template-rows:auto minmax(38px,1fr) 18px;
 }
 .hero .booking-card.is-expanded .booking-fields>.booking-identity-row>label>span{grid-row:1}
 .hero .booking-card.is-expanded .booking-fields>.booking-identity-row>label>input:not(.sc-control-native),
 .hero .booking-card.is-expanded .booking-fields>.booking-identity-row>label>select:not(.sc-control-native),
 .hero .booking-card.is-expanded .booking-fields>.booking-identity-row>label>.sc-control{
  grid-row:2;flex:none;align-self:stretch;height:100%!important;min-height:38px!important;max-height:none;
 }
 .hero .booking-card.is-expanded .booking-fields>.booking-identity-row>label>.sc-field-error{
  grid-row:3;margin:0!important;min-height:18px;line-height:18px!important;
 }
}
@media(min-width:1024px) and (max-height:820px){
 .hero .booking-card.is-expanded .booking-fields .booking-route-fields{
  min-height:128px;padding:9px 12px;row-gap:2px;grid-template-rows:auto 12px auto;
 }
 .hero .booking-card.is-expanded .booking-fields .booking-route-fields>label{gap:3px}
 .hero .booking-card.is-expanded .booking-fields .booking-route-fields>label>span{font-size:10px}
 .hero .booking-card.is-expanded .booking-fields .booking-route-fields>label>input:not(.sc-control-native){height:26px!important;min-height:26px!important;line-height:26px}
 .hero .booking-card.is-expanded .booking-fields .booking-route-fields .route-line{height:12px;min-height:12px}
}
