:root{
  --navy:#16215c;
  --navy-light:#1f2f7f;
  --navy-pale:#eef1fb;
  --lavender-band:#dfe3fb;
  --orange:#f5a623;
  --orange-dark:#e08e00;
  --pink:#e91e8c;
  --teal:#0a7d6f;
  --text-dark:#1c1c1c;
  --text-gray:#666;
  --text-light-gray:#999;
  --border:#e6e6e6;
  --bg:#f4f5f7;
  --white:#fff;
  --radius-lg:14px;
  --radius-md:10px;
  --radius-sm:6px;
  --shadow-card:0 2px 10px rgba(22,33,92,0.06);
  --shadow-card-hover:0 12px 28px rgba(22,33,92,0.14);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter','Segoe UI',Arial,sans-serif;
  background:var(--bg);
  color:var(--text-dark);
  font-size:14px;
}
a{color:inherit; text-decoration:none;}
button{font-family:inherit;}
svg{display:block;}
:focus-visible{outline:2px solid var(--orange); outline-offset:2px;}

.navbar{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  padding:0 40px 0 0;
  background:var(--navy);
  position:relative;
  z-index:60;
  height:74px;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,0.12);
}
/* the diagonal white wedge behind the logo */
.navbar::before{
  content:'';
  position:absolute;
  left:0; top:0; bottom:0;
  width:330px;
  background:#fff;
  clip-path:polygon(0 0, 86% 0, 68% 100%, 0 100%);
  z-index:1;
}
.navbar-left{display:flex; align-items:center; gap:40px; position:relative; z-index:2;}

.logo{display:flex; align-items:center; gap:8px; padding-left:32px;}
.logo img{
  height:36px;
  width:170px;
  display:block;
  object-fit:contain;
}
.logo .logo-tm{
  align-self:flex-start;
  font-size:10px;
  color:var(--text-light-gray);
  font-weight:700;
  margin-top:2px;
}

