/*
Theme Name: IVIVU Villa Modern
Template: hello-elementor
Version: 2.4.7
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: ivivu-villa
*/
:root{--font-ui:'Be Vietnam Pro',Arial,sans-serif;--price-accent:#b54708;--price-background:#fff4e8;--price-border:#f1d0ae;--teal:#124d49;--dark:#183c39;--muted:#697873;--cream:#f7f8f4;--gold:#bc8853;--line:#dfe5df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--dark);font:14px/1.65 var(--font-ui);background:#fff}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,select,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a,input,select,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ba7a39}img{display:block;object-fit:cover;max-width:100%}button{transition:background .2s,transform .2s}button:hover{filter:brightness(.96)}a:hover{color:var(--gold)}header{height:94px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff}.brand{display:flex;align-items:center;gap:10px;font-size:29px;font-weight:600;letter-spacing:-1.3px;line-height:1.15}.brand-light{font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:8px}.brand-icon{font-size:53px;color:var(--gold);font-family:var(--font-ui);line-height:1}header nav{display:flex;gap:30px;font-size:12px;font-weight:500}.contact{font-size:11px;border:1px solid var(--line);border-radius:30px;padding:11px 18px}.contact span{font-weight:600;margin-left:8px}.hero{margin:0 22px;height:560px;position:relative;border-radius:18px;overflow:hidden;color:#fff;background:var(--teal)}.hero-img,.hero-shade{position:absolute;width:100%;height:100%;inset:0}.hero-img{object-position:center 55%}.hero-shade{background:linear-gradient(90deg,rgba(5,37,34,.87),rgba(5,37,34,.22)),linear-gradient(0deg,rgba(5,37,34,.4),transparent 35%)}.hero-copy{position:relative;padding:66px 6%;max-width:750px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px}.hero h1{font-family:var(--font-ui);font-weight:500;font-size:70px;line-height:1.13;letter-spacing:-2px;margin:22px 0}.hero h1 em{color:#e2c59d;font-weight:500}.hero p{font-size:13px;line-height:1.9;color:#edf0e8}.hero-link{display:inline-flex;gap:32px;border-bottom:1px solid #ffffff75;padding:10px 0;margin-top:10px;font-size:12px}.hero-caption{position:absolute;bottom:26px;left:6%;right:6%;font-size:8px;letter-spacing:1.6px;display:flex;justify-content:space-between}.search-wrap{position:relative;margin:-2px auto 0;width:88%;padding:24px 0 10px}.search{display:grid;grid-template-columns:1.15fr 1fr 1fr auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 10px 35px #1b42370a;gap:12px;align-items:center}.search label{display:block;border-right:1px solid var(--line);padding:2px 16px}.search label span{display:block;font-size:9px;color:var(--muted);letter-spacing:1px;margin-bottom:5px}select{border:0;background:transparent;padding:6px 20px 6px 0;max-width:100%;font-size:12px;cursor:pointer}.search select{width:100%;font-weight:500}.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 23px;border:0;border-radius:7px;background:var(--teal);color:white;font-size:12px;font-weight:500;min-height:48px}.primary:hover{background:#21665f;color:#fff}.primary>span{font-size:24px}.search-note{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;margin:14px 2px}.section{max-width:1280px;width:88%;margin:65px auto;scroll-margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}.teal{color:var(--teal)}h2{font:500 35px/1.35 var(--font-ui);letter-spacing:-.6px;margin:10px 0 0}.section-head>p{font-size:12px;color:var(--muted);margin:0 0 5px}.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.destination{border:0;padding:0;background:var(--teal);height:240px;border-radius:12px;overflow:hidden;position:relative;text-align:left;color:#fff}.destination:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102e2cdd,transparent 85%)}.destination img{height:100%;width:100%;transition:transform .4s}.destination:hover img{transform:scale(1.04)}.destination>span{position:absolute;bottom:24px;left:24px;z-index:1}.destination small{display:block;font-size:8px;letter-spacing:1.3px;margin-bottom:7px}.destination strong{font:500 24px var(--font-ui)}.destination b{position:absolute;right:20px;bottom:24px;z-index:1;font-size:22px;font-weight:400}.fine{font-size:9px;color:var(--muted);margin:8px 0}.stays{padding-top:15px}.sort{font-size:10px;color:var(--muted);white-space:nowrap}.sort select{margin-left:8px;border:1px solid var(--line);border-radius:6px;padding:9px;font-size:10px}.filter-row{display:flex;gap:9px;overflow:auto;padding:2px 2px 12px;scrollbar-width:thin}.chip{background:#fff;border:1px solid var(--line);border-radius:30px;white-space:nowrap;padding:10px 18px;min-height:44px;font-size:11px}.chip.active{background:var(--teal);color:#fff;border-color:var(--teal)}.saved-filter{margin-left:auto}.saved-filter span{font-size:9px;background:#eef2ed;color:var(--teal);padding:2px 5px;border-radius:10px;margin-left:3px}.result-bar{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin:1px 0 16px}.text-button{border:0;background:none;text-decoration:underline;font-size:10px;min-height:44px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;transition:box-shadow .2s}.card:hover{box-shadow:0 10px 28px #183c3910}.card-image{height:232px;position:relative;background:#e7ece4}.card-image img{width:100%;height:100%}.photo-button{border:0;padding:0;background:none;width:100%;height:100%;display:block}.tag{position:absolute;left:14px;top:14px;border-radius:5px;background:#fffffff0;padding:5px 9px;font-size:9px;pointer-events:none}.save{position:absolute;right:13px;top:12px;border:0;border-radius:50%;background:#fffffff0;width:36px;height:36px;font-size:24px;line-height:1}.save[aria-pressed=true]{color:#a6463b}.card-body{padding:19px}.location{font-size:9px;color:var(--muted);letter-spacing:.4px}.card h3{font-size:16px;margin:7px 0 8px;line-height:1.45;font-weight:500}.card-title{background:none;border:0;padding:0;text-align:left;font:inherit}.facts{font-size:10px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}.amenities{font-size:9px;color:var(--teal);background:#f3f6f1;border-radius:5px;padding:7px 9px;margin:13px 0 17px}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf0eb;padding-top:13px}.price{font-size:17px;font-weight:600}.price small{display:block;font-size:8px;font-weight:400;color:var(--muted)}.view{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:18px}.price-note{font-size:10px;color:var(--muted);margin:22px 0;max-width:760px}.how{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;background:var(--cream);border-radius:16px;padding:45px}.how p{font-size:12px;color:var(--muted)}.how ol{list-style:none;margin:0;padding:0}.how li{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.how li:last-child{border:0}.how li>span{color:var(--gold);font:26px var(--font-ui);line-height:1.7}.how h3{font-size:13px;font-weight:500;margin:0 0 4px}.how li p{font-size:11px;margin:0}.text-link{display:inline-block;margin-top:15px;border-bottom:1px solid var(--teal);font-size:11px;padding-bottom:4px}.faq{max-width:850px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-size:13px;cursor:pointer;min-height:28px}.faq details p{font-size:12px;color:var(--muted);max-width:700px}.cta{background:var(--teal);color:#fff;text-align:center;padding:55px 20px}.cta h2{font-size:38px;margin:14px 0 24px}.cta .primary{background:#e7ccb0;color:#193e38}.cta-phone{display:block;font-size:11px;margin-top:14px;color:#cfddd7}footer{display:flex;justify-content:space-between;gap:30px;padding:38px 6%;align-items:center}footer p{font-size:10px;color:var(--muted);line-height:2}footer .brand{font-size:23px}.mobile-nav{display:none}.skip{position:fixed;top:-90px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}.empty{text-align:center;padding:45px;background:var(--cream);border-radius:10px}.empty p{color:var(--muted)}dialog{border:0;border-radius:16px;padding:0;max-width:760px;width:calc(100% - 32px);max-height:90dvh;color:var(--dark);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#0b2829a8;backdrop-filter:blur(4px)}.close{position:absolute;right:15px;top:15px;z-index:2;background:white;border:0;border-radius:50%;width:44px;height:44px;font-size:27px}.detail-img{width:100%;height:290px}.detail-body{padding:28px}.detail-body h2{margin:5px 0 14px}.detail-body p{font-size:12px;color:var(--muted)}.detail-stats{display:flex;gap:15px;flex-wrap:wrap;padding:14px 0;font-size:12px}.detail-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.detail-form label{font-size:11px;display:flex;flex-direction:column;gap:5px}.detail-form input{width:100%;min-width:0;padding:11px;border:1px solid var(--line);border-radius:6px;background:white}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.secondary{border:1px solid var(--line);border-radius:7px;background:white;padding:12px;min-height:48px;font-size:11px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90%;padding:12px 20px;background:var(--dark);color:#fff;border-radius:8px;z-index:20;font-size:12px}.error{color:#a5392f!important}textarea{width:100%;font:11px/1.7 inherit;border:1px solid var(--line);border-radius:6px;padding:12px;resize:vertical}
@media(min-width:1500px){.hero{max-width:1440px;margin:auto}.hero-copy{padding-left:90px}}@media(max-width:1000px){header nav{gap:18px}header{padding:0 5%;gap:16px}.contact{font-size:10px}.contact span{display:none}.hero{height:520px}.hero h1{font-size:61px}.search-wrap,.section{width:90%}.search{grid-template-columns:1fr 1fr 1fr}.search .primary{grid-column:1/-1}.search label:last-of-type{border:0}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.destination{height:210px}.destination strong{font-size:20px}.destination>span{left:17px;bottom:18px}.destination small{font-size:7px}.how{gap:30px;padding:30px}.section-head{align-items:start}h2{font-size:30px}.search-note{font-size:9px}}
@media(max-width:600px){html{scroll-padding-top:18px}body{font-size:13px}header{height:76px;padding:0 20px;gap:8px}.brand{font-size:25px}.brand-icon{font-size:45px}.brand small{font-size:6px;letter-spacing:1.25px;margin-top:5px}header nav{display:none}.contact{padding:8px 12px;font-size:10px}.hero{margin:0 10px;height:450px;border-radius:13px}.hero-copy{padding:44px 23px}.eyebrow{font-size:8px;letter-spacing:1.4px}.hero h1{font-size:50px;letter-spacing:-1.8px;margin:20px 0}.hero p{font-size:11px;line-height:1.85;max-width:280px}.hero p br{display:none}.hero-link{font-size:11px;margin-top:7px}.hero-caption{font-size:6px;left:23px;right:23px;bottom:22px;letter-spacing:1px}.search-wrap{width:auto;margin:0 20px;padding-top:18px}.search{grid-template-columns:1fr 1fr;gap:0;padding:12px}.search label{padding:7px 8px;border:0}.search label:first-child{grid-column:1/-1;border-bottom:1px solid var(--line);margin-bottom:7px;padding-bottom:10px}.search label:nth-child(2){border-right:1px solid var(--line)}.search label span{font-size:8px;letter-spacing:.6px}.search select{font-size:11px}.search .primary{margin:10px 3px 3px}.search-note{display:block;font-size:9px;line-height:1.8}.search-note span{display:block;margin-top:4px}.section{width:auto;margin:40px 20px}.section-head{display:block;margin-bottom:20px}h2{font-size:28px;line-height:1.3;margin-top:9px}.section-head>p{margin-top:10px;font-size:11px}.dest-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px}.destination{flex:0 0 80%;height:220px;scroll-snap-align:start}.destination>span{bottom:22px;left:20px}.destination strong{font-size:26px}.destination small{font-size:8px}.fine{font-size:8px}.sort{display:block;margin-top:16px}.sort select{font-size:10px}.filter-row{margin-right:-20px;padding-right:20px}.chip{font-size:10px;padding:10px 14px}.saved-filter{margin-left:0}.cards{grid-template-columns:1fr;gap:22px}.card-image{height:auto;aspect-ratio:1.52}.card-body{padding:17px 18px}.card h3{font-size:17px}.facts{font-size:11px}.location{font-size:10px}.amenities{font-size:10px}.price{font-size:18px}.price small{font-size:9px}.tag{font-size:9px}.save{width:40px;height:40px}.view{width:42px;height:42px}.price-note{font-size:9px;line-height:1.8}.how{display:block;padding:25px 22px;border-radius:12px}.how ol{margin-top:25px}.how li{gap:16px;padding:18px 0}.how h3{font-size:12px}.how li p{font-size:10px}.faq summary{font-size:12px;padding-right:10px}.faq details p{font-size:11px}.cta{padding:40px 20px}.cta h2{font-size:31px}footer{display:block;padding:30px 22px 100px}footer p{margin-top:20px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fffffffa;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:7px 12px calc(7px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav a,.mobile-nav button{display:flex;align-items:center;flex-direction:column;justify-content:center;min-width:60px;min-height:48px;gap:1px;font-size:23px;line-height:1.2;background:none;border:0;color:var(--teal)}.mobile-nav span{font-size:9px}.toast{bottom:85px;width:max-content;max-width:90%;font-size:11px}dialog{max-height:92dvh;width:calc(100% - 20px);border-radius:14px}.detail-img{height:220px}.detail-body{padding:21px}.detail-body h2{font-size:27px}.detail-actions .primary{flex:1}.detail-actions .secondary{flex:1}.detail-form{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

[hidden]{display:none!important}body{overflow-wrap:break-word}h1,h2,h3{color:inherit}button{font-family:inherit}header nav a{white-space:nowrap}.hero h1{max-width:650px}.facts{display:block}.facts span{display:block;margin-bottom:4px}.brand-logo{width:150px;height:62px;object-fit:contain}.catalog-search{margin-bottom:20px;display:flex;align-items:center;gap:12px}.catalog-search input{width:100%;max-width:360px;border:1px solid var(--line);border-radius:7px;padding:12px;background:white}.load-more-wrap{text-align:center;margin-top:28px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:20px}.single-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:35px;align-items:start}.single-title{font:500 44px/1.2 var(--font-ui);margin:10px 0 15px}.single-cover{width:100%;height:auto;aspect-ratio:1.6;border-radius:12px}.gallery-strip{display:flex;gap:10px;overflow:auto;margin:12px 0 28px;padding-bottom:8px}.gallery-strip button{flex:0 0 100px;padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;background:none}.gallery-strip button:focus-visible{border-color:var(--gold)}.gallery-strip img{width:100px;height:76px}.booking-panel{position:sticky;top:25px;border:1px solid var(--line);border-radius:12px;padding:25px;background:white}.booking-panel h2{font-size:25px}.listing-copy{font-size:14px;line-height:1.9}.listing-copy img{max-width:100%;height:auto}.listing-copy a{text-decoration:underline}.listing-copy ul{padding-left:22px}.listing-copy div{max-width:100%}.single-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.single-facts div{background:var(--cream);border-radius:7px;padding:14px;font-size:12px}.single-facts small{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.gallery-dialog{background:#102e2c;color:white;max-width:1100px}.gallery-full{width:100%;height:72dvh;object-fit:contain}.gallery-controls{display:flex;justify-content:center;gap:25px;align-items:center;padding:15px}.gallery-controls button{background:white;border:0;border-radius:5px;min-height:44px;padding:10px 20px}.gallery-controls span{font-size:12px}.plain-content{max-width:900px;min-height:45vh}.plain-content a{text-decoration:underline}.noscript-note{padding:12px;background:var(--cream);font-size:12px}#trip button{margin-top:10px}.detail-body textarea,.booking-panel textarea{font:11px/1.7 var(--font-ui)}.booking-panel #inquiry p{font-size:11px}.hero-img{filter:none}.empty p{max-width:500px;margin:12px auto 20px}.fine{line-height:1.7}
@media(max-width:1000px){.single-layout{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:20px}.booking-panel{padding:20px}.single-title{font-size:36px}}
@media(max-width:600px){.brand-logo{width:132px;height:53px}.hero h1{font-size:45px;max-width:290px}.hero{height:440px}.hero-copy{padding-top:35px}.hero p{font-size:11px}.single-layout{display:block}.single-title{font-size:34px}.booking-panel{position:static;margin-top:25px;padding:22px}.single-facts{gap:8px}.single-facts div{font-size:11px;padding:12px}.listing-copy{font-size:12px}.gallery-full{height:65dvh}.catalog-search{display:block}.catalog-search label{display:block;font-size:10px;margin-bottom:5px}.catalog-search input{max-width:none}.hero-caption{bottom:18px}.facts{font-size:11px}.section-head{overflow-wrap:anywhere}}
/* 1.1.0: explicit filter attributes and compact product details. */
.search.search-v110{grid-template-columns:1.15fr 1fr 1fr 1.15fr auto;gap:4px}.search-v110 label{min-width:0;padding:3px 12px}.search-v110 input{width:100%;min-width:0;border:0;background:transparent;padding:7px 0;font-size:12px;line-height:1.5}.search-v110 select{font-size:11px}.search-v110 label span{font-size:8px;letter-spacing:.7px}.custom-price{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;border-top:1px solid var(--line);margin-top:10px;padding:15px}.custom-price label{font-size:11px!important;border:0!important;padding:0!important}.custom-price input{display:block;margin-top:5px;border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff}.custom-price small{grid-column:1/-1;font-size:9px;color:var(--muted)}.filter-error{grid-column:1/-1;color:#a4382a;padding:8px 15px;font-size:11px}.search-v110 .primary{padding:13px 17px}.search-v110 input:invalid:not(:placeholder-shown){color:#a4382a}.product-page{margin-top:30px}.product-page .breadcrumb{display:flex;gap:9px;flex-wrap:wrap;font-size:10px;margin-bottom:20px;line-height:1.7}.product-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.product-kicker{display:flex;gap:10px;font-size:10px;color:var(--teal);align-items:center}.product-kicker span:first-child{background:#edf3ed;border-radius:5px;padding:4px 9px}.product-heading .single-title{font-size:40px;margin:10px 0 8px;line-height:1.2}.product-location{font-size:12px;color:var(--muted);margin:0}.product-save{background:white;border:1px solid var(--line);border-radius:30px;padding:11px 17px;min-height:44px;font-size:11px;white-space:nowrap}.product-save[aria-pressed=true]{color:#a6463b;border-color:#d8b5ad}.product-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:'gallery contact' 'highlights contact' 'information contact';gap:20px 30px;align-items:start}.product-gallery{grid-area:gallery;position:relative;overflow:hidden;border-radius:14px;background:var(--cream)}.product-photo-grid{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:6px;height:360px}.product-photo-grid button{border:0;padding:0;background:#e5ebe5;overflow:hidden;min-width:0}.product-photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.product-photo-grid button:hover img{transform:scale(1.025)}.product-photo-main{grid-row:1/3}.product-photo-grid:not(:has(.product-photo-small)) .product-photo-main{grid-column:1/-1}.product-photo-small:last-child:nth-child(2){grid-row:1/3}.photo-count{position:absolute;right:13px;bottom:13px;min-height:40px;border:0;border-radius:6px;background:#fffffff2;font-size:10px;font-weight:500;padding:9px 13px;box-shadow:0 2px 8px #0001}.product-highlights{grid-area:highlights;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;padding:17px 0}.product-highlights>div{padding:0 20px;border-right:1px solid var(--line)}.product-highlights>div:last-child{border:0}.product-highlights span{display:block;font-size:8px;color:var(--muted);letter-spacing:.5px;margin-bottom:5px}.product-highlights strong{font-weight:500;font-size:14px;line-height:1.5}.product-contact{grid-area:contact;position:sticky;top:24px;border:1px solid var(--line);border-radius:13px;padding:25px;background:white;box-shadow:0 6px 28px #143b3807}.product-contact>.eyebrow{font-size:8px;letter-spacing:1px}.product-price{font-size:30px;font-weight:600;letter-spacing:-.8px;margin:10px 0}.product-contact>p{font-size:11px;line-height:1.8;color:var(--muted);margin:0 0 20px}.product-contact-actions{display:flex;flex-direction:column;gap:10px}.hotline-button,.zalo-button{display:flex;align-items:center;gap:13px;padding:14px 18px;border:1px solid var(--teal);border-radius:8px;font-size:12px;font-weight:600;min-height:66px;text-decoration:none}.hotline-button{background:var(--teal);color:white}.hotline-button:hover{background:#21665f;color:white}.zalo-button{background:#eef5ef;color:var(--teal);border-color:#cbded2}.zalo-button:hover{background:#dfede2;color:var(--teal)}.hotline-button>span:first-child{font-size:27px;line-height:1}.hotline-button strong,.zalo-button strong{display:block;font-size:11px;font-weight:400;margin-top:3px}.zalo-mark{width:28px;height:28px;flex-shrink:0;border-radius:7px;background:#fff;color:#1164b3;display:grid;place-items:center;font-size:18px;font-weight:700}.product-contact .contact-note,.contact-note{font-size:10px;line-height:1.85;color:var(--muted);margin:17px 0}.contact-reference{border-top:1px solid var(--line);padding-top:13px;margin-top:15px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.contact-reference strong{font-weight:500;color:var(--dark)}.product-information{grid-area:information;min-width:0}.product-section-nav{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:5px 0 22px;overflow:auto;white-space:nowrap}.product-section-nav a{font-size:11px;padding:12px 0;border-bottom:2px solid transparent}.product-section-nav a:first-child{border-color:var(--teal)}.product-info-section{scroll-margin-top:25px;padding:0 0 25px;margin:0 0 24px;border-bottom:1px solid var(--line)}.product-info-section:last-child{border:0;margin:0}.product-info-section h2{font-family:var(--font-ui);font-size:19px;font-weight:500;letter-spacing:-.3px;margin:0 0 18px}.product-specs{margin:0}.product-specs>div{display:grid;grid-template-columns:160px 1fr;gap:18px;border-bottom:1px solid #edf0eb;padding:13px 0;font-size:12px;line-height:1.8}.product-specs>div:last-child{border:0}.product-specs dt{color:var(--muted)}.product-specs dd{margin:0}.product-amenity-line{background:#f0f5ef;border-radius:7px;padding:12px 15px;font-size:12px;line-height:1.8;color:var(--teal);margin:0 0 18px}.product-description{padding-left:19px;margin:0;font-size:12px;line-height:1.95}.product-description li{padding-left:3px;margin-bottom:8px}.product-description li::marker{color:var(--gold)}.product-notes{background:var(--cream);padding:22px;border-radius:10px}.product-notes p{font-size:11px;line-height:1.9;color:var(--muted);margin:10px 0}.product-related{margin-top:45px;border-top:1px solid var(--line);padding-top:35px}.product-related h2{font-size:29px}.product-related .section-head>a{font-size:11px}.quick-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.quick-facts>div{border:1px solid var(--line);border-radius:7px;padding:12px}.quick-facts small{font-size:8px;letter-spacing:.7px;color:var(--muted)}.quick-facts p{margin:7px 0 0;font-size:11px;color:var(--dark);line-height:1.8}.quick-price{border-top:1px solid var(--line);padding-top:15px;margin:18px 0}.quick-price small{font-size:9px;display:block;color:var(--muted)}.quick-price strong{font-size:25px;font-weight:600}.quick-detail .product-contact-actions{flex-direction:row}.quick-detail .product-contact-actions>a{flex:1}.product-contact-dock{display:none}button:active,.primary:active{transform:translateY(1px)}
@media(max-width:1100px){.search.search-v110{grid-template-columns:1fr 1fr}.search-v110 .primary{grid-column:1/-1}.product-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.product-contact{padding:20px}.product-photo-grid{height:320px;grid-template-columns:1.7fr 1fr}.product-highlights>div{padding:0 12px}.product-highlights strong{font-size:12px}.product-highlights span{font-size:7px}.product-photo-grid img{max-width:none}}
@media(max-width:800px){.product-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:'gallery' 'highlights' 'contact' 'information';gap:18px}.product-contact{position:static}.product-contact-actions{flex-direction:row}.product-contact-actions>a{flex:1}.product-photo-grid{height:350px}.product-heading .single-title{font-size:34px}.product-contact>p{margin-bottom:14px}.product-price{font-size:28px}.product-contact .contact-note{margin-bottom:0}.contact-reference{display:none}}
@media(max-width:600px){.search.search-v110{grid-template-columns:1fr 1fr;gap:0}.search-v110 label{padding:8px!important;border:0!important}.search-v110 label:first-child{grid-column:1/-1;border-bottom:1px solid var(--line)!important;margin-bottom:6px;padding-bottom:12px!important}.search-v110 label:nth-child(2){border-right:1px solid var(--line)!important}.search-v110 label:nth-child(4){grid-column:1/-1;border-top:1px solid var(--line)!important;margin-top:5px;padding-top:12px!important}.search-v110 input,.search-v110 select{font-size:11px;min-height:34px}.search-v110 label span{font-size:8px;letter-spacing:.4px}.search-v110 .primary{order:2;min-height:48px}.custom-price{order:1;padding:12px 0;margin:3px 4px 8px;gap:8px}.custom-price label{font-size:9px!important}.custom-price input{font-size:11px;padding:8px}.custom-price small{font-size:8px}.filter-error{order:3;font-size:10px;padding:4px 8px}.product-page{margin:23px 18px 40px}.product-page .breadcrumb{font-size:9px;gap:6px;margin-bottom:17px}.product-heading{gap:10px;align-items:flex-start;margin-bottom:19px}.product-heading .single-title{font-size:31px;line-height:1.2;margin:10px 0 9px}.product-kicker{font-size:9px;gap:8px;flex-wrap:wrap}.product-kicker span:first-child{padding:3px 7px}.product-location{font-size:10px;line-height:1.8}.product-save{font-size:0;padding:9px 12px;min-width:44px;max-width:44px;overflow:hidden;flex-shrink:0;margin-top:5px}.product-photo-grid{grid-template-columns:1fr;height:244px;grid-template-rows:1fr}.product-photo-main{grid-row:auto}.product-photo-small{display:none}.photo-count{font-size:9px;right:10px;bottom:10px;padding:7px 10px;min-height:36px}.product-highlights{padding:14px 0}.product-highlights>div{padding:0 9px}.product-highlights span{font-size:6px;letter-spacing:.2px;line-height:1.6;min-height:20px;margin-bottom:3px}.product-highlights strong{font-size:10px;line-height:1.6;display:block}.product-contact{padding:20px}.product-contact>.eyebrow{font-size:8px}.product-price{font-size:27px;margin:8px 0}.product-contact>p{font-size:10px;max-width:280px}.product-contact-actions{gap:8px}.hotline-button,.zalo-button{padding:12px 10px;gap:8px;min-height:66px;font-size:10px}.hotline-button strong,.zalo-button strong{font-size:9px}.hotline-button>span:first-child{font-size:22px}.zalo-mark{width:23px;height:23px;font-size:15px;border-radius:6px}.product-contact .contact-note{font-size:9px;margin-top:14px}.product-section-nav{gap:22px;margin:0 0 22px}.product-section-nav a{font-size:10px}.product-info-section h2{font-size:17px;margin-bottom:15px}.product-specs>div{grid-template-columns:100px 1fr;gap:12px;font-size:10px;padding:12px 0}.product-amenity-line{font-size:10px;padding:10px 12px}.product-description{font-size:11px;line-height:1.9;padding-left:17px}.product-description li{margin-bottom:8px;padding-left:0}.product-info-section{margin-bottom:22px;padding-bottom:22px}.product-notes{padding:18px}.product-notes p{font-size:10px}.product-related{padding-top:28px;margin-top:28px}.product-related h2{font-size:25px}.product-related .section-head>a{display:inline-block;margin-top:12px;font-size:10px}.product-contact-dock{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffffffa;backdrop-filter:blur(10px);border-top:1px solid var(--line);gap:10px;padding:9px 18px calc(9px + env(safe-area-inset-bottom));z-index:10}.product-contact-dock a{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;border-radius:7px;min-height:48px;font-size:18px;font-weight:600}.product-contact-dock span{font-size:11px}.dock-hotline{background:var(--teal);color:white}.dock-hotline:hover{color:#fff}.dock-zalo{background:#e8f2e9;color:var(--teal);border:1px solid #cbded2}.quick-detail{padding:20px}.quick-detail h2{font-size:26px}.quick-facts{gap:8px}.quick-facts>div{padding:10px}.quick-facts small{font-size:7px;letter-spacing:.3px}.quick-facts p{font-size:10px;line-height:1.7}.quick-detail .product-contact-actions{flex-direction:row}.quick-detail .text-link{font-size:10px}.product-page~footer{padding-bottom:110px}}

@media(max-width:600px){.search-v110 input,.search-v110 select{font-size:16px;min-height:44px}.search-v110 label span{font-size:9px}.custom-price label{font-size:11px!important}.custom-price input{font-size:16px}.product-location{font-size:12px}.product-highlights strong{font-size:12px}.product-highlights span{font-size:7px}.product-contact>p{font-size:12px}.product-contact .contact-note{font-size:11px}.hotline-button,.zalo-button{font-size:12px}.hotline-button strong,.zalo-button strong{font-size:10px}.product-specs>div{font-size:12px}.product-description{font-size:13px}.product-amenity-line{font-size:12px}.product-notes p{font-size:12px}.quick-facts p{font-size:12px}.quick-facts small{font-size:8px}}

/* 1.2.0 — one Vietnamese type family, consistent price emphasis. */
body.ivv-site{font-family:var(--font-ui);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.ivv-site :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea,summary),.ivv-site .elementor-heading-title,.ivv-site .elementor-widget-text-editor{font-family:var(--font-ui)!important}
.ivv-site :is(h1,h2,h3,h4){font-style:normal;line-height:1.35}
.hero h1{font-size:64px;font-weight:600;line-height:1.2;letter-spacing:-2px}.hero h1 em{font-weight:500}.hero p{font-size:14px}
h2{font-weight:600;letter-spacing:-.8px}.destination strong{font-weight:600;line-height:1.4}.single-title,.product-heading .single-title{font-weight:600;letter-spacing:-1px}.card h3{font-weight:600}.how h3{font-weight:600}
.price,.product-price,.quick-price strong{font-variant-numeric:tabular-nums;letter-spacing:-.6px;color:var(--price-accent);font-weight:700;line-height:1.35}
.card .price{font-size:21px;background:var(--price-background);border:1px solid var(--price-border);padding:8px 11px;border-radius:8px;min-width:0}
.card .price small{font-size:10px;color:#79563d;font-weight:400;letter-spacing:0;line-height:1.65;margin-bottom:3px}
.product-price{font-size:34px;padding:13px 15px;background:var(--price-background);border:1px solid var(--price-border);border-radius:9px;margin:12px 0 15px}
.quick-price{background:var(--price-background);border:1px solid var(--price-border);border-radius:8px;padding:13px 16px}.quick-price small{color:#79563d;font-size:11px}.quick-price strong{font-size:29px}
.card .location{font-size:11px}.card .facts{font-size:12px;line-height:1.8}.card .amenities{font-size:11px}.product-contact>.eyebrow{font-size:9px;letter-spacing:.7px}.product-highlights strong{font-weight:600}
@media(max-width:1000px){.hero h1{font-size:56px}.card .price{font-size:20px}.product-price{font-size:30px}}
@media(max-width:600px){.hero h1{font-size:clamp(34px,9.5vw,40px);line-height:1.25;letter-spacing:-1.1px}.hero p{font-size:13px;line-height:1.8}.hero-link{font-size:12px}.section-head h2{font-size:27px;line-height:1.4}.destination strong{font-size:24px}.product-heading .single-title{font-size:30px;line-height:1.35;letter-spacing:-.8px}.card .price{font-size:21px;padding:9px 11px}.card .price small{font-size:10px}.card .facts{font-size:12px}.card .amenities{font-size:11px}.product-price{font-size:30px;padding:12px 13px}.quick-price strong{font-size:27px}.product-highlights strong{font-size:12px}.product-contact>.eyebrow{font-size:9px}}

/* 1.3.0 — SVG icons, no text glyph icons or decorative link arrows. */
.ivv-icon{display:inline-block;width:22px;height:22px;min-width:22px;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;pointer-events:none}
.brand-icon{display:flex;align-items:center;justify-content:center;line-height:1}.brand-icon .ivv-icon{width:42px;height:42px;min-width:42px;stroke-width:1.5}
.primary>.ivv-icon{width:20px;height:20px;min-width:20px}.save{display:grid;place-items:center;width:44px;height:44px;font-size:inherit}.save .ivv-icon{width:21px;height:21px;min-width:21px}.save[aria-pressed=true] .ivv-icon-heart,.product-save[aria-pressed=true] .ivv-icon-heart{fill:currentColor}
.product-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px}.product-save .ivv-icon{width:19px;height:19px;min-width:19px}.saved-filter{display:inline-flex;align-items:center;justify-content:center;gap:6px}.saved-filter>.ivv-icon{width:16px;height:16px;min-width:16px}.saved-filter.active>.ivv-icon{fill:currentColor}
.view{width:auto;min-width:80px;height:44px;flex-shrink:0;border-radius:7px;font-size:10px;line-height:1.4;padding:8px 11px;font-weight:500}.card-bottom{gap:10px}.card .price{font-size:20px}.card .price small{font-size:9px}
.hotline-button>.ivv-icon,.zalo-button>.ivv-icon{width:24px;height:24px;min-width:24px}.zalo-button>.ivv-icon{color:#1763b7}.photo-count{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px}.photo-count>.ivv-icon{width:16px;height:16px;min-width:16px}
.close{display:grid;place-items:center}.close>.ivv-icon{width:22px;height:22px;min-width:22px}.gallery-controls button{font-size:11px}.hero-link{gap:0}.contact{display:inline-flex;align-items:center;gap:5px}
@media(max-width:600px){.mobile-nav a,.mobile-nav button{gap:5px;font-size:inherit}.mobile-nav .ivv-icon{width:22px;height:22px;min-width:22px}.mobile-nav span{font-size:10px}.product-contact-dock a{gap:8px;font-size:inherit}.product-contact-dock .ivv-icon{width:22px;height:22px;min-width:22px}.product-contact-dock span{font-size:12px}.product-save{font-size:11px;padding:10px;min-width:44px;max-width:44px}.product-save .save-label{display:none}.product-save .ivv-icon{width:20px;height:20px;min-width:20px}.view{min-width:80px;font-size:11px}.card .price{font-size:21px}.hotline-button,.zalo-button{gap:9px}.hotline-button>.ivv-icon,.zalo-button>.ivv-icon{width:21px;height:21px;min-width:21px}}
/* 2.0.0 — taxonomy groups, without individual advertised prices. */
.card-price-groups{min-width:0;flex:1}.card-price-groups>small,.quick-range-groups>small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.range-badges{display:flex;gap:6px;flex-wrap:wrap}.range-badge{display:inline-block;padding:5px 8px;background:#fff4e8;border:1px solid #f1d0ae;color:#98420f;border-radius:6px;font-size:11px;font-weight:500;line-height:1.6}.range-unassigned{display:inline-block;background:#f1f4ef;color:#657369;padding:6px 9px;border-radius:6px;font-size:10px;line-height:1.6}.product-range-labels{display:flex;flex-direction:column;gap:8px;margin:15px 0}.product-range-labels .range-badge,.quick-range-groups .range-badge{font-size:13px;padding:10px 12px;white-space:normal}.quick-range-groups{margin:18px 0}.grouped-catalog{display:block}.catalog-type-group{margin:0 0 48px}.group-type-heading{display:flex;align-items:center;gap:14px;margin:0 0 23px;border-left:4px solid var(--gold);padding-left:15px}.group-type-heading h3{font-size:23px;font-weight:600;line-height:1.45;margin:0}.group-type-heading>span{font-size:10px;white-space:nowrap;background:#edf3ed;padding:4px 10px;border-radius:20px;color:var(--teal)}.catalog-price-group{margin-bottom:28px}.group-price-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 14px}.group-price-heading h4{font-size:14px;line-height:1.6;font-weight:500;margin:0;color:#98420f}.group-price-heading>a{font-size:11px;white-space:nowrap;border-bottom:1px solid var(--line);padding:7px 0}.group-preview{align-items:stretch}.group-preview .card{height:100%}.product-contact .product-range-labels+p{font-size:12px}
@media(max-width:600px){.group-type-heading{gap:10px;margin-bottom:19px;padding-left:11px}.group-type-heading h3{font-size:20px}.group-type-heading>span{font-size:9px;padding:4px 8px}.group-price-heading{gap:10px;align-items:start}.group-price-heading h4{font-size:13px}.group-price-heading>a{font-size:10px;min-width:65px;text-align:right;padding:4px 0}.group-preview{display:flex;overflow-x:auto;gap:13px;scroll-snap-type:x mandatory;padding:0 0 12px}.group-preview .card{flex:0 0 87%;scroll-snap-align:start;height:auto}.catalog-type-group{margin-bottom:35px}.catalog-price-group{margin-bottom:24px}.range-badge{font-size:11px}.card-price-groups>small{font-size:10px}.product-range-labels .range-badge{font-size:13px}.group-preview .card-image{aspect-ratio:1.5}.group-preview .card .facts{font-size:11px}}

/* Homepage region, property type and price hierarchy. */
.catalog-region-group{margin-bottom:56px}
.group-region-heading{margin:0 0 28px;padding:18px 22px;background:#124d49;color:#fff;border-radius:12px;font-size:clamp(24px,3.6vw,34px);font-weight:750;letter-spacing:.04em;text-transform:uppercase;line-height:1.3}
.catalog-region-group .group-type-heading{border-left:5px solid #bc761e;margin-bottom:16px}
.catalog-region-group .group-type-heading h4{margin:0;color:#124d49;font-size:clamp(21px,2.8vw,27px);font-weight:700;line-height:1.4}
.catalog-region-group .group-price-heading{background:#fff2df;border:1px solid #ebc591;border-radius:9px;padding:12px 16px;flex-wrap:wrap}
.catalog-region-group .group-price-heading h5{margin:0;color:#82390d;font-size:clamp(16px,2vw,19px);font-weight:700;line-height:1.5}
.catalog-region-group .group-price-heading a{font-size:13px;min-height:44px;display:inline-flex;align-items:center}
.group-empty{padding:14px 0;color:#526660}
@media(max-width:600px){.catalog-region-group{margin-bottom:36px}.group-region-heading{padding:16px;margin-bottom:22px}.catalog-region-group .group-price-heading{padding:10px 12px}.catalog-region-group .group-price-heading a{min-width:0;text-align:left}.catalog-region-group .group-preview .card{flex-basis:88%}}

.group-more {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: fit-content;
    min-height: 48px;
    margin: 16px auto 0;
    padding: 8px 16px;
    border: 1px solid #124d49;
    border-radius: 10px;
    background: #edf6f3;
    color: #124d49;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease;
}
.group-more:hover, .group-more[aria-expanded="true"] { background: #124d49; color: #fff; }
.group-more:focus-visible { outline: 3px solid #a85e16; outline-offset: 3px; }
.group-more span[aria-hidden] { font-size: 20px; line-height: 1; }
.group-extra { margin-top: 16px; }
.group-extra[hidden] { display: none; }
@media (max-width: 600px) {
    .group-more { width: 100%; margin-top: 8px; }
    .group-extra { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .group-more { transition: none; }
}

.product-contact-actions .messenger-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 10px 12px;
    background: #0759c7;
    color: #fff;
    border-radius: 10px;
    font-weight: 700;
    text-align: center;
}
.product-contact-actions .messenger-button:hover { background: #064ba6; color: #fff; }
.product-contact-actions .messenger-button .ivv-icon { width: 21px; height: 21px; flex-shrink: 0; }
.search .search-call { min-height: 48px; text-align: center; text-decoration: none; }
.product-contact-dock .dock-hotline span { font-size: 14px; text-align: center; }
.ivv-site header .contact { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-height: 44px; }
@media (prefers-reduced-motion: no-preference) {
    .ivv-site header .contact { animation: ivv-contact-nudge 3.8s ease-in-out 3; }
    .ivv-site header .contact:is(:hover,:focus-visible) { animation-play-state: paused; }
}
@keyframes ivv-contact-nudge {
    0%, 82%, 100% { transform: rotate(0); }
    85%, 93% { transform: rotate(-3deg); }
    89%, 97% { transform: rotate(3deg); }
}
@media (max-width: 600px) {
    .ivv-site header .contact { font-size: 12px; padding-inline: 10px; }
    .search .search-call { width: 100%; }
}

.consultation{scroll-margin-top:85px;max-width:760px;margin-inline:auto}
.consultation h2{margin-bottom:12px}
.consultation>p{margin-bottom:18px}
.consultation-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.consultation-form label{display:block;font-weight:650;min-width:0}
.consultation-form label span{font-size:.84em;font-weight:400}
.consultation-form :is(input:not([type="hidden"]),textarea){display:block;width:100%;min-width:0;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid #718582;border-radius:8px;background:#fff;color:#142e2b;font:inherit;font-size:16px;font-weight:400}
.consultation-form textarea{resize:vertical}
.consultation-form :is(input,textarea,button):focus-visible{outline:2px solid #124d49;outline-offset:3px}
.consultation-wide{grid-column:1/-1}
.consultation-form button{min-height:48px;justify-self:start}
.consultation-status{padding:12px 14px;border-radius:8px;background:#e8f4ed;color:#124d49}
.consultation-status[role="alert"]{background:#fff3e2;color:#753707}
@media(max-width:600px){.consultation-form{grid-template-columns:minmax(0,1fr);gap:12px}.consultation-form button{width:100%}}

#consultation{scroll-margin-top:85px}
.search.search-consultation {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: start;
}
.search-consultation .consultation-wide { grid-column: 1/-1; }
.consultation-intro h2 { font-size: clamp(20px, 3vw, 28px); margin: 0 0 6px; }
.consultation-intro p { margin: 0; }
.consultation-intro .consultation-status { margin-top: 10px; }
.search.search-consultation label {
    position: relative;
    min-width: 0;
    grid-column: auto;
    gap: 0;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
}
.search.search-consultation label > span {
    position: absolute;
    top: 7px;
    left: 11px;
    right: 11px;
    margin: 0;
    color: #526660;
    font-size: 10px;
    line-height: 13px;
    letter-spacing: .02em;
    text-transform: none;
    pointer-events: none;
}
.search.search-consultation label > :is(input, select) {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 52px;
    margin: 0;
    padding: 19px 10px 4px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background-color: #fff;
    font-family: inherit;
    font-size: 16px;
    color: var(--ink);
}
.search.search-consultation label > select { padding-right: 23px; text-overflow: ellipsis; }
.search.search-consultation label > :is(input, select):focus-visible {
    outline: 2px solid #124d49;
    outline-offset: 2px;
}
.search.search-consultation button[type="submit"] { min-height: 48px; }
@media(max-width:700px) {
    .search.search-consultation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
