/* BOOKING TÀ XÙA — Mobile-first V15 / UI-only skin for Cloudflare Pages V13 codebase.
   Status logic, API calls, booking validation and totals stay in their original scripts.
   Brand Kit V3: #1C425E, #3C83AE, #12845B, #D74562. */
:root {
 --tx-ink:#1c425e;--tx-blue:#2b7199;--tx-sky:#3c83ae;--tx-soft:#eaf2f8;
 --tx-bg:#f4f7fa;--tx-muted:#657889;--tx-line:#dce5ed;--tx-green:#12845b;
 --tx-pink:#d74562;--tx-surface:#fff;--tx-radius:22px;--tx-shadow:0 12px 38px rgba(28,66,94,.075);
 color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:94px;-webkit-text-size-adjust:100%}
body{background:#f4f7fa!important;color:var(--tx-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #3c83ae!important;outline-offset:3px!important}
img{max-width:100%}
#cloudflareTrialNotice{font-size:12px!important;line-height:1.5!important}
/* Header: genuine brand, small and predictable */
.header{position:sticky!important;top:0!important;z-index:80!important;box-shadow:0 2px 22px rgba(20,52,80,.07)!important;background:#fff!important;border-bottom:1px solid var(--tx-line)!important}
.header-inner{max-width:1200px!important;margin:0 auto!important;min-height:68px!important;padding:8px 24px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.header .logo{border:0!important;background:transparent!important;padding:0!important;min-height:48px!important;gap:9px!important;display:inline-flex!important;align-items:center!important}
.header .brand-symbol{width:40px!important;height:40px!important;filter:none!important}
.header .brand-title{font-size:20px!important;letter-spacing:-.04em!important;color:var(--tx-ink)!important;font-weight:830!important;white-space:nowrap}
.header-note{background:var(--tx-soft)!important;color:var(--tx-muted)!important;border-radius:100px;padding:10px 14px!important;font-size:12px!important;font-weight:620!important}
.header-note .dot{background:var(--tx-green)!important}
/* Editorial search surface */
#homePage .hero{background:linear-gradient(135deg,#e7f1f7 0%,#fff 52%,#eef5f9 100%)!important;position:relative!important;border-bottom:1px solid #e3eaf1!important;overflow:hidden!important}
#homePage .hero::before{content:"";position:absolute;inset:0;opacity:.34;pointer-events:none;background:radial-gradient(ellipse at 5% 8%,rgba(60,131,174,.18),transparent 34%),radial-gradient(ellipse at 95% 100%,rgba(28,66,94,.12),transparent 36%)}
#homePage .hero-inner{max-width:1200px!important;margin:auto!important;padding:50px 24px 46px!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:52px!important;row-gap:24px!important}
#homePage .tx15-hero-copy{grid-column:1;grid-row:1;position:relative;z-index:1}
#homePage .v11-hero-eyebrow{color:var(--tx-blue)!important;letter-spacing:.11em!important;font-weight:850!important;font-size:11px!important;margin:0 0 17px!important}
#homePage .hero h1{margin:0!important;font-size:clamp(38px,4.1vw,62px)!important;line-height:1.09!important;letter-spacing:-.056em!important;font-weight:850!important;color:var(--tx-ink)!important;text-wrap:balance}
#homePage .hero h1 em{color:var(--tx-sky)!important;font-style:normal!important}
#homePage .hero .tx15-hero-copy>p{max-width:550px!important;font-size:16px!important;color:#596f80!important;line-height:1.65!important;margin:19px 0 0!important}
.tx15-hero-media{grid-column:2;grid-row:1;position:relative;overflow:hidden;min-height:328px;border-radius:26px;box-shadow:0 24px 46px rgba(24,67,96,.15);background:linear-gradient(140deg,#6c99ae,#183d56)}
.tx15-hero-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block}
.tx15-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,30,43,.72))}
.tx15-media-caption{position:absolute;z-index:1;bottom:20px;left:20px;right:20px;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.tx15-media-caption b{font-size:19px;line-height:1.2;font-weight:770}
.tx15-media-caption span{font-size:11px;line-height:1.5;opacity:.87}
.tx15-media-stamp{border:1px solid rgba(255,255,255,.7);padding:8px 10px;border-radius:10px;white-space:nowrap;font-size:11px;font-weight:760}
#v11SearchBox{grid-row:2;grid-column:1 / -1;position:relative!important;margin:2px 0 0!important;display:grid!important;grid-template-columns:1fr 1fr .88fr 1.04fr!important;gap:10px!important;padding:10px!important;border:1px solid #e1eaf1!important;box-shadow:0 12px 30px rgba(21,69,100,.10)!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important;width:100%!important;max-width:100%!important}
#v11SearchBox .search-field{background:var(--tx-bg)!important;border:1px solid #ebf0f5!important;border-radius:13px!important;padding:10px 13px!important;min-width:0!important}
#v11SearchBox .search-field:focus-within{border-color:var(--tx-sky)!important;background:white!important}
#v11SearchBox .search-field label{display:block!important;font-weight:780!important;color:var(--tx-muted)!important;font-size:10px!important;letter-spacing:.055em!important;text-transform:uppercase;margin:0 0 5px!important}
#v11SearchBox input,#v11SearchBox select{background:transparent!important;color:var(--tx-ink)!important;font-size:15px!important;font-weight:690!important;border:0!important;box-shadow:none!important;max-width:100%!important;min-width:0!important;width:100%!important;padding:3px 0!important;min-height:24px!important;outline-offset:3px}
#v11SearchBox .search-btn{min-height:60px!important;border-radius:13px!important;background:var(--tx-blue)!important;color:#fff!important;font-size:15px!important;font-weight:750!important;box-shadow:0 7px 18px rgba(43,113,153,.20)!important;border:0!important;padding:12px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}
#v11SearchBox .search-btn:hover{background:#245d80!important}
#homePage .v11-search-help{grid-column:1/-1!important;grid-row:3!important;margin:-10px 0 0!important;padding:0 6px!important;font-size:12px!important;color:var(--tx-muted)!important}
.tx15-trustrow{display:flex;gap:14px;flex-wrap:wrap;margin-top:21px;color:#42647a;font-size:12px;font-weight:600}
.tx15-trustrow span{display:inline-flex;align-items:center;gap:6px}
.tx15-trustrow svg{color:var(--tx-green);flex:none}
/* Marketplace content hierarchy */
#homePage .main{width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:28px 24px 85px!important}
#homePage .marketplace-panel{padding:28px 28px 34px!important;background:white!important;border:1px solid #e4ebf1!important;border-radius:28px!important;box-shadow:var(--tx-shadow)!important}
.marketplace-heading{margin:0 0 20px!important;display:flex!important;align-items:flex-start!important;gap:15px!important;justify-content:space-between!important}
.marketplace-heading h2{font-size:clamp(24px,2.3vw,34px)!important;letter-spacing:-.043em!important;line-height:1.17!important;color:var(--tx-ink)!important;margin:0 0 8px!important;font-weight:840!important}
.marketplace-heading p{font-size:13px!important;color:var(--tx-muted)!important;line-height:1.55!important}
#marketplaceCount{background:#eef5fa!important;border:1px solid #dcebf3!important;border-radius:99px!important;color:var(--tx-ink)!important;font-size:12px!important;font-weight:700!important;white-space:nowrap!important;padding:9px 12px!important}
.market-search-wrap{margin:0 0 13px!important}
.market-search-box{border:1px solid var(--tx-line)!important;border-radius:14px!important;background:#fbfcfd!important;min-height:52px!important}
.market-search-box:focus-within{border-color:var(--tx-sky)!important;box-shadow:0 0 0 3px #e0eff8!important}
.market-search-input{min-height:48px!important;font-size:14px!important;color:var(--tx-ink)!important}
.marketplace-controls{margin:0 0 22px!important;display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important}
.view-switch{border-radius:12px!important;padding:4px!important;background:#eff3f6!important;gap:3px!important}
.view-switch-btn{min-height:40px!important;border-radius:9px!important;min-width:82px!important;font-size:13px!important;font-weight:730!important}
.view-switch-btn.active{background:white!important;color:var(--tx-ink)!important;box-shadow:0 2px 9px rgba(30,65,90,.08)!important}
.sort-control{margin-left:auto!important;display:flex!important;align-items:center!important;gap:8px!important}
.sort-select{height:44px!important;padding:0 30px 0 12px!important;border-radius:12px!important;border:1px solid var(--tx-line)!important;background:#fff!important;color:var(--tx-ink)!important;font-weight:700!important;font-size:13px!important}
.v11-filter-launch{min-height:44px!important;border:1px solid var(--tx-line)!important;background:white!important;color:var(--tx-ink)!important;border-radius:12px!important;padding:0 15px!important;font-weight:760!important}
/* Cards: photography first, no made-up social proof */
#marketplaceGrid,#homestayRoomGrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
#marketplaceGrid .room-card,#homestayRoomGrid .room-card,.homestay-card{min-width:0!important;overflow:hidden!important;border-radius:20px!important;border:1px solid #e1e9ef!important;box-shadow:0 6px 20px rgba(22,59,86,.035)!important;background:white!important;transform:none!important;transition:box-shadow .16s,border-color .16s!important}
#marketplaceGrid .room-card:hover,#homestayRoomGrid .room-card:hover,.homestay-card:hover{border-color:#bcd9e9!important;box-shadow:0 14px 26px rgba(22,59,86,.10)!important;transform:none!important}
.room-image-wrap,.homestay-cover{aspect-ratio:1.35!important;border-radius:0!important;background:#eaf0f3!important;overflow:hidden!important;position:relative!important}
.room-image-wrap::after,.homestay-cover::after{content:"";pointer-events:none;position:absolute;inset:44% 0 0;background:linear-gradient(transparent,rgba(12,36,51,.34));z-index:1}
.room-image,.homestay-cover img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .32s!important}
.room-card:hover .room-image,.homestay-card:hover .homestay-cover img{transform:scale(1.03)!important}
.room-area-badge,.homestay-area-badge{position:absolute!important;z-index:2!important;top:12px!important;left:12px!important;background:rgba(255,255,255,.93)!important;color:var(--tx-ink)!important;backdrop-filter:blur(7px)!important;border-radius:999px!important;padding:8px 11px!important;font-weight:730!important;font-size:11px!important;box-shadow:0 2px 6px rgba(13,41,57,.06)!important}
.room-image-wrap .image-hint{position:absolute!important;bottom:12px!important;right:12px!important;z-index:2!important;opacity:1!important;background:rgba(20,61,87,.90)!important;color:white!important;padding:9px 12px!important;border-radius:100px!important;font-size:11px!important;font-weight:740!important;transform:none!important;border:1px solid rgba(255,255,255,.25)!important}
.room-body,.homestay-body{padding:16px 17px 17px!important;display:flex!important;flex-direction:column!important;gap:0!important}
.room-title-market{font-size:20px!important;line-height:1.2!important;color:var(--tx-ink)!important;font-weight:820!important;letter-spacing:-.035em!important;margin:0 0 4px!important;display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:3px!important}
.room-title-market .room-title-home-link{color:var(--tx-blue)!important;font-size:14px!important;font-weight:670!important;text-decoration:none!important;letter-spacing:-.016em!important}
.market-room-distance{font-size:12px!important;color:var(--tx-muted)!important;margin:3px 0 5px!important}
.market-room-capacity{font-size:13px!important;color:#3f6178!important;font-weight:640!important;margin:0 0 8px!important}
.market-room-amenities{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin:0 0 12px!important}
.market-room-amenity,.room-special-chip{background:#f0f6fa!important;border:1px solid #dceaf2!important;border-radius:99px!important;padding:5px 9px!important;color:#426e89!important;font-weight:620!important;font-size:11px!important}
.market-room-price-row{margin-top:auto!important;padding:14px 0 0!important;border-top:1px solid #edf1f4!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:9px!important}
.market-room-price-label{color:var(--tx-muted)!important;font-size:11px!important;margin:0 0 4px!important}
.market-room-price-main{color:var(--tx-blue)!important;font-size:22px!important;letter-spacing:-.04em!important;font-weight:840!important;white-space:nowrap!important}
.market-room-price-main small{font-size:11px!important;color:var(--tx-muted)!important;font-weight:540!important;letter-spacing:0!important}
.market-room-cta,.homestay-open{border:0!important;border-radius:11px!important;background:var(--tx-blue)!important;color:white!important;padding:11px 13px!important;min-height:46px!important;white-space:nowrap!important;font-size:12px!important;font-weight:760!important;box-shadow:none!important}
.market-room-cta:hover,.homestay-open:hover{background:var(--tx-ink)!important}
.market-search-total{font-size:11px!important;color:var(--tx-muted)!important;margin-top:4px}
/* Homestay page and group journeys */
#homestayPage,.homestay-shell{background:var(--tx-bg)!important}
.homestay-shell,.detail-shell{max-width:1200px!important;margin:0 auto!important;padding:24px!important}
.homestay-back,.back-btn{background:#fff!important;border:1px solid var(--tx-line)!important;color:var(--tx-ink)!important;padding:10px 14px!important;border-radius:12px!important;font-size:13px!important;min-height:44px!important}
.homestay-hero{background:linear-gradient(128deg,#19425d,#2e789f)!important;border-radius:23px!important;padding:31px!important;color:white!important;overflow:hidden!important}
.homestay-hero-title{font-size:36px!important;line-height:1.15!important;letter-spacing:-.04em!important}
.homestay-rooms-section{background:white!important;padding:24px!important;margin-top:20px!important;border-radius:24px!important;border:1px solid var(--tx-line)!important}
.homestay-rooms-head h2{font-size:26px!important;letter-spacing:-.04em!important}
.multi-quick-intro{border-radius:16px!important;background:#edf6fa!important;border:1px solid #d7eaf3!important;margin:20px 0!important}
.multi-quick-intro button{min-height:44px!important;border-radius:11px!important}
.homestay-card .homestay-body{min-height:194px!important}
.homestay-name{font-size:20px!important;letter-spacing:-.03em!important;margin:0 0 9px!important}
.homestay-price strong{color:var(--tx-blue)!important}
/* Detail: direct visual + clear reservation panel */
#detailPage{background:#f4f7fa!important}
.detail-shell{padding-top:22px!important}
.detail-layout{align-items:start!important;gap:23px!important}
.detail-card,.booking-card{border:1px solid #e2eaf0!important;border-radius:24px!important;overflow:hidden!important;box-shadow:0 8px 28px rgba(30,64,87,.05)!important;background:white!important}
.gallery{background:#e8eff4!important;border-radius:0!important;overflow:hidden!important;position:relative!important}
.gallery-arrow{width:44px!important;height:44px!important;border-radius:50%!important;background:rgba(255,255,255,.87)!important;color:var(--tx-ink)!important;border:1px solid rgba(255,255,255,.75)!important;box-shadow:0 4px 14px rgba(0,0,0,.1)!important;font-size:24px!important;z-index:3!important;backdrop-filter:blur(7px)}
.gallery-counter,.gallery-zoom-hint{font-size:12px!important;font-weight:720!important;backdrop-filter:blur(10px)!important;z-index:3!important;border-radius:100px!important}
.gallery-counter{background:rgba(18,52,74,.76)!important;color:white!important;padding:10px 13px!important}
.gallery-zoom-hint{background:rgba(255,255,255,.91)!important;color:var(--tx-ink)!important;border:1px solid rgba(255,255,255,.8)!important;min-height:42px!important}
.gallery-thumbs{padding:12px!important;gap:9px!important;border-bottom:1px solid var(--tx-line)!important}
.gallery-thumbs img{border-radius:10px!important}
.gallery-thumb.active{outline:2px solid var(--tx-blue)!important;outline-offset:2px!important}
.detail-info{padding:24px!important}
.detail-title{font-size:clamp(25px,2.4vw,35px)!important;letter-spacing:-.048em!important;line-height:1.17!important;color:var(--tx-ink)!important}
.capacity-row{gap:8px!important;flex-wrap:wrap!important}
.price-section{background:#eef6fa!important;border:1px solid #dfebf3!important;border-radius:16px!important;padding:17px!important;margin:23px 0!important}
.price-title{font-size:13px!important;color:var(--tx-ink)!important;font-weight:800!important}
.price-section .rate-price{color:var(--tx-blue)!important}
.detail-homestay-box{border-radius:17px!important;border:1px solid #e1e9f0!important;box-shadow:none!important}
#stayInfoSection,#locationSection{border-color:#e4eaf0!important}
/* Booking panel and calendar. Critical: no changes to date availability logic. */
.booking-card{position:sticky!important;top:85px!important}
.booking-head{padding:23px 20px 14px!important}
.booking-head h2{font-size:22px!important;letter-spacing:-.037em!important;font-weight:830!important}
.booking-sub{font-size:12px!important;line-height:1.55!important;color:var(--tx-muted)!important}
#v11BookingSteps{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:6px!important;padding:0 18px 16px!important}
#v11BookingSteps button,#v11BookingSteps .v11-step-final{min-width:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;border-radius:10px!important;min-height:42px!important;padding:5px!important;font-size:11px!important}
#v11BookingSteps b{width:21px!important;height:21px!important;line-height:21px!important;font-size:11px!important}
.calendar-card{border-radius:15px!important;border:1px solid #e1e9f0!important;background:white!important;box-shadow:none!important;overflow:hidden!important;padding:13px!important}
.calendar-top{align-items:center!important;gap:8px!important}
.calendar-top h3{font-size:15px!important;letter-spacing:-.018em!important;margin:0!important}
.calendar-month{font-size:12px!important;color:var(--tx-muted)!important;margin-top:3px!important}
.calendar-nav{width:38px!important;height:38px!important;border:1px solid #dfebf2!important;border-radius:10px!important;background:#f7fafc!important;color:var(--tx-ink)!important;font-size:18px!important}
.calendar-legend{display:flex!important;gap:12px!important;flex-wrap:wrap!important;padding:11px 0!important;margin:6px 0!important;background:transparent!important}
.calendar-legend .legend{font-size:11px!important;color:var(--tx-muted)!important}
.legend-dot.free{background:var(--tx-green)!important}.legend-dot.busy{background:var(--tx-pink)!important}.legend-dot.selected{background:var(--tx-ink)!important}
.weekdays,.calendar-grid{gap:4px!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
.weekday{padding:7px 0!important;font-size:11px!important;font-weight:770!important;color:var(--tx-muted)!important}
.calendar-grid .day{width:100%!important;min-width:0!important;height:auto!important;min-height:48px!important;padding:6px 1px!important;border-radius:10px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;line-height:1.2!important;border:1px solid transparent!important;box-shadow:none!important;font-size:13px!important;font-weight:750!important;gap:4px!important}
.calendar-grid .day .d-price{font-size:9px!important;white-space:nowrap!important;font-weight:640!important}
.calendar-grid .day.available{background:#eaf6ef!important;color:#0e774b!important;border-color:#cbe8d7!important}
.calendar-grid .day.blocked{background:#fff1f3!important;color:#ba425c!important;border-color:#f8dbe1!important}
.calendar-grid .day.past{background:#f6f8fa!important;color:#b1bcc5!important;opacity:.6!important;border-color:#edf1f4!important}
.calendar-grid .day.in-range{background:#dcecf5!important;color:var(--tx-ink)!important;border-color:#bfdae9!important}
.calendar-grid .day.selected,.calendar-grid .day.selected.available,.calendar-grid .day.selected.blocked{background:var(--tx-ink)!important;color:white!important;border-color:var(--tx-ink)!important;box-shadow:0 2px 8px rgba(28,66,94,.21)!important}
.calendar-grid .day.checkout-only{background:#eaf2f8!important;color:var(--tx-ink)!important;border:1px dashed #9ebfd0!important}
.calendar-grid .day:disabled{cursor:not-allowed!important}
.calendar-message{font-size:11px!important;line-height:1.5!important;color:var(--tx-muted)!important;margin-top:12px!important}
.availability{border-radius:12px!important;font-size:12px!important}
.package-card,.package-option,.package-btn{border-radius:12px!important}
.v11-booking-stage{padding:0 16px 16px!important}
#continueButton,.continue-button{min-height:52px!important;border-radius:13px!important;background:var(--tx-blue)!important;font-size:14px!important;box-shadow:none!important}
#mobileBar .mobile-bar-inner{padding:10px 16px calc(10px + env(safe-area-inset-bottom))!important;gap:12px!important}
.mobile-cta{min-height:50px!important;border-radius:13px!important;background:var(--tx-blue)!important}
/* Checkout is a bottom-sheet on phones */
#bookingModal .modal,#multiOverlay .multi-panel{border-radius:22px!important;background:white!important}
.modal-head,.multi-head{border-bottom:1px solid var(--tx-line)!important}
.form-group label{font-weight:710!important;font-size:12px!important;color:var(--tx-ink)!important;margin-bottom:6px!important;display:block!important}
.form-group input,.form-group textarea,.multi-customer input,.multi-customer textarea{border:1px solid var(--tx-line)!important;border-radius:12px!important;min-height:48px!important;background:#fbfdfe!important;font-size:16px!important}
#bookingSubmit{min-height:53px!important;background:var(--tx-blue)!important;border-radius:13px!important;font-size:14px!important}
.multi-quick-intro button,#multiSend{background:var(--tx-blue)!important;color:#fff!important}
/* Information states and floating help */
.message.market-empty-state,.market-empty-state{background:#f4f8fb!important;border:1px dashed #c8dce9!important;border-radius:18px!important;padding:38px 24px!important}
.message.market-empty-state strong{font-size:18px!important;color:var(--tx-ink)!important}
.support-dock{z-index:89!important}
.support-dock-toggle{background:var(--tx-ink)!important;border-radius:99px!important;min-height:48px!important}
.footer{background:#183f58!important;color:#f2f7fb!important}
.tx15-mobile-navigation{display:none}
/* Page state: prevent preview/demo changing user trust */
.tx15-preview-label{position:relative;z-index:89;padding:9px 16px;background:#fff1db;color:#725019;font-size:11px;line-height:1.45;text-align:center;font-weight:680;border-bottom:1px solid #f4dcbb}
/* Tablet */
@media(max-width:1060px){
 #homePage .hero-inner{gap:25px!important}
 #marketplaceGrid,#homestayRoomGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #v11SearchBox{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #v11SearchBox .search-btn{grid-column:1/-1;min-height:52px!important}
 .tx15-hero-media{min-height:270px}
 .detail-layout{gap:14px!important}
}
/* Primary design target: 360–430 px phone */
@media(max-width:699px){
 html{scroll-padding-top:78px}
 body:not(.v11-detail-open){padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}
 .header-inner{padding:6px 16px!important;min-height:58px!important}
 .header .brand-symbol{width:35px!important;height:35px!important}
 .header .brand-title{font-size:17px!important}
 .header-note{display:none!important}
 #homePage .hero-inner{padding:0 0 20px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
 #homePage .hero{background:#fff!important;border-bottom:0!important}
 #homePage .tx15-hero-copy{order:2;padding:22px 19px 0}
 #homePage .v11-hero-eyebrow{font-size:10px!important;letter-spacing:.075em!important;margin-bottom:9px!important}
 #homePage .hero h1{font-size:clamp(31px,8vw,37px)!important;line-height:1.13!important;letter-spacing:-.046em!important}
 #homePage .hero .tx15-hero-copy>p{font-size:13px!important;line-height:1.6!important;margin:12px 0 0!important}
 .tx15-hero-media{order:1;grid-column:auto;grid-row:auto;min-height:0;height:188px;width:100%;border-radius:0;box-shadow:none}
 .tx15-hero-media img{position:absolute;inset:0;width:100%;height:100%}
 .tx15-media-caption{bottom:15px;left:18px;right:18px}
 .tx15-media-caption b{font-size:18px}
 .tx15-media-caption span{font-size:11px}
 .tx15-media-stamp{font-size:10px;padding:7px 9px}
 #homePage .tx15-trustrow{margin-top:12px;gap:7px 13px;font-size:11px}
 #v11SearchBox{order:3;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:23px 16px 0!important;gap:9px!important;width:calc(100% - 32px)!important;padding:10px!important;border:1px solid var(--tx-line)!important;border-radius:19px!important;box-shadow:0 6px 22px rgba(28,66,94,.07)!important}
 #v11SearchBox .search-field{padding:10px!important;min-height:69px!important}
 #v11SearchBox .v11-search-guests{grid-column:1/-1!important;min-height:52px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
 #v11SearchBox .v11-search-guests label{margin:0!important}
 #v11SearchBox .v11-search-guests select{width:auto!important;text-align:right!important;max-width:55%!important}
 #v11SearchBox .search-field label{font-size:10px!important}
 #v11SearchBox input,#v11SearchBox select{font-size:14px!important}
 #v11SearchBox .search-btn{grid-column:1/-1!important;min-height:50px!important;font-size:14px!important}
 #homePage .v11-search-help{order:4!important;grid-column:auto!important;grid-row:auto!important;margin:9px 17px 0!important;padding:0!important;font-size:11px!important}
 #homePage .main{padding:15px 12px 40px!important;max-width:none!important}
 #homePage .marketplace-panel{border:0!important;border-radius:21px!important;box-shadow:none!important;padding:22px 13px 25px!important}
 .marketplace-heading{display:flex!important;flex-direction:column!important;gap:10px!important;margin:0 0 16px!important}
 .marketplace-heading h2{font-size:25px!important;line-height:1.15!important}
 .marketplace-heading p{font-size:12px!important;margin:0!important;line-height:1.5!important}
 #marketplaceCount{font-size:11px!important;padding:7px 11px!important}
 .market-search-wrap{margin:0 0 12px!important}
 .market-search-box{min-height:48px!important;border-radius:12px!important}
 .market-search-input{font-size:13px!important;min-height:46px!important}
 .marketplace-controls{display:grid!important;grid-template-columns:1fr auto!important;gap:9px!important;margin-bottom:17px!important}
 .view-switch{grid-column:1!important;grid-row:1!important;width:max-content!important}
 .view-switch-btn{min-width:70px!important;min-height:38px!important;padding:0 9px!important}
 .sort-control{grid-column:1!important;grid-row:2!important;margin:0!important;justify-content:flex-start!important}
 .v11-sort-label{font-size:11px!important}
 .sort-select{min-height:42px!important;font-size:12px!important}
 .v11-filter-launch{grid-column:2!important;grid-row:2!important;min-width:110px!important;min-height:42px!important}
 #marketplaceGrid,#homestayRoomGrid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 #marketplaceGrid .room-card,#homestayRoomGrid .room-card{border-radius:18px!important}
 .room-image-wrap{aspect-ratio:1.6!important}
 .room-area-badge{font-size:10px!important}
 .room-body{padding:13px 15px 15px!important}
 .room-title-market{font-size:20px!important;gap:5px!important}
 .room-title-market .room-title-home-link{font-size:13px!important}
 .market-room-distance{font-size:11px!important}
 .market-room-capacity{font-size:12px!important;margin:0 0 9px!important}
 .market-room-amenities{margin-bottom:13px!important}
 .market-room-price-main{font-size:22px!important}
 .market-room-cta{min-height:48px!important;padding:10px 14px!important;font-size:12px!important}
 .homestay-shell,.detail-shell{padding:12px!important}
 .homestay-hero{border-radius:18px!important;padding:22px 18px!important}
 .homestay-hero-title{font-size:27px!important}
 .homestay-rooms-section{border-radius:19px!important;padding:16px 13px!important}
 .homestay-rooms-head h2{font-size:23px!important}
 .multi-quick-intro{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:14px!important}
 .multi-quick-intro button{width:100%!important;min-height:47px!important}
 .detail-shell{padding:11px!important}
 .detail-layout{display:block!important}
 .detail-card{border-radius:18px!important;margin-bottom:14px!important}
 .detail-info{padding:19px 16px!important}
 .detail-title{font-size:27px!important}
 .gallery{aspect-ratio:1.18!important;min-height:0!important}
 .gallery-track{height:100%!important}
 .gallery-arrow{width:42px!important;height:42px!important}
 .gallery-thumbs{padding:11px 10px!important}
 .price-section{padding:15px!important;margin:18px 0!important}
 .booking-card{position:relative!important;top:auto!important;border-radius:18px!important;padding-bottom:14px!important}
 .booking-head{padding:19px 16px 10px!important}
 .booking-head h2{font-size:21px!important}
 #v11BookingSteps{padding:0 12px 13px!important;gap:4px!important}
 #v11BookingSteps button,#v11BookingSteps .v11-step-final{padding:5px 2px!important;font-size:10px!important;gap:3px!important}
 .v11-booking-stage{padding:0 10px 12px!important}
 .calendar-card{padding:11px 8px!important;border-radius:12px!important}
 .calendar-legend{gap:7px 13px!important}
 .calendar-grid .day{min-height:46px!important;font-size:12px!important;border-radius:8px!important;gap:3px!important}
 .calendar-grid .day .d-price{font-size:9px!important;letter-spacing:-.03em!important}
 .weekdays,.calendar-grid{gap:3px!important}
 .calendar-top h3{font-size:14px!important}
 .gallery-zoom-hint{min-height:40px!important}
 .modal-backdrop{align-items:flex-end!important;padding:0!important}
 #bookingModal .modal{margin:0!important;width:100%!important;max-width:none!important;max-height:95dvh!important;border-radius:24px 24px 0 0!important;overflow-y:auto!important;padding-bottom:env(safe-area-inset-bottom)!important}
 .modal-body{padding:16px!important}
 .modal-head{padding:17px 16px!important}
 #multiOverlay .multi-panel{width:100%!important;max-width:none!important;max-height:100dvh!important;height:100dvh!important;border-radius:0!important}
 .v11-filter-sheet{border-radius:23px 23px 0 0!important;max-height:89dvh!important}
 .tx15-mobile-navigation{position:fixed;z-index:85;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(255,255,255,.97);backdrop-filter:blur(16px);border-top:1px solid var(--tx-line);box-shadow:0 -6px 22px rgba(26,64,87,.08);padding:8px 7px calc(8px + env(safe-area-inset-bottom));gap:3px}
 .tx15-mobile-navigation button{min-height:49px;border:0;background:transparent;border-radius:12px;color:#597387;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:730;font-size:10px;padding:4px 3px}
 .tx15-mobile-navigation button.active{background:#e9f4fa;color:var(--tx-ink)}
 .tx15-mobile-navigation svg{width:21px;height:21px;stroke-width:1.8}
 body.v11-detail-open .tx15-mobile-navigation{display:none}
 body.v11-detail-open{padding-bottom:calc(83px + env(safe-area-inset-bottom))!important}
 #mobileBar{z-index:89!important;bottom:0!important}
 .support-dock{bottom:calc(82px + env(safe-area-inset-bottom))!important;right:13px!important}
 body.v11-detail-open .support-dock{bottom:calc(92px + env(safe-area-inset-bottom))!important}
 .support-dock-toggle{width:48px!important;height:48px!important;min-width:48px!important;padding:0!important;border-radius:50%!important}
 .support-dock-toggle span{display:none!important}
 .footer{padding-bottom:30px!important}
}
@media(max-width:365px){
 #homePage .hero h1{font-size:31px!important}
 #marketplaceGrid .room-title-market{font-size:18px!important}
 .market-room-price-main{font-size:20px!important}
 .market-room-cta{padding:8px 10px!important}
 .calendar-grid .day{min-height:44px!important}
}
@media(min-width:700px){.tx15-mobile-navigation{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Final touch refinements — make assistance a menu, not an overlay on search fields */
@media(max-width:699px){
 .tx15-hero-media{height:166px}
 .tx15-hero-copy{padding-top:18px!important}
 .tx15-trustrow{margin-top:9px!important}
 body:not(.v11-detail-open) .support-dock-toggle{display:none!important}
 body:not(.v11-detail-open) .support-dock{pointer-events:none!important}
 body:not(.v11-detail-open) .support-dock-menu:not([hidden]){pointer-events:auto!important}
}
/* Official horizontal logo from Brand Kit V3. */
.header .logo .tx15-brand-horizontal{display:block!important;object-fit:contain!important;object-position:left center!important;height:auto!important;width:224px!important;max-width:100%!important}
@media(max-width:699px){.header .logo .tx15-brand-horizontal{width:192px!important}}


/* V15.1 — FIXED LAYOUT: remove legacy wrapper padding from redesigned hero.
   Fixes screenshot: blurred/cropped hero, blank band, overly tall/cropped room images. */
#homePage .hero { padding:0!important; }
#homePage .hero-inner { row-gap:16px!important; }
#homePage .tx15-hero-media { min-height:0!important; height:auto!important; aspect-ratio: 1.84 / 1!important; }
#homePage .tx15-hero-media img { object-position:center center!important; }
#homePage .v11-search-help { margin:0!important; }
#homePage .main { padding-top:20px!important; }
.room-image-wrap, .homestay-cover { aspect-ratio:1.68!important; }
.room-image, .homestay-cover img { object-position:50% 46%!important; }
@media (min-width:700px) {
 #homePage .hero-inner { padding:36px 24px 22px!important; column-gap:40px!important; row-gap:17px!important; }
 #v11SearchBox { margin:0!important; }
 #homePage .v11-search-help { margin:0!important; }
 #homePage .marketplace-panel { padding:24px 26px 30px!important; }
}
@media (max-width:699px) {
 #homePage .hero { padding:0!important; }
 #homePage .hero-inner { padding:0 0 16px!important; row-gap:0!important; }
 #homePage .tx15-hero-media { width:100%;height:186px!important;aspect-ratio:auto!important; }
 #homePage .tx15-hero-media img { object-position:center 42%!important; }
 #homePage .main { padding:8px 12px 36px!important; }
 #homePage .marketplace-panel { padding-top:19px!important; }
 .room-image-wrap,.homestay-cover { aspect-ratio:1.62!important; }
}

/* V15.2: original booking room cover assets, no screenshot-based fallbacks. */
#homePage .marketplace-grid .room-image-wrap,
#homestayRoomGrid .room-image-wrap { isolation:isolate; background-color:#EAF2F8; }
#homePage .marketplace-grid .room-image-wrap.tx15-photo-portrait:before,
#homestayRoomGrid .room-image-wrap.tx15-photo-portrait:before {
 content:""; position:absolute; inset:-14px; z-index:0;
 background-image:var(--room-cover-url);background-size:cover;background-position:center;
 filter:blur(17px) brightness(.86);opacity:.8;transform:scale(1.1);
}
#homePage .marketplace-grid .room-image-wrap.tx15-photo-portrait .room-image,
#homestayRoomGrid .room-image-wrap.tx15-photo-portrait .room-image {
 position:relative;z-index:1;object-fit:contain!important;transform:none!important;
}
#homePage .marketplace-grid .room-image-wrap .market-room-cta,
#homestayRoomGrid .room-image-wrap .market-room-cta,
#homePage .marketplace-grid .room-image-wrap .image-hint {z-index:3;}
