:root{--qv-blue:#173f73;--qv-cyan:#10aeca;--qv-teal:#168d9d;--qv-orange:#f39a00;--qv-bg:#f5f8fb;--qv-border:#e4ebf2;--qv-text:#25354d}
.qv-page,.qv-single{max-width:1440px;margin:0 auto;padding:24px 28px 60px;color:var(--qv-text)}
.qv-searchbar{display:grid;grid-template-columns:1.1fr 1.1fr 1fr 220px;background:#fff;border-radius:14px;box-shadow:0 16px 40px rgba(25,48,75,.13);overflow:hidden;margin:-55px auto 60px;position:relative;z-index:5}.qv-search-field{padding:18px 24px;border-right:1px solid var(--qv-border);display:grid;grid-template-columns:30px 1fr;align-items:center}.qv-search-field span{grid-row:1/3;font-size:23px;color:var(--qv-teal)}.qv-search-field label{font-size:13px;font-weight:800;color:var(--qv-blue)}.qv-search-field input,.qv-search-field select{border:0;background:transparent;font-size:16px;color:#7184a0;padding:6px 0;outline:0;width:100%}.qv-search-submit{border:0;background:var(--qv-teal);color:#fff;font-weight:800;font-size:16px;cursor:pointer;margin:10px;border-radius:11px}
.qv-heading{text-align:center;margin-bottom:44px}.qv-heading h1{font-size:40px;line-height:1.2;color:var(--qv-blue);margin:0 0 10px}.qv-heading p{font-size:18px;color:#7184a0;margin:0}.qv-listing{display:grid;grid-template-columns:300px 1fr;gap:38px}.qv-filter{background:#fff;border-radius:18px;padding:22px;align-self:start;box-shadow:0 8px 25px rgba(30,50,80,.06);position:sticky;top:25px}.qv-filter-head{display:flex;justify-content:space-between;align-items:center}.qv-filter-head h3{color:var(--qv-blue);font-size:19px;margin:0 0 20px;padding-bottom:18px;border-bottom:1px dashed #dce5ef;width:100%}.qv-close-filter{display:none}.qv-filter-group{margin:0 0 24px}.qv-filter-group h4{font-size:14px;color:var(--qv-blue);margin:0 0 12px}.qv-chip{display:inline-block;margin:0 6px 8px 0}.qv-chip input{display:none}.qv-chip span{display:inline-block;border:1px solid #dce5ef;border-radius:22px;padding:9px 14px;font-size:14px;background:#fff;cursor:pointer}.qv-chip input:checked+span{background:var(--qv-cyan);border-color:var(--qv-cyan);color:#fff;box-shadow:0 5px 12px rgba(16,174,202,.18)}.qv-filter select,.qv-price-row input{width:100%;box-sizing:border-box;border:1px solid #dce5ef;border-radius:9px;padding:10px;background:#fff}.qv-price-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.qv-filter-group small{color:#8797aa;font-size:11px}.qv-clear{border:0;background:#f2f6fa;border-radius:10px;padding:11px 15px;cursor:pointer;color:#61738c}
.qv-results-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px;font-size:17px}.qv-results-top strong{color:var(--qv-blue)}.qv-results-top select{border:1px solid var(--qv-border);border-radius:10px;padding:10px;background:#fff}.qv-villa-card{display:grid;grid-template-columns:390px 1fr;background:#fff;border:1px solid #dce6ef;border-radius:20px;overflow:hidden;margin-bottom:20px;box-shadow:0 8px 24px rgba(30,50,80,.04);transition:.2s}.qv-villa-card:hover{box-shadow:0 15px 35px rgba(30,50,80,.1);transform:translateY(-1px)}.qv-card-media{position:relative;display:block;min-height:300px;background:#eef3f7}.qv-card-main-img{width:100%;height:100%;min-height:300px;object-fit:cover}.qv-code,.qv-featured,.qv-photo-count{position:absolute;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:800}.qv-code{top:14px;left:14px;background:#0d365f;color:#fff}.qv-featured{top:14px;right:14px;background:#fff;color:#183e70}.qv-photo-count{bottom:14px;right:14px;background:rgba(0,0,0,.58);color:#fff}.qv-card-body{display:grid;grid-template-columns:1fr 240px;padding:24px}.qv-card-content h2{margin:0 0 8px;font-size:22px;line-height:1.25}.qv-card-content h2 a{color:#0872da;text-decoration:none}.qv-area{font-weight:800;color:#0872da;margin-bottom:10px}.qv-distance{color:#09a9c0;margin-bottom:12px}.qv-facts{display:flex;gap:15px;flex-wrap:wrap;margin:10px 0 15px}.qv-facts span{font-size:14px}.qv-check{display:inline-block;background:#e7f9fc;color:#08a7c1;border-radius:16px;padding:7px 11px;font-size:12px;font-weight:900}.qv-card-actions{margin-top:18px;display:flex;gap:9px}.qv-btn{display:inline-block;text-decoration:none;padding:10px 13px;border-radius:9px;font-weight:700;font-size:13px}.qv-btn-outline{border:1px solid #b9d9ef;color:#0872da}.qv-btn-zalo{background:#edf8ff;color:#0872da}.qv-card-price{border-left:1px dashed #dbe4ed;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-left:20px}.qv-availability{color:#0bafc5;font-size:13px;font-weight:800;margin-bottom:18px}.qv-availability.big{background:#e9fbfd;padding:10px 15px;border-radius:20px;margin:0}.qv-card-price strong{color:#f13f43;font-size:25px}.qv-card-price small{color:#94a3b7;margin-top:8px}.qv-empty{padding:50px;text-align:center;background:#fff;border-radius:16px}.qv-pagination{display:flex;gap:7px;justify-content:center;padding:20px 0}.qv-page-btn{border:1px solid var(--qv-border);background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer}.qv-page-btn.active{background:var(--qv-teal);color:#fff;border-color:var(--qv-teal)}.qv-loading{display:none;position:fixed;inset:auto 20px 20px auto;background:#173f73;color:#fff;padding:12px 18px;border-radius:30px;z-index:99;box-shadow:0 8px 25px rgba(0,0,0,.2)}.qv-is-loading .qv-loading{display:block}.qv-mobile-filterbar{display:none}
.qv-breadcrumb{margin:0 0 16px}.qv-single-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.qv-single-head h1{color:var(--qv-blue);font-size:36px;margin:0 0 8px}.qv-single-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px}.qv-gallery{background:#fff;border-radius:18px;overflow:hidden}.qv-hero-img{width:100%;height:540px;object-fit:cover}.qv-thumbs{display:flex;gap:10px;padding:12px;overflow:auto}.qv-thumbs a{flex:0 0 85px}.qv-thumbs img{width:85px;height:70px;object-fit:cover;border-radius:8px}.qv-booking-box{background:#fff;border:1px solid #e0e9f0;border-radius:18px;padding:24px;box-shadow:0 12px 30px rgba(30,50,80,.08);align-self:start;position:sticky;top:25px}.qv-booking-box h3{color:var(--qv-blue);margin-top:0}.qv-booking-box label{display:block;font-size:13px;font-weight:700;margin:14px 0}.qv-booking-box input,.qv-booking-box select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #dce5ee;border-radius:9px;background:#fff}.qv-contact-price{text-align:center;color:#f13f43;font-weight:900;font-size:24px;padding:18px 0}.qv-primary-btn,.qv-zalo-btn{display:block;text-align:center;text-decoration:none;border-radius:10px;padding:14px;font-weight:900;margin-top:10px}.qv-primary-btn{background:var(--qv-teal);color:#fff}.qv-zalo-btn{background:#edf8ff;color:#0872da}.qv-factbar{display:flex;justify-content:space-around;gap:15px;background:#fff;border:1px solid var(--qv-border);border-radius:16px;margin:24px 0;padding:18px}.qv-factbar div{text-align:center}.qv-factbar b{display:block;font-size:19px;color:var(--qv-blue)}.qv-factbar small{display:block;color:#7b8da3;margin-top:3px}.qv-content-grid{display:grid;grid-template-columns:1fr 300px;gap:28px}.qv-content section{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px}.qv-content h2{font-size:22px;color:var(--qv-blue);border-bottom:1px solid var(--qv-border);padding-bottom:12px}.qv-side-note{background:#fff;border-radius:16px;padding:22px;align-self:start}.qv-side-note h3{color:var(--qv-blue)}
@media(max-width:1000px){.qv-listing,.qv-single-grid,.qv-content-grid{grid-template-columns:1fr}.qv-filter{position:fixed;left:0;top:0;bottom:0;width:min(340px,88vw);z-index:1000;border-radius:0;overflow:auto;transform:translateX(-105%);transition:.25s}.qv-filter-open .qv-filter{transform:translateX(0)}.qv-filter-head{position:sticky;top:0;background:#fff;z-index:2}.qv-close-filter{display:block;border:0;background:none;font-size:30px;color:#7b8da3}.qv-mobile-filterbar{display:flex;gap:10px;margin-bottom:15px}.qv-open-filter{border:1px solid var(--qv-border);background:#fff;border-radius:10px;padding:10px 14px;font-weight:800}.qv-mobile-sort{flex:1}.qv-villa-card{grid-template-columns:1fr}.qv-card-media{min-height:260px}.qv-card-body{grid-template-columns:1fr}.qv-card-price{border-left:0;border-top:1px dashed #dbe4ed;padding:18px 0 0;margin-top:18px}.qv-booking-box{position:static}.qv-searchbar{grid-template-columns:1fr 1fr;margin:-30px 0 40px}.qv-search-submit{min-height:58px}}
@media(max-width:640px){.qv-page,.qv-single{padding:15px 12px 45px}.qv-searchbar{grid-template-columns:1fr;margin:0 0 30px}.qv-search-field{border-right:0;border-bottom:1px solid var(--qv-border)}.qv-heading h1{font-size:29px}.qv-heading p{font-size:15px}.qv-villa-card{border-radius:14px}.qv-card-body{padding:16px}.qv-card-content h2{font-size:19px}.qv-hero-img{height:300px}.qv-single-head{display:block}.qv-single-head h1{font-size:28px}.qv-single-head .qv-availability{display:inline-block;margin-top:10px}.qv-factbar{display:grid;grid-template-columns:repeat(2,1fr)}.qv-results-top{display:block}.qv-results-top select{margin-top:10px;width:100%}}
.qv-booking-alert{font-size:13px;line-height:1.45;margin-bottom:10px}.qv-booking-alert.error{color:#d63c43}.qv-booking-alert.success{color:#079b73}.qv-live-quote{background:#f3f9fc;border-radius:10px;padding:13px;text-align:center;margin:10px 0;color:#173f73}.qv-live-quote small{display:block;color:#7184a0;margin-top:4px}.qv-book-btn{border:0;width:100%;cursor:pointer}.qv-book-btn:disabled{opacity:.45;cursor:not-allowed}.qv-check-btn{border:0;width:100%;cursor:pointer}.qv-search-field input:invalid{box-shadow:none}

/* PHASE 4 - Booking form immediately below gallery */
.qv-single>.qv-gallery{margin-bottom:22px}
.qv-booking-box-under-image{position:relative!important;top:auto!important;width:100%;box-sizing:border-box;background:#fff;border:1px solid #dce7f0;border-radius:18px;padding:22px 26px;box-shadow:0 10px 28px rgba(30,50,80,.07);margin-bottom:24px}
.qv-booking-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.qv-booking-intro h3{margin:0 0 7px;color:var(--qv-blue);font-size:23px}
.qv-booking-intro p{margin:0;color:#40516a;font-size:15px}
.qv-booking-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.qv-booking-fields label{font-size:13px;font-weight:800;color:#40516a}
.qv-booking-fields input,.qv-booking-fields select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 13px;border:1px solid #d7e2ec;border-radius:9px;background:#fff;color:#243650}
.qv-booking-actions{display:flex;gap:12px;margin-top:15px}
.qv-booking-actions .qv-primary-btn{border:0;cursor:pointer;flex:1}
.qv-primary-btn:disabled{opacity:.45;cursor:not-allowed}
.qv-booking-alert{min-height:20px;margin-top:12px;font-weight:700}
.qv-booking-alert.is-error{color:#d53b3b}
.qv-booking-alert.is-ok{color:#079b6d}
.qv-live-quote{margin-top:8px;color:var(--qv-blue)}
.qv-customer-form{margin-top:18px;padding:20px;border:1px dashed #bcd4e5;border-radius:14px;background:#f8fbfd}
.qv-customer-form[hidden]{display:none}
.qv-customer-form h4{margin:0 0 5px;color:var(--qv-blue);font-size:17px}
.qv-customer-form p{margin:0 0 14px;color:#66788f}
.qv-customer-form label{display:inline-block;width:calc(50% - 8px);margin-right:12px;font-size:13px;font-weight:800;color:#40516a;vertical-align:top}
.qv-customer-form label:nth-of-type(2){margin-right:0}
.qv-customer-form input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #d7e2ec;border-radius:9px;background:#fff}
.qv-customer-form .qv-submit-booking{margin-top:14px;width:260px;border:0;cursor:pointer}
.qv-submit-message{margin-top:10px;font-weight:700;color:#d53b3b}.qv-submit-message.is-ok{color:#079b6d}
.qv-map-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px}
.qv-map-section h2{font-size:22px;color:var(--qv-blue);border-bottom:1px solid var(--qv-border);padding-bottom:12px;margin-top:0}
.qv-map-address{font-weight:700;color:#40516a}
.qv-map-wrap{width:100%;height:380px;border-radius:12px;overflow:hidden;background:#eef3f7}
.qv-map-wrap iframe{width:100%;height:100%;border:0}
.qv-map-link{display:inline-block;margin-top:10px;color:#0872da;font-weight:800;text-decoration:none}
@media(max-width:760px){
 .qv-booking-box-under-image{padding:18px}
 .qv-booking-intro{display:block}
 .qv-booking-intro .qv-availability{display:inline-block;margin-top:10px}
 .qv-booking-fields{grid-template-columns:1fr}
 .qv-booking-actions{display:block}
 .qv-booking-actions .qv-primary-btn{width:100%;margin-bottom:9px}
 .qv-customer-form label{display:block;width:100%;margin:0 0 12px}
 .qv-customer-form .qv-submit-booking{width:100%}
 .qv-map-wrap{height:300px}
}


/* ===== Phase 5: card gallery 1 lớn + 2 nhỏ, ACF summary, payment notes ===== */
.qv-villa-card{grid-template-columns:405px minmax(0,1fr)}
.qv-card-gallery{display:grid!important;grid-template-rows:205px 105px;gap:4px;min-height:314px!important;padding:0;background:#f4f7fa}
.qv-card-gallery-main,.qv-card-gallery-bottom>div{overflow:hidden}
.qv-card-gallery-main img,.qv-card-gallery-bottom img{width:100%;height:100%!important;min-height:0!important;object-fit:cover;display:block}
.qv-card-gallery-bottom{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.qv-card-gallery-last{position:relative}
.qv-gallery-extra{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,35,60,.32);color:#fff;font-size:24px;font-weight:900;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.qv-card-gallery .qv-code{top:12px;left:12px}
.qv-card-gallery .qv-featured{top:12px;right:12px;background:#fff;color:#173f73}
.qv-card-section-title{font-weight:900;color:#173f73;margin:13px 0 7px}
.qv-facts-summary{gap:8px 14px;margin:6px 0 11px}
.qv-facts-summary span{white-space:nowrap}
.qv-amenities-inline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0 12px;font-size:13px;color:#53657c}
.qv-amenities-inline>strong{color:#173f73}
.qv-amenities-inline span{background:#f3f8fb;border-radius:15px;padding:5px 8px}
.qv-payment-notes{margin-top:12px;font-size:13px;line-height:1.65;color:#34465d}
.qv-payment-notes div::first-letter{color:#13b66b}
.qv-card-content{min-width:0}
.qv-card-body{grid-template-columns:minmax(0,1fr) 235px}
.qv-card-price{min-width:210px}
@media(max-width:1100px){
  .qv-villa-card{grid-template-columns:340px minmax(0,1fr)}
  .qv-card-gallery{grid-template-rows:185px 92px;min-height:281px!important}
  .qv-card-body{grid-template-columns:1fr}
  .qv-card-price{border-left:0;border-top:1px dashed #dbe4ed;padding:16px 0 0;margin-top:16px}
}
@media(max-width:760px){
  .qv-villa-card{grid-template-columns:1fr}
  .qv-card-gallery{grid-template-rows:220px 105px}
  .qv-card-body{padding:16px}
  .qv-payment-notes{font-size:12.5px}
}


/* ===== PHASE 6: Chi tiết Villa dạng gallery + icon tiện ích ===== */
.qv-phase6{max-width:1540px}
.qv-single-topline{display:flex;align-items:center;gap:10px;padding:9px 0 15px;border-bottom:1px solid #eef2f6;margin-bottom:16px;color:#718096}
.qv-product-code{background:#108baa;color:#fff;border-radius:18px;padding:5px 12px;font-size:13px;font-weight:900}
.qv-status-pill{color:#16a95b;border:1px solid #19bd67;border-radius:18px;padding:4px 12px;font-size:13px;font-weight:800}
.qv-top-address{font-size:14px}
.qv-phase6 .qv-breadcrumb{margin:8px 0 10px}
.qv-phase6 .qv-single-head{margin-bottom:18px}
.qv-phase6 .qv-single-head h1{font-size:38px;line-height:1.15}

.qv-detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:245px 245px;gap:8px;border-radius:24px;overflow:hidden;background:#eef3f7}
.qv-gallery-tile{position:relative;border:0;padding:0;margin:0;overflow:hidden;cursor:zoom-in;background:#eef3f7}
.qv-gallery-tile img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}
.qv-gallery-tile:hover img{transform:scale(1.025)}
.qv-gallery-hero{grid-row:1/3;grid-column:1/2}
.qv-gallery-small-1{grid-column:2;grid-row:1}
.qv-gallery-small-2{grid-column:3;grid-row:1}
.qv-gallery-small-3{grid-column:2;grid-row:2}
.qv-gallery-small-4{grid-column:3;grid-row:2}
.qv-zoom-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:#fff;color:#173f73;display:grid;place-items:center;font-size:28px;box-shadow:0 4px 15px rgba(0,0,0,.18)}
.qv-facebook-gallery{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:82%;background:#fff;color:#173f73!important;text-decoration:none!important;border-radius:12px;padding:13px 20px;font-size:14px;font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.25);z-index:3}
.qv-gallery-small-4:has(.qv-facebook-gallery)::after{content:"";position:absolute;inset:0;background:rgba(11,30,54,.35);pointer-events:none}
.qv-facebook-gallery{z-index:4}

.qv-detail-facts{display:flex;justify-content:space-between;background:#fff;border:1px solid #e8edf2;border-radius:18px;margin:14px 0 22px;padding:14px 18px;box-shadow:0 5px 16px rgba(35,55,80,.05)}
.qv-detail-facts>div{display:flex;align-items:center;gap:12px;min-width:0;padding:4px 12px}
.qv-fact-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#e5f6fc;font-size:24px}
.qv-detail-facts small{display:block;color:#71839b;font-size:11px;margin-bottom:2px;white-space:nowrap}
.qv-detail-facts b{display:block;color:#102b50;font-size:18px;white-space:nowrap}

.qv-amenity-section{background:#fff;border:1px solid #e8edf2;border-radius:18px;padding:24px;margin:22px 0}
.qv-section-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #edf1f5;padding-bottom:14px;margin-bottom:18px}
.qv-section-head h2{margin:0;color:#173f73;font-size:22px}
.qv-section-head p{margin:0;color:#8594a7}
.qv-amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.qv-amenity-item{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid #e6edf4;border-radius:14px;background:#fbfdff;color:#31465f;font-weight:700}
.qv-amenity-icon{width:39px;height:39px;display:grid;place-items:center;background:#e8f7fc;border-radius:12px;font-size:20px;flex:0 0 39px}
.qv-facebook-side{display:block;margin-top:15px;background:#eef6ff;color:#0866c9;text-align:center;padding:11px;border-radius:10px;text-decoration:none;font-weight:800}

.qv-lightbox[hidden]{display:none!important}
.qv-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:35px}
.qv-lightbox img{max-width:min(1400px,90vw);max-height:88vh;object-fit:contain}
.qv-lightbox-close,.qv-lightbox-prev,.qv-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.94);color:#173f73;width:48px;height:48px;border-radius:50%;font-size:34px;line-height:1;cursor:pointer}
.qv-lightbox-close{right:24px;top:20px}
.qv-lightbox-prev{left:24px;top:50%;transform:translateY(-50%)}
.qv-lightbox-next{right:24px;top:50%;transform:translateY(-50%)}

@media(max-width:1050px){
  .qv-detail-gallery{grid-template-columns:1.5fr 1fr;grid-template-rows:230px 230px}
  .qv-gallery-hero{grid-row:1/3;grid-column:1}
  .qv-gallery-small-1{grid-column:2;grid-row:1}
  .qv-gallery-small-2{display:none}
  .qv-gallery-small-3{display:none}
  .qv-gallery-small-4{grid-column:2;grid-row:2}
  .qv-detail-facts{display:grid;grid-template-columns:repeat(3,1fr)}
  .qv-amenity-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
  .qv-phase6 .qv-single-head h1{font-size:27px}
  .qv-single-topline{flex-wrap:wrap}
  .qv-detail-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:16px;gap:6px;background:transparent}
  .qv-gallery-tile,.qv-gallery-hero,.qv-gallery-small-1,.qv-gallery-small-2,.qv-gallery-small-3,.qv-gallery-small-4{display:block;flex:0 0 88%;height:310px;scroll-snap-align:start}
  .qv-facebook-gallery{font-size:12px;padding:10px 12px}
  .qv-detail-facts{grid-template-columns:repeat(2,1fr);padding:10px}
  .qv-detail-facts>div{padding:5px}
  .qv-fact-icon{width:42px;height:42px}
  .qv-detail-facts b{font-size:15px}
  .qv-amenity-grid{grid-template-columns:repeat(2,1fr)}
  .qv-amenity-item{font-size:13px;padding:10px}
  .qv-section-head{display:block}
  .qv-section-head p{margin-top:5px}
}

/* Phase 6.1 - đảm bảo phần tóm tắt ACF luôn đủ chỗ hiển thị */
.qv-facts-summary{display:flex!important;flex-wrap:wrap!important;align-items:center}
.qv-facts-summary .qv-raw-summary{white-space:normal!important}
.qv-card-content .qv-distance{display:block!important}
.qv-card-content .qv-amenities-inline{display:flex!important}
@media(min-width:1200px){
  .qv-villa-card .qv-card-content{padding-right:10px}
}

/* PHASE 6.3 EMERGENCY OVERRIDES */
.qv-page,.qv-single{box-sizing:border-box!important;width:100%!important;max-width:1500px!important;margin:0 auto!important;padding:22px 24px 60px!important}
.qv-page *,.qv-single *{box-sizing:border-box}
.qv-searchbar{display:grid!important;grid-template-columns:1.1fr 1.1fr 1fr 220px!important;background:#fff!important;border-radius:14px!important;box-shadow:0 14px 36px rgba(25,48,75,.12)!important;overflow:hidden!important;margin:0 0 45px!important}
.qv-search-field{display:grid!important;grid-template-columns:30px 1fr!important;align-items:center!important;padding:18px 24px!important;border-right:1px solid #e4ebf2!important}
.qv-heading{text-align:center!important;margin-bottom:40px!important}.qv-heading h1{font-size:38px!important;line-height:1.2!important}
.qv-listing{display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;gap:34px!important}.qv-filter{display:block!important;background:#fff!important;border-radius:18px!important;padding:22px!important;box-shadow:0 8px 25px rgba(30,50,80,.06)!important}.qv-results{min-width:0!important}
.qv-villa-card{display:grid!important;grid-template-columns:405px minmax(0,1fr)!important;background:#fff!important;border:1px solid #dce6ef!important;border-radius:20px!important;overflow:hidden!important;margin:0 0 20px!important}
.qv-card-media.qv-card-gallery{display:grid!important;grid-template-rows:205px 105px!important;gap:4px!important;width:100%!important;min-height:314px!important;position:relative!important}.qv-card-gallery-bottom{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important}.qv-card-gallery img{display:block!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important}
.qv-card-body{display:grid!important;grid-template-columns:minmax(0,1fr) 235px!important;padding:24px!important;min-width:0!important}.qv-card-content{min-width:0!important}.qv-card-content h2{margin:0 0 8px!important;font-size:22px!important;line-height:1.25!important}.qv-facts-summary{display:flex!important;gap:8px 13px!important;flex-wrap:wrap!important}.qv-amenities-inline{display:flex!important;gap:7px!important;flex-wrap:wrap!important}.qv-card-price{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;border-left:1px dashed #dbe4ed!important;padding-left:18px!important}
@media(max-width:1000px){.qv-searchbar{grid-template-columns:1fr 1fr!important}.qv-listing{grid-template-columns:1fr!important}.qv-villa-card{grid-template-columns:1fr!important}.qv-card-body{grid-template-columns:1fr!important}.qv-card-price{border-left:0!important;border-top:1px dashed #dbe4ed!important;padding:16px 0 0!important;margin-top:16px!important}}
@media(max-width:640px){.qv-page,.qv-single{padding:12px!important}.qv-searchbar{grid-template-columns:1fr!important}.qv-card-gallery{grid-template-rows:210px 100px!important}.qv-heading h1{font-size:28px!important}}
\n\n/* ===== PHASE 6.4: chuyển check-in/chính sách sang cột giá ===== */\n.qv-card-price{justify-content:center!important;padding:20px 16px!important}\n.qv-card-price>small{margin-bottom:12px!important}\n.qv-price-extra{width:100%;border-top:1px dashed #dbe4ed;padding-top:14px;margin-top:6px;text-align:left}\n.qv-card-price .qv-check{display:block!important;width:max-content;max-width:100%;margin:0 auto 12px!important;text-align:center!important;white-space:nowrap}\n.qv-card-price .qv-payment-notes{margin:0!important;font-size:12.5px!important;line-height:1.55!important;color:#42566f!important}\n.qv-card-price .qv-payment-notes div{margin:5px 0!important}\n.qv-card-price .qv-payment-notes div::first-letter{color:#11b969}\n@media(max-width:1000px){\n  .qv-price-extra{max-width:560px;margin:8px auto 0!important}\n  .qv-card-price .qv-payment-notes{text-align:left!important}\n}\n

/* ===== PHASE 6.5: ngày dd/mm/yyyy + icon lịch + khu vực ===== */
.qv-date-field .qv-calendar-icon{font-size:22px!important;color:#149bb0!important;cursor:pointer;grid-row:1/3}
.qv-date-control{position:relative;width:100%;min-width:0}
.qv-date-control .qv-date-display{
  width:100%!important;height:48px!important;padding:0 44px 0 16px!important;
  border:1px solid #dce5ee!important;border-radius:8px!important;background:#fff!important;
  font-size:16px!important;color:#44566e!important;cursor:pointer!important
}
.qv-date-control .qv-native-date{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  opacity:0!important;cursor:pointer!important;z-index:2!important
}
.qv-date-control:after{
  content:"📅";position:absolute;right:13px;top:50%;transform:translateY(-50%);
  font-size:18px;pointer-events:none;z-index:1
}
.qv-booking-date-control .qv-calendar-inline{display:none}
.qv-product-area{color:#0b79d0;margin:4px 0 7px;font-size:14px}
.qv-product-area strong{color:#173f73}
.qv-detail-area{display:inline-block;margin:0 10px 8px 0;background:#eef8ff;color:#0b79d0;padding:6px 10px;border-radius:16px;font-weight:800}


/* ===== PHASE 6.6: filter fix, calendar icon, Zalo CTA, payment text ===== */
.qv-card-price .qv-payment-notes strong{
  color:#e53935!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.45!important;
}
.qv-card-price .qv-payment-notes div:first-child{font-size:12.5px!important;color:#42566f!important}
.qv-card-price .qv-payment-notes div:first-child strong{font-size:13px!important}

.qv-date-field{position:relative!important}
.qv-date-field>.qv-calendar-icon{
  width:34px!important;height:34px!important;display:grid!important;place-items:center!important;
  border-radius:10px!important;background:#e8f8fb!important;color:#1098aa!important;
  font-size:18px!important;cursor:pointer!important;grid-row:1/3!important
}
.qv-date-control{position:relative!important;width:100%!important}
.qv-date-display{
  display:block!important;width:100%!important;height:48px!important;background:#fff!important;
  border:1px solid #d9e1e8!important;border-radius:7px!important;padding:0 46px 0 14px!important;
  font-size:16px!important;color:#34465d!important;cursor:pointer!important
}
.qv-date-control .qv-native-date{
  position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;
  pointer-events:none!important;left:-9999px!important;top:auto!important
}
.qv-date-control:after{
  content:"📅"!important;position:absolute!important;right:13px!important;top:50%!important;
  transform:translateY(-50%)!important;font-size:19px!important;pointer-events:none!important
}

.qv-chip input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.qv-chip input:checked+span{background:#10aecA!important;color:#fff!important;border-color:#10aecA!important;font-weight:800!important}
.qv-ajax-app.is-filtering .qv-results-list{opacity:.45!important;transition:opacity .15s ease!important}
.qv-loading{display:none!important}
.qv-ajax-app.is-filtering .qv-loading{display:block!important;position:fixed!important;left:50%!important;bottom:28px!important;transform:translateX(-50%)!important;background:#173f73!important;color:#fff!important;padding:10px 18px!important;border-radius:25px!important;z-index:9999!important;box-shadow:0 7px 20px rgba(0,0,0,.18)!important}

.qv-zalo-cta{
  position:relative!important;overflow:hidden!important;background:linear-gradient(135deg,#0a8cf0,#08b8d8)!important;
  color:#fff!important;border:0!important;box-shadow:0 6px 18px rgba(0,151,230,.30)!important;
  animation:qvZaloPulse 1.8s ease-in-out infinite!important
}
.qv-zalo-cta:before{
  content:"";position:absolute;top:-70%;left:-55%;width:35%;height:240%;transform:rotate(25deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
  animation:qvZaloShine 2.4s linear infinite
}
.qv-zalo-cta:hover{transform:translateY(-2px) scale(1.03)!important;box-shadow:0 9px 25px rgba(0,151,230,.45)!important;color:#fff!important}
@keyframes qvZaloPulse{0%,100%{box-shadow:0 6px 18px rgba(0,151,230,.28)}50%{box-shadow:0 8px 28px rgba(0,151,230,.58)}}
@keyframes qvZaloShine{0%{left:-55%}100%{left:135%}}
@media (prefers-reduced-motion:reduce){.qv-zalo-cta,.qv-zalo-cta:before{animation:none!important}}


/* ===== PHASE 6.7: Bộ lọc theo Product Categories + giá 1-20 triệu ===== */
.qv-category-filter .qv-cat-chip{display:block;margin:0 0 8px}
.qv-category-filter .qv-cat-chip span{display:block;width:100%;text-align:left;padding:10px 13px;border-radius:12px}
.qv-category-filter .qv-cat-chip input:checked+span{font-weight:800}
.qv-price-filter .qv-price-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
.qv-price-filter select{width:100%;height:44px;border:1px solid #dce5ee;border-radius:9px;background:#fff;padding:0 9px;color:#34465d}
.qv-price-hint{font-size:11px;color:#8391a5;margin-top:7px}
@media(max-width:640px){.qv-price-filter .qv-price-row{grid-template-columns:1fr!important}}


/* ===== PHASE 6.8: MOBILE POLISH + DATE FIELD FIX ===== */
.qv-date-field{display:block!important;padding:16px 22px!important;min-width:0!important}
.qv-date-field>label{display:block!important;margin:0 0 8px!important;font-size:13px!important;line-height:1.2!important;color:#173f73!important;font-weight:800!important}
.qv-date-control{position:relative!important;width:100%!important;min-width:0!important;height:48px!important}
.qv-date-control-icon{position:absolute!important;left:13px!important;top:50%!important;transform:translateY(-50%)!important;width:22px!important;height:22px!important;color:#1398aa!important;z-index:3!important;pointer-events:none!important;display:block!important}
.qv-date-control-icon svg{display:block!important;width:22px!important;height:22px!important}
.qv-date-control .qv-date-display{display:block!important;position:relative!important;width:100%!important;height:48px!important;margin:0!important;padding:0 14px 0 45px!important;background:#fff!important;border:1px solid #d9e2ea!important;border-radius:8px!important;font-size:16px!important;line-height:48px!important;color:#34465d!important;-webkit-text-fill-color:#34465d!important;opacity:1!important;cursor:pointer!important;box-shadow:none!important}
.qv-date-control .qv-date-display::placeholder{color:#788ba2!important;opacity:1!important}
.qv-date-control .qv-native-date{position:absolute!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:48px!important;opacity:0!important;z-index:5!important;pointer-events:auto!important;cursor:pointer!important;margin:0!important;padding:0!important}
.qv-date-control:after{display:none!important;content:none!important}
.qv-search-field:not(.qv-date-field){padding:16px 22px!important}
.qv-search-field:not(.qv-date-field)>span{font-size:22px!important}
.qv-search-field select{height:48px!important}

/* Card thông tin gọn hơn nhưng vẫn đủ dữ liệu */
.qv-card-content h2{margin-bottom:6px!important}
.qv-product-area,.qv-area,.qv-distance{margin-bottom:6px!important}
.qv-card-section-title{margin:9px 0 5px!important;font-size:14px!important}
.qv-facts-summary{gap:6px 10px!important;margin:4px 0 8px!important}
.qv-facts-summary span{font-size:13px!important;line-height:1.35!important}
.qv-amenities-inline{gap:5px!important;margin:6px 0 9px!important;font-size:12.5px!important}
.qv-amenities-inline span{padding:4px 7px!important;font-size:12px!important}
.qv-card-actions{margin-top:10px!important}
.qv-card-price{padding:16px 14px!important}
.qv-card-price strong{font-size:24px!important}
.qv-card-price>small{font-size:12px!important;margin-top:5px!important;margin-bottom:9px!important}
.qv-price-extra{padding-top:10px!important;margin-top:4px!important}
.qv-card-price .qv-check{font-size:11px!important;padding:6px 9px!important;margin-bottom:8px!important}
.qv-card-price .qv-payment-notes{font-size:11.5px!important;line-height:1.45!important}
.qv-card-price .qv-payment-notes div{margin:3px 0!important}
.qv-card-price .qv-payment-notes div:first-child strong{font-size:13px!important;color:#e53935!important;font-weight:800!important}

@media(max-width:640px){
  .qv-page{padding:12px 10px 36px!important}
  .qv-searchbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;margin:12px 0 28px!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 12px 30px rgba(25,48,75,.10)!important}
  .qv-search-field{min-height:0!important;border-right:1px solid #e4ebf2!important;border-bottom:1px solid #e4ebf2!important;background:#fff!important}
  .qv-search-field.qv-date-field{padding:13px 11px 14px!important}
  .qv-date-field>label{font-size:11px!important;margin-bottom:7px!important;white-space:nowrap!important}
  .qv-date-control{height:43px!important}
  .qv-date-control .qv-date-display{height:43px!important;line-height:43px!important;font-size:14px!important;padding-left:39px!important;padding-right:8px!important;border-radius:7px!important}
  .qv-date-control .qv-native-date{height:43px!important}
  .qv-date-control-icon{left:10px!important;width:19px!important;height:19px!important}
  .qv-date-control-icon svg{width:19px!important;height:19px!important}
  .qv-search-field:not(.qv-date-field){padding:13px 11px!important;display:block!important}
  .qv-search-field:not(.qv-date-field)>span{display:none!important}
  .qv-search-field:not(.qv-date-field)>label{display:block!important;font-size:11px!important;margin:0 0 7px!important;color:#173f73!important;font-weight:800!important}
  .qv-search-field select{height:43px!important;font-size:14px!important;padding:0 8px!important;border:1px solid #d9e2ea!important;border-radius:7px!important;background:#fff!important}
  .qv-search-submit{margin:0!important;border-radius:0!important;min-height:70px!important;height:auto!important;font-size:16px!important;grid-column:auto!important}

  .qv-heading{margin-bottom:24px!important}
  .qv-heading h1{font-size:27px!important;line-height:1.15!important;margin-bottom:6px!important}
  .qv-heading p{font-size:14px!important;line-height:1.4!important;padding:0 12px!important}
  .qv-results-top{margin-bottom:12px!important}
  .qv-results-top strong{font-size:18px!important;line-height:1.3!important}

  .qv-villa-card{border-radius:16px!important;margin-bottom:16px!important}
  .qv-card-media.qv-card-gallery{grid-template-rows:205px 92px!important;min-height:301px!important}
  .qv-card-body{padding:14px 14px 12px!important}
  .qv-card-content h2{font-size:20px!important;line-height:1.25!important;margin-bottom:7px!important}
  .qv-product-area,.qv-area,.qv-distance{font-size:13.5px!important;margin-bottom:5px!important}
  .qv-card-section-title{font-size:13px!important;margin:8px 0 4px!important}
  .qv-facts-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px 8px!important;margin-bottom:7px!important}
  .qv-facts-summary span{font-size:12.5px!important;white-space:nowrap!important}
  .qv-amenities-inline{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:5px!important;margin:5px -2px 8px!important;padding:0 2px 3px!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}
  .qv-amenities-inline::-webkit-scrollbar{display:none!important}
  .qv-amenities-inline>strong{flex:0 0 auto!important;font-size:12.5px!important;padding-top:4px!important}
  .qv-amenities-inline span{flex:0 0 auto!important;white-space:nowrap!important;font-size:11.5px!important;padding:4px 7px!important}
  .qv-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:9px!important}
  .qv-card-actions .qv-btn{display:flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:8px!important;font-size:12.5px!important}
  .qv-card-price{margin-top:11px!important;padding:13px 10px 11px!important;border-top:1px dashed #dbe4ed!important}
  .qv-availability{font-size:12px!important;margin-bottom:7px!important}
  .qv-card-price strong{font-size:25px!important;line-height:1.15!important}
  .qv-card-price>small{font-size:11.5px!important;margin:5px 0 7px!important}
  .qv-price-extra{padding-top:8px!important;border-top:0!important;margin-top:0!important}
  .qv-card-price .qv-check{font-size:10.5px!important;margin:0 auto 7px!important;padding:5px 8px!important}
  .qv-card-price .qv-payment-notes{max-width:330px!important;margin:0 auto!important;font-size:11.5px!important;text-align:center!important;line-height:1.45!important}
  .qv-card-price .qv-payment-notes div{margin:3px 0!important}
  .qv-card-price .qv-payment-notes div:first-child strong{font-size:13px!important;color:#e53935!important;font-weight:800!important}

  /* tránh nút social/Zalo che nội dung card */
  .qv-villa-card .qv-card-price{padding-right:16px!important}
}

@media(max-width:390px){
  .qv-searchbar{grid-template-columns:1fr!important}
  .qv-search-field{border-right:0!important}
  .qv-search-submit{min-height:58px!important}
  .qv-facts-summary{grid-template-columns:1fr 1fr!important}
}


/* ===== PHASE 6.9.1 SAFE AMENITY ICONS ===== */
.qv-amenities-inline{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:8px 0 12px!important;
}
.qv-amenities-inline>strong{
  color:#173f73!important;
  font-size:14px!important;
  margin-right:2px!important;
}
.qv-amenities-inline .qv-amenity-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  border:1px solid #e3edf4!important;
  background:#f5f9fc!important;
  color:#53677d!important;
  font-size:13px!important;
  line-height:1.15!important;
}
.qv-amenity-symbol{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:19px!important;
  min-width:19px!important;
  font-size:15px!important;
  line-height:1!important;
}
@media(max-width:640px){
  .qv-amenities-inline{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    padding-bottom:3px!important;
  }
  .qv-amenities-inline::-webkit-scrollbar{display:none!important}
  .qv-amenities-inline>strong{flex:0 0 auto!important}
  .qv-amenities-inline .qv-amenity-chip{flex:0 0 auto!important;font-size:12px!important;padding:4px 8px!important}
}


/* ===== PHASE 6.9.2: REMOVE LABEL + BIGGER AMENITY ICONS ===== */
.qv-amenities-inline > strong{
    display:none!important;
}
.qv-amenities-inline{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
    margin:10px 0 12px!important;
}
.qv-amenities-inline .qv-amenity-chip{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    min-height:38px!important;
    padding:7px 12px!important;
    border:1px solid #dceaf2!important;
    border-radius:999px!important;
    background:#f5f9fc!important;
    color:#4d6177!important;
    font-size:13px!important;
    line-height:1.1!important;
    font-weight:600!important;
}
.qv-amenities-inline .qv-amenity-symbol{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    font-size:22px!important;
    line-height:1!important;
    transform:none!important;
}
@media(max-width:640px){
    .qv-amenities-inline{
        flex-wrap:wrap!important;
        overflow:visible!important;
        gap:6px!important;
    }
    .qv-amenities-inline .qv-amenity-chip{
        min-height:34px!important;
        padding:5px 9px!important;
        gap:5px!important;
        font-size:12px!important;
    }
    .qv-amenities-inline .qv-amenity-symbol{
        width:24px!important;
        min-width:24px!important;
        height:24px!important;
        font-size:19px!important;
    }
}


/* ===== PHASE 6.9.4: GIỮ NGUYÊN 6.9.2, CHỈ TINH CHỈNH MOBILE ===== */

/* Tiện ích dạng phẳng, giống phần Thông tin căn */
.qv-amenities-inline{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:7px 14px!important;
    margin:8px 0 12px!important;
}
.qv-amenities-inline .qv-amenity-chip{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
    min-height:auto!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    color:#4e6177!important;
    font-size:13px!important;
    line-height:1.35!important;
}
.qv-amenities-inline .qv-amenity-symbol{
    width:auto!important;
    min-width:22px!important;
    height:auto!important;
    font-size:19px!important;
    line-height:1!important;
}

/* Mobile: giá nhỏ hơn và tiện ích phẳng */
@media(max-width:640px){
    .qv-card-price > strong{
        font-size:26px!important;
        line-height:1.1!important;
        font-weight:800!important;
        margin:3px 0!important;
    }
    .qv-card-price > small{
        font-size:12px!important;
        margin-top:3px!important;
    }

    .qv-amenities-inline{
        display:flex!important;
        flex-wrap:wrap!important;
        overflow:visible!important;
        gap:6px 12px!important;
        margin:7px 0 10px!important;
    }
    .qv-amenities-inline .qv-amenity-chip{
        flex:0 0 auto!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        font-size:12.5px!important;
        font-weight:600!important;
    }
    .qv-amenities-inline .qv-amenity-symbol{
        width:auto!important;
        min-width:20px!important;
        height:auto!important;
        font-size:18px!important;
    }
}


/* ===== PHASE 6.9.5: MOBILE HARD OVERRIDE =====
   Đặt CUỐI file để thắng toàn bộ CSS cũ trên mobile.
*/
@media screen and (max-width: 767px){

  /* GIÁ MOBILE: nhỏ rõ rệt */
  body .qv-villa-card .qv-card-price > strong,
  body .qv-villa-card .qv-card-price strong{
      font-size:21px!important;
      line-height:1.08!important;
      font-weight:800!important;
      margin:2px 0!important;
  }

  /* TIỆN ÍCH MOBILE: tuyệt đối không chip/bo tròn */
  body .qv-villa-card .qv-amenities-inline{
      display:flex!important;
      flex-wrap:wrap!important;
      overflow:visible!important;
      gap:7px 14px!important;
      margin:8px 0 11px!important;
      padding:0!important;
  }

  body .qv-villa-card .qv-amenities-inline > span,
  body .qv-villa-card .qv-amenities-inline .qv-amenity-chip{
      display:inline-flex!important;
      align-items:center!important;
      width:auto!important;
      min-width:0!important;
      min-height:0!important;
      flex:0 0 auto!important;
      gap:5px!important;
      margin:0!important;
      padding:0!important;
      background:none!important;
      background-color:transparent!important;
      background-image:none!important;
      border:0!important;
      outline:0!important;
      border-radius:0!important;
      box-shadow:none!important;
      white-space:nowrap!important;
      color:#42566f!important;
      font-size:12.5px!important;
      font-weight:600!important;
      line-height:1.4!important;
  }

  body .qv-villa-card .qv-amenities-inline .qv-amenity-symbol{
      display:inline-block!important;
      width:auto!important;
      min-width:19px!important;
      height:auto!important;
      margin:0!important;
      padding:0!important;
      background:transparent!important;
      border:0!important;
      border-radius:0!important;
      box-shadow:none!important;
      font-size:17px!important;
      line-height:1!important;
  }
}


/* Phase 6.9.7 functional feedback */
.qv-filter-error{margin:0 0 14px;padding:11px 14px;background:#fff3f3;border:1px solid #f4bcbc;border-radius:10px;color:#b42318;font-weight:600}
.qv-booking-alert.is-ok{color:#079455;background:#ecfdf3;border:1px solid #abefc6;padding:10px 12px;border-radius:9px;margin-top:10px}
.qv-booking-alert.is-error{color:#b42318;background:#fff3f3;border:1px solid #fecdca;padding:10px 12px;border-radius:9px;margin-top:10px}
.qv-ajax-app.is-filtering .qv-results-list{opacity:.55;pointer-events:none;transition:opacity .15s ease}

.qv-search-submit,.qv-check-btn,.qv-book-btn,.qv-clear,.qv-chip,.qv-filter select,.qv-sort,.qv-date-control{position:relative!important;z-index:50!important;pointer-events:auto!important}


/* ===== Phase 6.9.13: reliable no-AJAX controls ===== */
.qv-filter-form{display:block}
.qv-native-visible input[type="date"]{
  display:block!important;
  position:relative!important;
  opacity:1!important;
  width:100%!important;
  height:46px!important;
  padding:0 12px 0 38px!important;
  border:1px solid #dbe6ee!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#465a70!important;
  pointer-events:auto!important;
}
.qv-native-visible .qv-date-control-icon{
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:3!important;
  pointer-events:none!important;
}
.qv-apply-filter{
  display:block;width:100%;border:0;border-radius:10px;
  background:#168d9d;color:#fff;font-weight:800;padding:12px 14px;
  margin-top:8px;cursor:pointer
}
.qv-clear-link{
  display:block;text-align:center;margin-top:10px;padding:9px;
  color:#66798f;text-decoration:none;background:#f3f6f9;border-radius:9px
}
.qv-customer-details{margin-top:14px}
.qv-customer-details summary{list-style:none;cursor:pointer;text-align:center}
.qv-customer-details summary::-webkit-details-marker{display:none}
.qv-customer-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:14px;padding-top:14px;border-top:1px solid #e7edf2}
.qv-customer-form label{font-size:13px;font-weight:700}
.qv-customer-form input{display:block;width:100%;margin-top:5px;padding:11px;border:1px solid #dbe6ee;border-radius:8px}
.qv-booking-alert.is-ok{color:#087a43;background:#ecfdf3;border:1px solid #abefc6;padding:10px 12px;border-radius:9px;margin-top:12px}
.qv-booking-alert.is-error{color:#b42318;background:#fff3f3;border:1px solid #fecdca;padding:10px 12px;border-radius:9px;margin-top:12px}
@media(max-width:640px){
  .qv-customer-form{grid-template-columns:1fr}
}


/* =========================================================
   PHASE 7.0 - HOME PRODUCT GRID
   Trang chủ nhẹ; archive/detail vẫn dùng layout riêng.
   ========================================================= */
.qv-home-villas{max-width:1380px;margin:0 auto;padding:14px 18px 30px}
.qv-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.qv-home-card{
  min-width:0;background:#fff;border-radius:22px;overflow:hidden;
  box-shadow:0 12px 34px rgba(29,53,78,.08);
  border:1px solid #edf2f5;transition:transform .2s ease,box-shadow .2s ease
}
.qv-home-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(29,53,78,.13)}
.qv-home-image{display:block;position:relative;aspect-ratio:1.08/1;overflow:hidden;border-bottom:3px solid #10b6d4}
.qv-home-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.qv-home-card:hover .qv-home-image img{transform:scale(1.035)}
.qv-home-save{
  position:absolute;left:18px;bottom:18px;width:38px;height:38px;border-radius:50%;
  background:#fff;color:#1c334d;display:grid;place-items:center;font-size:23px;
  box-shadow:0 5px 15px rgba(0,0,0,.12)
}
.qv-home-location{
  position:absolute;right:18px;bottom:18px;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  background:rgba(24,31,37,.84);color:#fff;padding:9px 14px;border-radius:24px;font-size:12px;font-weight:800
}
.qv-home-card-body{padding:25px 22px 20px}
.qv-home-card h3{margin:0 0 16px;font-size:19px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qv-home-card h3 a{color:#122943;text-decoration:none}
.qv-home-distance{display:flex;gap:7px;align-items:center;color:#8291a5;font-size:13px;margin-bottom:18px}
.qv-home-distance strong{color:#08afd2}
.qv-home-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}
.qv-home-facts span{
  min-width:0;background:#f6f9fb;border:1px solid #edf1f4;border-radius:8px;
  padding:10px 11px;color:#40536a;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.qv-home-facts span b{color:#334a62}
.qv-home-time{
  background:#f2f8fc;border-left:4px solid #10b6d4;border-radius:11px;
  padding:15px 16px;color:#0879ef;font-size:13px
}
.qv-home-more{text-align:center;margin-top:28px}
.qv-home-more a{
  display:inline-block;text-decoration:none;background:#10a9bd;color:#fff;
  font-weight:800;border-radius:10px;padding:13px 22px
}

@media(max-width:1024px){
  .qv-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media(max-width:640px){
  .qv-home-villas{padding:10px 10px 22px}
  .qv-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .qv-home-card{border-radius:14px}
  .qv-home-image{aspect-ratio:1/1}
  .qv-home-save{left:8px;bottom:8px;width:29px;height:29px;font-size:17px}
  .qv-home-location{right:7px;bottom:8px;padding:6px 8px;font-size:9px;max-width:72%}
  .qv-home-card-body{padding:12px 10px 11px}
  .qv-home-card h3{font-size:13px;margin-bottom:9px}
  .qv-home-distance{font-size:10px;margin-bottom:10px}
  .qv-home-facts{gap:5px;margin-bottom:10px}
  .qv-home-facts span{font-size:9.5px;padding:7px 6px}
  .qv-home-time{font-size:9.5px;padding:9px 7px;border-left-width:3px}
}


/* =========================================================
   PHASE 7.1 - HOME PRICE + FAST NATIVE DATES
   ========================================================= */
.qv-home-price{
  display:flex;
  align-items:baseline;
  gap:5px;
  margin:2px 0 12px;
  min-height:25px;
}
.qv-home-price small{
  color:#8493a5;
  font-size:10px;
  font-weight:800;
  letter-spacing:.25px;
  margin-right:auto;
}
.qv-home-price strong{
  color:#ef3d43;
  font-size:19px;
  line-height:1;
  font-weight:900;
}
.qv-home-price span{
  color:#8493a5;
  font-size:10px;
}

/* Archive: input date thật, không overlay, không JS sync => thao tác nhẹ hơn */
.qv-noajax-app .qv-date-control{
  height:auto!important;
  min-height:46px!important;
  overflow:visible!important;
  contain:layout!important;
}
.qv-noajax-app .qv-date-control input[type="date"]{
  -webkit-appearance:auto!important;
  appearance:auto!important;
  display:block!important;
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  opacity:1!important;
  pointer-events:auto!important;
  z-index:2!important;
  margin:0!important;
  padding:0 10px 0 38px!important;
  border:1px solid #dbe6ee!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#465a70!important;
  -webkit-text-fill-color:#465a70!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.qv-noajax-app .qv-date-control input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer!important;
  opacity:1!important;
}
.qv-noajax-app .qv-date-control-icon{
  z-index:3!important;
  pointer-events:none!important;
}
.qv-filter-date-notice{
  max-width:1180px;
  margin:0 auto 14px;
  padding:10px 14px;
  border:1px solid #fecdca;
  border-radius:9px;
  background:#fff3f3;
  color:#b42318;
  font-size:13px;
  font-weight:700;
}

@media(max-width:640px){
  .qv-home-price{display:block;margin:2px 0 9px}
  .qv-home-price small{display:block;font-size:8px;margin-bottom:3px}
  .qv-home-price strong{font-size:14px}
  .qv-home-price span{font-size:8px}
}


/* =========================================================
   PHASE 7.2 - CATEGORY -> ADVANCED LISTING
   ========================================================= */
.qv-active-category{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:12px;
  padding:8px 13px;
  border-radius:999px;
  background:#eef8ff;
  color:#45627d;
  font-size:13px;
  border:1px solid #d9ebf8;
}
.qv-active-category strong{color:#1478bf}
.qv-category-filter{
  max-height:620px;
  overflow:auto;
  padding-right:5px;
}
.qv-cat-depth-1 span{padding-left:8px!important;font-size:13px}
.qv-cat-depth-2 span{padding-left:17px!important;font-size:12.5px;color:#65768a}


/* Phase 7.3 */
.qv-home-more a{white-space:nowrap}

/* Phase 7.4 direct template */
.qv-advanced-listing-route{width:100%;min-height:60vh}



/* =========================================================
   PHASE 7.6 - HOME AMENITIES + STABLE LISTING INTEGRATION
   ========================================================= */
.qv-home-amenities{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  margin:0 0 12px;
}
.qv-home-amenities span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:0;
  color:#4e6278;
  font-size:11.5px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:48%;
}
.qv-home-amenities span i{
  font-style:normal;
  font-size:14px;
  line-height:1;
  flex:0 0 auto;
}
.qv-advanced-listing-route{
  width:100%;
  min-height:60vh;
}
@media(max-width:640px){
  .qv-home-amenities{
    gap:4px 8px;
    margin-bottom:8px;
  }
  .qv-home-amenities span{
    font-size:9px;
    max-width:100%;
  }
  .qv-home-amenities span i{
    font-size:11px;
  }
}
