/* =========================================================
   KVCore — Fixed Height Panel (page-id-20669 only)
   ========================================================= */
body.page-id-20669 #kv-properties-map,
body.page-id-20669 .kv-property-listings-container,
body.page-id-20669 .kv-map-column,
body.page-id-20669 .kv-property-column,
body.page-id-20669 .fullwidth-wrapper{
  height: calc(100vh - 128px) !important;
  max-height: calc(100vh - 128px) !important;
  min-height: 0 !important;
  /* overflow-y: auto !important; */
}

/* =========================================================
   Fonts
   ========================================================= */
@font-face{
  font-family: "Overtimes";
  src:
    url("/wp-content/uploads/2025/07/OvertimesRegular.woff2") format("woff2"),
    url("/wp-content/uploads/2025/07/OvertimesRegular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* =========================================================
   Page Overrides
   ========================================================= */
/* Hide site footer on property-search page only */
body.page-id-20669 .site-footer{
  display:none !important;
}

/* =========================================================
   KVCore Layout — Map / List
   ========================================================= */
.kv-properties-container.kv-layout-map{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  height:100% !important;
  overflow:hidden !important;
}

/* 50/50 columns desktop */
.kv-properties-container.kv-layout-map .kv-map-column,
.kv-properties-container.kv-layout-map .kv-property-column{
  flex:0 0 50% !important;
  max-width:50% !important;
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  overflow:hidden !important;
}

/* Property column internal flex */
.kv-property-column{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

.kv-property-column > .property-content,
.kv-property-column .listings-and-mls{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

/* Listings scroll area */
.kv-property-listings-container{
  flex:1 1 auto !important;
  height:100% !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  width:100% !important;
  max-width:100% !important;
  background:#fff !important;
  padding-top:0 !important;
}

.kv-property-listings-container *{
  min-width:0 !important;
  max-width:100% !important;
}

/* Remove fullwidth wrapper interference */
.kv-properties-container.kv-layout-map .fullwidth-wrapper{
  display:contents !important;
}

/* Mobile — hide map, full-width listings */
@media (max-width: 767px){
  .kv-map-column{ display:none !important; }

  .kv-properties-container.kv-layout-map .kv-property-column{
    flex:0 0 100% !important;
    max-width:100% !important;
    width:100% !important;
    min-width:0 !important;
  }
}

/* =========================================================
   KVCore Pagination
   ========================================================= */
/* Container */
.kv-property-pagination,
.kv-pagination,
.kv-pagination-container,
.kv-property-filters-page{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  padding:12px 0;
  flex-wrap:nowrap !important;
}

.kv-property-pagination,
.kv-pagination-container{
  margin-top:10px;
}

/* Remove default list formatting */
.kv-pagination li{
  list-style:none !important;
  display:inline-flex !important;
}

/* Hide the radios */
.kv-pagination input.kv-form-hide[type="radio"]{ display:none !important; }

/* Label buttons */
.kv-pagination .kv-form-label-button{
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:400 !important;
  color:#000 !important;
  background:transparent !important;
  padding:6px 12px !important;
  border-radius:8px !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition:background .15s ease;
}
/* checked label text color override */
.page-id-20669 input[type="checkbox"]:checked + label.kv-form-label-button,
.page-id-20669 input[type="radio"]:checked + label.kv-form-label-button{
  color:#000 !important;
}

/* Active */
.kv-pagination input[type="radio"]:checked + .kv-form-label-button{
  background:#f2f2f2 !important;
  font-weight:600 !important;
}

/* Disabled */
.kv-pagination input[disabled] + .kv-form-label-button{
  opacity:.3 !important;
  cursor:default !important;
}

/* Arrow icons */
.kv-pagination .kv-form-label-button i{
  font-size:16px !important;
  color:#000 !important;
}

/* =========================================================
   Hide KVCore Native Search / Filters
   ========================================================= */
#kvcoreidx-properties-search{
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  border-top:0 !important;
}

.kv-properties-container.kv-layout-map .kv-map-column .kv-map-grey-area-filters,
.kv-map-grey-area-filters{
  display:none !important;
}

#kv-properties-search-form,
.kv-properties-search-form,
.kv-property-filters-container,
.kv-filters-control-container{
  display:none !important;
}

.kv-filters-items-count{
  border-color:#000 !important;
  color:#000 !important;
  font-family:"Outfit", sans-serif !important;
}

.kv-listing-marker{ display:none !important; }

/* =========================================================
   MLS Disclosure Footer
   ========================================================= */
.kv-bottom-text{
  padding:0 5px;
  text-align:left;
  color:#666;
  font-family:"Outfit", sans-serif;
  font-weight:300;
  font-size:clamp(0.625rem, 0.575rem + 0.3vw, 0.75rem);
  line-height:1.2;
}

.kv-bottom-text img{ margin-bottom:5px !important; }

.kv-bottom-disclaimer{
  margin:0 auto;
  text-align:left;
}


/* =========================================================
   Marker Styling
   ========================================================= */
.kv-marker{
  background-color:#124C6A !important;
  font-size:12px;
  text-align:center;
  color:#fff !important;
  border:1px solid #fff;
  border-radius:12px;
  padding:4px 10px 18px;
  line-height:14px;
  height:20px;
  cursor:pointer;
  transition:none;
}

.kv-marker::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-20px;
  width:0;
  height:0;
  border-width:11px 6px;
  border-style:solid;
  border-color:#124C6A transparent transparent transparent;
  transform:translateX(-50%);
  z-index:11;
}

/* =========================================================
   KK Search Bar — Variables
   ========================================================= */
:root{
  --kk-control-h:36px;
  --kk-radius:10px;
  --kk-radius-2:10px;
  --kk-radius-3:10px;

  --kk-border:#e1e1e1;
  --kk-border-2:#dcdcdc;
  --kk-bg:#fff;
  --kk-hover:#ececec;
  --kk-font-family: "Outfit", sans-serif;
  --kk-font-size:14px;
}

/* Wrapper / Row */
.kk-search-bar-wrapper{
  width:100%;
  padding:5px;
  border-radius:var(--kk-radius);
  margin-bottom:0;
  position:relative;
  z-index:50;
  font-family: var(--kk-font-family) !important;
  font-size:var(--kk-font-size) !important;
}

.kk-search-row{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:5px;
}

/* Search input */
.kk-search-input-container{
  flex:1 1 auto;
  min-width:0 !important;
  max-width:none !important;
}

.kk-search-input-container input{
  width:100%;
  height:var(--kk-control-h);
  padding:0 14px !important;
  border:1px solid var(--kk-border-2);
  border-radius:var(--kk-radius-2);
  transition:border .2s;
  box-sizing:border-box;
  font-size:var(--kk-font-size) !important;
  line-height:1;
  background:var(--kk-bg);
  cursor:text;
    color:#000 !important;

}

.kk-search-input-container input:focus{
  border-color:#222;
  outline:none;
}

.kk-search-icon{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  font-size:17px;
  opacity:.55;
}

/* Autocomplete */
.kk-autocomplete-dropdown{
  display:none;
  position:absolute;
  top:calc(var(--kk-control-h) + 6px);
  width:max-content;
  min-width:100%;
  white-space:nowrap;
  background:var(--kk-bg);
  border-radius:var(--kk-radius);
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  z-index:90;
  max-height:260px;
  overflow-y:auto;
}

.kk-autocomplete-item{
	  display: flex;
  align-items: center;
  min-height:var(--kk-control-h);
  padding:0 14px !important;
  box-sizing:border-box;
  font-size:var(--kk-font-size) !important;
  line-height:1;
  background:var(--kk-bg);
  cursor:text;
  cursor:pointer;
}

.kk-autocomplete-item:hover{ background:#f5f5f5; }

.kk-autocomplete-item.kk-active{
  background:#f0f6ff;
  color:#0050c8;
}

/* anchor dropdown to the input container */
.kk-search-input-container{
  position: relative;
  display: inline-block;   /* prevent full-row stretching */
  width: 100%;
  max-width: 820px;        /* set to your input’s intended width */
}

/* dropdown matches that container width */
.kk-search-input-container #kk-autocomplete-results{
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: auto;
  width: 100%;
  z-index: 9999;
}

/* ensure input fills container (not page) */
.kk-search-input-container #kk-search-input{
  width: 100%;
  box-sizing: border-box;
}


/* Pills */
.kk-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
  height:var(--kk-control-h);
}

