/* Booking UI overrides. Loaded after rezStream and the existing jQuery UI theme.
   Preserve rezStream's visibility, availability, validation and checkout logic.
   All selectors are restricted to this skin. No scripts or booking logic here. */
body.sai-theme .rs-outer-wrapper { color: #222; font: 500 16px/1.6 'Manrope', sans-serif; }
body.sai-theme .ui-widget, body.sai-theme .ui-widget input, body.sai-theme .ui-widget select,
body.sai-theme .ui-widget textarea, body.sai-theme .ui-widget button { font-family: 'Manrope', sans-serif; }
body.sai-theme .ui-widget { font-size: 1em; }
#sai-booking h2.rs-content-header, #sai-booking h2.rs-cart-header { position: static; font: 600 30px/1.2 'Cormorant Garamond', Georgia, serif; color: #1e2a24; background: none; border: 0; margin: 8px 0 18px; padding: 0; }
#sai-booking .rs-container { background: #f8f5f0; border: 1px solid #eee7dd; border-radius: 8px; }
#sai-booking .rs-content-wrapper, #sai-booking .rs-content-wrapper-wide { background: transparent; }
#sai-booking .rs-sidebar-inner-wrapper { background: #f8f5f0; border: 1px solid #eee7dd; border-radius: 8px; padding: 16px; }
#sai-booking .rs-cart-item-wrapper { color: #222; text-decoration: none; }
#sai-booking .rs-unit.ui-widget-content { background: #fff; border: 1px solid #eee7dd; border-radius: 8px; }
#sai-booking .rs-unit-name { font: 600 26px/1.2 'Cormorant Garamond', Georgia, serif; color: #1e2a24; }
#sai-booking .rs-unit-filter-option select { box-sizing: border-box; background: #fff; color: #222; border: 1px solid #b7b8b2; border-radius: 5px; min-height: 44px; max-width: 100%; padding: 8px; font: 500 16px/1.5 'Manrope', sans-serif; }
#sai-booking #rs-filter-amount-slider { background: #eee7dd; border: 1px solid #b7b8b2; }
#sai-booking #rs-filter-amount-slider .ui-slider-range { background: #1e2a24; }
#sai-booking #rs-filter-amount-slider .ui-slider-handle { background: #b99a6b; border: 1px solid #1e2a24; border-radius: 3px; }
#sai-booking .rs-at-container .ui-widget-header { background: #1e2a24; color: #fff; border-color: #6f7f73; }
#sai-booking .rs-at-container .ui-widget-header a { color: #fff; }
#sai-booking .rs-step-nav-wrapper { padding: 0 0 18px; }
#sai-booking .rs-step-nav { display: flex; float: none; background: #eee7dd; border-radius: 5px; overflow: hidden; }
#sai-booking .rs-step-outer { flex: 1; float: none; color: #1e2a24; }
#sai-booking .rs-step-inner { padding: 12px 4px; font: 600 13px/1.6 'Manrope', sans-serif; text-align: center; }
#sai-booking .rs-step-num { margin: 0 5px 0 0; color: #1e2a24; border: 1px solid #1e2a2433; background-color: #fff; width: 22px; height: 22px; line-height: 22px; padding: 0; border-radius: 50%; }
#sai-booking .rs-here { background: #1e2a24; border-color: #1e2a24; }
#sai-booking .rs-here .rs-step-name { color: #fff; }
#sai-booking .rs-here .rs-step-num { color: #1e2a24; border-color: #fff; }
#sai-booking .rs-next-step { display: none; }
#sai-booking .rs-step-content-wrapper { padding: 0; }
#sai-booking #rs-select-dates { padding: 24px 16px 14px; }
#sai-booking #rs-select-dates-form { font-size: 16px; }
#sai-booking #rs-select-dates-form .rs-edit-field label { color: #1e2a24; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
#sai-booking .rs-edit-field input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),
#sai-booking .rs-edit-field select, #sai-booking .rs-edit-field textarea,
#sai-booking .rs-guest-input input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),
#sai-booking .rs-guest-input select, #sai-booking .rs-guest-input textarea {
  box-sizing: border-box; background: #fff; color: #222; border: 1px solid #b7b8b2; border-radius: 5px;
  min-height: 44px; padding: 9px 12px; font-family: 'Manrope', sans-serif; font-size: 16px;
}
#sai-booking input[type=checkbox], #sai-booking input[type=radio] { accent-color: #1e2a24; }
#sai-booking #rs-select-dates-form .rs-edit-field .rs-calendar-icon { top: 2em; right: .6em; }
#sai-booking .rs-date-input { padding-right: 36px !important; }
#sai-booking .ui-button, #sai-booking button.rs-button-next, #sai-booking button.rs-button-add {
  box-sizing: border-box; background: #1e2a24; border: 1px solid #1e2a24; border-radius: 5px;
  color: #fff; font: 600 14px/1.6 'Manrope', sans-serif; min-height: 44px; text-shadow: none; box-shadow: none;
}
#sai-booking .ui-button .ui-button-text { color: inherit; padding: 10px 18px; }
#sai-booking .ui-button-text-icon-secondary .ui-button-text { padding-right: 38px; }
#sai-booking .ui-button-text-icon-primary .ui-button-text { padding-left: 38px; }
#sai-booking .ui-button-text-icons .ui-button-text { padding-left: 38px; padding-right: 38px; }
#sai-booking .ui-button:hover, #sai-booking button.rs-button-next:hover, #sai-booking button.rs-button-add:hover { background: #34463b; border-color: #34463b; color: #fff; }
#sai-booking .ui-button.ui-state-disabled, #sai-booking button:disabled { cursor: default; opacity: .5; }
#sai-booking #rs-guests-toggle, #sai-booking #rs-properties-toggle { background: #fff; color: #222; border: 1px solid #b7b8b2; font-size: 16px; min-height: 44px; border-radius: 5px; }
#sai-booking #rs-guests-toggle .ui-button-text, #sai-booking #rs-properties-toggle .ui-button-text { height: auto; line-height: 1.5; padding: 9px 12px; }
#sai-booking #rs-guests-popup, #sai-booking #rs-properties-popup { background: #fff; color: #222; border: 1px solid #b7b8b2; border-radius: 5px; box-shadow: 0 6px 20px #1e2a241a; max-width: calc(100vw - 64px); }
#sai-booking .rs-content a:not(.ui-button), #sai-booking #rs-content a:not(.ui-button),
#sai-booking .rs-sidebar-wrapper a:not(.ui-button), #sai-booking .rs-footer a { color: #1e2a24; text-decoration: underline; text-underline-offset: 3px; }
#sai-booking .rs-footer { margin-top: 22px; padding-top: 18px; border-top: 1px solid #eee7dd; font-size: 12px; line-height: 1.8; }
/* Widget chrome. Do not recolor availability cells, disabled dates, warnings or validation errors. */
body.sai-theme .ui-dialog { font-family: 'Manrope', sans-serif; border-color: #b7b8b2; border-radius: 8px; }
body.sai-theme .ui-dialog .ui-dialog-titlebar, body.sai-theme .ui-datepicker .ui-datepicker-header,
#sai-booking .ui-tabs > .ui-tabs-nav { background: #1e2a24; border-color: #1e2a24; color: #fff; text-shadow: none; }
body.sai-theme .ui-datepicker { background: #fff; border: 1px solid #b7b8b2; border-radius: 5px; color: #222; font: 500 14px/1.6 'Manrope', sans-serif; box-shadow: 0 6px 20px #1e2a241a; }
body.sai-theme .ui-datepicker td .ui-state-default { background: #f8f5f0; border-color: #eee7dd; color: #1e2a24; }
body.sai-theme .ui-datepicker td .ui-state-hover { background: #eee7dd; border-color: #b99a6b; color: #1e2a24; }
body.sai-theme .ui-datepicker td .ui-state-highlight { background: #eee7dd; border-color: #b99a6b; color: #1e2a24; }
body.sai-theme .ui-datepicker td .ui-state-active { background: #1e2a24; border-color: #1e2a24; color: #fff; }
body.sai-theme .ui-datepicker .ui-datepicker-prev, body.sai-theme .ui-datepicker .ui-datepicker-next { background: transparent; border: 0; cursor: pointer; }
body.sai-theme .ui-datepicker .ui-datepicker-prev span, body.sai-theme .ui-datepicker .ui-datepicker-next span { background-image: none; width: 8px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; margin: -5px 0 0 -4px; transform: rotate(135deg); }
body.sai-theme .ui-datepicker .ui-datepicker-next span { transform: rotate(-45deg); }
/* Keep error styling readable after changing standard field borders. */
#sai-booking .rs-edit-field input.input-validation-error, #sai-booking .rs-edit-field select.input-validation-error,
#sai-booking .rs-guest-input input.input-validation-error { border-color: #b42318; }
@media (max-width: 650px) {
  #sai-booking h2.rs-content-header, #sai-booking h2.rs-cart-header { font-size: 28px; }
  #sai-booking #rs-select-dates { padding: 16px 6px 8px; }
  #sai-booking #rs-select-dates-form .rs-edit-date-field { flex-basis: calc(50% - 16px); min-width: 0; }
  #sai-booking #rs-select-dates-form .rs-guests-container { flex-basis: 100%; }
  #sai-booking #rs-select-dates-form .rs-other-wrapper .rs-other-next { flex-basis: 100%; }
  #sai-booking #rs-select-dates-form .rs-buttons #rs-submit { width: 100%; }
  #sai-booking .rs-sidebar-inner-wrapper { padding: 12px; }
}
