
/* SINGLE LISTING */
    /* ================= WHITE THEME (UPDATED) ================= */
    :root{
      --bg:#F0F0F1;          /* page background F0F0F1 */
      --panel:#ffffff;       /* cards */
      --muted:#5a6270;       /* secondary text */
      --text:#111418;        /* primary text */
      --accent:#2563eb;      /* buttons/links */
      --accent-2:#16a34a;    /* secondary action */
      --chip:#eef1f6;        /* soft pills */
      --border:#e5e7eb;      /* hairline */
      --warn:#f59e0b; --danger:#ef4444;
    }
	
    *{box-sizing:border-box}
    html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;}
	html,body{ background:#F0F0F1 !important; }

    a{color:var(--accent);text-decoration:none}
    a:hover{text-decoration:underline}
	
	h1 {font-size:1.6rem;margin:0;}
	
    .wrap{max-width:1150px;margin:24px auto;padding:0 16px}
	
    .grid{display:grid;gap:16px}
    .hero{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}

	.card{background:var(--panel);border-radius:16px;box-shadow:0 10px 30px rgba(17,20,24,.08);overflow:hidden;border:1px solid var(--border)}


    /* --- HERO IMAGE: removed fixed aspect-ratio --- */
    .hero-img{width:100%;height:auto;display:block;background:#e5e7eb}
    .title{font-size:1.6rem;margin:0 0 6px}
    .addr{color:var(--muted)}
    .badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
    .badge{background:var(--chip);padding:6px 10px;border-radius:999px;font-size:.87rem;color:#3b4251;border:1px solid var(--border)}
    .price{font-size:1.75rem;font-weight:800}
    .lead{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
    .facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
    .fact{background:#fcfdff;border:1px solid var(--border);border-radius:12px;padding:10px 12px}
    .fact b{display:block;font-size:.8rem;color:#6b7280}
    .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
    .gallery img{width:100%;height:130px;border-radius:10px;background:#e5e7eb;border:1px solid var(--border)}
    .section h3{margin:0 0 10px}
    .docs a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;background:#fcfdff;border:1px solid var(--border);margin-bottom:8px}
    .chip-row{display:flex;gap:8px;flex-wrap:wrap}
	
    .btn{display:inline-block;background:#1E73BE;color:#fff;border-radius:6px;padding:10px 14px;font-weight:700;border:1px solid rgba(0,0,0,.06)}
	
    .btn.secondary{background:var(--accent-2)}
    .btn.warn{background:var(--warn);color:#1f1500}
    .btn:has(svg){display:inline-flex;align-items:center;gap:8px}
    .agent{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
    .avatar{width:56px;height:56px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:800;color:#374151;border:1px solid var(--border)}

	
    
	.mono{font-family:ui-monospace,Menlo,Consolas,monospace;color:#334155}
    .muted{color:var(--muted)}
    .maplink{display:inline-flex;align-items:center;gap:8px}
    @media (max-width:960px){ .hero{grid-template-columns:1fr} .facts{grid-template-columns:repeat(2,1fr)} .twocol{grid-template-columns:1fr} }
    @media (max-width:560px){ .facts{grid-template-columns:1fr} }
	
	
	 /* Map container */
  #map { width: 100%; height: 340px; border:1px solid var(--border); border-radius:12px; }
  
    /* Lightbox */
  .lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:flex-start;justify-content:center;z-index:2000; padding-top:20px;}
  .lightbox.open{display:flex}
  .lightbox-figure{max-width:95vw;max-height:90vh;position:relative}
  .lightbox-img{max-width:95vw;max-height:90vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);background:#111}
  .lightbox-cap{color:#e5e7eb;text-align:center;margin-top:8px;font-size:.9rem}
  .lightbox-btn{position:absolute;top:16px;background:rgba(255,255,255,.9);border:1px solid #e5e7eb;color:#111;padding:8px 12px;border-radius:999px;cursor:pointer;font-weight:700; z-index:2001;}
  .lightbox-close{right:16px}
  .lightbox-prev,.lightbox-next{position:fixed;top:100px; transform:none; font-size:1.1rem; }
  
  .lightbox-prev{left:16px}
  .lightbox-next{right:16px}
	
/* END SINGLE LISTING */

/* LISTINGS */
  
  a{color:var(--accent);text-decoration:none}
  a:hover{text-decoration:underline}

  .head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
  .h1{font-size:1.6rem;margin:0}
  .filters{color:var(--muted);font-size:.95rem}
  .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
  
  
  
  .thumb{width:100%;height:200px;background:#e5e7eb;display:block}
  
  .pad{padding:14px;margin-bottom:10px;}
  
  .title{font-weight:700;margin:0 0 4px;font-size:1.05rem}
  .addr{color:var(--muted);font-size:.92rem}
  .badges{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
  .badge{background:var(--chip);border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:.8rem;color:#3b4251}
  .price{font-size:1.15rem;font-weight:800}
  .meta{display:flex;gap:10px;color:#4b5563;font-size:.86rem;margin-top:6px}

  .btnwrap{margin-top:10px}
  .pager{display:flex;gap:8px;justify-content:center;align-items:center;margin:20px 0}
  .pager a,.pager span{padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
  .pager .active{background:var(--chip);font-weight:700}
  .empty{padding:40px;text-align:center;color:var(--muted)}
  
  .twocol{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }

  .twocol{ margin-bottom: 20px; }

/* MAPPING background:var(--panel);*/

 
  a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
  
  
  .panel{border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 30px rgba(17,20,24,.06);overflow:hidden}
  
  .head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}



  .sub{color:var(--muted);font-size:.95rem}
  
  #map{width:100%;height:72vh}
  .legend{position:absolute;top:16px;right:16px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:.9rem;box-shadow:0 6px 20px rgba(0,0,0,.08)}
  .legend b{display:block}
  .thumb_map{width:100%;height:140px;object-fit:cover;background:#e5e7eb;border-radius:10px;border:1px solid var(--border)}
  .popup h3{margin:0 0 6px;font-size:1.05rem}
  .popup .addr{color:#4b5563;font-size:.9rem}
  .popup .badges{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
  .popup .badge{background:#eef1f6;border:1px solid var(--border);border-radius:999px;padding:3px 8px;font-size:.78rem;color:#3b4251}
  .popup .price{font-weight:800;margin:6px 0}
   .popup .btn{display:inline-block;background:#1E73BE;color:#fff;border-radius:6px;padding:10px 14px;font-weight:700;border:1px solid rgba(0,0,0,.06)}
	

.search-bar{display:flex;gap:10px;align-items:center}
.search-bar .input{flex:1;height:42px;border:1px solid var(--border);border-radius:10px;padding:8px 4px;background:#fff;color:var(--text)}
@media (max-width:720px){ .search-bar{flex-direction:column;align-items:stretch} }
  
  
  .badge.badge-on{
    background:#eaf1ff;           /* light blue */
    border-color:#bfd3ff;
    color:#1d4ed8;                 /* blue text */
    font-weight:700;
  }
  
   .card.col-on{
    background:#eaf1ff;           /* light blue */
    border-color:#bfd3ff;
  }
  
  
  .facet-select{width:100%;height:42px;border:1px solid var(--border,#e5e7eb);border-radius:10px;padding:6px 10px;background:#fff;color:var(--text,#111418)}
  
.threecol{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
@media (max-width:960px){.threecol{grid-template-columns:1fr}}

/* 4-column facet layout */
.fourcol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}


/* Tablet */
@media (max-width: 1024px) {
  .fourcol {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile */
@media (max-width: 640px) {
  .fourcol {
    grid-template-columns: 1fr;
  }
}


/* ================= HEADER ================= */

.site-header {
  background: #ffffff;
  border-bottom: 1px solid var(--border);
}

.site-header-inner {
  max-width: 1150px;
  margin: 0 auto;
  padding: 20px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.brand img {
  height: 81px;
  width: 160px;
  display: block;
}

.header-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  font-size: 0.95rem;
}

.header-contact a {
  color: var(--text);
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.header-contact a:hover {
  text-decoration: underline;
}

.header-contact i {
  color: var(--accent);
  font-size: 0.9rem;
}

.header-contact .sep {
  color: var(--muted);
}

/* Tablet: center logo, keep contact top-right */
@media (max-width: 1024px) {
  .site-header-inner {
    justify-content: center;
    position: relative;
  }

  .header-contact {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
  }
}

/* Mobile: stack */
@media (max-width: 640px) {
  .site-header-inner {
    flex-direction: column;
    gap: 8px;
  }

  .header-contact {
    position: static;
    transform: none;
  }
}

/* ================= NAV BAR ================= */

.main-nav {
  background: #000000;
  width: 100%;
}

.nav-inner {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 16px;
  list-style: none;
  display: flex;
  gap: 30px;
  align-items: center;
  height: 58px;
}

.nav-inner li {
  margin: 0;
}

.nav-inner a {
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  line-height: 52px;
}

.nav-inner a:hover {
  text-decoration: underline;
}

/* Mobile nav wrap */
@media (max-width: 768px) {
  .nav-inner {
    flex-wrap: wrap;
    justify-content: center;
    height: auto;
    padding: 10px 16px;
  }

  .nav-inner a {
    line-height: 1.4;
    padding: 6px 0;
  }
}

/* ================= FOOTER ================= */

.site-footer {
  text-align: center;
  margin: 40px auto 20px;
  padding: 20px 16px;
  color: var(--muted);
  font-size: 0.9rem;
}

.site-footer p {
  margin: 0;
}

.site-footer a {
  color: var(--accent);
  font-weight: 600;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}