.kk-pill-wrap{ position:relative; display:inline-block; }

.kk-pill{
  height:var(--kk-control-h);
  padding:0 14px;
  background:var(--kk-bg);
  border-radius:var(--kk-radius);
  border:1px solid var(--kk-border);
  cursor:pointer;
  transition:background .2s;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  line-height:1;
  font-size:var(--kk-font-size);
}

.kk-pill:hover{ background:var(--kk-hover); }

/* Dropdown panels */
.kk-dropdown{
  position:absolute;
  top:100%;
  left:0;
  background:var(--kk-bg);
  box-shadow:0 6px 20px rgba(0,0,0,.12);
  border-radius:5px;
  padding:16px;
  min-width:280px;
  z-index:99;
  margin-top:5px;
}

.kk-hidden{ display:none !important; }

/* Price */
.kk-price-range-inputs{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}

.kk-price-range-inputs input{
  flex:1;
  text-align:center;
  padding:8px 10px;
  border:1px solid var(--kk-border-2);
  border-radius:var(--kk-radius);
  box-sizing:border-box;
}

.kk-price-slider-container{
  position:relative;
  width:100%;
  height:40px;
  margin-top:10px;
}

.kk-slider-track{
  position:absolute;
  top:50%;
  width:100%;
  height:4px;
  background:#ccc;
  transform:translateY(-50%);
  border-radius:2px;
}

