@charset "UTF-8";
/* ==========================================================================
   NSR — Project detail page (shared)
   Dùng chung cho MỌI trang /projects/<slug>/
   Sửa file này = đổi giao diện tất cả trang dự án cùng lúc.
   Token lặp lại từ .nsr vì token gốc scope trong .nsr (không phải :root).
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&display=swap');

.nsr-pd{
  --gold:#C9A24B; --gold-hi:#E3C77C; --gold-lo:#A8822F; --gold-txt:#856420;
  --card:#2C1A63; --ink:#2B1B63; --body:#54566A; --line:#E8E6F0; --bg-soft:#F7F6FB;
  --green:#127A43; --red:#C0342F;
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --wrap:1180px; --radius:14px;
  font-family:var(--sans); color:var(--body); line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.nsr-pd *,.nsr-pd *::before,.nsr-pd *::after{box-sizing:border-box;}
.nsr-pd img{max-width:100%;display:block;}
.nsr-pd a{color:inherit;text-decoration:none;}
.nsr-pd h1,.nsr-pd h2,.nsr-pd h3{font-family:var(--serif);font-weight:700;color:var(--ink);line-height:1.2;margin:0;}
.nsr-pd p{margin:0;}
.nsr-pd__wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px;}

/* ---------- Breadcrumb ---------- */
.nsr-pd__crumbs{padding:18px 0 0;font-size:13px;}
.nsr-pd__crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.nsr-pd__crumbs li{display:flex;align-items:center;gap:6px;color:#8A8794;}
.nsr-pd__crumbs li+li::before{content:'/';color:#C9C6D6;}
.nsr-pd__crumbs a:hover{color:var(--gold-txt);text-decoration:underline;}
.nsr-pd__crumbs [aria-current]{color:var(--ink);font-weight:600;}

/* ---------- Hero ---------- */
.nsr-pd__hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:44px;align-items:start;padding:26px 0 8px;}
.nsr-pd__eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-txt);font-weight:600;margin-bottom:14px;}
.nsr-pd h1{font-size:clamp(28px,3.4vw,44px);letter-spacing:-.01em;}
.nsr-pd__lede{margin-top:16px;font-size:17px;max-width:52ch;}

.nsr-pd__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.nsr-pd__tag{display:inline-block;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.03em;background:var(--bg-soft);color:var(--ink);border:1px solid var(--line);}
.nsr-pd__tag--sell{background:rgba(18,122,67,.09);color:var(--green);border-color:rgba(18,122,67,.22);}
.nsr-pd__tag--soon{background:rgba(201,162,75,.13);color:var(--gold-txt);border-color:rgba(201,162,75,.3);}

