:root{
  --teal:#0F6E5E; --teal-700:#0A574A; --teal-900:#07443a;
  --persimmon:#E07A3F; --ink:#1C2B29; --sage:#5A726B; --line:#E4E0D7;
  --paper:#F6F4EF; --busy:#E04F4F;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* header */
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hbar{display:flex;align-items:center;justify-content:space-between;height:60px;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--teal)}
.brand .mk{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--teal),var(--teal-900));display:grid;place-items:center}
.brand small{display:block;font-size:11px;color:var(--sage);letter-spacing:2px;font-weight:600}
.hact{display:flex;gap:8px}
.hbtn{padding:9px 15px;border-radius:999px;font-weight:700;font-size:14px;border:1px solid var(--line);white-space:nowrap}
.hbtn.call{background:var(--teal);color:#fff;border-color:var(--teal)}

/* hero khu vực */
.ahero{background:linear-gradient(135deg,var(--teal),var(--teal-900));color:#fff;padding:46px 0 40px}
.ahero h1{font-size:34px;margin:0 0 12px;line-height:1.2}
.ahero p{font-size:16px;color:rgba(255,255,255,.92);max-width:760px;margin:0 0 18px}
.ahero .chips{display:flex;gap:8px;flex-wrap:wrap}
.ahero .chip{background:rgba(255,255,255,.15);padding:7px 14px;border-radius:999px;font-size:13.5px;font-weight:600}
@media(max-width:560px){.ahero h1{font-size:26px}}

.count{padding:20px 0 6px;color:var(--sage);font-weight:600}
.count b{color:var(--teal);font-size:20px}

/* grid + card */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:14px 0 40px}
@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
.card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;cursor:pointer}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(0,0,0,.35)}
.cimg{aspect-ratio:4/3;position:relative;background:#e9eeec;display:grid;place-items:center;color:#9fb0ab;overflow:hidden}
.cimg img{width:100%;height:100%;object-fit:cover}
.cbadges{position:absolute;top:10px;left:10px;display:flex;gap:6px;flex-wrap:wrap}
.bdg{font-size:11px;font-weight:800;padding:4px 9px;border-radius:999px;color:#fff}
.bdg.hot{background:var(--persimmon)}
.bdg.ok{background:var(--teal)}
.bdg.busy{background:var(--busy)}
.cprice{position:absolute;bottom:10px;left:10px;background:rgba(255,255,255,.95);color:var(--teal);font-weight:800;padding:5px 12px;border-radius:10px;font-size:16px}
.cbody{padding:13px 15px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.ctitle{font-weight:800;font-size:16px;color:var(--ink);line-height:1.3}
.cloc{font-size:13.5px;color:var(--sage);display:flex;align-items:center;gap:5px}
.cmeta{margin-top:auto;font-size:13px;color:var(--sage);display:flex;gap:12px;flex-wrap:wrap;padding-top:6px}
.empty{padding:50px 20px;text-align:center;color:var(--sage)}
.empty b{display:block;color:var(--ink);font-size:18px;margin-bottom:6px}

/* mô tả khu + CTA */
.adesc{background:var(--paper);padding:40px 0}
.adesc h2{font-size:22px;color:var(--ink);margin:0 0 12px}
.adesc p{color:var(--ink);max-width:820px;margin:0 0 12px}
.acta{background:linear-gradient(135deg,var(--teal),var(--teal-900));color:#fff;padding:40px 0;text-align:center}
.acta h2{color:#fff;font-size:24px;margin:0 0 8px}
.acta p{color:rgba(255,255,255,.9);margin:0 0 18px}
.acta .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.acta a{padding:13px 26px;border-radius:999px;font-weight:800}
.acta .call{background:#fff;color:var(--teal)}
.acta .zalo{background:#0068FF;color:#fff}

footer{background:#0e2a26;color:#cfe0db;padding:28px 0;font-size:14px}
footer a{color:#fff;font-weight:600}

/* nút nổi */
.floats{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;z-index:60}
.floats a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:0 8px 20px -6px rgba(0,0,0,.4)}
.floats .call{background:var(--teal)}
.floats .zalo{background:#0068FF;font-size:12px}
