/* CA Smart Staycation — polished Admin New Guest Booking lower-form layout */
#adminBookingForm{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}
#adminBookingForm .admin-booking-grid,
#adminBookingForm .admin-form-section,
#adminBookingForm .admin-booking-docs,
#adminBookingForm .admin-booking-summary,
#adminBookingForm .admin-booking-error,
#adminBookingForm .admin-booking-actions,
#adminBookingForm #abLoadStatus{
  width:100%!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
#adminBookingForm .admin-form-section{
  grid-column:1 / -1!important;
  padding:20px!important;
  border:1px solid #dde5e1!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(6,59,50,.055)!important;
}
#adminBookingForm .admin-form-section + .admin-form-section{margin-top:2px!important}
#adminBookingForm .admin-form-section-head{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 18px!important;
  padding:0 0 13px!important;
  border-bottom:1px solid #e8ece9!important;
}
#adminBookingForm .admin-form-section-head h3{
  margin:0!important;
  color:#123f35!important;
  font:700 19px/1.2 Georgia,"Times New Roman",serif!important;
}
#adminBookingForm .admin-form-section-head p{
  margin:4px 0 0!important;
  color:#6b7671!important;
  font:400 12px/1.45 Arial,sans-serif!important;
}
#adminBookingForm .admin-form-section-grid{
  display:grid!important;
  gap:16px 18px!important;
  width:100%!important;
  align-items:start!important;
}
#adminBookingForm .admin-form-section-grid.guest-grid,
#adminBookingForm .admin-form-section-grid.vehicle-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#adminBookingForm .admin-form-section-grid.payment-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#adminBookingForm .admin-form-section .admin-booking-field{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  grid-column:auto!important;
}
#adminBookingForm .admin-form-section .admin-booking-field.full,
#adminBookingForm .admin-form-section .admin-layout-wide{
  grid-column:1 / -1!important;
}
#adminBookingForm .admin-form-section .admin-booking-field label{
  display:block!important;
  margin:0 0 7px!important;
  color:#123f35!important;
  font:700 12px/1.25 Arial,sans-serif!important;
}
#adminBookingForm .admin-form-section .admin-booking-field input,
#adminBookingForm .admin-form-section .admin-booking-field select,
#adminBookingForm .admin-form-section .admin-booking-field textarea{
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid #cfd9d4!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#172d27!important;
  font:400 14px/1.35 Arial,sans-serif!important;
  outline:none!important;
  transition:border-color .15s ease,box-shadow .15s ease!important;
}
#adminBookingForm .admin-form-section .admin-booking-field input,
#adminBookingForm .admin-form-section .admin-booking-field select{
  height:44px!important;
  min-height:44px!important;
  padding:0 13px!important;
}
#adminBookingForm .admin-form-section .admin-booking-field textarea{
  min-height:108px!important;
  padding:11px 13px!important;
  resize:vertical!important;
}
#adminBookingForm .admin-form-section .admin-booking-field input:focus,
#adminBookingForm .admin-form-section .admin-booking-field select:focus,
#adminBookingForm .admin-form-section .admin-booking-field textarea:focus{
  border-color:#b58a2d!important;
  box-shadow:0 0 0 3px rgba(181,138,45,.12)!important;
}
#adminBookingForm #adminVehicleDetailsSection[hidden]{display:none!important}

/* Desktop section order: booking/calendar first, then guest/payment/vehicle details. */
@media (min-width:1100px){
  #adminGuestInformationSection{
    grid-row:4!important;
  }
  #adminPaymentDetailsSection{
    grid-row:5!important;
  }
  #adminVehicleDetailsSection{
    grid-row:6!important;
  }
}

/* Keep Guest Documents aligned with the calendar and detail cards. */
#adminBookingForm .admin-booking-docs{
  padding:20px!important;
  border:1px solid #dde5e1!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(6,59,50,.055)!important;
}
#adminBookingForm .admin-booking-docs h3{
  margin:0 0 4px!important;
  color:#123f35!important;
  font:700 19px/1.2 Georgia,"Times New Roman",serif!important;
}
#adminBookingForm .admin-booking-docs>p{
  margin:0 0 16px!important;
  color:#6b7671!important;
  font:400 12px/1.45 Arial,sans-serif!important;
}
#adminBookingForm .admin-booking-docs-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px 18px!important;
  align-items:start!important;
}
#adminBookingForm .admin-booking-doc{
  min-width:0!important;
  padding:14px!important;
  border:1px solid #e4e9e6!important;
  border-radius:11px!important;
  background:#fbfcfb!important;
}
#adminBookingForm .admin-booking-doc label{
  display:block!important;
  margin:0 0 9px!important;
  color:#123f35!important;
  font:700 12px/1.25 Arial,sans-serif!important;
}
#adminBookingForm .admin-booking-doc input[type="file"]{
  width:100%!important;
  box-sizing:border-box!important;
}

/* Make the total/price summary feel like the next equal section instead of a loose block. */
#adminBookingForm .admin-booking-summary{
  padding:20px!important;
  border:1px solid #d8e2dd!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(6,59,50,.06)!important;
  overflow:hidden!important;
}
#adminBookingForm .admin-booking-error:empty{display:none!important}
#adminBookingForm .admin-booking-error:not(:empty){
  padding:13px 16px!important;
  border-radius:10px!important;
}
#adminBookingForm .admin-booking-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:12px!important;
  padding:0!important;
}
#adminBookingForm .admin-booking-actions button{
  min-height:44px!important;
}

@media (max-width:1280px){
  #adminBookingForm .admin-form-section-grid.guest-grid,
  #adminBookingForm .admin-form-section-grid.vehicle-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:760px){
  #adminBookingForm{gap:14px!important}
  #adminBookingForm .admin-form-section,
  #adminBookingForm .admin-booking-docs,
  #adminBookingForm .admin-booking-summary{padding:16px!important;border-radius:13px!important}
  #adminBookingForm .admin-form-section-head{margin-bottom:14px!important;padding-bottom:10px!important}
  #adminBookingForm .admin-form-section-grid.guest-grid,
  #adminBookingForm .admin-form-section-grid.payment-grid,
  #adminBookingForm .admin-form-section-grid.vehicle-grid,
  #adminBookingForm .admin-booking-docs-grid{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }
  #adminBookingForm .admin-form-section .admin-booking-field,
  #adminBookingForm .admin-form-section .admin-booking-field.full,
  #adminBookingForm .admin-form-section .admin-layout-wide{
    grid-column:1!important;
  }
  #adminBookingForm .admin-booking-actions{
    flex-direction:column-reverse!important;
  }
  #adminBookingForm .admin-booking-actions button{
    width:100%!important;
  }
}
