/*
Theme Name: Riviera Point Quan 7
Description: Landing page dự án Riviera Point Quận 7
Version: 3.0
*/

:root{
  --primary:#0E3448;
  --primary-hover:#174D68;
  --gold:#D4AF6A;
  --gold-dark:#8a6d1a;
  --teal:#2A9D8F;
  --bg:#F8FAFC;
  --card:#FFFFFF;
  --border:#E8EDF2;
  --h-ink:#0E1B2C;
  --body-ink:#475569;
  --light-ink:#94A3B8;
  --r-input:12px;
  --r-btn:12px;
  --r-card:20px;
  --r-card-lg:24px;
  --shadow-card:0 10px 30px rgba(15,23,42,.06);
  --shadow-popup:0 20px 60px rgba(15,23,42,.12);
  --maxw:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Be Vietnam Pro",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--body-ink);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 60px}
@media(max-width:1100px){.wrap{padding:0 32px}}
@media(max-width:640px){.wrap{padding:0 20px}}
section{padding:100px 0}
@media(max-width:900px){section{padding:64px 0}}
@media(max-width:640px){section{padding:48px 0}}
h1,h2,h3{margin:0 0 .5em;line-height:1.2;color:var(--h-ink)}
h2.rp-h2{font-size:40px;font-weight:700;text-align:left;margin-bottom:10px;letter-spacing:-.3px}
h2.rp-h2.center{text-align:center}
p.rp-sub{color:var(--body-ink);max-width:640px;margin:0 0 40px;font-size:16px}
p.rp-sub.center{text-align:center;margin:0 auto 40px}
@media(max-width:640px){h2.rp-h2{font-size:28px}}

.rp-eyebrow{
  display:inline-block;letter-spacing:2.5px;font-size:12px;font-weight:700;
  color:var(--teal);text-transform:uppercase;margin-bottom:12px;
}
.rp-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.rp-section-head h2{margin-bottom:6px}
.rp-see-all{font-size:14px;font-weight:700;color:var(--teal);white-space:nowrap}
.rp-demo-tag{
  display:inline-block;font-size:10px;font-weight:800;letter-spacing:.5px;color:#a15b00;
  background:#fff2df;border:1px solid #f0d6ad;padding:2px 8px;border-radius:999px;margin-left:8px;
  vertical-align:middle;text-transform:uppercase;
}

/* icon helper */
.rp-i{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.rp-i svg{width:1em;height:1em}

/* ===== Header ===== */
.rp-header{
  position:sticky;top:0;z-index:70;background:rgba(14,52,72,.9);backdrop-filter:blur(8px);
  transition:height .25s ease;
}
/* Tắt sticky trên mobile - header cuộn theo trang thay vì bám cố định trên đầu */
@media(max-width:780px){.rp-header{position:relative}}
.rp-header .wrap{display:flex;align-items:center;justify-content:space-between;height:88px;gap:14px;transition:height .25s ease;max-width:100%}
.rp-header.rp-shrink .wrap{height:64px}
/* Header không còn sticky trên mobile nên trạng thái "shrink" (chỉ kích hoạt khi cuộn) gần như không
   bao giờ thấy được - thu gọn sẵn kích cỡ mặc định để logo + nút hotline không tràn ra ngoài màn hình. */
@media(max-width:640px){
  .rp-header .wrap{height:64px;gap:8px}
  .rp-logo{padding:5px 10px}
  .rp-logo img{height:30px}
  .rp-header-cta{gap:8px}
  .rp-header-cta .rp-btn{padding:0 12px;height:38px;font-size:12.5px;gap:5px}
  .rp-sales-trigger{width:34px;height:34px}
}
.rp-logo{display:flex;align-items:center;flex-shrink:0;background:#fff;padding:7px 14px;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.15);transition:padding .25s ease}
.rp-logo img{height:40px;width:auto;display:block;transition:height .25s ease}
.rp-header.rp-shrink .rp-logo{padding:5px 12px}
.rp-header.rp-shrink .rp-logo img{height:32px}

.rp-nav{display:none;gap:18px;list-style:none;margin:0;padding:0;flex:1;justify-content:center;min-width:0}
.rp-nav > li{flex-shrink:0}
.rp-nav > li > a{display:inline-flex;align-items:center;gap:3px;line-height:1;font-size:14.5px;font-weight:500;color:#fff;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent;opacity:.92}
.rp-nav > li > a:hover,.rp-nav > li > a.active{color:var(--gold);border-color:var(--gold);opacity:1}
@media(min-width:1180px){.rp-nav{display:flex}}
@media(min-width:1340px){.rp-nav{gap:26px}.rp-nav > li > a{font-size:16px}}

.rp-nav-dropdown{position:relative}
.rp-nav-dropdown > a .rp-i{transition:transform .2s}
.rp-nav-dropdown:hover > a .rp-i{transform:rotate(180deg)}
.rp-nav-submenu{
  display:none;position:absolute;top:100%;left:0;margin-top:10px;padding:8px;
  background:#fff;border-radius:12px;box-shadow:var(--shadow-popup);min-width:190px;
  list-style:none;z-index:80;
}
/* Vùng đệm vô hình nối liền mục nav với menu con, tránh mất hover khi rê chuột qua khoảng cách */
.rp-nav-dropdown:after{
  content:"";position:absolute;top:100%;left:0;right:0;height:14px;
}
.rp-nav-dropdown:hover .rp-nav-submenu{display:block}
.rp-nav-submenu li{flex-shrink:0}
.rp-nav-submenu a{
  display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:600;
  color:var(--h-ink);white-space:nowrap;border-bottom:none;opacity:1;
}
.rp-nav-submenu a:hover{background:var(--bg);color:var(--teal);border-color:transparent}
.rp-nav-sub-tag{
  display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;
  background:var(--teal-light,#e6f7f8);color:var(--teal);font-size:11px;font-weight:800;flex-shrink:0;
}

.rp-header-cta{display:flex;gap:12px;align-items:center;flex-shrink:0}
.rp-sales-menu{position:relative}
.rp-sales-trigger{
  width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:transparent;
  color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;
}
.rp-sales-trigger:hover,.rp-sales-trigger.active{border-color:var(--gold);background:rgba(255,255,255,.08)}
.rp-sales-dropdown{
  display:none;position:absolute;top:calc(100% + 10px);right:0;background:#fff;border-radius:12px;
  box-shadow:var(--shadow-popup);padding:8px;min-width:160px;z-index:80;flex-direction:column;gap:2px;
}
.rp-sales-dropdown.show{display:flex}
.rp-sales-dropdown a{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--h-ink)}
.rp-sales-dropdown a:hover{background:var(--bg);color:var(--teal)}
.rp-wishlist{font-size:20px;color:#fff;display:none;opacity:.9}
@media(min-width:560px){.rp-wishlist{display:inline-block}}
.rp-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:0 28px;height:48px;border-radius:999px;font-weight:700;font-size:14px;
  border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .2s,background .2s;
}
.rp-btn:hover{transform:translateY(-1px)}
.rp-btn-gold{background:var(--gold);color:#241a04}
.rp-btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}
.rp-btn-navy{background:var(--primary);color:#fff;height:56px;border-radius:var(--r-btn);padding:0 32px}
.rp-btn-navy:hover{background:var(--primary-hover)}
.rp-btn-outline{border-color:var(--primary);color:var(--primary);border-width:1px;height:56px;border-radius:var(--r-btn);padding:0 32px}

/* ===== Hero ===== */
.rp-hero{
  position:relative;color:#fff;overflow:hidden;height:720px;max-height:none;
  display:flex;align-items:center;
  background-color:#0a1c2c;background-size:cover;background-position:center 65%;background-repeat:no-repeat;
}
@media(max-width:900px){.rp-hero{height:auto;min-height:640px;padding:110px 0 250px}}
.rp-hero-overlay{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(5,20,32,.82) 0%,rgba(5,20,32,.55) 45%,rgba(5,20,32,.25) 75%);}
.rp-hero-photo{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}
.rp-hero-inner{position:relative;width:100%;z-index:1}
.rp-hero h1{font-size:56px;font-weight:700;line-height:68px;max-width:640px;color:#fff}
@media(max-width:640px){.rp-hero h1{font-size:32px;line-height:1.25}}
.rp-hero .rp-lead{font-size:17px;color:#dbe9ee;max-width:460px;margin-bottom:30px}
.rp-hero-ctas{display:flex;gap:14px;flex-wrap:wrap}

.rp-hero-floatcards{position:absolute;right:60px;top:50%;transform:translateY(-10%);display:flex;flex-direction:column;gap:14px;z-index:2}
@media(max-width:1100px){.rp-hero-floatcards{right:32px}}
@media(max-width:900px){.rp-hero-floatcards{position:static;transform:none;flex-direction:row;flex-wrap:wrap;margin-top:32px}}
.rp-fcard{
  background:rgba(255,255,255,.92);backdrop-filter:blur(6px);color:var(--primary);border-radius:16px;
  padding:16px 20px;display:flex;align-items:center;gap:14px;min-width:190px;
  box-shadow:var(--shadow-popup);
}
.rp-fcard .rp-i{width:44px;height:44px;border-radius:12px;background:#eaf6f5;color:var(--teal);font-size:22px}
.rp-fcard b{display:block;font-size:22px;line-height:1.1}
.rp-fcard span{font-size:12.5px;color:var(--light-ink)}

/* ===== Search / filter bar (Mega Search) ===== */
.rp-search-wrap{position:relative;margin-top:-64px;z-index:20}
@media(max-width:900px){.rp-search-wrap{margin-top:-190px}}
.rp-search-card{
  background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.08);padding:40px;
  transition:padding .2s ease,box-shadow .2s ease;
}
.rp-search-wrap.rp-sticky-active .rp-search-card{
  position:fixed;top:64px;left:0;right:0;margin:0;border-radius:0;padding:14px 60px;z-index:65;
  box-shadow:0 6px 20px rgba(0,0,0,.1);max-width:none;
}
@media(max-width:900px){.rp-search-wrap.rp-sticky-active .rp-search-card{display:none}}
.rp-sticky-hidden{display:none !important}
.rp-search-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.rp-search-head .rp-tabs{margin-bottom:0}
.rp-search-toggle{
  display:none;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:999px;
  padding:9px 16px;font-size:13px;font-weight:700;color:var(--h-ink);cursor:pointer;
}
.rp-search-toggle .rp-i:last-child{transition:transform .2s}
.rp-search-toggle[aria-expanded="false"] .rp-i:last-child{transform:rotate(180deg)}
/* Thu gọn/mở rộng toàn bộ khối Mega Search - mặc định thu gọn trên mobile */
.rp-search-body.rp-search-collapsed{display:none}
@media(max-width:900px){.rp-search-toggle{display:flex}}
.rp-tabs{display:inline-flex;background:var(--bg);border-radius:var(--r-btn);padding:4px;margin-bottom:22px}
.rp-tab{padding:10px 24px;border-radius:9px;font-size:13px;font-weight:700;color:var(--light-ink);cursor:pointer;letter-spacing:.4px}
.rp-tab.active{background:var(--primary);color:#fff}
.rp-filters-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:14px}
.rp-filters-row.row2{grid-template-columns:repeat(4,1fr) auto auto;align-items:end}
@media(max-width:980px){
  .rp-filters-row,.rp-filters-row.row2{grid-template-columns:repeat(2,1fr)}
  /* Nâng cao / Tìm Kiếm Ngay chiếm trọn hàng - tránh bị bóp chật khi grid chỉ còn 2 cột */
  .rp-adv-toggle,.rp-search-btn{grid-column:1 / -1}
  .rp-search-btn{justify-content:center}
}
@media(max-width:400px){.rp-filters-row,.rp-filters-row.row2{grid-template-columns:1fr}}
.rp-fgroup label{display:block;font-size:11.5px;font-weight:700;color:var(--light-ink);margin-bottom:7px;text-transform:uppercase;letter-spacing:.3px}
.rp-fgroup select,.rp-fgroup input{
  width:100%;height:56px;padding:0 14px;border:1px solid var(--border);border-radius:var(--r-input);font-size:14px;
  font-family:inherit;background:#fff;color:var(--h-ink);
}
.rp-frange{display:flex;gap:6px;align-items:center}
.rp-frange input{width:100%}
.rp-adv-toggle{
  display:flex;align-items:center;gap:6px;color:var(--teal);font-weight:700;font-size:13.5px;
  cursor:pointer;padding:0;white-space:nowrap;height:56px;
}
.rp-adv-toggle .rp-i{transition:transform .2s}
.rp-adv-toggle.open .rp-i{transform:rotate(180deg)}
.rp-search-btn{
  background:var(--primary);color:#fff;border:none;border-radius:var(--r-btn);height:56px;padding:0 28px;
  font-weight:700;font-size:14.5px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:8px;
}
.rp-search-btn:hover{background:var(--primary-hover)}
.rp-adv-fields{display:none;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.rp-adv-fields.show{display:grid}
@media(max-width:900px){.rp-adv-fields{grid-template-columns:repeat(2,1fr)}}
@media(max-width:400px){.rp-adv-fields{grid-template-columns:1fr}}

/* ===== Stats band (rounded floating bar) ===== */
.rp-band-wrap{margin-top:44px}
.rp-band{background:var(--primary);color:#fff;border-radius:20px;min-height:92px;display:flex;align-items:center}
.rp-band .wrap{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;padding:22px 40px;width:100%}
@media(max-width:900px){.rp-band .wrap{grid-template-columns:repeat(3,1fr);padding:22px 24px}}
@media(max-width:480px){.rp-band .wrap{grid-template-columns:repeat(2,1fr)}}
.rp-band .rp-stat{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.rp-band .rp-stat .rp-i{font-size:32px;color:var(--gold);margin-bottom:2px}
.rp-band .rp-stat b{display:block;font-size:32px;font-weight:700;color:#fff}
.rp-band .rp-stat span{font-size:14px;color:#9fb7c2}

/* ===== Generic placeholder image block ===== */
.rp-ph{
  background:linear-gradient(135deg,#eaf6f5,#dcecee);
  border:1px dashed #b7d6d8;border-radius:var(--r-card);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#3a7a80;font-size:13px;text-align:center;gap:6px;min-height:160px;
}
.rp-ph .rp-ph-icon{font-size:30px}

/* ===== Featured units carousel (Property Card spec) ===== */
.rp-unit-tabs{display:flex;gap:8px}
.rp-unit-tab{padding:8px 18px;border-radius:999px;font-size:13px;font-weight:700;color:var(--light-ink);
  border:1px solid var(--border);cursor:pointer}
.rp-unit-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.rp-carousel-wrap{position:relative}
.rp-carousel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}
.rp-carousel::-webkit-scrollbar{display:none}
.rp-unit-card{
  flex:0 0 310px;scroll-snap-align:start;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-card);
  transition:transform .25s ease,box-shadow .25s ease;
}
.rp-unit-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-popup)}
.rp-unit-card .rp-uc-photo{position:relative;height:220px}
.rp-uc-photo-link{display:block;width:100%;height:100%}
.rp-unit-card .rp-uc-photo .rp-ph{border-radius:0;border:none;min-height:auto;height:100%}
.rp-unit-card .rp-uc-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.rp-unit-card:hover .rp-uc-photo img{transform:scale(1.05)}
.rp-uc-sold-overlay{position:absolute;inset:0;background:rgba(15,23,42,.6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;letter-spacing:.4px;text-transform:uppercase;z-index:3;text-align:center;padding:0 12px}
.rp-uc-badge{position:absolute;top:12px;left:12px;display:flex;gap:6px;z-index:4}
.rp-uc-badge span{font-size:10.5px;font-weight:800;padding:5px 11px;border-radius:999px;color:#fff;letter-spacing:.2px}
.rp-uc-badge .b-hot{background:#d64545}
.rp-uc-badge .b-view{background:var(--teal)}
.rp-uc-badge .b-lux{background:#a3792f}
.rp-uc-heart{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;z-index:4;
  background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-size:14px;color:#c0455a;cursor:pointer}
.rp-uc-cmp{position:absolute;bottom:12px;right:12px;z-index:4;background:rgba(255,255,255,.92);border-radius:8px;
  padding:6px 10px;font-size:11px;font-weight:700;color:var(--primary);cursor:pointer;display:flex;align-items:center;gap:5px}
.rp-uc-cmp input{margin:0}
.rp-feat-empty{flex:0 0 100%;text-align:center;padding:60px 20px;color:var(--light-ink);font-size:14.5px}
.rp-uc-body{padding:20px}
.rp-uc-body h4{font-size:20px;font-weight:600;color:var(--h-ink);margin:0 0 10px}
.rp-uc-title{font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rp-uc-meta{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:13px;color:var(--body-ink);margin-bottom:10px}
.rp-uc-meta span{display:inline-flex;align-items:center;gap:5px}
.rp-uc-tags{display:flex;flex-wrap:wrap;gap:7px 12px;font-size:12.5px;color:var(--light-ink);margin-bottom:14px}
.rp-uc-tags span{display:inline-flex;align-items:center;gap:4px}
.rp-uc-tags b{color:var(--h-ink);font-weight:600}
.rp-uc-sub{font-size:12.5px;color:var(--light-ink);margin-bottom:14px}
.rp-uc-price{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed var(--border);padding-top:12px}
.rp-uc-price b{font-size:26px;font-weight:700;color:var(--gold)}
.rp-uc-price span{font-size:11.5px;color:var(--light-ink)}
.rp-car-arrow{
  position:absolute;top:38%;width:40px;height:40px;border-radius:50%;background:#fff;
  border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:var(--shadow-card);z-index:2;font-size:16px;color:var(--primary);
}
.rp-car-arrow.prev{left:-16px}
.rp-car-arrow.next{right:-16px}
@media(max-width:640px){.rp-car-arrow{display:none}}

/* ===== Overview (40/60) ===== */
.rp-overview{background:var(--bg)}
.rp-ov-grid{display:grid;grid-template-columns:2fr 3fr;gap:48px;align-items:center}
@media(max-width:900px){.rp-ov-grid{grid-template-columns:1fr}}
.rp-ov-media{position:relative;border-radius:var(--r-card-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-card)}
.rp-ov-media .rp-ph{border-radius:0;border:none;min-height:auto;height:100%}
.rp-ov-media img{width:100%;height:100%;object-fit:cover}
.rp-ov-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.rp-ov-thumb{
  border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;cursor:pointer;aspect-ratio:4/3;
  background:none;opacity:.65;transition:opacity .2s,border-color .2s;
}
.rp-ov-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rp-ov-thumb.active,.rp-ov-thumb:hover{opacity:1;border-color:var(--teal)}
.rp-ov-text p{color:var(--body-ink);font-size:16px;margin-bottom:24px}
.rp-ov-list{list-style:none;padding:0;margin:0 0 26px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
@media(max-width:560px){.rp-ov-list{grid-template-columns:1fr}}
.rp-ov-list li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}
.rp-ov-ico{font-size:18px;flex-shrink:0}
.rp-ov-list b{display:block;color:var(--h-ink);font-size:14px;font-weight:600}
.rp-ov-list span{color:var(--body-ink);font-size:13.5px}

/* ===== Phase cards ===== */
.rp-phase-banner{border-radius:var(--r-card-lg);overflow:hidden;margin-bottom:32px;box-shadow:var(--shadow-card)}
.rp-phase-banner img{width:100%;height:auto;display:block}
.rp-phase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:980px){.rp-phase-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.rp-phase-grid{grid-template-columns:1fr}}
.rp-phase-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);
  padding:26px;text-align:center;transition:transform .25s,box-shadow .25s;box-shadow:var(--shadow-card);
}
.rp-phase-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-popup)}
.rp-phase-card .rp-phase-tag{
  display:inline-block;background:#eaf6f5;color:var(--teal);
  font-size:11px;font-weight:700;padding:5px 12px;border-radius:999px;margin-bottom:12px;
}
.rp-phase-card h3{font-size:20px;font-weight:600}
.rp-phase-card p{color:var(--body-ink);font-size:14.5px;margin:0}

/* ===== Amenities (160x140 icon cards) ===== */
.rp-amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:900px){.rp-amenity-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.rp-amenity-grid{grid-template-columns:repeat(2,1fr)}}
.rp-amenity{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);
  min-height:140px;width:100%;max-width:160px;margin:0 auto;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;font-size:13.5px;color:var(--h-ink);font-weight:600;padding:16px 10px;
  box-shadow:var(--shadow-card);transition:transform .2s;
}
.rp-amenity:hover{transform:translateY(-4px)}
.rp-amenity .ico-wrap{
  width:48px;height:48px;border-radius:14px;background:#eaf6f5;color:var(--teal);
  display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 12px;
}
.rp-amenity-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}
@media(max-width:900px){.rp-amenity-photos{grid-template-columns:repeat(2,1fr)}}
.rp-amenity-photo{border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-card)}
.rp-amenity-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.rp-amenity-photo:hover img{transform:scale(1.05)}

/* ===== Location (30/70, Google Map thật) ===== */
.rp-loc-grid{display:grid;grid-template-columns:3fr 7fr;gap:44px;align-items:center}
@media(max-width:900px){.rp-loc-grid{grid-template-columns:1fr}}
.rp-loc-list{list-style:none;padding:0;margin:0 0 8px}
.rp-loc-list li{
  display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px dashed var(--border);font-size:14.5px;
}
.rp-loc-list li:last-child{border-bottom:none}
.rp-loc-ico{
  width:34px;height:34px;border-radius:10px;background:#eaf6f5;color:var(--teal);
  display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;
}
.rp-loc-map-wrap{border-radius:var(--r-card-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-card)}
.rp-loc-map-wrap iframe{width:100%;height:400px;border:0;display:block}
.rp-loc-map-wrap img{width:100%;height:auto;display:block}

/* ===== Interactive Master Plan ===== */
.rp-mp-wrap{position:relative;border-radius:var(--r-card-lg);overflow:hidden;border:1px solid var(--border);background:#f4ede0;box-shadow:var(--shadow-card)}
.rp-mp-wrap svg{display:block;width:100%;height:auto}
.rp-mp-zone{cursor:pointer;transition:opacity .2s}
.rp-mp-zone:hover,.rp-mp-zone.active{opacity:.85}
.rp-mp-card{
  position:absolute;top:20px;right:20px;background:#fff;border-radius:16px;padding:20px;width:230px;
  box-shadow:var(--shadow-popup);display:none;
}
.rp-mp-card.show{display:block}
.rp-mp-card h4{font-size:16px;margin:0 0 4px;color:var(--h-ink)}
.rp-mp-card .rp-demo-tag{margin-left:0;margin-bottom:8px;display:inline-block}
.rp-mp-card ul{list-style:none;padding:0;margin:10px 0 0;font-size:13px}
.rp-mp-card li{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--border)}
.rp-mp-card li:last-child{border-bottom:none}
.rp-mp-hint{position:absolute;bottom:16px;left:16px;background:rgba(255,255,255,.92);border-radius:10px;padding:8px 14px;font-size:12px;color:var(--body-ink)}

/* ===== Market Dashboard ===== */
.rp-price-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:start;margin-bottom:28px}
@media(max-width:900px){.rp-price-grid{grid-template-columns:1fr}}
.rp-chart-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:26px;box-shadow:var(--shadow-card);position:relative}
.rp-chart-title{font-size:13px;font-weight:700;color:var(--light-ink);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}
.rp-chart-note{font-size:12px;color:var(--light-ink);font-style:italic;margin-top:12px}
.rp-price-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rp-pstat{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow-card)}
.rp-pstat b{display:block;font-size:24px;font-weight:700;color:var(--h-ink)}
.rp-pstat span{font-size:12.5px;color:var(--body-ink)}
.rp-line-tooltip{
  position:absolute;background:var(--primary);color:#fff;font-size:12px;padding:6px 10px;border-radius:8px;
  pointer-events:none;opacity:0;transition:opacity .15s;white-space:nowrap;transform:translate(-50%,-115%);
}
.rp-line-dot{cursor:pointer}

/* ===== Unit type cards (mặt bằng section) ===== */
.rp-unit-grid2{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:900px){.rp-unit-grid2{grid-template-columns:1fr}}
.rp-unit-card2{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--shadow-card);
}
.rp-unit-card2 .rp-ph{border-radius:0;border:none;aspect-ratio:16/10;min-height:auto}
.rp-unit-card2 img{aspect-ratio:16/10;width:100%;object-fit:cover}
.rp-unit-body2{padding:22px}
.rp-unit-body2 h3{font-size:20px;margin-bottom:6px}
.rp-unit-meta2{display:flex;gap:14px;color:var(--body-ink);font-size:13.5px;margin-bottom:14px}
.rp-unit-price2{font-size:24px;font-weight:700;color:var(--gold)}
.rp-unit-price2 span{font-size:12px;color:var(--light-ink);font-weight:400;display:block;margin-top:2px}

/* ===== Legal band ===== */
.rp-legal{background:var(--primary);color:#fff}
.rp-legal .rp-h2{color:#fff}
.rp-legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
@media(max-width:820px){.rp-legal-grid{grid-template-columns:1fr}}
.rp-legal-item .rp-i{font-size:32px;color:var(--gold);margin-bottom:12px}
.rp-legal-item h3{font-size:18px;margin-bottom:8px;color:#fff}
.rp-legal-item p{color:#b9cdd6;font-size:14.5px;margin:0}

/* ===== Contact form ===== */
.rp-contact{background:var(--bg)}
.rp-contact-card{
  max-width:640px;margin:0 auto;background:var(--card);border-radius:var(--r-card-lg);
  padding:40px;border:1px solid var(--border);box-shadow:var(--shadow-popup);
}
.rp-field{margin-bottom:18px}
.rp-field label{display:block;font-size:13px;font-weight:700;color:var(--h-ink);margin-bottom:7px}
.rp-field input,.rp-field select,.rp-field textarea{
  width:100%;padding:0 16px;height:56px;border:1px solid var(--border);border-radius:var(--r-input);font-size:15px;
  font-family:inherit;
}
.rp-field textarea{height:auto;padding:14px 16px}
.rp-field input:focus,.rp-field select:focus,.rp-field textarea:focus{outline:none;border-color:var(--teal)}
.rp-submit-btn{
  width:100%;height:56px;border:none;border-radius:var(--r-btn);background:var(--primary);color:#fff;
  font-weight:700;font-size:16px;cursor:pointer;
}
.rp-submit-btn:hover{background:var(--primary-hover)}
.rp-submit-btn:disabled{opacity:.6;cursor:not-allowed}
.rp-form-msg{margin-top:14px;font-size:14px;text-align:center;display:none}
.rp-form-msg.ok{display:block;color:#0b7a3d}
.rp-form-msg.err{display:block;color:#b3261e}

/* ===== FAQ ===== */
.rp-faq{max-width:760px;margin:0 auto}
.rp-faq-item{border-bottom:1px solid var(--border)}
.rp-faq-q{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:20px 4px;cursor:pointer;font-weight:700;color:var(--h-ink);font-size:16px;
}
.rp-faq-q .rp-i{transition:transform .2s;color:var(--teal);font-size:18px}
.rp-faq-item.open .rp-faq-q .rp-i{transform:rotate(180deg)}
.rp-faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--body-ink);font-size:14.5px}
.rp-faq-item.open .rp-faq-a{max-height:300px}
.rp-faq-a-in{padding:0 4px 20px}

/* ===== Footer ===== */
.rp-footer{background:var(--h-ink);color:#a9c1cb;padding:44px 0 26px;font-size:13.5px}
.rp-footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:26px}
.rp-footer b{color:#fff;display:block;margin-bottom:8px;font-size:15px}
.rp-footer-disclaimer{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:12px;color:#7c94a0;line-height:1.7}

/* ===== Floating CTA cluster (bong bóng bên phải - dùng chung mobile + desktop) ===== */
.rp-float-cta{
  position:fixed;right:16px;bottom:24px;z-index:65;display:flex;flex-direction:column;gap:12px;
}
@media(min-width:781px){.rp-float-cta{right:26px;bottom:120px}}
.rp-float-cta a{
  width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:20px;color:#fff;box-shadow:var(--shadow-popup);position:relative;transition:transform .2s;
}
@media(min-width:781px){.rp-float-cta a{width:52px;height:52px;font-size:22px}}
.rp-float-cta a:hover{transform:scale(1.08)}
.rp-float-cta a.call{background:var(--teal)}
.rp-float-cta a.zalo{background:#0068ff}
.rp-float-cta a.msg{background:#0084ff}
.rp-float-cta a.reg{background:var(--gold);color:#241a04}
.rp-float-cta a .rp-fc-tip{
  position:absolute;right:58px;top:50%;transform:translateY(-50%);background:var(--h-ink);color:#fff;
  font-size:12px;padding:6px 12px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;
}
.rp-float-cta a:hover .rp-fc-tip{opacity:1}

/* ===== rp-fab (thanh sticky đáy cũ) - đã thay bằng .rp-float-cta bong bóng bên phải ===== */
.rp-fab{display:none}

/* ===== Quick Compare bar ===== */
.rp-compare-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--border);
  box-shadow:0 -10px 30px rgba(0,0,0,.1);padding:14px 0;display:none;
}
.rp-compare-bar.show{display:block}
.rp-compare-bar .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.rp-cmp-chip{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:12.5px;display:flex;align-items:center;gap:8px}
.rp-cmp-chip button{background:none;border:none;color:var(--light-ink);cursor:pointer;font-size:13px;line-height:1}
.rp-cmp-cta{margin-left:auto;background:var(--primary);color:#fff;border:none;border-radius:999px;padding:10px 22px;font-weight:700;font-size:13.5px;cursor:pointer}
.rp-compare-modal{
  position:fixed;inset:0;background:rgba(14,27,44,.55);z-index:90;display:none;align-items:center;justify-content:center;padding:20px;
}
.rp-compare-modal.show{display:flex}
.rp-compare-modal-in{background:#fff;border-radius:var(--r-card-lg);max-width:900px;width:100%;max-height:85vh;overflow:auto;padding:32px}
.rp-compare-close{float:right;cursor:pointer;font-size:20px;color:var(--light-ink)}
.rp-compare-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:16px}
.rp-compare-table th,.rp-compare-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}
.rp-compare-table th{color:var(--light-ink);font-size:12px;text-transform:uppercase}

/* ===== Page banner (Mua bán / Cho thuê) ===== */
.rp-page-banner{
  position:relative;color:#fff;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;
  background-color:#0a1c2c;background-size:cover;background-position:center;background-repeat:no-repeat;
}
.rp-page-banner .rp-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,32,.85) 0%,rgba(5,20,32,.55) 60%,rgba(5,20,32,.25) 100%)}
.rp-page-banner-inner{position:relative;width:100%;padding-top:40px;padding-bottom:34px;z-index:1}
.rp-breadcrumb{font-size:13px;color:#cfe0e6;margin-bottom:14px;display:flex;gap:8px;align-items:center}
.rp-breadcrumb a{color:#cfe0e6}
.rp-breadcrumb a:hover{color:var(--gold)}
.rp-page-banner h1{font-size:34px;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 14px rgba(0,0,0,.5)}
@media(max-width:900px){
  /* Bắt buộc xếp dọc: tiêu đề trước, khối thống kê xuống dưới - tránh đè chữ trên mobile */
  .rp-page-banner{flex-direction:column;align-items:flex-start}
}
@media(max-width:640px){
  .rp-page-banner .rp-hero-overlay{background:rgba(5,20,32,.72)}
  .rp-page-banner h1{font-size:27px;font-weight:800;letter-spacing:.2px;line-height:1.3}
}
.rp-banner-stats{position:absolute;right:60px;bottom:34px;display:flex;gap:14px;z-index:2}
@media(max-width:1100px){.rp-banner-stats{right:32px}}
@media(max-width:900px){.rp-banner-stats{position:static;margin-top:20px;flex-wrap:wrap;width:100%}}
.rp-bstat{background:var(--primary);border-radius:14px;padding:14px 22px;min-width:150px}
.rp-bstat b{display:block;font-size:22px;font-weight:700;color:#fff}
.rp-bstat span{font-size:12px;color:#a9c1cb}

/* ===== Listing layout (sidebar + grid) ===== */
.rp-listing-wrap{padding-top:44px;padding-bottom:90px}
.rp-listing-grid-cols{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start}
@media(max-width:980px){.rp-listing-grid-cols{grid-template-columns:1fr}}
.rp-sb-filter{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);padding:24px;position:sticky;top:100px}
@media(max-width:980px){.rp-sb-filter{position:static}}

.rp-sb-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rp-sb-filter h3{font-size:16px;margin-bottom:18px}
.rp-sb-filter-head h3{margin-bottom:0}
.rp-sb-filter-toggle{
  display:none;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;
  border:1px solid var(--border);background:var(--bg);color:var(--h-ink);cursor:pointer;flex-shrink:0;
  margin-bottom:18px;
}
.rp-sb-filter-toggle .rp-i{transition:transform .2s}
.rp-sb-filter-toggle[aria-expanded="false"] .rp-i{transform:rotate(180deg)}
/* Thu gọn/mở rộng toàn bộ khối bộ lọc - mặc định thu gọn trên mobile để đỡ cuộn dài */
.rp-sb-filter-body{overflow:hidden}
.rp-sb-filter-body.rp-sb-collapsed{display:none}
@media(max-width:980px){.rp-sb-filter-toggle{display:flex}}

.rp-sb-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
.rp-sb-field{margin-bottom:18px}
.rp-sb-field-full{grid-column:1 / -1}
.rp-sb-field label{display:block;font-size:12px;font-weight:700;color:var(--light-ink);margin-bottom:7px;text-transform:uppercase;letter-spacing:.3px}
.rp-sb-field select,.rp-sb-field input{width:100%;height:46px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-input);font-size:13px;font-family:inherit}
.rp-sb-range{display:flex;gap:8px;align-items:center}
@media(max-width:400px){.rp-sb-grid{grid-template-columns:1fr}.rp-sb-field-full{grid-column:auto}}
.rp-chip-group{display:flex;flex-wrap:wrap;gap:8px}
.rp-chip-check{display:none}
.rp-chip-label{
  padding:8px 14px;border:1px solid var(--border);border-radius:9px;font-size:13px;font-weight:600;
  color:var(--body-ink);cursor:pointer;user-select:none;transition:all .15s;
}
.rp-chip-check:checked + .rp-chip-label{background:var(--primary);color:#fff;border-color:var(--primary)}
.rp-sb-adv-toggle{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--teal);cursor:pointer;margin-bottom:16px}
.rp-sb-adv-toggle .rp-i{transition:transform .2s}
.rp-sb-adv-toggle.open .rp-i{transform:rotate(180deg)}
.rp-sb-adv-fields{display:none}
.rp-sb-adv-fields.show{display:block}
.rp-sb-actions{display:flex;gap:10px;margin-top:20px}
.rp-sb-actions a{flex:1;text-align:center;height:46px;line-height:46px;border:1px solid var(--border);border-radius:var(--r-btn);font-size:13.5px;font-weight:700;color:var(--body-ink)}
.rp-sb-actions button{flex:1.4;height:46px;border:none;border-radius:var(--r-btn);background:var(--primary);color:#fff;font-weight:700;font-size:13.5px;cursor:pointer}
.rp-sb-actions button:hover{background:var(--primary-hover)}

.rp-listing-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.rp-listing-count{font-size:16px;font-weight:700;color:var(--h-ink)}
.rp-toolbar-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rp-toolbar-right select{height:42px;border:1px solid var(--border);border-radius:9px;padding:0 12px;font-size:13.5px;font-family:inherit}
.rp-view-toggle{display:flex;border:1px solid var(--border);border-radius:9px;overflow:hidden}
.rp-view-toggle button{width:40px;height:42px;border:none;background:#fff;cursor:pointer;color:var(--light-ink);display:flex;align-items:center;justify-content:center}
.rp-view-toggle button.active{background:var(--primary);color:#fff}
.rp-save-search{height:42px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:0 16px;font-size:13.5px;font-weight:700;color:var(--h-ink);cursor:pointer;display:flex;align-items:center;gap:6px}

.rp-active-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px;font-size:13px}
.rp-chip{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 10px;display:flex;align-items:center;gap:6px;color:var(--body-ink)}
.rp-chip a{color:var(--light-ink);font-weight:700}
.rp-chip-clear{color:var(--teal);font-weight:700}

.rp-listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:820px){.rp-listing-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.rp-listing-grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.rp-listing-grid.rp-list-mode{grid-template-columns:1fr}
.rp-listing-grid.rp-list-mode .rp-unit-card{flex-direction:row}
.rp-listing-grid.rp-list-mode .rp-uc-photo{width:280px;height:auto;flex-shrink:0}
@media(max-width:640px){.rp-listing-grid.rp-list-mode .rp-unit-card{flex-direction:column}.rp-listing-grid.rp-list-mode .rp-uc-photo{width:100%;height:220px}}

/* Dạng lưới trên mobile: card gọn lại để vừa 2 cột (list-mode không bị ảnh hưởng vì luôn 1 cột) */
@media(max-width:560px){
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-photo{height:120px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-body{padding:10px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-body h4{font-size:12.5px;line-height:1.35;margin-bottom:6px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-meta{font-size:10px;gap:4px 7px;margin-bottom:5px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-tags{font-size:10px;gap:3px 8px;margin-bottom:8px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-price{padding-top:8px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-price b{font-size:16px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-actions{gap:5px;margin-top:8px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-actions .rp-detail-btn{height:32px;font-size:11px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-actions .rp-call-btn{width:32px;height:32px;flex-shrink:0}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-badge{gap:4px;top:8px;left:8px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-badge span{font-size:8.5px;padding:3px 7px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-heart{width:24px;height:24px;font-size:11px;top:8px;right:8px}
  .rp-listing-grid:not(.rp-list-mode) .rp-uc-cmp{font-size:9px;padding:4px 6px;bottom:8px;right:8px}
}
.rp-uc-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--body-ink);margin-bottom:6px}
.rp-uc-row b{color:var(--h-ink);font-weight:600}
.rp-uc-actions{display:flex;gap:8px;margin-top:14px}
.rp-uc-actions .rp-detail-btn{flex:1;height:44px;border-radius:var(--r-btn);border:1px solid var(--primary);background:#fff;color:var(--primary);font-weight:700;font-size:13px;cursor:pointer}
.rp-uc-actions .rp-call-btn{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rp-empty-state{text-align:center;padding:60px 20px;color:var(--light-ink)}

.rp-pagination{display:flex;justify-content:center;gap:8px;margin-top:36px;flex-wrap:wrap}
.rp-pagination .page-numbers{
  min-width:38px;height:38px;padding:0 10px;border-radius:9px;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;font-size:13.5px;color:var(--body-ink);
}
.rp-pagination .page-numbers.current{background:var(--primary);color:#fff;border-color:var(--primary)}
.rp-pagination .page-numbers.dots{border:none}

/* Detail modal (dùng chung) */
.rp-detail-body dt{font-size:12px;color:var(--light-ink);text-transform:uppercase;letter-spacing:.3px;margin-top:14px}
.rp-detail-body dd{margin:2px 0 0;font-size:15px;font-weight:600;color:var(--h-ink)}
.rp-detail-price{font-size:28px;font-weight:700;color:var(--gold);margin-top:16px}

/* ===== WP login form (đăng nhập Sales) ===== */
#loginform{width:100%;display:block}
#loginform p{margin:0 0 18px}
#loginform label{display:block;font-size:13px;font-weight:700;color:var(--h-ink);margin-bottom:7px}
#loginform input.input{
  width:100%;height:52px;padding:0 16px;border:1px solid var(--border);border-radius:var(--r-input);
  font-size:15px;font-family:inherit;box-sizing:border-box;
}
#loginform input.input:focus{outline:none;border-color:var(--teal)}
#loginform .login-remember label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:13.5px;color:var(--body-ink)}
#loginform .login-remember input{width:auto;margin:0}
#loginform .login-submit{margin-top:6px}
#loginform input[type=submit]{
  width:100%;height:52px;border:none;border-radius:var(--r-btn);background:var(--primary);color:#fff;
  font-weight:700;font-size:16px;cursor:pointer;transition:background .2s;
}
#loginform input[type=submit]:hover{background:var(--primary-hover)}
.rp-auth-link{text-align:center;margin-top:18px;font-size:14px;color:var(--body-ink)}
.rp-auth-link a{color:var(--teal);font-weight:700}

/* ===== Single Căn Hộ ===== */
.rp-single-wrap{padding-top:24px;padding-bottom:90px}
.rp-single-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:36px;align-items:start;margin-top:24px}
@media(max-width:980px){.rp-single-grid{grid-template-columns:1fr}}

.rp-single-gallery{position:relative;border-radius:var(--r-card-lg);overflow:hidden;aspect-ratio:16/10;background:#0c1f2e;box-shadow:var(--shadow-card)}
.rp-single-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.rp-single-counter{position:absolute;top:14px;left:14px;background:rgba(0,0,0,.6);color:#fff;font-size:12.5px;padding:6px 12px;border-radius:999px;z-index:2}
.rp-single-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:4px}
.rp-single-thumb{flex:0 0 100px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;cursor:pointer;border:2px solid transparent;opacity:.7}
.rp-single-thumb img{width:100%;height:100%;object-fit:cover}
.rp-single-thumb.active,.rp-single-thumb:hover{opacity:1;border-color:var(--teal)}

/* ===== Lightbox xem ảnh full kích cỡ (single post) ===== */
.rp-lightbox{
  position:fixed;inset:0;background:rgba(4,10,16,.95);z-index:200;display:none;
  align-items:center;justify-content:center;
}
.rp-lightbox.show{display:flex}
.rp-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:6px;touch-action:pan-y;user-select:none}
.rp-lightbox-close{
  position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:2;transition:background .15s;
}
.rp-lightbox-close:hover{background:rgba(255,255,255,.25)}
.rp-lightbox-counter{
  position:absolute;top:24px;left:24px;background:rgba(255,255,255,.12);color:#fff;
  font-size:13px;font-weight:600;padding:7px 16px;border-radius:999px;z-index:2;
}
.rp-lightbox-arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:2;transition:background .15s;
}
.rp-lightbox-arrow:hover{background:rgba(255,255,255,.25)}
.rp-lightbox-arrow.prev{left:18px}
.rp-lightbox-arrow.next{right:18px}
@media(max-width:640px){.rp-lightbox-arrow{width:40px;height:40px}.rp-lightbox-arrow.prev{left:8px}.rp-lightbox-arrow.next{right:8px}}

.rp-single-badges{display:flex;gap:8px;margin:18px 0 10px;flex-wrap:wrap}
.rp-single-badges span{font-size:11px;font-weight:800;padding:5px 12px;border-radius:999px;color:#fff}
.rp-single-title{font-size:26px;font-weight:700;color:var(--h-ink);margin:0 0 8px}
.rp-single-address{display:flex;align-items:center;gap:8px;color:var(--body-ink);font-size:14px;margin-bottom:20px}
.rp-single-address a{color:var(--teal);font-weight:700;margin-left:auto}

.rp-single-specs{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:28px}
@media(max-width:700px){.rp-single-specs{grid-template-columns:repeat(3,1fr)}}
.rp-single-spec{text-align:center}
.rp-single-spec .rp-i{color:var(--teal);margin-bottom:6px}
.rp-single-spec b{display:block;font-size:16px;color:var(--h-ink)}
.rp-single-spec span{font-size:11.5px;color:var(--light-ink)}

.rp-single-section-title{font-size:18px;font-weight:700;color:var(--h-ink);margin:0 0 14px}
.rp-single-desc{color:var(--body-ink);font-size:14.5px;line-height:1.8;margin-bottom:36px;white-space:pre-line}
.rp-single-desc.empty{color:var(--light-ink);font-style:italic}

.rp-single-table{width:100%;border-collapse:collapse;margin-bottom:36px;font-size:14px}
.rp-single-table td{padding:11px 4px;border-bottom:1px solid var(--border)}
.rp-single-table td:first-child{color:var(--light-ink);width:45%}
.rp-single-table td:last-child{font-weight:600;color:var(--h-ink)}

.rp-sidebar-sticky{position:sticky;top:100px;display:flex;flex-direction:column;gap:18px}
.rp-sb-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);padding:22px;box-shadow:var(--shadow-card)}
.rp-sb-price-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.rp-sb-price-top span{font-size:12.5px;color:var(--light-ink);font-weight:700;text-transform:uppercase}
.rp-sb-icon-btns{display:flex;gap:8px}
.rp-sb-icon-btns button{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;color:var(--body-ink);cursor:pointer}
.rp-sb-price{font-size:32px;font-weight:700;color:var(--gold);margin-bottom:2px}
.rp-sb-price-sub{font-size:13px;color:var(--light-ink);margin-bottom:18px}
.rp-sb-cta{display:flex;flex-direction:column;gap:10px}
.rp-sb-cta a{display:flex;align-items:center;justify-content:center;gap:8px;height:50px;border-radius:var(--r-btn);font-weight:700;font-size:14.5px}
.rp-sb-cta .call{background:var(--gold);color:#241a04}
.rp-sb-cta .zalo{background:#fff;border:1.5px solid #0068ff;color:#0068ff}
.rp-sb-cta .msg{background:#fff;border:1.5px solid #0084ff;color:#0084ff}

.rp-agent-row{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.rp-agent-avatar{width:52px;height:52px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--teal);flex-shrink:0}
.rp-agent-row b{display:block;font-size:15px;color:var(--h-ink)}
.rp-agent-row span{font-size:12.5px;color:var(--light-ink)}

.rp-loan-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--border);font-size:13.5px}
.rp-loan-row:last-of-type{border-bottom:none}
.rp-loan-row span:first-child{color:var(--body-ink)}
.rp-loan-row span:last-child{font-weight:700;color:var(--h-ink)}
.rp-loan-row.total span:last-child{color:var(--teal)}
.rp-loan-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.rp-loan-inputs label{font-size:11px;color:var(--light-ink);text-transform:uppercase;display:block;margin-bottom:4px}
.rp-loan-inputs input{width:100%;height:38px;border:1px solid var(--border);border-radius:8px;padding:0 10px;font-size:13.5px}

.rp-sb-amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rp-sb-amenity{text-align:center;font-size:11px;color:var(--body-ink);font-weight:600}
.rp-sb-amenity .rp-i{width:38px;height:38px;border-radius:10px;background:var(--bg);color:var(--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 6px}

.rp-single-empty-block{background:var(--bg);border:1px dashed var(--border);border-radius:var(--r-card);padding:30px;text-align:center;color:var(--light-ink);font-size:14px;margin-bottom:36px}

/* ===== Thanh công cụ nội bộ Sales (single Căn Hộ) ===== */
.rp-staff-view.rp-staff-view .rp-fab,.rp-staff-view.rp-staff-view .rp-float-cta{display:none !important}
.rp-staff-view{padding-bottom:64px}
.rp-staffbar{
  position:fixed;bottom:0;left:0;right:0;z-index:200;background:#fff;border-top:2px solid var(--primary);
  box-shadow:0 -4px 18px rgba(0,0,0,.12);padding:8px 44px 8px 14px;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;
}
.rp-staffbar-groups{display:flex;gap:8px;flex-wrap:wrap}
.rp-staffbar-groups button{
  border:none;border-radius:8px;padding:8px 14px;font-size:12.5px;font-weight:700;color:#fff;cursor:pointer;
  display:flex;align-items:center;gap:6px;white-space:nowrap;
}
.rp-sb-taillieu{background:var(--teal)}
.rp-sb-hotro{background:var(--primary)}
.rp-staffbar-info{flex:1 1 100%;font-size:11.5px;color:var(--body-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-staffbar-info b{color:var(--h-ink)}
.rp-staffbar-info a{color:var(--teal);font-weight:700}
.rp-staffbar-close{position:absolute;top:50%;right:10px;transform:translateY(-50%);background:none;border:none;color:var(--light-ink);font-size:20px;cursor:pointer;line-height:1}

.rp-sb-panel{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:199;background:var(--bg);
  border-top:2px solid var(--teal);padding:8px 14px;box-shadow:0 -2px 10px rgba(0,0,0,.1);
}
.rp-sb-panel.show{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rp-sb-panel .rp-sb-label{font-size:11px;font-weight:700;color:var(--teal);white-space:nowrap}
.rp-sb-panel button,.rp-sb-panel a{
  border:none;border-radius:6px;padding:7px 12px;font-size:12.5px;font-weight:700;color:#fff;cursor:pointer;white-space:nowrap;
  display:inline-flex;align-items:center;gap:5px;text-decoration:none;
}
.rp-sb-panel .rp-sb-close{margin-left:auto;background:none;color:var(--light-ink);font-size:18px;padding:2px 6px}

/* ===== Đăng tin Sales ===== */
.rp-dt-section{font-size:13px;text-transform:uppercase;letter-spacing:.3px;color:var(--teal);font-weight:700;margin:26px 0 14px;padding-bottom:8px;border-bottom:1px dashed var(--border)}
.rp-dt-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:4px}
.rp-dt-row.row3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:640px){.rp-dt-row,.rp-dt-row.row3{grid-template-columns:1fr}}
.rp-dt-tabs .rp-tab{cursor:pointer}
.rp-dt-existing-imgs{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rp-dt-existing-imgs img{border-radius:8px;object-fit:cover}
.rp-dt-upload-status{font-size:13px;color:var(--light-ink);margin:8px 0 4px;font-style:italic}
input[type=file]{width:100%;padding:10px;border:1.5px dashed var(--border);border-radius:var(--r-input);background:var(--bg);font-size:13.5px}
.rp-dt-mytable{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r-card);overflow:hidden;font-size:13.5px}
.rp-dt-mytable th{background:var(--bg);text-align:left;padding:10px 14px;font-size:11.5px;text-transform:uppercase;color:var(--light-ink)}
.rp-dt-mytable td{padding:12px 14px;border-top:1px solid var(--border)}
.dt-req-star{color:#b3261e}
.rp-dt-note{font-size:11.5px;color:#b3261e;margin:6px 0 0;font-weight:600}
.rp-dt-progress-wrap{margin-top:14px}
.rp-dt-progress-bar{width:100%;height:10px;border-radius:999px;background:var(--bg);border:1px solid var(--border);overflow:hidden}
.rp-dt-progress-fill{height:100%;width:0%;background:var(--teal);border-radius:999px;transition:width .2s ease}
.rp-dt-progress-fill.is-indeterminate{width:100%!important;background:repeating-linear-gradient(45deg,var(--teal),var(--teal) 12px,#8fd8c9 12px,#8fd8c9 24px);background-size:34px 34px;animation:rp-dt-indeterminate 1s linear infinite}
@keyframes rp-dt-indeterminate{from{background-position:0 0}to{background-position:34px 0}}
.rp-dt-progress-label{font-size:12.5px;color:var(--light-ink);margin:7px 0 0;text-align:center}

/* Reveal on scroll */
.rp-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rp-reveal.in{opacity:1;transform:none}

/* ===== Ký Gửi Sản Phẩm: nút tab nổi + popup ===== */
.rp-kygui-tab{position:fixed;right:0;top:42%;transform:translateY(-50%);z-index:9997;background:var(--gold);color:#241a04;font-weight:800;font-size:12.5px;border:none;border-radius:10px 0 0 10px;padding:12px 8px;cursor:pointer;box-shadow:-2px 2px 10px rgba(0,0,0,.18);display:flex;flex-direction:column;align-items:center;gap:5px;line-height:1.15;writing-mode:vertical-rl;text-orientation:mixed}
.rp-kygui-tab .rp-i{width:15px;height:15px;transform:rotate(90deg)}
.rp-kygui-tab:hover{background:#c79a4f}
@media(max-width:900px){.rp-kygui-tab{top:auto;bottom:210px;font-size:11.5px;padding:10px 7px}}
.rp-kygui-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:10002;display:none;align-items:center;justify-content:center;padding:16px}
.rp-kygui-modal.show{display:flex}
.rp-kygui-box{background:#fff;border-radius:16px;max-width:460px;width:100%;max-height:90vh;overflow-y:auto;padding:26px 24px;position:relative;box-shadow:0 24px 70px rgba(15,23,42,.3)}
.rp-kygui-close{position:absolute;top:12px;right:12px;background:var(--bg);border:none;width:34px;height:34px;border-radius:50%;cursor:pointer;color:var(--body-ink);display:flex;align-items:center;justify-content:center}
.rp-kygui-box h3{font-size:20px;color:var(--h-ink);margin:0 0 8px}
.rp-kygui-desc{font-size:13.5px;color:var(--body-ink);line-height:1.6;margin:0 0 18px}
.rp-kygui-box input,.rp-kygui-box select,.rp-kygui-box textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;margin-bottom:12px;font-family:inherit;color:var(--h-ink);background:#fff}
.rp-kygui-box input:focus,.rp-kygui-box select:focus,.rp-kygui-box textarea:focus{outline:none;border-color:var(--teal)}
.rp-kygui-submit{width:100%;background:var(--gold);color:#241a04;font-weight:800;font-size:15px;border:none;border-radius:10px;padding:13px;cursor:pointer;margin-bottom:8px}
.rp-kygui-submit:hover{background:#c79a4f}
.rp-kygui-submit:disabled{opacity:.6;cursor:default}
.rp-kygui-file{display:block;margin-bottom:12px}
.rp-kygui-file>span{display:block;font-size:13px;font-weight:600;color:var(--h-ink);margin-bottom:5px}
.rp-kygui-file>span small{font-weight:400;color:#94a3b8;font-size:11.5px}
.rp-kygui-box .rp-kygui-file input[type=file]{padding:9px 12px;font-size:12.5px;margin-bottom:0;background:#f8fafc;cursor:pointer}
.rp-kygui-msg{font-size:13.5px;text-align:center;padding:4px 0}
.rp-kygui-msg.ok{color:#0b7a3d}
.rp-kygui-msg.err{color:#b3261e}

/* Ký gửi: trạng thái thu gọn thành vạch dọc + mũi tên « gợi ý kéo ra (mobile) */
@media(max-width:900px){
  .rp-kygui-tab{transition:padding .25s ease,width .25s ease}
  .rp-kygui-tab.rp-collapsed{padding:16px 5px;min-height:54px;writing-mode:horizontal-tb}
  .rp-kygui-tab.rp-collapsed .rp-kygui-lbl{display:none}
  .rp-kygui-tab.rp-collapsed::after{content:'\00AB';display:block;font-size:21px;font-weight:900;line-height:1;color:#241a04;animation:rp-kg-nudge 1.1s ease-in-out infinite}
}
@keyframes rp-kg-nudge{0%,100%{transform:translateX(0);opacity:.85}50%{transform:translateX(-4px);opacity:1}}
