.gn-espo-idx{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
.gn-espo-idx__loading{padding:16px;opacity:.8}
.gn-espo-idx__wrap{max-width:1200px;margin:0 auto;padding:12px}
.gn-espo-idx__filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:10px 0 14px}
.gn-espo-idx__filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;opacity:.9}
.gn-espo-idx__filters input,.gn-espo-idx__filters select{min-width:160px;padding:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:rgba(255,255,255,.8)}
.gn-espo-idx__btn{padding:9px 12px;border:1px solid rgba(0,0,0,.15);border-radius:12px;background:rgba(255,255,255,.85);cursor:pointer}
.gn-espo-idx__grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:12px}
@media (min-width:640px){.gn-espo-idx__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:980px){.gn-espo-idx__grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.gn-espo-idx__card{position:relative;border:1px solid rgba(0,0,0,.12);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.82);box-shadow:0 4px 16px rgba(0,0,0,.06)}
.gn-espo-idx__img{width:100%;aspect-ratio:16/10;object-fit:cover;background:rgba(0,0,0,.04)}
.gn-espo-idx__body{padding:12px 12px 14px}
.gn-espo-idx__title{font-size:16px;font-weight:700;line-height:1.25;margin:0 0 6px}
.gn-espo-idx__meta{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;opacity:.9}
.gn-espo-idx__price{font-size:15px;font-weight:800;margin:10px 0 0}
.gn-espo-idx__pager{display:flex;gap:10px;align-items:center;justify-content:center;margin:16px 0}
.gn-espo-idx__detail{max-width:1100px;margin:0 auto;padding:12px}
.gn-espo-idx__hero{position:relative;border:1px solid rgba(0,0,0,.12);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.82);box-shadow:0 6px 22px rgba(0,0,0,.06)}

/* ==========================================================
 * Status Badge (ACTIVE / SOLD / PENDING) — Card & Detail Hero
 * ========================================================== */
.gn-espo-idx__statusBadge{position:absolute;top:12px;left:12px;z-index:5;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;font-size:12px;font-weight:900;letter-spacing:.08em;line-height:1;color:#fff;text-transform:uppercase;border:1px solid rgba(255,255,255,.22);box-shadow:0 6px 18px rgba(0,0,0,.18);background:rgba(17,17,17,.75);backdrop-filter:blur(6px)}
.gn-espo-idx__statusBadge--active{background:rgba(22,163,74,.92)}
.gn-espo-idx__statusBadge--pending{background:rgba(249,115,22,.92)}
.gn-espo-idx__statusBadge--sold{background:rgba(107,114,128,.92)}
.gn-espo-idx__statusBadge--other{background:rgba(10,125,140,.92)}
.gn-espo-idx__hero img{width:100%;aspect-ratio:16/9;object-fit:cover;background:rgba(0,0,0,.04)}
.gn-espo-idx__heroBody{padding:14px 14px 18px}
.gn-espo-idx__h1{margin:0 0 6px;font-size:22px;font-weight:900;line-height:1.2}
.gn-espo-idx__sub{opacity:.9;margin:0 0 10px}
.gn-espo-idx__desc{margin:10px 0 0;white-space:pre-wrap;opacity:.95}

/* ==========================================================
 * Listings (Properties) — Map + Split Layout (Screenshot parity)
 * ========================================================== */
.gn-espo-idx__layout{display:flex;gap:0;align-items:stretch;width:100%;min-height:520px}
.gn-espo-idx__left{flex:0 0 52%;min-width:320px;background:transparent}
.gn-espo-idx__right{flex:1;min-width:300px;position:relative}

.gn-espo-idx__wrap--left{max-width:none;margin:0;padding:14px 16px}

.gn-espo-idx__header{margin:0 0 12px}
.gn-espo-idx__headerTop{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between}
.gn-espo-idx__h2{font-size:20px;font-weight:800;line-height:1.2;margin:0}
.gn-espo-idx__note{margin:8px 0 12px;color:#0a6b7a;font-weight:700;opacity:.95}

.gn-espo-idx__chips{display:flex;flex-wrap:wrap;gap:8px}
.gn-espo-idx__chip{display:inline-flex;gap:6px;align-items:center;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.08);font-size:12px;opacity:.9}

/* ==========================================================
 * Search Row — Silver Glassmorphism
 * ========================================================== */
.gn-espo-idx__searchRow{display:flex;gap:10px;align-items:center}
.gn-espo-idx__searchInput{flex:1;min-width:220px;padding:11px 12px;border:1px solid rgba(255,255,255,0.75);border-radius:12px;background:rgba(240,242,248,0.88);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);box-shadow:0 1px 0 rgba(255,255,255,0.9) inset,0 4px 16px rgba(0,0,0,0.08);color:rgba(0,0,0,0.85);}
.gn-espo-idx__btn--search{padding:10px 14px;border-radius:12px;background:rgba(10,125,140,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,0.25);}
.gn-espo-idx__btn--save{padding:10px 14px;border-radius:12px;background:rgba(243,180,47,0.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#111;border:1px solid rgba(255,255,255,0.30);opacity:.95}
.gn-espo-idx__btnIcon{font-size:16px;line-height:1}

/* ==========================================================
 * Toolbar — Sort + Filters Button — Silver Glassmorphism
 * ========================================================== */
.gn-espo-idx__toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:12px 0 6px}
.gn-espo-idx__sort{display:flex;gap:8px;align-items:center}
.gn-espo-idx__sortLabel{font-weight:700;opacity:.85}
.gn-espo-idx__sortSelect{padding:9px 10px;border:1px solid rgba(255,255,255,0.75);border-radius:12px;background:rgba(240,242,248,0.88);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);box-shadow:0 1px 0 rgba(255,255,255,0.9) inset,0 4px 12px rgba(0,0,0,0.07);color:rgba(0,0,0,0.85);}
.gn-espo-idx__btn--filters{padding:10px 14px;border-radius:12px;background:rgba(240,242,248,0.92);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);color:rgba(0,0,0,0.85);border:1px solid rgba(255,255,255,0.80);box-shadow:0 1px 0 rgba(255,255,255,0.95) inset,0 4px 14px rgba(0,0,0,0.10);font-weight:700;}