.kk-slider-range{
  position:absolute;
  top:50%;
  height:4px;
  background:#000;
  transform:translateY(-50%);
  border-radius:2px;
}

.kk-thumb{
  position:absolute;
  width:22px;
  height:22px;
  background:var(--kk-bg);
  border:3px solid #222;
  border-radius:50%;
  top:50%;
  transform:translate(-50%, -50%);
  cursor:pointer;
  z-index:10;
}

/* Type grid */
.kk-type-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:8px;
  grid-auto-rows:48px;
}

.kk-type-item{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  background:#f8f8f8;
  border-radius:var(--kk-radius);
  border:1px solid var(--kk-border);
  text-align:center;
  cursor:pointer;
  box-sizing:border-box;
}

.kk-type-item:hover{ background:var(--kk-hover); }

/* Sale / Beds / Baths */
.kk-pill-buttons{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  overflow-x:auto;
  white-space:nowrap;
}

.kk-sale-item,
.kk-bed-item,
.kk-bath-item{
  padding:10px 12px;
  border-radius:var(--kk-radius);
  border:1px solid var(--kk-border-2);
  background:#fafafa;
  cursor:pointer;
  flex:0 0 auto;
  box-sizing:border-box;
}

.kk-sale-item:hover,
.kk-bed-item:hover,
.kk-bath-item:hover{ background:#efefef; }

.kk-selected{
  background:#222 !important;
  color:#fff !important;
  border-color:#222 !important;
}

/* Layout toggle shell */
/* Kill any inherited button backgrounds inside the layout toggle */
#kk-layout-toggle .kk-layout-btn{
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

#kk-layout-toggle.kk-layout-switch{
  display:inline-flex;
  height:var(--kk-control-h);
  border-radius:var(--kk-radius);
  background:#ebebeb;
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 1px 2px rgba(0,0,0,.06);
}

