/* ==========================================================================
   SHAVYSTAYS HOMEPAGE SEARCH STYLING — STABLE ASSET
   Scoped strictly to body.home and native BA form elements
   ========================================================================== */

/* 1. Neutralise Outer Wrappers */
body.home .gva-element-gva_ba_search_form,
body.home .boliin-search-form-wrap,
body.home #search-box.babe-search-box,
body.home .babe-search-box {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 1140px !important;
  opacity: 1 !important;
  filter: none !important;
}

/* 1b. Hide Top Search Form Tabs */
body.home #search_form_tabs {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 2. Single Visible White Search Card (form#search_form) */
body.home form#search_form,
body.home form.babe-search-form {
  background: #ffffff !important;
  border: 1px solid rgba(224, 12, 93, 0.16) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06) !important;
  padding: 10px 16px !important;
  max-width: 1140px !important;
  height: 82px !important;
  min-height: 82px !important;
  margin: 0 auto !important;
  outline: none !important;
  box-sizing: border-box !important;
}

/* 3. Enforce Verified Flex Direction on .input-group */
body.home form#search_form .input-group,
body.home form.babe-search-form .input-group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  overflow: visible !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

/* Hide Keyword slot and optional time/advanced slots */
body.home form#search_form .search-keyword-block,
body.home form#search_form .ss-keyword-slot,
body.home .ss-keyword-slot,
body.home .search-keyword-block,
body.home .input_select_field_time_from,
body.home .search_advanced_field {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 0 !important;
}

/* --- EXPLICIT FLEX ORDER & PROPORTIONS FOR EVERY SLOT --- */

/* Location Slot (Order 1) */
body.home .ss-location-slot,
body.home .input_select_field_ba_location,
body.home form#search_form .add_input_field[data-tax="ba_location"] {
  order: 1 !important;
  flex: 1.25 1 0 !important;
  min-width: 180px !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: 0 20px !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  position: relative !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Check-in Slot (Order 2) */
body.home .ss-checkin-slot,
body.home .search_date_wrapper_date_from,
body.home form#search_form .search_date_wrapper_date_from {
  order: 2 !important;
  flex: 1 1 0 !important;
  min-width: 155px !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: 0 20px !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  position: relative !important;
  background: transparent !important;
  border-radius: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Check-out Slot (Order 3) */
body.home .ss-checkout-slot,
body.home .search_date_wrapper_date_to,
body.home form#search_form .search_date_wrapper_date_to {
  order: 3 !important;
  flex: 1 1 0 !important;
  min-width: 155px !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: 0 20px !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  position: relative !important;
  background: transparent !important;
  border-radius: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Calendar Icons */
body.home .search_date_wrapper_date_from i,
body.home .search_date_wrapper_date_to i,
body.home .search_date_wrapper_date_from .bicon-calendar-1,
body.home .search_date_wrapper_date_to .bicon-calendar-1 {
  order: 2 !important;
  color: #E00C5D !important;
  font-size: 20px !important;
  width: 22px !important;
  height: 22px !important;
  margin-left: auto !important;
  padding-left: 16px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.home .search_date_wrapper_date_from input,
body.home .search_date_wrapper_date_to input {
  order: 1 !important;
  flex: 1 !important;
}

/* Guests Slot (Order 4) */
body.home .ss-guests-slot,
body.home .search_guests_field,
body.home form#search_form .search_guests_field {
  order: 4 !important;
  display: flex !important;
  flex: 0.72 1 0 !important;
  min-width: 145px !important;
  width: auto !important;
  max-width: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  padding: 0 20px !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  position: relative !important;
  height: 100% !important;
  flex-direction: column !important;
  justify-content: center !important;
  cursor: pointer !important;
}

/* Submit Slot (Order 5) */
body.home .ss-submit-slot,
body.home .submit,
body.home .form-action,
body.home form#search_form .submit {
  order: 5 !important;
  display: flex !important;
  flex: 0 0 220px !important;
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  margin: 0 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  z-index: auto !important;
  box-sizing: border-box !important;
  height: 58px !important;
  padding: 0 !important;
  border-right: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Search Villas Button */
