/* --- SHAVYSTAYS HOMEPAGE SEARCH FORM STYLES (FINAL APPROVED VERSION WITH GUEST COUNTER FIX) --- */

/* Form Outer Container & Geometry */
body.home form#search_form {
  margin: 0 auto !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.08) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid #E2E8F0 !important;
  padding: 12px 18px !important;
  width: 100% !important;
  max-width: 1140px !important;
  min-height: 82px !important;
  height: 82px !important;
  box-sizing: border-box !important;
}

body.home form#search_form #search_form_tabs {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.home form#search_form.babe-search-form {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important;
  position: relative !important;
}

body.home form#search_form .input-group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  gap: 0 !important;
}

/* Hidden Keyword Slot */
body.home form#search_form .search-keyword-block,
body.home form#search_form .ss-keyword-slot {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Field Layout, Flex Proportions & Dividers */
body.home form#search_form .add_input_field[data-tax="ba_location"],
body.home form#search_form .ss-location-slot {
  order: 1 !important;
  flex: 1 1 28% !important;
  min-width: 0 !important;
  position: relative !important;
  border-right: 1px solid #E2E8F0 !important;
  padding: 8px 18px !important;
  box-sizing: border-box !important;
}

body.home form#search_form .search_date_wrapper_date_from,
body.home form#search_form .ss-checkin-slot {
  order: 2 !important;
  flex: 1 1 20% !important;
  min-width: 0 !important;
  position: relative !important;
  border-right: 1px solid #E2E8F0 !important;
  padding: 8px 18px !important;
  box-sizing: border-box !important;
}

body.home form#search_form .search_date_wrapper_date_to,
body.home form#search_form .ss-checkout-slot {
  order: 3 !important;
  flex: 1 1 20% !important;
  min-width: 0 !important;
  position: relative !important;
  border-right: 1px solid #E2E8F0 !important;
  padding: 8px 18px !important;
  box-sizing: border-box !important;
}

body.home form#search_form .search_guests_field,
body.home form#search_form .ss-guests-slot {
  order: 4 !important;
  flex: 1 1 18% !important;
  min-width: 0 !important;
  position: relative !important;
  border-right: 0 !important;
  padding: 8px 18px !important;
  box-sizing: border-box !important;
}

/* Hide Advanced Extra Fields Container */
body.home form#search_form .search_advanced_field {
  display: none !important;
}

/* --- FIELD ICONS (RESTORED SHAVY PINK CLOSED-FIELD ICONS) --- */

/* Location Pin Icon */
body.home form#search_form .add_input_field[data-tax="ba_location"]::before,
body.home form#search_form .ss-location-slot::before {
  content: "\f3c5" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #E00C5D !important;
  font-size: 16px !important;
  pointer-events: none !important;
}

/* Calendar Icons for Check-in & Check-out */
body.home form#search_form .search_date_wrapper_date_from::before,
body.home form#search_form .ss-checkin-slot::before,
body.home form#search_form .search_date_wrapper_date_to::before,
body.home form#search_form .ss-checkout-slot::before {
  content: "\f073" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #E00C5D !important;
  font-size: 16px !important;
  pointer-events: none !important;
}

/* Guests People Icon */
body.home form#search_form .search_guests_field::before,
body.home form#search_form .ss-guests-slot::before {
  content: "\f0c0" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #E00C5D !important;
  font-size: 15px !important;
  pointer-events: none !important;
}

/* Hide Closed-Field Direct Decorative Icon Tags Only */
body.home form#search_form .add_input_field[data-tax="ba_location"] > i,
body.home form#search_form .search_guests_field > i,
body.home form#search_form .search_date_wrapper_date_from .bicon-calendar-1,
body.home form#search_form .search_date_wrapper_date_from > i,
body.home form#search_form .search_date_wrapper_date_to .bicon-calendar-1,
body.home form#search_form .search_date_wrapper_date_to > i {
  display: none !important;
}

/* Explicitly Display Native Guest Counter Plus & Minus Icons in White */
body.home form#search_form .search_guests_field .btn-search-guests-change i,
body.home form#search_form .search_guests_select_wrapper .btn-search-guests-change i {
  display: inline-block !important;
  color: #ffffff !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}

/* Input Fields & Typography */
body.home form#search_form input[type="text"],
body.home form#search_form input.search_date {
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: "Plus Jakarta Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  box-shadow: none !important;
  outline: none !important;
}

body.home form#search_form label,
body.home form#search_form .input_select_title_value,
body.home form#search_form .search_guests_title {
  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 form#search_form .search_guests_title_value {
  font-family: "Plus Jakarta Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1E293B !important;
}

body.home form#search_form .search_date::placeholder {
  color: #94A3B8 !important;
  font-weight: 500 !important;
}

/* Location Autocomplete Dropdown List */
body.home form#search_form .input_select_list {
  background: #ffffff !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
  padding: 8px 0 !important;
  margin-top: 8px !important;
  z-index: 1000 !important;
}

body.home form#search_form .input_select_list li.term_item {
  padding: 10px 18px !important;
  font-family: "Plus Jakarta Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  color: #1E293B !important;
  transition: background 0.15s ease !important;
}

body.home form#search_form .input_select_list li.term_item:hover {
  background: #F8FAFC !important;
  color: #E00C5D !important;
}

/* --- SUBMIT CONTAINER & BUTTON (ALIGNED TO FAR-RIGHT EDGE) --- */
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-left: auto !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 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;
}

/* Main Search Villas Button - Strictly Scoped */
body.home form#search_form .submit > button[name="submit"].btn-search {
  width: 220px !important;
  min-width: 220px !important;
  max-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: 600 !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: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  position: static !important;
  transform: none !important;
  cursor: pointer !important;
  margin: 0 !important;
}

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

/* Button Search Icon */
body.home form#search_form .submit > button[name="submit"].btn-search > i {
  color: #ffffff !important;
  font-size: 15px !important;
  margin: 0 !important;
}

/* Approved Search Villas Pseudo-Element Text */
body.home form#search_form .submit > button[name="submit"].btn-search::after {
  content: "SEARCH VILLAS";
  display: inline-block;
  color: #ffffff !important;
  font-family: "Plus Jakarta Sans", -apple-system, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide JS-injected span if pseudo-element is active */
body.home form#search_form .submit > button[name="submit"].btn-search > .ss-search-button-label {
  display: none !important;
}

/* Datepicker Overlay Z-Index */
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;
}
