:root{--ndcpd-accent:var(--global-palette1,#1f6b52);--ndcpd-accent-dark:var(--global-palette2,#174e3e);--ndcpd-text:var(--global-palette3,#18231f);--ndcpd-muted:#64726d;--ndcpd-border:#e2e8e5;--ndcpd-soft:#f5f8f6;--ndcpd-white:#fff;--ndcpd-shadow:0 18px 55px rgba(18,44,34,.10);--ndcpd-radius:18px}.ndcpd-property{background:#f8faf9;color:var(--ndcpd-text);padding:24px 0 72px}.ndcpd-property *{box-sizing:border-box}.ndcpd-container{width:min(1400px,calc(100% - 32px));margin:0 auto}.ndcpd-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;font-size:14px;color:var(--ndcpd-muted)}.ndcpd-breadcrumb a{color:inherit;text-decoration:none}.ndcpd-breadcrumb a:hover{color:var(--ndcpd-accent)}.ndcpd-topline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;font-size:14px}.ndcpd-status{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font-weight:700}.ndcpd-status--available{background:#e5f6ed;color:#16643d}.ndcpd-status--pending{background:#fff5d6;color:#805b00}.ndcpd-status--negotiating{background:#eee9ff;color:#5540a3}.ndcpd-status--deposited{background:#ece8ff;color:#583eae}.ndcpd-status--sold,.ndcpd-status--paused{background:#edf0ef;color:#58635f}.ndcpd-code,.ndcpd-updated{color:var(--ndcpd-muted)}.ndcpd-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);gap:28px;background:var(--ndcpd-white);border:1px solid var(--ndcpd-border);border-radius:24px;padding:18px;box-shadow:var(--ndcpd-shadow)}.ndcpd-gallery-main{height:520px;border-radius:16px;overflow:hidden;background:#e9eeeb}.ndcpd-main-image-button{position:relative;width:100%;height:100%;border:0;padding:0;background:none;cursor:zoom-in}.ndcpd-main-image-button img{width:100%;height:100%;object-fit:cover;display:block}.ndcpd-image-count{position:absolute;right:14px;bottom:14px;background:rgba(18,27,23,.82);color:#fff;padding:8px 11px;border-radius:999px;font-size:13px}.ndcpd-no-image{display:grid;place-items:center;height:100%;color:var(--ndcpd-muted);background:linear-gradient(135deg,#edf2ef,#dfe7e2)}.ndcpd-gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}.ndcpd-thumb{height:82px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#e9eeeb;cursor:pointer}.ndcpd-thumb.is-active{border-color:var(--ndcpd-accent)}.ndcpd-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ndcpd-summary{padding:14px 10px 10px}.ndcpd-term-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ndcpd-term-list span,.ndcpd-feature-chips span{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--ndcpd-soft);color:var(--ndcpd-accent-dark);font-size:13px;font-weight:650}.ndcpd-summary h1{font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.025em;margin:0 0 12px}.ndcpd-address{margin:0 0 20px;color:var(--ndcpd-muted)}.ndcpd-price-wrap{padding:18px 0;border-top:1px solid var(--ndcpd-border);border-bottom:1px solid var(--ndcpd-border);margin-bottom:18px}.ndcpd-price{font-size:34px;line-height:1;font-weight:800;color:var(--ndcpd-accent);margin:0 0 7px}.ndcpd-unit-price{margin:0;color:var(--ndcpd-muted)}.ndcpd-key-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 20px}.ndcpd-key-metrics div{padding:12px;border-radius:12px;background:var(--ndcpd-soft)}.ndcpd-key-metrics dt{font-size:12px;color:var(--ndcpd-muted);margin-bottom:4px}.ndcpd-key-metrics dd{font-weight:750;margin:0}.ndcpd-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ndcpd-primary-actions .ndcpd-button--secondary{grid-column:1/-1}.ndcpd-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 16px;border-radius:11px;text-decoration:none!important;font-weight:750;border:1px solid transparent;cursor:pointer}.ndcpd-button--primary{background:var(--ndcpd-accent);color:#fff!important}.ndcpd-button--primary:hover{background:var(--ndcpd-accent-dark)}.ndcpd-button--zalo{background:#0879e6;color:#fff!important}.ndcpd-button--secondary{background:#fff;color:var(--ndcpd-accent-dark)!important;border-color:var(--ndcpd-border)}.ndcpd-response-note{font-size:13px;color:var(--ndcpd-muted);text-align:center;margin:10px 0 0}.ndcpd-trustbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:22px 0;background:var(--ndcpd-border);border:1px solid var(--ndcpd-border);border-radius:16px;overflow:hidden}.ndcpd-trustbar div{background:#fff;padding:16px 18px}.ndcpd-trustbar strong{display:block;margin-bottom:4px;font-size:15px}.ndcpd-trustbar span{font-size:12px;color:var(--ndcpd-muted)}.ndcpd-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}.ndcpd-section{background:#fff;border:1px solid var(--ndcpd-border);border-radius:var(--ndcpd-radius);padding:28px;margin-bottom:22px}.ndcpd-section-heading{margin-bottom:20px}.ndcpd-eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--ndcpd-accent)}.ndcpd-section h2{font-size:26px;line-height:1.25;margin:0}.ndcpd-feature-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.ndcpd-richtext{color:#33413b}.ndcpd-richtext>*:first-child{margin-top:0}.ndcpd-richtext>*:last-child{margin-bottom:0}.ndcpd-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--ndcpd-border);border-left:1px solid var(--ndcpd-border);border-radius:12px;overflow:hidden}.ndcpd-spec{padding:15px 16px;border-right:1px solid var(--ndcpd-border);border-bottom:1px solid var(--ndcpd-border);background:#fff}.ndcpd-spec dt{font-size:12px;color:var(--ndcpd-muted);margin-bottom:6px}.ndcpd-spec dd{margin:0;font-weight:700;overflow-wrap:anywhere}.ndcpd-note,.ndcpd-location-safe,.ndcpd-legal-status{margin-top:18px;padding:16px 18px;border-radius:12px;background:var(--ndcpd-soft);border-left:4px solid var(--ndcpd-accent)}.ndcpd-note p,.ndcpd-location-safe p{margin:6px 0 0}.ndcpd-map{position:relative;padding-bottom:56.25%;border-radius:14px;overflow:hidden;background:#e7ece9}.ndcpd-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.ndcpd-text-link{font-weight:750;color:var(--ndcpd-accent)!important;text-decoration:none}.ndcpd-legal-status{display:grid;gap:5px;margin-top:0;margin-bottom:18px}.ndcpd-legal-status span{color:var(--ndcpd-muted);font-size:13px}.ndcpd-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ndcpd-document-grid figure{margin:0;border:1px solid var(--ndcpd-border);border-radius:13px;overflow:hidden}.ndcpd-document-grid img{display:block;width:100%;height:280px;object-fit:cover}.ndcpd-document-grid figcaption{padding:11px 13px;font-size:13px;font-weight:700}.ndcpd-score-card{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:18px}.ndcpd-score-card div{padding:20px;border-radius:14px;background:var(--ndcpd-soft)}.ndcpd-score-card span{display:block;color:var(--ndcpd-muted);font-size:13px;margin-bottom:5px}.ndcpd-score-card strong{font-size:25px;color:var(--ndcpd-accent)}.ndcpd-disclaimer,.ndcpd-global-disclaimer{font-size:13px;line-height:1.65;color:var(--ndcpd-muted)}.ndcpd-video{position:relative;padding-bottom:56.25%;overflow:hidden;border-radius:14px;background:#111}.ndcpd-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.ndcpd-faq details{border-top:1px solid var(--ndcpd-border);padding:15px 0}.ndcpd-faq details:last-child{border-bottom:1px solid var(--ndcpd-border)}.ndcpd-faq summary{font-weight:750;cursor:pointer}.ndcpd-faq details p{color:#44524c;margin:10px 0 0}.ndcpd-sidebar{position:sticky;top:24px}.ndcpd-contact-card{background:#fff;border:1px solid var(--ndcpd-border);border-radius:var(--ndcpd-radius);padding:24px;box-shadow:0 14px 35px rgba(18,44,34,.08)}.ndcpd-contact-card h2{margin:0 0 4px;font-size:25px}.ndcpd-contact-role{color:var(--ndcpd-muted);margin:0 0 14px}.ndcpd-contact-phone{display:block;font-size:28px;font-weight:800;color:var(--ndcpd-accent)!important;text-decoration:none;margin-bottom:8px}.ndcpd-sidebar-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.ndcpd-sidebar-actions a{padding:10px 5px;text-align:center;border-radius:9px;background:var(--ndcpd-soft);font-size:13px;font-weight:750;color:var(--ndcpd-accent-dark)!important;text-decoration:none}.ndcpd-contact-form{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--ndcpd-border)}.ndcpd-contact-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.ndcpd-contact-form label span{color:#b33}.ndcpd-contact-form input,.ndcpd-contact-form select,.ndcpd-contact-form textarea{width:100%;border:1px solid #cfd8d3;border-radius:9px;padding:10px 11px;font:inherit;background:#fff}.ndcpd-contact-form input:focus,.ndcpd-contact-form select:focus,.ndcpd-contact-form textarea:focus{outline:2px solid color-mix(in srgb,var(--ndcpd-accent) 25%,transparent);border-color:var(--ndcpd-accent)}.ndcpd-contact-form .ndcpd-button{width:100%}.ndcpd-privacy{font-size:11px;color:var(--ndcpd-muted);margin:0}.ndcpd-hp{position:absolute!important;left:-9999px!important}.ndcpd-form-notice{padding:11px 12px;border-radius:9px;font-size:13px;margin:12px 0}.ndcpd-form-notice.is-success{background:#e7f7ee;color:#17643e}.ndcpd-form-notice.is-error{background:#fff0ee;color:#8c2d21}.ndcpd-related{margin-top:28px}.ndcpd-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.ndcpd-related-card{border:1px solid var(--ndcpd-border);border-radius:14px;overflow:hidden;background:#fff}.ndcpd-related-image{display:grid;place-items:center;height:180px;background:#edf1ef;color:var(--ndcpd-muted);text-decoration:none}.ndcpd-related-image img{width:100%;height:100%;object-fit:cover}.ndcpd-related-body{padding:15px}.ndcpd-related-body h3{font-size:17px;line-height:1.35;margin:0 0 12px}.ndcpd-related-body h3 a{color:var(--ndcpd-text);text-decoration:none}.ndcpd-related-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.ndcpd-related-meta strong{color:var(--ndcpd-accent)}.ndcpd-global-disclaimer{max-width:980px;margin:20px auto 0;text-align:center}.ndcpd-mobile-bar{display:none}.ndcpd-lightbox{width:min(1100px,94vw);max-width:none;padding:0;border:0;border-radius:14px;background:#111;box-shadow:0 30px 100px rgba(0,0,0,.45)}.ndcpd-lightbox::backdrop{background:rgba(0,0,0,.82)}.ndcpd-lightbox img{display:block;width:100%;max-height:88vh;object-fit:contain}.ndcpd-lightbox-close{position:absolute;right:10px;top:8px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:28px;line-height:1;cursor:pointer}@media(max-width:1024px){.ndcpd-hero{grid-template-columns:1fr}.ndcpd-gallery-main{height:480px}.ndcpd-layout{grid-template-columns:1fr}.ndcpd-sidebar{position:static}.ndcpd-related-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.ndcpd-property{padding:12px 0 88px}.ndcpd-container{width:min(calc(100% - 24px),1400px)}.ndcpd-breadcrumb{font-size:12px}.ndcpd-topline{gap:8px}.ndcpd-updated{width:100%}.ndcpd-hero{padding:0;border-radius:16px;overflow:hidden;gap:0}.ndcpd-gallery-main{height:310px;border-radius:0}.ndcpd-gallery-thumbs{padding:8px;grid-template-columns:repeat(4,1fr);margin:0}.ndcpd-thumb{height:64px}.ndcpd-summary{padding:20px}.ndcpd-summary h1{font-size:28px}.ndcpd-price{font-size:31px}.ndcpd-key-metrics{grid-template-columns:repeat(2,1fr)}.ndcpd-trustbar{grid-template-columns:repeat(2,1fr)}.ndcpd-section{padding:20px 16px;border-radius:14px}.ndcpd-section h2{font-size:23px}.ndcpd-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ndcpd-document-grid{grid-template-columns:1fr}.ndcpd-score-card{grid-template-columns:1fr 1fr}.ndcpd-related-grid{grid-template-columns:1fr}.ndcpd-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid var(--ndcpd-border);box-shadow:0 -10px 30px rgba(18,44,34,.14);padding:max(8px,env(safe-area-inset-bottom)) 8px}.ndcpd-mobile-bar a{display:grid;place-items:center;min-height:46px;text-decoration:none;font-weight:800;color:var(--ndcpd-accent-dark)}.ndcpd-mobile-bar a:nth-child(2){background:#0879e6;color:#fff;border-radius:9px}.ndcpd-mobile-bar a:nth-child(3){background:var(--ndcpd-accent);color:#fff;border-radius:9px}.ndcpd-contact-phone{font-size:25px}}@media(max-width:420px){.ndcpd-spec-grid{grid-template-columns:1fr}.ndcpd-trustbar{grid-template-columns:1fr 1fr}.ndcpd-primary-actions{grid-template-columns:1fr}.ndcpd-primary-actions .ndcpd-button--secondary{grid-column:auto}.ndcpd-score-card{grid-template-columns:1fr}}


/* 0.4.0 — UI refinements requested for NhaDatChon.vn */
.ndcpd-property{font-family:var(--ndcpd-font-family,'Be Vietnam Pro',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif)}
.ndcpd-summary h1{font-size:clamp(25px,2.15vw,34px);line-height:1.28;letter-spacing:-.015em;font-weight:750}
.ndcpd-gallery-thumbs{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:8px}
.ndcpd-thumb{height:auto;aspect-ratio:1/1;border:1px solid #d8e0dc;border-radius:0}
.ndcpd-thumb.is-active{border:2px solid var(--ndcpd-accent)}
.ndcpd-form-notice{transition:opacity .3s ease,transform .3s ease,max-height .3s ease,margin .3s ease,padding .3s ease}
.ndcpd-form-notice.is-dismissing{opacity:0;transform:translateY(-6px);max-height:0;margin:0;padding-top:0;padding-bottom:0;overflow:hidden}
.ndcpd-sidebar{scroll-margin-top:20px}
.ndcpd-sidebar-actions{grid-template-columns:1fr 1fr 72px;gap:8px;margin:16px 0 18px}
.ndcpd-sidebar-actions a{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;font-size:13px}
.ndcpd-sidebar-actions .ndcpd-action-call{background:var(--ndcpd-accent);color:#fff!important}
.ndcpd-sidebar-actions .ndcpd-action-zalo{background:#0879e6;color:#fff!important}
.ndcpd-sidebar-actions .ndcpd-action-sms{background:var(--ndcpd-soft);border-color:var(--ndcpd-border)}
.ndcpd-form-title{margin:4px 0 12px;font-size:20px;line-height:1.3}
.ndcpd-consent{grid-template-columns:20px 1fr!important;align-items:start;gap:8px!important}
.ndcpd-consent input{width:auto!important;margin-top:3px}
.ndcpd-consent span{color:var(--ndcpd-muted)!important;font-weight:500;line-height:1.5}
.ndcpd-submit-sticky{position:sticky;bottom:10px;z-index:8;padding:8px 0 2px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 32%)}
.ndcpd-submit-sticky .ndcpd-button{box-shadow:0 10px 24px rgba(31,107,82,.25)}
.ndcpd-submit-sticky .ndcpd-button:disabled{opacity:.7;cursor:wait}
@media(max-width:1024px){.ndcpd-gallery-thumbs{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:720px){.ndcpd-summary h1{font-size:25px;line-height:1.3}.ndcpd-gallery-thumbs{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:8px}.ndcpd-thumb{height:auto}.ndcpd-submit-sticky{bottom:70px}}
@media(max-width:420px){.ndcpd-gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.ndcpd-sidebar-actions{grid-template-columns:1fr 1fr}.ndcpd-sidebar-actions .ndcpd-action-sms{grid-column:1/-1}}

/* 0.5.0 — typography, CTA and form system */
.ndcpd-property,
.ndcpd-property button,
.ndcpd-property input,
.ndcpd-property select,
.ndcpd-property textarea {
  font-family: var(--ndcpd-font-family, "Be Vietnam Pro", Inter, system-ui, sans-serif);
}

.ndcpd-property {
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
}

.ndcpd-breadcrumb { font-size: 14px; line-height: 1.45; font-weight: 400; }
.ndcpd-topline { font-size: 14px; line-height: 1.45; }
.ndcpd-status { font-weight: 600; }
.ndcpd-code strong { font-weight: 600; }

.ndcpd-summary h1 {
  font-size: 24px;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -0.012em;
  margin: 0 0 16px;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.ndcpd-address { font-size: 15px; line-height: 1.55; }
.ndcpd-price { font-size: 28px; line-height: 1.15; font-weight: 600; }
.ndcpd-unit-price { font-size: 14px; }
.ndcpd-term-list span,
.ndcpd-feature-chips span { font-size: 13px; font-weight: 500; }
.ndcpd-key-metrics dt { font-size: 14px; line-height: 1.4; font-weight: 500; }
.ndcpd-key-metrics dd { font-size: 18px; line-height: 1.35; font-weight: 600; }

.ndcpd-eyebrow {
  font-size: 12.5px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: .07em;
}
.ndcpd-section h2 {
  font-size: 21px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.ndcpd-section-heading { margin-bottom: 18px; }
.ndcpd-section { padding: 24px; margin-bottom: 22px; }
.ndcpd-richtext { font-size: 16px; line-height: 1.65; }
.ndcpd-spec dt { font-size: 14px; line-height: 1.4; font-weight: 500; }
.ndcpd-spec dd { font-size: 18px; line-height: 1.35; font-weight: 600; }
.ndcpd-document-grid figcaption { font-size: 13px; font-weight: 500; }
.ndcpd-faq summary { font-size: 16px; line-height: 1.45; font-weight: 600; }
.ndcpd-contact-card h2 { font-size: 21px; line-height: 1.3; font-weight: 600; }
.ndcpd-contact-phone { font-size: 24px; line-height: 1.25; font-weight: 600; white-space: nowrap; }
.ndcpd-form-title { font-size: 19px; line-height: 1.3; font-weight: 600; }

.ndcpd-button,
.ndcpd-sidebar-actions a,
.ndcpd-mobile-bar a {
  visibility: visible !important;
  opacity: 1 !important;
  color: inherit;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ndcpd-button {
  min-height: 48px;
  padding: 12px 15px;
  border-radius: 10px;
}
.ndcpd-button:hover,
.ndcpd-sidebar-actions a:hover {
  transform: translateY(-1px);
  box-shadow: 0 7px 18px rgba(18, 44, 34, .12);
}
.ndcpd-button:focus-visible,
.ndcpd-sidebar-actions a:focus-visible {
  outline: 3px solid rgba(8, 121, 230, .28);
  outline-offset: 2px;
}
.ndcpd-button--primary { background: var(--ndcpd-accent); color: #fff !important; }
.ndcpd-button--primary:hover { background: var(--ndcpd-accent-dark); color: #fff !important; }
.ndcpd-button--zalo { background: #0879e6; color: #fff !important; }
.ndcpd-button--zalo:hover { background: #066bc9; color: #fff !important; }
.ndcpd-button--sms { background: #eef5f2; border-color: #cbd9d3; color: var(--ndcpd-accent-dark) !important; }
.ndcpd-button--sms:hover { background: #e2ece7; color: var(--ndcpd-accent-dark) !important; }
.ndcpd-button--secondary { background: #fff; color: var(--ndcpd-accent-dark) !important; border-color: var(--ndcpd-border); }
.ndcpd-button--secondary:hover { background: #f4f8f6; color: var(--ndcpd-accent-dark) !important; }

.ndcpd-primary-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.ndcpd-primary-actions .ndcpd-button--secondary { grid-column: 1 / -1; }

.ndcpd-sidebar-actions {
  grid-template-columns: 1fr 1fr 72px;
  gap: 8px;
  margin: 16px 0 18px;
}
.ndcpd-sidebar-actions a {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 8px;
  border: 1px solid transparent;
  border-radius: 9px;
  text-decoration: none;
}
.ndcpd-sidebar-actions .ndcpd-action-call { background: var(--ndcpd-accent); color: #fff !important; }
.ndcpd-sidebar-actions .ndcpd-action-call:hover { background: var(--ndcpd-accent-dark); color: #fff !important; }
.ndcpd-sidebar-actions .ndcpd-action-zalo { background: #0879e6; color: #fff !important; }
.ndcpd-sidebar-actions .ndcpd-action-zalo:hover { background: #066bc9; color: #fff !important; }
.ndcpd-sidebar-actions .ndcpd-action-sms { background: #eef5f2; color: var(--ndcpd-accent-dark) !important; border-color: #cbd9d3; }

.ndcpd-contact-form {
  gap: 16px;
  padding-top: 18px;
}
.ndcpd-contact-form label {
  gap: 7px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
}
.ndcpd-contact-form label > span:not(.screen-reader-text) { color: inherit; }
.ndcpd-contact-form input,
.ndcpd-contact-form select,
.ndcpd-contact-form textarea {
  min-height: 46px;
  padding: 11px 14px;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 400;
}
.ndcpd-contact-form textarea { min-height: 96px; resize: vertical; }
.ndcpd-contact-form input::placeholder,
.ndcpd-contact-form textarea::placeholder { color: #8b9792; opacity: 1; }
.ndcpd-consent { grid-template-columns: 20px 1fr !important; align-items: start; gap: 8px !important; }
.ndcpd-consent input { width: auto !important; min-height: 0; margin-top: 3px; }
.ndcpd-consent span { color: var(--ndcpd-muted) !important; font-size: 12.5px; font-weight: 400; line-height: 1.5; }
.ndcpd-submit-sticky { position: static; padding: 0; background: none; }
.ndcpd-submit-sticky .ndcpd-button { width: 100%; min-height: 50px; box-shadow: 0 8px 20px rgba(31, 107, 82, .2); }
.ndcpd-submit-sticky .ndcpd-button:disabled { opacity: .72 !important; cursor: wait; }
.ndcpd-privacy { font-size: 12px; line-height: 1.5; }
.ndcpd-form-notice { font-size: 13px; line-height: 1.5; }

.ndcpd-gallery-thumbs {
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
}
.ndcpd-thumb { height: auto; aspect-ratio: 1 / 1; border-radius: 0; }

@media (max-width: 1024px) {
  .ndcpd-summary h1 { font-size: 23px; }
  .ndcpd-section h2 { font-size: 20px; }
  .ndcpd-gallery-thumbs { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .ndcpd-property { font-size: 15px; }
  .ndcpd-breadcrumb { font-size: 13px; }
  .ndcpd-summary h1 { font-size: 22px; line-height: 1.25; }
  .ndcpd-section h2 { font-size: 19px; }
  .ndcpd-eyebrow { font-size: 11.5px; }
  .ndcpd-key-metrics dt,
  .ndcpd-spec dt { font-size: 13.5px; }
  .ndcpd-key-metrics dd,
  .ndcpd-spec dd { font-size: 16.5px; }
  .ndcpd-contact-card h2 { font-size: 19px; }
  .ndcpd-contact-phone { font-size: 22px; }
  .ndcpd-contact-form input,
  .ndcpd-contact-form select,
  .ndcpd-contact-form textarea { min-height: 50px; font-size: 16px; }
  .ndcpd-submit-sticky .ndcpd-button { min-height: 52px; }
  .ndcpd-gallery-thumbs { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
  .ndcpd-section { padding: 20px 16px; }
  .ndcpd-mobile-bar a { font-weight: 600; }
}

@media (max-width: 420px) {
  .ndcpd-primary-actions { grid-template-columns: 1fr 1fr; }
  .ndcpd-primary-actions .ndcpd-button--secondary { grid-column: 1 / -1; }
  .ndcpd-sidebar-actions { grid-template-columns: 1fr 1fr; }
  .ndcpd-sidebar-actions .ndcpd-action-sms { grid-column: 1 / -1; }
  .ndcpd-gallery-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}


/* 0.5.3 — normal-state CTA protection against theme/cache cascade */
body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > a,
body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar-actions > a,
body.ndcpd-property-page .ndcpd-property .ndcpd-submit-sticky > button,
body.ndcpd-property-page .ndcpd-property .ndcpd-mobile-bar > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > .ndcpd-button--primary,
body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar-actions > .ndcpd-action-call,
body.ndcpd-property-page .ndcpd-property .ndcpd-submit-sticky > .ndcpd-button--primary {
  background-color: #1f6b52 !important;
  border-color: #1f6b52 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > .ndcpd-button--zalo,
body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar-actions > .ndcpd-action-zalo {
  background-color: #0879e6 !important;
  border-color: #0879e6 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > .ndcpd-button--sms,
body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar-actions > .ndcpd-action-sms {
  background-color: #eef5f2 !important;
  border-color: #cbd9d3 !important;
  color: #174e3e !important;
  -webkit-text-fill-color: #174e3e !important;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > .ndcpd-button--secondary {
  background-color: #ffffff !important;
  border-color: #cbd9d3 !important;
  color: #174e3e !important;
  -webkit-text-fill-color: #174e3e !important;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > .ndcpd-button--primary:hover,
body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar-actions > .ndcpd-action-call:hover,
body.ndcpd-property-page .ndcpd-property .ndcpd-submit-sticky > .ndcpd-button--primary:hover {
  background-color: #174e3e !important;
  border-color: #174e3e !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > .ndcpd-button--zalo:hover,
body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar-actions > .ndcpd-action-zalo:hover {
  background-color: #066bc9 !important;
  border-color: #066bc9 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-submit-sticky > button:disabled {
  background-color: #1f6b52 !important;
  border-color: #1f6b52 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: .72 !important;
}

/* NDC PROPERTY DETAIL CANDIDATE V1
 * Scope: Property Detail visual hierarchy, responsive containment and CTA usability.
 * No data, trust, contact destination, analytics or backend behavior changes.
 */
body.ndcpd-property-page .ndcpd-property {
  overflow-x: clip;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-hero,
body.ndcpd-property-page .ndcpd-property .ndcpd-layout,
body.ndcpd-property-page .ndcpd-property .ndcpd-gallery,
body.ndcpd-property-page .ndcpd-property .ndcpd-summary,
body.ndcpd-property-page .ndcpd-property .ndcpd-main,
body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar {
  min-width: 0;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-hero {
  align-items: start;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-summary {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-price-wrap {
  margin-top: auto;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-trustbar {
  box-shadow: 0 10px 30px rgba(18,44,34,.05);
}

body.ndcpd-property-page .ndcpd-property .ndcpd-trustbar > div {
  min-width: 0;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-section,
body.ndcpd-property-page .ndcpd-property .ndcpd-contact-card {
  overflow-wrap: anywhere;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar {
  top: 88px;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-contact-card {
  position: relative;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-gallery-main img,
body.ndcpd-property-page .ndcpd-property .ndcpd-document-grid img {
  max-width: 100%;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > a,
body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar-actions > a,
body.ndcpd-property-page .ndcpd-property .ndcpd-mobile-bar > a,
body.ndcpd-property-page .ndcpd-property .ndcpd-main-image-button,
body.ndcpd-property-page .ndcpd-property .ndcpd-thumb {
  -webkit-tap-highlight-color: transparent;
}

body.ndcpd-property-page .ndcpd-property .ndcpd-main-image-button:focus-visible,
body.ndcpd-property-page .ndcpd-property .ndcpd-thumb:focus-visible,
body.ndcpd-property-page .ndcpd-property .ndcpd-mobile-bar > a:focus-visible {
  outline: 3px solid color-mix(in srgb,var(--ndcpd-accent) 38%,transparent);
  outline-offset: 3px;
}

@media (min-width: 1025px) {
  body.ndcpd-property-page .ndcpd-property .ndcpd-layout {
    grid-template-columns: minmax(0,1fr) minmax(320px,360px);
  }

  body.ndcpd-property-page .ndcpd-property .ndcpd-contact-card {
    max-height: calc(100vh - 112px);
    overflow: auto;
    scrollbar-gutter: stable;
  }
}

@media (max-width: 1024px) {
  body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar {
    top: auto;
  }

  body.ndcpd-property-page .ndcpd-property .ndcpd-contact-card {
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 720px) {
  body.ndcpd-property-page .ndcpd-property {
    overflow-x: hidden;
  }

  body.ndcpd-property-page .ndcpd-property .ndcpd-hero,
  body.ndcpd-property-page .ndcpd-property .ndcpd-section,
  body.ndcpd-property-page .ndcpd-property .ndcpd-contact-card {
    box-shadow: none;
  }

  body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions {
    grid-template-columns: 1fr 1fr;
  }

  body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > .ndcpd-button--secondary {
    grid-column: 1 / -1;
  }

  body.ndcpd-property-page .ndcpd-property .ndcpd-mobile-bar {
    padding-bottom: max(8px, env(safe-area-inset-bottom));
  }
}

@media (max-width: 420px) {
  body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions {
    grid-template-columns: 1fr;
  }

  body.ndcpd-property-page .ndcpd-property .ndcpd-primary-actions > .ndcpd-button--secondary {
    grid-column: auto;
  }
}


/* ==========================================================================
   NDC Property Detail Candidate v1.2
   Presentation-only layer. No backend/data/query/tracking semantic changes.
   ========================================================================== */

.ndcpd-hero--decision {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(340px, 2fr);
  gap: clamp(24px, 2.5vw, 40px);
  align-items: start;
}

.ndcpd-summary--decision {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.ndcpd-summary--decision h1 {
  margin-block: 0;
  text-wrap: balance;
}

.ndcpd-summary--decision .ndcpd-term-list {
  margin-bottom: -2px;
}

.ndcpd-summary--decision .ndcpd-price-wrap {
  margin-block: 2px 4px;
}

.ndcpd-key-metrics--decision {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
}

.ndcpd-key-metrics--decision > div {
  min-width: 0;
  padding: 10px 12px;
}

.ndcpd-primary-actions--decision {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
  gap: 10px;
}

.ndcpd-primary-actions--decision .ndcpd-button--primary {
  font-weight: 700;
}

.ndcpd-trustbar {
  margin-block: 22px 28px;
}

.ndcpd-layout--decision {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
  gap: clamp(28px, 3vw, 44px);
  align-items: start;
}

.ndcpd-main-column--decision {
  min-width: 0;
}

.ndcpd-section--description .ndcpd-richtext {
  max-width: 78ch;
}

.ndcpd-sidebar .ndcpd-contact-card {
  position: sticky;
  top: 24px;
}

.ndcpd-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ndcpd-related-card {
  min-width: 0;
  overflow: hidden;
  border-radius: 14px;
}

.ndcpd-related-image {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #edf1ef;
  color: var(--ndcpd-muted);
  text-decoration: none;
}

.ndcpd-related-image img,
.ndcpd-related-image span {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
}

.ndcpd-related-image img {
  display: block;
  object-fit: cover;
  object-position: center;
}

.ndcpd-related-image span {
  display: grid;
  place-items: center;
}

.ndcpd-related-body {
  padding: 12px 14px 14px;
}

.ndcpd-related-body h3 {
  margin: 0 0 8px;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 600;
}

.ndcpd-related-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: baseline;
}

.ndcpd-property a:focus-visible,
.ndcpd-property button:focus-visible,
.ndcpd-property input:focus-visible,
.ndcpd-property textarea:focus-visible,
.ndcpd-property select:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

@media (max-width: 1199px) {
  .ndcpd-hero--decision {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr);
    gap: 24px;
  }

  .ndcpd-layout--decision {
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
  }

  .ndcpd-related-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 899px) {
  .ndcpd-hero--decision,
  .ndcpd-layout--decision {
    grid-template-columns: minmax(0, 1fr);
  }

  .ndcpd-sidebar .ndcpd-contact-card {
    position: static;
  }

  .ndcpd-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .ndcpd-summary--decision {
    gap: 11px;
  }

  .ndcpd-key-metrics--decision {
    gap: 8px;
  }

  .ndcpd-primary-actions--decision {
    grid-template-columns: 1fr 1fr;
  }

  .ndcpd-primary-actions--decision .ndcpd-button--sms {
    grid-column: 1 / -1;
  }

  .ndcpd-related-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ndcpd-property {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }

  .ndcpd-mobile-bar {
    padding-bottom: max(10px, env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 419px) {
  .ndcpd-key-metrics--decision {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Property Detail candidate remediation: exact 900px sidebar boundary */
@media (min-width: 900px) {
  body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar {
    position: sticky;
    top: 88px;
  }
}

@media (max-width: 899px) {
  body.ndcpd-property-page .ndcpd-property .ndcpd-sidebar {
    position: static;
    top: auto;
  }
}

/* L3 Property Detail V2 — SAFE_TO_MERGE presentation on live CSS base.
 * Related 4/3/2/1 grid, image fill, and no-left-collapse already live; not re-added.
 */
.ndcpd-property {
  padding: 18px 0 68px;
}
.ndcpd-hero {
  gap: 20px;
  padding: 14px;
}
.ndcpd-gallery-main {
  height: 440px;
}
.ndcpd-summary__identity {
  display: grid;
  gap: 6px;
  margin: 0 0 4px;
}
.ndcpd-summary__identity h1 {
  margin: 0;
}
.ndcpd-topline {
  margin-bottom: 10px;
}
.ndcpd-address {
  margin: 0;
}
.ndcpd-summary__price,
.ndcpd-price-wrap {
  padding: 12px 0;
  margin-bottom: 12px;
}
.ndcpd-key-metrics {
  gap: 8px;
  margin: 0 0 14px;
}
.ndcpd-section {
  padding: 20px;
  margin-bottom: 16px;
}
.ndcpd-section-heading {
  margin-bottom: 12px;
}
.ndcpd-section h2 {
  font-size: 20px;
}
.ndcpd-trustbar {
  margin: 14px 0;
}
.ndcpd-trustbar div {
  padding: 12px 14px;
}
.ndcpd-related-shell {
  min-width: 0;
}
.ndcpd-related {
  margin-top: 16px;
}

@media (max-width: 899px) {
  .ndcpd-hero {
    gap: 0;
    padding: 0;
  }
}

@media (max-width: 639px) {
  .ndcpd-gallery-main {
    height: 280px;
  }
  .ndcpd-section h2 {
    font-size: 18px;
  }
  .ndcpd-summary h1,
  .ndcpd-summary__identity h1 {
    font-size: 22px;
  }
  .ndcpd-contact-form input,
  .ndcpd-contact-form select,
  .ndcpd-contact-form textarea {
    min-height: 48px;
  }
}

@media (max-width: 390px) {
  .ndcpd-container {
    width: min(1400px, calc(100% - 20px));
  }
  .ndcpd-primary-actions .ndcpd-button {
    min-height: 44px;
  }
}
