.elementor-87315 .elementor-element.elementor-element-mhtsrch{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-87315 .elementor-element.elementor-element-a24c001{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for shortcode, class: .elementor-element-f58bb4a *//* ==========================================================================
   MHT MASTER SHOWCASE IDX SEARCH — TEMPLATE 84909
   Single source of truth. Do not copy or override on individual pages.
   ========================================================================== */

/* 1. Component Scope and Variables
   Triple semantic scope is intentionally retained where lPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_DownPage_Downegacy page CSS or
   late Showcase IDX rules otherwise win. No Elementor-generated IDs are used. */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot {
  --mht-search-black: #111111;
  --mht-search-ink: #171717;
  --mht-search-gold: #8A6E36;
  --mht-search-gold-light: #B08D46;
  --mht-search-white: #FFFFFF;
  --mht-search-warm: #FAF8F4;
  --mht-search-border: #D6D6D6;
  --mht-search-radius: 8px;
}

/* 2. Base Structure */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-widget-wrapper,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-searchform,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-searchform > div {
  width: 100%;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-basic {
  display: grid !important;
  grid-template-columns: 531px 104px 96px 96px 108px 160px !important;
  align-items: stretch !important;
  column-gap: 8.2px !important;
  row-gap: 12px !important;
  padding: 16px !important;
  overflow: visible !important;
  background: var(--mht-search-white) !important;
  border: 1px solid var(--mht-search-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12) !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-beds-and-baths {
  display: contents !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-locations-field-wrapper,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-range,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-beds-and-baths > div,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-streamlined-search,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-primary {
  margin: 0 !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-save-search-pill {
  display: none !important;
}

/* 3. Desktop Layout
   Explicit child widths are required at 1280px and above to defeat legacy city-page
   IDX rules while preserving the approved 531/104/96/96/108/160 tracks. */
@media (min-width: 1280px) {
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-range {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-beds-and-baths > div {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
  }
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-streamlined-search {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
  }
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-primary {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
  }
  /* A compact selected range needs slightly more breathing room than the
     default Price label. Transfer 16px from Location without changing the
     total row width, gaps, or CTA position. */
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-basic:has(.sidx-range.sidx-has-value) {
    grid-template-columns: 515px 120px 96px 96px 108px 160px !important;
  }
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-basic:has(.sidx-range.sidx-has-value) .sidx-range.sidx-has-value {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
  }
}

/* 4. Tablet and Intermediate Layout
   The fixed desktop tracks require 1168px inside the white shell. Activate the
   deliberate equal-grid layout before the available component width drops
   below that requirement, rather than allowing the CTA to escape. */
@media (max-width: 1279px) {
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-basic {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    column-gap: 6px !important;
  }
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-locations-field-wrapper,
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-primary {
    grid-column: 1 / -1;
    width: 100% !important;
    min-width: 0;
    max-width: none;
  }
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-range,
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-beds-and-baths > div,
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-streamlined-search {
    grid-column: auto;
    width: 100% !important;
    min-width: 0;
    max-width: none;
  }
}

/* 5. Mobile Layout */
@media (max-width: 767px) {
  .elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-basic {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 14px !important;
  }
}

/* 6. Search Input */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-suggestions-input {
  height: 48px !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: var(--mht-search-radius) !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-suggestions-input input {
  height: 46px !important;
  min-height: 46px !important;
  line-height: 46px !important;
  border: 0 !important;
  border-radius: 7px !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-suggestions-input input:focus,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-suggestions-input input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-suggestions-input:focus-within,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-suggestions-input:has(input:focus-visible) {
  border: 1px solid var(--mht-search-gold) !important;
  border-radius: var(--mht-search-radius) !important;
  outline: none !important;
  box-shadow: inset 0 0 0 1px var(--mht-search-gold) !important;
}

/* 7. Filter Controls */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot input,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-field,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-streamlined-search {
  height: auto !important; min-height: 48px !important;
  box-sizing: border-box !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 48px !important;
  text-align: left !important;
  color: var(--mht-search-black) !important;
  background: var(--mht-search-white) !important;
  border-color: var(--mht-search-border) !important;
  border-radius: var(--mht-search-radius) !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-field {
  display: flex !important;
  align-items: center !important;
  padding-left: 9px !important;
  padding-right: 6px !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-range .sidx-field,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-beds-and-baths .sidx-field,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-streamlined-toggle {
  color: var(--mht-search-white) !important;
  background: var(--mht-search-black) !important;
  border: 1px solid var(--mht-search-gold) !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-range.sidx-has-value .sidx-field {
  padding-left: 10px !important;
  padding-right: 10px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-streamlined-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: 100% !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 6px 0 9px !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-streamlined-toggle > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-streamlined-toggle .sidx-icon {
  line-height: 1 !important;
  margin: 0 !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-primary {
  height: 48px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 20px !important;
  color: #FFFFFF !important;
  background: var(--mht-search-gold) !important;
  border-color: var(--mht-search-gold) !important;
  border-radius: var(--mht-search-radius) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

/* MHT - Search Homes button hover/focus-visible gold. Added 2026-08-06 per
   ChatGPT-approved cascade fix: this template's own high-specificity rule
   above is the confirmed real owner of .sidx-primary in all states, so the
   interactive state must live here (same .elementor-87315 .elementor-element.elementor-element-f58bb4a scope/specificity family)
   rather than in the Elementor Global Kit or Showcase IDX vendor CSS. */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-primary:hover,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-primary:focus-visible {
  background: #8A6C2E !important;
  border-color: #8A6C2E !important;
  color: #FFFFFF !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-collapse-button {
  display: flex !important;
  width: max-content;
  margin: 14px auto 0 !important;
  color: var(--mht-search-gold-light) !important;
  font-weight: 600;
}

/* 8. Price Dropdown */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-range .sidx-floating-menu {
  width: 330px !important;
  min-width: 330px !important;
  max-width: calc(100vw - 24px) !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-range .sidx-range-inputs {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  align-items: stretch !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-range .sidx-labeled-input,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-range .sidx-labeled-input input {
  width: 100% !important;
  min-width: 0 !important;
}

/* 9. Beds and Baths Dropdowns */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu {
  overflow: hidden !important;
  color: var(--mht-search-ink) !important;
  background: var(--mht-search-white) !important;
  border: 1px solid #D8D2C8 !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, .20) !important;
  font-family: Inter, sans-serif !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-field-dropdown {
  background: var(--mht-search-white) !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-options-list {
  padding: 6px !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-option {
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  padding: 9px 12px !important;
  color: var(--mht-search-ink) !important;
  background: transparent !important;
  border-radius: 7px !important;
  font-family: Inter, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  transition: background-color 160ms ease, color 160ms ease !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-option:hover,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-option:focus,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-option:focus-visible {
  color: var(--mht-search-black) !important;
  background: #F3EFE7 !important;
  outline: 2px solid var(--mht-search-gold) !important;
  outline-offset: -2px !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-option.sidx-selected,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-option[aria-selected="true"] {
  color: var(--mht-search-white) !important;
  background: var(--mht-search-ink) !important;
  box-shadow: inset 3px 0 0 var(--mht-search-gold) !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-range-inputs {
  gap: 8px !important;
  padding: 12px !important;
  background: var(--mht-search-warm) !important;
  border-bottom: 1px solid #E3DED4 !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-labeled-input {
  overflow: hidden !important;
  min-width: 0 !important;
  background: var(--mht-search-white) !important;
  border: 1px solid #CFC7B8 !important;
  border-radius: var(--mht-search-radius) !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-labeled-input:focus-within,
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-labeled-input.sidx-active {
  border-color: var(--mht-search-gold) !important;
  box-shadow: 0 0 0 2px rgba(176, 141, 70, .22) !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-labeled-input label {
  padding: 5px 7px 2px !important;
  color: #7A5F28 !important;
  background: transparent !important;
  font-family: Inter, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-labeled-input input {
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 7px 5px !important;
  color: var(--mht-search-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-input-dash {
  color: #8A8378 !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu .sidx-use-exact {
  padding: 10px 12px 12px !important;
  color: #34312C !important;
  border-top: 1px solid #E8E3DA !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-floating-menu input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin-right: 8px !important;
  accent-color: #8A6C2E !important;
}

/* 10. More Modal
   The modal is portaled under body, so the helper-owned body class is the
   narrowest stable scope available outside template 84909. */
body.mht-showcase-search-modal-open .ReactModal__Overlay {
  background: rgba(8, 8, 8, .76) !important;
  backdrop-filter: blur(2px);
}

body.mht-showcase-search-modal-open .ReactModal__Content {
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal {
  overflow: hidden !important;
  max-width: min(760px, calc(100vw - 32px)) !important;
  max-height: calc(100vh - 32px) !important;
  color: var(--mht-search-ink) !important;
  background: #FBFAF7 !important;
  border: 1px solid var(--mht-search-gold) !important;
  border-radius: 14px !important;
  box-shadow: 0 28px 70px rgba(0, 0, 0, .38) !important;
  font-family: Inter, sans-serif !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-modal-contents {
  padding: 26px 28px 20px !important;
  background: #FBFAF7 !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-modal-close {
  top: 10px !important;
  right: 10px !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--mht-search-ink) !important;
  background: #F1ECE3 !important;
  border: 1px solid #D8D2C8 !important;
  border-radius: 50% !important;
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-modal-close:hover,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-modal-close:focus-visible {
  color: var(--mht-search-white) !important;
  background: var(--mht-search-ink) !important;
  border-color: var(--mht-search-gold) !important;
  outline: 2px solid var(--mht-search-gold) !important;
  outline-offset: 2px !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-modal__grid {
  gap: 28px !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-title {
  margin-bottom: 8px !important;
  color: var(--mht-search-ink) !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-types-toggle {
  overflow: hidden !important;
  padding: 3px !important;
  background: #ECE7DE !important;
  border: 1px solid #D8D2C8 !important;
  border-radius: 9px !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-types-toggle > div {
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #3B3833 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 6px !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: background-color 160ms ease, color 160ms ease !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-types-toggle > div:hover,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-types-toggle > div:focus-visible {
  color: var(--mht-search-black) !important;
  background: #F8F5EF !important;
  outline: 2px solid var(--mht-search-gold) !important;
  outline-offset: -2px !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-select-menu-content,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-suggestions-input,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-searchbox > div:first-child,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-increment-input input {
  color: var(--mht-search-ink) !important;
  background: var(--mht-search-white) !important;
  border: 1px solid #CFC7B8 !important;
  border-radius: var(--mht-search-radius) !important;
  box-shadow: none !important;
  font-family: Inter, sans-serif !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-select-menu-selection,
body.mht-showcase-search-modal-open .sidx-streamlined-modal input,
body.mht-showcase-search-modal-open .sidx-streamlined-modal label,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-standardized-field {
  color: #34312C !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin-right: 8px !important;
  accent-color: #8A6C2E !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-standardized-field label {
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-filter {
  margin-bottom: 18px !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-add-keyword,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-done {
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 18px !important;
  color: var(--mht-search-black) !important;
  background: var(--mht-search-gold) !important;
  border: 1px solid var(--mht-search-gold) !important;
  border-radius: var(--mht-search-radius) !important;
  font-family: Inter, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  transition: background-color 160ms ease, color 160ms ease !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-add-keyword:hover,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-done:hover,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-add-keyword:focus-visible,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-done:focus-visible {
  color: var(--mht-search-white) !important;
  background: var(--mht-search-ink) !important;
  border-color: var(--mht-search-ink) !important;
  outline: 2px solid var(--mht-search-gold) !important;
  outline-offset: 2px !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-increment-down,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-increment-up {
  color: var(--mht-search-ink) !important;
  background: #F1ECE3 !important;
  border: 1px solid #D8D2C8 !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-increment-down:hover,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-increment-up:hover {
  background: #E7DDCC !important;
  border-color: var(--mht-search-gold) !important;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-footer {
  margin-top: 4px !important;
  padding-top: 16px !important;
  border-top: 1px solid #DED8CE !important;
}

@media (max-width: 767px) {
  body.mht-showcase-search-modal-open .sidx-streamlined-modal {
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    border-radius: 12px !important;
  }
  body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-modal-contents {
    padding: 56px 18px 16px !important;
  }
  body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-streamlined-modal__grid {
    gap: 18px !important;
  }
}

/* 11. Focus and Keyboard States */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot :is(input, button, [tabindex="0"], [tabindex="1"]):focus-visible {
  outline: 3px solid var(--mht-search-gold) !important;
  outline-offset: 3px;
}

body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-floating-menu-anchor:focus-visible .sidx-select-menu-content,
body.mht-showcase-search-modal-open .sidx-streamlined-modal .sidx-suggestions-input:focus-within,
body.mht-showcase-search-modal-open .sidx-streamlined-modal input:focus-visible {
  border-color: var(--mht-search-gold) !important;
  outline: 2px solid var(--mht-search-gold) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/* Vendor's selected-tab and Done-button focus colors load late. The following
   two high-specificity groups are intentionally retained for visual parity. */
html body.mht-showcase-search-modal-open .sidx-container.sidx-modal-container .sidx-modal.sidx-streamlined-modal .sidx-streamlined-search.sidx-streamlined-search .sidx-streamlined-types-toggle.sidx-streamlined-types-toggle > div.sidx-selected.sidx-selected,
html body.mht-showcase-search-modal-open .sidx-container.sidx-modal-container .sidx-modal.sidx-streamlined-modal .sidx-streamlined-search.sidx-streamlined-search .sidx-streamlined-types-toggle.sidx-streamlined-types-toggle > div.sidx-selected.sidx-selected:hover,
html body.mht-showcase-search-modal-open .sidx-container.sidx-modal-container .sidx-modal.sidx-streamlined-modal .sidx-streamlined-search.sidx-streamlined-search .sidx-streamlined-types-toggle.sidx-streamlined-types-toggle > div.sidx-selected.sidx-selected:focus,
html body.mht-showcase-search-modal-open .sidx-container.sidx-modal-container .sidx-modal.sidx-streamlined-modal .sidx-streamlined-search.sidx-streamlined-search .sidx-streamlined-types-toggle.sidx-streamlined-types-toggle > div.sidx-selected.sidx-selected:focus-visible {
  color: var(--mht-search-white) !important;
  background: var(--mht-search-ink) !important;
  background-color: var(--mht-search-ink) !important;
  box-shadow: inset 0 -2px 0 var(--mht-search-gold) !important;
  outline: 2px solid var(--mht-search-gold) !important;
  outline-offset: -2px !important;
}

html body.mht-showcase-search-modal-open .sidx-container.sidx-modal-container .sidx-modal.sidx-streamlined-modal .sidx-streamlined-done.sidx-streamlined-done {
  color: var(--mht-search-black) !important;
  background: var(--mht-search-gold) !important;
  background-color: var(--mht-search-gold) !important;
  border-color: var(--mht-search-gold) !important;
  opacity: 1 !important;
}

html body.mht-showcase-search-modal-open .sidx-container.sidx-modal-container .sidx-modal.sidx-streamlined-modal .sidx-streamlined-done.sidx-streamlined-done:hover,
html body.mht-showcase-search-modal-open .sidx-container.sidx-modal-container .sidx-modal.sidx-streamlined-modal .sidx-streamlined-done.sidx-streamlined-done:focus-visible {
  color: var(--mht-search-white) !important;
  background: var(--mht-search-ink) !important;
  background-color: var(--mht-search-ink) !important;
  border-color: var(--mht-search-ink) !important;
  outline: 2px solid var(--mht-search-gold) !important;
  outline-offset: 2px !important;
}

/* 12. Dropdown Positioning and Stacking
   The functional shell must remain visible so absolute vendor menus can escape
   the rounded white row without increasing its height. */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot .sidx-basic {
  overflow: visible !important;
}

/* Keep the reusable search instance above later Hero siblings without creating
   a sitewide stacking rule. Open vendor menus receive one local layer above
   the component so city navigation and the Trust Bar cannot paint over them. */
.mht-master-showcase-search-instance:has(.mht-home-search-pilot),
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot {
  position: relative;
  z-index: 20;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot .sidx-floating-menu-anchor:has(> .sidx-floating-menu) {
  z-index: 21 !important;
}

.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot .sidx-floating-menu {
  z-index: 22 !important;
}

/* 13. Accessibility Helpers
   Keyboard and ARIA behavior is implemented in the adjacent scoped HTML helper.
   No generated CSS is used for semantic state. */

/* 14. Vendor-Specific Exceptions
   Required vendor contracts:
   .sidx-basic, .sidx-range, .sidx-beds-and-baths, .sidx-streamlined-search,
   .sidx-floating-menu, .sidx-streamlined-modal, ReactModal__Body--open.
   Retest after any Showcase IDX markup or class-name update. */


/* MHT FIX 2026-08-02 · two-line filter pills: keep row height even. Reversible: delete this block. */
.elementor-87315 .elementor-element.elementor-element-f58bb4a.mht-home-search-pilot.mht-home-search-pilot.mht-home-search-pilot .sidx-field{
  line-height: 1.25 !important;
  display: flex !important;
  align-items: center !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}


/* === mht-idx-modal-tokens === The IDX search modal renders in a React portal on body, outside this widget, so the --mht-search-* tokens defined above are undefined inside it. 36 declarations across 14 modal rules failed silently, including 6 outline declarations, leaving the modal with no focus indicator. Scoped to the modal-open state so it cannot reach the inline widget. 08/03/26 === */
body.mht-showcase-search-modal-open {
  --mht-search-black: #111111;
  --mht-search-ink: #171717;
  --mht-search-gold: #8A6C2E;
  --mht-search-gold-light: #C9A24E;
  --mht-search-white: #FFFFFF;
  --mht-search-warm: #FAF8F4;
  --mht-search-border: #D6D6D6;
  --mht-search-radius: 8px;
}/* End custom CSS */
/* Start custom CSS *//* ============================================================
   MHT Master Showcase IDX Search v2 -- Private Testing
   Centralized from private page 87269's page-level Custom CSS
   per ChatGPT's "Create Isolated Master IDX Search v2" message
   (08/05/26 7:21 PM PT). All rules below are scoped to
   .mht-idx-search-v2 -- a class baked into THIS template's own
   root container (element 'mhtsrch'), not to any page ID, so
   they travel with this template wherever it is used and never
   match template 84848's original instances (which do not carry
   this class) or any unrelated IDX widget on the site.
   ============================================================ */

/* DEC-147: Advanced Features base color fixes (white-on-white text/icon), Advanced Criteria row gap, MLS input height fix. */
.mht-idx-search-v2 .sidx-feature-type:not(#____a):not(#____b),
.mht-idx-search-v2 .sidx-feature-type span:not(#____a):not(#____b),
.mht-idx-search-v2 .sidx-select-menu-selection:not(#____a):not(#____b) {
  color: #111111 !important;
}
.mht-idx-search-v2.mht-idx-search-v2.mht-idx-search-v2 .sidx-features .sidx-field > i,
.mht-idx-search-v2.mht-idx-search-v2.mht-idx-search-v2 .sidx-select-menu-selection i {
  color: #111111 !important;
}
.mht-idx-search-v2.mht-idx-search-v2.mht-idx-search-v2 .sidx-advanced {
  gap: 12px !important;
}
.mht-idx-search-v2.mht-idx-search-v2.mht-idx-search-v2 .sidx-input-field {
  height: auto !important;
  align-items: center !important;
}
.mht-idx-search-v2.mht-idx-search-v2.mht-idx-search-v2 .sidx-input-field input {
  height: auto !important;
  line-height: normal !important;
}

/* DEC-148: Advanced Features hover/focus icon color fix. */
.mht-idx-search-v2 .sidx-features .sidx-field:hover > i:not(#____a):not(#____b),
.mht-idx-search-v2 .sidx-features .sidx-field:focus > i:not(#____a):not(#____b),
.mht-idx-search-v2 .sidx-features .sidx-field:focus-visible > i:not(#____a):not(#____b),
.mht-idx-search-v2 .sidx-features .sidx-field:active > i:not(#____a):not(#____b) {
  color: #111111 !important;
}
.mht-idx-search-v2 .sidx-features .sidx-field:hover .sidx-feature-type:not(#____a):not(#____b),
.mht-idx-search-v2 .sidx-features .sidx-field:focus .sidx-feature-type:not(#____a):not(#____b),
.mht-idx-search-v2 .sidx-features .sidx-field:focus-visible .sidx-feature-type:not(#____a):not(#____b) {
  color: #111111 !important;
}

/* DEC-150: Advanced Criteria row proportions corrected on desktop -- School/District narrower, 4 buttons widened to single-line. (Note: DEC-149's earlier School/District value was fully superseded by this rule and is not carried forward as a separate declaration.) */
@media (min-width: 1025px) {
  .mht-idx-search-v2 .sidx-advanced .sidx-suggestions-input {
    width: 430px !important;
  }
  .mht-idx-search-v2 .sidx-advanced > .sidx-range:not(#____mht_a):not(#____mht_b) {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
  }
}

/* DEC-151: Advanced Features checkbox/label alignment corrected (General/Interior/Exterior/Community Features detail panels). */
.mht-idx-search-v2 .sidx-features .sidx-option {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  min-height: 0 !important;
}
.mht-idx-search-v2 .sidx-features .sidx-option input[type="checkbox"] {
  position: static !important;
  top: auto !important;
  left: auto !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

/* DEC-154: Advanced Features checkbox keyboard focus-visible state. */
.mht-idx-search-v2 .sidx-features .sidx-option input[type="checkbox"]:focus-visible:not(#____a):not(#____b) {
  outline: 3px solid #C9A24E !important;
  outline-offset: 2px !important;
}
.mht-idx-search-v2 .sidx-features .sidx-option:has(input[type="checkbox"]:focus-visible):not(#____a):not(#____b) {
  outline: 2px solid #C9A24E !important;
  outline-offset: -2px !important;
  border-radius: 4px !important;
}/* End custom CSS */