/* Bảng thông số nhanh */
.nsr-pd__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:26px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.nsr-pd__fact{background:#fff;padding:16px 18px;}
.nsr-pd__fact dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8A8794;font-weight:600;}
.nsr-pd__fact dd{margin:6px 0 0;font-family:var(--serif);font-size:22px;font-weight:700;color:var(--ink);line-height:1.15;}
.nsr-pd__fact dd small{font-family:var(--sans);font-size:12px;font-weight:500;color:#8A8794;display:block;margin-top:3px;}

/* CTA */
.nsr-pd__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
.nsr-pd__btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:999px;font-size:15px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease;}
.nsr-pd__btn svg{width:16px;height:16px;flex:0 0 auto;}
.nsr-pd__btn--gold{background:linear-gradient(135deg,var(--gold-hi),var(--gold));color:#3A2A08;box-shadow:0 10px 26px rgba(201,162,75,.32);}
.nsr-pd__btn--gold:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(201,162,75,.42);}
.nsr-pd__btn--ghost{background:#fff;border-color:var(--line);color:var(--ink);}
.nsr-pd__btn--ghost:hover{border-color:rgba(201,162,75,.6);color:var(--gold-txt);}

/* ---------- Gallery ---------- */
.nsr-pd__gal{position:relative;}
.nsr-pd__galMain{position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:var(--bg-soft);border:1px solid var(--line);cursor:zoom-in;}
.nsr-pd__galMain img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.nsr-pd__galMain:hover img{transform:scale(1.03);}
.nsr-pd__galCount{position:absolute;bottom:12px;right:12px;background:rgba(29,16,64,.82);color:#fff;font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;backdrop-filter:blur(4px);}
.nsr-pd__thumbs{display:flex;gap:10px;margin-top:10px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px;}
.nsr-pd__thumb{flex:0 0 96px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;border:2px solid transparent;background:var(--bg-soft);cursor:pointer;padding:0;}
.nsr-pd__thumb img{width:100%;height:100%;object-fit:cover;}
.nsr-pd__thumb[aria-selected="true"]{border-color:var(--gold);}

/* ---------- Section chung ---------- */
.nsr-pd__sec{padding:52px 0;border-top:1px solid var(--line);margin-top:44px;}
.nsr-pd__sec:first-of-type{margin-top:20px;}
.nsr-pd h2{font-size:clamp(22px,2.3vw,30px);}
.nsr-pd__secLede{margin-top:12px;max-width:70ch;}
.nsr-pd__prose{margin-top:22px;max-width:70ch;}
.nsr-pd__prose p+p{margin-top:15px;}
.nsr-pd__prose h3{font-size:19px;margin-top:28px;}
.nsr-pd__prose ul{margin:14px 0 0;padding-left:20px;}
.nsr-pd__prose li+li{margin-top:7px;}
.nsr-pd__prose strong{color:var(--ink);font-weight:600;}

/* ---------- Bảng lô ---------- */
.nsr-pd__tableWrap{margin-top:24px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);}
.nsr-pd__table{width:100%;border-collapse:collapse;font-size:14px;min-width:660px;background:#fff;}
.nsr-pd__table caption{text-align:left;padding:14px 18px;font-size:13px;color:#8A8794;border-bottom:1px solid var(--line);}
.nsr-pd__table th,.nsr-pd__table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);}
.nsr-pd__table thead th{background:var(--bg-soft);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:700;white-space:nowrap;}
.nsr-pd__table tbody tr:last-child th,.nsr-pd__table tbody tr:last-child td{border-bottom:0;}
.nsr-pd__table tbody tr:hover{background:#FBFAFE;}
.nsr-pd__table th[scope="row"]{font-weight:700;color:var(--ink);white-space:nowrap;}
.nsr-pd__price{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--ink);white-space:nowrap;}
.nsr-pd__avail{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;background:rgba(18,122,67,.1);color:var(--green);}
.nsr-pd__avail--no{background:rgba(192,52,47,.09);color:var(--red);}
.nsr-pd__note{margin-top:14px;font-size:13px;color:#8A8794;max-width:80ch;}

/* ---------- Floor plan ---------- */
.nsr-pd__plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:24px;}
.nsr-pd__plan{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;cursor:zoom-in;}
.nsr-pd__plan img{width:100%;height:auto;background:#fff;}
.nsr-pd__plan figcaption{padding:12px 16px;font-size:13px;font-weight:600;color:var(--ink);border-top:1px solid var(--line);}

/* ---------- Location ---------- */
.nsr-pd__loc{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;margin-top:24px;align-items:start;}
.nsr-pd__mapFrame{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg-soft);}
.nsr-pd__mapFrame iframe{width:100%;height:100%;border:0;display:block;}
.nsr-pd__mapPh{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font-size:13px;color:#8A8794;}
.nsr-pd__amen{list-style:none;margin:0;padding:0;}
.nsr-pd__amen li{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.nsr-pd__amen li:last-child{border-bottom:0;}
.nsr-pd__amen b{color:var(--ink);font-weight:600;}
.nsr-pd__amenIco{flex:0 0 20px;color:var(--gold);}
.nsr-pd__mapLink{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:14px;font-weight:600;color:var(--gold-txt);}
.nsr-pd__mapLink:hover{text-decoration:underline;}

/* ---------- Form ---------- */
.nsr-pd__form{margin-top:26px;background:var(--bg-soft);border:1px solid var(--line);border-radius:18px;padding:30px;max-width:760px;}
.nsr-pd__grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.nsr-pd__field{display:block;}
.nsr-pd__field span{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:7px;}
.nsr-pd__field span i{color:var(--red);font-style:normal;}
.nsr-pd__form input,.nsr-pd__form textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:var(--sans);font-size:15px;color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease;}
.nsr-pd__form input:focus,.nsr-pd__form textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,75,.18);}
.nsr-pd__form textarea{min-height:104px;resize:vertical;}
.nsr-pd__field--full{grid-column:1/-1;}
.nsr-pd__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.nsr-pd__formFoot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:20px;}
.nsr-pd__fine{font-size:12.5px;color:#8A8794;max-width:44ch;}
.nsr-pd__err{margin-top:14px;font-size:13.5px;color:var(--red);font-weight:600;display:none;}
.nsr-pd__err[data-on]{display:block;}
.nsr-pd__ok{display:none;text-align:center;padding:34px 20px;}
.nsr-pd__ok[data-on]{display:block;}
.nsr-pd__ok h3{font-size:22px;}
.nsr-pd__ok p{margin-top:10px;}
.nsr-pd__okIco{width:54px;height:54px;margin:0 auto 16px;border-radius:50%;background:rgba(18,122,67,.12);color:var(--green);display:flex;align-items:center;justify-content:center;}

/* ---------- Trang khác ---------- */
.nsr-pd__more{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:24px;}
.nsr-pd__moreCard{border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;background:#fff;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
.nsr-pd__moreCard:hover{border-color:rgba(201,162,75,.6);transform:translateY(-2px);box-shadow:0 12px 28px rgba(36,20,82,.1);}
.nsr-pd__moreCard b{display:block;font-family:var(--serif);font-size:17px;color:var(--ink);}
.nsr-pd__moreCard span{display:block;font-size:13px;color:#8A8794;margin-top:4px;}

/* ---------- Lightbox ---------- */
.nsr-pd__lb{position:fixed;inset:0;z-index:99990;background:rgba(24,13,58,.94);display:none;align-items:center;justify-content:center;padding:26px;}
.nsr-pd__lb[data-on]{display:flex;}
.nsr-pd__lb img{max-width:96vw;max-height:92vh;width:auto;height:auto;border-radius:8px;}
.nsr-pd__lbX{position:absolute;top:18px;right:20px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:22px;cursor:pointer;line-height:1;}
.nsr-pd__lbX:hover{background:rgba(255,255,255,.26);}

/* ---------- Sticky CTA mobile ---------- */
.nsr-pd__sticky{position:fixed;left:0;right:0;bottom:0;z-index:9998;display:none;gap:10px;padding:11px 14px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 22px rgba(36,20,82,.1);backdrop-filter:blur(8px);}
.nsr-pd__sticky .nsr-pd__btn{flex:1;padding:13px 14px;font-size:14.5px;}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .nsr-pd__hero{grid-template-columns:1fr;gap:26px;}
  .nsr-pd__loc{grid-template-columns:1fr;gap:22px;}
  .nsr-pd__sec{padding:40px 0;margin-top:32px;}
}
@media (max-width:640px){
  .nsr-pd__wrap{padding:0 16px;}
  .nsr-pd__facts{grid-template-columns:1fr 1fr;}
  .nsr-pd__grid2{grid-template-columns:1fr;}
  .nsr-pd__form{padding:22px 18px;}
  .nsr-pd__sticky{display:flex;}
  .nsr-pd{padding-bottom:74px;}
  .nsr-pd__cta .nsr-pd__btn{flex:1 1 100%;}
}
@media (prefers-reduced-motion:reduce){
  .nsr-pd *{transition:none!important;animation:none!important;}
}

/* ---------- Tranh nut noi cua plugin gsb de len thanh CTA day (mobile) ----------
   Scope bang body class cua WordPress: chi cac trang CON cua /projects/ moi trung,
   nen an toan ngay ca khi LiteSpeed gop CSS dung chung. */
@media (max-width:640px){
  body.parent-pageid-27564684 .gsb-buttons{bottom:84px!important;}
}

/* So o thong so le -> o cuoi tran ca hang, tranh o trong o goc */
.nsr-pd__fact:last-child:nth-child(odd){grid-column:1 / -1;}

/* Chi co 1 anh -> khong hien dai thumbnail (trung voi anh chinh) */
.nsr-pd__thumbs:has(> :only-child){display:none;}


/* ---------- Fix tran ngang tren mobile: dai thumbnail keo rong grid track ---------- */
.nsr-pd__gal,.nsr-pd__thumbs{min-width:0;}
@media (max-width:980px){.nsr-pd__hero{grid-template-columns:minmax(0,1fr);}.nsr-pd__hero>*{min-width:0;}}
@media (max-width:640px){.nsr-pd__facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
