*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f3f7fc;color:#10203a}button,input,select{font:inherit}header{height:64px;background:#fff;border-bottom:1px solid #e3eaf3;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100% - 1450px)/2));position:sticky;top:0;z-index:30}.brand{display:flex;gap:10px;align-items:center}.brand>span{background:#1874ef;color:#fff;border-radius:12px;padding:10px;font-weight:900}.brand div{display:grid}.brand small{font-size:10px;font-weight:800;color:#66758c;letter-spacing:1px}nav button,.query button,.quick button,.more{border:1px solid #d7e2ef;background:#fff;border-radius:12px;padding:10px 14px;font-weight:750}main{max-width:1450px;margin:auto;padding:28px 18px 90px}.hero{text-align:center;padding:20px}.hero h1{font-size:clamp(34px,5vw,68px);margin:12px}.hero p{color:#61718a}.search{background:#fff;border-radius:22px;padding:22px;box-shadow:0 16px 45px #183b6614}.query{display:flex;border:2px solid #1470ef;border-radius:16px;padding:6px}.query input{flex:1;border:0;outline:0;padding:14px;min-width:0}.query button{background:#0969e8;color:#fff;border:0}.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.filters>*{border:1px solid #dbe4ef;border-radius:12px;padding:12px;min-width:0}.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.summary{background:#eaf3ff;color:#1456a5;border-radius:12px;padding:12px;margin-top:14px;font-weight:650}.sectionHead{display:flex;align-items:end;justify-content:space-between;margin:32px 0 14px}.sectionHead small{color:#0969e8;font-weight:900;letter-spacing:2px}.sectionHead h2{margin:5px 0;font-size:32px}.sectionHead span{background:#e8f2ff;color:#0969e8;padding:9px 13px;border-radius:999px;font-weight:800}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px #173b6814;position:relative}.card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#eaf0f7}.card .body{padding:15px}.card h3{font-size:18px;line-height:1.25;margin:0 0 8px}.loc{color:#66758c;font-size:13px}.facts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.facts span{background:#f0f5fb;padding:6px 8px;border-radius:9px;font-size:12px}.price{color:#e53935;font-weight:900;font-size:18px}.actions{display:flex;gap:8px}.actions button{flex:1;border:0;border-radius:10px;padding:10px;font-weight:800}.view{background:#0b6ce8;color:white}.save{background:#eef5ff;color:#0b63d6}.more{display:block;margin:20px auto}.railBlock{background:#fff;border-radius:18px;padding:16px;margin-top:18px}.rail{display:flex;gap:12px;overflow:hidden}.rail .card{min-width:230px;max-width:230px}.rail .card h3{font-size:14px}.modal{position:fixed;inset:0;background:#06152bbb;display:grid;place-items:center;padding:18px;z-index:100}.hidden{display:none}.dialog{background:#fff;border-radius:20px;max-width:1100px;width:100%;max-height:92vh;overflow:auto;position:relative}.close{position:sticky;top:10px;float:right;margin:10px;border:0;background:#fff;border-radius:50%;width:42px;height:42px;font-size:26px;z-index:3}.detail{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;padding:24px}.gallery img{width:100%;border-radius:16px;max-height:520px;object-fit:cover}.thumbs{display:flex;gap:8px;overflow:auto;margin-top:8px}.thumbs img{width:90px;height:65px;object-fit:cover;cursor:pointer}.detail h1{font-size:30px}.verified{background:#ecfdf3;color:#13753e;border:1px solid #b7ebcc;border-radius:12px;padding:12px;font-weight:800}.article{white-space:pre-wrap;line-height:1.7;background:#f7f9fc;border-radius:14px;padding:16px}.contact{display:flex;gap:10px}.contact a{flex:1;text-align:center;text-decoration:none;padding:13px;border-radius:12px;background:#0969e8;color:#fff;font-weight:850}.bottom{display:none}.dark{background:#0e1726;color:#eaf2ff}.dark header,.dark .search,.dark .card,.dark .railBlock,.dark .dialog{background:#152238;color:#eaf2ff}.dark input,.dark select,.dark button{background:#17263e;color:#eaf2ff;border-color:#31425c}@media(max-width:760px){header{height:72px;padding:0 14px}.brand small{max-width:180px}.brand div b{font-size:14px}header nav button:not(#themeBtn){display:none}main{padding:16px 12px 92px}.hero{display:none}.search{padding:14px}.query button{padding:10px;font-size:0}.query button:after{content:'✨';font-size:20px}.filters{grid-template-columns:1fr 1fr}.sectionHead h2{font-size:29px}.grid{grid-template-columns:1fr 1fr;gap:10px}.card h3{font-size:14px}.card .body{padding:11px}.facts span{font-size:10px}.actions{flex-direction:column}.rail .card{min-width:190px}.detail{grid-template-columns:1fr;padding:14px}.detail h1{font-size:24px}.bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;z-index:60;justify-content:space-around;padding:8px 8px max(8px,env(safe-area-inset-bottom));box-shadow:0 -5px 25px #19314c22}.bottom button{border:0;display:grid;gap:2px;background:transparent;font-size:22px}.bottom span{font-size:11px}.modal{padding:0}.dialog{border-radius:0;max-height:100vh;height:100vh}.contact{position:sticky;bottom:0;background:#fff;padding:10px 0}}@media(max-width:420px){.grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}}
.topAd,.nativeAd{background:linear-gradient(135deg,#0b63e5,#153a7a);color:#fff;border-radius:18px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.topAd div,.nativeAd div{display:grid;gap:3px}.topAd small,.nativeAd small{font-size:10px;letter-spacing:1.5px}.topAd button,.nativeAd button{border:0;border-radius:10px;padding:10px 13px;font-weight:850}.nativeAd{margin-top:18px;background:linear-gradient(135deg,#17324d,#396b89)}.coverWrap{position:relative}.watermark{position:absolute;right:8px;bottom:8px;background:#071a33aa;color:#fff;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:800}.compareBtn{background:#f2edff!important;color:#6540c6!important}#compareCount{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:99px;background:#0b6ce8;color:#fff;font-size:10px}.compareDrawer{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);z-index:70;background:#102440;color:#fff;border-radius:15px;padding:10px 12px;display:flex;gap:12px;align-items:center;box-shadow:0 10px 35px #0004}.compareDrawer>div{display:grid}.compareDrawer span{font-size:11px;color:#c9d7e8}.compareDrawer button{border:0;border-radius:9px;padding:8px 10px;font-weight:800}.comparePage{padding:25px;overflow:auto}.compareTable{min-width:760px;border:1px solid #dce5ef;border-radius:14px;overflow:hidden}.compareRow{display:grid;grid-template-columns:150px repeat(5,minmax(150px,1fr));border-bottom:1px solid #e8edf3}.compareRow>*{padding:12px;border-right:1px solid #e8edf3}.compareRow.head{background:#eaf3ff}.leadModal{position:fixed;inset:0;background:#06152bbb;z-index:120;display:grid;place-items:center;padding:18px}.leadModal form{background:#fff;border-radius:18px;width:min(430px,100%);padding:22px;display:grid;gap:12px;position:relative}.leadModal input,.leadModal select,.leadModal textarea{padding:12px;border:1px solid #dce5ef;border-radius:11px}.leadModal textarea{min-height:100px}.leadModal #closeLead{position:absolute;right:10px;top:10px;border:0;background:#edf2f8;border-radius:50%;width:34px;height:34px}.primaryLead{border:0;background:#0b6ce8;color:#fff;border-radius:11px;padding:12px;font-weight:900}.leadQuick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.leadQuick a{text-align:center;text-decoration:none;padding:10px;border-radius:10px;background:#edf4ff;color:#075cc8;font-weight:800}.noScroll{overflow:hidden}.mobileDetail{padding-bottom:80px}.mobileHero{position:relative;background:#dde6f1}.mobileHero>img{display:block;width:100%;max-height:520px;aspect-ratio:16/10;object-fit:cover}.detailWatermark{position:absolute;right:16px;bottom:14px;color:#fff;font-weight:850;text-shadow:0 1px 5px #000}.photoCount{position:absolute;left:16px;bottom:14px;background:#0009;color:#fff;border-radius:999px;padding:7px 10px;font-weight:800}.thumbs{display:flex;gap:8px;overflow:auto;padding:10px 16px;background:#fff}.thumbs button{padding:0;border:2px solid transparent;background:none;border-radius:10px}.thumbs button.active{border-color:#0b6ce8}.thumbs img{width:78px;height:56px;object-fit:cover;border-radius:8px;display:block}.detailBody{padding:10px 22px 24px}.detailBody h1{font-size:30px;line-height:1.24;margin:14px 0 8px}.detailLocation{color:#62738b}.statGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.statGrid div{background:#f2f6fb;border-radius:13px;padding:12px;text-align:center}.statGrid b{display:block}.statGrid span{font-size:11px;color:#68788f}.valuationBox{display:grid;gap:5px;background:#eef8ff;border:1px solid #b9dcff;border-radius:13px;padding:14px;margin:14px 0}.valuationBox span{font-size:22px;font-weight:900;color:#075fcf}.infoBlock{border:1px solid #dce5ef;border-radius:14px;overflow:hidden}.infoBlock summary{padding:14px;font-weight:900;background:#f5f8fc}.consultBtn{width:100%;border:0;background:#0b6ce8;color:#fff;border-radius:12px;padding:13px;margin-top:12px;font-weight:900}.mobileContact{position:sticky;bottom:0;display:grid;grid-template-columns:.8fr .8fr 1.2fr;gap:8px;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e5ebf2}.mobileContact>*{border:0;border-radius:12px;padding:13px;text-align:center;text-decoration:none;font-weight:850;background:#edf4ff;color:#075cc8}.mobileContact .call{background:#0b6ce8;color:#fff}.safeNote{margin-top:14px;background:#fff8e8;border:1px solid #ffe1a6;color:#7c5900;padding:12px;border-radius:12px;font-size:12px}
@media(max-width:760px){.topAd,.nativeAd{padding:12px;font-size:12px}.topAd button,.nativeAd button{padding:8px}.actions{display:grid!important;grid-template-columns:1fr 1fr!important}.actions .view{grid-column:1/-1}.compareDrawer{left:10px;right:10px;bottom:78px;transform:none;justify-content:space-between}.modal{background:#fff!important}.dialog{height:100dvh!important;max-height:100dvh!important}.mobileHero>img{height:34vh;max-height:310px;aspect-ratio:auto}.detailBody{padding:8px 14px 18px}.detailBody h1{font-size:21px}.statGrid{grid-template-columns:1fr 1fr;gap:7px}.mobileContact{position:fixed;left:0;right:0;bottom:0}.mobileDetail{padding-bottom:88px}.comparePage{padding:65px 12px 95px}.compareTable{min-width:700px}}

.leadOptional{margin:-4px 0 4px;color:#65758b;font-size:13px}.leadModal #closeLead{z-index:3;touch-action:manipulation;cursor:pointer}

.versionBadge{position:fixed;left:7px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:55;background:#097443;color:#fff;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;box-shadow:0 4px 12px #0002}
.leadModal.hidden,.modal.hidden,.compareDrawer.hidden{display:none!important}
.leadModal{overscroll-behavior:contain}
.leadModal form{max-height:calc(100dvh - 36px);overflow:auto}
#closeLead,.close{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body.noScroll{overflow:hidden!important;touch-action:none}
body.noScroll .leadModal,body.noScroll .modal{touch-action:auto}
@media(max-width:760px){
 .leadModal{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}
 .leadModal form{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}
}

.quick button.active{background:#0b6ce8!important;color:#fff!important;border-color:#0b6ce8!important;box-shadow:0 5px 16px #0b6ce833}
.loc{display:grid;gap:5px}
.loc .addressNew{font-size:14.3px;color:#0969e8;background:#eef6ff;border-radius:8px;padding:6px 7px}
.addressPair{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 14px}
.addressOld,.addressNew{border-radius:12px;padding:11px 12px;line-height:1.45}
.addressOld{background:#f4f7fb;color:#263a55}
.addressNew{background:#eaf5ff;color:#075fcf;border:1px solid #b9dbff}
.addressNew small{display:block;margin-top:3px;color:#5f7590}
.addressNew.pending{background:#fff8e8;border-color:#ffe0a3;color:#7b5a00}
#district optgroup{font-weight:800}
@media(max-width:760px){
  .addressPair{grid-template-columns:1fr}
  .loc .addressNew{font-size:13px}
}

.splashLock{overflow:hidden}.kySplash{position:fixed;inset:0;z-index:500;background:linear-gradient(145deg,#075fd6,#0e2f67);display:grid;place-items:center;padding:18px;overflow:auto}.kySplashCard{width:min(560px,100%);background:#fff;border-radius:26px;padding:28px 24px;position:relative;text-align:center;box-shadow:0 30px 90px #00173966}.skipSplash{position:absolute;right:14px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:#eef5ff;color:#0b6ce8;font-size:25px}.splashLogo{width:82px;height:82px;margin:0 auto 12px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#1676f3,#075dd5);color:#fff;font-size:32px;font-weight:950}.kySplash h1{margin:0;color:#11223b;font-size:34px}.kySplash h2{margin:3px 0 18px;color:#65758c;font-size:13px;letter-spacing:2px}.splashLine{height:1px;background:#dce7f4;margin:18px 0}.splashLead{font-size:23px;margin:0;color:#273951}.splashPromise{font-size:29px;font-weight:950;color:#075fcf;margin:6px 0}.splashAi{color:#667991;font-weight:700}.kySplash ul{list-style:none;text-align:left;padding:0;margin:0 auto;max-width:390px;display:grid;gap:10px}.kySplash li:before{content:'✓';color:#149350;font-weight:950;margin-right:9px}.splashSignature{display:grid;gap:3px;margin:18px 0;color:#17304e}.splashSignature b{font-size:17px}.splashSignature span{font-size:18px;color:#075fcf;font-weight:850}.startSplash{width:100%;border:0;border-radius:14px;padding:15px;background:#0b6ce8;color:#fff;font-weight:950;letter-spacing:.5px;box-shadow:0 9px 24px #0b6ce844}
.coverWrap,.mobileHero,.privacyImageWrap{position:relative}.faceLogoMask{position:absolute;z-index:8;left:50%;top:42%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:20px;background:linear-gradient(145deg,#1676f3,#075dd5);color:#fff;display:grid;place-items:center;align-content:center;border:3px solid #fff;box-shadow:0 7px 24px #001b4a66;pointer-events:none;overflow:hidden}.faceLogoMask span{font-size:23px;font-weight:950;line-height:1}.faceLogoMask b{font-size:13px;letter-spacing:2px}
@media(max-width:760px){.kySplashCard{padding:24px 18px}.splashLogo{width:72px;height:72px}.kySplash h1{font-size:29px}.splashPromise{font-size:24px}.kySplash li{font-size:14px}.faceLogoMask{width:64px;height:64px;border-radius:17px}.faceLogoMask span{font-size:20px}}

#skipSplash,#startSplash{touch-action:manipulation;cursor:pointer;position:relative;z-index:520}.kySplash.hidden{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* KY V14.2 animated human mascot */
.kyMascot{position:relative;width:240px;height:190px;margin:-12px auto -3px;display:grid;place-items:center}
.mascotSvg{width:220px;height:174px;overflow:visible}
.mascotBubble{position:absolute;z-index:3;right:-16px;top:8px;background:#eef6ff;color:#075fcf;border:1px solid #bddcff;border-radius:14px 14px 14px 4px;padding:7px 10px;font-size:11px;font-weight:850;box-shadow:0 5px 14px #075fcf1e;animation:mascotBubbleIn .6s ease both .25s}
.mascotBob{transform-origin:120px 176px;animation:mascotBob 2.7s ease-in-out infinite}
.mascotWave{transform-origin:163px 132px;animation:mascotWave 1.25s ease-in-out infinite}
.mascotEyes{transform-origin:120px 79px;animation:mascotBlink 4.2s ease-in-out infinite}
.mascotHead{transform-origin:120px 106px;animation:mascotSmile 3.2s ease-in-out infinite}
.miniLogo{width:56px!important;height:56px!important;border-radius:16px!important;font-size:22px!important;margin-top:-16px!important;margin-bottom:8px!important}
@keyframes mascotWave{0%,100%{transform:rotate(3deg)}20%{transform:rotate(-18deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-15deg)}80%{transform:rotate(8deg)}}
@keyframes mascotBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes mascotBlink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
@keyframes mascotSmile{0%,100%{transform:rotate(0)}50%{transform:rotate(1.5deg)}}
@keyframes mascotBubbleIn{from{opacity:0;transform:translateY(7px) scale(.95)}to{opacity:1;transform:none}}
@media(max-width:760px){
 .kySplashCard{padding-top:18px!important}.kyMascot{width:205px;height:155px;margin:-8px auto -6px}.mascotSvg{width:190px;height:150px}.mascotBubble{right:-34px;top:0;font-size:10px;padding:6px 8px}.miniLogo{width:48px!important;height:48px!important;font-size:19px!important;margin-top:-12px!important}.kySplash h1{font-size:28px!important}.kySplash h2{margin-bottom:10px!important}.splashLine{margin:12px 0!important}.splashLead{font-size:20px!important}.splashPromise{font-size:23px!important}.splashAi{font-size:13px}.kySplash ul{gap:7px!important}.splashSignature{margin:12px 0!important}.startSplash{padding:13px!important}
}
@media(max-height:760px){.kyMascot{height:128px}.mascotSvg{height:126px}.mascotBubble{display:none}.kySplash ul{gap:5px!important}.splashSignature{margin:8px 0!important}.splashLine{margin:8px 0!important}}
@media(prefers-reduced-motion:reduce){.mascotBob,.mascotWave,.mascotEyes,.mascotHead,.mascotBubble{animation:none!important}}

/* KY V16 R3 — smart 10-property comparison */
.compareIntro{margin:0 0 14px;color:#52667f;background:#eef6ff;border-radius:12px;padding:11px 13px}.compareTable{min-width:1720px}.compareRow{grid-template-columns:150px repeat(10,minmax(155px,1fr))}.comparePropertyLink{border:0;border-right:1px solid #d9e5f2;background:#eaf3ff;text-align:left;padding:12px!important;color:#102440;cursor:pointer;display:flex;flex-direction:column;gap:5px;min-height:118px}.comparePropertyLink.selected{background:#fff0ec;box-shadow:inset 0 -4px #ef5b3f}.comparePropertyLink small{font-size:9px;color:#0872df;font-weight:950;letter-spacing:.6px}.comparePropertyLink.selected small{color:#d6422f}.comparePropertyLink strong{font-size:15px;line-height:1.25}.comparePropertyLink span{font-size:10px;color:#0b6ce8;font-weight:850;margin-top:auto}.compareOpenBtn{margin:7px;border:0;border-radius:10px;background:#0b6ce8;color:#fff;font-weight:900;padding:10px;cursor:pointer}.compareRow>span b{color:#a67500}@media(max-width:760px){.comparePage h1{font-size:27px}.compareIntro{font-size:12px}.compareTable{min-width:1680px}.compareRow{grid-template-columns:125px repeat(10,minmax(150px,1fr))}.comparePropertyLink{min-height:126px}}

/* KY AI V16 FINAL: price and area are the visual priority */
.primaryFacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.primaryFacts>div{border-radius:14px;padding:11px 12px;min-width:0}
.primaryFacts small{display:block;font-size:10px;font-weight:950;letter-spacing:.7px;margin-bottom:3px}
.primaryFacts strong{display:block;font-size:clamp(22px,2.2vw,31px);line-height:1.05;font-weight:1000;white-space:nowrap}
.primaryPrice{background:#fff0f0;border:1px solid #ffd0d0}.primaryPrice small{color:#a82b2b}.primaryPrice strong{color:#e22626}
.primaryArea{background:#edf7ff;border:1px solid #cbe6ff}.primaryArea small{color:#1762a8}.primaryArea strong{color:#075fcf}
.secondaryFact{font-size:12px;font-weight:800;color:#53677f;margin:-3px 0 10px}
.actions [data-location]{background:#eef9f1;color:#08753c}
.comparePriceRow>span:not(:first-child) b{font-size:21px;color:#e12626;font-weight:1000}
.compareAreaRow>span:not(:first-child) b{font-size:19px;color:#075fcf;font-weight:1000}
.comparePriceRow>span:first-child,.compareAreaRow>span:first-child{font-weight:1000}
@media(max-width:760px){.primaryFacts strong{font-size:25px}.primaryFacts{gap:7px}.primaryFacts>div{padding:10px 9px}.actions [data-amenities],.actions [data-location]{font-size:12px}}

/* =========================================================
   KY AI V17.1 — COMPACT CARD LAYOUT
   Presentation-only upgrade. No feature or data-flow changes.
   ========================================================= */
@media (max-width:760px){
  main{padding-left:10px;padding-right:10px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .card{border-radius:16px!important;box-shadow:0 5px 18px #173b6818!important}
  .card img{aspect-ratio:1.42/1!important}
  .card .body{padding:10px!important}
  .card h3{font-size:14px!important;line-height:1.2!important;margin:0 0 7px!important;min-height:34px}
  .v15Tags{gap:4px!important;margin:4px 0 7px!important}
  .v15Tags span{font-size:9px!important;padding:4px 6px!important}
  .loc{font-size:11px!important;line-height:1.38!important}
  .addressNew{padding:8px!important;margin-top:7px!important;border-radius:10px!important;font-size:10px!important;line-height:1.35!important}
  .addressNew small{font-size:9px!important;line-height:1.3!important;margin-top:3px!important}

  /* Price + area blocks: 30% more compact */
  .primaryFacts{gap:7px!important;margin:9px 0!important}
  .primaryFacts>div{padding:7px 6px!important;border-radius:11px!important;min-height:60px!important;display:flex;flex-direction:column;justify-content:center}
  .primaryFacts small{font-size:10.4px!important;line-height:1.05!important;margin-bottom:3px!important;letter-spacing:.35px!important}
  .primaryFacts strong{font-size:18px!important;line-height:1!important;letter-spacing:-.4px!important}
  .secondaryFact{font-size:9px!important;margin:-2px 0 7px!important}

  /* Exact action order from approved mockup without removing any action */
  .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .actions button{min-width:0!important;border-radius:10px!important;padding:7px 5px!important;min-height:36px!important;line-height:1.1!important}
  .actions .save,.actions .compareBtn{font-size:10.4px!important;font-weight:850!important;min-height:34px!important}
  .actions .view{grid-column:1/-1!important;grid-row:2!important;font-size:12px!important;min-height:40px!important}
  .actions [data-amenities]{grid-column:1!important;grid-row:3!important;font-size:10px!important;min-height:36px!important}
  .actions [data-location]{grid-column:2!important;grid-row:3!important;font-size:10px!important;min-height:36px!important}

  .v15Score{top:7px!important;left:7px!important;padding:5px 7px!important;font-size:12px!important}
  .rail{gap:10px!important}
  .rail .card{min-width:calc((100vw - 30px)/2)!important;max-width:calc((100vw - 30px)/2)!important}
  .v15Discovery h3{font-size:20px!important;margin:16px 0 10px!important}
}
@media (max-width:420px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .card h3{font-size:13px!important}
  .primaryFacts strong{font-size:17px!important}
  .actions .save,.actions .compareBtn{font-size:8px!important}
}

/* =========================================================
   KY AI V17.2 FINAL — DESKTOP POLISH
   Desktop/laptop only. Mobile <=760px remains exactly V17.1.
   ========================================================= */
@media (min-width:761px){
  main{max-width:1560px!important;padding-left:28px!important;padding-right:28px!important}
  .grid{align-items:stretch}
  .rail{display:flex!important;align-items:stretch;gap:18px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}
  .rail::-webkit-scrollbar{display:none}
  .card{height:100%;display:flex;flex-direction:column;transition:transform .24s ease,box-shadow .24s ease}
  .card .coverWrap{overflow:hidden}
  .card img{transition:transform .28s ease}
  .card .body{display:flex;flex-direction:column;flex:1}
  .card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:45px;max-height:45px}
  .loc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:36px}
  .addressNew{min-height:66px;display:flex;flex-direction:column;justify-content:center}
  .primaryFacts{margin-top:auto}
  .actions{margin-top:0}
  .card:hover{transform:translateY(-5px);box-shadow:0 18px 42px #173b6826}
  .card:hover img{transform:scale(1.025)}
  .railBlock{overflow:hidden}
}


@media (min-width:761px) and (max-width:900px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .rail .card{flex:0 0 calc((100% - 14px)/2)!important;min-width:calc((100% - 14px)/2)!important;max-width:calc((100% - 14px)/2)!important}
}

/* Comfortable laptop layout. */
@media (min-width:901px) and (max-width:1499px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
  .rail .card{flex:0 0 calc((100% - 36px)/3)!important;min-width:calc((100% - 36px)/3)!important;max-width:calc((100% - 36px)/3)!important}
}

/* True large desktop layout. */
@media (min-width:1500px){
  .grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important}
  .rail{gap:20px!important}
  .rail .card{flex:0 0 calc((100% - 60px)/4)!important;min-width:calc((100% - 60px)/4)!important;max-width:calc((100% - 60px)/4)!important}
}

/* Disable hover motion for touch/pointer-limited devices. */
@media (hover:none),(pointer:coarse){
  .card:hover{transform:none;box-shadow:0 8px 30px #173b6814}
  .card:hover img{transform:none}
}

/* V17.2.2 FIX 2 — chỉ thêm tương tác logo, không thay cấu trúc mobile */
#brandRefresh{cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,opacity .18s ease}
#brandRefresh:active{transform:scale(.97);opacity:.82}
#brandRefresh:focus-visible{outline:2px solid #0878f9;outline-offset:5px;border-radius:12px}

/* =========================================================
   KY AI V17.2.3 — FEATURED CARD + MOBILE ACTION RESTORE
   Only the featured card and missing mobile actions are changed.
   ========================================================= */
.kyFeatured{display:grid;grid-template-columns:minmax(340px,43%) 1fr;min-height:330px;overflow:hidden;border:1px solid #e0e9f4}
.kyFeaturedGallery{position:relative;overflow:hidden;background:#eaf0f7;min-height:330px}
.kyFeaturedGallery>img{width:100%;height:100%;min-height:330px;aspect-ratio:auto!important;object-fit:cover;display:block;transition:opacity .22s ease,transform .35s ease}
.kyFeaturedGallery>img.changing{opacity:.18;transform:scale(1.015)}
.kyFeaturedPrev,.kyFeaturedNext{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border:0;border-radius:50%;background:#fffffff0;color:#12345b;font-size:29px;line-height:1;box-shadow:0 5px 18px #0002;cursor:pointer}
.kyFeaturedPrev{left:12px}.kyFeaturedNext{right:12px}
.kyFeaturedCount{position:absolute;left:13px;bottom:12px;background:#071a33c7;color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:850}
.kyFeaturedDots{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);display:flex;gap:6px;z-index:4}
.kyFeaturedDots i{width:7px;height:7px;border-radius:50%;background:#ffffff99;box-shadow:0 1px 4px #0004}.kyFeaturedDots i.active{width:20px;border-radius:99px;background:#fff}
.kyFeaturedInfo{padding:20px 22px;display:flex;flex-direction:column;min-width:0}
.kyFeaturedTitle{display:flex;align-items:flex-start;gap:10px}.kyFeaturedTitle h3{font-size:25px!important;line-height:1.2!important;min-height:0!important;max-height:none!important;margin:0!important;display:block!important}
.kyFeaturedHot{flex:0 0 auto;background:#fff0f0;color:#e52b2b;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950}
.kyFeaturedLocation{margin:9px 0 13px;color:#5f7189;font-size:14px}
.kyFeaturedFacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.kyFeaturedFacts>div{border:1px solid #dce7f3;border-radius:13px;padding:11px;text-align:center;background:#fbfdff;min-width:0}
.kyFeaturedFacts small{display:block;color:#65758a;font-size:10px;margin-bottom:5px}.kyFeaturedFacts strong{display:block;font-size:17px;color:#10203a;word-break:break-word}.kyFeaturedFacts>div:first-child strong{color:#e12626;font-size:21px}
.kyFeaturedTags{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.kyFeaturedTags span{background:#eaf3ff;color:#075fcf;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850}
.kyFeaturedSummary{background:#f2f7fd;border-radius:12px;padding:10px 12px;display:grid;gap:3px;color:#4d6078;font-size:12px;margin-bottom:10px}.kyFeaturedSummary b{color:#173454}
.kyFeaturedActions{margin-top:auto;display:grid!important;grid-template-columns:1fr 1fr 1.4fr!important;gap:8px!important}.kyFeaturedActions .view{grid-column:auto!important;grid-row:auto!important}.kyFeaturedActions [data-amenities],.kyFeaturedActions [data-location]{font-size:12px}

/* Ensure dynamically inserted cards are decorated and mobile location/amenity controls remain visible. */
@media(max-width:760px){
  .actions [data-amenities],.actions [data-location]{display:block!important;visibility:visible!important;opacity:1!important}
  .kyFeatured{display:block;min-height:0;border-radius:17px!important}
  .kyFeaturedGallery{min-height:0;height:220px}
  .kyFeaturedGallery>img{height:220px;min-height:220px}
  .kyFeaturedPrev,.kyFeaturedNext{width:36px;height:36px;font-size:25px}
  .kyFeaturedInfo{padding:13px}
  .kyFeaturedTitle{display:block}.kyFeaturedHot{display:inline-block;margin-bottom:7px}.kyFeaturedTitle h3{font-size:19px!important;line-height:1.25!important}
  .kyFeaturedLocation{font-size:12px;margin:7px 0 10px}
  .kyFeaturedFacts{grid-template-columns:1fr 1fr;gap:7px}.kyFeaturedFacts>div{padding:9px 6px;min-height:62px;display:flex;flex-direction:column;justify-content:center}.kyFeaturedFacts strong{font-size:14px}.kyFeaturedFacts>div:first-child strong{font-size:18px}
  .kyFeaturedTags{margin:9px 0}.kyFeaturedSummary{font-size:11px;margin-bottom:9px}
  .kyFeaturedActions{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .kyFeaturedActions .save{grid-column:1;grid-row:1}.kyFeaturedActions .compareBtn{grid-column:2;grid-row:1}.kyFeaturedActions .view{grid-column:1/-1!important;grid-row:2!important;min-height:42px!important;font-size:13px!important}.kyFeaturedActions [data-amenities]{grid-column:1!important;grid-row:3!important}.kyFeaturedActions [data-location]{grid-column:2!important;grid-row:3!important}
}

/* =========================================================
   KY AI V17.2.4 — FEATURED DESKTOP CONTENT + MOBILE IMAGE OPEN
   Desktop featured image uses one fixed 4:3 display standard.
   Existing mobile layout remains unchanged.
   ========================================================= */
@media(min-width:761px){
  .kyFeatured{grid-template-columns:420px minmax(0,1fr);min-height:315px}
  .kyFeaturedGallery{width:420px;height:315px;min-height:315px;align-self:start}
  .kyFeaturedGallery>img{width:420px;height:315px;min-height:315px;aspect-ratio:4/3!important;object-fit:cover;object-position:center}
  .kyFeaturedInfo{padding:18px 20px;max-height:470px;overflow:hidden}
  .kyFeaturedArticle{border:1px solid #dce7f3;background:#fbfdff;border-radius:12px;padding:10px 12px;margin:0 0 10px;color:#43566e;min-height:74px;max-height:128px;overflow:auto;scrollbar-width:thin}
  .kyFeaturedArticle b{display:block;color:#173454;font-size:12px;margin-bottom:5px}
  .kyFeaturedArticle p{margin:0;white-space:pre-line;line-height:1.48;font-size:12px}
}
@media(max-width:760px){
  .kyFeaturedArticle{display:none!important}
  .card .coverWrap,.kyFeaturedGallery{cursor:pointer;-webkit-tap-highlight-color:transparent}
}

/* =========================================================
   KY AI V17.2.5 — FEATURED EXPERIENCE EDITION
   Desktop: image + article + specifications/contact.
   Mobile structure remains stable; only carousel behavior is enhanced.
   ========================================================= */
@media(min-width:761px){
  .kyFeatured{grid-template-columns:420px minmax(0,1fr)!important;min-height:315px!important;max-height:470px!important}
  .kyFeaturedInfo{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr)!important;gap:14px!important;padding:14px!important;max-height:470px!important;overflow:hidden!important;background:#fff}
  .kyFeaturedContent,.kyFeaturedSpecs{min-width:0;display:flex;flex-direction:column}
  .kyFeaturedContent{border-right:1px solid #e1eaf4;padding-right:14px}
  .kyFeaturedArticle{flex:1;min-height:125px!important;max-height:210px!important;margin:8px 0!important;padding:11px 12px!important;overflow:auto!important;background:#fbfdff}
  .kyFeaturedArticle p{font-size:12px!important;line-height:1.55!important;white-space:pre-line!important}
  .kyFeaturedHighlights{display:grid;gap:4px;background:#f3f7fc;border-radius:12px;padding:9px 11px;color:#43566e;font-size:11px}
  .kyFeaturedHighlights b{color:#173454;margin-bottom:2px}.kyFeaturedHighlights span{display:block}
  .kyFeaturedMiniActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
  .kyFeaturedMiniActions button,.kyFeaturedUtilityActions button{border:0;border-radius:10px;padding:10px;font-weight:850;cursor:pointer}
  .kyFeaturedMiniActions .save{background:#edf5ff;color:#075fcf}.kyFeaturedMiniActions .compareBtn{background:#f3edff;color:#6234b8}
  .kyFeaturedSpecs{gap:10px}
  .kyFeaturedFacts{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .kyFeaturedFacts>div{min-height:72px;display:flex;flex-direction:column;justify-content:center}
  .kyFeaturedMeta{display:grid;gap:5px;border:1px solid #dce7f3;border-radius:12px;padding:10px 11px;background:#fbfdff;color:#43566e;font-size:11px;line-height:1.35}
  .kyFeaturedMeta b{color:#173454;margin-bottom:2px}.kyFeaturedMeta span{display:block}
  .kyFeaturedUtilityActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kyFeaturedUtilityActions button:first-child{background:#edf5ff;color:#075fcf}.kyFeaturedUtilityActions button:last-child{background:#eaf8ef;color:#087443}
  .kyFeaturedContact{display:block;text-decoration:none;text-align:center;background:#086de5;color:#fff;border-radius:10px;padding:11px;font-weight:900}
  .kyFeaturedView{border:1px solid #086de5!important;background:#fff!important;color:#086de5!important;border-radius:10px!important;padding:10px!important;font-weight:900!important;cursor:pointer}
  .kyFeaturedTags{margin:7px 0!important}
}
@media(max-width:760px){
  .kyFeaturedInfo{display:block!important}
  .kyFeaturedContent,.kyFeaturedSpecs{display:contents}
  .kyFeaturedArticle{display:none!important}.kyFeaturedHighlights{display:none!important}
  .kyFeaturedMiniActions{display:none!important}
  .kyFeaturedSpecs{gap:0}
  .kyFeaturedMeta{display:grid;gap:4px;background:#f2f7fd;border-radius:12px;padding:10px 12px;color:#4d6078;font-size:11px;margin-bottom:9px}
  .kyFeaturedMeta b{display:none}.kyFeaturedMeta span:nth-child(n+3){display:none}
  .kyFeaturedUtilityActions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px}
  .kyFeaturedUtilityActions button{border:0;border-radius:10px;padding:9px 5px;min-height:36px;font-size:10px;font-weight:850}
  .kyFeaturedContact{display:block;text-decoration:none;text-align:center;background:#086de5;color:#fff;border-radius:10px;padding:11px;font-size:12px;font-weight:900;margin-bottom:7px}
  .kyFeaturedView{width:100%;border:1px solid #20a05a!important;background:#fff!important;color:#148044!important;border-radius:10px!important;padding:10px!important;font-weight:900!important}
}
/* Seamless rails use duplicated cards; hide duplicated copies from assistive tech. */
.rail [data-ky-loop-clone="1"]{pointer-events:auto}
/* V2.4 image manual tools */
.imageManualTools{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;background:#fff;border-bottom:1px solid #e5e7eb}
.imageManualTools button{border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:9px 11px;font-weight:700;cursor:pointer}
.imageManualTools button:hover{background:#f8fafc}

/* V2.4.7 SAFE: search result heading stays visible below sticky header after auto-scroll. */
#resultsSection{scroll-margin-top:88px}
@media(max-width:760px){#resultsSection{scroll-margin-top:82px}}


/* =========================================================
   V2.5.18 — DESKTOP UI POLISH
   Visual layer only. Vision / Redis / image-filter core untouched.
   ========================================================= */
:root{
  --ky-blue:#0969e8;
  --ky-blue-2:#0b5dca;
  --ky-ink:#10213d;
  --ky-muted:#6a7890;
  --ky-line:#e2eaf3;
  --ky-bg:#f4f8fd;
  --ky-card:#ffffff;
  --ky-radius:18px;
  --ky-shadow:0 8px 26px rgba(20,54,90,.08);
}
body{background:var(--ky-bg);color:var(--ky-ink)}
header{
  height:68px;
  box-shadow:0 2px 14px rgba(24,59,102,.05);
  border-bottom:1px solid #e8eef6;
}
.brand{cursor:pointer}
.brand>span{box-shadow:0 5px 13px rgba(24,116,239,.22)}
nav{display:flex;align-items:center;gap:6px}
nav button{transition:.18s ease}
nav button:hover{border-color:#9fc7f6;transform:translateY(-1px)}
main{max-width:1420px;padding-top:22px}
.hero{padding:30px 20px 24px}
.hero h1{
  font-size:clamp(38px,4.7vw,64px);
  letter-spacing:-1.8px;
  line-height:1.05;
  margin-bottom:14px;
}
.hero p{font-size:15px}
.topAd{box-shadow:0 9px 24px rgba(11,99,229,.14)}
.search{
  border:1px solid rgba(220,231,243,.85);
  box-shadow:0 14px 38px rgba(24,59,102,.08);
}
.query{background:#f9fbff}
.query input{font-size:15px}
.filters>*{background:#fbfdff}
.quick button{transition:.16s ease}
.quick button:hover{border-color:#9fc7f6;background:#f5f9ff}

.sectionHead{margin-top:36px}
.sectionHead h2{
  letter-spacing:-.7px;
  font-size:30px;
}
.grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.card{
  border:1px solid rgba(224,233,243,.9);
  box-shadow:var(--ky-shadow);
  border-radius:20px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  display:flex;
  flex-direction:column;
}
.card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(20,54,90,.12);
  border-color:#c9dff7;
}
.card .coverWrap{
  cursor:pointer;
  overflow:hidden;
  background:#eaf1f8;
}
.card .coverWrap img{
  display:block;
  aspect-ratio:16/10;
  transition:transform .22s ease,filter .22s ease;
}
.card:hover .coverWrap img{transform:scale(1.022)}
.card .body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:14px;
}
.card h3{
  font-size:16px;
  line-height:1.3;
  min-height:42px;
  margin-bottom:9px;
}
.loc{min-height:70px}
.primaryFacts{
  margin-top:auto;
}
.actions{
  margin-top:10px;
  gap:7px;
}
.actions button{
  min-height:50px;
  transition:transform .15s ease,box-shadow .15s ease;
}
.actions button:hover{transform:translateY(-1px)}
.actions .view{box-shadow:0 6px 13px rgba(11,108,232,.18)}

.railBlock{
  border:1px solid #e4ebf4;
  box-shadow:0 8px 24px rgba(24,59,102,.055);
}
.rail{
  overflow-x:auto;
  padding:2px 1px 8px;
  scrollbar-width:thin;
}
.rail .card{min-width:260px;max-width:260px}
.rail .card h3{font-size:14px;min-height:37px}

.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex-wrap:wrap;
  margin:30px auto 6px;
}
.pagination button{
  min-width:42px;
  height:42px;
  padding:0 12px;
  border:1px solid #d6e2ef;
  border-radius:11px;
  background:#fff;
  color:#2c4663;
  font-weight:800;
  cursor:pointer;
  transition:.15s ease;
}
.pagination button:hover:not(:disabled){
  border-color:#88b8f0;
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(11,108,232,.10);
}
.pagination .pageNumber.active{
  background:var(--ky-blue);
  color:#fff;
  border-color:var(--ky-blue);
  box-shadow:0 7px 17px rgba(11,108,232,.24);
}
.pagination button:disabled{opacity:.35;cursor:default}
.pageDots{color:#8592a4;font-weight:900;padding:0 2px}

/* Detail modal polish */
.dialog{
  border-radius:22px;
  box-shadow:0 26px 70px rgba(0,17,43,.28);
}
.mobileHero{border-radius:18px 18px 0 0;overflow:hidden}
.thumbs{border-bottom:1px solid #edf1f6}
.detailBody h1{letter-spacing:-.5px}
.imageManualTools{
  display:flex;
  gap:8px;
  padding:0 16px 10px;
  background:#fff;
}
.imageManualTools button{
  border:1px solid #dce5ef;
  background:#fff;
  border-radius:10px;
  padding:9px 12px;
  font-weight:750;
  cursor:pointer;
}

@media(max-width:980px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .hero{display:none}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card{border-radius:16px}
  .card h3{font-size:14px;min-height:36px}
  .loc{min-height:0}
  .pagination{gap:5px;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px}
  .pagination button{min-width:37px;height:38px;padding:0 9px;flex:0 0 auto;font-size:13px}
  .pageDots{flex:0 0 auto}
}
@media(max-width:430px){
  .grid{grid-template-columns:1fr}
}

/* =========================================================
   KY AI V2.5.19 — MOBILE 4-CARD COMPACT FINAL
   UI only. Keep image ratio/size behavior and all features.
   ========================================================= */
@media(max-width:760px){
  main{padding:10px 8px 88px!important}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .card{border-radius:15px!important;box-shadow:0 4px 14px rgba(23,59,104,.10)!important}
  /* restore natural stable cover ratio; do not squeeze images */
  .card img,.card .coverWrap img{aspect-ratio:16/10!important;object-fit:cover!important;width:100%!important}
  .card .body{padding:8px!important}
  .card h3{font-size:13px!important;line-height:1.16!important;margin:0 0 5px!important;min-height:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .loc{font-size:10px!important;line-height:1.28!important;min-height:0!important;color:#66758c!important}
  .addressNew{padding:6px 7px!important;margin-top:5px!important;border-radius:9px!important;font-size:9.5px!important;line-height:1.25!important;min-height:0!important}
  .addressNew small{display:none!important}
  .v15Tags{gap:3px!important;margin:3px 0 5px!important}
  .v15Tags span{font-size:10.4px!important;padding:3px 5px!important}
  /* price and area become one compact line, no tall boxes */
  .primaryFacts{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin:6px 0!important;align-items:center!important}
  .primaryFacts>div{padding:0!important;min-height:0!important;border:0!important;background:transparent!important;border-radius:0!important;display:block!important}
  .primaryFacts small{display:none!important}
  .primaryFacts strong{font-size:15px!important;line-height:1.05!important;white-space:nowrap!important}
  .primaryPrice strong{color:#e53935!important}
  .primaryArea{text-align:right!important}
  .primaryArea strong{color:#0969e8!important}
  .secondaryFact{font-size:8.5px!important;margin:0 0 4px!important}
  .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;margin-top:6px!important}
  .actions button{border-radius:8px!important;padding:5px 3px!important;min-height:29px!important;line-height:1!important}
  .actions .save,.actions .compareBtn{font-size:10.4px!important;min-height:28px!important}
  .actions .view{grid-column:1/-1!important;grid-row:2!important;font-size:10.5px!important;min-height:32px!important}
  .actions [data-amenities]{grid-column:1!important;grid-row:3!important;font-size:8.5px!important;min-height:29px!important}
  .actions [data-location]{grid-column:2!important;grid-row:3!important;font-size:8.5px!important;min-height:29px!important}
  .v15Score{top:6px!important;left:6px!important;padding:4px 6px!important;font-size:10px!important}
  .card .heartBtn,.card [data-favorite]{transform:scale(.86);transform-origin:top right}
  .pagination{margin:12px auto 2px!important;justify-content:center!important;overflow-x:auto!important}
  .bottom{padding-top:6px!important}
}
@media(max-width:430px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .card .body{padding:7px!important}
  .card h3{font-size:12px!important}
  .primaryFacts strong{font-size:14px!important}
}

/* =========================================================
   KY AI V2.5.20 — UNIFIED PRICE + AREA ONE-LINE LABELS
   UI-only patch on V2.5.19. All behavior/features unchanged.
   ========================================================= */
@media(max-width:760px){
  .primaryFacts{display:flex!important;align-items:center!important;gap:7px!important;margin:6px 0!important;white-space:nowrap!important;overflow:visible!important}
  .primaryFacts>div{display:flex!important;align-items:baseline!important;gap:3px!important;padding:0!important;margin:0!important;min-width:0!important;background:transparent!important;border:0!important;white-space:nowrap!important}
  .primaryFacts>div+div{border-left:1px solid #dbe4ef!important;padding-left:7px!important}
  .primaryFacts small{display:inline!important;margin:0!important;font-size:9px!important;line-height:1!important;letter-spacing:0!important;font-weight:850!important;color:#52637a!important;white-space:nowrap!important}
  .primaryFacts small::first-letter{text-transform:uppercase}
  .primaryFacts strong{display:inline!important;font-size:13px!important;line-height:1!important;letter-spacing:-.25px!important;font-weight:950!important;white-space:nowrap!important}
  .primaryPrice strong{color:#e53935!important}
  .primaryArea{margin-left:auto!important;text-align:left!important}
  .primaryArea strong{color:#0969e8!important}
}
@media(max-width:430px){
  .primaryFacts{gap:5px!important}
  .primaryFacts>div+div{padding-left:5px!important}
  .primaryFacts small{font-size:8px!important}
  .primaryFacts strong{font-size:12px!important}
}


/* =========================================================
   KY AI V2.6 — MOBILE PRICE / AREA EDGE ALIGNMENT
   UI-only patch. Keep V2.5.20 functionality and APIs unchanged.
   Goal: "Giá 6.7 tỷ" stays on one line at left,
         "Diện tích 44 m²" stays on one line at far right.
   ========================================================= */
@media (max-width:760px){
  .primaryFacts{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    gap:10px!important;
    margin:7px 0!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .primaryFacts>div{
    display:flex!important;
    align-items:baseline!important;
    gap:4px!important;
    padding:0!important;
    margin:0!important;
    min-width:0!important;
    border:0!important;
    background:transparent!important;
    white-space:nowrap!important;
  }
  .primaryFacts>div+div{
    margin-left:auto!important;
    padding-left:0!important;
    border-left:0!important;
    text-align:right!important;
    justify-content:flex-end!important;
  }
  .primaryFacts small{
    display:inline!important;
    margin:0!important;
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:0!important;
    font-weight:850!important;
    color:#52637a!important;
    white-space:nowrap!important;
  }
  .primaryFacts strong{
    display:inline!important;
    font-size:13px!important;
    line-height:1!important;
    letter-spacing:-.2px!important;
    font-weight:950!important;
    white-space:nowrap!important;
    flex:0 0 auto!important;
  }
  .primaryPrice{justify-content:flex-start!important;text-align:left!important;}
  .primaryArea{justify-content:flex-end!important;text-align:right!important;margin-left:auto!important;}
}
@media (max-width:390px){
  .primaryFacts{gap:6px!important;}
  .primaryFacts small{font-size:10.4px!important;}
  .primaryFacts strong{font-size:12px!important;}
}
/* V2.7 lead gate */
.leadConsent{display:flex!important;align-items:flex-start;gap:8px;font-size:12px;line-height:1.4;color:#52657d;text-align:left}.leadConsent input{width:18px!important;height:18px!important;margin-top:1px;flex:0 0 auto}.leadGateExtra{display:none!important}.primaryLead:disabled{opacity:.65;cursor:wait}

/* KY FINAL SPEC — 4-column customer grid + featured article fills right column */
@media(min-width:981px){#grid.grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:761px){
 .kyFeatured{display:grid!important;grid-template-columns:420px minmax(0,1fr)!important;grid-template-rows:auto!important;max-height:none!important;min-height:430px!important;align-items:stretch!important}
 .kyFeaturedLeft{display:flex!important;flex-direction:column!important;min-width:0!important;border-right:1px solid #e1eaf4!important;background:#fff!important}
 .kyFeaturedGallery{width:420px!important;height:315px!important;min-height:315px!important}
 .kyFeaturedGallery>img{width:420px!important;height:315px!important;min-height:315px!important;object-fit:cover!important}
 .kyFeaturedLeftMeta{padding:12px 14px 14px!important}
 .kyFeaturedLeftMeta .kyFeaturedTitle{display:flex!important}.kyFeaturedLeftMeta .kyFeaturedTitle h3{font-size:20px!important}
 .kyFeaturedRight{display:flex!important;flex-direction:column!important;gap:9px!important;padding:12px 14px!important;min-width:0!important;background:#fff!important;overflow:hidden!important}
 .kyFeaturedRight .kyFeaturedArticle{display:block!important;flex:1 1 230px!important;min-height:220px!important;max-height:275px!important;overflow:auto!important;margin:0!important;padding:12px 14px!important;border:1px solid #d7e4f2!important;border-radius:12px!important;background:#fbfdff!important}
 .kyFeaturedRight .kyFeaturedArticle b{display:block!important;margin-bottom:7px!important;color:#173454!important}.kyFeaturedRight .kyFeaturedArticle p{margin:0!important;white-space:pre-line!important;line-height:1.52!important;font-size:12px!important}
 .kyFeaturedRight .kyFeaturedHighlights{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3px 10px!important;padding:8px 10px!important;font-size:10px!important}.kyFeaturedRight .kyFeaturedHighlights b{grid-column:1/-1!important}
 .kyFeaturedRight .kyFeaturedFacts{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.kyFeaturedRight .kyFeaturedFacts>div{min-height:60px!important;padding:8px!important}.kyFeaturedRight .kyFeaturedFacts strong{font-size:14px!important}.kyFeaturedRight .kyFeaturedFacts>div:first-child strong{font-size:17px!important}
 .kyFeaturedRight .kyFeaturedMeta{display:flex!important;gap:8px!important;flex-wrap:wrap!important;padding:7px 9px!important;font-size:10px!important;margin:0!important}.kyFeaturedRight .kyFeaturedMeta span{display:inline!important}
 .kyFeaturedBottomActions{display:grid!important;grid-template-columns:1fr 1fr 1.1fr!important;gap:7px!important}.kyFeaturedBottomActions .kyFeaturedMiniActions,.kyFeaturedBottomActions .kyFeaturedUtilityActions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin:0!important}.kyFeaturedBottomActions button{min-height:38px!important;padding:7px!important;font-size:10px!important}.kyFeaturedBottomActions .kyFeaturedView{width:100%!important}
}
@media(max-width:760px){.kyFeaturedLeft{display:block}.kyFeaturedLeftMeta{padding:12px}.kyFeaturedRight{padding:0 12px 12px}.kyFeaturedRight .kyFeaturedArticle,.kyFeaturedRight .kyFeaturedHighlights{display:none!important}.kyFeaturedRight .kyFeaturedFacts{grid-template-columns:1fr 1fr!important}.kyFeaturedBottomActions{display:block}.kyFeaturedBottomActions .kyFeaturedMiniActions{display:none!important}}

/* =========================================================
   KY AI V2.7 FINAL 7356 — DESKTOP COMPACT 5-FACT ROW
   Keep image dimensions unchanged. Reduce only information height.
   ========================================================= */
.compactFacts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:4px;margin:7px 0 6px;padding:5px 0;border-top:1px solid #e7eef6;border-bottom:1px solid #e7eef6}
.compactFacts>div{min-width:0;text-align:center;display:flex;flex-direction:column;justify-content:end;gap:1px}
.compactFacts small{font-size:8px;line-height:1;font-weight:800;color:#6b7b91;white-space:nowrap}
.compactFacts strong{font-size:12px;line-height:1.05;font-weight:950;color:#183b66;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compactFacts .compactPrice strong{color:#e22929;font-size:14px}
@media(min-width:761px){
  .card .body{padding:9px 10px 10px!important}
  .card h3{font-size:13px!important;line-height:1.16!important;margin:0 0 4px!important;min-height:30px!important;max-height:30px!important;-webkit-line-clamp:2!important}
  .loc{font-size:9.5px!important;line-height:1.2!important}
  .addressNew{padding:5px 6px!important;margin-top:4px!important;border-radius:8px!important;font-size:9px!important;line-height:1.18!important}
  .v15Tags{margin:3px 0 4px!important;gap:3px!important}
  .v15Tags span{font-size:10.4px!important;padding:2px 5px!important}
  .compactFacts{margin:5px 0 5px!important;padding:4px 0!important;gap:3px!important}
  .compactFacts small{font-size:7.5px!important}
  .compactFacts strong{font-size:11px!important}
  .compactFacts .compactPrice strong{font-size:13px!important}
  .actions{margin-top:4px!important;gap:5px!important}
  .actions button{min-height:29px!important;padding:5px 4px!important;border-radius:8px!important;font-size:9px!important}
  .actions .view{font-size:10.5px!important;min-height:31px!important}
  .actions [data-amenities],.actions [data-location]{font-size:8.5px!important;min-height:29px!important}
}
@media(max-width:760px){
  .compactFacts{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:5px 0;padding:4px 0}
  .compactFacts small{font-size:6.5px}
  .compactFacts strong{font-size:9px}
  .compactFacts .compactPrice strong{font-size:10px}
}


/* KY V2.7 DESKTOP NEW ADDRESS COMPACT — desktop only */
@media (min-width:761px){
  .loc{display:block!important;min-height:0!important;max-height:none!important;overflow:visible!important;-webkit-line-clamp:unset!important;}
  .loc .addressNew{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:2px 4px!important;
    margin-top:2px!important;
    border-radius:6px!important;
    font-size:10.4px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    box-sizing:border-box!important;
  }
  .loc .addressNew b{display:inline!important;margin:0!important;}
}


/* =========================================================
   KY AI V3.0 LOCAL SMART — voice + ranked search + top 5
   Additive only; existing cards/layout remain intact.
   ========================================================= */
.query .voiceBtn,.query .smartSearchBtn{flex:0 0 52px;width:52px;min-width:52px;padding:0!important;display:grid;place-items:center;font-size:21px!important;border-radius:12px!important;margin-left:5px;background:#0969e8!important;color:#fff!important;border:0!important;cursor:pointer}
.query .voiceBtn{background:#075fcf!important}
.query .voiceBtn.listening{background:#e93434!important;animation:kyMicPulse 1s infinite}
@keyframes kyMicPulse{50%{transform:scale(.94);box-shadow:0 0 0 7px #e9343420}}
.smartAssist{margin-top:12px;padding:13px 14px;border-radius:14px;background:#f4f8ff;border:1px solid #cfe1fb;color:#173454;font-weight:700}
.smartAssist.hidden{display:none!important}
.smartAssist .smartQ{margin-bottom:10px;line-height:1.45}
.smartAssist .smartBtns{display:flex;gap:9px}
.smartAssist button{border:1px solid #bdd4f3;border-radius:10px;padding:9px 16px;font-weight:850;background:#fff;color:#1456a5;cursor:pointer}
.smartAssist button[data-smart-yes]{background:#0969e8;color:#fff;border-color:#0969e8}
.kyMatchBadge{position:absolute;right:8px;top:8px;z-index:5;border-radius:999px;padding:5px 8px;background:#0b6ce8e8;color:#fff;font-size:10px;font-weight:900;box-shadow:0 3px 12px #1234}
@media(max-width:760px){
  .query .voiceBtn,.query .smartSearchBtn{flex-basis:52px;width:52px;min-width:52px;font-size:21px!important}
  .query .voiceBtn:after,.query .smartSearchBtn:after{content:none!important}
  .smartAssist{font-size:13px;padding:12px}
  .smartAssist .smartBtns button{flex:1;padding:10px 8px}
}

/* =========================================================
   KY AI V3.1 — CARD AUTO SLIDESHOW
   1.5s/image • 0.3s smooth fade+slide • infinite loop
   Runs only while card is visible. Desktop hover pauses.
   Mobile supports horizontal swipe. Existing card layout is untouched.
   ========================================================= */
.coverWrap.kyAutoSlide{position:relative;isolation:isolate;touch-action:pan-y;background:#eaf1f8}
.coverWrap.kyAutoSlide>img{position:relative;z-index:1;will-change:opacity,transform;transition:opacity .15s ease,transform .30s cubic-bezier(.22,.61,.36,1)!important}
.coverWrap.kyAutoSlide.kySlideChanging>img{opacity:.28;transform:translateX(-10px) scale(1.012)!important}
.coverWrap.kyAutoSlide.kySlideChanging.kySlideBack>img{transform:translateX(10px) scale(1.012)!important}
.kySlideDots{position:absolute;z-index:4;left:50%;bottom:8px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:4px;max-width:76%;padding:4px 7px;border-radius:999px;background:rgba(6,22,42,.28);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.kySlideDot{width:6px;height:6px;min-width:6px;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.58)!important;box-shadow:none!important;cursor:pointer;transition:width .18s ease,background .18s ease,transform .18s ease}
.kySlideDot.active{width:14px;background:#fff!important;border-radius:999px!important;transform:none}
.kySlideCount{position:absolute;z-index:4;right:8px;bottom:8px;color:#fff;background:rgba(5,23,45,.60);font-size:10px;font-weight:850;line-height:1;padding:5px 7px;border-radius:999px;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.25)}
@media(max-width:760px){
  .kySlideDots{bottom:6px;gap:3px;padding:3px 6px;max-width:70%}
  .kySlideDot{width:5px;height:5px;min-width:5px}
  .kySlideDot.active{width:12px}
  .kySlideCount{right:6px;bottom:6px;font-size:9px;padding:4px 6px}
}
@media(prefers-reduced-motion:reduce){.coverWrap.kyAutoSlide>img{transition:none!important}.kySlideDots{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* KY V3.2 — final smart-search controls */
.query .voiceBtn,.query .smartSearchBtn{position:relative;overflow:hidden}
.query .voiceBtn .kyMicIcon{width:25px;height:25px;display:block;color:#fff}
.query .smartSearchBtn .kySearchIcon{width:25px;height:25px;display:block;color:#fff}
.query .voiceBtn .kyListeningDot{display:none;position:absolute;right:6px;top:6px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #fff4}
.query .voiceBtn.listening .kyListeningDot{display:block;animation:kyMicPulse 1s infinite}
.query .voiceBtn.listening .kyMicIcon{transform:scale(.92)}


.newsPopupOverlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:9999}
.newsPopupBox{background:#fff;max-width:760px;width:92%;max-height:80vh;overflow:auto;border-radius:18px;padding:20px}

/* KY NEWS CUSTOM SEARCH V3305 — scoped only to Bản tin nhanh */
.newsModal{display:none;position:fixed;inset:0;background:rgba(8,20,38,.62);z-index:99999;align-items:center;justify-content:center;padding:20px}
.newsModalBox{position:relative;background:#fff;width:min(820px,94vw);max-height:88vh;overflow:auto;border-radius:20px;padding:22px;box-shadow:0 28px 90px rgba(0,0,0,.32)}
.newsCloseBtn{position:absolute;right:12px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:#eef3f8;font-size:27px;line-height:1;cursor:pointer}
.newsModalImage{width:100%;height:min(340px,40vh);object-fit:cover;border-radius:14px;background:#edf3fa;margin-bottom:14px}
.newsMeta{font-size:12px;color:#6c7b90;margin-bottom:7px}
.newsModalBox h2{font-size:25px;line-height:1.3;margin:0 40px 10px 0}
.newsModalBox>p{font-size:15px;line-height:1.65;color:#405067}
.newsOriginalLink{display:inline-flex;margin:8px 0 18px;background:#0b63e5;color:#fff;text-decoration:none;padding:10px 14px;border-radius:10px;font-weight:800}
.newsOtherWrap{border-top:1px solid #e7edf4;padding-top:14px}
.newsOtherWrap h3{margin:0 0 10px;font-size:16px}
#newsOtherList{display:grid;gap:7px}
.newsOtherItem{display:flex;justify-content:space-between;gap:16px;text-align:left;border:1px solid #e6edf6;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer}
.newsOtherItem span{font-weight:700;line-height:1.35}
.newsOtherItem small{white-space:nowrap;color:#748198}
.newsOtherItem.active{border-color:#1470ef;background:#eef6ff}
.newsModalOpen{overflow:hidden}
#topAdCta:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:700px){
 .newsModal{padding:10px}
 .newsModalBox{padding:16px;border-radius:16px}
 .newsModalBox h2{font-size:20px}
 .newsModalImage{height:220px}
 .newsOtherItem{display:block}
 .newsOtherItem small{display:block;margin-top:4px}
}


/* Precise readability upgrade only - no layout or size changes */
@media (min-width:761px){
  .grid .card h3{font-size:15.5px!important}
  .grid .loc{font-size:11.5px!important}
  .grid .addressNew{font-size:10.8px!important}
  .grid .facts span,.grid .v15Tags span{font-size:11px!important}
  .grid .primaryFacts small{font-size:10px!important}
  .grid .primaryFacts strong{font-size:14px!important}
}


/* KY precise title fix — smaller title only, no layout changes */
@media (min-width:761px){
  .grid .card h3{
    font-size:14.2px!important;
    line-height:1.22!important;
    min-height:34px!important;
    max-height:36px!important;
    -webkit-line-clamp:2!important;
  }
}

/* KY NEWS local images carousel — no property-card layout changes */
@media(min-width:761px){
  .topAd.newsHero{
    display:grid!important;
    grid-template-columns:minmax(320px,1fr) minmax(360px,1.2fr) auto!important;
    gap:14px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  .newsLead{min-width:0;display:grid!important;gap:2px!important}
  .newsLead #topAdTitle{font-size:13px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .newsLead #topAdText{font-size:11px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .topAdMeta{font-size:9.5px!important;opacity:.82}
  .newsCarouselViewport{min-width:0;overflow:hidden}
  .newsCarouselTrack{display:flex;gap:10px;width:max-content;will-change:transform}
  .newsThumbCard{width:145px!important;flex:0 0 145px!important;padding:0!important;border:0!important;border-radius:9px!important;overflow:hidden!important;background:rgba(255,255,255,.12)!important;color:#fff!important;text-align:left!important}
  .newsThumbCard img{display:block!important;width:100%!important;height:62px!important;object-fit:cover!important;background:#dce8f5!important}
  .newsThumbCard span{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;font-size:9.5px!important;line-height:1.2!important;font-weight:800!important;padding:5px 6px 1px!important}
  .newsThumbCard small{display:block!important;font-size:8px!important;opacity:.78!important;padding:0 6px 5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
}
@media(max-width:760px){
  .newsCarouselViewport{display:none!important}
  .topAdMeta{display:none!important}
}


/* =========================================================
   KY NEWS — RESTORE ORIGINAL BANNER SIZE
   Keep current content/fonts/local sources/image carousel.
   Only restore the compact physical size of the original blue banner.
   ========================================================= */
@media (min-width:761px){
  .topAd.newsHero{
    padding:16px 18px!important;
    margin-bottom:16px!important;
    border-radius:18px!important;
    min-height:0!important;
    height:auto!important;
    grid-template-columns:minmax(320px,1fr) minmax(300px,1.05fr) auto!important;
    gap:14px!important;
    align-items:center!important;
  }

  /* Carousel is compressed into the original banner height. */
  .newsCarouselViewport{
    height:52px!important;
    max-height:52px!important;
    overflow:hidden!important;
    align-self:center!important;
  }
  .newsCarouselTrack{
    height:52px!important;
    align-items:stretch!important;
  }
  .newsThumbCard{
    position:relative!important;
    width:116px!important;
    flex:0 0 116px!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    border-radius:8px!important;
    overflow:hidden!important;
  }
  .newsThumbCard img{
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    object-fit:cover!important;
  }

  /* Keep headline text on the image without increasing banner height. */
  .newsThumbCard span{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    padding:12px 5px 4px!important;
    margin:0!important;
    background:linear-gradient(transparent,rgba(5,24,57,.90))!important;
    color:#fff!important;
    font-size:8.5px!important;
    line-height:1.12!important;
    -webkit-line-clamp:2!important;
  }
  .newsThumbCard small{
    display:none!important;
  }
}

/* Mobile remains as in the original compact banner. */
@media (max-width:760px){
  .topAd.newsHero{
    padding:16px 18px!important;
    margin-bottom:16px!important;
    border-radius:18px!important;
    min-height:0!important;
    height:auto!important;
  }
}

.brandTagline{font-size:18px;font-weight:900;color:#1874ef;letter-spacing:.4px;margin-top:4px}
.newsHero{display:flex!important;align-items:center!important;gap:14px!important}
.newsCarouselViewport,.newsCarouselTrack{display:none!important}
@media (max-width:768px){
 .brandTagline{font-size:14px}
 .newsHero{display:flex!important}
}


/* FINAL: Bản tin chỉ hiển thị chữ — loại bỏ hoàn toàn ảnh, không đổi bố cục/kích thước */
.newsCarouselViewport,
.newsCarouselTrack,
.newsThumbCard,
.newsModalImage,
#newsImage{
  display:none!important;
}


/* =========================================================
   KY ĐẠI KỶ NGUYÊN — BRAND UPDATE ONLY
   Không thay đổi bố cục/kích thước khu vực sản phẩm & bản tin.
   ========================================================= */
.brandMark{
  width:42px;height:42px;flex:0 0 42px;border-radius:11px;
  object-fit:cover;display:block;box-shadow:0 5px 13px rgba(5,28,60,.22);
}
.brandTagline{
  display:block!important;
  font-size:8px!important;line-height:1.15!important;
  font-style:normal!important;font-weight:900!important;
  color:#b88422!important;letter-spacing:.35px!important;
  margin-top:2px!important;white-space:nowrap;
}
.kyBrandLockup{
  width:min(390px,88%);margin:0 auto 4px;
  display:flex;justify-content:center;align-items:center;
}
.kyBrandLockup img{
  width:100%;height:auto;max-height:245px;object-fit:contain;
  border-radius:14px;display:block;
}
@media(max-width:760px){
  .brandMark{width:40px;height:40px;flex-basis:40px}
  .brandTagline{font-size:6.8px!important;max-width:230px;overflow:hidden;text-overflow:ellipsis}
  .kyBrandLockup{width:min(330px,92%)}
  .kyBrandLockup img{max-height:205px}
}
@media(max-height:760px){
  .kyBrandLockup img{max-height:165px}
}


/* KY DKN FINAL BRAND ASSETS — transparent logo only; no global layout changes */
.kyBrandLockup{
  display:flex;align-items:center;justify-content:center;
  width:min(360px,88%);margin:0 auto 6px;
  background:transparent!important;box-shadow:none!important;
}
.kyBrandLockup img{
  display:block;width:100%;height:auto;max-height:210px;
  object-fit:contain;background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
}
.brandMark{
  width:42px!important;height:42px!important;flex:0 0 42px!important;
  object-fit:contain!important;background:transparent!important;
  border-radius:0!important;box-shadow:none!important;
}
@media(max-width:760px){
  .kyBrandLockup{width:min(320px,90%)}
  .kyBrandLockup img{max-height:185px}
  .brandMark{width:40px!important;height:40px!important;flex-basis:40px!important}
}


/* KY DKN refined transparent logo — FIX không cắt phần dưới */
.kyBrandLockup{
  overflow:visible!important;
  background:transparent!important;
}
.kyBrandLockup img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.brandMark{
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  overflow:visible!important;
}
@media(max-width:760px){
  .kyBrandLockup{
    width:min(320px,90%)!important;
  }
  .kyBrandLockup img{
    max-height:none!important;
  }
}


/* =========================================================
   KY 1508 — ONLY THE TWO APPROVED CHANGES
   1) Header slogan larger / uppercase / bold / one blue color.
   2) Property price text +20%.
   Everything else remains unchanged.
   ========================================================= */

/* 1. HEADER SLOGAN */
.brandTagline{
  text-transform:uppercase!important;
  color:#0b63e5!important;
  font-weight:900!important;
  font-size:11.5px!important;
  line-height:1.18!important;
  letter-spacing:.25px!important;
}
@media(max-width:760px){
  .brandTagline{
    text-transform:uppercase!important;
    color:#0b63e5!important;
    font-weight:900!important;
    font-size:10.2px!important;
    line-height:1.18!important;
  }
}

/* 2. PROPERTY PRICE — +20% */
.grid .price{
  font-size:21.6px!important;
}
.grid .primaryPrice strong,
.grid .compactPrice strong{
  font-size:15.6px!important;
}
@media(max-width:760px){
  .grid .price{
    font-size:21.6px!important;
  }
  .grid .primaryPrice strong,
  .grid .compactPrice strong{
    font-size:15.6px!important;
  }
}


/* =========================================================
   AI_1508 — APPROVED BASELINE UPDATE ONLY
   Header:
   - KY AI - ĐẠI KỶ NGUYÊN BẤT ĐỘNG SẢN on one smaller line
   - Full slogan visible below
   Property card metrics:
   - Remove Phòng ngủ ONLY
   - Keep Giá | Mặt tiền | Diện tích | Tầng on one row
   - Price remains red and +20%
   Everything else unchanged.
   ========================================================= */

/* HEADER */
.brand b,
.brandTitle,
.brand .brandTitle{
  white-space:nowrap!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:900!important;
}

.brand small,
.brand .brandSubtitle{
  white-space:nowrap!important;
  font-size:10px!important;
  line-height:1.1!important;
}

.brandTagline{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-width:none!important;
  text-transform:uppercase!important;
  color:#0b63e5!important;
  font-weight:900!important;
  font-size:11.5px!important;
  line-height:1.18!important;
  letter-spacing:.15px!important;
}

@media(max-width:760px){
  .brand b,
  .brandTitle,
  .brand .brandTitle{
    font-size:10.5px!important;
  }

  .brand small,
  .brand .brandSubtitle{
    font-size:8.5px!important;
  }

  .brandTagline{
    font-size:9.6px!important;
    line-height:1.15!important;
  }
}

/* CARD METRICS: EXACTLY 4 ITEMS IN ONE ROW */
.grid .specs,
.grid .metrics,
.grid .metaGrid,
.grid .facts,
.card .specs,
.card .metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:end!important;
  column-gap:4px!important;
  row-gap:0!important;
}

/* Remove bedrooms only */
.grid .metric-bedrooms,
.grid .bedrooms,
.grid [data-field="bedrooms"],
.card .metric-bedrooms,
.card .bedrooms,
.card [data-field="bedrooms"]{
  display:none!important;
}

/* Keep floor visible */
.grid .metric-floor,
.grid .floor,
.grid [data-field="floor"],
.card .metric-floor,
.card .floor,
.card [data-field="floor"]{
  display:block!important;
}

/* Price: first, red, +20% */
.grid .primaryPrice,
.grid .compactPrice,
.grid .price,
.card .primaryPrice,
.card .compactPrice,
.card .price{
  order:-1!important;
}

.grid .price,
.card .price{
  color:#e60012!important;
  font-size:120%!important;
  font-weight:900!important;
}

.grid .primaryPrice strong,
.grid .compactPrice strong,
.card .primaryPrice strong,
.card .compactPrice strong{
  color:#e60012!important;
  font-size:120%!important;
  font-weight:900!important;
}


/* 2026-08-15 price resize hotfix */
.grid .price,
.card .price,
.grid .primaryPrice strong,
.grid .compactPrice strong,
.card .primaryPrice strong,
.card .compactPrice strong{
  font-size:96% !important; /* reduce 20% from previous enlarged state */
}


/* ===== AI_1508_BASELINE(2) FINAL FIX =====
   Chỉ sửa:
   1) Bỏ Phòng ngủ.
   2) Giữ Giá | Mặt tiền | Diện tích | Tầng trên một hàng ngang.
   3) Giảm cỡ chữ Giá để hiển thị đầy đủ.
   4) initial index = đủ 7.356 nguồn hàng.
   Các phần khác giữ nguyên.
*/

/* Backup hide for any bedroom metric that survives legacy markup */
.metric-bedrooms,
.bedrooms,
[data-field="bedrooms"],
.stat-item.bedroom,
.stat-item.bedrooms,
.spec-bedrooms,
.fact-bedrooms{
  display:none!important;
}

/* Keep exactly four core metrics on one row */
.card-info-stats,
.specs,
.metrics,
.metaGrid,
.facts{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:end!important;
  gap:4px!important;
}

/* Make sure floor stays visible */
.metric-floor,
.floor,
[data-field="floor"],
.stat-item.floor,
.spec-floor,
.fact-floor{
  display:block!important;
}

/* Price: smaller than prior oversized version, preserve red */
.price,
.primaryPrice strong,
.compactPrice strong,
.stat-value.price{
  color:#e60012!important;
  font-size:0.88em!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

@media(max-width:760px){
  .price,
  .primaryPrice strong,
  .compactPrice strong,
  .stat-value.price{
    font-size:0.82em!important;
  }
}


/* ===== CARD METRIC FINAL V2 ===== */
.compactFacts{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:2px!important;
  align-items:end!important;
}
.compactFacts > div{
  min-width:0!important;
  text-align:center!important;
}
.compactFacts small{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.compactFacts strong{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.compactFacts .compactPrice strong{
  color:#e60012!important;
  font-size:.78em!important;
  font-weight:800!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
@media(max-width:760px){
  .compactFacts .compactPrice strong{
    font-size:.72em!important;
  }
}