body.home .btn-search-submit,
body.home .btn-search,
body.home input[type="submit"],
body.home button[name="submit"] {
  width: 220px !important;
  height: 58px !important;
  background: linear-gradient(135deg, #E00C5D 0%, #B8004D 100%) !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  font-family: "Plus Jakarta Sans", -apple-system, sans-serif !important;
  font-weight: 650 !important;
  font-size: 15px !important;
  white-space: nowrap !important;
  border: 0 !important;
  box-shadow: 0 4px 14px rgba(224, 12, 93, 0.25) !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

body.home .btn-search-submit:hover,
body.home .btn-search:hover,
body.home button[name="submit"]:hover {
  background: #A80046 !important;
  box-shadow: 0 6px 18px rgba(224, 12, 93, 0.35) !important;
}

/* --- TYPOGRAPHY --- */
body.home .input_select_title_value,
body.home .search_guests_title,
body.home label {
  font-family: "Plus Jakarta Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #726E70 !important;
  margin-bottom: 2px !important;
  display: block !important;
}

body.home input[name="add_ids_ba_location_label"],
body.home .search_date,
body.home .select_guests_value,
body.home .search_guests_title_value {
  font-family: "Plus Jakarta Sans", -apple-system, sans-serif !important;
  font-size: 17px !important;
  font-weight: 550 !important;
  color: #1C1618 !important;
  border: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  width: 100% !important;
  padding: 0 !important;
  pointer-events: auto !important;
}

body.home input[name="add_ids_ba_location_label"]::placeholder,
body.home .search_date::placeholder {
  color: #8C8488 !important;
  font-weight: 400 !important;
}

/* --- LOCATION-SPECIFIC AUTOCOMPLETE DROPDOWN ONLY --- */
body.home .ss-location-slot .input_select_list,
body.home .input_select_field_ba_location .input_select_list,
body.home form#search_form .add_input_field[data-tax="ba_location"] .input_select_list {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  width: 100% !important;
  min-width: 280px !important;
  background: #ffffff !important;
  border: 1px solid rgba(224, 12, 93, 0.18) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(28, 22, 24, 0.16) !important;
  z-index: 99999 !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  padding: 6px 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

body.home .ss-location-slot.ss-location-open .input_select_list,
body.home .input_select_field_ba_location.ss-location-open .input_select_list,
body.home form#search_form .add_input_field[data-tax="ba_location"].ss-location-open .input_select_list {
  display: block !important;
}

body.home .input_select_field_ba_location .input_select_list li.term_item,
body.home form#search_form .add_input_field[data-tax="ba_location"] .input_select_list li.term_item {
  padding: 10px 16px !important;
  font-family: "Plus Jakarta Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1C1618 !important;
  cursor: pointer !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

body.home .input_select_field_ba_location .input_select_list li.term_item:hover,
body.home .input_select_field_ba_location .input_select_list li.term_item.is-selected,
body.home form#search_form .add_input_field[data-tax="ba_location"] .input_select_list li.term_item:hover,
body.home form#search_form .add_input_field[data-tax="ba_location"] .input_select_list li.term_item.is-selected {
  background: rgba(224, 12, 93, 0.08) !important;
  color: #E00C5D !important;
  font-weight: 650 !important;
}

body.home .input_select_field_ba_location .ss-no-results,
body.home form#search_form .add_input_field[data-tax="ba_location"] .ss-no-results {
  padding: 10px 16px !important;
  font-size: 13px !important;
  color: #8C8488 !important;
  text-align: center !important;
}

/* --- DATE-PICKER OVERLAY CORRECTION ONLY --- */
body.home .babe_date_picker_overlay {
  background: rgba(0, 0, 0, 0.3) !important;
  z-index: 999 !important;
}

body.home .ui-datepicker,
body.home .babe_date_picker {
  z-index: 99999 !important;
}

/* --- SEARCH VILLAS BUTTON PSEUDO-ELEMENT LABEL --- */
body.home form#search_form .submit button[name="submit"].btn-search {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 14px !important;
}

body.home form#search_form .submit button[name="submit"].btn-search::after {
	content: "SEARCH VILLAS";
	display: inline-block;
	color: #ffffff;
	font-family: inherit;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1;
	letter-spacing: 2.5px !important;
	text-transform: uppercase;
	white-space: nowrap;
}
