:root{font-family:Inter,Arial,sans-serif;color:#101d33;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;border-radius:7px;padding:13px 20px;font-weight:650}button:hover{filter:brightness(.96)}.primary{background:#3264ff;color:white;box-shadow:0 4px 12px #3264ff20}input,select{color:#17243b;background:white;border:1px solid #dfe5ee;border-radius:7px;padding:12px;min-width:0}input:focus,select:focus{outline:2px solid #3264ff55}header{height:82px;max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:24px}.logo{width:142px;height:60px;object-fit:contain}nav{display:flex;gap:30px;font-size:14px;font-weight:600}nav .active{color:#3264ff}.currency-label{font-size:12px}.hero{background:linear-gradient(90deg,#124b8990,#124b8920),url('/assets/hero/hotel-v2.webp') center 58%/cover;height:450px;padding:40px 20px 0}.hero-title{text-align:center;color:white}.hero-title small,small{letter-spacing:1.5px;font-size:11px;font-weight:700}h1{font-size:36px;margin:14px 0}p{line-height:1.65}.booking{max-width:1200px;margin:30px auto 0;background:white;border-radius:18px;padding:20px 24px;box-shadow:0 12px 32px #18335424;position:relative;z-index:2}.services{display:flex;justify-content:center;gap:32px;border-bottom:1px solid #edf0f5;margin-bottom:20px}.services a{display:grid;justify-items:center;gap:8px;padding:3px 16px 16px;font-size:14px;font-weight:600}.services a:first-child{border-bottom:3px solid #3264ff;color:#3264ff}.services svg{width:28px;height:28px;fill:none;stroke:#3264ff;stroke-width:1.8}form{display:flex;gap:0;align-items:stretch;border:1px solid #dbe0ea;border-radius:9px;padding:5px}form label{display:flex;flex-direction:column;padding:8px 12px;border-right:1px solid #e6e9ef;min-width:0}form label span{font-size:11px;color:#67758b;margin-bottom:5px}form input,form select{border:0;padding:2px 0;font-size:14px;font-weight:650;width:100%}.place{flex:1.7;position:relative}form label:not(.place){flex:1}form button{align-self:stretch;margin-left:6px}.booking-note{text-align:right;font-size:11px;color:#6a778b;margin-top:17px}.place #suggest{position:absolute;top:100%;left:0;background:white;border:1px solid #e1e7f2;box-shadow:0 8px 24px #1232;min-width:280px;border-radius:10px;max-height:290px;overflow:auto;z-index:10}.place #suggest button{display:block;width:100%;text-align:left;background:white;font-size:14px}.place #suggest button:hover{background:#edf4ff}main{max-width:1200px;margin:60px auto;padding:0 20px}section{margin-bottom:42px}h2{font-size:26px;letter-spacing:-.6px;margin:0 0 20px}h3{margin:0 0 12px;font-size:20px}.muted{color:#69778c;font-size:14px}.destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.destination{height:155px;border-radius:12px;overflow:hidden;position:relative;color:white;text-align:left;background:#3264ff}.destination img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.destination:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#071c42b0)}.destination strong{position:absolute;bottom:20px;left:20px;z-index:1;font-size:24px}.editorial{display:grid;grid-template-columns:1fr 1fr;background:#eff5ff;border-radius:16px;overflow:hidden;margin-top:40px}.editorial>div{padding:40px}.editorial img{width:100%;height:300px;object-fit:cover}.editorial p{font-size:14px;color:#52627a}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.results-layout{display:grid;grid-template-columns:230px 1fr;gap:24px}.filters{padding:22px;border:1px solid #e0e5ee;border-radius:12px;align-self:start;position:sticky;top:20px}.filters label{display:block;font-size:13px;margin:12px 0}.filters input:not([type=checkbox]){width:100%;margin-top:8px}.check{display:flex!important;align-items:center;gap:8px}.text-btn{color:#3264ff;background:#eff4ff}.hotel-card{border:1px solid #dfe5ee;border-radius:13px;margin-bottom:18px;display:grid;grid-template-columns:230px 1fr;overflow:hidden;position:relative}.hotel-card>img{width:230px;height:240px;object-fit:cover}.hotel-body{padding:22px}.stars{color:#ffac19;letter-spacing:2px;font-size:18px}.hotel-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:24px}.price{font-size:25px;font-weight:750}.hotel-bottom small{display:block;letter-spacing:0;color:#66758b;font-weight:400}.favorite{position:absolute;top:12px;left:180px;border-radius:50%;width:37px;height:37px;padding:8px;background:#fffffff0}.favorite svg{width:20px;height:20px;stroke:#18283c;fill:none;stroke-width:1.8}.favorite.saved svg{fill:#ed4470;stroke:#ed4470}.skeleton{height:230px;border-radius:12px;margin-bottom:20px;background:linear-gradient(90deg,#f1f4f8,#e8eef8,#f1f4f8);background-size:200%;animation:loading 1.2s infinite}@keyframes loading{to{background-position:200%}}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:170px 170px;gap:7px;border-radius:14px;overflow:hidden;margin:24px 0}.gallery button{padding:0;border-radius:0;overflow:hidden}.gallery button:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.gallery button:hover img{transform:scale(1.04)}.tabs{display:flex;gap:30px;border-bottom:1px solid #ddd;padding:18px 0;margin-bottom:28px;color:#3264ff;font-weight:650}.amenities{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.amenities span{background:#f1f6ff;padding:10px 14px;border-radius:8px;font-size:13px}.rate{border:1px solid #dfe5ee;border-radius:12px;padding:24px;display:grid;grid-template-columns:1.6fr 1fr auto;gap:24px;align-items:center;margin-bottom:12px}.rate h3{font-size:17px}.green{color:#13865a;font-size:13px}.policy{font-size:14px;line-height:1.8;white-space:pre-line}.back{display:inline-block;color:#3264ff;margin-bottom:22px}footer{background:#f4f7fb;padding:45px max(24px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;gap:40px;font-size:13px}footer a{display:block;margin:12px 0}dialog{border:0;border-radius:16px;padding:30px;max-width:900px;width:90%;max-height:90vh;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#07162ab0}dialog img{width:100%;max-height:72vh;object-fit:contain}#close-viewer{float:right;background:#eef3fa;font-size:22px;padding:4px 12px}#status{color:#52627a}html{scrollbar-gutter:stable}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:150ms}@media(max-width:800px){header{height:auto;min-height:70px;flex-wrap:wrap;padding:10px 16px;gap:8px}nav{gap:14px;font-size:12px}.hero{height:auto;padding:25px 12px 28px}h1{font-size:27px}.booking{padding:15px;margin-top:20px}.services{gap:0;justify-content:space-between}.services a{padding:5px 4px 15px;font-size:11px}.services svg{width:24px}form{flex-wrap:wrap;gap:8px;border:0}form .place{flex:100%}form label:not(.place){flex:40%;border:1px solid #eee;border-radius:7px}form button{width:100%;margin:0}.booking-note{text-align:center}main{margin:30px auto}.destinations{gap:10px}.destination{height:115px}.destination strong{font-size:17px;left:12px}.editorial{grid-template-columns:1fr}.editorial>div{padding:24px}.editorial img{height:180px}.results-layout{grid-template-columns:1fr}.filters{position:static}.hotel-card{grid-template-columns:130px 1fr}.hotel-card>img{width:130px;height:100%}.hotel-body{padding:14px}.hotel-body h3{font-size:17px}.favorite{left:84px}.hotel-bottom{flex-direction:column;align-items:start}.price{font-size:21px}.gallery{grid-template-rows:120px 120px;grid-template-columns:2fr 1fr}.gallery button:nth-child(n+4){display:none}.rate{grid-template-columns:1fr;gap:10px}footer{flex-wrap:wrap}.section-head{gap:10px}h2{font-size:22px}.tabs{gap:15px;font-size:13px}}
.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.featured-card{border:1px solid #e0e6ef;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #17294806;transition:transform .15s}.featured-card:hover{transform:translateY(-3px)}.featured-card>img{width:100%;height:190px;object-fit:cover}.featured-card>div{padding:17px}.featured-card h3{font-size:16px;line-height:1.5;min-height:48px}.featured-card .price{font-size:22px;margin-bottom:4px}.featured-card small{letter-spacing:0;color:#6b778c;font-weight:400}@media(max-width:800px){.featured-grid{grid-template-columns:repeat(2,1fr)}.featured-card>img{height:145px}.featured-card .price{font-size:18px}}
/* Refined booking and room layout */
.booking{padding:20px 24px 18px;border:1px solid #edf1f6;box-shadow:0 14px 40px #15305021}.booking form{display:grid;grid-template-columns:minmax(240px,1.8fr) 1fr 1fr .65fr 1fr auto;align-items:center;padding:0;border-radius:12px;min-height:76px}.booking form label{padding:14px 16px;min-height:60px;justify-content:center}.booking form label span{font-size:12px;font-weight:500;color:#64748b}.booking form input,.booking form select{font-size:15px;line-height:25px;font-weight:600;outline:0;box-shadow:none;border-radius:0}.booking form label:focus-within{background:#f3f7ff;box-shadow:inset 0 -2px #3264ff}.booking form>button{margin:7px;min-width:120px;min-height:58px}.place #suggest{width:400px;max-width:80vw;top:calc(100% + 12px);padding:8px;max-height:400px;scrollbar-width:none}.place #suggest::-webkit-scrollbar{display:none}.place #suggest button{display:flex;align-items:center;gap:14px;padding:13px;margin:0;border-radius:8px}.place #suggest svg{width:22px;height:22px;stroke:#3264ff;fill:none;stroke-width:1.8;flex-shrink:0}.place #suggest strong{display:block;color:#14243b;font-size:15px}.place #suggest small{display:block;letter-spacing:0;font-size:12px;color:#718096;font-weight:400;margin-top:4px}.suggest-label{padding:12px;color:#64748b;font-size:11px;font-weight:700;letter-spacing:1px}.suggest-empty{padding:14px;font-size:14px;background:#f2f6fd;border-radius:8px}.suggest-empty p{font-size:13px;margin:6px 0 0}.hotel-detail .hero{height:auto;padding:20px;background:#edf4fc}.hotel-detail .booking{margin:0 auto;box-shadow:0 3px 14px #1530500c}.hotel-detail main{margin-top:30px}.hotel-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.hotel-heading h1{font-size:30px;line-height:1.3;max-width:900px}.jump-room{padding:13px 20px;border-radius:8px;white-space:nowrap}.gallery button{position:relative;background:#edf2f7}.photo-count{position:absolute;bottom:14px;right:14px;padding:8px 14px;background:#13213ada;color:white;border-radius:7px;font-size:13px}.gallery.photos-1{grid-template-columns:1fr;grid-template-rows:340px;background:#eef3f8}.gallery.photos-1 button:first-child{grid-row:auto}.gallery.photos-1 img{object-fit:contain}.gallery.photos-2{grid-template-columns:1fr 1fr;grid-template-rows:340px}.gallery.photos-2 button:first-child{grid-row:auto}.gallery.photos-3{grid-template-columns:2fr 1fr}.stay-pill{background:#edf4ff;padding:10px 14px;border-radius:8px;font-size:13px;white-space:nowrap}.room-group{display:grid;grid-template-columns:260px 1fr;border:1px solid #dce5f1;border-radius:14px;overflow:hidden;margin:20px 0;background:white}.room-profile{background:#f6f9fd;padding:18px;border-right:1px solid #e3eaf4}.room-profile>img{width:100%;height:165px;object-fit:cover;border-radius:9px;margin-bottom:16px}.room-profile h3{font-size:16px;line-height:1.5}.room-features{display:flex;gap:6px;flex-wrap:wrap}.room-features span{font-size:12px;background:white;padding:5px 8px;border-radius:5px}.room-placeholder{height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#64748b;font-size:12px;text-align:center}.room-placeholder svg{width:40px;height:40px;stroke:#95a8c3;fill:none;stroke-width:1.5}.rate-option{padding:22px;display:grid;grid-template-columns:1fr 220px;gap:20px;border-bottom:1px solid #e3eaf4;min-height:170px}.rate-option:last-child{border-bottom:0}.rate-price{text-align:right}.rate-price small{display:block;font-weight:400;letter-spacing:0;color:#64748b;margin:6px 0 14px}.condition-link{background:none;color:#3264ff;font-size:13px;padding:0}.amenity-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.amenity-groups article{border:1px solid #e2e8f0;padding:20px;border-radius:12px}.amenity-groups h3{font-size:16px}.amenity-groups p{font-size:13px;margin:8px 0}.check-times{display:flex;gap:50px;border-block:1px solid #e2e8f0;padding:20px;margin:20px 0}.check-times strong{display:block;margin-top:8px}.gallery-controls{display:flex;gap:25px;align-items:center;justify-content:center}.sandbox-panel{background:#f1f5fc;padding:16px;border-radius:8px;color:#536278;font-size:13px}small{letter-spacing:0}.booking-note{color:#65758b}.tabs{position:sticky;top:0;background:white;z-index:1;padding:20px 0}.back{font-weight:600;font-size:14px}.room-options .price{color:#153d83}#policies-section{border:1px solid #e2e8f0;border-radius:14px;padding:28px}
@media(max-width:850px){.booking form{grid-template-columns:1fr 1fr}.booking form .place{grid-column:1/-1}.booking form>button{grid-column:1/-1}.booking form label{border-bottom:1px solid #edf0f5}.room-group{grid-template-columns:1fr}.room-profile{border-right:0}.room-profile>img{height:200px}.rate-option{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.rate-price .price{font-size:20px}.hotel-heading{display:block}.jump-room{display:inline-block}.hotel-heading h1{font-size:25px}.amenity-groups{grid-template-columns:1fr 1fr}.section-head{flex-wrap:wrap}.gallery.photos-1,.gallery.photos-2{grid-template-rows:260px}.hotel-detail .hero{padding:12px}.tabs{font-size:12px}.stay-pill{white-space:normal}}
