#booking .booking-fields>.booking-field{height:96px;box-sizing:border-box;padding:10px 12px;position:relative;border-radius:10px;transition:border-color .15s,box-shadow .15s}
#booking .booking-field:focus-within{border-color:#f5b800;box-shadow:0 0 0 3px #ffc2211f}
#booking .booking-field .form-label{display:block;height:20px;line-height:20px;margin:0 0 3px;font-size:.86rem;font-weight:600;color:#203047;white-space:nowrap}
#booking .booking-field .form-label i{margin-right:4px;color:#a77b00}
#booking .booking-control{height:52px;min-height:52px;position:relative;min-width:0;border:1px solid #dbe2e9;border-radius:8px;background:#fff;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
#booking .booking-control:focus-within{border-color:#e8b438;box-shadow:0 0 0 2px #ffcb4b25}
#booking .booking-control>.form-control,#booking .booking-control>.form-select{height:50px;min-height:50px;width:100%;margin:0;padding:10px 11px;border:0;border-radius:7px;background:transparent;font-family:inherit;font-size:.9rem;color:#263951;box-sizing:border-box}
#booking .booking-control>.form-control:focus,#booking .booking-control>.form-select:focus{box-shadow:none;outline:0}
#booking .booking-control>gmp-place-autocomplete{display:block;width:100%;height:50px;min-height:50px;box-sizing:border-box;border:0!important;outline:0;box-shadow:none!important;border-radius:7px;font-family:inherit;color-scheme:light}
#booking .booking-control>[hidden]{display:none!important}
#booking .booking-fields>.booking-search-action{display:flex;align-items:center;padding:10px 0;background:transparent;border:0;box-shadow:none}
#booking .booking-search-action .search-btn{height:52px;border-radius:10px}
#booking .booking-fields>.booking-notice{display:block;grid-column:1/-1;padding:0 2px;height:auto;border:0;background:transparent;box-shadow:none}
#booking .booking-notice>small{display:block;font-size:.7rem;line-height:1.45;color:#667482!important}
#booking .booking-notice .form-message:empty{display:none}
#booking .booking-notice .form-message:not(:empty){padding:8px 0;color:#a33616;font-weight:500;font-size:.86rem}
.flatpickr-calendar{z-index:10000!important}.flatpickr-calendar .flatpickr-monthDropdown-months{font-size:.95rem}.flatpickr-calendar .flatpickr-day.selected,.flatpickr-calendar .flatpickr-day.startRange,.flatpickr-calendar .flatpickr-day.endRange{background:#ffc221;border-color:#ffc221;color:#16212d}
@media(max-width:767px){#booking .booking-fields>.booking-field{height:93px;padding:9px 8px}#booking .booking-field .form-label{font-size:.73rem}#booking .booking-control>.form-control,#booking .booking-control>.form-select{font-size:.83rem;padding-left:5px}#booking .booking-fields>.booking-search-action{height:auto;min-height:52px;padding:0;grid-column:1/-1}#booking .booking-notice>small{font-size:.65rem}}
@media(max-width:575px){
  #booking{scroll-margin-bottom:calc(82px + env(safe-area-inset-bottom))}
  #booking .booking-panel{border-radius:18px;overflow:visible}
  #booking .trip-tabs{padding:9px;gap:6px;border-radius:18px 18px 0 0}
  #booking .trip-tab{font-size:.75rem;min-height:42px;padding:8px 4px;white-space:nowrap;border-radius:8px}
  #booking .trip-tab i{font-size:.9rem}
  #booking .booking-fields{padding:12px 10px;gap:10px;border-radius:0 0 18px 18px}
  #booking .booking-fields>.booking-field{height:87px;padding:7px 8px;background:#fff;border:1px solid #edf0f3;grid-column:1/-1}
  #booking .booking-field .form-label{height:18px;line-height:18px;font-size:.76rem;margin-bottom:4px}
  #booking .booking-control{height:48px;min-height:48px}
  #booking .booking-control>.form-control,#booking .booking-control>.form-select,#booking .booking-control>gmp-place-autocomplete{height:46px;min-height:46px;font-size:.88rem}
  #booking .booking-control>.form-control,#booking .booking-control>.form-select{padding:9px 10px}
  #booking .booking-fields:has(#returnField:not(.d-none))>#pickupDateField,#booking .booking-fields:has(#returnField:not(.d-none))>#returnField{grid-column:auto}
  #booking .booking-fields>.booking-search-action{height:50px;min-height:50px;padding:0;border:0;background:transparent}
  #booking .booking-search-action .search-btn{height:50px;font-size:.95rem;border-radius:10px}
  #booking .booking-fields>.booking-notice{padding:0 2px 8px}
  #booking .booking-notice>small{font-size:.67rem;line-height:1.5}
  .mobile-bottom-nav .mobile-book-icon{width:48px;height:48px;top:-14px;border-width:3px}
  .mobile-bottom-nav .mobile-book-icon i{font-size:1.3rem}
  .mobile-bottom-nav .mobile-book{padding-top:24px}
  body.booking-editing .mobile-bottom-nav{visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 24px))}
}
/* Keep focused booking fields clear of the sticky header on smaller screens. */
@media(max-width:767px){
  #booking .booking-field{scroll-margin-top:110px;scroll-margin-bottom:24px}
  #booking .booking-control>.form-control,#booking .booking-control>.form-select{font-size:16px}
  #booking .booking-control>gmp-place-autocomplete{font-size:16px}
}
