@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;650;700;800&display=swap";@font-face{font-family:Recoleta;src:url(/fonts/recoleta-regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Recoleta;src:url(/fonts/recoleta-semi-bold.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Recoleta;src:url(/fonts/recoleta-bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--bg-primary:#1a1e1e;--bg-secondary:#2d3232;--accent-teal-dark:#2c6861;--accent-teal-light:#6dc5b5;--accent-orange:#fb862c;--accent-teal-ghost:#6dc5b514;--accent-teal-ghost-hover:#6dc5b524;--border-subtle:#6dc5b51f;--text-xs:.625rem;--text-sm:.6875rem;--text-base-sm:.75rem;--text-base:.8125rem;--text-md:.875rem;--text-lg:.9375rem;--text-xl:1.0625rem;--text-2xl:1.125rem;--text-3xl:1.25rem;--text-4xl:1.375rem;--text-5xl:1.5rem;--icon-btn-size:38px;--icon-btn-sm:30px;--text-primary:#f0efed;--text-secondary:#b0ada8;--text-muted:#7a7874;--text-dim:#9a9690;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-display:"Recoleta", Georgia, serif;font-family:var(--font-sans);color:var(--text-secondary);background:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:normal;font-size:16px;line-height:1.55}*,:before,:after{box-sizing:border-box}body{margin:0;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}img{max-width:100%;height:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.icon-btn{width:var(--icon-btn-size);height:var(--icon-btn-size);background:var(--accent-teal-ghost);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.icon-btn:hover{background:var(--accent-teal-ghost-hover)}.icon-btn:focus-visible{outline:2px solid var(--accent-teal-light);outline-offset:2px}.icon-btn--sm{width:var(--icon-btn-sm);height:var(--icon-btn-sm)}.icon-btn--glass{-webkit-backdrop-filter:blur(6px);background:#0a0c0c73}.icon-btn--glass:hover{background:#0a0c0c99}.section-label{font-family:var(--font-display);color:var(--accent-teal-light);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.input-base{background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);outline:none;width:100%;padding:12px 14px;transition:border-color .15s}.input-base::placeholder{color:var(--text-dim)}.input-base:focus{border-color:var(--accent-teal-light)}.overlay-base{background:var(--bg-primary);max-width:430px;margin:0 auto;transition:transform .3s ease-out;position:fixed;inset:0;transform:translateY(100%)}.overlay-base--open{transform:translateY(0)}.summary-line{font-size:var(--text-base);color:var(--text-dim);justify-content:space-between;padding:4px 0;display:flex}.summary-line span:last-child{color:var(--text-primary);font-weight:500}.summary-total{border-top:1px solid var(--border-subtle);justify-content:space-between;margin-top:8px;padding-top:10px;display:flex}.summary-total span:first-child{font-size:var(--text-md);color:var(--text-primary);font-weight:700}.summary-total span:last-child{font-size:var(--text-2xl);color:var(--text-primary);font-weight:600;font-family:var(--font-display)}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.search-bar{cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff26;border-radius:4px;align-items:center;gap:10px;width:calc(100% - 32px);margin:16px;padding:16px;font-family:inherit;transition:opacity .15s;display:flex}.search-bar:active{opacity:.8}.search-bar:focus-visible{outline:2px solid var(--accent-teal-light);outline-offset:2px}.search-bar__placeholder{color:var(--text-dim);font-size:var(--text-md);letter-spacing:.01em}.search-overlay{z-index:200;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.search-overlay__header{background:var(--bg-secondary);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.search-overlay__input-wrap{background:var(--bg-primary);flex:1;align-items:center;gap:10px;padding:10px 14px;display:flex}.search-overlay__input{color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-lg);letter-spacing:.01em;background:0 0;border:none;outline:none;flex:1}.search-overlay__input::placeholder{color:var(--text-dim)}.search-overlay__filters{scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0;gap:8px;padding:12px 16px;display:flex;overflow-x:auto}.search-overlay__filters::-webkit-scrollbar{display:none}.search-overlay__pill{background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-lg);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;padding:8px 14px;transition:background .15s;display:flex}.search-overlay__pill:hover{background:var(--accent-teal-ghost-hover)}.search-overlay__pill:active{transform:scale(.96)}.search-overlay__pill--unset{color:var(--text-dim);border-style:dashed}.search-overlay__pill-icon{font-size:1rem}.search-overlay__pill-date-wrap{display:flex;position:relative}.search-overlay__date-input{opacity:0;cursor:pointer;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.search-overlay__divider{background:var(--border-subtle);flex-shrink:0;height:1px;margin:0 16px}.search-overlay__results{flex:1;padding:12px 16px 24px;overflow-y:auto}.search-overlay__group{margin-bottom:18px}.search-overlay__group-title{font-family:var(--font-display);font-size:var(--text-md);color:var(--accent-teal-light);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:5px;margin-bottom:8px;font-weight:600;display:flex}.search-overlay__themes{flex-wrap:wrap;gap:6px;display:flex}.search-overlay__theme-item{background:var(--bg-secondary);font-size:var(--text-lg);color:var(--text-primary);border:none;border-left:2px solid var(--accent-teal-light);cursor:pointer;font-family:var(--font-sans);align-items:center;gap:6px;padding:8px 14px;transition:background .15s;display:flex}.search-overlay__theme-item:hover{background:var(--accent-teal-ghost-hover)}.search-overlay__theme-item:active{transform:scale(.97)}.search-overlay__result-item{background:var(--bg-secondary);cursor:pointer;width:100%;font-family:var(--font-sans);text-align:left;border:none;align-items:center;gap:10px;margin-bottom:4px;padding:8px;transition:background .15s;display:flex}.search-overlay__result-item:hover{background:var(--accent-teal-ghost-hover)}.search-overlay__result-item:active{transform:scale(.98)}.search-overlay__result-thumb{object-fit:cover;flex-shrink:0;width:40px;height:40px}.search-overlay__place-icon{background:var(--accent-teal-dark);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.search-overlay__result-info{flex:1;min-width:0}.search-overlay__result-name{font-size:var(--text-xl);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.3;overflow:hidden}.search-overlay__result-location{font-size:var(--text-md);color:var(--text-muted);align-items:center;gap:3px;line-height:1.3;display:flex}.search-overlay__result-price{font-size:var(--text-2xl);color:var(--text-primary);font-weight:600;font-family:var(--font-display);flex-shrink:0;align-items:baseline;gap:5px;display:flex}.search-overlay__result-price-old{font-size:var(--text-md);color:#e04545;font-weight:700;text-decoration:line-through}.search-overlay__empty{text-align:center;color:var(--text-dim);font-size:var(--text-xl);padding:40px 16px}.star-rating{flex-shrink:0;gap:1px;display:flex}.availability-calendar{background:var(--bg-secondary);padding:14px}.availability-calendar__header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.availability-calendar__month{font-size:var(--text-md);color:var(--text-primary);font-weight:700}.availability-calendar__nav{gap:4px;display:flex}.availability-calendar__arrow{transition:background .15s}.availability-calendar__arrow:hover:not(:disabled){background:var(--accent-teal-ghost-hover)}.availability-calendar__arrow:disabled{cursor:not-allowed;opacity:.4}.availability-calendar__grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.availability-calendar__day-header{text-align:center;font-size:var(--text-sm);color:var(--text-muted);padding:4px 0;font-weight:600}.availability-calendar__cell{background:var(--bg-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:42px;padding:6px 2px;display:flex}.availability-calendar__cell--empty{background:0 0}.availability-calendar__cell--weekend{background:var(--accent-teal-dark)}.availability-calendar__cell--weekend .availability-calendar__price{color:var(--text-primary)}.availability-calendar__cell--peak{border:1px solid var(--accent-orange)}.availability-calendar__cell--peak .availability-calendar__day,.availability-calendar__cell--peak .availability-calendar__price{color:var(--accent-orange)}.availability-calendar__cell--unavailable{opacity:.35}.availability-calendar__cell--unavailable .availability-calendar__day{text-decoration:line-through}.availability-calendar__cell--past{opacity:.2}.availability-calendar__day{font-size:var(--text-base-sm);color:var(--text-primary);font-weight:600;line-height:1}.availability-calendar__price{color:var(--accent-teal-light);font-size:.5625rem;font-weight:500;line-height:1}.availability-calendar__legend{gap:14px;margin-top:10px;display:flex}.availability-calendar__legend-item{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:5px;display:flex}.availability-calendar__legend-swatch{width:10px;height:10px}.availability-calendar__legend-swatch--weekday{background:var(--bg-primary)}.availability-calendar__legend-swatch--weekend{background:var(--accent-teal-dark)}.availability-calendar__legend-swatch--peak{border:1px solid var(--accent-orange)}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hotel-detail{z-index:210;overflow-y:auto}.hotel-detail__nav{z-index:20;justify-content:space-between;align-items:center;padding:14px;transition:background .2s;display:flex;position:sticky;top:0}.hotel-detail__nav--solid{background:var(--bg-secondary)}.hotel-detail__nav-name{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);opacity:0;white-space:nowrap;text-overflow:ellipsis;text-align:center;pointer-events:none;flex:1;min-width:0;font-weight:700;transition:opacity .2s,transform .2s;overflow:hidden;transform:translateY(6px)}.hotel-detail__nav-name--visible{opacity:1;transform:translateY(0)}.hotel-detail__carousel{margin-top:-66px;position:relative}.hotel-detail__swiper{width:100%;height:260px}.hotel-detail__swiper .swiper-pagination{z-index:5;justify-content:center;gap:6px;width:100%;display:flex;position:absolute;bottom:12px;left:0}.hotel-detail__swiper .swiper-pagination-bullet{cursor:pointer;background:#ffffff59;border-radius:50%;width:7px;height:7px;transition:background .2s}.hotel-detail__swiper .swiper-pagination-bullet-active{background:var(--accent-teal-light)}.hotel-detail__photo{object-fit:cover;width:100%;height:260px;display:block}.hotel-detail__back{transition:background .15s}.hotel-detail__nav--solid .hotel-detail__back{background:var(--accent-teal-ghost)}.hotel-detail__nav--solid .hotel-detail__back:hover{background:var(--accent-teal-ghost-hover)}.hotel-detail__heart{transition:background .15s,transform .2s cubic-bezier(.25,1,.5,1)}.hotel-detail__nav--solid .hotel-detail__heart{background:var(--accent-teal-ghost)}.hotel-detail__nav--solid .hotel-detail__heart:hover{background:var(--accent-teal-ghost-hover)}.hotel-detail__heart:active{transform:scale(.85)}.hotel-detail__content{padding:16px 16px 24px}.hotel-detail__info{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.hotel-detail__info-left{flex:1;min-width:0}.hotel-detail__name{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin:0 0 4px;font-size:1.625rem;font-weight:700;line-height:1.2}.hotel-detail__location{font-size:var(--text-base);color:var(--text-muted);align-items:center;gap:4px;margin-bottom:6px;display:flex}.hotel-detail__stars{margin-bottom:4px}.hotel-detail__info-right{flex-direction:column;flex-shrink:0;align-items:flex-end;display:flex}.hotel-detail__price-label{font-size:var(--text-sm);color:var(--text-muted)}.hotel-detail__price-value{font-size:var(--text-4xl);color:var(--text-primary);font-weight:600;font-family:var(--font-display);letter-spacing:-.02em;line-height:1.2}.hotel-detail__price-old{font-size:var(--text-base);color:#e04545;font-weight:400;font-family:var(--font-display);text-decoration:line-through}.hotel-detail__description{font-size:var(--text-md);color:var(--text-dim);margin:0 0 20px;line-height:1.6}.hotel-detail__section{margin-bottom:20px}.hotel-detail__section-title{font-size:var(--text-md);margin:0 0 10px}.hotel-detail__amenities{flex-wrap:wrap;gap:6px;display:flex}.hotel-detail__amenity{background:var(--bg-secondary);font-size:var(--text-base);color:var(--text-primary);align-items:center;gap:6px;padding:8px 12px;display:flex}.hotel-detail__bottom-bar{z-index:15;background:var(--bg-secondary);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;bottom:0}.hotel-detail__bottom-pricing{align-items:baseline;gap:8px;display:flex}.hotel-detail__bottom-price{font-size:var(--text-3xl);color:var(--text-primary);font-weight:600;font-family:var(--font-display);letter-spacing:-.02em}.hotel-detail__bottom-old-price{font-size:var(--text-base);color:#e04545;font-weight:400;font-family:var(--font-display);text-decoration:line-through}.hotel-detail__bottom-discount{font-size:var(--text-base);color:var(--accent-orange);font-weight:800}.hotel-detail__book-btn{background:var(--accent-orange);color:#fff;font-size:var(--text-lg);font-weight:700;font-family:var(--font-sans);cursor:pointer;letter-spacing:.01em;border:none;padding:12px 24px;transition:background .15s,transform .15s}.hotel-detail__book-btn:hover{background:#e0741f}.hotel-detail__book-btn:active{transform:scale(.96)}.hotel-detail__book-btn:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}.hotel-detail__tips-swiper{margin:0 -16px;padding:0 16px!important}.hotel-detail__tips-swiper .swiper-slide{height:auto}.nearby-tip{background:var(--bg-secondary);flex-direction:column;height:100%;display:flex;overflow:hidden}.nearby-tip__image{object-fit:cover;width:100%;height:140px;display:block}.nearby-tip__body{padding:10px 12px 14px}.nearby-tip__title{font-size:var(--text-xl);color:var(--text-primary);margin:0 0 4px;font-weight:700;line-height:1.3}.nearby-tip__description{font-size:var(--text-lg);color:var(--text-dim);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.faq-accordion{flex-direction:column;gap:2px;display:flex}.faq-accordion__item{background:var(--bg-secondary);overflow:hidden}.faq-accordion__trigger{cursor:pointer;width:100%;font-family:var(--font-sans);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px;transition:background .15s;display:flex}.faq-accordion__trigger:hover{background:var(--accent-teal-ghost)}.faq-accordion__trigger:focus-visible{outline:2px solid var(--accent-teal-light);outline-offset:-2px}.faq-accordion__question{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.4}.faq-accordion__chevron{flex-shrink:0;transition:transform .25s}.faq-accordion__item--open .faq-accordion__chevron{transform:rotate(180deg)}.faq-accordion__panel{max-height:0;transition:max-height .25s;overflow:hidden}.faq-accordion__item--open .faq-accordion__panel{max-height:200px}.faq-accordion__answer{font-size:var(--text-lg);color:var(--text-dim);margin:0;padding:0 14px 14px;line-height:1.6}.booking-flow{z-index:230;overflow-y:auto}.booking-flow__header{z-index:10;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.booking-flow__header-info{flex:1;min-width:0}.booking-flow__header-title{font-family:var(--font-display);color:var(--text-primary);font-size:1.1875rem;font-weight:700;line-height:1.3;display:block}.booking-flow__header-hotel{font-size:var(--text-sm);color:var(--text-muted);display:block}.booking-flow__steps{flex-shrink:0;gap:6px;display:flex}.booking-flow__step-dot{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:50%;width:8px;height:8px;transition:background .2s,border-color .2s}.booking-flow__step-dot--active{background:var(--accent-teal-light);border-color:var(--accent-teal-light)}.booking-flow__step-dot--done{background:var(--accent-teal-dark);border-color:var(--accent-teal-light)}.booking-flow__body{flex-direction:column;min-height:calc(100vh - 67px);padding:16px 16px 0;display:flex}.booking-flow__body .booking-flow__action{margin-top:auto}.booking-flow__subtitle{font-size:var(--text-base);color:var(--text-dim);margin:0 0 16px;line-height:1.5}.booking-flow__section-label{font-size:var(--text-sm);margin-top:20px;margin-bottom:10px}.booking-flow__section-label:first-child{margin-top:0}.booking-flow__calendar{background:var(--bg-secondary);margin-bottom:16px;padding:14px}.booking-flow__cal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.booking-flow__cal-month{font-size:var(--text-md);color:var(--text-primary);font-weight:700}.booking-flow__cal-nav{gap:4px;display:flex}.booking-flow__cal-arrow:disabled{cursor:not-allowed;opacity:.4}.booking-flow__cal-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.booking-flow__cal-day-header{text-align:center;font-size:var(--text-sm);color:var(--text-muted);padding:4px 0;font-weight:600}.booking-flow__cal-cell{background:var(--bg-primary);text-align:center;cursor:default;min-height:42px;font-family:var(--font-sans);border:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:6px 2px;transition:background .15s;display:flex}.booking-flow__cal-cell--selectable{cursor:pointer}.booking-flow__cal-cell--selectable:hover{background:var(--accent-teal-ghost-hover)}.booking-flow__cal-cell--empty{background:0 0}.booking-flow__cal-cell--weekend{background:var(--accent-teal-dark)}.booking-flow__cal-cell--weekend .booking-flow__cal-price{color:var(--text-primary)}.booking-flow__cal-cell--peak{border:1px solid var(--accent-orange)}.booking-flow__cal-cell--peak .booking-flow__cal-day,.booking-flow__cal-cell--peak .booking-flow__cal-price{color:var(--accent-orange)}.booking-flow__cal-cell--unavailable{opacity:.35}.booking-flow__cal-cell--unavailable .booking-flow__cal-day{text-decoration:line-through}.booking-flow__cal-cell--past{opacity:.2}.booking-flow__cal-cell--selected{background:var(--accent-teal-light)}.booking-flow__cal-cell--selected .booking-flow__cal-day,.booking-flow__cal-cell--selected .booking-flow__cal-price{color:var(--bg-primary)}.booking-flow__cal-day{font-size:var(--text-base-sm);color:var(--text-primary);font-weight:600;line-height:1}.booking-flow__cal-price{color:var(--accent-teal-light);font-size:.5625rem;font-weight:500;line-height:1}.booking-flow__selection-summary{background:var(--bg-secondary);justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 14px;display:flex}.booking-flow__selection-dates{font-size:var(--text-base);color:var(--text-primary);flex-direction:column;display:flex}.booking-flow__selection-nights{font-size:var(--text-sm);color:var(--text-muted);margin-top:2px}.booking-flow__selection-total{font-size:var(--text-2xl);color:var(--text-primary);font-weight:600;font-family:var(--font-display)}.booking-flow__action{background:var(--bg-primary);border-top:1px solid var(--border-subtle);margin:0 -16px;padding:12px 16px;position:sticky;bottom:0}.booking-flow__next-btn{background:var(--accent-teal-light);width:100%;color:var(--bg-primary);font-size:var(--text-lg);font-weight:700;font-family:var(--font-sans);cursor:pointer;border:none;padding:14px;transition:background .15s,transform .15s}.booking-flow__next-btn:hover:not(:disabled){background:#5bb8a7}.booking-flow__next-btn:active:not(:disabled){transform:scale(.98)}.booking-flow__next-btn:disabled{opacity:.4;cursor:not-allowed}.booking-flow__next-btn--confirm{background:var(--accent-orange)}.booking-flow__next-btn--confirm:hover:not(:disabled){background:#e0741f}.booking-flow__packages{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.booking-flow__package-card{background:var(--bg-secondary);gap:12px;display:flex;overflow:hidden}.booking-flow__package-image{object-fit:cover;flex-shrink:0;align-self:stretch;width:80px}.booking-flow__package-info{flex-direction:column;flex:1;min-width:0;padding:10px 12px 10px 0;display:flex}.booking-flow__package-name{font-size:var(--text-base);color:var(--text-primary);margin-bottom:3px;font-weight:700;line-height:1.3}.booking-flow__package-desc{font-size:var(--text-sm);color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 auto;line-height:1.4;display:-webkit-box;overflow:hidden}.booking-flow__package-bottom{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.booking-flow__package-price{font-size:var(--text-md);color:var(--text-primary);font-weight:600;font-family:var(--font-display)}.booking-flow__package-per{font-size:var(--text-sm);color:var(--text-muted);font-weight:400;font-family:var(--font-sans)}.booking-flow__qty-controls{align-items:center;gap:8px;display:flex}.booking-flow__qty-btn{background:var(--accent-teal-ghost);border:1px solid var(--border-subtle);cursor:pointer;width:28px;height:28px;color:var(--accent-teal-light);justify-content:center;align-items:center;transition:background .15s;display:flex}.booking-flow__qty-btn:hover:not(:disabled){background:var(--accent-teal-ghost-hover)}.booking-flow__qty-btn:disabled{opacity:.3;cursor:not-allowed}.booking-flow__qty-value{font-size:var(--text-md);color:var(--text-primary);text-align:center;min-width:18px;font-weight:700}.booking-flow__form{flex-direction:column;gap:8px;display:flex}.booking-flow__input-row{gap:8px;display:flex}.booking-flow__input-row .booking-flow__input{flex:1}.booking-flow__input--small{max-width:70px}.booking-flow__input{background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);outline:none;width:100%;padding:12px 14px;transition:border-color .15s}.booking-flow__input::placeholder{color:var(--text-dim)}.booking-flow__input:focus{border-color:var(--accent-teal-light)}.booking-flow__coupon{margin-bottom:8px}.booking-flow__payment-options{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.booking-flow__payment-option{background:var(--bg-secondary);border:1px solid var(--border-subtle);cursor:pointer;font-family:var(--font-sans);text-align:left;align-items:center;gap:12px;width:100%;padding:14px;transition:border-color .15s,background .15s;display:flex}.booking-flow__payment-option--active{border-color:var(--accent-teal-light);background:var(--accent-teal-ghost)}.booking-flow__payment-option:hover:not(.booking-flow__payment-option--active){background:var(--accent-teal-ghost-hover)}.booking-flow__payment-text{flex-direction:column;display:flex}.booking-flow__payment-name{font-size:var(--text-md);color:var(--text-primary);font-weight:600}.booking-flow__payment-desc{font-size:var(--text-sm);color:var(--text-muted)}.booking-flow__order-summary{background:var(--bg-secondary);margin-top:12px;padding:14px}.booking-flow__order-summary .booking-flow__section-label{margin-top:0}.booking-flow__summary-line{font-size:var(--text-base);color:var(--text-dim);justify-content:space-between;padding:4px 0;display:flex}.booking-flow__summary-line span:last-child{color:var(--text-primary);font-weight:500}.booking-flow__summary-total{border-top:1px solid var(--border-subtle);justify-content:space-between;margin-top:8px;padding-top:10px;display:flex}.booking-flow__summary-total span:first-child{font-size:var(--text-md);color:var(--text-primary);font-weight:700}.booking-flow__summary-total span:last-child{font-size:var(--text-2xl);color:var(--text-primary);font-weight:600;font-family:var(--font-display)}.hotel-card{background:var(--bg-secondary);cursor:pointer;flex-direction:column;height:100%;transition:transform .2s cubic-bezier(.25,1,.5,1);display:flex;overflow:hidden}.hotel-card:active{transform:scale(.98)}.hotel-card__image-wrap{position:relative;overflow:hidden}.hotel-card--hero .hotel-card__image-wrap{height:200px}.hotel-card--category .hotel-card__image-wrap{height:130px}.hotel-card__image{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.25,1,.5,1);display:block}.hotel-card:hover .hotel-card__image{transform:scale(1.04)}.hotel-card__tag{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;font-weight:800;line-height:1.2;position:absolute;top:12px;left:12px}.hotel-card--category .hotel-card__tag{font-size:var(--text-xs);padding:3px 8px;top:10px;left:10px}.hotel-card__tag--orange{background:var(--accent-orange);color:#fff}.hotel-card__tag--teal{background:var(--accent-teal-light);color:var(--bg-primary)}.hotel-card__heart{-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#0a0c0c73;border:none;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,transform .2s cubic-bezier(.25,1,.5,1);display:flex;position:absolute;top:12px;right:12px}.hotel-card--category .hotel-card__heart{width:30px;height:30px;top:10px;right:10px}.hotel-card__heart:hover{background:#0a0c0c99}.hotel-card__heart:active{transform:scale(.85)}.hotel-card__heart:focus-visible{outline:2px solid var(--accent-teal-light);outline-offset:2px}.hotel-card__heart--active{background:#fb862c33}.hotel-card__info{flex:1;padding:14px}.hotel-card--category .hotel-card__info{flex-direction:column;flex:1;padding:10px 12px 12px;display:flex}.hotel-card__header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.hotel-card__name{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--text-primary);letter-spacing:-.01em;margin:0 0 3px;font-weight:700;line-height:1.2}.hotel-card__name-row{align-items:center;gap:6px;min-width:0;display:flex}.hotel-card__name-row .hotel-card__name{font-size:var(--text-xl);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:650;overflow:hidden}.hotel-card__name-row .star-rating{flex-shrink:0}.hotel-card__location{font-size:var(--text-base-sm);color:var(--text-muted);align-items:center;gap:4px;line-height:1.3;display:flex}.hotel-card--category .hotel-card__location{font-size:var(--text-sm)}.hotel-card__bottom{justify-content:space-between;align-items:flex-end;gap:12px;margin-top:10px;display:flex}.hotel-card__description{font-size:var(--text-base);color:var(--text-dim);flex:1;margin:0;line-height:1.5}.hotel-card__price{font-family:var(--font-display);flex-shrink:0;align-items:flex-end;gap:6px;margin-top:8px;display:flex}.hotel-card__price-block{flex-direction:column;align-items:flex-start;display:flex}.hotel-card__price-old{font-size:var(--text-base-sm);color:#e04545;margin-bottom:0;font-weight:700;line-height:1;text-decoration:line-through}.hotel-card__price-value{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:600}.hotel-card__price-label{font-size:var(--text-sm);color:var(--text-muted);font-weight:400;font-family:var(--font-sans);margin-bottom:3px}.hotel-card__price--small{align-self:flex-end;gap:10px;margin-top:auto;padding-top:6px}.hotel-card__price--small .hotel-card__price-current{align-items:baseline;gap:5px;display:flex}.hotel-card__price--small .hotel-card__price-value{font-size:1rem}.hotel-card__header .star-rating{margin-top:2px}.carousel{margin-top:20px}.carousel--hero{margin-top:8px}.carousel__header{justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 16px;display:flex}.carousel__title{font-family:var(--font-display);font-size:var(--text-5xl);color:var(--text-primary);letter-spacing:-.01em;align-items:center;gap:7px;margin:0;font-weight:700;display:flex}.carousel--category .carousel__title{font-size:var(--text-3xl)}.carousel__see-all{font-size:var(--text-base);color:var(--accent-teal-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;padding:4px 0;font-weight:500;transition:opacity .15s;display:flex}.carousel__see-all:hover{opacity:.8}.carousel__see-all:focus-visible{outline:2px solid var(--accent-teal-light);outline-offset:2px}.carousel__swiper{padding-left:16px!important;padding-right:24px!important}.carousel__swiper .swiper-slide{height:auto}.deal-card{cursor:pointer;background:linear-gradient(160deg,#2a3a38 0%,#232b2b 100%);border:1px solid #6dc5b526;border-radius:10px;flex-direction:column;height:100%;transition:transform .2s cubic-bezier(.25,1,.5,1),box-shadow .2s;display:flex;position:relative;overflow:hidden}.deal-card:active{transform:scale(.97)}.deal-card__image-wrap{height:120px;position:relative;overflow:hidden}.deal-card__image{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.25,1,.5,1);display:block}.deal-card:hover .deal-card__image{transform:scale(1.04)}.deal-card__discount{clip-path:polygon(0% 15%,100% 0%,92% 100%,0% 100%);color:#fff;width:58px;height:36px;font-size:var(--text-sm);letter-spacing:.02em;box-sizing:border-box;background:linear-gradient(135deg,#fb862c,#e6531a);justify-content:center;align-items:flex-end;padding:0 4px 6px 2px;font-weight:900;display:flex;position:absolute;bottom:-1px;left:0}.deal-card__info{flex-direction:column;flex:1;padding:10px 12px 12px;display:flex}.deal-card__name-row{align-items:center;gap:6px;min-width:0;display:flex}.deal-card__name{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0 0 2px;font-weight:650;line-height:1.2;overflow:hidden}.deal-card__name-row .star-rating{flex-shrink:0}.deal-card__location{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:4px;line-height:1.3;display:flex}.deal-card__price-row{justify-content:flex-end;align-items:baseline;gap:5px;margin-top:auto;padding-top:8px;display:flex}.deal-card__price-old{font-size:var(--text-base-sm);color:#e04545;font-weight:600;text-decoration:line-through}.deal-card__price-new{font-family:var(--font-display);font-size:var(--text-xl);color:var(--accent-orange);font-weight:700}.deal-card__price-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}@keyframes electric-sweep{0%{opacity:0;transform:translate(-100%)skew(-15deg)}40%{opacity:.5}to{opacity:0;transform:translate(200%)skew(-15deg)}}@keyframes spark-float{0%{opacity:.7;transform:translateY(0)scale(1)}50%{opacity:1}to{opacity:0;transform:translateY(-40px)scale(0)}}@keyframes glow-breathe{0%,to{opacity:.15;filter:blur(30px)}50%{opacity:.35;filter:blur(40px)}}.app-deals-banner{margin:8px 0 24px;position:relative;overflow:hidden}.app-deals-banner:before{content:"";z-index:0;background:linear-gradient(#1a3a35 0%,#0d2924 50%,#0000 100%);position:absolute;inset:0}.app-deals-banner:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle,#fb862c80 0%,#0000 70%);border-radius:50%;width:120px;height:120px;animation:3s ease-in-out infinite glow-breathe;position:absolute;top:20%;left:15%}.app-deals-banner__sweep{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.app-deals-banner__sweep:before{content:"";background:linear-gradient(90deg,#0000 0%,#6dc5b50f 40%,#6dc5b51f 50%,#6dc5b50f 60%,#0000 100%);width:40%;height:100%;animation:6s ease-in-out infinite electric-sweep;position:absolute;top:0;left:0}.app-deals-banner__sparks{z-index:0;pointer-events:none;position:absolute;inset:0}.app-deals-banner__spark{background:var(--accent-orange);border-radius:50%;width:3px;height:3px;animation:2.5s ease-out infinite spark-float;position:absolute;box-shadow:0 0 6px 2px #fb862c80}.app-deals-banner__spark:first-child{animation-delay:0s;top:60%;left:8%}.app-deals-banner__spark:nth-child(2){width:2px;height:2px;animation-delay:.8s;top:75%;left:25%}.app-deals-banner__spark:nth-child(3){animation-delay:1.5s;top:50%;left:55%}.app-deals-banner__spark:nth-child(4){background:var(--accent-teal-light);width:2px;height:2px;animation-delay:.4s;top:65%;left:80%;box-shadow:0 0 6px 2px #6dc5b580}.app-deals-banner__spark:nth-child(5){animation-delay:2s;top:45%;left:92%}.app-deals-banner__glow{z-index:0;pointer-events:none;background:radial-gradient(circle,#6dc5b566 0%,#0000 70%);border-radius:50%;width:100px;height:100px;animation:4s ease-in-out 1.5s infinite glow-breathe;position:absolute;top:60%;right:10%}.app-deals-banner__header{z-index:1;padding:16px 16px 12px;position:relative}.app-deals-banner__badge{color:#fff;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(135deg,#fb862c,#ff6b1a);border-radius:3px;align-items:center;gap:5px;margin-bottom:10px;padding:4px 10px;font-weight:800;display:inline-flex}.app-deals-banner__title-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.app-deals-banner__title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:1.625rem;font-weight:700}.app-deals-banner__see-all{font-size:var(--text-base);color:var(--accent-teal-light);cursor:pointer;background:0 0;border:none;align-items:center;gap:2px;padding:4px 0;font-weight:500;display:flex}.app-deals-banner__subtitle{font-size:var(--text-base);color:var(--accent-teal-light);align-items:center;gap:5px;margin:0 0 12px;font-weight:500;display:flex}.app-deals-banner__pills{flex-wrap:wrap;gap:6px;display:flex}.app-deals-banner__pill{font-size:var(--text-sm);color:#fb862c;letter-spacing:.01em;background:#fb862c26;border-radius:20px;padding:4px 10px;font-weight:700}.app-deals-banner__pill--outline{color:var(--accent-teal-light);background:#6dc5b51a;border:1px solid #6dc5b533}@keyframes notif-slide-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes notif-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.notif-toast{z-index:9999;cursor:pointer;background:#2a2f2f;border:1px solid #6dc5b51a;border-radius:16px;padding:12px 14px;animation:.35s cubic-bezier(.16,1,.3,1) forwards notif-slide-in;position:absolute;top:8px;left:8px;right:8px;box-shadow:0 8px 32px #00000073,0 2px 8px #0000004d}.notif-toast__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.notif-toast__app{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:6px;font-weight:600;display:flex}.notif-toast__app svg{color:var(--accent-teal-light)}.notif-toast__meta{align-items:center;gap:8px;display:flex}.notif-toast__time{font-size:var(--text-xs);color:var(--text-muted)}.notif-toast__close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.notif-toast__body{align-items:flex-start;gap:10px;display:flex}.notif-toast__text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notif-toast__title{font-family:var(--font-display);font-size:var(--text-base);color:var(--text-primary);font-weight:700;line-height:1.3}.notif-toast__message{font-size:var(--text-base-sm);color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.notif-toast__thumb{object-fit:cover;border-radius:8px;flex-shrink:0;width:44px;height:44px}.favorites-view{padding:16px}.favorites-view__header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.favorites-view__title-row{align-items:center;gap:8px;display:flex}.favorites-view__title{font-family:var(--font-display);font-size:var(--text-5xl);color:var(--text-primary);margin:0;font-weight:700}.favorites-view__count{font-size:var(--text-sm);color:var(--accent-teal-light);background:var(--accent-teal-ghost);padding:2px 8px;font-weight:700;line-height:1.4}.favorites-view__toggle{gap:2px;display:flex}.favorites-view__toggle-btn{background:var(--bg-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s;display:flex}.favorites-view__toggle-btn--active{background:var(--accent-teal-dark)}.favorites-view__toggle-btn:hover:not(.favorites-view__toggle-btn--active){background:var(--accent-teal-ghost-hover)}.favorites-view__toggle-btn:focus-visible{outline:2px solid var(--accent-teal-light);outline-offset:2px}.favorites-view__grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.favorites-view__list{flex-direction:column;gap:12px;display:flex}.favorites-view__empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:50vh;display:flex}.favorites-view__empty p{color:var(--text-primary);margin:8px 0 0;font-size:1rem;font-weight:600}.favorites-view__empty span{font-size:var(--text-base);color:var(--text-dim)}.profile-view{padding:16px}.profile-view__header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.profile-view__avatar{background:var(--accent-teal-dark);width:52px;height:52px;font-size:var(--text-2xl);color:var(--accent-teal-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.profile-view__name{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--text-primary);font-weight:700;line-height:1.3}.profile-view__subtitle{font-size:var(--text-base-sm);color:var(--text-muted)}.profile-view__tabs{border-bottom:1px solid var(--border-subtle);margin-bottom:16px;display:flex}.profile-view__tab{font-size:var(--text-base);color:var(--text-muted);cursor:pointer;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 18px;transition:color .15s}.profile-view__tab--active{color:var(--accent-teal-light);border-bottom-color:var(--accent-teal-light)}.profile-view__tab:hover:not(.profile-view__tab--active){color:var(--text-secondary)}.profile-view__tab:focus-visible{outline:2px solid var(--accent-teal-light);outline-offset:-2px}.profile-view__bookings{flex-direction:column;gap:6px;display:flex}.profile-view__booking-card{background:var(--bg-secondary);cursor:pointer;font-family:var(--font-sans);text-align:left;border:none;gap:10px;width:100%;padding:12px;transition:background .15s;display:flex}.profile-view__booking-card:hover{background:var(--accent-teal-ghost-hover)}.profile-view__booking-card:active{transform:scale(.98)}.profile-view__booking-card:focus-visible{outline:2px solid var(--accent-teal-light);outline-offset:-2px}.profile-view__booking-thumb{object-fit:cover;flex-shrink:0;width:60px;height:60px}.profile-view__booking-info{flex-direction:column;flex:1;justify-content:space-between;min-width:0;display:flex}.profile-view__booking-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.profile-view__booking-name{font-size:var(--text-md);color:var(--text-primary);font-weight:700;line-height:1.3}.profile-view__booking-location{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:3px;margin-top:1px;display:flex}.profile-view__booking-status{font-size:var(--text-xs);text-transform:capitalize;flex-shrink:0;padding:2px 8px;font-weight:700}.profile-view__booking-status--upcoming{color:var(--accent-orange);background:#fb862c26}.profile-view__booking-status--completed{background:var(--accent-teal-dark);color:var(--accent-teal-light)}.profile-view__booking-status--cancelled{color:#e04545;background:#e0454526}.profile-view__booking-bottom{justify-content:space-between;align-items:flex-end;margin-top:6px;display:flex}.profile-view__booking-dates{font-size:var(--text-sm);color:var(--text-dim)}.profile-view__booking-total{font-size:var(--text-md);color:var(--text-primary);font-weight:600;font-family:var(--font-display)}.profile-view__settings{min-height:30vh;color:var(--text-dim);font-size:var(--text-md);justify-content:center;align-items:center;display:flex}.booking-sheet{z-index:220;background:0 0;justify-content:center;align-items:flex-end;max-width:430px;margin:0 auto;transition:background .3s;display:flex;position:fixed;inset:0}.booking-sheet--open{background:#00000080}.booking-sheet__panel{background:var(--bg-secondary);width:100%;max-height:85vh;transition:transform .3s ease-out;overflow-y:auto;transform:translateY(100%)}.booking-sheet__panel--open{transform:translateY(0)}.booking-sheet__handle{cursor:pointer;background:0 0;border:none;justify-content:center;width:100%;padding:12px;display:flex}.booking-sheet__handle-bar{background:var(--text-dim);border-radius:2px;width:32px;height:3px}.booking-sheet__image{object-fit:cover;cursor:pointer;width:100%;height:140px;display:block}.booking-sheet__content{padding:14px 16px 24px}.booking-sheet__hotel-row{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.booking-sheet__hotel-name{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary);margin-bottom:3px;font-weight:700;line-height:1.3}.booking-sheet__hotel-location{font-size:var(--text-base-sm);color:var(--text-muted);align-items:center;gap:3px;display:flex}.booking-sheet__details{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:6px;margin-bottom:16px;padding-bottom:14px;display:flex}.booking-sheet__detail{font-size:var(--text-base);color:var(--text-secondary);align-items:center;gap:8px;display:flex}.booking-sheet__invoice{margin-top:2px}.booking-sheet__invoice-title{font-size:var(--text-md);margin-bottom:10px}.booking-sheet__line-item{font-size:var(--text-base);color:var(--text-dim);justify-content:space-between;padding:4px 0;display:flex}.booking-sheet__line-item span:last-child{color:var(--text-primary);font-weight:500}.booking-sheet__total{border-top:1px solid var(--border-subtle);justify-content:space-between;margin-top:8px;padding-top:10px;display:flex}.booking-sheet__total span:first-child{font-size:var(--text-md);color:var(--text-primary);font-weight:700}.booking-sheet__total span:last-child{font-size:var(--text-2xl);color:var(--text-primary);font-weight:600;font-family:var(--font-display)}.bottom-nav{background:var(--bg-secondary);border-top:1px solid var(--border-subtle);z-index:100;justify-content:space-around;align-items:center;width:100%;max-width:430px;padding:10px 16px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav__tab{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50px;align-items:center;gap:0;padding:8px;transition:background .3s cubic-bezier(.25,1,.5,1),border-color .3s cubic-bezier(.25,1,.5,1),padding .3s cubic-bezier(.25,1,.5,1),gap .3s cubic-bezier(.25,1,.5,1);display:flex}.bottom-nav__tab--active{background:var(--accent-teal-ghost);border-color:var(--border-subtle);gap:8px;padding:8px 14px}.bottom-nav__tab:active{transform:scale(.9)}.bottom-nav__tab:focus-visible{outline:2px solid var(--accent-teal-light);outline-offset:2px}.bottom-nav__tab svg{flex-shrink:0;transition:stroke .25s,transform .25s cubic-bezier(.25,1,.5,1)}.bottom-nav__tab--active svg{transform:scale(1.05)}.bottom-nav__label{font-size:var(--text-base);color:var(--accent-teal-light);letter-spacing:.02em;white-space:nowrap;opacity:0;max-width:0;font-weight:700;transition:max-width .3s cubic-bezier(.25,1,.5,1),opacity .25s;overflow:hidden}.bottom-nav__tab--active .bottom-nav__label{opacity:1;max-width:80px}.pw-gate{z-index:9999;background:var(--bg-primary);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pw-gate__card{text-align:center;width:100%;max-width:340px}.pw-gate__icon{background:var(--accent-teal-ghost);width:56px;height:56px;color:var(--accent-teal-light);border:1px solid #6dc5b533;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.pw-gate__title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin:0 0 6px;font-size:2.25rem;font-weight:700}.pw-gate__subtitle{font-size:var(--text-base);color:var(--text-muted);margin:0 0 28px;line-height:1.5}.pw-gate__form{flex-direction:column;gap:12px;display:flex}.pw-gate__input-wrap{background:var(--bg-secondary);border:1px solid #ffffff1a;border-radius:6px;align-items:center;transition:border-color .15s;display:flex}.pw-gate__input-wrap:focus-within{border-color:var(--accent-teal-light)}.pw-gate__input-wrap--error{border-color:#e04545}.pw-gate__input{color:var(--text-primary);font-size:var(--text-lg);background:0 0;border:none;outline:none;flex:1;padding:14px 16px;font-family:inherit}.pw-gate__input::placeholder{color:var(--text-muted)}.pw-gate__toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 14px;transition:color .15s;display:flex}.pw-gate__toggle:hover{color:var(--text-secondary)}.pw-gate__error{font-size:var(--text-base-sm);color:#e04545;text-align:left;margin-top:-4px}.pw-gate__btn{background:var(--accent-teal-light);color:var(--bg-primary);font-size:var(--text-lg);cursor:pointer;border:none;border-radius:6px;padding:14px;font-family:inherit;font-weight:700;transition:background .15s,opacity .15s}.pw-gate__btn:hover:not(:disabled){background:#5bb8a7}.pw-gate__btn:disabled{opacity:.4;cursor:not-allowed}.app{background:var(--bg-primary);flex-direction:column;max-width:430px;min-height:100svh;margin:0 auto;display:flex;position:relative}.app__content{flex:1;padding-bottom:80px;overflow-x:hidden}.app--no-scroll,.app--no-scroll .app__content{overflow:hidden}.app__spacer{height:32px}