/* Buttons */
#kk-layout-toggle .kk-layout-btn{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:8px 14px;
  border-radius:var(--kk-radius);
  font:inherit;
  cursor:pointer;
  color:#919191;
  transition:background-color .15s ease, box-shadow .15s ease;
}

#kk-layout-toggle .kk-layout-btn:not(.kk-layout-active):hover{
  background:rgba(255,255,255,.6) !important;

}

/* Active is always white */
#kk-layout-toggle .kk-layout-btn.kk-layout-active{
  background:var(--kk-bg) !important;
  background-color:var(--kk-bg) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.10) !important;
  color:#111;  
}

/* Right buttons */
.kk-right-buttons-wrap{
  flex:0 0 auto;
  white-space:nowrap;
  display:flex;
  align-items:center;
  gap:5px;
}

.kk-right-buttons{ display:flex; flex:0 0 auto; }
/* Layout dropdown: shrink-wrap to text */
#kk-layout-dropdown:not(.kk-hidden){
  display:inline-flex;
  flex-direction:column;
  gap:6px;
  width:max-content;
  min-width:unset;
  max-width:none;
}

/* Prevent rows from stretching */
#kk-layout-dropdown .kk-layout-item{
  width:auto;
  white-space:nowrap;
}


/* ORDER dropdown: stack items vertically ONLY when open */
#kk-order-dropdown:not(.kk-hidden){
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:5px;
  width:max-content; 
   min-width:unset;       /* remove any inherited min-width */
  max-width:none;
}

#kk-order-dropdown .kk-order-item{
  display:flex;
  width:100%;
  justify-content:flex-start;
  white-space:nowrap;
}

/* Optional: anchor dropdown to right edge of pill */
.kk-order-wrap{ position:relative; }
.kk-order-wrap #kk-order-dropdown{
  right:auto;
  left:0;
}

/* =========================
   KK Dropdown "Modal Feel"
========================= */

/* The dropdown panel */
.kk-dropdown{
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:10px;
  box-shadow:0 16px 40px rgba(0,0,0,.12);
}

/* Optional: tighter dropdown for small lists (Order/Layout) */
#kk-order-dropdown,
#kk-layout-dropdown{
  padding:8px;
}

/* Generic dropdown items (sale/type/beds/baths/order/layout etc) */
.kk-dropdown > div{
  border-radius:12px;
}

/* Button-style rows inside dropdowns */
.kk-pill-buttons > div,
#kk-order-dropdown .kk-order-item,
#kk-layout-dropdown .kk-layout-item,
#kk-sale-dropdown .kk-sale-item,
#kk-beds-dropdown .kk-bed-item,
#kk-baths-dropdown .kk-bath-item,
#kk-type-dropdown .kk-type-item{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  padding:10px 14px;
  border-radius:12px;
  line-height:1;
  cursor:pointer;
  transition:background-color .15s ease, border-color .15s ease;
}

/* Hover = subtle lift */
.kk-pill-buttons > div:hover,
#kk-order-dropdown .kk-order-item:hover,
#kk-layout-dropdown .kk-layout-item:hover,
#kk-sale-dropdown .kk-sale-item:hover,
#kk-beds-dropdown .kk-bed-item:hover,
#kk-baths-dropdown .kk-bath-item:hover,
#kk-type-dropdown .kk-type-item:hover{
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.18);
}

/* Selected = black pill like your modal */
.kk-dropdown .kk-selected{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

/* Keep dropdown width hugging content for Order/Layout */
#kk-order-dropdown:not(.kk-hidden),
#kk-layout-dropdown:not(.kk-hidden){
  width:max-content;
  min-width:unset;
}




