/* Vietnamese typography and hotel search form layout. */
:root{
    --font-body:'Be Vietnam Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif !important;
    --font-display:'Be Vietnam Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif !important;
}
html,body,button,input,select,textarea,h1,h2,h3,h4,h5,h6,.stay-site,.stay-nav,.main-nav,.hero-copy,.section-heading,.stay-brand{
    font-family:'Be Vietnam Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif !important;
}

/* Luxury Brand Header & Footer */
.stay-brand{display:inline-flex !important;align-items:center !important;gap:12px !important;text-decoration:none !important;line-height:1 !important}
.brand-emblem-icon{width:44px;height:44px;border-radius:12px;object-fit:contain;flex-shrink:0;box-shadow:0 4px 14px rgba(0,0,0,0.22);transition:transform .22s ease}
.stay-brand:hover .brand-emblem-icon{transform:scale(1.05)}
.brand-text-block{display:flex;flex-direction:column;justify-content:center;gap:3px;text-align:left}
.brand-name-main{font-family:'Be Vietnam Pro',sans-serif !important;font-size:18px;font-weight:800;letter-spacing:.7px;color:#ffffff;text-transform:uppercase;line-height:1.15;white-space:nowrap}
.brand-tagline{font-family:'Be Vietnam Pro',sans-serif !important;font-size:9.5px;font-weight:700;letter-spacing:3.5px;color:#ffcf40;text-transform:uppercase;line-height:1;white-space:nowrap}
.footer-brand .brand-name-main{color:#1e2330 !important}
.footer-brand .brand-tagline{color:#b8860b !important}

/* Header Nav Actions */
.stay-nav{gap:32px !important}
.nav-actions{display:flex !important;align-items:center !important;gap:12px !important;margin-left:auto}
.nav-phone-btn{display:inline-flex;align-items:center;gap:8px;color:#ffffff;font-weight:700;font-size:13.5px;padding:8px 15px;border-radius:99px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);text-decoration:none;white-space:nowrap;transition:all .2s ease}
.nav-phone-btn:hover{background:rgba(255,255,255,0.22);color:#ffd25d;transform:translateY(-1px)}
.nav-phone-btn .hotel-icon{color:#ffd25d}
.button-header-book{background:linear-gradient(135deg,#ffd056 0%,#ffb822 100%) !important;color:#2b1f06 !important;font-weight:800 !important;font-size:13px !important;padding:9px 18px !important;border-radius:99px !important;box-shadow:0 4px 14px rgba(255,184,34,0.35) !important;border:none !important;display:inline-flex !important;align-items:center !important;gap:7px !important;white-space:nowrap !important;text-decoration:none !important;transition:transform .18s,box-shadow .18s !important}
.button-header-book:hover{transform:translateY(-1.5px) !important;box-shadow:0 6px 20px rgba(255,184,34,0.45) !important;color:#1a1200 !important}
.nav-admin-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,0.15);color:#fff;text-decoration:none}
.nav-admin-link:hover{background:rgba(255,255,255,0.25)}

/* Mobile Menu Backdrop & Drawer Base */
.menu-backdrop{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:rgba(12,7,26,.65);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:45}
.menu-open .menu-backdrop{display:block}
.menu-open{overflow:hidden}
.mobile-menu{display:none;background:transparent;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:8px;line-height:0;transition:background .2s}
.mobile-menu:hover,.mobile-menu:active{background:rgba(255,255,255,.15)}
.mobile-menu .icon-close{display:none}
.menu-open .mobile-menu .icon-menu{display:none}
.menu-open .mobile-menu .icon-close{display:block}
.mobile-nav-actions{display:none}
@keyframes slideDownNav{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:960px){.nav-phone-btn span{display:none}.nav-phone-btn{padding:8px 10px}}
@media(max-width:760px){.nav-phone-btn,.button-header-book{display:none !important}.brand-name-main{font-size:15px}.brand-tagline{font-size:8px;letter-spacing:2px}.brand-emblem-icon{width:36px;height:36px}}
.search-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(110px,.72fr) minmax(110px,.72fr) minmax(145px,.8fr);grid-template-areas:"destination destination destination destination destination" "dates dates occupancy occupancy submit";gap:10px;padding:12px;border-radius:18px;box-shadow:0 16px 42px rgba(24,50,93,.13)}
.search-box .destination-field{grid-area:destination;min-height:66px;padding:10px 17px;border:1px solid #d9dee8;border-radius:11px;background:#fff}
.search-dates{grid-area:dates;display:grid;grid-template-columns:1fr 1fr;min-width:0;overflow:hidden;border:1px solid #d9dee8;border-radius:11px;background:#fff}
.search-occupancy{grid-area:occupancy;display:grid;grid-template-columns:1fr 1fr;min-width:0;overflow:hidden;border:1px solid #d9dee8;border-radius:11px;background:#fff}
.search-box .search-dates .search-field,.search-box .search-occupancy .search-field{min-height:66px;padding:9px 13px;border:0;background:transparent}
.search-box .search-dates .checkin-field,.search-box .search-occupancy .guests-field{border-right:1px solid #e7eaf0}
.search-box .search-submit{grid-area:submit;min-height:66px;padding:0 18px;border-radius:11px;background:#2864dc;color:#fff;font-size:15px;box-shadow:0 5px 14px rgba(40,100,220,.18)}
.search-box .search-submit:hover{background:#1e55c2;box-shadow:0 8px 18px rgba(40,100,220,.24)}
.heart.saved{color:#e25d80;background:#fff0f3}
.button:focus-visible,.search-submit:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(255,191,50,.72);outline-offset:2px}
@media(max-width:1000px) and (min-width:761px){.search-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(130px,.8fr)}.search-box .search-dates .search-field,.search-box .search-occupancy .search-field{padding-inline:9px;gap:7px}.search-box .field-icon{font-size:19px}}
@media(max-width:760px){.search-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"destination destination" "dates dates" "occupancy occupancy" "submit submit";gap:8px;padding:9px;border-radius:15px}.search-box .destination-field{grid-column:1/3;min-height:60px;padding:9px 12px;border:1px solid #d9dee8}.search-box .search-dates .search-field,.search-box .search-occupancy .search-field{min-height:60px;padding:8px 9px;gap:7px}.search-box .search-occupancy .guests-field{border-top:0}.search-box .field-icon{font-size:19px}.search-box .field-copy{gap:3px}.search-box .field-copy small{font-size:8px}.search-box .field-copy input,.search-box .field-copy select{font-size:12px}.search-box .field-copy input[type=date]{font-size:11px}.search-box .search-submit{grid-column:1/3;min-height:52px;margin:0;border-radius:10px;font-size:14px}.results-search-band .search-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"destination destination" "dates dates" "occupancy occupancy" "submit submit"}}
@media(max-width:380px){.search-box .search-dates{grid-template-columns:1fr}.search-box .search-dates .checkin-field{border-right:0;border-bottom:1px solid #e7eaf0}.search-box .search-dates .search-field{min-height:54px}.search-box .field-copy input[type=date]{font-size:12px}}

.stay-types-section{padding-top:65px}
.stay-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stay-type-card{min-height:188px;border-radius:15px;overflow:hidden;position:relative;isolation:isolate;padding:18px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:#3e2c75;box-shadow:0 8px 24px rgba(38,26,73,.12);transition:transform .2s,box-shadow .2s}
.stay-type-card::before{content:'';position:absolute;inset:0;z-index:-2;background:var(--stay-type-image) center/cover;transition:transform .35s}
.stay-type-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(23,16,46,.18),rgba(23,16,46,.78))}
.stay-type-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(38,26,73,.2)}
.stay-type-card:hover::before{transform:scale(1.05)}
.stay-type-icon{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:19px;backdrop-filter:blur(7px)}
.stay-type-copy{display:flex;flex-direction:column;gap:5px}
.stay-type-copy strong{font:800 18px/1.2 var(--font-display)}
.stay-type-copy small{font-size:11px;color:rgba(255,255,255,.84)}
.stay-type-copy small:last-child{font-weight:700;color:#ffd66c;margin-top:3px}
.stay-type-copy small b{font-size:15px;margin-left:5px}
.property-type-badge{position:absolute;left:13px;bottom:13px;padding:6px 9px;border-radius:6px;background:rgba(255,255,255,.94);color:#4e369b;font-size:10px;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.result-photo{position:relative}
.result-photo .property-type-badge{left:10px;bottom:10px}
.property-type-pill{display:inline-flex;align-items:center;border-radius:99px;padding:6px 9px;background:#f1edff;color:#563bad;font-size:11px;font-weight:800;white-space:nowrap}
.property-type-resort{background:#e9f7f5;color:#167869}
.property-type-villa,.property-type-bungalow{background:#fff3df;color:#936009}
.property-type-homestay,.property-type-guesthouse{background:#eff7e9;color:#4b7726}
.property-type-apartment{background:#edf3ff;color:#345c9f}
.property-type-hostel{background:#fcecf2;color:#9a4266}
.area-filter{width:100%;border:1px solid #e4e4eb;border-radius:7px;background:#fff;padding:10px;color:#343746;font-size:12px}
.promotion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.promotion-card{min-height:270px;position:relative;overflow:hidden;border:1px solid #eceaf2;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(37,29,68,.06);transition:transform .18s,box-shadow .18s}
.promotion-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(37,29,68,.12)}
.promotion-image{display:block;height:125px;background:#e8e5ee center/cover}
.promotion-body{padding:15px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.promotion-discount{background:#fff1ed;color:#cc4c36;border-radius:5px;padding:5px 7px;font-size:9px;font-weight:900;letter-spacing:.45px}
.promotion-body>strong{font:800 14px/1.35 var(--font-display);color:#292538}
.promotion-body>small{font-size:10px;color:#737687;line-height:1.45}
.promotion-code{display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px dashed #ddd8eb;padding-top:9px;margin-top:2px;color:#777386;font-size:9px}
.promotion-code b{background:#f4f1fc;border:1px dashed #cfc5eb;border-radius:5px;padding:5px 7px;color:#5037a5;font-size:10px;letter-spacing:.5px}
.promotion-code i{margin-left:auto;color:#6047b2;font-size:16px;font-style:normal}
.content-empty{grid-column:1/-1;border:1px dashed #ddd8eb;border-radius:12px;background:#fff;color:#777687;padding:24px;text-align:center;font-size:12px}
.attractions-section{background:#f8f7fb;padding-bottom:70px;margin-top:10px}
.attractions-section .section-spacing{padding-top:65px}
.attraction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.attraction-card{overflow:hidden;border:1px solid #e9e7ef;border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(37,29,68,.05)}
.attraction-image{height:170px;position:relative;display:block;background:#e7e4ed center/cover}
.attraction-image::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(21,18,34,.2))}
.attraction-image>span{position:absolute;z-index:1;left:11px;bottom:11px;border-radius:20px;background:rgba(255,255,255,.93);padding:6px 9px;color:#4e369b;font-size:9px;font-weight:800}
.attraction-copy{padding:14px 15px 15px}
.attraction-copy>small{color:#777b89;font-size:9px;font-weight:700}
.attraction-copy h3{font:800 15px/1.35 var(--font-display);margin:6px 0;color:#292638}
.attraction-copy p{font-size:10px;line-height:1.55;color:#737687;margin:0;min-height:47px}
.attraction-links{display:flex;flex-wrap:wrap;gap:13px;border-top:1px solid #eeedf2;margin-top:12px;padding-top:10px}
.attraction-links a{font-size:9px;font-weight:800;color:#5a40ad}
.attraction-links b{font-size:12px;margin-left:3px}
.detail-promotion-list{display:grid;gap:9px;margin-top:14px}
.detail-promotion{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e7e1f5;border-radius:9px;background:#fbfaff}
.detail-promotion-percent{flex:none;border-radius:7px;background:#fcebe7;color:#c64a37;padding:8px;font:800 12px var(--font-display)}
.detail-promotion>div{display:flex;flex-direction:column;gap:4px;flex:1}
.detail-promotion>div strong{font-size:11px}
.detail-promotion>div small{font-size:9px;color:#777987;line-height:1.4}
.detail-promotion-code{flex:none;border:1px dashed #cfc5eb;border-radius:5px;background:#f4f1fc;padding:6px 8px;color:#5037a5;font-size:9px;font-weight:900;letter-spacing:.4px}
.promotion-hint{display:block;margin-top:4px;color:#858795;font-size:9px;line-height:1.4}
.booking-price-summary{display:grid!important;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}
.booking-price-summary>span,.booking-price-summary>strong{font-size:10px}
.booking-price-summary>span{color:#767986}
.booking-price-summary>strong{font-weight:700;color:#363746}
.booking-price-summary .discount-label,.booking-price-summary .discount-value{color:#13815a}
.booking-price-summary .grand-total-label{padding-top:9px;border-top:1px solid #ececf1;font-weight:800;color:#343442}
.booking-price-summary .grand-total{padding-top:9px;border-top:1px solid #ececf1;font:800 16px var(--font-display);color:#5239a8}
.booking-price-summary [hidden]{display:none!important}
.confirmation-promo{color:#12805a!important;font-weight:800}
.promotion-admin-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(500px,1.5fr);gap:16px;align-items:start}
.promotion-admin-grid .edit-card{padding-bottom:18px}
.promotion-admin-grid .edit-card form{padding:0 19px}
.promotion-admin-grid .admin-card-heading{padding-inline:19px}
.promotion-list-card .admin-card-heading{padding:18px 18px 15px}
.promotion-table td{white-space:normal;min-width:100px}
.promotion-table td:first-child{min-width:190px}
.promotion-table td:nth-child(2){min-width:135px}
.promotion-table td:last-child{min-width:85px}
.promo-code-label{color:#5a40ad;letter-spacing:.4px}
.property-detail-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:8px 0 20px}
.property-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.property-title-row h1{font:800 29px/1.2 var(--font-display);letter-spacing:-.7px;margin:7px 0 5px}
.property-stars{color:#f5b32b;font-size:15px;letter-spacing:2px}
.property-address{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#686d7a;font-size:12px;margin:5px 0}
.property-address a{color:#5840ad;font-size:11px;font-weight:800}
.property-review-score{display:flex;align-items:center;gap:10px;flex:none}
.property-review-score>strong{background:#5439ae;color:#fff;border-radius:8px 8px 8px 2px;padding:10px;font:800 19px var(--font-display)}
.property-review-score>span{display:flex;flex-direction:column;gap:4px}
.property-review-score b{font-size:11px}
.property-review-score small{font-size:9px;color:#7c808c}
.property-gallery{height:360px;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;overflow:hidden;border-radius:14px}
.property-photo{display:block;position:relative;background-color:#e8e6ed;background-size:cover;background-position:center;transition:filter .15s}
.property-photo:hover{filter:brightness(.9)}
.property-photo-1{grid-column:1/2;grid-row:1/3}
.property-photo-2{grid-column:2/3;grid-row:1/2}
.property-photo-3{grid-column:3/4;grid-row:1/2}
.property-photo-4{grid-column:2/3;grid-row:2/3}
.property-photo-5{grid-column:3/4;grid-row:2/3}
.property-photo-5>span{position:absolute;right:11px;bottom:11px;background:rgba(20,18,30,.72);color:#fff;border-radius:6px;padding:7px 9px;font-size:9px;font-weight:800}
.property-section-nav{position:sticky;top:0;z-index:8;display:flex;gap:26px;overflow-x:auto;white-space:nowrap;background:rgba(255,255,255,.97);border-bottom:1px solid #e9e8ee;margin:0 0 4px;padding:14px 4px;backdrop-filter:blur(10px)}
.property-section-nav a{font-size:11px;font-weight:800;color:#555968}
.property-section-nav a:hover{color:#583eae}
.property-detail-header+.property-gallery{margin-bottom:0}
.detail-wrap .detail-columns{margin-top:0}
.detail-wrap .detail-section{scroll-margin-top:58px;padding-block:29px}
.detail-wrap .property-overview{padding-top:25px}
.detail-wrap .property-overview h2,.detail-wrap .detail-section>h2{font-size:22px}
.detail-wrap .detail-description{white-space:pre-line;font-size:13px;line-height:1.8;color:#505463}
.facility-grid{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}
.facility-grid li{display:flex;align-items:flex-start;gap:9px;color:#414655;font-size:11px;line-height:1.5}
.facility-grid li>.facility-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f1edfc;color:#6047b4}
.facility-icon .hotel-icon{width:18px;height:18px}
.room-facility-tags{display:flex;flex-wrap:wrap;gap:5px}
.room-facility-tags i{font-style:normal;background:#f3f4f7;border-radius:4px;padding:4px 6px;color:#646977;font-size:9px}
.room-price em{font-style:normal;color:#17835b;font-size:9px;font-weight:800}
.empty-room-message{border:1px dashed #dbdbe3;border-radius:9px;padding:22px;text-align:center;color:#777b88;font-size:11px}
.location-map{height:300px;overflow:hidden;border:1px solid #e2e2e8;border-radius:11px;background:#f0f1f4}
.location-map iframe{width:100%;height:100%;border:0}
.location-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:11px;padding:14px;border:1px solid #e8e7ee;border-radius:10px;background:#fff}
.location-pin{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#f1edfc;color:#6046b6;font-size:18px}
.location-card>div:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}
.location-card strong{font-size:11px;line-height:1.5}
.location-card small{font-size:9px;color:#7b7f8d;line-height:1.5}
.location-actions{grid-column:2/4;display:flex;flex-wrap:wrap;gap:7px}
.location-actions .button{padding:9px 11px;font-size:9px}
.location-actions button{cursor:pointer}
.location-actions button:disabled{opacity:.65;cursor:wait}
.gps-status{grid-column:2/4;color:#838693;font-size:9px;line-height:1.5}
.button-secondary{background:#f4f3f8;color:#51448a;padding:12px 15px;font-size:12px}
.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.policy-card{display:flex;gap:11px;padding:13px;border:1px solid #e9e8ef;border-radius:9px;background:#fff}
.policy-card>span{flex:none;color:#6249b5;font-size:17px}
.policy-card>div{display:flex;flex-direction:column;gap:5px}
.policy-card strong{font-size:10px}
.policy-card b{font-size:10px;color:#343746}
.policy-card small{font-size:9px;line-height:1.55;color:#777b88;white-space:pre-line}
.availability-form{padding-bottom:13px;border-bottom:1px solid #ececf1}
.date-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.date-input-grid .form-label{min-width:0}
.date-input-grid input{padding:9px 7px;font-size:10px}
.availability-submit{width:100%;margin-top:13px;padding:11px;background:#f3efff;color:#5239a8;font-size:10px}
.booking-selected-dates{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 0 2px}
.booking-selected-dates>span{font-size:9px;color:#7d808b}
.booking-selected-dates>strong{font-size:11px}
.booking-selected-dates>small{width:100%;font-size:9px;color:#787c89}
.guest-booking-form{border-top:1px solid #eeeef2;margin-top:9px;padding-top:2px}
.admin-photo-preview{display:flex;gap:8px;margin-top:18px;overflow:auto}
.admin-photo-preview>span{flex:none;width:104px;height:74px;border-radius:7px;background:#efedf4 center/cover}
.room-admin-item{position:relative}
.room-admin-item .room-admin-row{padding-right:34px}
@media(max-width:1000px){.promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attraction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.promotion-admin-grid{grid-template-columns:1fr}.promotion-list-card{min-width:0}}
@media(max-width:1000px){.property-gallery{height:310px}.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-section-nav{gap:19px}.location-card{grid-template-columns:32px minmax(0,1fr)}.location-actions,.gps-status{grid-column:1/3}.location-pin{grid-row:1/2}}
@media(max-width:760px){.promotion-grid{grid-template-columns:1fr 1fr;gap:10px}.promotion-card{min-height:245px}.promotion-image{height:105px}.promotion-body{padding:11px;gap:6px}.promotion-body>strong{font-size:12px}.promotion-body>small{font-size:9px}.promotion-code{font-size:8px}.promotion-code b{font-size:8px;padding:4px}.attractions-section{padding-bottom:40px}.attractions-section .section-spacing{padding-top:44px}.attraction-grid{grid-template-columns:1fr;gap:11px}.attraction-card{display:grid;grid-template-columns:112px 1fr;min-height:145px}.attraction-image{height:100%;min-height:145px}.attraction-copy{padding:11px}.attraction-copy h3{font-size:12px}.attraction-copy p{font-size:9px;min-height:0}.attraction-links{gap:9px;margin-top:8px;padding-top:7px}.attraction-links a{font-size:8px}.detail-promotion{gap:7px;padding:9px}.detail-promotion-percent{font-size:10px;padding:7px}.detail-promotion-code{font-size:8px;padding:5px}.promotion-admin-grid{gap:12px}.promotion-admin-grid .edit-card{padding-inline:0}.promotion-admin-grid .edit-card form{padding-inline:13px}.promotion-admin-grid .admin-card-heading{padding-inline:13px}.promotion-table{min-width:730px}.detail-wrap{padding-bottom:45px}.property-detail-header{align-items:flex-start}.property-title-row h1{font-size:22px}.property-review-score{gap:7px}.property-review-score>strong{padding:8px;font-size:15px}.property-review-score>span{max-width:78px}.property-review-score small{font-size:8px}.property-gallery{height:auto;aspect-ratio:1.5;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;border-radius:9px}.property-section-nav{top:0;gap:17px;padding:12px 2px}.property-section-nav a{font-size:10px}.detail-wrap .detail-columns{gap:5px}.detail-wrap .property-overview h2,.detail-wrap .detail-section>h2{font-size:19px}.detail-wrap .detail-section{padding-block:22px}.detail-wrap .property-overview{padding-top:20px}.facility-grid{grid-template-columns:1fr 1fr;gap:10px}.facility-grid li{font-size:10px;gap:6px}.facility-grid li>span{width:17px;height:17px;font-size:9px}.room-option{grid-template-columns:19px minmax(0,1fr) 78px;padding:12px 8px;gap:7px}.room-name strong{font-size:11px}.room-facility-tags i{font-size:8px}.room-capacity{font-size:9px}.room-price{grid-column:2/4;flex-direction:row;justify-content:space-between;align-items:center}.room-price em{font-size:8px}.location-map{height:230px}.location-card{grid-template-columns:27px minmax(0,1fr);padding:11px}.location-pin{width:27px;height:27px}.location-actions{grid-column:1/3}.location-actions .button{flex:1;min-width:140px;padding:9px 8px;font-size:8px}.gps-status{grid-column:1/3}.policy-grid{grid-template-columns:1fr}.date-input-grid{gap:6px}.availability-form .form-two{gap:6px}.availability-submit{font-size:9px}.booking-card{padding:14px}.booking-selected-dates{gap:5px}.property-policies{padding-bottom:12px!important}.admin-photo-preview>span{width:84px;height:63px}.room-admin-item .room-admin-row{padding-right:0}.room-admin-item .room-delete-form{top:auto;right:7px;bottom:17px}}
@media(max-width:1000px){.stay-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.stay-type-card{min-height:170px;padding:14px}.stay-type-copy strong{font-size:15px}.stay-type-copy small{font-size:10px}}
@media(max-width:760px){.stay-types-section{padding-top:44px}.stay-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stay-type-card{min-height:155px;padding:13px}.stay-type-copy strong{font-size:15px}.stay-type-copy small{font-size:9px}.featured-section{padding-top:48px}.property-type-badge{font-size:9px;padding:5px 7px}}

/* Bright, editorial offer cards with each campaign's own database-backed image. */
.promotions-section{margin-block:46px;padding:30px;border:1px solid #edf0f8;border-radius:22px;background:#f7f8fc}
.promotions-section .section-heading{margin-bottom:20px}
.promotion-grid{gap:16px}
.promotion-card{min-height:0;border-color:#e5e8f2;border-radius:16px;box-shadow:0 10px 28px rgba(28,42,75,.09)}
.promotion-card:hover{box-shadow:0 18px 36px rgba(28,42,75,.16)}
.promotion-image-wrap{height:176px;position:relative;display:block;overflow:hidden;background:#e8edf5}
.promotion-image-wrap::after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(180deg,transparent 0%,rgba(15,27,48,.26) 100%);pointer-events:none}
.promotion-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.promotion-card:hover .promotion-image{transform:scale(1.045)}
.promotion-image-kicker{position:absolute;z-index:1;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.48);border-radius:99px;background:rgba(255,255,255,.94);padding:7px 10px;color:#12634f;font-size:9px;font-weight:800;box-shadow:0 4px 14px rgba(21,32,50,.14)}
.promotion-image-kicker .hotel-icon{color:#0c9a71}
.promotion-image-discount{position:absolute;z-index:1;top:12px;right:12px;left:auto;transform:none;display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:0;border:1px solid rgba(255,255,255,.35);border-radius:9px;background:linear-gradient(135deg,#f25a47,#d93e36);padding:9px 11px;color:#fff;font-size:13px;font-weight:900;letter-spacing:.2px;line-height:1;white-space:nowrap;text-align:center;text-shadow:0 1px 2px rgba(113,31,31,.15);box-shadow:0 5px 14px rgba(143,38,37,.22)}
.promotion-body{min-height:184px;padding:15px 15px 14px;gap:8px}
.promotion-body>strong{font-size:14px;line-height:1.4;min-height:39px}
.promotion-body>small{font-size:10px}
.promotion-code{border-top:1px solid #edf0f5;padding-top:10px;margin-top:auto}
.promotion-code b{background:#f1efff;border-color:#d8d2f3;color:#4933a0}
.promotion-see-hotels{width:100%;border-radius:8px;background:#f4f7ff;padding:9px 10px;color:#225bc1;font-size:10px;font-weight:800;transition:background .18s,color .18s}
.promotion-card:hover .promotion-see-hotels{background:#285fd0;color:#fff}
@media(max-width:1000px){.promotions-section{padding:24px}}
@media(max-width:760px){.promotions-section{margin-block:34px;padding:17px 12px;border-radius:17px}.promotion-image-wrap{height:112px}.promotion-image-kicker{top:7px;left:7px;padding:5px 7px;font-size:8px}.promotion-image-kicker .hotel-icon{width:12px;height:12px}.promotion-image-discount{top:7px;right:7px;min-width:58px;padding:6px 7px;font-size:9px;border-radius:7px}.promotion-body{min-height:184px;padding:10px;gap:7px}.promotion-body>strong{font-size:11px;min-height:42px}.promotion-body>small{font-size:8px}.promotion-see-hotels{padding:8px;font-size:8px}}
:root{--font-body:'Be Vietnam Pro',Arial,sans-serif;--font-display:'Be Vietnam Pro',Arial,sans-serif}
.hotel-icon{display:inline-block;flex:none;vertical-align:middle}
.field-icon{display:flex;align-items:center;justify-content:center}
.field-icon .hotel-icon{width:20px;height:20px}
.search-submit .hotel-icon,.button .hotel-icon{width:1.2em;height:1.2em}
.stay-type-icon .hotel-icon{width:24px;height:24px}
.hero-stats b{display:inline-flex;align-items:center;vertical-align:middle}
.hero-stats b .hotel-icon{width:15px;height:15px}
.hotel-location{display:flex;align-items:center;gap:5px}
.hotel-location .hotel-icon,.hotel-highlights .hotel-icon,.free-cancel .hotel-icon{flex:none}
.hotel-highlights span{display:inline-flex;align-items:center;gap:4px}
.free-cancel{display:flex;align-items:center;gap:5px}
.property-address .hotel-icon{flex:none;color:#6047b4}
.room-capacity{display:flex;align-items:center;gap:5px}
.location-pin .hotel-icon{width:20px;height:20px}
.policy-card>span .hotel-icon{width:20px;height:20px}
.aside-help>.hotel-icon{flex:none;color:#5840ad}
.filter-promo>span .hotel-icon{width:20px;height:20px}
.empty-results>div .hotel-icon{width:34px;height:34px}
.mini-card>span .hotel-icon{vertical-align:-3px;color:#f1b52e}
.bubble .hotel-icon{width:inherit;height:inherit;padding:10px}
.admin-nav>a>.hotel-icon{width:20px;height:20px;color:#818494}
.admin-nav>a.active>.hotel-icon,.admin-nav>a:hover>.hotel-icon{color:#5a40b7}
.sidebar-help>.hotel-icon{color:#f0b531}
.sidebar-public{display:flex;align-items:center;gap:7px}
.admin-top-actions>a{display:inline-flex;align-items:center;gap:6px}
.admin-menu-toggle .hotel-icon{width:20px;height:20px}
.stat-icon .hotel-icon{width:18px;height:18px}
.stat-arrow .hotel-icon{width:16px;height:16px}
.availability-message{min-height:18px;margin:-7px 0 10px;color:#737989;font-size:10px;line-height:1.5}
.availability-submit.is-loading{opacity:.7;cursor:wait}
.availability-submit .hotel-icon{flex:none}
.room-price em[data-availability-label]{transition:color .15s}
.room-unavailable .room-price em[data-availability-label]{color:#9a6970}
.recently-viewed-section{margin-block:22px;padding:24px;border:1px solid #dce5f7;border-radius:20px;background:linear-gradient(112deg,#eef4ff 0%,#f8f9ff 57%,#fff8e9 100%);box-shadow:0 12px 30px rgba(42,71,130,.09);position:relative}
.recently-viewed-section[hidden]{display:none}
.recently-viewed-heading{display:flex;align-items:center;gap:15px;margin-bottom:20px}
.recently-viewed-mark{flex:none;width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#5639b8,#3474e5);color:#fff;box-shadow:0 7px 16px rgba(67,82,190,.24)}
.recently-viewed-heading-copy{min-width:0}
.recently-viewed-kicker{display:inline-flex;align-items:center;gap:7px;color:#3567c5;font-size:9px;font-weight:900;letter-spacing:1.05px}
.recently-viewed-kicker i{width:7px;height:7px;border-radius:50%;background:#ffbd35;box-shadow:0 0 0 3px rgba(255,189,53,.22)}
.recently-viewed-heading h2{margin:4px 0 3px;color:#202b44;font:800 23px/1.25 var(--font-display);letter-spacing:-.55px}
.recently-viewed-heading p{margin:0;color:#68758d;font-size:12px}
.recently-viewed-row{display:flex;gap:13px;overflow-x:auto;padding:2px 2px 11px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#aabce2 transparent}
.recently-viewed-card{min-width:0;flex:0 0 calc((100% - 52px)/5);overflow:hidden;display:flex;flex-direction:column;border:1px solid #e0e6f1;border-radius:14px;background:#fff;color:#292638;box-shadow:0 5px 15px rgba(40,57,91,.075);scroll-snap-align:start;transition:transform .18s,box-shadow .18s,border-color .18s}
.recently-viewed-card:hover{transform:translateY(-3px);border-color:#b8c9ed;box-shadow:0 11px 23px rgba(40,57,91,.15)}
.recently-viewed-card:focus-visible{outline:3px solid #79a8ff;outline-offset:3px}
.recently-viewed-card>img,.recently-viewed-photo{display:block;width:100%;height:132px;object-fit:cover;background:#e8edf7}
.recently-viewed-photo{background:linear-gradient(135deg,#dbe8ff,#fff0c7)}
.recently-viewed-copy{min-height:103px;padding:11px 12px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.recently-viewed-copy>small:first-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;background:#edf3ff;padding:4px 7px;color:#4168b4;font-size:9px;font-weight:700}
.recently-viewed-copy>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#26324b;font-size:12px;line-height:1.45}
.recently-viewed-copy>.recently-viewed-price{width:100%;margin-top:auto;padding-top:8px;border-top:1px solid #edf0f6;color:#5238ad;font-size:11px;font-weight:900}
@media(max-width:1000px) and (min-width:761px){.recently-viewed-card{flex-basis:calc((100% - 26px)/3);min-width:210px}}
@media(max-width:760px){.facility-grid li>.facility-icon{width:29px;height:29px;border-radius:9px}.facility-icon .hotel-icon{width:16px;height:16px}.recently-viewed-section{margin-block:14px;padding:15px;border-radius:16px}.recently-viewed-heading{gap:11px;margin-bottom:14px}.recently-viewed-mark{width:42px;height:42px;border-radius:13px}.recently-viewed-heading h2{font-size:18px;letter-spacing:-.35px}.recently-viewed-heading p{font-size:10px;line-height:1.5}.recently-viewed-row{gap:10px}.recently-viewed-card{flex-basis:68vw;min-width:0}.recently-viewed-card>img,.recently-viewed-photo{height:116px}.recently-viewed-copy{min-height:96px;padding:9px 10px}.recently-viewed-copy>.recently-viewed-price{font-size:10px}}

.promotions-page{min-height:60vh;background:#f8f8fb;padding-bottom:64px}
.promotions-wrap{padding-top:20px}
.promotions-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:20px 0 27px}
.promotions-heading h1{margin:8px 0 7px;color:#252334;font:800 31px/1.2 var(--font-display);letter-spacing:-.8px}
.promotions-heading p{margin:0;color:#737989;font-size:13px}
.promotions-heading-note{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid #e9e6f0;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(37,29,68,.04)}
.promotions-heading-note>span{width:36px;height:36px;border-radius:10px;background:#f1edfc;color:#6047b4;display:grid;place-items:center}
.promotions-heading-note>div{display:flex;flex-direction:column;gap:4px}
.promotions-heading-note strong{font-size:11px;color:#2d2c3a}
.promotions-heading-note small{font-size:10px;color:#7a7d89}
.promotion-hotel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.promotion-hotel-card{overflow:hidden;border:1px solid #e8e6ef;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(37,29,68,.055);transition:transform .18s,box-shadow .18s}
.promotion-hotel-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(37,29,68,.1)}
.promotion-hotel-photo{height:220px;position:relative;display:block;background:#ebe9f0 center/cover}
.promotion-hotel-photo::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(23,18,36,.3))}
.promotion-hotel-discount{position:absolute;z-index:1;right:13px;top:13px;display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:8px 10px;background:#fff;color:#c84c3b;font-size:11px;font-weight:900;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.promotion-hotel-body{padding:16px 17px 15px}
.promotion-hotel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.promotion-hotel-title h2{margin:8px 0 0;color:#272638;font:800 17px/1.35 var(--font-display)}
.promotion-hotel-title .rating-pill{font-size:11px}
.promotion-hotel-body>.hotel-location{margin:8px 0 13px}
.promotion-hotel-offer{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-top:1px solid #efedf3}
.promotion-hotel-offer-icon{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#fff2ed;color:#cb5946}
.promotion-hotel-offer>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.promotion-hotel-offer strong{font-size:11px;color:#343244}
.promotion-hotel-offer small{font-size:10px;line-height:1.5;color:#7a7d89}
.promotion-hotel-offer>b{flex:none;border:1px dashed #d5cbed;border-radius:6px;padding:5px 7px;background:#f7f4ff;color:#563bad;font-size:9px;letter-spacing:.4px}
.promotion-hotel-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-top:1px solid #efedf3;padding-top:13px;margin-top:2px}
.promotion-hotel-footer>div{display:flex;flex-direction:column;gap:4px}
.promotion-hotel-footer small{color:#777b88;font-size:9px}
.promotion-hotel-footer strong{font:800 16px var(--font-display);color:#322d45}
.promotion-hotel-footer .promotion-no-availability{color:#a15a58}
.promotion-hotel-footer .button{padding:10px 13px;font-size:10px;white-space:nowrap}
@media(max-width:760px){.promotions-page{padding-bottom:42px}.promotions-wrap{padding-top:12px}.promotions-heading{align-items:flex-start;flex-direction:column;gap:14px;padding:14px 0 20px}.promotions-heading h1{font-size:24px}.promotions-heading p{font-size:11px}.promotions-heading-note{padding:9px 11px}.promotion-hotel-grid{grid-template-columns:1fr;gap:13px}.promotion-hotel-photo{height:190px}.promotion-hotel-body{padding:13px}.promotion-hotel-title h2{font-size:15px}.promotion-hotel-footer .button{padding:9px 10px}}

.attractions-section{background:#f8f7fb}
.attraction-copy h3 a:hover,.travel-tip-copy h3 a:hover{color:#5a40ad}
.travel-tips-section{padding-bottom:68px;background:#fff}
.travel-tips-section .section-spacing{padding-top:64px}
.travel-tip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.travel-tip-card{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(0,1.15fr);overflow:hidden;border:1px solid #ebe9f1;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(37,29,68,.05);transition:transform .18s,box-shadow .18s}
.travel-tip-card:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(37,29,68,.1)}
.travel-tip-image{min-height:210px;position:relative;display:block;background:#e9e7ef center/cover}
.travel-tip-image::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(24,18,39,.25))}
.travel-tip-image>span{position:absolute;z-index:1;left:11px;bottom:11px;display:inline-flex;align-items:center;gap:5px;border-radius:7px;padding:7px 9px;background:rgba(255,255,255,.94);color:#583eae;font-size:9px;font-weight:800}
.travel-tip-copy{display:flex;flex-direction:column;align-items:flex-start;padding:18px 17px}
.travel-tip-copy>small{color:#777b88;font-size:9px;font-weight:700}
.travel-tip-copy h3{margin:8px 0;font:800 16px/1.4 var(--font-display);color:#292638}
.travel-tip-copy p{margin:0;color:#707584;font-size:10px;line-height:1.7}
.travel-tip-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:13px;color:#5a40ad;font-size:10px;font-weight:800}
.travel-tip-link b{font-size:15px}
@media(max-width:1000px){.travel-tip-card{grid-template-columns:1fr}.travel-tip-image{min-height:160px}.travel-tip-copy{min-height:185px}}
@media(max-width:760px){.travel-tips-section{padding-bottom:43px}.travel-tips-section .section-spacing{padding-top:44px}.travel-tip-grid{grid-template-columns:1fr;gap:12px}.travel-tip-card{grid-template-columns:112px minmax(0,1fr);min-height:152px}.travel-tip-image{min-height:152px}.travel-tip-copy{min-height:0;padding:11px}.travel-tip-copy h3{font-size:12px;margin:6px 0}.travel-tip-copy p{font-size:9px;line-height:1.55}.travel-tip-link{padding-top:8px;font-size:9px}}

.travel-article-page{min-height:65vh;background:#f8f8fb;padding-bottom:70px}
.travel-article-wrap{padding-top:18px}
.travel-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px;padding-top:12px}
.travel-article{min-width:0;border:1px solid #e9e7ef;border-radius:16px;background:#fff;padding:30px 34px;box-shadow:0 8px 24px rgba(37,29,68,.05)}
.travel-article-heading h1{margin:9px 0 10px;color:#252334;font:800 31px/1.25 var(--font-display);letter-spacing:-.7px}
.travel-article-heading>p{margin:0;color:#737989;font-size:13px;line-height:1.65}
.travel-article-meta{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;color:#777b88;font-size:10px}
.travel-article-meta span{display:inline-flex;align-items:center;gap:6px}
.travel-article-meta .hotel-icon{color:#674db8}
.travel-article-cover{display:block;width:100%;max-height:440px;object-fit:cover;border-radius:12px;margin:22px 0}
.travel-article-content{color:#444654;font-size:14px;line-height:1.9;overflow-wrap:anywhere}
.travel-article-content p{margin:0 0 17px}
.travel-article-content h2,.travel-article-content h3{margin:26px 0 12px;color:#292638;font:800 20px/1.4 var(--font-display)}
.travel-article-content ul,.travel-article-content ol{margin:0 0 18px;padding-left:22px;list-style:initial}
.travel-article-content li{margin-bottom:7px}
.travel-article-map{margin-top:5px;padding:11px 14px;font-size:11px}
.travel-article-aside{position:sticky;top:18px;display:grid;gap:14px}
.article-booking-card,.article-related{border:1px solid #e9e7ef;border-radius:13px;background:#fff;padding:18px;box-shadow:0 6px 19px rgba(37,29,68,.04)}
.article-booking-card h2{margin:8px 0;color:#292638;font:800 17px var(--font-display)}
.article-booking-card p{margin:0 0 15px;color:#747887;font-size:11px;line-height:1.6}
.article-booking-card .button{padding:10px 13px;font-size:10px}
.article-related{display:grid;gap:10px}
.article-related>a{display:flex;flex-direction:column;gap:5px;padding-top:10px;border-top:1px solid #efedf3}
.article-related>a span{color:#674db8;font-size:9px;font-weight:800}
.article-related>a strong{color:#343244;font-size:11px;line-height:1.5}
.article-related>a small{color:#777b88;font-size:9px}
.article-related>a b{color:#6047b4}

/* Polished destination hero, with the original hotel photograph kept intact. */
.phu-quy-hero{isolation:isolate;overflow:hidden;border-bottom:1px solid #e9e5f2;background:radial-gradient(ellipse at 18% 10%,#fff 0%,#faf9ff 38%,#f0eef8 100%)}
.phu-quy-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(92,68,153,.12) .8px,transparent .8px);background-size:22px 22px;mask-image:linear-gradient(90deg,#000 0%,transparent 52%);opacity:.55}
.phu-quy-hero .hero-photo{z-index:0;right:24px;top:20px;width:min(48%,730px);height:calc(100% - 40px);clip-path:none;border-radius:26px;background-image:linear-gradient(90deg,rgba(247,244,255,.58) 0%,rgba(247,244,255,.12) 30%,rgba(18,31,50,.16) 100%),none;background-position:center 53%;box-shadow:0 20px 50px rgba(30,31,52,.16)}
.phu-quy-hero .hero-inner{z-index:1}
.phu-quy-hero .hero-copy .eyebrow{color:#5d43ad}

/* Navigation opens under the hovered or focused item and stays touch-friendly. */
.stay-header{z-index:50}
.stay-nav{gap:16px}
.main-nav{gap:3px;min-width:0}
.main-nav>a,.nav-dropdown>summary{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;border-radius:10px;color:rgba(255,255,255,.92);font-size:12px;font-weight:700;white-space:nowrap;transition:background .18s,color .18s,transform .18s}
.main-nav>a:hover,.main-nav>a:focus-visible,.nav-dropdown>summary:hover,.nav-dropdown>summary:focus-visible{background:rgba(255,255,255,.13);color:#ffe08a;transform:translateY(-1px)}
.nav-dropdown{position:relative;flex:none}
.nav-dropdown>summary{list-style:none;cursor:pointer}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-dropdown>summary::after{content:"⌄";font-size:12px;line-height:1;transition:transform .18s}
.nav-dropdown[open]>summary::after,.nav-dropdown:hover>summary::after{transform:rotate(180deg)}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:0;z-index:60;width:250px;max-width:calc(100vw - 32px);padding:7px;border:1px solid #e8e8f0;border-radius:13px;background:#fff;box-shadow:0 16px 38px rgba(22,24,43,.2)}
.nav-dropdown:hover>.nav-dropdown-menu,.nav-dropdown:focus-within>.nav-dropdown-menu,.nav-dropdown[open]>.nav-dropdown-menu{display:grid;gap:2px}
.nav-dropdown-menu>a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:8px;padding:10px 11px;color:#343547!important;font-size:12px;font-weight:700;transition:background .16s,color .16s}
.nav-dropdown-menu>a:hover,.nav-dropdown-menu>a:focus-visible{background:#f2f4fb;color:#5037a2!important}
.nav-dropdown-menu>a>b{color:#7b6bb8;font-size:15px}

@media(max-width:1100px) and (min-width:761px){.stay-nav{gap:8px}.main-nav>a,.nav-dropdown>summary{padding-inline:7px;font-size:11px}.nav-actions{gap:10px;font-size:11px}.nav-login{padding:9px 10px}}
@media(max-width:760px){
    .phu-quy-hero{min-height:0;background:radial-gradient(ellipse at 50% 0%,#fff 0%,#f8f6ff 58%,#f0eef8 100%)}
    .phu-quy-hero::before{background-size:18px 18px;mask-image:linear-gradient(180deg,#000 0%,transparent 78%);opacity:.28}
    .phu-quy-hero .hero-photo{right:12px;left:12px;top:auto;bottom:12px;width:auto;height:190px;border-radius:18px;opacity:.15;box-shadow:none}
    .phu-quy-hero .hero-inner{z-index:1}
    .phu-quy-hero .hero-copy{padding-top:30px}
    .phu-quy-hero .hero-copy h1{font-size:31px;line-height:1.18;letter-spacing:-1.1px}
    .phu-quy-hero .hero-copy p{max-width:460px;line-height:1.6}
    .phu-quy-hero .hero-search{margin-top:20px}
    .stay-header{position:relative;z-index:50}
    .stay-nav{position:relative;gap:10px}
    .mobile-menu{display:inline-flex;align-items:center;justify-content:center}
    .main-nav{position:absolute;left:0;right:0;top:64px;width:100%;max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain;gap:5px;padding:16px 18px 24px;background:#3c247e;border:none;border-bottom:3px solid #ffcf40;border-radius:0 0 22px 22px;box-shadow:0 24px 48px rgba(10,5,25,.55);z-index:49;display:none;flex-direction:column;animation:slideDownNav .22s cubic-bezier(.16,1,.3,1) forwards}
    .menu-open .main-nav{display:flex}
    .main-nav>a,.nav-dropdown>summary{width:100%;justify-content:space-between;padding:12px 14px;border-radius:10px;font-size:14px;font-weight:600;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#fff}
    .main-nav>a:hover,.main-nav>a:active,.nav-dropdown>summary:hover,.nav-dropdown>summary:active{background:rgba(255,255,255,.14);color:#ffe08a}
    .nav-dropdown{width:100%}
    .nav-dropdown-menu{position:static;width:100%;max-width:none;max-height:none;overflow-y:visible;margin-top:6px;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(20,10,45,.45);box-shadow:none;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
    .nav-dropdown-menu>a{display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-radius:8px;background:rgba(255,255,255,.07);color:#fff!important;font-size:12px;font-weight:600}
    .nav-dropdown-menu>a:hover,.nav-dropdown-menu>a:active{background:rgba(255,255,255,.18);color:#ffe08a!important}
    .nav-dropdown-menu>a>b{color:#ffcf40;font-size:13px}
    .mobile-nav-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.15)}
    .mobile-nav-phone{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:11px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#ffe08a!important;font-weight:700;font-size:13.5px;text-align:center;text-decoration:none}
    .mobile-nav-book{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:11px;background:linear-gradient(135deg,#ffd056 0%,#ffb822 100%);color:#2b1f06!important;font-weight:800;font-size:14px;text-align:center;text-decoration:none;box-shadow:0 4px 14px rgba(255,184,34,.35)}
}
@media(max-width:380px){.nav-dropdown-menu{grid-template-columns:1fr}}
@media(max-width:380px){.phu-quy-hero .hero-copy h1{font-size:28px}.phu-quy-hero .hero-stats{gap:7px 10px}.phu-quy-hero .hero-stats>span{font-size:9px}}
@media(max-width:760px){.travel-article-page{padding-bottom:42px}.travel-article-wrap{padding-top:10px}.travel-article-layout{grid-template-columns:1fr;gap:13px}.travel-article{padding:20px 16px}.travel-article-heading h1{font-size:23px}.travel-article-heading>p{font-size:11px}.travel-article-meta{gap:10px}.travel-article-cover{max-height:260px;margin:17px 0}.travel-article-content{font-size:12px;line-height:1.8}.travel-article-content h2,.travel-article-content h3{font-size:17px}.travel-article-aside{position:static}}

/* Home search: floating accommodation tabs and a centered primary action. */
.hotel-article-categories{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.hotel-article-categories .button{padding:10px 14px;font-size:12px;border:1px solid #dce3ef}
.hotel-article-categories [aria-current=page]{background:#2464df;color:#fff;border-color:#2464df}
.travel-tip-copy h2{font:800 17px/1.45 var(--font-display);margin:9px 0;color:#292638}
.phu-quy-hero{height:auto;overflow:visible;padding-bottom:28px;background:linear-gradient(180deg,#f5f3fc 0%,#faf9fe 58%,#fff 92%);border-bottom:0}
.phu-quy-hero::before{bottom:auto;height:320px}
.phu-quy-hero .hero-photo{height:300px}
.phu-quy-hero .hero-inner{height:auto}
.phu-quy-hero .hero-copy{padding-top:42px}
.phu-quy-hero .hero-search{margin-top:53px}
.phu-quy-hero .hero-stats{justify-content:center;margin-top:46px;gap:28px}
.hero-search .search-box--hero{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"destination destination" "dates occupancy" "submit submit";gap:14px;padding:48px 38px 0;background:#f8f9fc;border:1px solid #eaecf2;border-radius:19px;box-shadow:0 8px 28px rgba(30,45,78,.13)}
.search-type-tabs{position:absolute;top:-27px;left:50%;transform:translateX(-50%);width:calc(100% - 60px);min-width:0;margin:0;padding:0 15px;display:flex;align-items:stretch;gap:4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;border:1px solid #eceef3;border-radius:16px;background:#fff;box-shadow:0 3px 7px rgba(30,45,78,.09)}
.search-type-tabs::-webkit-scrollbar{display:none}
.search-type-tab{position:relative;flex:1 0 auto;cursor:pointer;min-width:0}
.search-type-tab>span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:55px;padding:0 12px;border-bottom:3px solid transparent;color:#657087;font-size:12px;font-weight:700;white-space:nowrap;transition:color .15s,background .15s,border-color .15s}
.search-type-tab:hover>span{color:#2464df;background:#f7f9ff}
.search-type-tab>input:checked+span{color:#2464df;border-bottom-color:#2464df;background:#f8faff}
.search-type-tab>input:focus-visible+span{outline:2px solid #2464df;outline-offset:-4px;border-radius:6px}
.search-type-tab>input,.search-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hero-search .search-box--hero .destination-field{min-height:78px;padding:13px 22px;border:1px solid #d8dce5;border-radius:10px;background:#fff}
.hero-search .search-box--hero .field-icon{color:#647084;flex:none}
.hero-search .search-box--hero .field-icon .hotel-icon{width:23px;height:23px}
.hero-search .search-box--hero .field-copy{gap:6px}
.hero-search .search-box--hero .field-copy small{color:#7a8496;font-size:10px;letter-spacing:.5px}
.hero-search .search-box--hero .field-copy input,.hero-search .search-box--hero .field-copy select{font-size:16px;font-weight:600;color:#293447;line-height:1.5}
.hero-search .search-box--hero .destination-field input{font-size:18px}
.hero-search .search-box--hero .search-dates,.hero-search .search-box--hero .search-occupancy{border-radius:10px;border-color:#d8dce5}
.hero-search .search-box--hero .search-dates .search-field,.hero-search .search-box--hero .search-occupancy .search-field{min-height:78px;padding:11px 18px;gap:12px}
.hero-search .search-box--hero .search-occupancy select{appearance:auto;cursor:pointer}
.hero-search .search-box--hero .search-submit{grid-area:submit;justify-self:center;width:min(540px,75%);min-height:57px;margin:7px 0 -29px;border-radius:30px;font-size:17px;font-weight:700;background:#2464df;box-shadow:0 6px 16px rgba(36,100,223,.2)}
.hero-search .search-box--hero .search-submit:hover{background:#1555cb;transform:translateY(-1px)}
@media(max-width:1000px) and (min-width:761px){.hero-search .search-box--hero{padding-inline:24px}.hero-search .search-box--hero .search-dates .search-field,.hero-search .search-box--hero .search-occupancy .search-field{padding-inline:11px;gap:8px}.hero-search .search-box--hero .field-copy input,.hero-search .search-box--hero .field-copy select{font-size:14px}.search-type-tabs{width:calc(100% - 40px)}}
@media(max-width:760px){
    .phu-quy-hero{padding-bottom:21px;background:linear-gradient(180deg,#f5f3fc,#fff 90%)}
    .phu-quy-hero .hero-photo{top:16px;bottom:auto;height:190px;opacity:.12}
    .phu-quy-hero .hero-copy{padding-top:28px}
    .phu-quy-hero .hero-search{margin-top:46px}
    .phu-quy-hero .hero-stats{margin-top:42px;justify-content:flex-start;gap:9px 14px}
    .hero-search .search-box--hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"destination destination" "dates dates" "occupancy occupancy" "submit submit";padding:40px 12px 0;gap:10px;border-radius:16px}
    .search-type-tabs{top:-23px;width:calc(100% - 24px);padding:0 5px;gap:0;border-radius:12px}
    .search-type-tab>span{min-height:47px;padding:0 12px;font-size:12px}
    .hero-search .search-box--hero .destination-field{min-height:66px;padding:10px 13px}
    .hero-search .search-box--hero .search-dates .search-field,.hero-search .search-box--hero .search-occupancy .search-field{min-height:68px;padding:10px;gap:8px}
    .hero-search .search-box--hero .field-copy{gap:4px}
    .hero-search .search-box--hero .field-copy small{font-size:9px}
    .hero-search .search-box--hero .field-copy input,.hero-search .search-box--hero .field-copy select,.hero-search .search-box--hero .destination-field input{font-size:16px}
    .hero-search .search-box--hero .search-dates .field-copy input{font-size:13px}
    .hero-search .search-box--hero .field-icon .hotel-icon{width:20px;height:20px}
    .hero-search .search-box--hero .search-submit{grid-column:1/3;width:85%;min-height:52px;margin:4px 0 -26px;font-size:15px}
}
@media(max-width:380px){.hero-search .search-box--hero .search-dates{grid-template-columns:1fr}.hero-search .search-box--hero .search-dates .search-field{min-height:60px}.hero-search .search-box--hero .search-occupancy .search-field{padding-inline:8px;gap:6px}.search-type-tab>span{padding-inline:10px}}

/* Booking workflow: accessible gallery, conditions and payment summary. */
.property-photo{position:relative;overflow:hidden}.property-photo>img{width:100%;height:100%;object-fit:cover;display:block}.property-photo>span{position:absolute;bottom:12px;right:12px}.loyalty-verification{display:grid;gap:8px}.loyalty-verification .button{font-size:12px;white-space:normal}.confirmation-payment,.confirmation-policy{margin-top:24px;padding:24px;border:1px solid #e2e8f0;border-radius:16px;text-align:left;background:#f8faff}.confirmation-payment h2,.confirmation-policy h2{font-size:20px;margin:0 0 16px}.bank-transfer-details{overflow-wrap:anywhere}.booking-hold-notice{padding:12px 16px;border-radius:10px;background:#fff8e8;color:#805409}.confirmation-policy summary{cursor:pointer;color:#2457cc;margin-top:16px}.confirmation-policy form{display:grid;gap:14px;padding-top:14px}.confirmation-policy .check-row{align-items:flex-start;gap:10px}.confirmation-card .price-summary{padding:20px 0;max-width:100%;text-align:left}.booking-card .form-label small{font-size:12px;line-height:1.6;color:#64748b}#rate-plan-policy{white-space:normal;overflow-wrap:anywhere}@media(max-width:600px){.confirmation-card{padding:22px 16px}.confirmation-summary{display:flex;flex-wrap:wrap;gap:14px}.confirmation-summary>div:not(.confirmation-photo){min-width:0;flex:1 1 180px}.confirmation-summary>b{width:100%;text-align:right}.confirmation-payment,.confirmation-policy{padding:18px 14px}.confirmation-card .button{max-width:100%;white-space:normal}.confirmation-card .price-summary{grid-template-columns:minmax(0,1fr) auto;gap:12px;font-size:13px}.booking-code{font-size:18px;overflow-wrap:anywhere}}

.payment-choice{display:grid;gap:10px;border:1px solid #dfe5ef;border-radius:12px;padding:14px;margin:4px 0 18px;min-width:0}.payment-choice legend{font-size:13px;font-weight:600;padding:0 5px;color:#334155}.payment-choice label{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.6;min-width:0}.payment-choice input{flex:0 0 auto;margin:0;accent-color:#3765db}.payment-choice small{margin-left:auto;white-space:nowrap;color:#586477}@media(max-width:600px){.guest-booking-form input:not([type=radio]):not([type=checkbox]),.guest-booking-form select,.guest-booking-form textarea{font-size:16px}}

.nightly-price-details{padding:12px 0;border-top:1px solid #e4e9f2;font-size:12px}.nightly-price-details summary{cursor:pointer;font-weight:600;color:#395ca8}.nightly-price-details small{display:block;color:#64748b;line-height:1.6;margin-top:10px}.nightly-price-details #nightly-prices{max-height:240px;overflow:auto}.nightly-price-details #nightly-prices>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #f0f3f8}

.site-brand-logo{display:block;width:auto;max-width:240px;height:auto;max-height:46px;object-fit:contain;transition:opacity .2s ease}.stay-brand:hover .site-brand-logo{opacity:.92}.footer-brand .site-brand-logo{max-height:48px;max-width:230px}.phu-quy-hero .hero-photo picture,.phu-quy-hero .hero-photo img{display:block;width:100%;height:100%;object-fit:cover}.phu-quy-hero .hero-photo{overflow:hidden}.phu-quy-hero .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,244,255,.58),rgba(247,244,255,.12) 30%,rgba(18,31,50,.16));pointer-events:none}.hero-slide-controls{display:flex;align-items:center;gap:12px;margin-top:12px;color:#6c5e8b;font-size:12px}.hero-slide-controls button{border:1px solid #dfd7ef;border-radius:50%;width:32px;height:32px;background:#fff;color:#573bb6;cursor:pointer}.hero-slide-link{display:inline-flex;margin-top:12px;padding:8px 14px;background:#fff;border:1px solid #e5dff1;border-radius:9px;color:#573bb6;font-size:12px;font-weight:700}.hero-slide-link[hidden]{display:none}@media(max-width:760px){.site-brand-logo{max-width:175px;max-height:38px}.hero-slide-controls{margin-top:14px}}
