/* Apartments listing page styles */
.list-page{padding-top:20px}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;margin-bottom:16px;top:80px;z-index:2}
.filters label{font-weight:700;color:#0b4d3b}
.filters select,.filters input[type="number"],.filters input[type="text"]{height:38px;border:1px solid #e1e5e9;border-radius:8px;padding:0 12px;background:#fff}
.filters input[name="q"]{min-width:220px;flex:1 1 260px;border-color:#dfe5ea}
.filters input[name="q"]::placeholder{color:#9aa1a9}
.filters input[name="q"]:focus{outline:none;border-color:#0b4d3b;box-shadow:0 0 0 3px rgba(11,77,59,.12)}
.filters .btn-primary{height:38px;background:var(--te-accent);color:#fff;border:1px solid var(--te-accent);border-radius:8px;padding:0 14px}
.filters .btn-primary:hover{filter:brightness(.95)}

.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ap-card{border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:#fff;transition:box-shadow .2s ease}
.ap-card:hover{box-shadow:0 12px 30px rgba(0,0,0,.08)}
.ap-card-link{display:block;color:inherit;text-decoration:none}
.ap-gallery{display:grid;grid-template-columns:2fr 1fr;gap:12px;padding:12px}
.ap-main{height:320px;border-radius:12px;overflow:hidden}
.ap-side{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.ap-side .ap-thumb{height:150px;border-radius:12px;overflow:hidden}
.ap-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.badge-status{position:absolute;margin:4px;top:14px;left:14px;background:#0b4d3b;color:#fff;border-radius:999px;font-size:12px;padding:6px 10px}
.ap-card .badge-wrap{position:relative}
.ap-body{padding:10px 14px 14px}
.ap-title{margin:0 0 6px;font-size:18px;font-weight:800;color:#0b4d3b}
.ap-price{margin:0 0 8px;color:#0b4d3b;font-weight:800}
.ap-sub{margin:0 6px 6px 0;color:#6b7280;font-size:13px}
.ap-features{display:flex;flex-wrap:wrap;gap:14px;color:#6b7280;font-size:13px;align-items:center}
.ap-feat{display:inline-flex;gap:6px;align-items:center}
.ap-feat svg{fill:currentColor}

/* Pagination */
.pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin:18px 0}
.pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid #e1e5e9;border-radius:8px;color:#0b4d3b;text-decoration:none;background:#fff}
.pagination a:hover{background:#f6faf8}
.pagination .page-num.active{background:#0b4d3b;color:#fff;border-color:#0b4d3b}

@media(max-width:980px){
  .grid{grid-template-columns:1fr}
  .ap-main{height:260px}
  .ap-side .ap-thumb{height:120px}
  /* On mobile, filters should scroll with page */
  .filters{position:static;top:auto}
}

