:root{--hotel-primary:var(--header-bg);--hotel-accent:var(--focus-ring);--hotel-blue:var(--muted);--hotel-blue-light:var(--muted-2);--hotel-blue-dark:var(--foreground);--hotel-green:var(--muted);--hotel-orange:var(--color-airbnb,#ff5722);--hotel-coral:var(--color-coral,#ff6b4a);--hotel-coral-dark:var(--color-coral-dark,#e55a3b);--hotel-bg:var(--background);--hotel-border:var(--border);--hotel-border-strong:var(--border-strong);--hotel-text:var(--foreground);--hotel-muted:var(--muted);--hotel-surface:var(--surface);--hotel-surface-2:var(--surface-2);--hotel-surface-3:var(--surface-3);--hotel-text-strong:var(--text-strong)}.hotel-page{background-color:var(--hotel-bg);color:var(--hotel-text);min-height:60vh;padding-bottom:48px;overflow:visible}.hotel-route-fallback{background:var(--hotel-bg,var(--background));min-height:100vh;color:var(--hotel-text,var(--foreground))}.hotel-route-fallback__bar{background:var(--hotel-surface,var(--surface));border-bottom:1px solid var(--hotel-border,var(--border));height:56px}.hotel-route-fallback__body{padding-top:20px;padding-bottom:48px}.hotel-route-fallback__crumb,.hotel-route-fallback__title,.hotel-route-fallback__hero,.hotel-route-fallback__thumbs span{background:linear-gradient(90deg, var(--hotel-surface-2,var(--surface-2)) 0%, var(--hotel-surface,var(--surface)) 50%, var(--hotel-surface-2,var(--surface-2)) 100%);background-size:200% 100%;border-radius:10px;animation:1.2s ease-in-out infinite hotel-fallback-shimmer}.hotel-route-fallback__crumb{width:min(280px,70%);height:14px;margin-bottom:18px}.hotel-route-fallback__title{width:min(420px,85%);height:28px;margin-bottom:20px}.hotel-route-fallback__gallery{gap:10px;display:grid}.hotel-route-fallback__hero{aspect-ratio:16/9;border-radius:14px;width:100%;max-height:360px}.hotel-route-fallback__thumbs{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.hotel-route-fallback__thumbs span{aspect-ratio:4/3;border-radius:10px;display:block}@keyframes hotel-fallback-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.hotel-route-fallback__crumb,.hotel-route-fallback__title,.hotel-route-fallback__hero,.hotel-route-fallback__thumbs span{animation:none}}.hotel-hero-fallback{background:var(--hotel-bg,var(--background));min-height:100vh}.hotel-results-shell{padding-top:16px;overflow:visible}.hotel-results-count{color:var(--hotel-text-strong);margin:0 0 12px;font-size:15px;font-weight:600}.hotel-results-count__pending{color:var(--hotel-muted,#64748b);font-size:13px;font-weight:500}.hotel-sort-bar{background:var(--hotel-surface);border:1px solid var(--hotel-border);box-shadow:var(--shadow-soft);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:6px;display:flex}.hotel-sort-bar__main{flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.hotel-sort-label{color:var(--hotel-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;padding:0 10px;font-size:12px;font-weight:700}.hotel-sort-tabs{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.hotel-sort-tab{color:var(--hotel-text);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600}.hotel-sort-tab.is-active{background:color-mix(in srgb, var(--hotel-blue,#2563eb) 14%, var(--hotel-surface));color:var(--hotel-blue,#2563eb)}.hotel-sort-tab:hover:not(.is-active){background:var(--hotel-surface-2)}.hotel-sort-select-wrap{flex:1;min-width:0;display:none}.hotel-sort-select{appearance:none;border:1px solid var(--hotel-border);background:var(--hotel-surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 10px center;width:100%;height:36px;color:var(--hotel-text);cursor:pointer;box-sizing:border-box;border-radius:6px;padding:0 32px 0 12px;font-size:13px;font-weight:600;line-height:1}.hotel-view-toggle{background:var(--hotel-surface-2);border:1px solid var(--hotel-border);box-sizing:border-box;border-radius:6px;flex-shrink:0;align-items:center;gap:2px;height:36px;padding:2px;display:inline-flex}.hotel-view-btn{width:30px;height:30px;color:var(--hotel-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.hotel-view-btn .material-symbols-outlined{font-size:20px}.hotel-view-btn.is-active{background:var(--hotel-surface);color:var(--hotel-primary);box-shadow:var(--shadow-soft)}.hotel-view-btn:hover:not(.is-active){color:var(--hotel-text)}.hotel-results-view--grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.hotel-results-view--grid .hotel-card{flex-direction:column;height:100%;margin-bottom:0}.hotel-results-view--grid .hotel-card-img-wrap{aspect-ratio:16/9;width:100%;min-height:0;max-height:140px}.hotel-results-view--grid .hotel-card-body{gap:2px;padding:10px 12px 8px}.hotel-results-view--grid .hotel-card-stars{margin-bottom:0;font-size:12px}.hotel-results-view--grid .hotel-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:2px;font-size:14px;display:-webkit-box;overflow:hidden}.hotel-results-view--grid .hotel-card-location{margin-bottom:4px;font-size:11px}.hotel-results-view--grid .hotel-card-location__text{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hotel-results-view--grid .hotel-card-room{display:none}.hotel-results-view--grid .hotel-card-amenities{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.hotel-results-view--grid .hotel-chip{border-radius:6px;gap:3px;max-width:100%;min-height:22px;padding:2px 6px;font-size:10px}.hotel-results-view--grid .hotel-chip .material-symbols-outlined{flex-shrink:0;font-size:13px}.hotel-results-view--grid .hotel-chip__text{text-overflow:ellipsis;white-space:nowrap;max-width:8.5em;overflow:hidden}.hotel-results-view--grid .hotel-chip:nth-child(n+4){display:none}.hotel-results-view--grid .hotel-card-price-section{border-left:none;border-top:1px solid var(--hotel-border);text-align:left;align-items:stretch;gap:4px;width:100%;padding:8px 12px 10px}.hotel-results-view--grid .hotel-card-price-strike{font-size:11px}.hotel-results-view--grid .hotel-card-price{margin-bottom:0;font-size:18px}.hotel-results-view--grid .hotel-card-price-note{max-width:none;margin-bottom:6px;font-size:10px}.hotel-results-view--grid .hotel-card-btn{padding:8px 10px;font-size:12px}.hotel-results-view--grid .hotel-promo-strip{grid-column:1/-1;margin-bottom:0}.hotel-results-view--list .hotel-card{margin-bottom:10px}.hotel-results-view--list .hotel-card-img-wrap{width:160px;min-height:140px}.hotel-results-view--list .hotel-card-body{gap:2px;padding:12px 14px}.hotel-results-view--list .hotel-card-stars{margin-bottom:0;font-size:12px}.hotel-results-view--list .hotel-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:2px;font-size:16px;display:-webkit-box;overflow:hidden}.hotel-results-view--list .hotel-card-location{margin-bottom:4px;font-size:12px}.hotel-results-view--list .hotel-card-location__text{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hotel-results-view--list .hotel-card-room{-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:6px;font-size:12px;display:-webkit-box;overflow:hidden}.hotel-results-view--list .hotel-card-amenities{gap:6px;margin-top:4px}.hotel-results-view--list .hotel-chip{padding:3px 8px;font-size:11px}.hotel-results-view--list .hotel-chip .material-symbols-outlined{font-size:14px}.hotel-results-view--list .hotel-card-price-section{width:170px;padding:12px}.hotel-results-view--list .hotel-card-price{font-size:22px}.hotel-results-view--list .hotel-card-price-note{margin-bottom:8px;font-size:10px}.hotel-results-view--list .hotel-card-btn{padding:8px 12px;font-size:12px}.hotel-filter-meal-icon{vertical-align:-3px;color:var(--hotel-muted);margin-right:4px;font-size:16px!important}@media (max-width:1100px){.hotel-results-view--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.hotel-sort-bar{box-sizing:border-box!important;border-radius:12px!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;margin-bottom:12px!important;padding:6px 8px!important;display:flex!important}.hotel-sort-tabs,.hotel-sort-label{display:none!important}.hotel-sort-bar__main{flex:auto!important;align-items:center!important;gap:0!important;min-width:0!important;margin:0!important;display:flex!important}.hotel-sort-select-wrap{width:100%!important;min-width:0!important;margin:0!important;display:block!important}.hotel-sort-select{appearance:none!important;width:100%!important;height:38px!important;min-height:38px!important;max-height:38px!important;color:var(--hotel-text,#0f172a)!important;background-color:var(--hotel-surface-2,#f8fafc)!important;border:1px solid var(--hotel-border,#e2e8f0)!important;box-sizing:border-box!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:10px 7px!important;border-radius:8px!important;outline:none!important;margin:0!important;padding:0 28px 0 10px!important;font-size:12px!important;font-weight:600!important;line-height:36px!important}.hotel-view-toggle{background:var(--hotel-surface-2,#f8fafc)!important;border:1px solid var(--hotel-border,#e2e8f0)!important;box-sizing:border-box!important;border-radius:8px!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;padding:3px!important;display:inline-flex!important}.hotel-view-btn{border-radius:6px!important;justify-content:center!important;align-items:center!important;width:32px!important;height:30px!important;min-height:30px!important;max-height:30px!important;margin:0!important;padding:0!important;display:inline-flex!important}.hotel-view-btn.is-active{color:var(--color-ocean,#00a7a0)!important;background:#fff!important;box-shadow:0 1px 3px #0000001a!important}.hotel-sort-custom-wrap{width:100%;display:inline-block;position:relative}.hotel-sort-custom-btn{background:var(--hotel-surface-2,#f8fafc);border:1px solid var(--hotel-border,#e2e8f0);width:100%;height:38px;min-height:38px;color:var(--hotel-text,#0f172a);cursor:pointer;box-sizing:border-box;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.hotel-sort-custom-btn:hover,.hotel-sort-custom-btn.is-open{background:#fff;border-color:#00a7a0;box-shadow:0 2px 8px #00a7a01f}.hotel-sort-custom-icon{color:#00a7a0;font-size:16px}.hotel-sort-custom-text{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.hotel-sort-custom-arrow{color:#64748b;font-size:18px;transition:transform .2s}.hotel-sort-custom-menu{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;min-width:180px;padding:6px;animation:.15s ease-out hotelDropdownFade;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 32px #0f172a29}@keyframes hotelDropdownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hotel-sort-custom-item{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s;display:flex}.hotel-sort-custom-item:hover{color:#0f172a;background:#f1f5f9}.hotel-sort-custom-item.is-selected{color:#00a7a0;background:#00a7a014;font-weight:700}.hotel-sort-custom-check{color:#00a7a0;font-size:16px}.hotel-quick-filters{flex-wrap:wrap!important;align-items:center!important;gap:8px!important;margin-bottom:8px!important;padding:4px 0 10px!important;display:flex!important}.hotel-quick-chip{background:var(--surface-2,#f1f5f9)!important;border:1px solid var(--border,#d7dee8)!important;height:34px!important;color:var(--foreground,#1e293b)!important;white-space:nowrap!important;cursor:pointer!important;border-radius:999px!important;outline:none!important;align-items:center!important;gap:6px!important;padding:6px 14px!important;font-size:12px!important;font-weight:600!important;line-height:1!important;transition:all .2s!important;display:inline-flex!important;box-shadow:0 1px 3px #0000000d!important}.hotel-quick-chip .material-symbols-outlined{color:#f59e0b!important;font-size:16px!important}.hotel-quick-chip:hover{background:var(--surface-3,#e2e8f0)!important;border-color:var(--border-strong,#c5cedb)!important;color:var(--text-strong,#0f172a)!important}.hotel-quick-chip.is-active{color:#fff!important;background:#2563eb!important;border-color:#2563eb!important;box-shadow:0 3px 10px #2563eb40!important}.hotel-quick-chip.is-active .material-symbols-outlined{color:#fff!important}.hotel-active-filters-bar{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;padding:8px 12px;display:flex}.hotel-active-filters-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-size:11px;font-weight:700}.hotel-active-pill{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;transition:background .15s;display:inline-flex}.hotel-active-pill:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.hotel-active-pill .material-symbols-outlined{font-size:14px}.hotel-clear-all-btn{color:#ef4444;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:11px;font-weight:700;text-decoration:underline}.hotel-card-img-wrap{position:relative}.hotel-card-badge-deal{z-index:2;color:#fff;letter-spacing:.02em;background:#ef4444;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:8px;left:8px;box-shadow:0 2px 6px #ef444466}.hotel-card-badge-refundable{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#2dd4bf;background:#0f172abf;border:1px solid #2dd4bf4d;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;bottom:8px;left:8px}.hotel-results-view--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hotel-results-view--grid .hotel-card-img-wrap{aspect-ratio:4/3;max-height:100px}.hotel-results-view--grid .hotel-card-body{padding:8px}.hotel-results-view--grid .hotel-card-title{font-size:13px}.hotel-results-view--grid .hotel-card-location{margin-bottom:2px;font-size:10px}.hotel-results-view--grid .hotel-card-room{display:none}.hotel-results-view--grid .hotel-chip{min-height:20px;padding:2px 5px;font-size:9px}.hotel-results-view--grid .hotel-chip .material-symbols-outlined{font-size:12px}.hotel-results-view--grid .hotel-chip__text{max-width:6.5em}.hotel-results-view--grid .hotel-chip:nth-child(n+3){display:none}.hotel-results-view--grid .hotel-card-price-section{padding:8px}.hotel-results-view--grid .hotel-card-price{font-size:15px}.hotel-results-view--grid .hotel-card-price-note{margin-bottom:4px;font-size:9px}.hotel-results-view--grid .hotel-card-btn{padding:7px 8px;font-size:10px}.hotel-results-view--list .hotel-card{flex-direction:row;align-items:stretch;margin-bottom:10px}.hotel-results-view--list .hotel-card-img-wrap{align-self:stretch;width:96px;min-height:0}.hotel-results-view--list .hotel-card-body{gap:2px;padding:10px 10px 8px}.hotel-results-view--list .hotel-card-stars{margin-bottom:0;font-size:11px}.hotel-results-view--list .hotel-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:2px;font-size:14px;display:-webkit-box;overflow:hidden}.hotel-results-view--list .hotel-card-location{margin-bottom:0;font-size:11px}.hotel-results-view--list .hotel-card-location__text{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hotel-results-view--list .hotel-card-room{display:none}.hotel-results-view--list .hotel-card-amenities{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.hotel-results-view--list .hotel-chip{border-radius:6px;justify-content:center;gap:3px;max-width:100%;min-height:22px;padding:2px 6px;font-size:10px}.hotel-results-view--list .hotel-chip .material-symbols-outlined{flex-shrink:0;font-size:13px}.hotel-results-view--list .hotel-chip__text{text-overflow:ellipsis;white-space:nowrap;max-width:9.5em;display:inline;overflow:hidden}.hotel-results-view--list .hotel-chip:nth-child(n+5){display:none}.hotel-results-view--list .hotel-card-price-section{border-left:1px solid var(--hotel-border);text-align:right;border-top:none;justify-content:space-between;align-items:flex-end;width:auto;min-width:96px;max-width:118px;padding:8px 10px}.hotel-results-view--list .hotel-card-price-strike{font-size:11px}.hotel-results-view--list .hotel-card-price{margin-bottom:2px;font-size:16px}.hotel-results-view--list .hotel-card-price-note{max-width:100%;margin-bottom:6px;font-size:10px}.hotel-results-view--list .hotel-card-btn{padding:7px 8px;font-size:11px}}.hotel-filter-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.hotel-filter-header h2{margin:0;font-size:16px;font-weight:700}.hotel-filter-clear{color:var(--color-ocean);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.hotel-price-inputs{gap:8px;margin-top:10px;display:flex}.hotel-price-inputs input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--input-text);border-radius:6px;padding:8px 10px;font-size:13px}.hotel-filter-range{width:100%;accent-color:var(--color-ocean)}.hotel-chip-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.hotel-chip{background:color-mix(in srgb, var(--color-ocean) 12%, var(--hotel-surface));color:var(--hotel-green);border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.hotel-chip .material-symbols-outlined{font-size:16px;line-height:1}.hotel-chip--muted{background:var(--hotel-surface-2);color:var(--hotel-muted)}.hotel-promo-strip{border:1px solid var(--hotel-border);background:linear-gradient(90deg, color-mix(in srgb, var(--color-sand) 70%, var(--hotel-surface)) 0%, color-mix(in srgb, var(--color-ocean) 10%, var(--hotel-surface)) 100%);color:inherit;border-radius:10px;margin:8px 0 16px;text-decoration:none;display:block;overflow:hidden}.hotel-promo-strip__inner{justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.hotel-promo-strip__title{color:var(--hotel-text);margin:0 0 2px;font-size:15px;font-weight:700}.hotel-promo-strip__sub{color:var(--hotel-muted);margin:0;font-size:13px}.hotel-promo-strip__cta{background:var(--hotel-primary);color:#fff;border-radius:6px;flex-shrink:0;padding:8px 14px;font-size:13px;font-weight:600}.hotel-mobile-filters-btn,.hotel-filters-fab,.hotel-filters-sheet-backdrop,.hotel-filters-sheet-close{display:none}.hotel-filter-header-actions{align-items:center;gap:12px;display:flex}@media (max-width:991px){.hotel-filters-fab{z-index:1035;background:var(--color-midnight);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 18px;font-size:14px;font-weight:700;transition:opacity .2s,transform .2s,visibility .2s;display:inline-flex;position:fixed;bottom:24px;left:16px;box-shadow:0 8px 24px #0f274447}.hotel-filters-fab .material-symbols-outlined{font-size:22px}.hotel-filters-fab[aria-expanded=true],.hotel-filters-fab.is-near-footer{visibility:hidden;pointer-events:none;opacity:0;transform:translateY(12px)}.hotel-filters-sheet-backdrop{z-index:1038;cursor:pointer;background:#0f274473;border:0;margin:0;padding:0;display:block;position:fixed;inset:0}.hotel-filters-col.is-collapsed{display:none!important}.hotel-filters-col.is-open{z-index:1040;max-height:min(82vh, 720px, var(--sheet-max-height,calc(100dvh - 48px)));pointer-events:auto;position:fixed;inset:auto 0 0;transform:none;flex:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}.hotel-filters-col.is-open .hotel-filters,.hotel-filters-col.is-open .hotel-filters--skeleton{max-height:min(82vh, 720px, var(--sheet-max-height,calc(100dvh - 48px)));border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;height:auto;padding-bottom:28px;overflow-y:auto;box-shadow:0 -8px 32px #0f27442e;position:static!important;top:auto!important}.hotel-filters-sheet-close{background:var(--color-ocean);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.hotel-results-shell>.row>.col-lg-9{flex:0 0 100%;width:100%;max-width:100%}}.hotel-stepper-bar{background:var(--hotel-surface);border-bottom:1px solid var(--hotel-border);margin-bottom:0;padding:12px 0}.hotel-stepper{flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.hotel-stepper-item{color:var(--hotel-muted);align-items:center;gap:8px;font-size:14px;display:flex}.hotel-stepper-item.active,.hotel-stepper-item.done{color:var(--hotel-primary);font-weight:600}.hotel-stepper-circle{border:1px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex}.hotel-stepper-item.active .hotel-stepper-circle,.hotel-stepper-item.done .hotel-stepper-circle{background:var(--hotel-primary);color:#fff;border-color:var(--hotel-primary)}.hotel-stepper-line{background:var(--hotel-border);flex-shrink:0;width:40px;height:1px;margin:0 12px}.hotel-summary-sticky{top:var(--site-header-offset,68px);z-index:1020;position:sticky}.hotel-summary-sticky--fixed{width:100%;left:0;right:0;top:var(--site-header-offset,0px);z-index:1025;position:fixed}.hotel-summary-sticky__spacer{pointer-events:none;flex-shrink:0;width:100%;display:block}.hotel-summary-back{color:#fff;cursor:pointer;background:#ffffff1a;border:1.5px solid #ffffff73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin:0;padding:0;display:none}.hotel-summary-back .material-symbols-outlined{font-size:20px;line-height:1}@media (max-width:991.98px){body:has(.site-header--flow-embed) .hotel-summary-sticky--fixed{top:0!important}.hotel-summary-back{display:inline-flex}}@media (min-width:992px){.hotel-summary-sticky--fixed{top:var(--site-header-offset,68px);z-index:1020;width:auto;position:sticky;left:auto;right:auto}.hotel-summary-sticky__spacer{display:none}}.hotel-summary-bar{background:var(--header-bg);border-bottom:1px solid #ffffff1f;margin-bottom:0;padding:10px 0;color:#fff!important}.hotel-summary-meta,.hotel-summary-item,.hotel-summary-item strong{font-weight:700;color:#fff!important}.hotel-summary-item .material-symbols-outlined{color:#ffffffd9!important}.hotel-session-row{background:var(--hotel-surface);border-bottom:1px solid var(--hotel-border);padding:8px 0;box-shadow:0 4px 12px #0f27440f}.hotel-session-row__inner{justify-content:flex-end;align-items:center;min-height:28px;display:flex}.hotel-session-row:empty,.hotel-session-row__inner:empty{display:none}.hotel-summary-content{flex-wrap:nowrap;align-items:center;gap:16px;min-height:36px;font-size:14px;display:flex}.hotel-summary-meta{flex:1;align-items:center;gap:10px;min-width:0;display:flex;overflow:hidden}.hotel-summary-sep{color:#ffffff8c;flex-shrink:0;align-items:center;line-height:1;display:inline-flex}.hotel-summary-item{flex-shrink:1;align-items:center;gap:6px;min-width:0;line-height:1.25;display:flex}.hotel-summary-item strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.25;overflow:hidden}.hotel-summary-dates-compact,.hotel-summary-guests-compact,.hotel-summary-btn-compact{display:none}.hotel-summary-item .material-symbols-outlined{flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1em;font-size:18px;line-height:1;display:inline-flex}.hotel-summary-item--dest{align-items:center}.hotel-summary-btn{background-color:var(--hotel-orange);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;min-height:36px;margin-left:auto;padding:8px 16px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.hotel-summary-btn:hover{background-color:var(--color-airbnb-dark);color:#fff;text-decoration:none}@media (max-width:767px){.hotel-summary-bar{padding:8px 0}.hotel-summary-content{flex-wrap:nowrap;align-items:center;gap:8px}.hotel-summary-back{width:32px;height:32px}.hotel-summary-back .material-symbols-outlined{font-size:18px}.hotel-summary-meta{gap:6px}.hotel-summary-item .material-symbols-outlined{font-size:15px}.hotel-summary-item strong{max-width:none;font-size:12px;line-height:1.2}.hotel-summary-item--dest{flex-shrink:1;max-width:34%}.hotel-summary-item--dates{flex-shrink:1;max-width:42%}.hotel-summary-item--guests{flex-shrink:0}.hotel-summary-dates-full,.hotel-summary-guests-full,.hotel-summary-btn-full{display:none}.hotel-summary-dates-compact,.hotel-summary-guests-compact,.hotel-summary-btn-compact{display:inline}.hotel-summary-btn{border-radius:6px;width:auto;margin-left:0;padding:5px 10px;font-size:12px}.hotel-session-row{padding:6px 0}.hotel-session-row__inner{justify-content:center;min-height:24px}.hotel-session-timer.fare-session-timer,.hotel-session-row .fare-session-timer{padding:4px 10px;font-size:.75rem}}.hotel-filters-col{align-self:stretch}.hotel-filters{background:var(--hotel-surface);border:1px solid var(--hotel-border);top:calc(var(--site-header-offset,68px) + var(--hotel-summary-bar-h,52px) + 12px);max-height:calc(100vh - var(--site-header-offset,68px) - var(--hotel-summary-bar-h,52px) - 24px);box-shadow:var(--shadow-soft);z-index:5;border-radius:10px;padding:16px;position:sticky;overflow-y:auto}@keyframes hotel-skel-pulse{0%,to{opacity:1}50%{opacity:.45}}.hotel-skel-block,.hotel-skel-line,.hotel-skel-chip,.hotel-skel-btn{background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);background-size:200% 100%;border-radius:6px;animation:1.2s ease-in-out infinite hotel-skel-pulse}.hotel-skel-line{width:100%;height:12px;margin-bottom:10px}.hotel-skel-line--xs{width:36%;height:10px}.hotel-skel-line--sm{width:55%;height:12px}.hotel-skel-line--md{width:70%;height:12px}.hotel-skel-line--title{width:78%;height:18px;margin-bottom:12px}.hotel-skel-line--price{width:70%;height:26px;margin-bottom:8px;margin-left:auto}.hotel-skel-line--input{width:100%;height:36px;margin-bottom:10px}.hotel-skel-line--row{width:88%;height:14px;margin-bottom:10px}.hotel-skel-line--count{vertical-align:middle;width:min(280px,70%);height:16px;margin:0;display:inline-block}.hotel-skel-chips{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.hotel-skel-chip{border-radius:999px;width:88px;height:24px;display:inline-block}.hotel-skel-btn{border-radius:6px;width:100%;height:40px;margin-top:12px}.hotel-card--skeleton .hotel-card-img-wrap{min-height:190px}.hotel-card--skeleton .hotel-card-body{gap:0}.hotel-filters--skeleton .hotel-filter-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.hotel-sort-bar--skeleton{pointer-events:none}.hotel-filter-section{border-bottom:1px solid var(--hotel-border);margin-bottom:14px;padding-bottom:14px}.hotel-filter-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.hotel-filter-title{color:var(--hotel-text-strong);text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px;font-size:13px;font-weight:700}.hotel-filter-checkbox{color:var(--hotel-text);cursor:pointer;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:13px;line-height:1.35;display:flex}.hotel-filter-checkbox input{width:16px;height:16px;accent-color:var(--color-ocean);flex-shrink:0;margin-top:1px}.hotel-filter-count{color:var(--hotel-muted);white-space:nowrap;font-weight:500}.hotel-filter-search{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--input-text);border-radius:6px;padding:8px 10px;font-size:13px}.hotel-filter-search:focus{border-color:var(--color-ocean);background:var(--input-bg-focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.hotel-filter-search::placeholder{color:var(--input-placeholder)}.hotel-filter-more{color:var(--color-ocean);cursor:pointer;background:0 0;border:0;padding:4px 0 0;font-size:12px;font-weight:600}.hotel-filter-more:hover{color:var(--hotel-primary)}.hotel-filter-scroll{max-height:220px;padding-right:4px;overflow-y:auto}.hotel-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:10px;margin-bottom:14px;transition:box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.hotel-card:hover{box-shadow:var(--shadow-soft);border-color:var(--border-strong)}.hotel-card-img-wrap{background:linear-gradient(145deg, var(--surface-3), var(--surface-2));flex-shrink:0;width:220px;min-height:190px;position:relative}.hotel-card-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hotel-card-img-placeholder{color:var(--muted-2);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.hotel-card-img-placeholder .material-symbols-outlined{font-size:42px}.hotel-card-body{flex-direction:column;flex:1;min-width:0;padding:16px 18px;display:flex}.hotel-card-stars{color:var(--color-golden);margin-bottom:4px;font-size:14px}.hotel-card-title{color:var(--hotel-primary);margin-bottom:6px;font-size:18px;font-weight:700;line-height:1.3;text-decoration:none}.hotel-card-title--button{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.hotel-card-title:hover{color:var(--color-ocean);text-decoration:underline}.hotel-card-location{color:var(--hotel-muted);align-items:flex-start;gap:4px;margin-bottom:10px;font-size:13px;line-height:1.35;display:flex}.hotel-card-location .material-symbols-outlined{flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1.35em;font-size:1.15em;line-height:1;display:inline-flex;transform:translateY(.1em)}.hotel-card-location__text{flex:1;min-width:0}.hotel-card-room{color:var(--hotel-text);margin-bottom:10px;font-size:13px}.hotel-card-amenities{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.hotel-card-price-section{border-left:1px solid var(--hotel-border);background:var(--hotel-surface-2);text-align:right;flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-end;width:210px;padding:16px;display:flex}.hotel-card-price-strike{color:var(--hotel-muted);margin-bottom:2px;font-size:13px;text-decoration:line-through}.hotel-card-price{color:var(--hotel-text);margin-bottom:4px;font-size:26px;font-weight:800;line-height:1.1}.hotel-card-price-note{color:var(--hotel-muted);max-width:180px;margin-bottom:12px;font-size:11px;line-height:1.4}.hotel-card-btn{background:var(--hotel-orange);color:#fff;letter-spacing:.02em;text-align:center;cursor:pointer;text-transform:uppercase;border:none;border-radius:6px;width:100%;padding:10px 16px;font-size:13px;font-weight:700;text-decoration:none;display:block}.hotel-card-btn:hover{background:var(--color-airbnb-dark);color:#fff;text-decoration:none}.hotel-card-btn:disabled{opacity:.65;cursor:not-allowed}.hotel-card-btn--disabled{background:var(--hotel-muted);color:#fff;opacity:.75;cursor:not-allowed}.hotel-alt-rates{text-align:left;width:100%;margin:0 0 10px}.hotel-alt-rates__summary{cursor:pointer;color:var(--hotel-primary);font-size:12px;font-weight:600;list-style:none}.hotel-alt-rates__summary::-webkit-details-marker{display:none}.hotel-alt-rates__list{border-top:1px solid var(--hotel-border,#e8e8e8);margin:6px 0 0;padding:0;list-style:none}.hotel-alt-rates__item{color:var(--hotel-muted);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:12px;display:flex}.hotel-alt-rates__select{border:1px solid var(--hotel-primary);background:var(--hotel-surface,#fff);color:var(--hotel-primary);border-radius:5px;align-items:center;padding:3px 7px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.hotel-alt-rates__select:hover{background:var(--hotel-primary);color:#fff;text-decoration:none}.hotel-card-btn-outline{background:var(--hotel-surface);color:var(--hotel-primary);border:1px solid var(--hotel-primary);text-align:center;border-radius:6px;width:100%;padding:8px 16px;font-weight:600;text-decoration:none;display:block}.hotel-card-btn-outline:hover{background:var(--hotel-primary);color:#fff;text-decoration:none}@media (max-width:767px){.hotel-card{flex-direction:column}.hotel-card-img-wrap{width:100%;min-height:170px}.hotel-card-price-section{border-left:none;border-top:1px solid var(--hotel-border);text-align:left;align-items:stretch;width:100%}.hotel-card-price-note{max-width:none}.hotel-results-view--list .hotel-card{flex-direction:row}.hotel-results-view--list .hotel-card-img-wrap{width:96px;min-height:0}.hotel-results-view--list .hotel-card-price-section{border-left:1px solid var(--hotel-border);text-align:right;border-top:none;align-items:flex-end;width:auto}.hotel-card-btn,.hotel-results-view--grid .hotel-card-btn,.hotel-results-view--list .hotel-card-btn{letter-spacing:.01em;padding:7px 10px;font-size:11px}}.hotel-gallery{border-radius:4px;gap:4px;margin-bottom:8px;display:grid;overflow:hidden}.hotel-gallery--1{grid-template-rows:320px;grid-template-columns:1fr}.hotel-gallery--1 .hotel-gallery-main{grid-area:1/1}.hotel-gallery--2{grid-template-rows:280px;grid-template-columns:1fr 1fr}.hotel-gallery--2 .hotel-gallery-main{grid-area:1/1}.hotel-gallery--3{grid-template-rows:140px 140px;grid-template-columns:2fr 1fr}.hotel-gallery--3 .hotel-gallery-main{grid-area:1/1/3}.hotel-gallery--many{grid-template-rows:220px 220px;grid-template-columns:2fr 1fr 1fr}.hotel-gallery--many .hotel-gallery-main{grid-area:1/1/3/2}.hotel-gallery-item{background:#eee;position:relative}.hotel-gallery-item img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.hotel-gallery-overlay{color:#fff;background:#0009;border-top-left-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:flex;position:absolute;bottom:0;right:0}@media (max-width:767px){.hotel-gallery--1{grid-template-rows:220px}.hotel-gallery--2{grid-template-rows:180px}.hotel-gallery--3{grid-template-rows:180px 120px;grid-template-columns:1fr 1fr}.hotel-gallery--3 .hotel-gallery-main{grid-area:1/1/2/3}.hotel-gallery--many{grid-template-rows:180px 120px;grid-template-columns:1fr 1fr}.hotel-gallery--many .hotel-gallery-main{grid-area:1/1/2/3}}.hotel-details-header{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;justify-content:space-between;gap:16px;margin-bottom:24px;padding:24px;display:flex}.hotel-details-title-wrap{flex:1;min-width:0}.hotel-details-title{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;font-size:28px;font-weight:700;display:flex}.hotel-details-rating{background:var(--hotel-green);color:#fff;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:14px;font-weight:700;display:inline-flex}.hotel-details-address{color:var(--hotel-muted);align-items:flex-start;gap:6px;font-size:14px;line-height:1.35;display:flex}.hotel-details-address .material-symbols-outlined{flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1.35em;font-size:1.15em;line-height:1;display:inline-flex;transform:translateY(.1em)}.hotel-details-address__text{min-width:0}.hotel-details-map{background:#e9ecef;border-radius:8px;flex-shrink:0;width:300px;height:150px;overflow:hidden}.hotel-details-map img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}@media (max-width:991px){.hotel-details-header{flex-direction:column}.hotel-details-map{width:100%}.hotel-details-title{font-size:22px}}.room-options-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;overflow:hidden}.room-options-header{background:var(--hotel-surface-2);border-bottom:1px solid var(--hotel-border);padding:16px 24px}.room-options-th{background:var(--surface-3);color:var(--hotel-muted);border-bottom:1px solid var(--hotel-border);padding:12px 24px;font-size:14px;font-weight:600;display:flex}.room-options-row{border-bottom:1px solid var(--hotel-border);gap:16px;padding:24px;display:flex}.room-options-row:last-child{border-bottom:none}.room-col-type{flex:1.5;min-width:0}.room-col-benefits{flex:2;min-width:0}.room-col-price{flex-direction:column;flex:1;align-items:flex-end;min-width:160px;display:flex}.room-type-title{margin-bottom:12px;font-size:16px;font-weight:700}.room-type-img{-o-object-fit:cover;object-fit:cover;background:#e9ecef;border-radius:8px;width:100%;height:140px;margin-bottom:8px}.room-benefit-item{align-items:flex-start;gap:8px;margin-bottom:8px;font-size:14px;display:flex}.room-benefit-item .material-symbols-outlined{font-size:18px}.room-benefit-item.success{color:var(--hotel-green)}.room-benefit-item.danger{color:#dc3545}@media (max-width:767px){.room-options-th{display:none}.room-options-row{flex-direction:column;padding:16px}.room-col-price{align-items:stretch;min-width:0}}.checkout-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;margin-bottom:24px;padding:24px}.checkout-card-title{color:var(--hotel-text);margin-bottom:16px;font-size:18px;font-weight:700}.checkout-hotel-summary{gap:16px;margin-bottom:24px;display:flex}.checkout-hotel-img{-o-object-fit:cover;object-fit:cover;background:#eee;border-radius:8px;flex-shrink:0;width:140px;height:100px}.checkout-hotel-info{flex:1;min-width:0}.checkout-date-block{border-top:1px solid var(--hotel-border);flex-wrap:wrap;gap:32px;margin-top:16px;padding-top:16px;display:flex}.checkout-date-item{flex-direction:column;display:flex}.checkout-date-label{color:var(--hotel-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px}.checkout-date-value{font-size:24px;font-weight:700;line-height:1}.checkout-date-sub{color:var(--hotel-muted);margin-left:4px;font-size:12px}@media (max-width:575px){.checkout-hotel-summary{flex-direction:column}.checkout-hotel-img{width:100%;height:160px}}.floating-group{margin-bottom:20px;position:relative}.floating-input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--input-text);border-radius:4px;padding:12px;font-size:14px;transition:border-color .2s}.floating-input:focus{border-color:var(--color-ocean);background:var(--input-bg-focus);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.floating-label{background:var(--hotel-surface);color:var(--hotel-muted);text-transform:uppercase;padding:0 4px;font-size:11px;font-weight:600;position:absolute;top:-8px;left:12px}.review-table-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:12px;margin-bottom:24px;overflow:hidden}.review-table-header{background:color-mix(in srgb, var(--color-sand) 55%, var(--hotel-surface));color:var(--hotel-text);border-bottom:1px solid var(--hotel-border);gap:12px;padding:16px 24px;font-size:14px;font-weight:600;display:flex}.review-table-body{gap:12px;padding:16px 24px;font-size:14px;display:flex}.review-col{flex:1;min-width:0}.review-contact-box{border:1px solid var(--hotel-border);border-radius:8px;flex:1;align-items:center;gap:12px;padding:16px;display:flex}.review-contact-icon{color:var(--hotel-muted);font-size:20px}.review-tc-box{border:1px solid var(--hotel-border);height:200px;color:var(--hotel-muted);border-radius:8px;margin-bottom:16px;padding:16px;font-size:13px;line-height:1.6;overflow-y:auto}.review-tc-box ol{margin-bottom:0;padding-left:20px}.review-checkbox-row{cursor:pointer;align-items:center;gap:8px;margin-bottom:24px;font-size:14px;display:flex}.review-checkbox-row input{width:16px;height:16px;accent-color:var(--color-ocean)}.hotel-empty-state,.hotel-loading-state{background:var(--hotel-surface);border:1px solid var(--hotel-border);text-align:center;border-radius:12px;padding:40px 24px}.hotel-success-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);text-align:center;border-radius:12px;max-width:560px;margin:40px auto;padding:40px 24px}.hotel-success-card .hotel-success-icon{background:color-mix(in srgb, var(--color-ocean) 14%, var(--hotel-surface));width:64px;height:64px;color:var(--hotel-green);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:28px;display:inline-flex}@media (max-width:767px){.review-table-header,.review-table-body{flex-direction:column}}.hotel-search-pagination .search-pagination__nav-icon{font-size:20px;line-height:1;display:none}@media (max-width:767px){.hotel-search-pagination{gap:8px;margin-top:14px;padding:10px 8px}.hotel-search-pagination .search-pagination__meta{text-align:center;font-size:.75rem}.hotel-search-pagination .search-pagination__controls{gap:4px}.hotel-search-pagination .search-pagination__btn{border-radius:8px;min-width:34px;height:34px;padding:0 8px;font-size:.75rem}.hotel-search-pagination .search-pagination__btn--page{min-width:34px}.hotel-search-pagination .search-pagination__nav-full{display:none}.hotel-search-pagination .search-pagination__nav-icon{display:inline-flex}.hotel-search-pagination .search-pagination__btn--nav{min-width:34px;padding:0}.hotel-search-pagination .search-pagination__btn--edge{display:none}}.hotel-details-page{padding-bottom:56px}.hotel-breadcrumb{color:var(--hotel-muted);margin:14px 0 10px;font-size:13px}.hotel-breadcrumb a{color:var(--hotel-primary);text-decoration:none}.hotel-breadcrumb a:hover{text-decoration:underline}.hd-section-nav{border-bottom:1px solid var(--hotel-border);top:calc(var(--site-header-offset,68px) + var(--hotel-summary-bar-h,52px));z-index:20;background:var(--hotel-bg);scrollbar-width:none;scroll-behavior:smooth;gap:4px;margin-bottom:18px;display:flex;position:sticky;overflow-x:auto}.hd-section-nav::-webkit-scrollbar{display:none}.hd-section-nav__btn{color:var(--hotel-muted);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 14px;font-size:14px;font-weight:600}.hd-section-nav__btn:hover{color:var(--hotel-primary)}.hd-section-nav__btn.is-active{color:var(--hotel-primary);border-bottom-color:var(--hotel-primary)}.hd-section{scroll-margin-top:calc(var(--site-header-offset,68px) + var(--hotel-summary-bar-h,52px) + 52px);margin-bottom:36px}.hd-title-block{margin-bottom:14px}.hd-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.hd-title-row .hotel-details-title{margin-bottom:0;font-size:26px}.hd-stars{color:#febb02;gap:1px;display:inline-flex}.hd-stars .material-symbols-outlined{font-variation-settings:"FILL" 1;font-size:18px}.hd-map-link{color:var(--hotel-primary);white-space:nowrap;margin-left:8px;font-size:13px;font-weight:600;text-decoration:none}.hd-map-link:hover{text-decoration:underline}.hotel-gallery{border-radius:4px;overflow:hidden}.hotel-gallery-item{border-radius:2px;overflow:hidden}.hotel-gallery-placeholder{background:var(--hotel-surface-2);width:100%;height:100%;min-height:160px;color:var(--hotel-muted);justify-content:center;align-items:center;display:flex}.hotel-gallery-placeholder .material-symbols-outlined{font-size:48px}.hotel-gallery-placeholder--sm .material-symbols-outlined{font-size:28px}.hotel-gallery-overlay{cursor:pointer;border:none;border-radius:4px}.hotel-details-split{grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);align-items:start;gap:28px;margin-top:22px;margin-bottom:8px;display:grid}.hotel-details-main{min-width:0}.hotel-about{margin-top:0}.hotel-section-heading{color:var(--hotel-text-strong);align-items:center;gap:8px;margin:0 0 14px;font-size:22px;font-weight:700;display:flex}.hotel-section-heading .material-symbols-outlined{color:var(--hotel-primary);font-size:22px}.hotel-about__body{color:var(--hotel-text);max-height:7.2em;font-size:14px;line-height:1.65;overflow:hidden}.hotel-about__body.is-expanded{max-height:none}.hotel-about__body p{margin:0 0 12px}.hotel-link-btn{color:var(--hotel-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.hotel-link-btn:hover{text-decoration:underline}.hd-popular-row{border-top:1px solid var(--hotel-border);margin-top:28px;padding-top:20px}.hd-popular-row__title,.hd-fac-popular__title{color:var(--hotel-text-strong);margin:0 0 12px;font-size:15px;font-weight:700}.hd-popular-row__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px;display:grid}.hd-popular-row__item{color:var(--hotel-text);align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.hd-popular-row__item .material-symbols-outlined{color:var(--hotel-primary);flex-shrink:0;font-size:20px}.hd-highlights{background:var(--hotel-surface);border:1px solid var(--hotel-border);top:calc(var(--site-header-offset,68px) + var(--hotel-summary-bar-h,52px) + 56px);border-radius:4px;position:sticky;overflow:hidden;box-shadow:0 2px 8px #0000000f}.hd-highlights__map{background:var(--hotel-surface-2);height:160px;position:relative}.hd-highlights__map iframe{pointer-events:none;border:0;width:100%;height:100%;display:block}.hd-highlights__map-fallback{text-align:center;height:100%;color:var(--hotel-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px;font-size:13px;display:flex}.hd-highlights__map-btn{background:var(--hotel-primary);color:#fff;white-space:nowrap;border:none;border-radius:4px;padding:8px 14px;font-size:13px;font-weight:700;text-decoration:none;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0003}.hd-highlights__map-btn:hover{filter:brightness(1.08);color:#fff}.hd-highlights__price{border-bottom:1px solid var(--hotel-border);padding:16px 18px}.hd-highlights__price-label{color:var(--hotel-muted);margin-bottom:4px;font-size:13px}.hd-highlights__price-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.hotel-book-card__strike{color:var(--hotel-muted);font-size:15px;text-decoration:line-through}.hotel-book-card__price{color:var(--hotel-text-strong);font-size:26px;font-weight:800;line-height:1.1}.hotel-book-card__note{color:var(--hotel-muted);margin:4px 0 14px;font-size:13px}.hd-highlights__cta{background:var(--hotel-coral,#ff6b4a);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:12px 16px;font-size:15px;font-weight:700;transition:background-color .2s}.hd-highlights__cta:hover{background:var(--hotel-coral-dark,#e05338)}.hd-highlights__facilities{padding:14px 18px 18px}.hd-highlights__facilities-title{color:var(--hotel-text-strong);margin-bottom:10px;font-size:13px;font-weight:700}.hd-highlights__facilities ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hd-highlights__facilities li{align-items:center;gap:8px;font-size:13px;display:flex}.hd-highlights__facilities .material-symbols-outlined{color:var(--hotel-text-strong);font-size:18px}.hd-avail-bar{background:var(--hotel-surface);color:var(--hotel-text-strong);border:1px solid var(--hotel-border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:12px 14px;display:flex}.hd-avail-bar__field{background:color-mix(in srgb, var(--hotel-primary) 8%, var(--hotel-surface));border:1px solid var(--hotel-border);border-radius:4px;flex-direction:column;flex:1;gap:4px;min-width:180px;padding:10px 14px;display:flex}.hd-avail-bar__label{color:var(--hotel-muted);text-transform:uppercase;letter-spacing:.04em;opacity:1;font-size:11px;font-weight:700}.hd-avail-bar__value{color:var(--hotel-text-strong);font-size:14px;font-weight:700;line-height:1.35}.hd-avail-bar__btn{background:var(--hotel-primary);color:#fff;white-space:nowrap;cursor:pointer;border:none;border-radius:4px;margin-left:auto;padding:12px 20px;font-size:14px;font-weight:700;text-decoration:none}.hd-avail-bar__btn:hover{filter:brightness(1.06);color:#fff}.hd-mobile-reserve{display:none}.hd-stay-prompt{border:1px dashed var(--hotel-border);background:var(--hotel-surface);text-align:center;border-radius:6px;padding:28px 20px}.hd-stay-prompt p{color:var(--hotel-muted);margin:0 0 14px;font-size:14px}.hd-stay-prompt__btn{background:var(--hotel-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:12px 20px;font-weight:700}.hd-stay-backdrop{z-index:1060;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;position:fixed;inset:0}.hd-stay-modal{z-index:1070;width:calc(100% - 24px);max-width:720px;max-height:var(--modal-max-height,calc(100dvh - 40px));background:#fff;border-radius:12px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0f172a40}.hd-stay-modal__head{border-bottom:1px solid var(--hotel-border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;display:flex}.hd-stay-modal__title{color:var(--hotel-text-strong);margin:0;font-size:1.25rem;font-weight:800}.hd-stay-modal__sub{color:var(--hotel-muted);margin:4px 0 0;font-size:13px}.hd-stay-modal__close{background:var(--hotel-surface-2);cursor:pointer;width:36px;height:36px;color:var(--hotel-text);border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.hd-stay-modal__body{gap:18px;padding:16px 20px;display:grid}.hd-stay-modal__calendar{overflow-x:auto}.hd-stay-modal__guests{border:1px solid var(--hotel-border);border-radius:8px;padding:4px 14px}.hd-stay-modal__guest-row{border-bottom:1px solid var(--hotel-border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:14px;font-weight:600;display:flex}.hd-stay-modal__guest-row:last-child{border-bottom:none}.hd-stay-modal__guest-row--ages{flex-direction:column;align-items:stretch;gap:10px}.hd-stay-modal__child-ages{flex-wrap:wrap;gap:8px;display:flex}.hd-stay-modal__child-age{color:#64748b;flex-direction:column;gap:4px;min-width:76px;font-size:12px;font-weight:600;display:flex}.hd-stay-modal__child-age select{border:1px solid var(--hotel-border);color:#0f172a;background:#fff;border-radius:8px;min-width:76px;padding:6px 8px;font-size:13px;font-weight:600}.hd-stay-modal__counter{align-items:center;gap:10px;display:inline-flex}.hd-stay-modal__counter button{border:1px solid var(--hotel-border);cursor:pointer;width:32px;height:32px;color:var(--hotel-primary);background:#fff;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.hd-stay-modal__counter button:disabled{opacity:.4;cursor:not-allowed}.hd-stay-modal__counter span{text-align:center;min-width:1.5rem}.hd-stay-modal__foot{border-top:1px solid var(--hotel-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px 18px;display:flex}.hd-stay-modal__summary{color:var(--hotel-muted);font-size:13px;font-weight:600}.hd-stay-modal__cta{background:var(--hotel-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-left:auto;padding:12px 22px;font-weight:700}.hd-stay-modal__cta:disabled{opacity:.5;cursor:not-allowed}.hotel-room-filters{background:var(--hotel-surface-2);border:1px solid var(--hotel-border);border-radius:4px;flex-wrap:wrap;gap:12px;margin:0 0 14px;padding:12px 14px;display:flex}.hotel-room-filters label{color:var(--hotel-muted);flex-direction:column;flex:1;gap:4px;min-width:160px;font-size:12px;display:flex}.hotel-room-filters select{border:1px solid var(--hotel-border);background:var(--hotel-surface);color:var(--hotel-text);border-radius:4px;padding:8px 10px;font-size:14px}.hd-room-table{border:1px solid var(--hotel-border);background:var(--hotel-surface);border-radius:4px;overflow:hidden}.hd-room-table__head{color:#fff;background:#123b6a;grid-template-columns:minmax(0,2.2fr) minmax(110px,.7fr) minmax(120px,1fr) minmax(140px,1.2fr) 140px;gap:0;padding:0;font-size:14px;font-weight:700;display:grid}.hd-room-table__th{border-right:1px solid color-mix(in srgb, #fff 28%, var(--hotel-primary));align-items:center;padding:14px 16px;line-height:1.3;display:flex}.hd-room-table__th:last-child{border-right:none}.hd-room-table__th{flex-direction:column;align-items:flex-start;gap:2px}.hd-room-table__th-sub{opacity:.72;letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:500;line-height:1.2}.hd-room-price-context{color:var(--hotel-primary);letter-spacing:.01em;margin-top:1px;font-size:11px;font-weight:600}.hd-room-row{border-bottom:1px solid var(--hotel-border);grid-template-columns:minmax(0,2.2fr) minmax(110px,.7fr) minmax(120px,1fr) minmax(140px,1.2fr) 140px;align-items:stretch;gap:0;padding:0;display:grid}.hd-room-row>*{border-right:1px solid var(--hotel-border);flex-direction:column;justify-content:center;min-height:100%;padding:16px;display:flex}.hd-room-row>:last-child{border-right:none}.hd-room-row:last-child{border-bottom:none}.hd-room-row__type{gap:12px;min-width:0;display:flex}.hd-room-row__img{-o-object-fit:cover;object-fit:cover;background:var(--hotel-surface-2);border-radius:4px;flex-shrink:0;width:110px;height:90px}.hd-room-row__img--empty{color:var(--hotel-muted);justify-content:center;align-items:center;display:flex}.hd-room-row__img--empty .material-symbols-outlined{font-size:28px}.room-type-title{color:var(--hotel-primary);margin-bottom:8px;font-size:15px;font-weight:700}.hd-room-row__inc{color:var(--hotel-muted);align-items:flex-start;gap:4px;margin-bottom:2px;font-size:12px;display:flex}.hd-room-row__inc .material-symbols-outlined{color:var(--hotel-green);font-size:14px}.hd-room-row__sleeps{color:var(--hotel-text-strong);flex-flow:column;justify-content:center;align-items:center;gap:6px;display:flex}.hd-room-row__sleeps-label{letter-spacing:.04em;text-transform:uppercase;color:var(--hotel-muted);font-size:11px;font-weight:700;display:none}.hd-room-row__sleeps-icons{flex-flow:row;justify-content:center;align-items:center;gap:2px;display:flex}.hd-room-row__sleeps-icons .material-symbols-outlined{font-size:22px;line-height:1}.hd-room-row__sleeps-count{color:var(--hotel-muted);font-size:12px;font-weight:700}.hd-room-row__child{opacity:.8;font-size:18px!important}.hd-room-row__price{text-align:right;align-items:flex-end}.hd-room-row__choices{align-items:stretch;gap:8px}.hd-room-row__action{justify-content:center;align-items:stretch;display:flex}.hd-room-row__price .hotel-card-price{color:var(--hotel-text-strong);font-size:20px;font-weight:800}.hd-room-row__price .hotel-card-price-strike{color:var(--hotel-muted);font-size:13px;text-decoration:line-through}.hd-room-row__price .hotel-card-price-note{color:var(--hotel-muted);margin-top:2px;font-size:12px}.hd-room-row__breakup{border-top:1px dashed var(--hotel-border);flex-direction:column;align-self:flex-end;gap:4px;width:100%;max-width:180px;margin:8px 0 0;padding:8px 0 0;list-style:none;display:flex}.hd-room-row__breakup li{justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;line-height:1.3;display:flex}.hd-room-row__breakup-label{color:var(--hotel-muted);text-align:left}.hd-room-row__breakup-amount{color:var(--hotel-text);white-space:nowrap;text-align:right;font-weight:600}.hd-choice{align-items:flex-start;gap:8px;font-size:13px;font-weight:600;line-height:1.35;display:flex}.hd-choice .material-symbols-outlined{flex-shrink:0;margin-top:1px;font-size:18px}.hd-choice.is-ok{color:var(--hotel-green)}.hd-choice.is-bad{color:#f87171}.hd-choice--meal{color:var(--hotel-text);border-top:1px dashed var(--hotel-border);padding-top:6px}.hd-choice-penalties{flex-direction:column;gap:4px;margin:0;padding:0 0 0 26px;list-style:none;display:flex}.hd-choice-penalties li{color:var(--hotel-muted);flex-wrap:wrap;align-items:baseline;gap:2px 6px;font-size:12px;line-height:1.35;display:flex}.hd-choice-penalties__amount{color:var(--hotel-text);white-space:nowrap;font-weight:700}.hd-choice-penalties__sep{opacity:.5;flex-shrink:0}.hd-choice-penalties__window{white-space:nowrap}.hd-reserve-btn{background:var(--hotel-coral,#ff6b4a);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;width:100%;padding:10px 14px;font-size:13.5px;font-weight:700;transition:background-color .2s}.hd-reserve-btn:hover{background:var(--hotel-coral-dark,#e05338)}.hd-facilities-panel{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:6px;padding:22px 24px 20px}.hd-facilities-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.hd-facilities-panel__head .hotel-section-heading{margin-bottom:0}.hd-facilities-panel__count{color:var(--hotel-muted);font-size:13px;font-weight:600}.hd-fac-popular{border-bottom:1px solid var(--hotel-border);margin:16px 0 20px;padding-bottom:18px}.hd-fac-chips{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.hd-fac-chip{background:var(--hotel-surface-2);border:1px solid var(--hotel-border);color:var(--hotel-text-strong);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.hd-fac-chip span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hd-fac-chip .material-symbols-outlined{color:var(--hotel-primary);flex-shrink:0;font-size:20px}.hd-fac-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:12px;display:grid}.hd-fac-group{background:var(--hotel-surface-2);border:1px solid var(--hotel-border);border-radius:6px;min-width:0;padding:14px 14px 12px}.hd-fac-group__title{color:var(--hotel-text-strong);align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:700;display:flex}.hd-fac-group__title .material-symbols-outlined{color:var(--hotel-primary);font-size:18px}.hd-fac-group__count{color:var(--hotel-muted);background:var(--hotel-surface);border-radius:999px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:700}.hd-fac-group__list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.hd-fac-group__list li{color:var(--hotel-text);align-items:flex-start;gap:6px;font-size:13px;line-height:1.35;display:flex}.hd-fac-group__list .material-symbols-outlined{color:var(--hotel-green);flex-shrink:0;margin-top:1px;font-size:15px}.hd-rules-card{border:1px solid var(--hotel-border);background:var(--hotel-surface);border-radius:4px;overflow:hidden}.hd-facilities-panel .hd-rules-card{background:0 0;border:none;border-radius:0;margin:0 -4px}.hd-facilities-panel .hd-rules-row{padding-left:4px;padding-right:4px}.hd-rules-row{border-bottom:1px solid var(--hotel-border);grid-template-columns:minmax(160px,240px) minmax(0,1fr);gap:16px;padding:16px 20px;font-size:14px;display:grid}.hd-rules-row:last-child{border-bottom:none}.hd-rules-row__label{color:var(--hotel-text-strong);align-items:flex-start;gap:8px;font-weight:700;display:flex}.hd-rules-row__label .material-symbols-outlined{color:var(--hotel-muted);font-size:20px}.hd-rules-row__value{color:var(--hotel-text);line-height:1.55}.hd-rules-row__note{color:var(--hotel-muted);margin-top:4px;font-size:13px}.hd-rules-row__value--pre{white-space:pre-line}.hotel-nearby-section{margin-bottom:28px}.hotel-nearby-section .hotel-section-heading{margin-bottom:16px}.hd-nearby-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px;display:grid}.hd-nearby-col{background:var(--hotel-surface-2,#ffffff0a);border:1px solid var(--hotel-border,#00000014);border-radius:10px;min-width:0;padding:16px 18px}.hd-nearby-col__title{color:var(--hotel-text-strong);border-bottom:1px solid var(--hotel-border,#00000014);align-items:center;gap:10px;margin:0 0 14px;padding-bottom:10px;font-size:15px;font-weight:700;display:flex}.hd-nearby-col__title .material-symbols-outlined{color:var(--hotel-primary,#00a7a0);background:color-mix(in srgb, var(--hotel-primary,#00a7a0) 12%, transparent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;display:inline-flex}.hd-nearby-col__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hd-nearby-col__list li{justify-content:space-between;align-items:flex-start;gap:12px;font-size:13.5px;line-height:1.4;display:flex}.hd-nearby-col__name{min-width:0;color:var(--hotel-text-strong);word-break:break-word;flex:1}.hd-nearby-col__kind,.hd-nearby-col__sep{color:var(--hotel-muted);font-weight:400}.hd-nearby-col__dist{color:var(--hotel-muted);white-space:nowrap;background:var(--hotel-surface,#0000000a);border-radius:999px;flex-shrink:0;margin-top:1px;padding:2px 8px;font-size:12.5px;font-weight:600}.hotel-nearby-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.hotel-nearby-card{background:var(--hotel-surface);border:1px solid var(--hotel-border);border-radius:4px;gap:12px;padding:14px;display:flex}.hotel-nearby-card__icon{background:color-mix(in srgb, var(--color-ocean) 14%, var(--hotel-surface));width:40px;height:40px;color:var(--hotel-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hotel-nearby-card__label{text-transform:uppercase;letter-spacing:.03em;color:var(--hotel-muted);font-size:12px;font-weight:700}.hotel-nearby-card__name{color:var(--hotel-text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.hotel-nearby-card__dist{color:var(--hotel-green);font-size:13px;font-weight:600}.hotel-nearby-card__empty{color:var(--hotel-muted);font-size:13px}.hotel-nearby-card__more{color:var(--hotel-muted);margin:6px 0 0;padding:0;font-size:12px;list-style:none}.hotel-nearby-card__more li{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hotel-lightbox{z-index:10000;background:#000000e0;padding:48px 24px 24px;position:fixed;inset:0;overflow:auto}.hotel-lightbox__close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:fixed;top:12px;right:16px}.hotel-lightbox__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;max-width:1100px;margin:0 auto;display:grid}.hotel-lightbox__grid img{-o-object-fit:cover;object-fit:cover;border-radius:8px;width:100%;height:200px}@media (max-width:991px){.hotel-details-split{grid-template-columns:1fr}.hd-highlights{position:static}.hotel-details-page{padding-bottom:96px}.hd-mobile-reserve{z-index:50;padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));background:var(--hotel-surface);border-top:1px solid var(--hotel-border);justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000026}.hd-mobile-reserve__info{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.hd-mobile-reserve__price{color:var(--hotel-text-strong);font-size:16px;font-weight:800;line-height:1.2}.hd-mobile-reserve__note{color:var(--hotel-muted);font-size:11px;line-height:1.2}.hd-mobile-reserve__btn{background:var(--hotel-coral,#ff6b4a);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:9px 18px;font-size:13.5px;font-weight:700;transition:background-color .2s}.hd-mobile-reserve__btn:hover{background:var(--hotel-coral-dark,#e05338);color:#fff}.hd-room-table__head,.hd-room-row{grid-template-columns:1fr}.hd-room-table__head{display:none!important}.hd-room-row>*{border-right:none;border-bottom:1px solid var(--hotel-border)}.hd-room-row>:last-child{border-bottom:none}.hd-room-row__price{text-align:left;align-items:flex-start}.hd-room-row__breakup{align-self:stretch;max-width:none}.hd-room-row__sleeps{flex-direction:row;justify-content:flex-start;gap:10px}.hd-room-row__sleeps-label{display:inline}.hd-room-row__action{justify-content:stretch}.hd-fac-grid,.hd-fac-chips,.hd-popular-row__list,.hd-nearby-cols,.hotel-nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hd-rules-row{grid-template-columns:1fr;gap:6px}}@media (max-width:575px){.hd-nearby-cols,.hotel-nearby-grid,.hd-fac-grid,.hd-fac-chips,.hd-popular-row__list{grid-template-columns:1fr}.hotel-room-filters label{min-width:100%}.hd-avail-bar__btn{text-align:center;width:100%;margin-left:0}.hd-room-row__img{width:88px;height:72px}.hd-title-row .hotel-details-title{font-size:22px}}.hotel-checkout-page{background:#eef1f4;min-height:60vh}.hotel-checkout{padding-top:20px;padding-bottom:56px}.hco-steps{background:#fff;border-bottom:1px solid #e2e8f0}.hco-steps__inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;padding:14px 16px;display:flex}.hco-steps__item{color:#94a3b8;align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.hco-steps__dot{background:#fff;border:2px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.78rem;display:inline-flex}.hco-steps__dot .material-symbols-outlined{font-size:16px}.hco-steps__item.is-done{color:var(--color-midnight,#123b6a)}.hco-steps__item.is-done .hco-steps__dot{background:var(--color-midnight,#123b6a);border-color:var(--color-midnight,#123b6a);color:#fff}.hco-steps__item.is-active{color:var(--color-midnight,#123b6a)}.hco-steps__item.is-active .hco-steps__dot{border-color:var(--color-midnight,#123b6a);color:var(--color-midnight,#123b6a);box-shadow:0 0 0 3px #123b6a1f}.hco-steps__label{white-space:nowrap}.hco-page-title{color:#0f172a;margin:0 0 14px;font-size:1.35rem;font-weight:700}.hco-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.hco-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:18px 20px;box-shadow:0 1px 2px #0f172a0a}.hco-card__title{color:#0f172a;margin:0 0 8px;font-size:1.05rem;font-weight:700}.hco-muted{color:#64748b;margin:0 0 14px;font-size:.9rem;line-height:1.45}.hco-hotel{grid-template-columns:168px minmax(0,1fr);gap:16px;padding:14px;display:grid}.hco-hotel__media{background:#e2e8f0;border-radius:8px;min-height:128px;overflow:hidden}.hco-hotel__media img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;min-height:128px;display:block}.hco-hotel__placeholder{color:#94a3b8;place-items:center;min-height:128px;display:grid}.hco-hotel__placeholder .material-symbols-outlined{font-size:40px}.hco-hotel__stars{gap:1px;margin-bottom:2px;display:flex}.hco-hotel__stars .material-symbols-outlined{color:#f6b73c;font-variation-settings:"FILL" 1;font-size:16px}.hco-hotel__name{color:#0f172a;margin:0 0 4px;font-size:1.15rem;font-weight:700}.hco-hotel__addr{color:#64748b;margin:0 0 6px;font-size:.86rem;line-height:1.4}.hco-hotel__policy{color:var(--color-midnight,#123b6a);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;margin-bottom:12px;padding:0;font-size:.82rem;font-weight:600;text-decoration:underline;display:inline-block}.hco-hotel__policy:hover{color:var(--color-ocean,#00a7a0)}.hco-hotel__meta{border-top:1px solid #eef2f7;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:10px;display:grid}.hco-hotel__meta-label{text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;margin-bottom:2px;font-size:.72rem;display:block}.hco-hotel__meta strong{color:#0f172a;font-size:.9rem}.hco-notes{border:1px solid #fde2c8;border-left:3px solid var(--color-airbnb,#ff6b4a);color:#475569;background:#fff8f0;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.88rem}.hco-notes p{margin:0 0 4px}.hco-contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.hco-contact-grid>.hco-field{min-width:0}.hco-contact-grid .booking-form__phone{gap:0;width:100%}.hco-contact-grid .booking-form__phone-row{height:48px;min-height:48px}.hco-contact-grid .booking-form__phone-code-btn,.hco-contact-grid .booking-form__phone-number{height:48px;min-height:48px;box-shadow:none;background:#fff;border-width:1px;border-color:#cbd5e1;border-radius:8px;padding-top:0;padding-bottom:0}.hco-contact-grid .booking-form__phone-code-btn{border-right:none;border-radius:8px 0 0 8px}.hco-contact-grid .booking-form__phone-number{border-radius:0 8px 8px 0}.hco-contact-grid .booking-form__phone-code-btn:hover,.hco-contact-grid .booking-form__phone-code-btn:focus,.hco-contact-grid .booking-form__phone-number:focus{border-color:var(--color-midnight,#123b6a);background:#fff;box-shadow:0 0 0 2px #123b6a26}.hco-contact-grid .hco-field__control{background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:48px;min-height:48px;padding:0 12px}.hco-contact-grid .hco-field__control input{background:0 0;height:100%;font-size:.92rem;padding:0!important}.hco-field{flex-direction:column;gap:6px;min-width:0;display:flex}.hco-field--block{margin-top:14px}.hco-field--title{max-width:110px}.hco-field__label{color:#64748b;font-size:.78rem;font-weight:600}.hco-field__control{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.hco-field__control .material-symbols-outlined{color:#94a3b8;font-size:18px}.hco-field__control input{box-shadow:none!important;border:0!important;padding-left:0!important}.hco-field input,.hco-field select,.hco-field textarea{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:10px 12px;font-size:.92rem}.hco-field textarea{resize:vertical;min-height:84px}.hco-field input:focus,.hco-field select:focus,.hco-field textarea:focus,.hco-field__control:focus-within{border-color:var(--color-midnight,#123b6a);outline:2px solid #123b6a33}.hco-room{margin-top:8px;padding-top:4px}.hco-room__head{color:var(--color-midnight,#123b6a);align-items:center;gap:6px;margin:8px 0 12px;font-size:.95rem;font-weight:700;display:inline-flex}.hco-room__head .material-symbols-outlined{font-size:20px}.hco-traveller{border-bottom:1px dashed #e2e8f0;margin-bottom:14px;padding-bottom:12px}.hco-traveller:last-of-type{border-bottom:0}.hco-traveller__row{grid-template-columns:100px 1fr 1fr 1fr;align-items:end;gap:10px;display:grid}.hco-check{color:#334155;cursor:pointer;align-items:center;gap:8px;margin-top:10px;font-size:.86rem;display:inline-flex}.hco-check input{width:16px;height:16px;accent-color:var(--color-midnight,#123b6a)}.hco-hint{color:#94a3b8;margin:6px 0 14px;font-size:.78rem}.hco-gst{margin:8px 0 12px}.hco-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg, var(--color-airbnb,#ff6b4a) 0%, #ff8f4a 100%);border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:12px 18px;font-size:.95rem;font-weight:700;text-decoration:none;transition:filter .15s,box-shadow .15s;display:inline-flex;box-shadow:0 2px 8px #ff6b4a47}.hco-btn:hover{color:#fff;filter:brightness(1.03);box-shadow:0 4px 12px #ff6b4a59}.hco-btn:disabled{opacity:.6;cursor:not-allowed;filter:none}.hco-btn--wide{width:100%;margin-top:4px}.hco-btn--ghost{color:var(--color-midnight,#123b6a);box-shadow:none;background:#fff;border:1px solid #cbd5e1}.hco-btn--ghost:hover{color:var(--color-midnight,#123b6a);filter:none;background:#f8fafc}.hco-btn--aside-link{margin-top:0}.hco-aside .hco-card{top:calc(var(--site-header-offset,68px) + var(--hotel-summary-bar-h,52px) + 12px);position:sticky}.hco-price__rows{flex-direction:column;gap:10px;margin:12px 0;display:flex}.hco-price__row{color:#475569;justify-content:space-between;gap:12px;font-size:.9rem;display:flex}.hco-price__total{color:#0f172a;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;font-size:1rem;display:flex}.hco-price__total strong{color:var(--color-midnight,#123b6a);font-size:1.2rem}.hco-link-back{color:var(--color-midnight,#123b6a);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-top:12px;padding:0;font-size:.88rem;font-weight:600;display:inline-flex}.hco-link-back .material-symbols-outlined{font-size:18px}.hco-success{text-align:center;max-width:520px;margin:0 auto}.hco-success__icon{color:#0f7b4a;margin-bottom:8px;font-size:48px}.hco-success__id{margin:12px 0;font-size:1.05rem}.hco-inline-alert,.hco-book-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:12px;padding:14px 16px}.hco-inline-alert p,.hco-book-error p{color:#991b1b}.hco-policy-modal{border:none;border-radius:14px;overflow:hidden}.hco-policy-modal__head{background:var(--color-midnight,#123b6a);color:#fff;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.hco-policy-modal__head h2{margin:0;font-size:1.05rem;font-weight:700}.hco-policy-modal__close{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px;line-height:0}.hco-policy-modal__close:hover{background:#ffffff1f}.hco-policy-modal__body{padding:20px}.hco-policy-modal__status-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.hco-policy-modal__status-banner.is-non-refundable{color:#991b1b;background:#fef2f2;border-color:#fecaca}.hco-policy-modal__status-banner .material-symbols-outlined{flex-shrink:0;margin-top:1px;font-size:24px}.hco-policy-modal__status-banner strong{font-size:.98rem;line-height:1.3}.hco-policy-modal__status-sub{opacity:.88;margin-top:2px;font-size:.84rem;font-weight:500;line-height:1.4;display:block}.hco-policy-timeline-header{color:#0f172a;text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:6px;margin-bottom:10px;font-size:.85rem;font-weight:700;display:flex}.hco-policy-timeline-header .material-symbols-outlined{color:#00a7a0;font-size:18px}.hco-policy-timeline{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.hco-policy-tier{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.hco-policy-tier--free{background:#f0fdf4;border-left:4px solid #10b981}.hco-policy-tier--partial{background:#fffbeb;border-left:4px solid #f59e0b}.hco-policy-tier--non_refundable{background:#fef2f2;border-left:4px solid #ef4444}.hco-policy-tier__info{flex-direction:column;gap:2px;min-width:0;display:flex}.hco-policy-tier__badge{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:4px;font-size:.72rem;font-weight:800;display:inline-flex}.hco-policy-tier__badge .material-symbols-outlined{font-size:15px}.hco-policy-tier--free .hco-policy-tier__badge{color:#059669}.hco-policy-tier--partial .hco-policy-tier__badge{color:#d97706}.hco-policy-tier--non_refundable .hco-policy-tier__badge{color:#dc2626}.hco-policy-tier__date{color:#0f172a;font-size:.88rem;font-weight:700;line-height:1.3}.hco-policy-tier__fee-box{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.hco-policy-tier__fee{font-size:.88rem;font-weight:700;line-height:1.3}.hco-policy-tier--free .hco-policy-tier__fee{color:#059669}.hco-policy-tier--partial .hco-policy-tier__fee{color:#d97706}.hco-policy-tier--non_refundable .hco-policy-tier__fee{color:#dc2626}.hco-policy-tier__refund{color:#64748b;font-size:.75rem;font-weight:600}.hco-policy-modal__meal-box{color:#334155;background:#f1f5f9;border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:.86rem;display:flex}.hco-policy-modal__meal-box .material-symbols-outlined{color:#64748b;font-size:18px}.hco-policy-modal__disclaimer{color:#64748b;align-items:center;gap:6px;margin:0;font-size:.78rem;line-height:1.4;display:flex}.hco-policy-modal__disclaimer .material-symbols-outlined{color:#94a3b8;flex-shrink:0;font-size:16px}.hco-policy-modal__notes{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:14px;padding:12px 14px}.hco-policy-modal__notes h3{color:#0f172a;margin:0 0 6px;font-size:.85rem;font-weight:700}.hco-policy-modal__notes p{color:#475569;margin:0 0 4px;font-size:.88rem}.hco-policy-modal__foot{padding:0 20px 18px}.hco-policy-modal__foot .hco-btn{width:100%}@media (max-width:991px){.hco-grid{grid-template-columns:1fr}.hco-aside{order:0}.hco-aside .hco-card{position:static}.hco-hotel{grid-template-columns:120px minmax(0,1fr)}.hco-hotel__meta,.hco-traveller__row{grid-template-columns:1fr 1fr}.hco-field--title{max-width:none}.hco-contact-grid{grid-template-columns:1fr}}@media (max-width:575px){.hco-hotel{grid-template-columns:1fr}.hco-hotel__media img,.hco-hotel__placeholder{min-height:160px}.hco-hotel__meta{grid-template-columns:1fr 1fr}.hco-traveller__row{grid-template-columns:1fr}.hco-steps__label{display:none}}.hotel-map-modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out hotelMapFadeIn;display:flex;position:fixed;inset:0}@keyframes hotelMapFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.hotel-map-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:960px;height:85vh;max-height:700px;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000040}.hotel-map-modal__header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.hotel-map-modal__title{color:#0f172a;margin:0;font-size:16px;font-weight:700}.hotel-map-modal__sub{color:#64748b;margin:2px 0 0;font-size:12px}.hotel-map-modal__close{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex}.hotel-map-modal__close:hover{color:#0f172a;background:#e2e8f0}.hotel-map-modal__body{flex:1;display:flex;position:relative;overflow:hidden}.hotel-map-iframe{border:0;flex:1;width:100%;height:100%}.hotel-map-sidebar{background:#fff;border-left:1px solid #e2e8f0;flex-direction:column;gap:8px;width:280px;padding:12px;display:flex;overflow-y:auto}@media (max-width:767px){.hotel-map-sidebar{display:none}}.hotel-map-card-mini{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;text-decoration:none;transition:all .15s;display:block}.hotel-map-card-mini:hover{background:#fff;border-color:#00a7a0;box-shadow:0 4px 12px #00a7a01f}.hotel-map-card-mini__title{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.hotel-map-card-mini__stars{color:#f59e0b;margin:2px 0;font-size:10px}.hotel-map-card-mini__price{color:#00a7a0;font-size:12px;font-weight:800}.hotel-card-urgency-bar{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 2px;display:flex}.hotel-badge-urgency{border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.hotel-badge-urgency .material-symbols-outlined{font-size:13px}.hotel-badge-urgency--popular{color:#b45309;background:#fef3c7}.hotel-badge-urgency--refundable{color:#0f766e;background:#ccfbf1}.hotel-badge-urgency--deal{color:#b91c1c;background:#fee2e2}.hd-surcharge-alert{color:#5c4300;background:#fff8e8;border:1px solid #f0c36a;border-radius:6px;margin-top:8px;padding:10px 12px;font-size:13px;line-height:1.4}.hd-surcharge-alert strong{margin-bottom:4px;display:block}.hd-surcharge-alert p{margin:0 0 4px}.hd-surcharge-alert .small{opacity:.85;margin:0}.hd-rate-badge{border-radius:4px;margin:6px 0;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.hd-rate-badge--opaque{color:#3730a3;background:#eef2ff}
