/*
 * RR Custom — IDX SEARCH POPUP, Elementor popup #273 (migrated 2026-07-09)
 *
 * Sources, verbatim:
 *   - Elementor -> Site Settings -> Custom CSS (kit post 10), "Luxury polish" block
 *   - Elementor per-element Custom CSS on container 74fbaf8 in popup template 273
 *
 * Styles the IDX Addons search tool as a slide-down drawer anchored beneath the
 * header via --rr-header-offset (published by rr-custom.js). The !important
 * throughout is required to beat the IDX Addons stylesheet, which is injected
 * after ours.
 */

/* ===== Luxury polish for IDX search (Popup 273 only) ===== */

:root{
  --rr-header-offset: 0px; /* JS will overwrite */
}

#elementor-popup-modal-273{
  top: var(--rr-header-offset) !important;
  height: calc(100vh - var(--rr-header-offset)) !important;
}

#elementor-popup-modal-273 .dialog-widget-content{
  position: fixed !important;
  top: var(--rr-header-offset) !important;
  left: 0 !important;
  right: 0 !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  transform: none !important;

  border-radius: 0 0 18px 18px !important;
  overflow: hidden !important;
}

#elementor-popup-modal-273 .dialog-message{
  max-height: 320px !important;
  overflow: auto !important;
}

/* Overall container spacing + typography */
#elementor-popup-modal-273 .idxaddons--search.basic{
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* Make the row feel intentional on desktop */
@media (min-width: 1025px){
  #elementor-popup-modal-273 .idxaddons--search.basic .fields-container{
    display: grid !important;
    grid-template-columns: 2.2fr 1fr 1fr 0.9fr 0.9fr 1.15fr !important;
    gap: 14px !important;
    align-items: end !important;
  }
}

/* Labels: smaller, refined, slightly spaced */
#elementor-popup-modal-273 .idxaddons--search.basic label{
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  opacity: 0.85 !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* Inputs: clean, luxury border, consistent height */
#elementor-popup-modal-273 .idxaddons--search.basic input,
#elementor-popup-modal-273 .idxaddons--search.basic select,
#elementor-popup-modal-273 .idxaddons--search.basic .ms-ctn{
  height: 46px !important;
  border-radius: 10px !important;
  border-width: 1px !important;
  box-shadow: none !important;
}

/* The multiselect container needs padding to feel like an input */
#elementor-popup-modal-273 .idxaddons--search.basic .ms-ctn{
  padding: 6px 10px !important;
}

/* Placeholder tone */
#elementor-popup-modal-273 .idxaddons--search.basic input::placeholder{
  opacity: 0.55 !important;
}

/* Focus state: subtle, premium */
#elementor-popup-modal-273 .idxaddons--search.basic input:focus,
#elementor-popup-modal-273 .idxaddons--search.basic select:focus,
#elementor-popup-modal-273 .idxaddons--search.basic .ms-ctn:focus-within{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(201,168,117,0.25) !important;
}

/* Button: modern, balanced */
#elementor-popup-modal-273 .idxaddons--search.basic button[type="submit"]{
  height: 46px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

/* Remove extra icon shapes if they look odd */
#elementor-popup-modal-273 .idxaddons--search.basic button .search_icon{
  margin-left: 0 !important;
}

/* Make everything breathe a touch */
#elementor-popup-modal-273 .idxaddons--search.basic .selectContainer{
  margin: 0 !important;
}

/* Tablet: slightly tighter grid */
@media (max-width: 1024px){
  #elementor-popup-modal-273 .idxaddons--search.basic .fields-container{
    gap: 12px !important;
  }
}

/* Mobile: keep your stacked layout clean */
@media (max-width: 767px){
  #elementor-popup-modal-273 .idxaddons--search.basic label{
    margin-bottom: 6px !important;
  }

  #elementor-popup-modal-273 .idxaddons--search.basic button[type="submit"]{
    width: 100% !important;
  }
}

/* ---- was: per-element Custom CSS on container 74fbaf8 (popup template 273) ---- */

/* ===== Search Popup 273: Menu-size on desktop, flexible on mobile ===== */

/* TEMP: hide a second instance if it ever appears */
#elementor-popup-modal-273 .idxaddons--search.basic + .idxaddons--search.basic{
  display:none !important;
}

/* Header offset (set by JS if you have it, otherwise keep this value) */
:root{
  --rr-header-offset: 160px;
}

/* Popup container sits below header */
#elementor-popup-modal-273{
  top: var(--rr-header-offset) !important;
  height: calc(100vh - var(--rr-header-offset)) !important;
}

/* Drawer panel */
#elementor-popup-modal-273 .dialog-widget-content{
  position: fixed !important;
  top: var(--rr-header-offset) !important;
  left: 0 !important;
  right: 0 !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  transform: none !important;

  display: block !important;
  border-radius: 0 0 0px 0px !important;
  overflow: hidden !important; /* important: prevents full-height feel */
}

/* MENU HEIGHT (desktop default) */
#elementor-popup-modal-273 .dialog-message{
  width: 100% !important;
  max-height: 190px !important;   /* menu-like height */
  overflow: hidden !important;    /* no big scroll areas on desktop */
}

/* Inner padding */
#elementor-popup-modal-273 .elementor-element-74fbaf8{
  padding: 14px 18px 16px 18px !important;
}

/* Close button */
#elementor-popup-modal-273 .dialog-close-button{
  top: 14px !important;
  right: 14px !important;
}

/* ===== Tablet: allow more height if needed ===== */
@media (max-width: 1024px){
  #elementor-popup-modal-273 .dialog-message{
    max-height: min(360px, calc(100vh - var(--rr-header-offset) - 16px)) !important;
    overflow: auto !important;
  }
}

/* ===== Mobile: allow it to fit the full form (up to viewport) ===== */
@media (max-width: 767px){
  #elementor-popup-modal-273 .dialog-message{
    max-height: calc(100vh - var(--rr-header-offset) - 12px) !important;
    overflow: auto !important;
  }

  #elementor-popup-modal-273 .elementor-element-74fbaf8{
    padding: 10px 12px 12px 12px !important;
  }

  /* Stack fields */
  #elementor-popup-modal-273 .idxaddons--search.basic .fields-container{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #elementor-popup-modal-273 .idxaddons--search.basic input,
  #elementor-popup-modal-273 .idxaddons--search.basic select,
  #elementor-popup-modal-273 .idxaddons--search.basic .ms-ctn{
    width: 100% !important;
    max-width: 100% !important;
  }

  #elementor-popup-modal-273 .idxaddons--search.basic button{
    width: 100% !important;
  }
}
