/* =========================================================
   LUMI HANOI — PREMIUM REAL ESTATE PORTAL UI 2026
   Global final visual layer. Loaded after legacy + responsive CSS.
   Purpose: one coherent system for every public URL without touching SEO content.
   ========================================================= */

:root{
  --lumi-bg:#f6f7f5;
  --lumi-surface:#ffffff;
  --lumi-surface-2:#f0f2ef;
  --lumi-ink:#18201d;
  --lumi-muted:#68716d;
  --lumi-line:#e1e5e1;
  --lumi-accent:#a87943;
  --lumi-accent-dark:#7c552b;
  --lumi-accent-soft:#f4eadf;
  --lumi-dark:#17231f;
  --lumi-dark-2:#20302a;
  --lumi-success:#2f6b50;
  --lumi-danger:#a0433b;
  --lumi-radius-xs:8px;
  --lumi-radius-sm:11px;
  --lumi-radius:15px;
  --lumi-radius-lg:22px;
  --lumi-shadow-xs:0 2px 10px rgba(24,32,29,.045);
  --lumi-shadow-sm:0 10px 28px rgba(24,32,29,.075);
  --lumi-shadow:0 22px 56px rgba(24,32,29,.105);
  --lumi-section:clamp(4rem,7vw,6.8rem);
  --lumi-header:74px;

  /* map old tokens so old page-specific CSS inherits the new visual language */
  --ivory:var(--lumi-bg);
  --paper:var(--lumi-surface);
  --ink:var(--lumi-ink);
  --muted:var(--lumi-muted);
  --bronze:var(--lumi-accent);
  --bronze-dark:var(--lumi-accent-dark);
  --line:var(--lumi-line);
  --night:var(--lumi-dark);
  --radius:var(--lumi-radius);
  --space-section:var(--lumi-section);
  --max:1280px;
  --reading:800px;
}