.navbar-nav{display:flex; align-items:center; gap:30px; position:relative; z-index:2; padding-left:26px;}
.navbar-nav .nav-item{
  display:flex; align-items:center; gap:7px;
  color:#fff;
  font-weight:700; font-size:14.5px;
  cursor:pointer;
  padding:8px 2px;
  transition:color .15s ease;
}
.navbar-nav .nav-item svg{width:17px; height:17px; stroke:var(--orange); opacity:1;}
.navbar-nav .nav-item:hover{color:var(--orange);}
.navbar-nav .nav-item.active{color:var(--orange);}
.navbar-nav .nav-item .chev{width:10px; height:10px; margin-left:-2px; stroke:#cfd4ea !important;}

.navbar-right{display:flex; align-items:center; gap:16px; font-size:14px; position:relative; z-index:2;}
.btn-outline{
  border:1px solid rgba(255,255,255,0.45); border-radius:var(--radius-sm); padding:9px 14px; font-weight:600;
  display:flex; align-items:center; gap:6px; color:#fff; cursor:pointer; background:transparent;
  transition:background .15s ease, border-color .15s ease;
  font-size:13.5px;
}
.btn-outline:hover{background:rgba(255,255,255,0.12); border-color:#fff;}
.nav-link{font-weight:600; color:#fff; cursor:pointer; font-size:14px;}
.nav-link:hover{color:var(--orange);}
.divider-dot{width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,0.35);}

/* Small circular chat/help icon at the end of the navy bar, like the reference header */
.navbar-msg-icon{
  width:36px; height:36px; border-radius:50%;
  background:#fff;
  display:flex; align-items:center; justify-content:center;
  position:relative;
  cursor:pointer;
  flex-shrink:0;
}
.navbar-msg-icon svg{width:18px; height:18px; stroke:var(--orange);}
.navbar-msg-icon .badge{
  position:absolute; top:-3px; right:-3px;
  width:14px; height:14px; border-radius:50%;
  background:var(--orange); color:#fff;
  font-size:9px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--navy);
}

.heart-icon{position:relative; display:flex; cursor:pointer; color:#fff;}
.heart-icon svg{width:20px; height:20px; stroke:currentColor; fill:none;}
.heart-icon .dot{
  position:absolute; top:-2px; right:-2px; width:8px; height:8px; background:var(--orange);
  border-radius:50%; border:2px solid var(--navy);
}
.menu-icon{display:none; align-items:center; gap:6px; font-weight:600; cursor:pointer; color:#fff; background:transparent; border:none;}
.menu-icon svg{width:20px; height:20px; stroke:currentColor;}

.get-help-tab{
  position:fixed;
  top:50%;
  right:0;
  transform:translateY(-50%);
  background:var(--orange);
  color:var(--navy);
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-weight:800;
  font-size:13px;
  letter-spacing:.5px;
  padding:14px 9px;
  border-radius:10px 0 0 10px;
  display:flex; align-items:center; gap:8px;
  cursor:pointer;
  box-shadow:-3px 3px 12px rgba(0,0,0,0.18);
  z-index:70;
  transition:padding .15s ease, background .15s ease;
}
.get-help-tab svg{width:18px; height:18px; stroke:var(--navy); transform:rotate(90deg);}
.get-help-tab:hover{background:var(--orange-dark); padding-right:12px;}


.title-band{
  background:var(--lavender-band);
  color:var(--navy);
  text-align:center;
  font-family:'Manrope',sans-serif;
  font-weight:800;
  font-size:16px;
  letter-spacing:.2px;
  padding:11px 20px;
  position:relative;
}
.title-band::before,
.title-band::after{
  content:'';
  position:absolute; top:0; bottom:0; width:22%;
  background:#eef0fb;
}
.title-band::before{left:0; clip-path:polygon(0 0,100% 0,84% 100%,0 100%);}
.title-band::after{right:0; clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);}


.mobile-nav-backdrop{display:none;}


.searchbar-wrap{
  background:var(--white);
  padding:10px 32px;
  display:flex;
  align-items:center;
  gap:16px;
  border-bottom:1px solid var(--border);
  flex-wrap:wrap;
}
.search-pill-group{
  flex:1;
  min-width:220px;
  display:flex;
  align-items:center;
  border:1.5px solid #ccc;
  border-radius:8px;
  padding:6px 10px;
  gap:10px;
  transition:border-color .15s ease;
}
.search-pill-group:focus-within{border-color:var(--orange);}
.search-pill-group .pin{width:16px; height:16px; stroke:#999; margin-left:2px; flex-shrink:0;}
.chip{
  background:var(--navy);
  color:#fff;
  border-radius:6px;
  padding:6px 10px;
  font-size:14.5px;
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:700;
}
.chip .x{cursor:pointer; opacity:0.85;}
.chip .x:hover{opacity:1; color:var(--orange);}
.search-input{
  flex:1;
  border:none;
  outline:none;
  font-size:15.5px;
  font-weight:500;
  color:#888;
  padding:6px;
  min-width:100px;
}
.search-btn{
  background:var(--orange);
  color:var(--navy);
  border:none;
  border-radius:8px;
  padding:12px 30px;
  font-weight:900;
  font-size:16.5px;
  cursor:pointer;
  white-space:nowrap;
  transition:background .15s ease, transform .1s ease;
}
.search-btn:hover{background:var(--orange-dark); transform:translateY(-1px);}
.search-btn:active{transform:translateY(0);}
.save-search{
  font-weight:600;
  color:var(--navy);
  white-space:nowrap;
  cursor:pointer;
  display:flex; align-items:center; gap:6px;
}
.save-search svg{width:15px; height:15px; stroke:currentColor;}
.save-search:hover{color:var(--orange-dark);}
.view-toggle{
  display:flex;
  gap:10px;
  white-space:nowrap;
  background:#f1f1f1;
  padding:4px;
  border-radius:8px;
}
.view-toggle .item{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:600;
  cursor:pointer;
  padding:8px 14px;
  border-radius:6px;
  color:#555;
  transition:background .15s ease, color .15s ease;
}
.view-toggle .item svg{width:15px; height:15px; stroke:currentColor;}
.view-toggle .active{
  background:var(--navy);
  color:#fff;
}


.layout{
  display:grid;
  grid-template-columns:260px 1fr 260px;
  gap:20px;
  padding:24px 32px;
  align-items:start;
}

.filters{
  background:var(--white);
  border-radius:var(--radius-md);
  padding:20px;
  border:1px solid var(--border);
}
.filters-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:2px solid var(--orange);
  padding-bottom:12px;
  margin-bottom:18px;
}
.filters-header h3{font-size:16px; color:#222;}
.filters-header .reset{
  color:var(--navy);
  font-weight:700;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:5px;
  cursor:pointer;
}
.filters-header .reset svg{width:13px; height:13px; stroke:currentColor;}
.filters-header .reset:hover{color:var(--orange-dark);}
.filter-group{margin-bottom:22px;}
.filter-group h4{font-size:14px; margin-bottom:12px; color:#222;}
.radio-row, .checkbox-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px 22px;
}
.radio-item, .checkbox-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
  color:#333;
  cursor:pointer;
}
.radio-item input[type=radio]{accent-color:var(--orange); width:15px; height:15px;}
.checkbox-item input[type=checkbox]{width:15px; height:15px; accent-color:var(--orange);}
.range-wrap{margin-top:10px;}
.range-track{
  position:relative;
  height:4px;
  background:#ddd;
  border-radius:4px;
  margin:18px 4px 8px;
}
.range-fill{
  position:absolute;
  left:0; right:0; top:0; bottom:0;
  background:var(--orange);
  border-radius:4px;
}
.range-handle{
  position:absolute;
  top:50%;
  width:14px;height:14px;
  background:#fff;
  border:3px solid var(--navy);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.new-badge{
  background:var(--pink);
  color:#fff;
  font-size:9px;
  font-weight:700;
  padding:2px 6px;
  border-radius:8px;
  margin-left:6px;
  vertical-align:middle;
}

.breadcrumb{
  font-size:13px;
  color:#777;
  margin-bottom:6px;
}
.breadcrumb span{color:#333;}
.listing-header-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:16px;
  flex-wrap:wrap;
  gap:10px;
}
.listing-title{font-size:19px; font-weight:700; color:#222;}

.card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  margin-bottom:22px;
  overflow:hidden;
  box-shadow:var(--shadow-card);
  transition:box-shadow .18s ease, transform .18s ease;
}
.card:hover{box-shadow:var(--shadow-card-hover); transform:translateY(-2px);}

.card-top{
  background:#fafafa;
  padding:16px 18px 14px;
  border-bottom:1px solid var(--border);
}
.card-title-row{display:flex; justify-content:space-between; align-items:flex-start; gap:10px;}
.card-title{
  font-size:16.5px;
  font-weight:800;
  color:#1c1c1c;
  display:flex;
  align-items:center;
  gap:7px;
}
.card-title .ext-icon{width:14px; height:14px; stroke:#999; stroke-width:2;}
.flag-box{
  width:32px; height:32px;
  border:1px solid var(--border);
  border-radius:7px;
  display:flex; align-items:center; justify-content:center;
  color:#bbb;
  cursor:pointer;
  flex-shrink:0;
  transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.flag-box svg{width:15px; height:15px; stroke:currentColor; fill:none;}
.flag-box:hover{color:var(--pink); border-color:var(--pink); background:#fdf1f8;}
.card-address{
  font-size:13px;
  color:#8a8a8a;
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.card-address svg{width:13px; height:13px; stroke:#999; flex-shrink:0;}
.card-address .explore{
  color:#333;
  font-weight:700;
  text-decoration:underline;
  margin-left:4px;
  cursor:pointer;
}
.card-address .explore:hover{color:var(--pink);}

.stats-row{
  display:flex;
  border-bottom:1px solid var(--border);
}
.stat-item{
  flex:1;
  text-align:center;
  padding:13px 10px;
  border-right:1px solid var(--border);
}
.stat-item:last-child{border-right:none;}
.stat-value{font-size:15px; font-weight:800; color:#1c1c1c;}
.stat-label{font-size:11.5px; color:#8a8a8a; margin-top:3px;}

.card-body-row {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    column-gap: 18px;

    width: 100%;
    padding: 18px 18px 0;

    box-sizing: border-box;
    align-items: start;
}

.card-photo {
    position: relative;

    width: 250px;
    height: 225px;

    overflow: hidden;
    border-radius: 0;

    background: #f2f2f2;
}

.photo-track {
    display: flex;

    width: 100%;
    height: 100%;

    transition: transform 0.3s ease;
}
.photo-track img {
    width: 100%;
    height: 100%;

    min-width: 100%;

    object-fit: cover;
    display: block;
}

.carousel-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:30px; height:30px; border-radius:50%;
  background:rgba(255,255,255,0.9);
  border:none;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
  color:var(--navy);
  z-index:5;
  transition:background .15s ease, transform .15s ease;
}
.carousel-btn svg{width:15px; height:15px; stroke:currentColor; stroke-width:2.4;}
.carousel-btn:hover{background:var(--orange); color:#fff;}
.carousel-btn.prev{left:10px;}
.carousel-btn.next{right:10px;}
.carousel-dots{
  position:absolute; bottom:10px; left:50%; transform:translateX(-50%);
  display:flex; gap:5px; z-index:5;
}
.carousel-dots span{
  width:6px; height:6px; border-radius:50%;
  background:rgba(255,255,255,0.65);
  transition:width .2s ease, background .2s ease;
}
.carousel-dots span.active{background:var(--orange); width:16px; border-radius:4px;}

.price-ribbon{
  position:absolute; top:14px; left:0;
  background:var(--navy);
  color:#fff;
  font-weight:800; font-size:13px;
  padding:6px 14px 6px 12px;
  border-radius:0 6px 6px 0;
  box-shadow:0 2px 6px rgba(0,0,0,0.15);
  z-index:4;
}
.share-btn{
  position:absolute; top:10px; right:10px;
  width:30px; height:30px; border-radius:50%;
  background:rgba(255,255,255,0.9);
  display:flex; align-items:center; justify-content:center;
  color:var(--navy); cursor:pointer; z-index:5;
  transition:background .15s ease;
}
.share-btn svg{width:14px; height:14px; stroke:currentColor;}
.share-btn:hover{background:var(--orange); color:#fff;}

.pill-badge{
  position:absolute;
  padding:5px 11px;
  border-radius:20px;
  font-size:11px;
  font-weight:800;
  display:flex; align-items:center; gap:5px;
  background:rgba(255,255,255,0.95);
  box-shadow:0 1px 5px rgba(0,0,0,0.15);
  z-index:4;
  white-space:nowrap;
}
.pill-badge svg{width:12px; height:12px; stroke:currentColor;}
.pill-badge.gender{bottom:46px; left:12px; color:var(--pink); border:1px solid rgba(233,30,140,0.25);}
.pill-badge.type{bottom:12px; left:12px; color:var(--navy); border:1px solid rgba(22,33,92,0.18);}
.pill-badge.rating{bottom:12px; right:12px; background:var(--orange); color:#fff;}
.pill-badge.rating.not-rated{background:#8a8a8a;}
.pill-badge.rating svg{stroke:#fff; fill:#fff;}

.card-right-content {
    min-width: 0;
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 12px;
}

.info-grid {
    display: grid;

    grid-template-columns: 1fr 1fr;

    width: 100%;

    border: 1px solid #d9d9d9;
    background: #fff;

    box-sizing: border-box;
}
.info-cell {
    display: flex;
    align-items: center;

    min-width: 0;

    min-height: 78px;

    padding: 12px 14px;

    box-sizing: border-box;

    border-bottom: 1px solid #d9d9d9;
}


.info-cell:nth-child(odd) {
    border-right: 1px solid #d9d9d9;
}
.info-cell:nth-child(3),
.info-cell:nth-child(4) {
    border-bottom: none;
}

.info-icon-wrap {
    width: 34px;
    height: 34px;

    min-width: 34px;

    margin-right: 12px;

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

    color: #777;
}

.info-icon-wrap svg {
    width: 29px;
    height: 29px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}
.info-text {
    min-width: 0;
}
.info-value {
    font-family: "Inter", sans-serif;

    font-size: 16px;
    font-weight: 600;

    line-height: 20px;

    color: #4d4d4d;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.info-label {
    margin-top: 4px;

    font-family: "Inter", sans-serif;

    font-size: 14px;
    font-weight: 400;

    line-height: 18px;

    color: #666;

    white-space: nowrap;
}
.info-cell > div {
    min-width: 0;
}

.card-right-content .card-footer {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 0;
    margin: 0;
}

.get-owner-btn {
    flex: 1;

    width: 100%;
    height: 50px;

    border: none;
    border-radius: 3px;

    background: #0b013b;
    color: #fff;

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

    gap: 8px;

    font-family: "Inter", sans-serif;

    font-size: 16px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.15s ease;
}

.get-owner-btn svg {
    width: 21px;
    height: 21px;

    flex-shrink: 0;
}
.get-owner-btn:hover {
    background: #010458;
    transform: translateY(-1px);
}

.icon-btn{
  width:48px; height:48px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  display:flex; align-items:center; justify-content:center;
  color:#555;
  cursor:pointer;
  flex-shrink:0;
  transition:background .15s ease, color .15s ease, border-color .15s ease, transform .1s ease;
}
.icon-btn svg{width:19px; height:19px; stroke:currentColor; fill:none; transition:fill .15s ease, stroke .15s ease;}
.icon-btn:hover{transform:scale(1.06); border-color:var(--orange);}

.wishlist-btn.active{color:var(--orange); border-color:var(--orange); background:#fff6e9;}
.wishlist-btn.active svg{fill:var(--orange); stroke:var(--orange);}
.wishlist-btn {
    width: 50px;
    height: 50px;

    flex-shrink: 0;

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

    background: #fff;

    border: 1px solid #cfcfcf;
    border-radius: 3px;

}
.wishlist-btn svg {
    width: 25px;
    height: 25px;

    color: #777;
}
.wishlist-btn.active svg {
    fill: #d05111;
    color: #ef6102;
}

.share-btn {
    position: absolute;

    top: 10px;
    right: 10px;

    z-index: 5;

    width: 34px;
    height: 34px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.95);

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

    cursor: pointer;
}

.share-btn svg {
    width: 18px;
    height: 18px;

    color: #555;
}
.price-ribbon {
    position: absolute;

    top: 10px;
    left: 10px;

    z-index: 5;

    padding: 6px 9px;

    border-radius: 3px;

    background: rgba(0, 0, 0, 0.7);
    color: #fff;

    font-size: 13px;
    font-weight: 600;
}

@media (max-width: 700px){
  .card-body-row{flex-direction:column;}
  .card-photo{width:100%; min-height:200px;}
  .info-grid{grid-template-columns:1fr 1fr;}
}

.sidebar-right .box{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  padding:18px 20px;
  margin-bottom:20px;
}
.sidebar-right h4{
  color:var(--navy);
  font-size:16px;
  margin-bottom:14px;
  font-weight: 800;
}
.sidebar-right p.sub{
  font-size:13px;
  color:#888;
  margin-bottom:10px;
}
.sidebar-right ul{list-style:none;}
.sidebar-right li{
  font-size:13.5px;
  color:#333;
  padding:8px 0;
  border-bottom:1px solid #f1f1f1;
  cursor:pointer;
  line-height:1.4;
}
.sidebar-right li:hover{color:var(--orange-dark);}
.sidebar-right li:last-child{border-bottom:none;}

.ad-box{
  background:linear-gradient(160deg, var(--navy), var(--navy-light));
  border-radius:12px;
  color:#fff;
  padding:20px;
  text-align:left;
  position:relative;
  overflow:hidden;
}
.ad-box h5{font-size:16px; font-weight:800; margin-bottom:4px;}
.ad-box p{font-size:12.5px; opacity:0.9; margin-top:6px; line-height:1.4;}
.ad-btn{
  margin-top:14px;
  background:var(--orange);
  color:var(--navy);
  border:none;
  padding:10px 16px;
  border-radius:6px;
  font-weight:800;
  cursor:pointer;
  transition:background .15s ease;
}
.ad-btn:hover{background:var(--orange-dark);}

@media (max-width: 1100px){
  .layout{grid-template-columns:1fr;}
  .sidebar-right{order:3;}
  .filters{order:2;}
  .navbar-nav{gap:22px;}
}
@media (max-width: 860px){
  .navbar-nav{
    position:fixed; top:0; right:-280px; height:100vh; width:260px;
    background:var(--navy); flex-direction:column; align-items:flex-start;
    padding:80px 24px 24px; gap:6px; transition:right .25s ease; z-index:80;
    box-shadow:-8px 0 24px rgba(0,0,0,0.25);
  }
  .navbar-nav.open{right:0;}
  .navbar-nav .nav-item{width:100%; padding:12px 4px; border-bottom:1px solid rgba(255,255,255,0.08);}
  .navbar-right .btn-outline, .navbar-right .nav-link{display:none;}
  .menu-icon{display:flex;}
  .mobile-nav-backdrop{
    display:none; position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:70;
  }
  .mobile-nav-backdrop.open{display:block;}
}
@media (max-width: 700px){
  .navbar{padding:12px 18px;}
  .searchbar-wrap{padding:12px 18px;}
  .layout{padding:16px 18px;}
  .card-photo{height:190px;}
  .get-help-tab{padding:10px 7px; font-size:11.5px;}
  .title-band{font-size:14px; padding:10px 14px;}
}
@media (max-width: 768px) {

    .card-body-row {
        display: flex;
        flex-direction: column;

        gap: 14px;

        padding: 14px;
    }

    .card-photo {
        width: 100%;
        height: 230px;
    }

    .card-right-content {
        width: 100%;
    }

    .info-grid {
        height: auto;

        grid-template-columns: 1fr;
    }

    .info-cell {
        min-height: 65px;

        border-right: none !important;
        border-bottom: 1px solid #d9d9d9;
    }

    .info-cell:last-child {
        border-bottom: none;
    }

    .card-right-content .card-footer {
        width: 100%;
    }

    .card-footer{
      display:flex;
      grid-template-columns:none;
    }
    .card-footer .footer-spacer{
      display:none;
    }

}

@media (max-width: 480px) {

    .card-photo {
        height: 210px;
    }

    .info-value {
        font-size: 15px;
    }

    .info-label {
        font-size: 13px;
    }

    .get-owner-btn {
        font-size: 15px;
    }

}
:root { --pill: 100px; }


:root { --pill: 100px; --accent: #FFA012; --primary: #123E89; --muted: #6c757d; }
    /* ── Location row ── */
    .desk-loc-bar {
        display: flex;
        justify-content: center;
        padding: 12px 0;
        background: #fff;
        margin-top: 80px;
    }

    .location-row {
        display: flex;
        align-items: center;
        gap: 8px;
        background: #fff;
        border-radius: var(--pill);
        padding: 6px 6px 6px 18px;
        box-shadow: 0 8px 32px rgba(0, 0, 0, .22);
        width: 620px !important;
        min-width: 655px !important;
        max-width: calc(100vw - 40px);
        flex-shrink: 0;
    }

    .custom-autocomplete-container {
        flex: 1;
        display: flex;
        align-items: center;
        padding: 5px 12px;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 8px;
        min-width: 0;
        scrollbar-width: none;
    }

    .custom-autocomplete-container::-webkit-scrollbar {
        display: none;
    }

    #locationInput {
        border: none;
        background: transparent;
        flex: 1;
        min-width: 150px;
        height: 31px;
        font-size: 15px;
        outline: none;
        color: #495057;
    }

    .selected-tags {
        display: flex;
        gap: 8px;
        flex-wrap: nowrap;
        align-items: center;
    }

    .tag {
        /* background: var(--accent);
        color: #fff; */
        background: #ffffff;
        color: #0024A5;
        padding: 0 12px;
        height: 27px;
        border-radius: 10px;
        font-size: 13px;
        font-weight: 500;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        white-space: nowrap;
        animation: fadeIn 0.2s ease;
        flex-shrink: 0;
        max-width: 170px;
        min-width: 0;
        box-sizing: border-box;
        box-shadow: 0 2px 4px rgba(255, 160, 18, 0.2);
        box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    }

    .tag span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        display: block;
        flex: 1;
        min-width: 0;
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
            transform: scale(0.9);
        }

        to {
            opacity: 1;
            transform: scale(1);
        }
    }

    .tag i {
        cursor: pointer;
        font-size: 11px;
        opacity: 0.8;
        transition: 0.2s;
    }

    .tag i:hover {
        opacity: 1;
        transform: scale(1.2);
    }

    .suggestions-dropdown {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        width: 100%;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 15px 50px rgba(0, 0, 0, 0.15);
        display: none;
        z-index: 1000;
        max-height: 300px;
        overflow-y: auto;
        border: 1px solid #f1f3f5;
    }

    .suggestion-item {
        padding: 14px 20px;
        cursor: pointer;
        transition: all 0.2s;
        border-bottom: 1px solid #f8f9fa;
        font-size: 14px;
        color: #495057;
    }

    .suggestion-item:last-child {
        border-bottom: none;
    }

    .suggestion-item:hover {
        background: #f0f7ff;
        color: var(--primary);
        padding-left: 25px;
    }

    .suggestion-item i {
        color: #FFA012;
        margin-right: 12px;
        font-size: 16px;
        width: 20px;
        text-align: center;
        transition: transform 0.2s;
    }

    .suggestion-item:hover i {
        transform: scale(1.1);
    }

    .btn-loc-search {
        flex-shrink: 0;
        background: orange;
        color: #fff;
        border: none;
        border-radius: var(--pill);
        padding: 11px 26px;
        font-weight: 700;
        font-size: 14px;
        white-space: nowrap;
        cursor: pointer;
        transition: background .2s, transform .12s;
        display: flex;
        align-items: center;
        gap: 7px;
    }

    .btn-loc-search:hover {
        background: #e05c00;
        color: #fff;
        transform: scale(1.02);
    }

    .btn-loc-reset {
        flex-shrink: 0;
        background: #f0f2f7;
        color: var(--muted);
        border: none;
        border-radius: 50%;
        width: 42px;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background .18s;
        text-decoration: none;
    }

    .btn-loc-reset:hover {
        background: var(--border);
    }

    .location-row.has-tags .loc-icon {
        display: none !important;
    }


/* =====================================================
   MOBILE RESPONSIVE — property-list-new.css
   ===================================================== */

/* --- Searchbar: hide giant pin icon & compact on mobile --- */
@media (max-width: 991px) {
  .searchbar-wrap {
    padding: 10px 14px;
    gap: 8px;
    flex-wrap: nowrap;
  }
  .search-pill-group {
    min-width: 0;
    flex: 1;
    padding: 5px 8px;
    gap: 6px;
  }
  /* The giant location pin SVG that causes the full-screen icon bug */
  .search-pill-group .pin {
    display: none;
  }
  .chip {
    font-size: 12px;
    padding: 4px 8px;
  }
  .search-input {
    font-size: 13px;
    padding: 4px;
    min-width: 60px;
  }
  .search-btn, .search-reset-btn {
    padding: 10px 14px;
    font-size: 14px;
    white-space: nowrap;
  }
  .view-toggle {
    gap: 4px;
  }
  .view-toggle .item {
    padding: 7px 10px;
    font-size: 12px;
    gap: 4px;
  }
  .view-toggle .item svg {
    width: 13px;
    height: 13px;
  }

  /* --- Layout: single column --- */
  .layout {
    grid-template-columns: 1fr;
    padding: 12px 12px;
    gap: 12px;
  }

  /* Hide filter sidebar — accessible via FAB drawer instead */
  #filterDrawer {
    display: none;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 85vw !important;
    max-width: 320px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto !important;
    z-index: 200 !important;
    border-radius: 0 14px 14px 0 !important;
    box-shadow: 6px 0 32px rgba(0,0,0,0.2) !important;
    padding-bottom: 80px;
    background: #fff;
  }
  #filterDrawer.drawer-open {
    display: block;
  }
  /* Disable JS sticky logic on mobile — drawer handles it */
  #filterDrawer.js-sticky-active {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    max-height: 100vh !important;
  }
  #filterDrawerPlaceholder,
  #sidebarRightPlaceholder {
    display: none !important;
  }
  .sidebar-right {
    order: 3;
    width: 100%;
  }
  .sidebar-right.js-sticky-active {
    position: static !important;
    width: auto !important;
    left: auto !important;
    top: auto !important;
    box-shadow: none !important;
  }

  /* Drawer backdrop */
  .drawer-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 199;
  }
  .drawer-backdrop.open {
    display: block;
  }

  /* Show mobile Filters FAB button */
  .btn-filter {
    display: flex !important;
    align-items: center;
    gap: 6px;
    background: var(--navy);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 9px 14px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
  }

  /* Listing header */
  .listing-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .listing-title {
    font-size: 13px;
    font-weight: 600;
  }
  .breadcrumb { font-size: 12px; }

  /* Cards */
  .card { margin-bottom: 14px; border-radius: 10px; }
  .card-body-row {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
  }
  .card-photo {
    width: 100%;
    height: 210px;
    border-radius: 0;
  }
  .card-right-content {
    width: 100%;
    padding: 12px;
    gap: 10px;
  }
  .card-top { padding: 12px 14px 10px; }
  .card-title { font-size: 14px; }
  .info-grid { grid-template-columns: 1fr 1fr; }
  .info-cell { min-height: 62px; padding: 10px; }
  .info-value { font-size: 14px; }
  .info-label { font-size: 12px; }
  .get-owner-btn { height: 44px; font-size: 14px; }
  .wishlist-btn { width: 44px; height: 44px; }
  .stat-value { font-size: 14px; }
  .stat-label { font-size: 11px; }
}

/* --- Very small phones (≤ 480px) --- */
@media (max-width: 480px) {
  .navbar { padding: 10px 12px; height: 60px; }
  .navbar::before { width: 190px; }
  .logo img { height: 26px; width: 120px; }
  .searchbar-wrap { padding: 8px 10px; gap: 6px; }
  .search-btn, .search-reset-btn { padding: 9px 11px; font-size: 13px; }
  .card-photo { height: 185px; }
  .card-title { font-size: 13px; }
  .layout { padding: 10px 10px; }
  .get-help-tab { font-size: 10.5px; padding: 8px 6px; }
  /* Single column info grid on very small screens */
  .info-grid { grid-template-columns: 1fr; }
  .info-cell { border-right: none !important; }
  .info-cell:nth-child(3) { border-bottom: 1px solid #d9d9d9 !important; }
  .info-cell:last-child { border-bottom: none !important; }
  /* Sticky Apply Filters button inside mobile drawer */
  .filter-sticky-footer {
    position: sticky;
    bottom: 0;
    background: #fff;
    padding-top: 12px;
    border-top: 1px solid #eee;
    z-index: 10;
  }
}
.search-reset-btn{background:#e2e2e2; color:var(--navy); border:none; border-radius:8px; padding:12px 30px; font-weight:900; font-size:16.5px; cursor:pointer; white-space:nowrap; transition:background .15s ease, transform .1s ease;} .search-reset-btn:hover{background:#d0d0d0; transform:translateY(-1px);} .search-reset-btn:active{transform:translateY(0);}

/* Hovee Tooltip */
.hovee-tooltip {
    position: relative;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.hovee-tooltip-content {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background-color: #fff;
    padding: 10px 14px;
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    border: 1px solid #e8e8e8;
    border-left: 3px solid #198754;
    white-space: nowrap;
    z-index: 2000;
    text-align: left;
    width: max-content;
}

.hovee-tooltip-content.self-declared {
    border-left-color: #FFA012;
}

.hovee-tooltip:hover .hovee-tooltip-content {
    display: block;
}

.hovee-tooltip-title {
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 3px;
}

.hovee-tooltip-desc {
    font-size: 12px;
    color: #6c757d;
    font-weight: 400;
    margin-left: 20px;
}