/* ==========================================================
 * Autocomplete Dropdown — Silver Glassmorphism
 * ========================================================== */
.gn-espo-idx__ac-drop,.gn-idx__ac-drop{background:rgba(240,242,248,0.92) !important;backdrop-filter:blur(28px) saturate(2.0) !important;-webkit-backdrop-filter:blur(28px) saturate(2.0) !important;border:1px solid rgba(255,255,255,0.75) !important;box-shadow:0 1px 0 rgba(255,255,255,0.95) inset,0 8px 32px rgba(0,0,0,0.14),0 2px 8px rgba(0,0,0,0.08) !important;border-radius:16px !important;}
.gn-espo-idx__ac-item,.gn-idx__ac-item{color:rgba(0,0,0,0.85) !important;}
.gn-espo-idx__ac-item:hover,.gn-idx__ac-item:hover{background:rgba(0,0,0,0.06) !important;}
.gn-espo-idx__ac-cat,.gn-idx__ac-cat{color:rgba(0,0,0,0.40) !important;border-bottom:1px solid rgba(0,0,0,0.08) !important;}

/* ==========================================================
 * Filter Panel — Silver Glassmorphism
 * ========================================================== */
.gn-espo-idx__fp,.gn-idx__fp{background:rgba(240,242,248,0.96) !important;backdrop-filter:blur(32px) saturate(2.0) !important;-webkit-backdrop-filter:blur(32px) saturate(2.0) !important;border-left:1px solid rgba(255,255,255,0.75) !important;box-shadow:-4px 0 20px rgba(0,0,0,.12),-1px 0 0 rgba(255,255,255,0.80) inset !important;}
.gn-espo-idx__fp-head,.gn-idx__fp-head{background:rgba(245,246,250,0.95) !important;backdrop-filter:blur(20px) !important;-webkit-backdrop-filter:blur(20px) !important;border-bottom:1px solid rgba(0,0,0,0.08) !important;}
.gn-espo-idx__fp-foot,.gn-idx__fp-foot{background:rgba(245,246,250,0.95) !important;backdrop-filter:blur(20px) !important;-webkit-backdrop-filter:blur(20px) !important;border-top:1px solid rgba(0,0,0,0.08) !important;}

/* ==========================================================
 * Multi-select Dropdowns — Silver Glassmorphism
 * ========================================================== */
.gn-espo-idx__ms-drop,.gn-idx__ms-drop,.gn-home-idx__msDrop{background:rgba(240,242,248,0.95) !important;backdrop-filter:blur(20px) saturate(1.8) !important;-webkit-backdrop-filter:blur(20px) saturate(1.8) !important;border:1px solid rgba(255,255,255,0.75) !important;box-shadow:0 1px 0 rgba(255,255,255,0.95) inset,0 8px 24px rgba(0,0,0,0.12) !important;border-radius:14px !important;}

.gn-espo-idx__mapWrap{position:sticky;top:88px;height:calc(100vh - 118px);min-height:520px;border-left:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.9)}
.gn-espo-idx__map{width:100%;height:100%}

.gn-espo-idx__card--active{outline:3px solid rgba(10,125,140,.35);outline-offset:2px}