html{
  background:var(--lumi-bg);
  scroll-padding-top:92px;
}
body{
  margin:0;
  background:var(--lumi-bg);
  color:var(--lumi-ink);
  font-family:var(--font-sans,"Be Vietnam Pro",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  font-size:16px;
  line-height:1.68;
  letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.lumi-premium-portal{overflow-wrap:break-word}
*,*:before,*:after{box-sizing:border-box}
img{max-width:100%}
button,input,select,textarea{font:inherit}
a{color:inherit}
::selection{background:#ead7bd;color:#35210d}
:focus-visible{outline:3px solid rgba(168,121,67,.32)!important;outline-offset:3px}

/* Typography: Smart City clarity, Lumi restraint. */
h1,h2,h3,h4,h5,h6,
.stat strong,.fact-card strong,.phase-index,.product-card strong,
.collection-copy h3,.listing-card h3,.listing-card-price strong,.detail-price,
.detail-specs dd,.overview-fact strong,.overview-pillar h3,.overview-collection h3,
.overview-product strong,.transaction-path h2,.form-section-head h2,
.admin-kpi strong,.layout-card-head h2,.layout-library>h2,.floor-plan-index strong{
  font-family:var(--font-sans,"Be Vietnam Pro",Inter,system-ui,sans-serif)!important;
  font-style:normal!important;
  letter-spacing:-.045em;
}
h1{font-weight:800!important;line-height:.98!important}
h2{font-weight:750!important;line-height:1.08!important}
h3{font-weight:700!important;line-height:1.18!important}
p,.lead{letter-spacing:-.012em}
.eyebrow,.section-kicker{
  color:var(--lumi-accent-dark)!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
}
.section-kicker{display:flex;align-items:center;gap:10px}
.section-kicker:before{
  width:24px!important;
  height:2px!important;
  border:0!important;
  border-radius:999px;
  background:var(--lumi-accent)!important;
}

/* ---------------------------------------------------------
   Global shell
   --------------------------------------------------------- */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  min-height:var(--lumi-header);
  border-bottom:1px solid rgba(24,32,29,.08)!important;
  background:rgba(255,255,255,.955)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px);
  transition:box-shadow .2s ease,background .2s ease;
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 8px 30px rgba(24,32,29,.075)!important;
}
.nav{
  min-height:var(--lumi-header)!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px!important;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px!important;
  flex:0 0 auto;
  color:var(--lumi-ink)!important;
  text-decoration:none!important;
}
.brand-mark{
  width:108px!important;
  height:52px!important;
  flex:0 0 108px!important;
  background-size:contain!important;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:3px!important;
  color:#3d4945!important;
  font-size:.79rem!important;
  font-weight:650!important;
  letter-spacing:-.005em!important;
}
.nav-links>a,.nav-dropdown>summary{
  min-height:40px;
  display:flex;
  align-items:center;
  padding:0 10px!important;
  border-radius:9px!important;
  cursor:pointer;
  text-decoration:none!important;
  transition:background .15s ease,color .15s ease;
}
.nav-links>a:after{display:none!important}
.nav-links>a:hover,.nav-dropdown>summary:hover,
.nav-links>a[aria-current="page"]{
  background:var(--lumi-accent-soft)!important;
  color:var(--lumi-accent-dark)!important;
}
.nav-dropdown summary:after{opacity:.7}
.nav-dropdown[open]>summary{
  background:var(--lumi-accent-soft)!important;
  color:var(--lumi-accent-dark)!important;
}
.nav-dropdown-menu{
  top:calc(100% + 8px)!important;
  min-width:220px!important;
  padding:7px!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:var(--lumi-shadow)!important;
}
.nav-dropdown-menu a{
  padding:10px 11px!important;
  border-radius:8px!important;
  color:#45504c!important;
  font-size:.8rem!important;
  font-weight:600;
}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a[aria-current="page"]{
  background:var(--lumi-accent-soft)!important;
  color:var(--lumi-accent-dark)!important;
}
.nav-direct-cta{
  margin-left:5px;
  min-height:40px;
  display:flex;
  align-items:center;
  padding:0 15px!important;
  border-radius:10px!important;
  background:var(--lumi-dark)!important;
  color:#fff!important;
  font-weight:750!important;
}
.nav-direct-cta:hover{
  background:var(--lumi-accent-dark)!important;
  color:#fff!important;
}
.nav-toggle{
  min-width:48px;
  min-height:42px;
  border:1px solid var(--lumi-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--lumi-ink)!important;
  box-shadow:none!important;
}

/* ---------------------------------------------------------
   Buttons and common controls
   --------------------------------------------------------- */
.btn,.admin-action,.listing-card-action{
  min-height:45px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:10px 17px!important;
  border:1px solid #d3dbd6!important;
  border-radius:10px!important;
  background:#fff;
  color:var(--lumi-ink);
  font-weight:750!important;
  line-height:1.15;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}
.btn:hover,.listing-card-action:hover{
  transform:translateY(-1px);
  box-shadow:var(--lumi-shadow-xs)!important;
}
.btn-primary{
  border-color:var(--lumi-dark)!important;
  background:var(--lumi-dark)!important;
  color:#fff!important;
}
.btn-primary:hover{
  border-color:var(--lumi-accent-dark)!important;
  background:var(--lumi-accent-dark)!important;
  color:#fff!important;
}
.hero-actions{gap:9px!important}

/* ---------------------------------------------------------
   Hero + core landing rhythm
   --------------------------------------------------------- */
.home-hero{
  min-height:min(780px,calc(100svh - var(--lumi-header)))!important;
  background:var(--lumi-dark)!important;
}
.home-hero:before{
  background:
    linear-gradient(90deg,rgba(11,17,14,.90) 0%,rgba(11,17,14,.60) 40%,rgba(11,17,14,.22) 72%,rgba(11,17,14,.08) 100%),
    linear-gradient(0deg,rgba(11,17,14,.72) 0%,rgba(11,17,14,.06) 60%)!important;
}
.home-hero .container{
  padding-block:clamp(7rem,15vh,10rem) clamp(3.7rem,7vh,5.5rem)!important;
}
.home-hero h1{
  max-width:7ch!important;
  font-size:clamp(4.4rem,10.5vw,8.2rem)!important;
  line-height:.82!important;
  letter-spacing:-.07em!important;
  text-shadow:0 2px 30px rgba(0,0,0,.16);
}
.home-hero .lead{
  max-width:650px!important;
  color:#e7ebe8!important;
  font-size:clamp(1rem,1.6vw,1.18rem)!important;
  line-height:1.7!important;
}
.home-hero .eyebrow{color:#e6c79f!important}
.home-hero .btn:not(.btn-primary){
  border-color:rgba(255,255,255,.72)!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--lumi-dark)!important;
}
.home-hero .btn-primary{
  border-color:#fff!important;
  background:#fff!important;
  color:var(--lumi-dark)!important;
}
.home-hero .btn-primary:hover,.home-hero .btn:not(.btn-primary):hover{
  border-color:#fff!important;
  background:#fff!important;
  color:var(--lumi-accent-dark)!important;
}
.facts-panel,.overview-facts{
  background:var(--lumi-dark)!important;
  color:#fff!important;
}
.facts-panel .stat,.overview-fact{
  border-color:rgba(255,255,255,.12)!important;
}
.facts-panel .stat strong,.overview-fact strong{color:#fff!important}
.facts-panel .stat span,.overview-fact span{color:#bfc8c3!important}

.section{padding-block:var(--lumi-section)!important}
.section-alt{background:var(--lumi-surface-2)!important}
.section-head{
  grid-template-columns:minmax(0,.92fr) minmax(300px,.68fr)!important;
  gap:clamp(32px,7vw,100px)!important;
  margin-bottom:clamp(2.4rem,4.5vw,4rem)!important;
}
.section-head h2{max-width:16ch!important}
.section-head>p,.section-head>div>p:not(.eyebrow){color:var(--lumi-muted)!important}

/* Reusable card language */
.card,.fact-card,.side-nav,.journey-card,.editorial-card,
.progress-content,.location-facts,.progress-brief,.experience-brief,
.overview-pillar,.overview-collection,.overview-market-card{
  border-color:var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
}
.card,.fact-card,.journey-card,.editorial-card,.overview-pillar,.overview-collection{
  background:var(--lumi-surface)!important;
  box-shadow:var(--lumi-shadow-xs);
}
.card:hover,.journey-card:hover,.editorial-card:hover,.overview-collection:hover{
  transform:translateY(-2px)!important;
  box-shadow:var(--lumi-shadow-sm)!important;
}
.card-link{
  color:var(--lumi-accent-dark)!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.card-link:hover{text-decoration:underline!important;text-underline-offset:4px}

/* Homepage quick destinations */
.product-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  border:0!important;
}
.product-card{
  min-height:180px!important;
  padding:22px!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
  box-shadow:var(--lumi-shadow-xs);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.product-card strong{
  font-size:clamp(1.28rem,2.1vw,1.8rem)!important;
  line-height:1.12!important;
}
.product-card span{
  color:var(--lumi-muted)!important;
  font-size:.82rem!important;
  line-height:1.55;
}
.product-card:hover{
  background:#fff!important;
  color:var(--lumi-ink)!important;
  border-color:#cdb99f!important;
  transform:translateY(-3px)!important;
  box-shadow:var(--lumi-shadow-sm)!important;
}
.product-card:hover span{color:var(--lumi-muted)!important}

/* Collection / project storytelling */
.collection-stack{gap:clamp(3rem,6vw,5.7rem)!important}
.collection-feature{
  gap:clamp(28px,5vw,70px)!important;
}
.collection-media{
  border-radius:var(--lumi-radius-lg)!important;
  box-shadow:var(--lumi-shadow-sm);
}
.collection-copy .collection-number{
  margin-bottom:1rem!important;
  color:var(--lumi-accent-dark)!important;
  font-family:var(--font-sans,"Be Vietnam Pro",sans-serif)!important;
  font-size:.72rem!important;
  font-style:normal!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase;
}
.collection-copy h3{
  font-size:clamp(2.1rem,4.5vw,4rem)!important;
  max-width:12ch;
}
.collection-copy p{color:var(--lumi-muted)!important;max-width:52ch}

.location-brief{
  border-block:0!important;
  background:#fff!important;
}
.location-facts{
  padding:8px 24px!important;
  border:1px solid var(--lumi-line)!important;
  background:var(--lumi-surface-2)!important;
  box-shadow:var(--lumi-shadow-xs);
}
.location-facts>div{padding-block:20px!important}

.plan-story{
  background:var(--lumi-dark)!important;
}
.plan-story .eyebrow{color:#e2c298!important}
.plan-story .lead{color:#c9d0cc!important}
.plan-frame{
  padding:12px!important;
  border-radius:18px!important;
  box-shadow:0 24px 60px rgba(0,0,0,.24)!important;
  overflow:hidden;
}
.visual-grid{gap:14px!important}
.visual-tile{
  min-height:390px!important;
  border-radius:var(--lumi-radius-lg)!important;
  box-shadow:var(--lumi-shadow-sm);
}
.visual-tile:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(8,13,11,.72),transparent 60%);
}
.visual-tile-copy{z-index:2!important}
.visual-tile-copy h3{
  font-size:clamp(1.55rem,2.7vw,2.6rem)!important;
  max-width:16ch;
}
.visual-tile-copy .eyebrow{color:#e2c298!important}

/* compact information modules */
.compact-duo,.journey-grid{gap:14px!important}
.progress-brief,.experience-brief,.journey-card{
  padding:clamp(24px,3vw,34px)!important;
  border:1px solid var(--lumi-line)!important;
  background:#fff!important;
}
.experience-brief{background:var(--lumi-dark)!important;color:#fff!important}
.experience-brief p{color:#c5cdc8!important}
.experience-brief .eyebrow{color:#e2c298!important}
.journey-card>span{color:var(--lumi-accent-dark)!important}
.journey-card strong{color:var(--lumi-accent-dark)!important}

/* ---------------------------------------------------------
   Article / content pages
   --------------------------------------------------------- */
.breadcrumb{
  padding-block:18px!important;
  color:#78817d!important;
  font-size:.8rem!important;
}
.article-hero{
  min-height:clamp(360px,50vh,540px)!important;
  padding:clamp(4.4rem,8vw,6.8rem) 0 clamp(3rem,5vw,4.3rem)!important;
  background:var(--lumi-dark)!important;
}
.article-hero:after{
  background:
    linear-gradient(90deg,rgba(9,15,12,.88),rgba(9,15,12,.32)),
    linear-gradient(0deg,rgba(9,15,12,.64),transparent)!important;
}
.article-hero h1{
  max-width:16ch!important;
  font-size:clamp(2.75rem,6vw,5.5rem)!important;
}
.article-hero .lead{color:#dce2de!important;max-width:780px!important}
.article-hero .eyebrow{color:#e1c097!important}
.article-layout{
  gap:clamp(40px,6vw,82px)!important;
  padding-block:clamp(3.5rem,6vw,5.8rem)!important;
}
.article{
  font-size:1rem!important;
}
.article>p:first-of-type{
  font-size:1.08rem!important;
  color:#3d4743!important;
}
.article h2{
  max-width:25ch!important;
  margin-top:clamp(3rem,5vw,4.5rem)!important;
  padding-top:0!important;
  border-top:0!important;
  font-size:clamp(1.9rem,3vw,2.65rem)!important;
}
.article h3{
  font-size:clamp(1.35rem,2vw,1.7rem)!important;
}
.article p,.article li{color:#4f5955!important;line-height:1.78!important}
.article a{color:var(--lumi-accent-dark)}
.article table{
  overflow:hidden;
  border:1px solid var(--lumi-line)!important;
  border-radius:12px;
  background:#fff!important;
  box-shadow:var(--lumi-shadow-xs);
}
.article th{
  background:var(--lumi-dark)!important;
  color:#fff!important;
}
.article th,.article td{padding:14px 15px!important}
.note,.notice{
  padding:20px 22px!important;
  border:0!important;
  border-left:3px solid var(--lumi-accent)!important;
  border-radius:0 12px 12px 0!important;
  background:var(--lumi-accent-soft)!important;
  color:#514638!important;
}
.fact-card{
  padding:20px!important;
}
.fact-card strong{color:var(--lumi-ink)!important}
.side-nav{
  top:94px!important;
  padding:20px!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
  box-shadow:var(--lumi-shadow-xs);
}
.side-nav a{
  padding:11px 0!important;
  border-color:var(--lumi-line)!important;
  color:var(--lumi-muted)!important;
}
.side-nav a:hover{color:var(--lumi-accent-dark)!important}
.source-list{
  padding:20px!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:12px!important;
  background:var(--lumi-surface-2)!important;
}
.figure-image,.overview-media,.overview-plan-frame{
  border-radius:var(--lumi-radius)!important;
}
.figure-caption{
  font-family:var(--font-sans,"Be Vietnam Pro",sans-serif)!important;
  font-size:.84rem!important;
  color:#3e4743!important;
}

/* Overview page: normalize inline legacy geometry */
.overview-pillar-grid,.overview-products{
  gap:12px!important;
  border:0!important;
}
.overview-pillar-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.overview-pillar{
  min-height:240px!important;
  border:1px solid var(--lumi-line)!important;
  padding:26px!important;
}
.overview-collections{gap:14px!important}
.overview-collection{
  overflow:hidden;
  border:1px solid var(--lumi-line)!important;
}
.overview-collection-copy{padding:24px!important}
.overview-products{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.overview-product{
  min-height:190px!important;
  padding:22px!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
  box-shadow:var(--lumi-shadow-xs);
}
.overview-product:hover{
  background:#fff!important;
  color:var(--lumi-ink)!important;
  border-color:#cdb99f!important;
  box-shadow:var(--lumi-shadow-sm)!important;
}
.overview-product span{color:var(--lumi-muted)!important}
.overview-market{gap:14px!important}
.overview-market-card{
  min-height:250px!important;
  background:var(--lumi-dark)!important;
}
.overview-market-card:nth-child(2){
  background:var(--lumi-accent-soft)!important;
  color:var(--lumi-ink)!important;
}
.overview-faq details{
  border-color:var(--lumi-line)!important;
}
.overview-faq summary{font-weight:700!important}

/* Floor-plan and technical pages */
.layout-filters{
  padding:10px 0!important;
  border-color:var(--lumi-line)!important;
}
.layout-filter-row button{
  min-height:38px!important;
  border-radius:999px!important;
}
.layout-filter-row button[aria-pressed="true"]{
  background:var(--lumi-dark)!important;
}
.layout-card-grid{gap:18px!important}
.layout-card{
  overflow:hidden;
  border:1px solid var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
  box-shadow:var(--lumi-shadow-xs);
}
.layout-card:hover{
  border-color:#cdb99f!important;
  box-shadow:var(--lumi-shadow-sm)!important;
}
.layout-preview{background:#fafafa!important}
.layout-card-body{padding:20px!important}
.layout-card-head h2{font-size:clamp(1.3rem,2vw,1.8rem)!important}
.layout-view-action{color:var(--lumi-accent-dark)!important}
.progress-month-nav{
  border-color:var(--lumi-line)!important;
}
.article .progress-month-nav a{
  border-radius:999px!important;
  background:#fff!important;
}
.progress-entry{
  border-color:var(--lumi-line)!important;
  background:#fff!important;
}
.progress-entry summary:after{color:var(--lumi-accent-dark)!important}

/* ---------------------------------------------------------
   Marketplace / transaction / submit / detail
   --------------------------------------------------------- */
.marketplace-section,.marketplace-page,.submit-page-premium,.admin-page{
  background:var(--lumi-bg)!important;
}
.marketplace-page-head{
  gap:clamp(30px,6vw,80px)!important;
}
.marketplace-page-head h1{
  max-width:14ch;
  font-size:clamp(2.8rem,5.7vw,5rem)!important;
}
.marketplace-toolbar{
  padding:14px!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
  box-shadow:var(--lumi-shadow-xs);
}
.field label,.field-label{
  color:#55605b!important;
  font-size:.72rem!important;
  letter-spacing:.06em!important;
}
.field input,.field select,.field textarea{
  min-height:50px!important;
  padding:12px 13px!important;
  border:1px solid #d5ddd8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--lumi-ink)!important;
}
.field textarea{min-height:138px!important}
.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--lumi-accent)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(168,121,67,.11)!important;
}
.listing-grid{gap:14px!important}
.listing-card{
  overflow:hidden;
  border:1px solid var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
  box-shadow:var(--lumi-shadow-xs);
}
.listing-card:hover{
  transform:translateY(-2px)!important;
  border-color:#cdb99f!important;
  box-shadow:var(--lumi-shadow-sm)!important;
}
.listing-card-media{background:#edf0ed!important}
.listing-badge{
  border-radius:999px!important;
  background:rgba(23,35,31,.90)!important;
}
.listing-badge--featured{background:var(--lumi-accent-dark)!important}
.listing-card-body{padding:18px!important}
.listing-card-meta{
  color:#77807c!important;
  font-size:.72rem!important;
  letter-spacing:.02em!important;
}
.listing-card h3{
  color:var(--lumi-ink)!important;
  font-size:1.16rem!important;
  letter-spacing:-.025em!important;
}
.listing-card-price{
  border-color:var(--lumi-line)!important;
}
.listing-card-price strong{
  color:var(--lumi-accent-dark)!important;
  font-size:1.32rem!important;
  font-weight:850!important;
  font-variant-numeric:tabular-nums;
}
.marketplace-count,.marketplace-state,.transaction-submit{
  border-color:var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
}
.marketplace-state{box-shadow:var(--lumi-shadow-xs)}
.marketplace-state-mark{
  border-radius:14px!important;
  color:var(--lumi-accent-dark)!important;
  border-color:#d5c2a9!important;
}
.marketplace-state-benefits span{
  border-radius:999px!important;
  background:var(--lumi-surface-2)!important;
}
.transaction-paths{gap:14px!important;border:0!important}
.transaction-path{
  overflow:hidden;
  min-height:360px!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:var(--lumi-radius-lg)!important;
  box-shadow:var(--lumi-shadow-xs);
}
.transaction-path--rent{
  background:var(--lumi-dark)!important;
}
.transaction-path:hover{
  box-shadow:var(--lumi-shadow-sm)!important;
}
.transaction-submit{
  padding:clamp(22px,3vw,32px)!important;
}
.transaction-submit--premium{box-shadow:var(--lumi-shadow-xs)}

/* Forms */
.form-shell{gap:22px!important}
.form-section,.marketplace-form--premium .form-section{
  padding:clamp(22px,3vw,32px)!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
  box-shadow:var(--lumi-shadow-xs)!important;
}
.form-section-head{
  margin-bottom:22px!important;
  padding-bottom:15px!important;
  border-color:var(--lumi-line)!important;
}
.form-section-head h2{font-size:clamp(1.55rem,2.7vw,2.15rem)!important}
.form-section-index{
  color:var(--lumi-accent-dark)!important;
  font-family:var(--font-sans,"Be Vietnam Pro",sans-serif)!important;
  font-style:normal!important;
  font-weight:800!important;
}
.choice-grid{gap:10px!important}
.choice-card label,.choice-grid--premium .choice-card label{
  min-height:106px!important;
  padding:16px!important;
  border:1px solid #d9dfdb!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.choice-card label strong,.choice-grid--premium .choice-card label strong{
  font-family:var(--font-sans,"Be Vietnam Pro",sans-serif)!important;
  font-size:1rem!important;
  font-weight:800!important;
}
.choice-card input:checked+label,.choice-grid--premium .choice-card input:checked+label{
  border-color:var(--lumi-accent)!important;
  background:var(--lumi-accent-soft)!important;
  box-shadow:0 0 0 2px rgba(168,121,67,.1)!important;
}
.image-drop,.image-drop--premium{
  border:1.5px dashed #b7aa98!important;
  border-radius:14px!important;
  background:#faf7f2!important;
}
.form-progress,.marketplace-form--premium .form-progress{
  top:82px!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.965)!important;
  box-shadow:var(--lumi-shadow-sm)!important;
}
.form-progress-track{
  border-radius:999px;
  background:#ece6de!important;
}
.form-progress-track span{
  border-radius:999px;
  background:linear-gradient(90deg,var(--lumi-accent-dark),#c59c6b)!important;
}
.marketplace-form--premium .form-progress button.is-active{
  background:var(--lumi-accent-soft)!important;
  color:var(--lumi-ink)!important;
}
.form-aside,.form-aside--premium,.wizard-summary{
  overflow:hidden;
  border:0!important;
  border-radius:var(--lumi-radius)!important;
  background:var(--lumi-dark)!important;
  box-shadow:var(--lumi-shadow)!important;
}
.form-aside .eyebrow,.form-aside--premium .eyebrow{color:#e3c39a!important}
.wizard-actions{border-color:var(--lumi-line)!important}
.form-submit--premium{border-color:var(--lumi-line)!important}
.form-consent--premium{
  border-color:var(--lumi-line)!important;
  border-radius:11px!important;
  background:var(--lumi-surface-2)!important;
}

/* Listing detail */
.detail-shell{gap:24px!important}
.detail-gallery{gap:9px!important}
.detail-gallery figure{
  border-radius:12px!important;
  background:#edf0ed!important;
}
.detail-copy{
  padding:4px 2px;
}
.detail-copy h2{font-size:clamp(1.65rem,2.7vw,2.25rem)!important}
.detail-panel{
  top:94px!important;
  padding:22px!important;
  border:1px solid var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
  box-shadow:var(--lumi-shadow-sm);
}
.detail-price{
  margin:8px 0 18px!important;
  color:var(--lumi-accent-dark)!important;
  font-size:clamp(2rem,3.4vw,2.8rem)!important;
  font-weight:850!important;
  font-variant-numeric:tabular-nums;
}
.detail-specs{
  overflow:hidden;
  border:1px solid var(--lumi-line)!important;
  border-radius:11px!important;
}
.detail-specs div{border-color:var(--lumi-line)!important}
.detail-contact{gap:8px!important}
.detail-poster span{color:var(--lumi-muted)!important}
.report-box{border-color:var(--lumi-line)!important}

/* Admin follows same visual system without changing behavior */
.admin-login,.admin-kpi,.admin-item,.admin-dialog{
  border-color:var(--lumi-line)!important;
  border-radius:var(--lumi-radius)!important;
  background:#fff!important;
}
.admin-login,.admin-item{box-shadow:var(--lumi-shadow-xs)}
.admin-action{border-radius:8px!important}

/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */
.site-footer{
  margin-top:0!important;
  padding:clamp(3.8rem,7vw,6rem) 0!important;
  background:var(--lumi-dark)!important;
  color:#f3f5f3!important;
}
.footer-grid{
  grid-template-columns:.62fr 1.38fr!important;
  gap:clamp(36px,7vw,90px)!important;
}
.footer-links{
  gap:8px 20px!important;
  border-color:#405049!important;
}
.footer-links a{
  color:#c7cfca!important;
  font-size:.82rem!important;
}
.footer-links a:hover{color:#fff!important}
.disclaimer{color:#9faaa4!important}

/* ---------------------------------------------------------
   Mobile property navigation
   --------------------------------------------------------- */
.mobile-property-nav{
  display:none;
}

/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */
@media(max-width:1120px){
  .nav-links{gap:1px!important}
  .nav-links>a,.nav-dropdown>summary{padding-inline:8px!important}
  .nav-direct-cta{display:none!important}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .overview-products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:1000px){
  .site-header{min-height:68px}
  .nav{min-height:68px!important}
  .brand-mark{width:96px!important;height:46px!important;flex-basis:96px!important}
  .nav-links{
    top:68px!important;
    left:12px!important;
    right:12px!important;
    max-height:calc(100dvh - 84px)!important;
    padding:9px!important;
    border:1px solid var(--lumi-line)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:var(--lumi-shadow)!important;
  }
  .nav-links>a,.nav-dropdown>summary{
    width:100%;
    min-height:45px;
    padding:0 12px!important;
    border-radius:9px!important;
  }
  .nav-dropdown{width:100%;border:0!important}
  .nav-dropdown-menu,.nav-dropdown-menu--right{
    margin:0 5px 6px!important;
    padding:4px!important;
    border:0!important;
    border-left:2px solid #d1b48e!important;
    border-radius:8px!important;
    background:var(--lumi-surface-2)!important;
    box-shadow:none!important;
  }
  .nav-dropdown-menu a{min-height:42px;display:flex;align-items:center}
  .article-layout,.editorial-shell.article-layout--with-sidebar{grid-template-columns:1fr!important}
  .side-nav,.detail-panel,.form-aside{position:static!important}
  .overview-products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:760px){
  :root{--lumi-section:clamp(2.8rem,11vw,3.7rem)}
  .container{width:min(calc(100% - 24px),var(--max))!important}
  body.has-mobile-property-nav{
    padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;
  }
  h1{letter-spacing:-.055em!important}
  h2{letter-spacing:-.04em!important}
  .section-head{
    display:block!important;
  }
  .section-head h2{max-width:none!important;font-size:clamp(2rem,9.5vw,2.85rem)!important}
  .section-head>p{margin-top:16px!important}
  .home-hero{
    min-height:650px!important;
    max-height:none!important;
  }
  .home-hero .container{padding-block:5.6rem 3rem!important}
  .home-hero h1{
    max-width:6ch!important;
    font-size:clamp(3.9rem,20vw,6rem)!important;
  }
  .home-hero .lead{font-size:.98rem!important;line-height:1.65!important}
  .home-hero .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .home-hero .hero-actions .btn{width:100%!important}
  .home-hero .hero-actions .btn:first-child{grid-column:1/-1}
  .facts-panel .stats-grid,.overview-facts-grid{grid-template-columns:1fr 1fr!important}
  .facts-panel .stat,.overview-fact{min-height:112px!important;padding:18px 14px!important}
  .facts-panel .stat strong,.overview-fact strong{font-size:1.5rem!important}

  .product-grid,.overview-products{
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  .product-card,.overview-product{
    min-height:150px!important;
    padding:17px!important;
  }
  .product-card strong,.overview-product strong{font-size:1.12rem!important}
  .product-card span,.overview-product span{font-size:.74rem!important}

  .collection-feature,.collection-feature:nth-child(even){grid-template-columns:1fr!important}
  .collection-feature:nth-child(even) .collection-media{order:0!important}
  .collection-media{aspect-ratio:4/3!important;border-radius:16px!important}
  .collection-copy h3{font-size:clamp(2rem,10vw,3rem)!important}
  .visual-grid{grid-template-columns:1fr!important}
  .visual-tile{min-height:340px!important;border-radius:16px!important}

  .article-hero{
    min-height:360px!important;
    padding:4rem 0 2.5rem!important;
  }
  .article-hero h1{
    max-width:none!important;
    font-size:clamp(2.35rem,11vw,3.45rem)!important;
  }
  .article-hero .lead{font-size:.97rem!important;line-height:1.6!important}
  .article-layout{padding-block:2.8rem!important}
  .article h2{
    margin-top:2.8rem!important;
    font-size:clamp(1.7rem,7.6vw,2.15rem)!important;
  }
  .article>p:first-of-type{font-size:1.03rem!important}
  .facts-grid{grid-template-columns:1fr!important}
  .side-nav{border-radius:13px!important}

  .overview-pillar-grid,.overview-collections,.overview-market{grid-template-columns:1fr!important}
  .overview-pillar{min-height:0!important}
  .overview-products .overview-product:last-child{grid-column:1/-1!important}

  .marketplace-page{padding:2.2rem 0 3.3rem!important}
  .marketplace-page-head{display:block!important;margin-bottom:1.8rem!important}
  .marketplace-page-head h1{font-size:clamp(2.35rem,11vw,3.45rem)!important}
  .marketplace-toolbar{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:12px!important;
  }
  .listing-grid,.marketplace-skeleton{grid-template-columns:1fr!important}
  .listing-card{border-radius:13px!important}
  .listing-card-body{padding:15px!important}
  .listing-card-price strong{font-size:1.25rem!important}
  .transaction-paths{grid-template-columns:1fr!important}
  .transaction-path{border-radius:16px!important}
  .transaction-submit{grid-template-columns:1fr!important}
  .form-shell,.detail-shell{grid-template-columns:1fr!important}
  .form-section,.marketplace-form--premium .form-section{
    padding:19px 14px!important;
    border-radius:13px!important;
  }
  .form-section-head h2{font-size:1.6rem!important}
  .field-row,.field-row--3,.field-row--auto{grid-template-columns:1fr!important;gap:0!important}
  .field input,.field select,.field textarea{font-size:16px!important}
  .choice-grid{grid-template-columns:1fr 1fr!important}
  .choice-card label,.choice-grid--premium .choice-card label{min-height:96px!important;padding:14px 11px!important}
  .form-progress,.marketplace-form--premium .form-progress{top:68px!important}
  .detail-panel{padding:18px!important;border-radius:13px!important}
  .detail-price{font-size:2rem!important}
  .detail-gallery{grid-template-columns:1fr!important}
  .detail-gallery figure:first-child{grid-column:auto!important}
  .footer-grid{grid-template-columns:1fr!important;gap:28px!important}
  .footer-links{grid-template-columns:1fr 1fr!important}

  .mobile-property-nav{
    position:fixed;
    z-index:900;
    left:8px;
    right:8px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    min-height:62px;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    align-items:center;
    padding:5px;
    border:1px solid rgba(24,32,29,.1);
    border-radius:18px;
    background:rgba(255,255,255,.96);
    box-shadow:0 14px 40px rgba(24,32,29,.18);
    backdrop-filter:blur(18px);
  }
  .mobile-property-nav a{
    min-width:0;
    min-height:50px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    border-radius:12px;
    color:#68736e;
    text-decoration:none;
  }
  .mobile-property-nav a>span{
    font-size:1.03rem;
    line-height:1;
    font-weight:800;
  }
  .mobile-property-nav small{
    max-width:100%;
    overflow:hidden;
    font-size:.61rem;
    font-weight:700;
    line-height:1.2;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .mobile-property-nav a[aria-current="page"]{
    background:var(--lumi-accent-soft);
    color:var(--lumi-accent-dark);
  }
  .mobile-property-nav__post{
    background:var(--lumi-dark);
    color:#fff;
  }
}

@media(max-width:380px){
  .product-grid,.overview-products,.footer-links{grid-template-columns:1fr!important}
  .overview-products .overview-product:last-child{grid-column:auto!important}
  .choice-grid{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* Mobile menu reliability fix — 2026-09-03 */
.mobile-menu-backdrop[hidden]{display:none!important}
.mobile-menu-backdrop{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
}
@media(max-width:1000px){
  .nav-toggle{
    position:relative;
    z-index:103;
  }
  .nav-links{
    z-index:102!important;
  }
  .mobile-menu-backdrop:not([hidden]){
    position:fixed;
    inset:68px 0 0;
    z-index:99;
    display:block;
    width:100%;
    height:auto;
    background:rgba(14,20,17,.30);
    backdrop-filter:blur(2px);
    cursor:default;
  }
  body.nav-menu-open{
    overflow:hidden!important;
    overscroll-behavior:none;
  }
  body.nav-menu-open .mobile-property-nav{
    opacity:0;
    pointer-events:none;
    transform:translateY(12px);
  }
  .nav-toggle[aria-expanded="true"]{
    border-color:#c9b18f!important;
    background:var(--lumi-accent-soft)!important;
    color:var(--lumi-accent-dark)!important;
  }
}


/* Mobile nav visibility hard fix — 2026-09-03 */
@media(max-width:1000px){
  .nav-links{
    display:none!important;
  }
  .nav-links[data-open="true"]{
    display:flex!important;
  }
}
@media(max-width:760px){
  .mobile-property-nav__post{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .mobile-property-nav__post>span,
  .mobile-property-nav__post>small{
    width:100%!important;
    margin:0!important;
    text-align:center!important;
  }
}


/* Center post action as the middle taskbar item — 2026-09-03 */
@media(max-width:760px){
  .mobile-property-nav a[href="/dang-tin-lumi-hanoi/"]{
    order:3;
    background:var(--lumi-dark)!important;
    color:#fff!important;
  }
  .mobile-property-nav a[href="/mua-ban-lumi-hanoi/"]{order:4}
  .mobile-property-nav a[href="/cho-thue-lumi-hanoi/"]{order:5}
}


/* =========================================================
   MOBILE MARKETPLACE SUPER UX — 2026-09-03
   Inventory-first list cards + conversion-first listing detail.
   Shared selectors mean new SEO listing URLs inherit this automatically.
   ========================================================= */
@media(max-width:700px){
  /* Marketplace entry: get users to inventory quickly. */
  .marketplace-hero.article-hero{
    min-height:330px!important;
    padding:3.35rem 0 2.15rem!important;
  }
  .marketplace-hero.article-hero h1{
    max-width:11ch!important;
    font-size:clamp(2.25rem,10.5vw,3.05rem)!important;
    line-height:1.02!important;
  }
  .marketplace-hero.article-hero .lead{
    display:-webkit-box;
    overflow:hidden;
    max-width:34rem!important;
    font-size:.92rem!important;
    line-height:1.55!important;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
  }
  .marketplace-hero.article-hero .hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin-top:18px!important;
  }
  .marketplace-hero.article-hero .hero-actions .btn{
    width:100%!important;
    min-height:44px!important;
    padding:9px 10px!important;
    font-size:.78rem!important;
  }

  .marketplace-section{
    padding:1rem 0 2.7rem!important;
    background:#f4f2ed!important;
  }
  .marketplace-section>.container{
    width:100%!important;
    padding-inline:10px!important;
  }
  .marketplace-heading{
    margin-bottom:9px!important;
    padding-inline:2px!important;
  }
  .marketplace-heading .eyebrow{
    margin-bottom:3px!important;
    font-size:.58rem!important;
    letter-spacing:.105em!important;
  }
  .marketplace-heading h2{
    font-size:clamp(1.3rem,6vw,1.62rem)!important;
    line-height:1.08!important;
  }
  .marketplace-actions .btn{
    min-height:38px!important;
    padding:7px 10px!important;
    border-radius:999px!important;
    font-size:.72rem!important;
  }

  /* One compact sticky filter control, then optional horizontal quick filters. */
  .marketplace-mobile-controls{
    top:60px!important;
    min-height:50px!important;
    margin:0 0 8px!important;
    padding:5px!important;
    border-radius:13px!important;
    box-shadow:0 7px 22px rgba(24,32,29,.09)!important;
  }
  .marketplace-mobile-filter{
    min-height:40px!important;
    padding-inline:12px!important;
    border-radius:9px!important;
    font-size:.78rem!important;
  }
  .marketplace-mobile-filter-meta{
    min-width:21px!important;
    height:21px!important;
    font-size:.64rem!important;
  }
  .marketplace-quick-filters{
    gap:6px!important;
    margin-bottom:9px!important;
  }
  .marketplace-quick-filter{
    min-height:32px!important;
    padding-inline:11px!important;
    font-size:.7rem!important;
  }

  /* Dense premium listing cards: image -> price/facts -> context -> actions. */
  .listing-grid{
    gap:11px!important;
  }
  .listing-card--marketplace{
    border-radius:15px!important;
    border-color:#ded9d1!important;
    box-shadow:0 5px 18px rgba(24,32,29,.055)!important;
  }
  .listing-card--marketplace .listing-card-media{
    aspect-ratio:16/9!important;
    background:#ebe7df!important;
  }
  .listing-card-slide img{
    object-fit:cover!important;
  }
  .listing-card-image-count{
    top:8px!important;
    right:8px!important;
    padding:5px 7px!important;
    font-size:.61rem!important;
  }
  .listing-card-gallery-dots{
    bottom:7px!important;
    gap:4px!important;
    padding:4px 6px!important;
  }
  .listing-card-gallery-dot{
    width:4px!important;
    height:4px!important;
  }
  .listing-card-gallery-dot.is-active{
    width:12px!important;
  }
  .listing-card--marketplace .listing-badges{
    top:8px!important;
    left:8px!important;
  }
  .listing-card--marketplace .listing-badge{
    min-height:24px!important;
    padding:4px 7px!important;
    font-size:.58rem!important;
  }
  .listing-card-content{
    padding:12px 12px 10px!important;
  }
  .listing-card--marketplace h3{
    margin-bottom:7px!important;
    font-size:1rem!important;
    line-height:1.3!important;
  }
  .listing-card-facts{
    gap:5px!important;
    margin-bottom:8px!important;
    font-size:.72rem!important;
  }
  .listing-card-fact-price{
    margin-bottom:0!important;
    color:var(--lumi-accent-dark)!important;
    font-size:1.23rem!important;
    line-height:1.1!important;
  }
  .listing-card-facts>span{
    padding:4px 7px!important;
    border-radius:999px!important;
    font-size:.66rem!important;
  }
  .listing-card-location{
    margin-bottom:6px!important;
    font-size:.71rem!important;
  }
  .listing-card-description{
    font-size:.76rem!important;
    line-height:1.42!important;
    -webkit-line-clamp:2!important;
  }
  .listing-card-footer{
    gap:7px!important;
    padding:9px 10px 10px!important;
  }
  .listing-card-poster{
    gap:7px!important;
  }
  .listing-card-avatar{
    flex-basis:30px!important;
    width:30px!important;
    height:30px!important;
    font-size:.61rem!important;
  }
  .listing-card-poster-text strong{
    font-size:.73rem!important;
  }
  .listing-card-poster-text small{
    font-size:.64rem!important;
  }
  .listing-card-actions{
    gap:6px!important;
  }
  .listing-card-action{
    min-height:43px!important;
    padding:7px 6px!important;
    border-radius:10px!important;
    font-size:.72rem!important;
  }

  /* Listing detail gets its own mobile navigation model: the contact bar is primary. */
  body.listing-detail-page{
    padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;
    background:#f7f7f5!important;
  }
  body.listing-detail-page .mobile-property-nav{
    display:none!important;
  }
  body.listing-detail-page .site-header{
    min-height:60px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 1px 0 rgba(24,32,29,.07)!important;
  }
  body.listing-detail-page .site-header .nav{
    min-height:60px!important;
  }
  body.listing-detail-page .brand-mark{
    width:84px!important;
    height:40px!important;
    flex-basis:84px!important;
  }
  body.listing-detail-page .nav-toggle{
    min-width:72px!important;
    min-height:40px!important;
    border-radius:12px!important;
    font-size:.82rem!important;
  }
  body.listing-detail-page .breadcrumb{
    display:none!important;
  }
  body.listing-detail-page .detail-shell--portal,
  [data-static-listing] .detail-shell{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  body.listing-detail-page .detail-shell--portal>aside,
  [data-static-listing] .detail-shell>aside{
    display:none!important;
  }

  /* Full-width swipe gallery but bounded height so the page starts with useful data. */
  body.listing-detail-page .detail-gallery-wrap{
    width:100%!important;
    background:#ece9e3!important;
  }
  body.listing-detail-page .detail-gallery{
    overflow:hidden!important;
    border-radius:0!important;
    background:#ece9e3!important;
  }
  body.listing-detail-page .detail-gallery-track{
    display:flex!important;
    width:100%!important;
    gap:0!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch;
  }
  body.listing-detail-page .detail-gallery-track::-webkit-scrollbar{
    display:none!important;
  }
  body.listing-detail-page .detail-gallery-track figure{
    flex:0 0 100%!important;
    width:100%!important;
    aspect-ratio:16/10!important;
    margin:0!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    background:#efede8!important;
  }
  body.listing-detail-page .detail-gallery-track img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    background:#efede8!important;
  }
  body.listing-detail-page .detail-gallery-counter{
    top:10px!important;
    right:10px!important;
    bottom:auto!important;
    min-width:48px!important;
    min-height:30px!important;
    padding:0 9px!important;
    border-radius:999px!important;
    background:rgba(24,29,26,.78)!important;
    color:#fff!important;
    font-size:.72rem!important;
    backdrop-filter:blur(8px);
  }

  /* Summary overlaps gallery slightly, like a native property app. */
  body.listing-detail-page .detail-mobile-summary{
    position:relative!important;
    z-index:3!important;
    display:block!important;
    margin:-14px 10px 0!important;
    padding:15px 14px 13px!important;
    border:1px solid rgba(24,32,29,.08)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 10px 30px rgba(24,32,29,.09)!important;
  }
  body.listing-detail-page .detail-mobile-price{
    gap:6px 10px!important;
  }
  body.listing-detail-page .detail-mobile-price strong{
    color:var(--lumi-accent-dark)!important;
    font-size:1.62rem!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
  }
  body.listing-detail-page .detail-mobile-price span{
    color:#757c78!important;
    font-size:.84rem!important;
  }
  body.listing-detail-page .detail-quickfacts{
    display:flex!important;
    gap:6px!important;
    margin-top:10px!important;
    padding-bottom:1px!important;
    overflow-x:auto!important;
    color:#4f5854!important;
    font-size:.78rem!important;
    scrollbar-width:none!important;
  }
  body.listing-detail-page .detail-quickfacts::-webkit-scrollbar{
    display:none!important;
  }
  body.listing-detail-page .detail-quickfacts span{
    flex:0 0 auto!important;
    min-height:31px!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:4px!important;
    padding:5px 9px!important;
    border:1px solid #e4e5e2!important;
    border-radius:999px!important;
    background:#f8f8f6!important;
    white-space:nowrap!important;
  }
  body.listing-detail-page .detail-quickfacts span[hidden]{
    display:none!important;
  }
  body.listing-detail-page .detail-quickfacts span:first-child,
  body.listing-detail-page .detail-quickfacts span:last-child{
    padding-inline:9px!important;
    border-right:1px solid #e4e5e2!important;
  }

  body.listing-detail-page .detail-copy,
  [data-static-listing] .detail-copy{
    margin:0!important;
    padding:20px 16px 34px!important;
    background:#f7f7f5!important;
  }
  body.listing-detail-page .detail-copy>.eyebrow{
    margin:0 0 7px!important;
    color:var(--lumi-accent-dark)!important;
    font-size:.61rem!important;
    letter-spacing:.12em!important;
  }
  body.listing-detail-page .detail-copy h1{
    max-width:none!important;
    margin:0 0 12px!important;
    font-size:clamp(1.82rem,8.3vw,2.35rem)!important;
    line-height:1.03!important;
    letter-spacing:-.05em!important;
  }
  body.listing-detail-page .detail-location{
    position:relative!important;
    display:grid!important;
    gap:1px!important;
    margin:0 0 22px!important;
    padding:11px 12px 11px 34px!important;
    border:1px solid #e3e5e1!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#68716d!important;
    font-size:.82rem!important;
    line-height:1.38!important;
  }
  body.listing-detail-page .detail-location:before{
    content:"⌖";
    position:absolute;
    left:12px;
    top:12px;
    color:var(--lumi-accent-dark);
    font-weight:800;
  }
  body.listing-detail-page .detail-location strong{
    color:var(--lumi-ink)!important;
    font-size:.84rem!important;
  }
  body.listing-detail-page .detail-copy h2{
    margin:24px 0 10px!important;
    font-size:1.24rem!important;
    line-height:1.15!important;
    letter-spacing:-.03em!important;
  }
  body.listing-detail-page .detail-description{
    margin:0!important;
    color:#505a56!important;
    font-size:.94rem!important;
    line-height:1.66!important;
  }
  body.listing-detail-page .detail-feature-list{
    overflow:hidden!important;
    margin:0!important;
    padding:0 12px!important;
    border:1px solid #e2e4e1!important;
    border-radius:14px!important;
    background:#fff!important;
  }
  body.listing-detail-page .detail-feature-list>div{
    min-height:48px!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)!important;
    gap:12px!important;
    align-items:center!important;
    padding:11px 0!important;
    border-bottom:1px solid #eceeeb!important;
  }
  body.listing-detail-page .detail-feature-list>div:last-child{
    border-bottom:0!important;
  }
  body.listing-detail-page .detail-feature-list dt{
    color:#737c78!important;
    font-size:.8rem!important;
  }
  body.listing-detail-page .detail-feature-list dd{
    color:#252d29!important;
    font-size:.83rem!important;
    line-height:1.35!important;
  }
  body.listing-detail-page .detail-related{
    display:flex!important;
    gap:7px!important;
    padding-bottom:2px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  body.listing-detail-page .detail-related::-webkit-scrollbar{
    display:none!important;
  }
  body.listing-detail-page .detail-related a{
    flex:0 0 auto!important;
    min-height:36px!important;
    display:inline-flex!important;
    align-items:center!important;
    padding:7px 10px!important;
    border:1px solid #dedfdc!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#45504b!important;
    font-size:.72rem!important;
    font-weight:750!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }
  body.listing-detail-page .detail-copy .notice{
    margin:22px 0 0!important;
    padding:13px 14px!important;
    border-left:3px solid var(--lumi-accent)!important;
    border-radius:0 11px 11px 0!important;
    font-size:.76rem!important;
    line-height:1.55!important;
  }

  /* Bottom conversion bar wins over site navigation on detail pages. */
  body.listing-detail-page .detail-mobile-contact{
    position:fixed!important;
    z-index:1200!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-columns:.82fr 1.55fr!important;
    gap:6px!important;
    min-height:64px!important;
    padding:6px!important;
    border:1px solid rgba(24,32,29,.1)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 14px 38px rgba(24,32,29,.2)!important;
    backdrop-filter:blur(18px)!important;
  }
  body.listing-detail-page .detail-mobile-contact[hidden]{
    display:none!important;
  }
  body.listing-detail-page .detail-zalo-fab,
  body.listing-detail-page .detail-call-bar{
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:13px!important;
    font-size:.82rem!important;
    font-weight:850!important;
    text-decoration:none!important;
  }
  body.listing-detail-page .detail-zalo-fab{
    border:1px solid #c9d9e7!important;
    background:#f7fbff!important;
    color:#1967a8!important;
  }
  body.listing-detail-page .detail-call-bar{
    border:1px solid var(--lumi-dark)!important;
    background:var(--lumi-dark)!important;
    color:#fff!important;
    letter-spacing:0!important;
  }
}

@media(max-width:380px){
  body.listing-detail-page .detail-mobile-price strong{
    font-size:1.45rem!important;
  }
  body.listing-detail-page .detail-copy h1{
    font-size:1.72rem!important;
  }
  .listing-card-actions{
    grid-template-columns:1fr 1fr 1fr!important;
  }
}