/* Pill buttons */
button.kk-pill-btn,
.kk-pill-btn{
  appearance:none;
  -webkit-appearance:none;
  margin:0;
  font-size:12px;

  height:var(--kk-control-h);
  padding:0 10px;

  background-color:var(--kk-bg) !important;
  color:#111 !important;
  border:1px solid var(--kk-border);
  border-radius:var(--kk-radius);

  cursor:pointer;
  white-space:nowrap;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  box-sizing:border-box;
  line-height:1;
  font-size:var(--kk-font-size);

  transition:background-color .2s;
}

button.kk-pill-btn:hover,
button.kk-pill-btn:focus-visible,
.kk-pill-btn:hover,
.kk-pill-btn:focus-visible{
  background-color:var(--kk-hover) !important;
  color:#111 !important;
  text-decoration:none !important;
  outline:none;
}

/* Save search message */
.kk-save-search-wrap{ position:relative; display:inline-block; }

.kk-save-search-msg{
  position:absolute;
  top:calc(100% + 5px);
  left:0;
  min-width:0px;
  padding:10px 12px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 6px 20px rgba(0,0,0,.12);
  z-index:99;
  font-size:12px;
  line-height:1.4;
  white-space:nowrap;
}

/* Keep your existing variables: --kk-bg and --kk-bg-hover */
button#kk-save-search.kk-pill-btn { background-color: var(--kk-bg) !important; }

/* restore hover (global.css is unsetting it) */
button#kk-save-search.kk-pill-btn:hover { background-color: var(--kk-hover) !important; }

/* fix click-hold / drag-out (active) */
button#kk-save-search.kk-pill-btn:active { background-color: var(--kk-hover) !important; }

/* optional: focus without breaking hover */
button#kk-save-search.kk-pill-btn:focus { background-color: var(--kk-bg) !important; }
button#kk-save-search.kk-pill-btn:focus-visible { outline: none !important; }



/* =========================================================
   KK Filter Modal — Core
   ========================================================= */

.kk-pill-row{ display:none !important; }
/* Hide Layout + Sort on mobile */
/* Mobile: fully collapse right-side layout/order containers */
@media (max-width: 767px){

  /* Hide the actual controls */
  #kk-layout-toggle,
  .kk-order-wrap{
    display:none !important;
  }

  /* Collapse their parent containers so no space is reserved */
  .kk-right-buttons:has(#kk-layout-toggle),
  .kk-right-buttons:has(.kk-order-wrap){
    display:none !important;
  }
}



 /* #kk-filter-modal .kk-toggle{
  height: var(--kk-control-h);
  min-width: 110px;         
  padding: 0 16px;           
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  box-sizing: border-box;
} */

#kk-filter-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483647 !important;
}

#kk-filter-modal.kk-modal{
  background:rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

#kk-filter-modal .kk-modal-content{
  background:#fff;
  width:100%;
  max-width:500px;
  max-height:85vh;
  border-radius:20px;
  box-sizing:border-box;

  /* structured layout */
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}

/* hide scrollbar */
#kk-filter-modal .kk-modal-content::-webkit-scrollbar{ width:0; height:0; }
#kk-filter-modal .kk-modal-content{ scrollbar-width:none; }

#kk-filter-modal .kk-modal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid rgba(0,0,0,.08);
  font-size:16px;
  font-weight:600;
  margin:0;
}

#kk-filter-modal .kk-close-x{
  cursor:pointer;
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  font-size:18px;
}
#kk-filter-modal .kk-close-x:hover{ background:rgba(0,0,0,.06); }

/* scroll area */
#kk-filter-modal #kk-mobile-filter-area{
  padding:14px 16px 18px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

/* dropdown panels inside modal become sections */
#kk-filter-modal .kk-dropdown{
  position:static !important;
  width:100% !important;
  max-width:100% !important;
  display:block !important;

  box-shadow:none !important;
  background:rgba(0,0,0,.02) !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:14px !important;
  padding:12px !important;
  margin:0 0 12px !important;
}

/* inline rows (sale/beds/baths) */
#kk-filter-modal #kk-sale-dropdown,
#kk-filter-modal #kk-beds-dropdown,
#kk-filter-modal #kk-baths-dropdown{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:center !important;
}