/* Google Maps infowindow content */
.gn-espo-idx__mapInfo{display:flex;gap:10px;max-width:320px}
.gn-espo-idx__mapInfoImg img{width:92px;height:70px;object-fit:cover;border-radius:10px;border:1px solid rgba(0,0,0,.12)}
.gn-espo-idx__mapInfoBody{display:flex;flex-direction:column;gap:4px}
.gn-espo-idx__mapInfoPrice{font-weight:900}
.gn-espo-idx__mapInfoAddr{font-size:12px;opacity:.9}
.gn-espo-idx__mapInfoLink a{font-size:12px;font-weight:800;color:#0a7d8c;text-decoration:none}

/* ==========================================================
 * Google Maps — Advanced Marker "Count" Style (Cluster-like)
 * ========================================================== */
.gn-espo-idx__gmCluster{width:var(--gn-gm-size,42px);height:var(--gn-gm-size,42px);border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.82);border:2px solid rgba(0,0,0,.22);box-shadow:0 8px 18px rgba(0,0,0,.12);backdrop-filter:blur(6px);user-select:none;cursor:pointer;line-height:1}
.gn-espo-idx__gmClusterCount{font-weight:900;font-size:14px;color:rgba(0,0,0,.82);letter-spacing:.02em}

@media (max-width: 980px){
  .gn-espo-idx__layout{flex-direction:column}
  .gn-espo-idx__left{flex:1 1 auto;min-width:0}
  .gn-espo-idx__right{flex:0 0 auto}
  .gn-espo-idx__mapWrap{position:relative;top:auto;height:420px;min-height:420px;border-left:none;border-top:1px solid rgba(0,0,0,.08)}
}

/* ==========================================================
 * Properties Page — gn-idx__ Glass Overrides (matching homepage exactly)
 * ========================================================== */

/* Hide the Save Search button beside the search bar */
.gn-idx__btn--save{display:none !important;}

/* Search bar wrapper — pill shape matching homepage bar */
.gn-idx__searchBox{background:rgba(255,255,255,0.22) !important;backdrop-filter:blur(24px) saturate(1.8) !important;-webkit-backdrop-filter:blur(24px) saturate(1.8) !important;border:1px solid rgba(255,255,255,0.6) !important;border-radius:999px !important;box-shadow:rgba(255,255,255,0.55) 0px 2px 0px 0px inset,rgba(255,255,255,0.25) 0px 0px 0px 1px,rgba(0,0,0,0.28) 0px 8px 32px 0px,rgba(0,0,0,0.18) 0px 2px 8px 0px !important;}

/* Search input — transparent inside the pill */
.gn-idx__searchInput{background:transparent !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;border:none !important;box-shadow:none !important;color:rgba(0,0,0,0.85) !important;border-radius:0 !important;}
.gn-idx__searchInput::placeholder{color:rgba(0,0,0,0.45) !important;}

/* Location button — glass pill inside bar */
.gn-idx__locBtn{background:rgba(255,255,255,0.35) !important;border:1px solid rgba(255,255,255,0.50) !important;border-radius:999px !important;color:rgba(0,0,0,0.7) !important;}

/* Search button — glass pill inside bar */
.gn-idx__searchBtn{background:rgba(255,255,255,0.45) !important;border:1px solid rgba(255,255,255,0.55) !important;border-radius:999px !important;color:rgba(0,0,0,0.85) !important;font-weight:600 !important;}

/* Sort dropdown — matching homepage pill style */
.gn-idx__sortSel{background:rgba(255,255,255,0.22) !important;backdrop-filter:blur(24px) saturate(1.8) !important;-webkit-backdrop-filter:blur(24px) saturate(1.8) !important;border:1px solid rgba(255,255,255,0.6) !important;border-radius:999px !important;box-shadow:rgba(255,255,255,0.55) 0px 2px 0px 0px inset,rgba(0,0,0,0.18) 0px 2px 8px 0px !important;color:rgba(0,0,0,0.85) !important;font-weight:600 !important;}

/* Filters button — matching homepage FILTERS button */
.gn-idx__btn--filter{background:rgba(255,255,255,0.28) !important;backdrop-filter:blur(24px) saturate(1.8) !important;-webkit-backdrop-filter:blur(24px) saturate(1.8) !important;border:1px solid rgba(255,255,255,0.45) !important;border-radius:999px !important;box-shadow:rgba(255,255,255,0.55) 0px 2px 0px 0px inset,rgba(0,0,0,0.18) 0px 2px 8px 0px !important;color:rgba(0,0,0,0.7) !important;font-weight:600 !important;}

/* Save This Search map button — glass pill */
#gln-save-search-btn{background:rgba(255,255,255,0.28) !important;backdrop-filter:blur(24px) saturate(1.8) !important;-webkit-backdrop-filter:blur(24px) saturate(1.8) !important;border:1px solid rgba(255,255,255,0.6) !important;border-radius:999px !important;box-shadow:rgba(255,255,255,0.55) 0px 2px 0px 0px inset,rgba(0,0,0,0.28) 0px 8px 32px 0px,rgba(0,0,0,0.18) 0px 2px 8px 0px !important;color:rgba(0,0,0,0.85) !important;font-weight:700 !important;}