#kk-filter-modal #kk-sale-dropdown .kk-sale-item,
#kk-filter-modal #kk-beds-dropdown .kk-bed-item,
#kk-filter-modal #kk-baths-dropdown .kk-bath-item{
  width:auto !important;
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
}

/* modal button tiles */
#kk-filter-modal .kk-sale-item,
#kk-filter-modal .kk-bed-item,
#kk-filter-modal .kk-bath-item,
#kk-filter-modal .kk-type-item{
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  font: inherit;

  height: var(--kk-control-h);
  padding: 0 14px;

  background-color:var(--kk-bg) !important;
  color: #111 !important;
  border: 1px solid var(--kk-border);
  border-radius: var(--kk-radius);

  cursor: pointer;
  white-space: nowrap;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  box-sizing: border-box;
  line-height: 1;
  font-size: var(--kk-font-size);

  transition: background-color .2s;
}

#kk-filter-modal .kk-selected{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

/* grids inside modal */
#kk-filter-modal .kk-type-grid{
  display: grid !important;	
  grid-template-columns:1fr 1fr;
  gap:10px;
}

#kk-filter-modal .kk-pill-buttons{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
}

/* price in modal */
#kk-filter-modal .kk-price-range-inputs{
  display:grid !important;
  grid-template-columns:1fr auto 1fr;
  gap:10px;
  align-items:center;
  margin-bottom:12px;
}

#kk-filter-modal .kk-price-range-inputs input{
  height:40px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  padding:0 12px;
  background:#fff;
  font:inherit;
}

/* sticky footer */
#kk-filter-modal .kk-modal-footer{
  position:sticky;
  bottom:0;
  background:#fff;
  padding:12px 12px;
  border-top:1px solid rgba(0,0,0,.10);
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}

#kk-filter-modal .kk-footer-btn{
  height:44px;
  border-radius:14px;
  padding:0 12px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;
  cursor:pointer;
  font:inherit;
  white-space:nowrap;
  color:#000 !important;
  transition:background-color .15s ease, color .15s ease;
}

#kk-filter-modal .kk-footer-btn:hover{
  background:#ebebeb !important;
}

#kk-filter-modal .kk-footer-primary{
  background:#000 !important;
  color:#fff !important;
  border-color:#000 !important;
  flex:1;
}

#kk-filter-modal .kk-footer-primary:hover{
  background:#ebebeb !important;
  color:#000 !important;
  border-color:#ebebeb !important;
}

#kk-filter-modal .kk-footer-reset,
#kk-filter-modal .kk-footer-save{ flex:1; }

/* Make sure headers stay below modal */
html.kk-modal-open .elementor-sticky--effects,
html.kk-modal-open .elementor-location-header{
  z-index:10000 !important;
}

/* =========================================================
   kvCORE — No Matching Results (Empty State)
   ========================================================= */
.kv-nolistings-found{
  max-width:860px;
  margin:60px auto !important;
  padding:48px 56px;
  background:#fff;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(0,0,0,.08);
  text-align:center;
}

.kv-nolistings-found .kv-bold{
  font-size:clamp(22px, 2.2vw, 28px);
  font-weight:600;
  letter-spacing:.02em;
  margin-bottom:12px;
}

.kv-nolistings-found p{
  font-size:15px;
  line-height:1.6;
  color:#555;
  max-width:560px;
  margin:0 auto 28px;
}

.kv-nolistings-found button{
  min-width:180px;
  padding:14px;
  line-height:14px !important;
  border-radius:15px;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media (max-width: 640px){
  .kv-nolistings-found{
    padding:36px 24px;
    margin:40px 16px !important;
  }
  .kv-nolistings-found button{
    width:100%;
    margin-bottom:12px;
  }
}

/* Hide duplicate Clear Filters button */
.kv-nolistings-found .kv-button.kv-filters-clear{
  display:none !important;
}

