@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";.layout{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;width:100%}.header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e5e5;z-index:100;width:100%;max-width:100%}.header-content{display:flex;align-items:center;justify-content:space-between;height:70px;width:100%;max-width:1280px;margin:0 auto;padding:0 24px;box-sizing:border-box}.header-left{display:flex;align-items:center;gap:24px}.logo{display:flex;align-items:center}.logo-image{height:39px;width:auto;object-fit:contain}.logo-text{font-family:Poppins,sans-serif;font-weight:600;font-size:24px;color:#009e60}.explore-dropdown{position:relative}.explore-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:#333;font-size:14px;font-weight:500;cursor:pointer;padding:8px 4px}.explore-btn:hover{color:#009e60}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;min-width:200px;padding:8px;z-index:200}.explore-mega-menu{position:absolute;left:-180px;top:calc(100% + 24px);transform:none;width:auto;min-width:800px;max-width:900px;padding:28px 32px;z-index:9999}@media(max-width:1400px){.explore-mega-menu{max-width:900px;padding:20px 24px}}@media(max-width:1200px){.explore-mega-menu{max-width:800px;padding:18px 20px}.explore-grid{grid-template-columns:repeat(4,1fr);gap:16px 20px}.explore-continent h4{font-size:12px}.explore-continent a{font-size:12px;padding:3px 0}}@media(max-width:1024px){.explore-mega-menu{max-width:700px;max-height:70vh;overflow-y:auto}.explore-grid{grid-template-columns:repeat(3,1fr);gap:14px 16px}}@media(max-width:768px){.explore-mega-menu{left:16px;right:16px;width:auto;max-width:none}.explore-grid{grid-template-columns:repeat(2,1fr)}}.explore-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px 28px}.explore-continent{display:flex;flex-direction:column;gap:6px}.explore-continent h4{font-size:13px;font-weight:700;color:#009e60;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #eee}.explore-continent a{font-size:14px;color:#444;padding:4px 0;transition:color .15s}.explore-continent a:hover{color:#009e60}.explore-footer{margin-top:20px;padding-top:16px;border-top:1px solid #eee;text-align:center}.explore-footer .view-all-link{display:inline-block;font-size:14px;font-weight:600;color:#009e60;padding:10px 24px;border-radius:8px;background:#f0fdf4;transition:all .2s}.explore-footer .view-all-link:hover{background:#009e60;color:#fff}.explore-menu .dropdown-link{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#333;font-size:14px;font-weight:500;border-radius:8px;transition:background .15s}.explore-menu .dropdown-link:hover{background:#f5f5f5;color:#009e60}.explore-menu .dropdown-link svg{color:#666;flex-shrink:0}.explore-menu .dropdown-link:hover svg{color:#009e60}.header-right{display:flex;align-items:center;gap:8px}.nav{display:flex;gap:4px}.nav-link{padding:8px 14px;color:#555;font-size:14px;font-weight:500;border-radius:6px;transition:color .15s}.nav-link:hover,.nav-link.active{color:#009e60}.world-settings{position:relative}.world-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid #ddd;border-radius:20px;color:#333;font-size:13px;font-weight:500;padding:6px 14px;cursor:pointer;transition:all .15s}.world-btn:hover{border-color:#009e60;color:#009e60}.world-btn svg{flex-shrink:0}.world-menu{right:0;left:auto;min-width:280px;padding:20px}.world-section{margin-bottom:16px}.world-section label{display:block;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.world-section select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer}.world-section select:focus{outline:none;border-color:#00c875}.world-save-btn{width:100%;padding:10px;background:#009e60;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.world-save-btn:hover{background:#008050}.signin-btn,.signout-btn{padding:8px 18px;font-size:14px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s}.signin-btn{background:#009e60;color:#fff}.signin-btn:hover{background:#008050}.signout-btn{background:#009e60;color:#fff;border:none}.signout-btn:hover{background:#008050}.main{flex:1;width:100%;max-width:100%;overflow-x:hidden;margin:0;padding:0}.footer{background-color:#fff;border-top:1px solid #e5e5e5;padding:24px 0;margin-top:auto;width:100%;max-width:100%}.footer-content{display:flex;flex-direction:column;max-width:1280px;margin:0 auto;padding:32px 24px 24px;gap:24px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer-logo{font-weight:700;font-size:24px;color:#009e60}.footer-logo-image{height:39px;width:auto;object-fit:contain}.footer-tagline{color:#666;font-size:14px}.footer-address{color:#888;font-size:13px;margin-top:4px}.footer-trust-social{display:flex;align-items:center;gap:24px}.footer-trust-social .trustpilot-widget{min-width:180px}.footer-socials{display:flex;align-items:center;gap:12px}.footer-socials a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#f5f5f5;color:#555;transition:all .2s ease}.footer-socials a:hover{background:#009e60;color:#fff}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #eee}.footer-links{display:flex;gap:24px}.footer-links a{color:#666;font-size:14px;transition:color .2s ease}.footer-links a:hover{color:#009e60}.footer-copyright{color:#888;font-size:13px}@media(max-width:768px){.footer-content{padding:24px 20px 20px}.footer-top{flex-direction:column;align-items:center;text-align:center;gap:20px}.footer-brand{align-items:center}.footer-trust-social{flex-direction:column;gap:16px}.footer-bottom{flex-direction:column;gap:12px;text-align:center}.footer-links{flex-wrap:wrap;justify-content:center;gap:16px}}@media(max-width:900px){.desktop-only{display:none!important}.mobile-only{display:flex!important}}@media(min-width:901px){.mobile-only{display:none!important}}.hamburger-btn{display:none;align-items:center;justify-content:center;background:none;border:none;color:#333;padding:8px;cursor:pointer;border-radius:8px;transition:background .15s}.hamburger-btn:hover{background:#f0f0f0}.mobile-menu-overlay{position:fixed;top:56px;left:0;right:0;bottom:0;background:#00000080;z-index:200;animation:fadeIn .2s ease}.mobile-menu{position:absolute;top:0;right:0;width:300px;max-width:85%;height:100%;background:#fff;box-shadow:-4px 0 24px #00000026;padding:20px;overflow-y:auto;animation:slideIn .25s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-nav{display:flex;flex-direction:column;gap:4px}.mobile-nav-link{display:flex;align-items:center;gap:14px;padding:14px 16px;color:#333;font-size:15px;font-weight:500;border-radius:10px;transition:background .15s}.mobile-nav-link:hover{background:#f5f5f5}.mobile-nav-link.active{background:#e8f5e9;color:#009e60}.mobile-nav-link svg{color:#666;flex-shrink:0}.mobile-nav-link.active svg{color:#009e60}.mobile-menu-divider{height:1px;background:#e5e5e5;margin:16px 0}.mobile-world-settings{padding:0 4px}.mobile-world-settings h4{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.mobile-world-section{margin-bottom:12px}.mobile-world-section label{display:block;font-size:13px;font-weight:500;color:#555;margin-bottom:6px}.mobile-world-section select{width:100%;padding:12px;border:1px solid #ddd;border-radius:10px;font-size:15px;color:#333;background:#fff;cursor:pointer}.mobile-save-btn{width:100%;padding:12px;background:#009e60;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px;transition:background .15s}.mobile-save-btn:hover{background:#008050}.mobile-auth{padding:0 4px}.mobile-signin-btn,.mobile-signout-btn{display:block;width:100%;padding:14px;text-align:center;font-size:15px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .15s}.mobile-signin-btn{background:#009e60;color:#fff}.mobile-signin-btn:hover{background:#008050}.mobile-signout-btn{background:none;border:2px solid #FF3B30;color:#ff3b30}.mobile-signout-btn:hover{background:#fff0ef}@media(max-width:768px){.header-content{padding:0 16px}.footer-content{flex-direction:column;gap:16px;text-align:center}.footer-left{flex-direction:column;gap:8px}}.calendar-picker{background:#fff;overflow-y:auto;height:100%;width:100%;box-sizing:border-box;flex:1}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:12px 16px 8px;position:sticky;top:0;background:#fff;z-index:10;border-bottom:1px solid #f0f0f0;width:100%;box-sizing:border-box}.weekday{text-align:center;font-size:12px;font-weight:600;color:#999;text-transform:uppercase}.calendar-months{padding:0 16px 20px;width:100%;box-sizing:border-box}.calendar-month{margin-bottom:16px;width:100%}.month-name{font-size:16px;font-weight:600;color:#333;padding:16px 0 12px;text-align:center}.month-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0;width:100%}.calendar-day{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0}.calendar-day.empty,.calendar-day.disabled{cursor:default}.calendar-day.disabled .day-number{color:#ccc}.day-number{position:relative;z-index:2;font-size:14px;font-weight:500;color:#333}.day-bg{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;z-index:1}.calendar-day.selected-start .day-bg{background:#27bb36;border-radius:50%}.calendar-day.selected-start .day-number{color:#fff}.calendar-day.selected-start:after{content:"";position:absolute;top:2px;bottom:2px;left:50%;right:0;background:#27bb36;z-index:0}.calendar-day.selected-end .day-bg{background:#27bb36;border-radius:50%}.calendar-day.selected-end .day-number{color:#fff}.calendar-day.selected-end:before{content:"";position:absolute;top:2px;bottom:2px;left:0;right:50%;background:#27bb36;z-index:0}.calendar-day.selected-single .day-bg{background:#27bb36;border-radius:50%}.calendar-day.selected-single .day-number{color:#fff}.calendar-day.selected-single:after,.calendar-day.selected-single:before{display:none}.calendar-day.in-range:before{content:"";position:absolute;top:2px;bottom:2px;left:0;right:0;background:#27bb36;z-index:0}.calendar-day.in-range .day-number{color:#fff}.calendar-day:not(.empty):not(.disabled):not(.selected-start):not(.selected-end):not(.selected-single):hover .day-bg{background:#009e601a}@media(max-width:360px){.calendar-weekdays{padding:10px 8px 6px}.calendar-months{padding:0 8px 16px}.month-name{font-size:15px;padding:12px 0 10px}.day-number{font-size:13px}.day-bg{top:1px;right:1px;bottom:1px;left:1px}}.calendar-picker.side-by-side{background:#fff;padding:16px 20px;overflow:visible;height:auto}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.nav-arrow{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid #ddd;border-radius:50%;cursor:pointer;color:#333;transition:all .2s}.nav-arrow:hover:not(.disabled){background:#f5f5f5;border-color:#ccc}.nav-arrow.disabled{opacity:.3;cursor:default}.nav-months{display:flex;gap:80px}.nav-month-name{font-size:15px;font-weight:600;color:#333;min-width:140px;text-align:center}.calendar-grid-container{display:flex;gap:32px}.calendar-grid{flex:1}.calendar-weekdays-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.weekday-cell{text-align:center;font-size:12px;font-weight:600;color:#666;padding:4px 0}.month-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0}.side-by-side .calendar-day{aspect-ratio:1;min-height:36px}.side-by-side .calendar-day.selected-start .day-bg,.side-by-side .calendar-day.selected-end .day-bg,.side-by-side .calendar-day.selected-single .day-bg{background:#009e60}.side-by-side .calendar-day.selected-start:after,.side-by-side .calendar-day.selected-end:before,.side-by-side .calendar-day.in-range:before{background:#009e60}.regional-deals{padding:48px 0 60px;background:#f8f9fa;overflow-x:hidden;width:100%}.regional-deals .container{max-width:1280px;width:100%;margin:0 auto;padding:0 24px}.regional-deals-header{text-align:left;margin-bottom:16px;padding:0}.regional-deals-header h2{font-size:26px;font-weight:600;color:#2d3748;margin:0 0 6px;letter-spacing:-.3px}.regional-deals-header .header-subtitle{font-size:15px;color:#595959;margin:0}.region-tabs-wrapper{position:relative;margin-bottom:24px;padding:0}.region-tabs-wrapper:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:#e0e0e0}.region-tabs{display:flex;gap:0;flex-wrap:nowrap;border-bottom:none;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.region-tabs::-webkit-scrollbar{display:none}.region-tab{padding:12px 24px;font-size:15px;font-weight:500;color:#4a4a4a;background:transparent;border:none;cursor:pointer;transition:all .2s ease;position:relative;margin-bottom:-1px;border-bottom:2px solid transparent;white-space:nowrap;flex-shrink:0}.region-tab:first-child{padding-left:0}.region-tab:hover{color:#1a1a1a}.region-tab.active{color:#009e60;font-weight:600;border-bottom:2px solid #009e60}.region-tab.skeleton-tab{width:100px;height:44px;background:linear-gradient(90deg,#e8e8e8 25%,#f5f5f5,#e8e8e8 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.region-carousel-section{display:none}.carousel-container{position:relative;padding:0;max-width:100%;overflow:hidden}.carousel-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:8px 0;cursor:grab;-webkit-user-select:none;user-select:none}.carousel-track:active{cursor:grabbing}.carousel-track::-webkit-scrollbar{display:none}.carousel-track.dragging{scroll-behavior:auto;scroll-snap-type:none;-webkit-user-select:none;user-select:none}.carousel-track.dragging .deal-card{pointer-events:none}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid #e0e0e0;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;transition:all .2s ease;z-index:10}.carousel-arrow:hover{background:#009e60;color:#fff;border-color:#009e60;box-shadow:0 6px 16px #009e604d}.carousel-arrow-left{left:12px}.carousel-arrow-right{right:12px}.carousel-arrow.hidden{opacity:0;pointer-events:none}.deal-card{flex:0 0 calc(25% - 12px);min-width:280px;max-width:320px;background:#fff;border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 2px 8px #0000000f,0 4px 16px #0000000f;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always;-webkit-tap-highlight-color:transparent;outline:none;border:1px solid #e8e8e8}.deal-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.deal-card:active{transform:translateY(-2px)}.deal-image{position:relative;aspect-ratio:4 / 3;overflow:hidden}.deal-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.deal-card:hover .deal-image img{transform:scale(1.05)}.deal-badge{position:absolute;top:12px;left:12px}.savings-percent{background:#009e60;color:#fff;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 2px 8px #009e604d}.deal-info{padding:10px 12px;flex:1;display:flex;flex-direction:column}.deal-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.deal-info-left{flex:1;min-width:0}.deal-info-right{flex-shrink:0;text-align:right}.deal-location{display:flex;align-items:center;gap:4px;color:#007a4a;font-size:12px;font-weight:600;margin-bottom:4px}.deal-location svg{flex-shrink:0}.deal-title{font-size:14px;font-weight:600;color:#1a1a1a;margin:0 0 4px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.deal-rating{display:flex;align-items:center;gap:6px;margin-bottom:0}.rating-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:24px;background:#009e60;color:#fff;font-size:13px;font-weight:700;border-radius:6px 6px 6px 0;padding:0 5px}.deal-rating .rating-label{color:#1a1a1a;font-size:12px;font-weight:500}.deal-pricing{margin:0}.price-comparison{display:flex;flex-direction:column;align-items:flex-end;gap:0}.original-price{font-size:11px;color:#717171;text-decoration:line-through}.current-price{font-size:16px;font-weight:700;color:#1a1a1a}.price-period{font-size:11px;color:#717171;display:block}.price-taxes{font-size:10px;color:#717171;display:block;margin-top:1px}.deal-dates{font-size:11px;color:#595959;margin-top:2px}.deal-cta{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;background:#f8f9fa;color:#007a4a;font-weight:600;font-size:14px;border-top:1px solid #eee;transition:background .2s ease}.deal-card:hover .deal-cta{background:#e8f5f0}.skeleton-section{opacity:.8}.skeleton-title{width:180px;height:28px;background:linear-gradient(90deg,#e8e8e8 25%,#f0f0f0,#e8e8e8 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px}.deal-card.skeleton{min-width:280px;flex:0 0 calc(25% - 12px)}.deal-image-skeleton{aspect-ratio:4 / 3;background:linear-gradient(90deg,#e8e8e8 25%,#f0f0f0,#e8e8e8 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.deal-info-skeleton{padding:16px}.skeleton-line{height:14px;background:linear-gradient(90deg,#e8e8e8 25%,#f0f0f0,#e8e8e8 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:10px}.skeleton-line.title{width:80%;height:16px}.skeleton-line.location{width:50%}.skeleton-line.price{width:40%;height:18px;margin-top:16px}@media(max-width:1100px){.deal-card{flex:0 0 calc(33.333% - 11px);min-width:260px}}@media(max-width:900px){.regional-deals{padding:40px 0 50px}.regional-deals-header h2{font-size:24px}.region-tabs{gap:4px}.region-tab{padding:10px 16px;font-size:14px}.deal-card{flex:0 0 calc(50% - 8px);min-width:220px}.carousel-arrow{width:40px;height:40px}.carousel-arrow-left{left:8px}.carousel-arrow-right{right:8px}}@media(max-width:680px){.regional-deals .container{padding:0 16px}.regional-deals-header{text-align:left;margin-bottom:20px}.region-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:0;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.region-tabs::-webkit-scrollbar{display:none}.region-tab{flex-shrink:0;padding:10px 16px;font-size:14px}.carousel-container{padding:0;margin:0}.carousel-track{margin-top:8px;padding:8px 8px 8px 16px}.carousel-arrow{display:none}.deal-card{flex:0 0 75%;min-width:240px;max-width:280px}.deal-title{font-size:14px}.current-price{font-size:16px}}@media(max-width:480px){.regional-deals{padding:32px 0 40px}.regional-deals-header{margin-bottom:16px}.regional-deals-header h2{font-size:20px}.regional-deals-header .header-subtitle{font-size:13px}.region-tabs-wrapper{padding:0;margin-bottom:14px}.region-tabs-wrapper:after{left:0;right:0}.region-tabs{gap:0}.region-tab{padding:10px 16px;font-size:14px}.deal-card{flex:0 0 80%;min-width:220px}.deal-info{padding:10px}.deal-info-row{gap:8px}.deal-title{font-size:13px}.deal-location{font-size:11px}.rating-badge{font-size:11px;padding:2px 5px}.deal-rating .rating-label{font-size:11px}.current-price{font-size:14px}.original-price,.deal-dates{font-size:10px}.deal-cta{padding:8px 10px;font-size:13px}}.popular-destinations{padding:48px 0 60px;background:#fff;overflow-x:hidden;width:100%}.popular-destinations .container{max-width:1280px;width:100%;margin:0 auto;padding:0 24px}.popular-destinations-header{text-align:left;margin-bottom:16px;padding:0}.popular-destinations-header h2{font-size:26px;font-weight:600;color:#2d3748;margin:0 0 6px;letter-spacing:-.3px}.popular-destinations-header .header-subtitle{font-size:15px;color:#595959;margin:0}.category-tabs-wrapper{position:relative;margin-bottom:24px;padding:0}.category-tabs-wrapper:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:#e0e0e0}.category-tabs{display:flex;gap:0;flex-wrap:nowrap;border-bottom:none;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{padding:12px 24px;font-size:15px;font-weight:500;color:#4a4a4a;background:transparent;border:none;cursor:pointer;transition:all .2s ease;position:relative;margin-bottom:-1px;border-bottom:2px solid transparent;white-space:nowrap;flex-shrink:0}.category-tab:first-child{padding-left:0}.category-tab:hover{color:#1a1a1a}.category-tab.active{color:#009e60;font-weight:600;border-bottom:2px solid #009e60}.destinations-carousel-container{position:relative;padding:0;max-width:100%;overflow:hidden}.destinations-carousel-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:8px 0;cursor:grab;-webkit-user-select:none;user-select:none}.destinations-carousel-track:active{cursor:grabbing}.destinations-carousel-track::-webkit-scrollbar{display:none}.destinations-carousel-track.dragging{scroll-behavior:auto;scroll-snap-type:none;-webkit-user-select:none;user-select:none}.popular-destinations .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid #e0e0e0;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;transition:all .2s ease;z-index:10}.popular-destinations .carousel-arrow:hover{background:#009e60;color:#fff;border-color:#009e60;box-shadow:0 6px 16px #009e604d}.popular-destinations .carousel-arrow-left{left:12px}.popular-destinations .carousel-arrow-right{right:12px}.destination-card{flex:0 0 280px;min-width:280px;max-width:320px;scroll-snap-align:start;scroll-snap-stop:always;background:#fff;border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 2px 8px #0000000f,0 4px 16px #0000000f;transition:transform .2s ease,box-shadow .2s ease;text-decoration:none;color:inherit;display:block;-webkit-tap-highlight-color:transparent;outline:none;border:1px solid #e8e8e8}.destination-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.destination-card:active{transform:translateY(-2px)}.destination-image{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden}.destination-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.destination-card:hover .destination-image img{transform:scale(1.05)}.destination-info{padding:16px}.destination-info h3{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.destination-location{display:flex;align-items:center;gap:4px;font-size:13px;color:#595959;margin:0}.destination-location svg{color:#009e60;flex-shrink:0}@media(max-width:1100px){.popular-destinations .carousel-arrow-left{left:4px}.popular-destinations .carousel-arrow-right{right:4px}}@media(max-width:900px){.popular-destinations .carousel-arrow{width:40px;height:40px}.popular-destinations .carousel-arrow-left{left:8px}.popular-destinations .carousel-arrow-right{right:8px}.destination-card{flex:0 0 260px}}@media(max-width:680px){.popular-destinations{padding:32px 0 40px}.popular-destinations-header{margin-bottom:12px}.popular-destinations-header h2{font-size:22px}.category-tabs-wrapper{margin-bottom:16px}.category-tab{padding:10px 16px;font-size:14px}.popular-destinations .carousel-arrow{display:none}.destination-card{flex:0 0 240px;min-width:240px;max-width:280px}}@media(max-width:480px){.destination-card{flex:0 0 240px;min-width:240px;max-width:280px}.destination-info{padding:12px}.destination-info h3{font-size:15px}}.featured-marriott-hawaii{padding:60px 0;background:linear-gradient(135deg,#f8f9fa,#e9ecef);overflow:hidden}.featured-marriott-hawaii .container{max-width:1280px;margin:0 auto;padding:0 24px}.featured-marriott-header{text-align:center;margin-bottom:32px}.marriott-brand-logo{height:40px;margin-bottom:16px;object-fit:contain}.featured-marriott-header h2{font-size:28px;font-weight:600;color:#1a1a1a;margin:0;letter-spacing:-.3px}.featured-marriott-carousel-wrapper{position:relative}.featured-marriott-carousel{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:8px 4px 16px;cursor:grab;-webkit-user-select:none;user-select:none}.featured-marriott-carousel:active{cursor:grabbing}.featured-marriott-carousel::-webkit-scrollbar{display:none}.carousel-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:none;box-shadow:0 2px 12px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;color:#333}.carousel-nav-btn:hover{background:#009e60;color:#fff;transform:translateY(-50%) scale(1.05)}.carousel-nav-left{left:-22px}.carousel-nav-right{right:-22px}.featured-marriott-card{flex:0 0 280px;scroll-snap-align:start;scroll-snap-stop:always;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000014;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.featured-marriott-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.featured-marriott-image{width:100%;height:180px;overflow:hidden}.featured-marriott-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.featured-marriott-card:hover .featured-marriott-image img{transform:scale(1.05)}.featured-marriott-info{padding:16px}.featured-marriott-info h3{font-size:15px;font-weight:600;color:#1a1a1a;margin:0 0 6px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.featured-marriott-location{font-size:13px;color:#666;display:flex;align-items:center;gap:4px}@media(max-width:768px){.featured-marriott-hawaii{padding:40px 0}.featured-marriott-header h2{font-size:22px}.marriott-brand-logo{height:32px}.carousel-nav-btn{display:none}.featured-marriott-card{flex:0 0 240px}.featured-marriott-image{height:150px}.featured-marriott-info{padding:12px}.featured-marriott-info h3{font-size:14px}}@media(max-width:480px){.featured-marriott-hawaii .container{padding:0 16px}.featured-marriott-card{flex:0 0 220px}.featured-marriott-image{height:140px}}.rdrCalendarWrapper{box-sizing:border-box;background:#fff;display:inline-flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rdrDateDisplay{display:flex;justify-content:space-between}.rdrDateDisplayItem{flex:1 1;width:0;text-align:center;color:inherit}.rdrDateDisplayItem+.rdrDateDisplayItem{margin-left:.833em}.rdrDateDisplayItem input{text-align:inherit}.rdrDateDisplayItem input:disabled{cursor:default}.rdrMonthAndYearWrapper{box-sizing:inherit;display:flex;justify-content:space-between}.rdrMonthAndYearPickers{flex:1 1 auto;display:flex;justify-content:center;align-items:center}.rdrNextPrevButton{box-sizing:inherit;cursor:pointer;outline:none}.rdrMonths{display:flex}.rdrMonthsVertical{flex-direction:column}.rdrMonthsHorizontal>div>div>div{display:flex;flex-direction:row}.rdrMonth{width:27.667em}.rdrWeekDays{display:flex}.rdrWeekDay{flex-basis:calc(100% / 7);box-sizing:inherit;text-align:center}.rdrDays{display:flex;flex-wrap:wrap}.rdrInfiniteMonths{overflow:auto}.rdrDateRangeWrapper{-webkit-user-select:none;-moz-user-select:none;user-select:none}.rdrDateInput{position:relative}.rdrDateInput input{outline:none}.rdrDateInput .rdrWarning{position:absolute;font-size:1.6em;line-height:1.6em;top:0;right:.25em;color:red}.rdrDay{box-sizing:inherit;width:calc(100% / 7);position:relative;font:inherit;cursor:pointer}.rdrDayNumber{display:block;position:relative}.rdrDayNumber span{color:#1d2429}.rdrDayDisabled{cursor:not-allowed}@supports (-ms-ime-align: auto){.rdrDay{flex-basis:14.285%!important}}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge,.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{pointer-events:none}.rdrDateRangePickerWrapper{display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}.rdrStaticRanges{display:flex;flex-direction:column}.rdrStaticRange{font-size:inherit}.rdrInputRange{display:flex}.rdrCalendarWrapper{color:#000;font-size:12px}.rdrDateDisplayWrapper{background-color:#eff2f7}.rdrDateDisplay{margin:.833em}.rdrDateDisplayItem{border-radius:4px;background-color:#fff;box-shadow:0 1px 2px #23394236;border:1px solid transparent}.rdrDateDisplayItem input{cursor:pointer;height:2.5em;line-height:2.5em;border:0px;background:transparent;width:100%;color:#849095}.rdrDateDisplayItemActive{border-color:currentColor}.rdrDateDisplayItemActive input{color:#7d888d}.rdrMonthAndYearWrapper{align-items:center;height:60px;padding-top:10px}.rdrMonthAndYearPickers{font-weight:600}.rdrMonthAndYearPickers select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:10px 30px 10px 10px;border-radius:4px;outline:0;color:#3e484f;background:url("data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>") no-repeat;background-position:right 8px center;cursor:pointer;text-align:center}.rdrMonthAndYearPickers select:hover{background-color:#00000012}.rdrMonthPicker,.rdrYearPicker{margin:0 5px}.rdrNextPrevButton{display:block;width:24px;height:24px;margin:0 .833em;padding:0;border:0;border-radius:5px;background:#eff2f7}.rdrNextPrevButton:hover{background:#e1e7f0}.rdrNextPrevButton i{display:block;width:0;height:0;padding:0;text-align:center;border-style:solid;margin:auto;transform:translate(-3px)}.rdrPprevButton i{border-width:4px 6px 4px 4px;border-color:transparent rgb(52,73,94) transparent transparent;transform:translate(-3px)}.rdrNextButton i{margin:0 0 0 7px;border-width:4px 4px 4px 6px;border-color:transparent transparent transparent rgb(52,73,94);transform:translate(3px)}.rdrWeekDays{padding:0 .833em}.rdrMonth{padding:0 .833em 1.666em}.rdrMonth .rdrWeekDays{padding:0}.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{display:none}.rdrWeekDay{font-weight:400;line-height:2.667em;color:#849095}.rdrDay{background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:0;padding:0;line-height:3em;height:3em;text-align:center;color:#1d2429}.rdrDay:focus{outline:0}.rdrDayNumber{outline:0;font-weight:300;position:absolute;left:0;right:0;top:5px;bottom:5px;display:flex;align-items:center;justify-content:center}.rdrDayToday .rdrDayNumber span{font-weight:500}.rdrDayToday .rdrDayNumber span:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:18px;height:2px;border-radius:2px;background:#3d91ff}.rdrDayToday:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span:after{background:#fff}.rdrDay:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span{color:#ffffffd9}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge{background:currentColor;position:absolute;top:5px;left:0;right:0;bottom:5px}.rdrSelected{left:2px;right:2px}.rdrStartEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrEndEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrSelected{border-radius:1.042em}.rdrDayStartOfMonth .rdrInRange,.rdrDayStartOfMonth .rdrEndEdge,.rdrDayStartOfWeek .rdrInRange,.rdrDayStartOfWeek .rdrEndEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrDayEndOfMonth .rdrInRange,.rdrDayEndOfMonth .rdrStartEdge,.rdrDayEndOfWeek .rdrInRange,.rdrDayEndOfWeek .rdrStartEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrDayStartOfMonth .rdrDayInPreview,.rdrDayStartOfMonth .rdrDayEndPreview,.rdrDayStartOfWeek .rdrDayInPreview,.rdrDayStartOfWeek .rdrDayEndPreview{border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;border-left-width:1px;left:0}.rdrDayEndOfMonth .rdrDayInPreview,.rdrDayEndOfMonth .rdrDayStartPreview,.rdrDayEndOfWeek .rdrDayInPreview,.rdrDayEndOfWeek .rdrDayStartPreview{border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;border-right-width:1px;right:0}.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{background:#ffffff17;position:absolute;top:3px;left:0;right:0;bottom:3px;pointer-events:none;border:0px solid currentColor;z-index:1}.rdrDayStartPreview{border-top-width:1px;border-left-width:1px;border-bottom-width:1px;border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;left:0}.rdrDayInPreview{border-top-width:1px;border-bottom-width:1px}.rdrDayEndPreview{border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;right:0}.rdrDefinedRangesWrapper{font-size:12px;width:226px;border-right:solid 1px #eff2f7;background:#fff}.rdrDefinedRangesWrapper .rdrStaticRangeSelected{color:currentColor;font-weight:600}.rdrStaticRange{border:0;cursor:pointer;display:block;outline:0;border-bottom:1px solid #eff2f7;padding:0;background:#fff}.rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{background:#eff2f7}.rdrStaticRangeLabel{display:block;outline:0;line-height:18px;padding:10px 20px;text-align:left}.rdrInputRanges{padding:10px 0}.rdrInputRange{align-items:center;padding:5px 20px}.rdrInputRangeInput{width:30px;height:30px;line-height:30px;border-radius:4px;text-align:center;border:solid 1px rgb(222,231,235);margin-right:10px;color:#6c767a}.rdrInputRangeInput:focus,.rdrInputRangeInput:hover{border-color:#b4bfc4;outline:0;color:#333}.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{content:"";border:1px solid currentColor;border-radius:1.333em;position:absolute;top:-2px;bottom:-2px;left:0;right:0;background:transparent}.rdrDayPassive{pointer-events:none}.rdrDayPassive .rdrDayNumber span{color:#d5dce0}.rdrDayPassive .rdrInRange,.rdrDayPassive .rdrStartEdge,.rdrDayPassive .rdrEndEdge,.rdrDayPassive .rdrSelected,.rdrDayPassive .rdrDayStartPreview,.rdrDayPassive .rdrDayInPreview,.rdrDayPassive .rdrDayEndPreview{display:none}.rdrDayDisabled{background-color:#f8f8f8}.rdrDayDisabled .rdrDayNumber span{color:#aeb9bf}.rdrDayDisabled .rdrInRange,.rdrDayDisabled .rdrStartEdge,.rdrDayDisabled .rdrEndEdge,.rdrDayDisabled .rdrSelected,.rdrDayDisabled .rdrDayStartPreview,.rdrDayDisabled .rdrDayInPreview,.rdrDayDisabled .rdrDayEndPreview{filter:grayscale(100%) opacity(60%)}.rdrMonthName{text-align:left;font-weight:600;color:#849095;padding:.833em}.home-page{min-height:100vh;cursor:default;-webkit-user-select:none;user-select:none;overflow-x:hidden}.home-page input,.home-page textarea{-webkit-user-select:text;user-select:text}.hero{position:relative;height:70vh;min-height:500px;max-height:700px;display:flex;align-items:center;justify-content:center;width:100%;overflow:visible;z-index:10}.hero-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;clip-path:inset(0)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 85%}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#00000080,#0006 40%,#00000040,#0003)}.hero-content{position:relative;z-index:1;text-align:center;color:#fff;padding:0 20px;max-width:900px;width:100%}.hero-content h1{font-size:2.5rem;font-weight:600;margin-bottom:12px;text-shadow:0 2px 8px rgba(0,0,0,.3);letter-spacing:-.3px}.hero-content p{font-size:1.1rem;opacity:.95;margin-bottom:72px;text-shadow:0 1px 4px rgba(0,0,0,.3);font-weight:400}.search-bar{display:flex;align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000026;padding:8px;max-width:800px;margin:48px auto 0;position:relative;z-index:100}.search-field{flex:1;position:relative;padding:8px 20px;text-align:left}.search-field label{display:block;font-size:12px;font-weight:600;color:#333;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.search-field input,.search-field .field-button{width:100%;border:none;background:transparent;font-size:14px;color:#333;padding:0;text-align:left}.search-field input{cursor:text;direction:ltr;caret-color:#009e60}.search-field .field-button{cursor:pointer}.search-field input::placeholder{color:#999}.search-field input:focus{outline:none}.home-page button,.home-page a,.home-page .quick-link,.home-page .step-card,.home-page .feature,.home-page .moon-item,.home-page .legend-item,.home-page .reward-stat{cursor:pointer;user-select:none;-webkit-user-select:none}.home-page{cursor:default}.field-button{font-family:inherit}.field-button:hover{color:#009e60}.where-field{flex:1.5;position:relative;min-width:0}.where-field input{width:100%;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.where-field input.has-value:not(:focus){caret-color:transparent}.search-divider{width:1px;background:#e0e0e0;margin:8px 0}.search-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;background:#009e60;border:none;border-radius:12px;color:#fff;cursor:pointer;transition:background .2s,transform .1s;flex-shrink:0;margin-left:8px}.search-btn:hover{background:#008050;transform:scale(1.05)}.dropdown{position:absolute;top:calc(100% + 16px);left:0;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;z-index:9999;min-width:280px;overflow:hidden}.suggestions-dropdown{min-width:350px}.dropdown-loading{padding:20px;text-align:center;color:#666}.dropdown-item{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;transition:background .15s}.dropdown-item:hover{background:#f5f5f5}.place-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:8px;color:#009e60;flex-shrink:0}.place-info{display:flex;flex-direction:column;gap:2px;min-width:0}.place-name{font-weight:500;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-address{font-size:13px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-dropdown{left:50%;transform:translate(-50%);min-width:auto;padding:0;overflow:hidden}.desktop-calendar-dropdown{width:auto;min-width:600px;max-height:none;display:flex;flex-direction:column}.desktop-calendar-wrapper{padding:0}.desktop-calendar-wrapper .calendar-picker{height:auto;overflow:visible}.desktop-calendar-wrapper .calendar-weekdays{position:relative}.desktop-calendar-wrapper .calendar-months{padding-bottom:8px}.date-dropdown-header{display:flex;flex-direction:column;align-items:center;padding:16px 20px;border-bottom:1px solid #eee;background:#fff}.date-dropdown-range{font-size:18px;font-weight:600;color:#333}.date-dropdown-nights{font-size:14px;color:#666;margin-top:2px}.date-dropdown .rdrCalendarWrapper{font-size:14px;padding:12px 16px;background:#fff}.date-dropdown .rdrMonths{gap:16px}.date-dropdown .rdrMonth{width:260px}.date-dropdown .rdrMonthName{font-size:15px;font-weight:600;color:#333;padding:8px 0 12px;text-align:center}.date-dropdown .rdrWeekDays{margin-bottom:4px}.date-dropdown .rdrWeekDay{font-size:11px;font-weight:600;color:#999;text-transform:uppercase}.date-dropdown .rdrDays{background:#fff}.date-dropdown .rdrDay{height:36px;line-height:36px}.date-dropdown .rdrDayNumber{font-weight:500}.date-dropdown .rdrDayNumber span{font-size:14px;font-weight:500;color:#333}.date-dropdown .rdrDayPassive .rdrDayNumber span{color:#ccc}.date-dropdown .rdrDayDisabled{background-color:transparent}.date-dropdown .rdrDayDisabled .rdrDayNumber span{color:#ccc!important}.date-dropdown .rdrDayToday .rdrDayNumber span{font-weight:700}.date-dropdown .rdrDayToday .rdrDayNumber span:after{display:none}.date-dropdown .rdrStartEdge,.date-dropdown .rdrEndEdge{top:3px;bottom:3px}.date-dropdown .rdrStartEdge{background:#009e60!important;border-radius:50% 0 0 50%!important}.date-dropdown .rdrEndEdge{background:#009e60!important;border-radius:0 50% 50% 0!important}.date-dropdown .rdrStartEdge.rdrEndEdge{border-radius:50%!important}.date-dropdown .rdrInRange{background:#009e60!important;top:3px;bottom:3px}.date-dropdown .rdrDay:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span{color:#fff!important}.date-dropdown .rdrDay:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span,.date-dropdown .rdrDay:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span{color:#fff!important}.date-dropdown .rdrDayStartPreview,.date-dropdown .rdrDayEndPreview,.date-dropdown .rdrDayInPreview{display:none!important}.date-dropdown.no-selection .rdrStartEdge,.date-dropdown.no-selection .rdrEndEdge,.date-dropdown.no-selection .rdrInRange,.date-dropdown.no-selection .rdrDayStartOfMonth,.date-dropdown.no-selection .rdrDayStartOfWeek,.date-dropdown.no-selection .rdrDayEndOfMonth,.date-dropdown.no-selection .rdrDayEndOfWeek,.date-dropdown.no-selection .rdrSelected{background:transparent!important}.date-dropdown.no-selection .rdrDay:not(.rdrDayPassive) .rdrDayNumber span{color:#333!important}.date-dropdown .rdrDayPassive .rdrInRange,.date-dropdown .rdrDayPassive .rdrStartEdge,.date-dropdown .rdrDayPassive .rdrEndEdge{display:none!important}.date-dropdown .rdrDayDisabled{background:transparent!important}.date-dropdown .rdrDayDisabled .rdrDayNumber span{color:#ccc}.date-dropdown .rdrMonthAndYearPickers{display:none}.dropdown-done{display:block;width:calc(100% - 32px);padding:14px;margin:12px 16px 16px;background:#009e60;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer}.dropdown-done:hover{background:#008050}.guest-dropdown{right:0;left:auto;min-width:300px;padding:20px}.room-block:last-of-type{border-bottom:none;margin-bottom:8px}.room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;color:#222}.remove-btn{background:none;border:none;color:#e53935;font-size:13px;cursor:pointer}.guest-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:#444}.stepper{display:flex;align-items:center;gap:12px}.stepper button{width:32px;height:32px;border:1px solid #ddd;background:#fff;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.stepper button:hover:not(:disabled){border-color:#009e60;color:#009e60}.stepper button:disabled{opacity:.4;cursor:not-allowed}.stepper>span{min-width:20px;text-align:center;font-weight:500}.child-age-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;color:#666}.child-age-row select{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px}.add-room-btn{width:100%;padding:10px;background:none;border:1px dashed #ccc;border-radius:8px;color:#009e60;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:12px}.add-room-btn:hover{border-color:#009e60;background:#f9fef9}.quick-links{background:#f8f9fa;padding:24px 0;border-bottom:1px solid #eee}.container{max-width:1100px;margin:0 auto;padding:0 24px}.links-row{display:flex;justify-content:center;gap:48px}.quick-link{display:flex;align-items:center;gap:10px;color:#333;text-decoration:none;font-weight:500;padding:8px 0;transition:color .2s}.quick-link:hover,.quick-link .link-icon{color:#009e60}.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#009e60e6;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;margin-bottom:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rewards-preview{padding:60px 0;background:#f5f5f5}.rewards-preview .container{max-width:800px}.rewards-preview-card{background:#f0f2f5;border-radius:20px;padding:32px}.rewards-preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.rewards-preview-title h2{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 8px}.rewards-preview-title p{font-size:15px;color:#666;margin:0;line-height:1.5}.rewards-preview-title p strong{color:#009e60;font-weight:600}.rewards-cta-btn{display:inline-flex;align-items:center;gap:8px;background:#009e60;color:#fff;padding:12px 24px;border-radius:10px;font-weight:600;font-size:15px;text-decoration:none;transition:all .2s;white-space:nowrap}.rewards-cta-btn:hover{background:#008050}.rewards-cta-btn.desktop-only{display:inline-flex}.rewards-cta-btn.mobile-only{display:none;width:100%;justify-content:center;margin-top:24px}.moons-preview-container{background:#e4e7ec;border-radius:16px;padding:28px 24px;margin-bottom:24px}.moons-preview-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.moons-row{display:flex;justify-content:center;gap:24px}.moon-item{display:flex;flex-direction:column;align-items:center;gap:6px}.moon-emoji{font-size:40px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.moon-number{font-size:13px;font-weight:600;color:#999}.moon-number.filled{color:#f5a623}.moons-preview-legend{display:flex;justify-content:center;gap:32px;padding-top:16px;border-top:1px solid #d0d3d9}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.rewards-stats-row{display:flex;justify-content:center;align-items:center;background:#fff;border-radius:12px;padding:20px}.reward-stat{display:flex;flex-direction:column;align-items:center;padding:0 40px}.reward-stat-value{font-size:28px;font-weight:700;color:#1a1a1a}.reward-stat-value.highlight{color:#f5a623}.reward-stat-label{font-size:12px;color:#666;text-transform:uppercase;margin-top:4px}.reward-stat-divider{width:1px;height:40px;background:#e0e0e0}.how-it-works{padding:48px 0 64px;background:#fff;margin-top:32px;overflow-x:hidden;width:100%}.how-it-works-box{background:#f5f7fa;border-radius:20px;padding:48px 32px}.how-it-works h2{text-align:center;font-size:26px;font-weight:600;color:#2d3748;margin-bottom:48px;letter-spacing:-.3px}.steps-grid{display:flex;align-items:flex-start;justify-content:center;gap:0}.step-card{text-align:center;padding:24px 20px;flex:1;max-width:220px;position:relative}.step-icon{width:64px;height:64px;background:#e6f7ef;color:#009e60;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;transition:all .3s ease}.step-card:hover .step-icon{transform:translateY(-4px);box-shadow:0 8px 20px #009e6033}.step-icon.moon-icon{background:#e6f7ef}.step-icon.reward-icon{background:#009e60;color:#fff}.highlight-card .step-icon{background:linear-gradient(135deg,#009e60,#00b36e);color:#fff}.step-number{width:28px;height:28px;background:#009e60;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;margin:0 auto 16px}.highlight-card .step-number{background:#fbbf24;color:#222}.step-card h3{font-size:1.1rem;font-weight:600;color:#222;margin-bottom:10px}.step-card p{color:#666;line-height:1.5;font-size:14px}.highlight-card{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:16px;border:2px solid #009e60}.step-connector{display:flex;align-items:center;justify-content:center;color:#ccc;padding-top:40px}.bnpl-promo{padding:60px 0;background:#f8f9fa;overflow-x:hidden;width:100%}.bnpl-card{display:flex;align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;overflow:hidden;max-width:900px;margin:0 auto}.bnpl-image{flex:0 0 50%;max-width:50%;overflow:hidden}.bnpl-image img{width:100%;height:100%;min-height:300px;object-fit:cover;object-position:center;display:block}.bnpl-content{flex:1;padding:40px 48px}.bnpl-logos{display:flex;align-items:center;gap:16px;margin-bottom:16px}.bnpl-logo{height:32px;width:auto;object-fit:contain}.bnpl-logo:first-child{height:56px}.bnpl-content h2{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin-bottom:12px}.bnpl-description{font-size:1.1rem;color:#444;margin-bottom:8px;line-height:1.5}.bnpl-subtitle{font-size:.95rem;color:#666;line-height:1.5}.experiences-promo{padding:60px 0;background:#fff;overflow-x:hidden;width:100%}.experiences-promo .container{max-width:1280px;margin:0 auto;padding:0 24px}.experiences-card{display:flex;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #00000014}.experiences-video{flex:0 0 55%;position:relative;overflow:hidden;background:#1a1a1a}.experiences-video video{width:100%;height:100%;object-fit:cover;display:block;min-height:400px}.experiences-content{flex:1;padding:48px 40px;display:flex;flex-direction:column;justify-content:center}.experiences-content h2{font-size:26px;font-weight:600;color:#2d3748;margin:0 0 16px;line-height:1.3;letter-spacing:-.3px}.experiences-description{font-size:1rem;color:#555;line-height:1.6;margin-bottom:24px}.experiences-cta{display:inline-flex;align-items:center;gap:8px;background:#009e60;color:#fff;padding:14px 28px;border-radius:12px;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s ease,transform .2s ease;align-self:flex-start}.experiences-cta:hover{background:#008050;transform:translateY(-2px)}.experiences-cta svg{transition:transform .2s ease}.experiences-cta:hover svg{transform:translate(4px)}@media(max-width:900px){.experiences-card{flex-direction:column}.experiences-video{flex:none}.experiences-video video{min-height:280px}.experiences-content{padding:32px 24px}.experiences-content h2{font-size:1.5rem}}@media(max-width:480px){.experiences-promo{padding:40px 0}.experiences-video video{min-height:220px}.experiences-content{padding:24px 20px}.experiences-content h2{font-size:1.25rem}.experiences-cta{width:100%;justify-content:center}}.features{padding:60px 0;background:#f8f9fa;overflow-x:hidden;width:100%}.features .container{max-width:1280px;margin:0 auto;padding:0 24px}.features-card{background:#fff;border-radius:16px;padding:40px 32px;box-shadow:0 2px 8px #0000000f}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.feature{text-align:center;padding:20px;display:flex;flex-direction:column;align-items:center}.feature-logo{height:77px;width:auto;margin-bottom:12px;object-fit:contain}.feature h3{font-size:1rem;font-weight:600;color:#222;margin-bottom:8px}.feature p{font-size:14px;color:#666;line-height:1.5}.cta{padding:80px 0;background:linear-gradient(135deg,#009e60,#00b36e);text-align:center;color:#fff;overflow-x:hidden;width:100%}.cta h2{font-size:2rem;font-weight:700;margin-bottom:12px}.cta p{font-size:1.1rem;opacity:.9;margin-bottom:32px}.cta-buttons{display:flex;gap:16px;justify-content:center}.btn-primary{padding:14px 32px;background:#fff;color:#009e60;border-radius:8px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-secondary{padding:14px 32px;background:transparent;color:#fff;border:2px solid white;border-radius:8px;font-weight:600;text-decoration:none;transition:background .2s,color .2s}.btn-secondary:hover{background:#fff;color:#009e60}@media(max-width:1024px){.steps-grid{grid-template-columns:repeat(3,1fr);gap:24px}.features-grid{grid-template-columns:repeat(2,1fr)}}.mobile-search-card{display:none}@media(max-width:768px){.desktop-search{display:none!important}.search-bar{margin-top:0}.mobile-search-card{display:flex;flex-direction:column;background:#fff;border-radius:20px;padding:8px;box-shadow:0 8px 32px #0003;width:100%;max-width:400px;margin:0 auto}.mobile-search-row{display:flex;align-items:center;gap:14px;padding:16px;background:#f8f9fa;border:none;border-radius:14px;margin-bottom:4px;cursor:pointer;text-align:left;transition:background .15s}.mobile-search-row:hover{background:#f0f0f0}.mobile-search-row .row-icon{color:#333;flex-shrink:0}.mobile-search-row .row-content{flex:1;min-width:0}.mobile-search-row .row-label{display:block;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.mobile-search-row .row-value{display:block;font-size:15px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-search-row .row-value.placeholder{color:#999}.mobile-search-row .row-arrow{color:#ccc;flex-shrink:0}.mobile-search-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--green);color:#fff;border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;margin-top:4px;transition:background .15s}.mobile-search-btn:hover{background:#008050}.hero{height:auto;min-height:auto;padding:60px 0 40px}.hero-image img{object-position:center bottom;transform:scale(1.3);transform-origin:center bottom}.hero-content h1{font-size:1.75rem;margin-bottom:8px}.hero-content p{font-size:.95rem;margin-bottom:24px}.links-row{flex-wrap:wrap;gap:24px}.quick-link{flex:1 1 calc(50% - 12px);justify-content:center}.rewards-preview{padding:60px 0}.rewards-preview{padding:40px 0}.rewards-preview-card{padding:24px}.rewards-preview-header{flex-direction:column;text-align:center;gap:16px}.rewards-preview-title h2{font-size:20px}.rewards-cta-btn.desktop-only{display:none}.rewards-cta-btn.mobile-only{display:flex}.moons-preview-container{padding:20px 16px}.moons-row{gap:12px}.moon-emoji{font-size:32px}.moons-preview-legend{gap:20px;flex-wrap:wrap}.rewards-stats-row{flex-wrap:wrap;gap:16px;padding:16px}.reward-stat{padding:0 20px;flex:1 1 40%}.reward-stat-divider{display:none}.reward-stat-value{font-size:24px}.steps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}.step-card{max-width:100%;padding:16px 12px}.step-connector{display:none}.step-icon{width:48px;height:48px;border-radius:12px;margin-bottom:10px}.step-icon svg{width:22px;height:22px}.step-number{width:24px;height:24px;font-size:.75rem;margin-bottom:10px}.step-card h3{font-size:14px;margin-bottom:6px}.step-card p{font-size:12px;line-height:1.4}.how-it-works-box{padding:24px 16px}.how-it-works h2{font-size:22px;margin-bottom:24px}.features-card{padding:32px 16px}.features-grid{grid-template-columns:1fr;justify-items:center}.feature{max-width:280px;width:100%;margin:0 auto;padding:16px}.feature-logo{height:60px}.bnpl-promo{padding:40px 0}.bnpl-card{flex-direction:column;border-radius:12px}.bnpl-image{flex:none;max-width:100%;width:100%;aspect-ratio:16 / 9}.bnpl-content{padding:24px 20px;text-align:center}.bnpl-logos{justify-content:center}.bnpl-content h2{font-size:1.4rem}.bnpl-description{font-size:1rem}.bnpl-subtitle{font-size:.9rem}.cta-buttons{flex-direction:column;align-items:center}}.mobile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:1000;display:flex;flex-direction:column;animation:fadeIn .2s ease}.mobile-modal{background:#fff;width:100%;height:100%;display:flex;flex-direction:column}.mobile-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;padding-top:calc(16px + env(safe-area-inset-top));border-bottom:1px solid #eee;flex-shrink:0;background:#009e60}.mobile-modal-header h3{font-size:18px;font-weight:600;color:#fff;margin:0;text-align:center;flex:1}.modal-close-btn{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.modal-header-spacer{width:36px}.mobile-modal-content{flex:1;overflow-y:auto;padding:20px;background:#f8f9fa}.mobile-modal-footer{padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-top:1px solid #eee;flex-shrink:0;background:#fff}.modal-done-btn{width:100%;background:#009e60;color:#fff;border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s}.modal-done-btn:hover{background:#007a4d}.mobile-search-input-wrapper{display:flex;align-items:center;background:#f0f0f0;border-radius:14px;padding:0 16px;margin-bottom:20px}.search-input-icon{color:#888;flex-shrink:0}.mobile-search-input{flex:1;border:none;background:none;padding:16px 12px;font-size:16px;outline:none}.mobile-search-input::placeholder{color:#999}.clear-input-btn{background:none;border:none;color:#888;cursor:pointer;padding:4px;display:flex;align-items:center}.mobile-suggestions-list{display:flex;flex-direction:column;gap:4px}.mobile-suggestion-loading{text-align:center;padding:24px;color:#888}.mobile-suggestion-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:none;border-radius:12px;cursor:pointer;text-align:left;transition:background .15s;width:100%;box-shadow:0 1px 3px #0000000d}.mobile-suggestion-item:hover{background:#f5f5f5}.suggestion-icon{width:44px;height:44px;background:#f0f0f0;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--green);flex-shrink:0}.suggestion-info{flex:1;min-width:0}.suggestion-name{display:block;font-size:15px;font-weight:600;color:#333;margin-bottom:2px}.suggestion-address{display:block;font-size:13px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-modal-header{flex-direction:column;align-items:center!important;padding:16px 20px!important;padding-top:calc(16px + env(safe-area-inset-top))!important;gap:0!important;position:relative}.date-modal-header .modal-close-btn{position:absolute;left:16px;top:calc(50% + env(safe-area-inset-top)/2);transform:translateY(-50%)}.date-modal-header .modal-header-spacer{position:absolute;right:16px;width:24px}.date-header-text{display:flex;flex-direction:column;align-items:center;gap:0;min-height:44px;justify-content:center}.date-range-display{font-size:18px;font-weight:600;color:#fff;line-height:1.3}.nights-count{font-size:14px;color:#fffc;font-weight:400;min-height:20px;line-height:20px}.date-modal-header-light{display:flex;align-items:center;padding:16px 20px!important;padding-top:calc(16px + env(safe-area-inset-top))!important;background:#fff!important;border-bottom:1px solid #eee;gap:16px}.modal-close-btn-light{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#666;cursor:pointer;border-radius:50%;transition:background .2s}.modal-close-btn-light:hover{background:#f5f5f5}.date-header-text-light{display:flex;flex-direction:column;align-items:center;flex:1;text-align:center}.date-range-display-light{font-size:18px;font-weight:600;color:#1a1a1a;line-height:1.3}.nights-count-light{font-size:14px;color:#666;font-weight:400}.date-modal-content{padding:0;background:#fff;overflow:hidden;display:flex;flex-direction:column}.guest-modal-header-light{display:flex;align-items:center;padding:16px 20px!important;padding-top:calc(16px + env(safe-area-inset-top))!important;background:#fff!important;border-bottom:1px solid #eee}.guest-modal-title{flex:1;text-align:center;font-size:18px;font-weight:600;color:#1a1a1a!important;margin:0}.destination-modal-header-light{display:flex;align-items:center;padding:16px 20px!important;padding-top:calc(16px + env(safe-area-inset-top))!important;background:#fff!important;border-bottom:1px solid #eee}.modal-title-light{flex:1;text-align:center;font-size:18px;font-weight:600;color:#1a1a1a!important;margin:0}.guest-modal-content{padding-bottom:100px}.mobile-room-block{background:#fff;border-radius:16px;padding:18px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d}.mobile-room-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#333;font-weight:600}.mobile-room-header svg{color:var(--green)}.mobile-remove-room{margin-left:auto;background:none;border:none;color:#ff3b30;font-size:14px;font-weight:500;cursor:pointer}.mobile-guest-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e8e8e8}.mobile-guest-row:last-of-type{border-bottom:none}.guest-type{display:flex;align-items:center;gap:10px;color:#555;font-size:15px}.guest-type svg{color:#888}.mobile-stepper{display:flex;align-items:center;gap:0;border:1px solid #ddd;border-radius:10px;overflow:hidden}.mobile-stepper .stepper-btn{width:40px;height:40px;background:#fff;border:none;font-size:20px;font-weight:500;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.mobile-stepper .stepper-btn:hover:not(:disabled){background:#f0f0f0}.mobile-stepper .stepper-btn:disabled{color:#ccc;cursor:not-allowed}.mobile-stepper .stepper-value{width:40px;text-align:center;font-size:16px;font-weight:600;color:#333;border-left:1px solid #ddd;border-right:1px solid #ddd;padding:8px 0}.mobile-child-ages{margin-top:12px;padding-top:12px;border-top:1px solid #e8e8e8}.mobile-child-age-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:#666;font-size:14px}.mobile-child-age-row select{padding:10px 16px;border:1px solid #ddd;border-radius:10px;font-size:15px;background:#fff;min-width:100px}.mobile-add-room{width:100%;padding:14px;background:none;border:2px dashed #ddd;border-radius:14px;font-size:15px;font-weight:500;color:var(--green);cursor:pointer;transition:all .15s}.mobile-add-room:hover{border-color:var(--green);background:#f8fff8}.property-type-toggle{display:flex;gap:8px;margin-bottom:8px}.property-type-toggle.desktop-only{position:absolute;top:-52px;left:8px}.property-type-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid rgba(255,255,255,.4);border-radius:50px;background:#ffffff26;color:#ffffffe6;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.property-type-btn:hover{background:#ffffff40;border-color:#fff9}.property-type-btn.active{background:#00d589;border-color:#00d589;color:#fff;box-shadow:0 4px 12px #00d58966}.mobile-property-toggle{display:none;margin-bottom:12px}.mobile-property-toggle .property-type-btn{padding:8px 16px;font-size:13px}@media(max-width:768px){.property-type-toggle.desktop-only{display:none}.mobile-property-toggle{display:flex;justify-content:center}}:root{--green: #009E60;--green-dark: #007A4A;--gold: #F5A623;--text: #1a1a1a;--text-secondary: #666;--text-muted: #999;--background: #f5f5f5;--card: #fff;--border: #e0e0e0}.stays-page{padding:40px 0;min-height:calc(100vh - 200px);background:var(--background)}.stays-page .container{max-width:1100px;margin:0 auto;padding:0 20px}.login-prompt-card{text-align:center;padding:60px 40px;max-width:500px;margin:60px auto;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f}.login-prompt-card h2{font-size:28px;font-weight:700;margin-bottom:12px;color:var(--text)}.login-prompt-card p{color:var(--text-secondary);font-size:16px;margin-bottom:8px}.login-prompt-buttons{margin-top:32px}.login-prompt-buttons .btn-large{padding:14px 48px;font-size:16px}.login-prompt-card .cta-subtext{margin-top:16px;font-size:14px;color:var(--text-secondary)}.login-prompt-card .cta-subtext a{color:var(--green);font-weight:600;text-decoration:none}.login-prompt-card .cta-subtext a:hover{text-decoration:underline}.login-prompt{text-align:center;padding:80px 20px;max-width:500px;margin:0 auto}.login-icon{margin-bottom:20px;color:var(--green)}.login-prompt h2{font-size:28px;margin-bottom:16px}.login-prompt p{color:var(--text-secondary);margin-bottom:30px}.login-buttons{display:flex;gap:12px;justify-content:center}.btn{padding:12px 32px;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;border:none}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-secondary{background:#f0f0f0;color:var(--text)}.btn-secondary:hover{background:#e0e0e0}.stays-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.stays-header h1{font-size:28px;font-weight:700;margin:0}.header-subtitle{font-size:15px;color:var(--text-secondary);margin-top:4px}.refresh-btn{background:#fff;border:1px solid var(--border);padding:10px 20px;border-radius:10px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.refresh-btn:hover:not(:disabled){border-color:var(--green);color:var(--green)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.rewards-progress-card{background:#f0f2f5;border-radius:20px;padding:32px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.rewards-progress-card h2{font-size:22px;margin:0 0 6px;color:#1a1a1a}.rewards-subtitle{color:var(--text-secondary);font-size:15px;margin:0 0 28px}.moons-grid{display:flex;flex-direction:column;gap:20px;margin-bottom:24px;background:#e4e7ec;border-radius:16px;padding:32px 24px}.moons-row{display:flex;justify-content:center;gap:20px}.moon-item{display:flex;flex-direction:column;align-items:center;gap:8px}.moon-emoji{font-size:44px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.moon-number{font-size:13px;font-weight:600;color:var(--text-muted)}.moon-number.eligible{color:var(--gold)}.moon-number.pending{color:#ff9500}.moons-legend{display:flex;justify-content:center;gap:32px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #dde0e6}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.legend-moon{font-size:18px}.progress-stats{display:flex;justify-content:center;align-items:center;gap:0;padding:20px 0;background:#fff;border-radius:12px;margin-bottom:20px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:0 40px}.stat-value{font-size:32px;font-weight:700}.stat-value.pending{color:#ff9500}.stat-value.eligible{color:var(--green)}.stat-value.empty{color:var(--text-muted)}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;margin-top:2px}.stat-divider{width:1px;height:40px;background:var(--border)}.reward-value-section{margin-top:16px}.reward-value-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-radius:12px}.reward-value-label{color:var(--text-secondary);font-size:15px}.reward-value-amount{font-size:22px;font-weight:700;color:var(--gold)}.reward-value-note{font-size:12px;color:var(--text-secondary);text-align:center;margin-top:8px;margin-bottom:0}.voucher-history-card{background:#fff;border-radius:12px;padding:20px;margin-top:20px}.voucher-history-card h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.voucher-history-empty{text-align:center;padding:16px 0}.voucher-history-icon{font-size:32px;display:block;margin-bottom:8px}.voucher-history-empty p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.voucher-history-list{display:flex;flex-direction:column;gap:12px}.voucher-history-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:10px;background:#f8f9fa}.voucher-history-item.ready{background:#34c75914}.voucher-history-item.pending{background:#ff950014}.voucher-history-item.used{background:#8e8e9314}.voucher-history-left{display:flex;align-items:center;gap:12px}.voucher-history-status-icon{font-size:20px}.voucher-history-info{display:flex;flex-direction:column;gap:2px}.voucher-history-code{font-size:14px;font-weight:600;color:var(--text-primary);font-family:SF Mono,Monaco,Consolas,monospace}.voucher-history-value{font-size:12px;color:var(--text-secondary)}.voucher-history-status{font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.voucher-history-status.ready{background:#34c75926;color:#34c759}.voucher-history-status.pending{background:#ff950026;color:#ff9500}.voucher-history-status.used{background:#8e8e9326;color:#8e8e93}.one-time-voucher-note{font-size:11px;color:#999;text-align:center;margin-top:12px;margin-bottom:0;font-style:italic}.vouchers-section{margin-bottom:24px}.vouchers-section h2{font-size:18px;margin-bottom:16px}.voucher-card{background:#fff;border-radius:16px;padding:20px;margin-bottom:12px;box-shadow:0 2px 8px #00000014}.voucher-card.active{border:2px solid var(--gold);background:linear-gradient(135deg,#fffbf0,#fff)}.voucher-card.pending{border:2px dashed #FF9500}.voucher-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.voucher-emoji{font-size:24px}.voucher-title{font-weight:600;flex:1}.voucher-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.voucher-badge.active{background:var(--gold);color:#fff}.voucher-badge.pending{background:#fff0d9;color:#ff9500}.voucher-value{font-size:36px;font-weight:700;color:var(--green);margin-bottom:12px}.voucher-code-section{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.voucher-code-label{font-size:12px;color:var(--text-muted);text-transform:uppercase}.voucher-code{font-size:18px;font-weight:600;font-family:monospace;letter-spacing:2px;color:var(--text)}.voucher-expiry{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.voucher-note{font-size:13px;color:var(--text-muted);margin:0}.activity-section{margin-bottom:24px}.activity-section h2{font-size:18px;margin-bottom:12px}.activity-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:16px;margin-bottom:8px;box-shadow:0 1px 4px #0000000d}.activity-left{flex:1;min-width:0}.activity-hotel{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.activity-dates{font-size:13px;color:var(--text-secondary)}.activity-right{text-align:right;margin-left:16px}.activity-value{font-weight:700;color:var(--green);margin-bottom:2px}.activity-status{font-size:12px;font-weight:500}.activity-status.pending{color:#ff9500}.activity-status.eligible{color:var(--green)}.info-widget-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;align-items:start}.info-left-column{display:flex;flex-direction:column;gap:24px}.how-it-works-card{background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 2px 8px #00000014}.how-it-works-card h3{font-size:18px;font-weight:600;margin:0 0 24px;color:var(--text-primary)}.viator-stays-widget{background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 2px 8px #00000014}.viator-stays-widget h3{font-size:18px;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.viator-stays-widget .viator-subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 20px}.viator-stays-widget .viator-widget{min-height:280px}.how-it-works-steps{display:flex;flex-direction:column;gap:18px;margin-bottom:24px}.how-it-works-step{display:grid;grid-template-columns:36px 1fr;align-items:start;gap:14px}.step-number{width:36px;height:36px;background:var(--gold);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.how-it-works-step span:last-child{color:var(--text-primary);font-size:15px;line-height:1.5;padding-top:6px}.how-it-works-details{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.how-it-works-details p{color:var(--green);font-size:13px;margin:0 0 8px;line-height:1.4}.how-it-works-details p:last-child{margin-bottom:0}.support-card{background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 2px 8px #00000014;text-align:center}.support-icon{font-size:40px;margin-bottom:12px}.support-card h3{font-size:18px;font-weight:600;margin:0 0 12px;color:var(--text-primary)}.support-card p{font-size:14px;color:var(--text-secondary);margin:0 0 20px;line-height:1.5}.support-options{display:flex;flex-direction:column;gap:12px;align-items:center}.support-link{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px;text-decoration:none;transition:color .2s}.support-link:hover{color:var(--gold)}.support-btn{display:inline-block;background:var(--gold);color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .2s,transform .2s}.support-btn:hover{background:#d4a84b;transform:translateY(-1px)}.bookings-section{margin-bottom:40px}.bookings-section h2{font-size:20px;margin-bottom:16px}.loading{text-align:center;padding:40px;color:var(--text-secondary)}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px}.empty-icon{margin-bottom:16px;color:var(--text-muted)}.empty-state h3{font-size:22px;margin-bottom:8px}.empty-state p{color:var(--text-secondary);margin-bottom:24px}.bookings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.view-all-container{display:flex;justify-content:center;margin-top:32px}.view-all-btn{background:#fff;border:2px solid var(--green);color:var(--green);padding:14px 40px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.view-all-btn:hover{background:var(--green);color:#fff}.viator-section{margin-top:40px}.viator-grid-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #00000014}.viator-grid-card h3{font-size:18px;font-weight:600;margin-bottom:4px;color:var(--text)}.viator-grid-card .viator-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:16px}.viator-grid-card .viator-widget{min-height:400px}.bookings-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.booking-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0000001a;width:100%;height:fit-content}.booking-card.cancelled{opacity:.85}.booking-image{position:relative;height:160px;background:#f0f0f0}.booking-image img{width:100%;height:100%;object-fit:cover}.booking-card.cancelled .booking-image img{opacity:.5}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,#f0f0f0,#e0e0e0)}.cancelled-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700;letter-spacing:2px}.status-badge{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:20px;color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.confirmed{background:#34c759}.status-badge.cancelled{background:#ff3b30}.status-badge.pending{background:#ff9500}.status-badge.completed{background:var(--gold)}.booking-content{padding:20px}.hotel-name{font-size:20px;font-weight:700;margin:0 0 8px;line-height:1.3}.location-row{display:flex;align-items:flex-start;gap:6px;margin-bottom:16px}.location-icon{font-size:14px}.location-text{font-size:14px;color:var(--text-secondary);line-height:1.4}.dates-container{display:flex;align-items:center;background:#f8f9fa;border-radius:12px;padding:16px;margin-bottom:16px;gap:12px}.date-box{flex:1;display:flex;flex-direction:column;gap:4px}.date-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.date-value{font-size:14px;font-weight:600}.date-time{font-size:12px;color:var(--green);font-weight:500}.date-arrow{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text-muted);padding:0 8px}.nights-text{font-size:11px;white-space:nowrap}.details-row{display:flex;gap:24px;margin-bottom:16px}.detail-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.detail-icon{font-size:16px}.bottom-row{display:flex;justify-content:space-between;align-items:flex-end;padding-top:16px;border-top:1px solid var(--border)}.price-section{display:flex;flex-direction:column;gap:2px}.price-label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.price-value{font-size:22px;font-weight:700;color:var(--green)}.price-value.cancelled{color:var(--text-muted);text-decoration:line-through}.pay-at-property{display:flex;flex-direction:column;gap:2px;margin-top:8px}.pay-label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.pay-value{font-size:14px;font-weight:600;color:var(--text-secondary)}.confirmation-section{text-align:right;display:flex;flex-direction:column;gap:2px}.confirmation-label{font-size:11px;color:var(--text-muted);text-transform:uppercase}.confirmation-row{display:flex;align-items:center;gap:8px;justify-content:flex-end}.confirmation-value{font-size:14px;font-weight:600;font-family:monospace}.copy-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s}.copy-btn:hover{color:var(--green);background:#f0f0f0}.cancellation-info{border-radius:10px;padding:14px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.cancellation-info.free{background:#e8f8ef;border:1px solid #b8e6cc}.cancellation-info.warning{background:#fff8e6;border:1px solid #ffe0a3}.cancellation-row{display:flex;align-items:center;gap:8px}.cancellation-icon.success{color:#34c759}.cancellation-icon.warning{color:#ff9500}.cancellation-label{font-size:14px;color:#34c759;font-weight:500}.cancellation-label-warning{font-size:14px;color:#ff9500;font-weight:500}.cancellation-date{font-size:15px;font-weight:600;color:var(--text);margin-left:24px}.cancellation-fee{font-size:13px;color:#e67700;margin-left:24px}.manage-booking-buttons{display:flex;gap:10px;margin-top:16px}.manage-booking-btn{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s}.manage-booking-btn.cancel-btn:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}.manage-booking-btn.amend-btn:hover{border-color:var(--green);color:var(--green);background:#f9fef9}.location-icon{color:var(--green);flex-shrink:0}.detail-icon{color:var(--text-muted)}.image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);color:var(--text-muted)}@media(max-width:768px){.stays-page{padding:20px 0}.container{padding:0 16px}.stays-header h1{font-size:24px}.login-prompt-card{padding:40px 24px;margin:40px auto}.login-prompt-icon{font-size:48px}.login-prompt-card h2{font-size:24px}.login-prompt-buttons .btn-large{padding:12px 36px;width:100%}.rewards-progress-card{padding:20px}.moons-row{gap:8px}.moon-emoji{font-size:26px}.progress-stats{gap:16px}.stat-item{padding:0 16px}.stat-value{font-size:22px}.info-widget-grid{grid-template-columns:1fr;gap:20px}.how-it-works-card,.viator-stays-widget{padding:20px 24px}.bookings-grid,.bookings-list{grid-template-columns:repeat(2,1fr)}.viator-grid-card{padding:20px}.viator-grid-card .viator-widget{min-height:350px}.booking-image{height:140px}.booking-content{padding:16px}.hotel-name{font-size:18px}}@media(max-width:600px){.stays-header{flex-direction:column;gap:16px}.refresh-btn{align-self:flex-start}.bookings-grid,.bookings-list{grid-template-columns:1fr}.moons-row{gap:6px}.moon-emoji{font-size:24px}.moons-legend{gap:16px}.legend-item{font-size:11px}.stat-item{padding:0 12px}.stat-value{font-size:20px}.stat-label{font-size:10px}.dates-container{flex-direction:row;gap:8px;padding:12px}.date-box{gap:2px}.date-label{font-size:10px}.date-value{font-size:12px}.date-time{font-size:11px}.date-arrow{flex-direction:column;gap:2px;padding:0 4px}.nights-text{font-size:10px}.details-row{flex-direction:column;gap:12px}.bottom-row{flex-direction:column;gap:16px;align-items:flex-start}.confirmation-section{text-align:left}.login-buttons{flex-direction:column}.how-it-works-card{padding:20px}.vouchers-section .voucher-card{padding:16px}.voucher-value{font-size:28px}.rewards-preview-card{padding:32px 20px}.rewards-preview-header h2{font-size:22px}.rewards-preview-steps{flex-direction:column;gap:24px;align-items:center}.preview-step{flex-direction:column;text-align:center;max-width:280px}.step-icon{font-size:36px}.btn-large{width:100%}.rewards-preview-moons{margin:24px 0}.moons-legend{justify-content:center}}.rewards-preview-card{background:var(--card);border-radius:20px;padding:48px 40px;text-align:center;box-shadow:0 4px 20px #00000014;margin-top:20px}.rewards-preview-header{margin-bottom:32px}.preview-badge{display:inline-block;background:linear-gradient(135deg,var(--green),#00c471);color:#fff;font-size:12px;font-weight:600;padding:6px 16px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.rewards-preview-header h2{font-size:28px;font-weight:700;margin:0 0 12px;color:var(--text)}.rewards-preview-subtitle{font-size:16px;color:var(--text-secondary);margin:0}.rewards-preview-moons{margin:32px 0;display:flex;justify-content:center}.rewards-preview-steps{display:flex;gap:32px;justify-content:center;margin:40px 0;text-align:left}.preview-step{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:180px}.step-icon{font-size:40px;margin-bottom:12px}.step-content h4{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--text)}.step-content p{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.rewards-preview-cta{margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}.btn-large{padding:16px 48px;font-size:17px;border-radius:12px}.cta-subtext{margin-top:16px;font-size:14px;color:var(--text-secondary)}.cta-subtext a{color:var(--green);text-decoration:none;font-weight:500}.cta-subtext a:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;padding:32px;max-width:420px;width:100%;position:relative;animation:slideUp .3s ease;box-shadow:0 20px 60px #0003}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#94a3b8;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#64748b}.modal-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--green)}.modal-icon.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.modal-content h3{font-size:20px;font-weight:700;color:#1a1a2e;text-align:center;margin:0 0 8px}.modal-subtitle{font-size:14px;color:#64748b;text-align:center;margin:0 0 24px;line-height:1.5}.modal-subtitle strong{color:#334155}.modal-warning-box{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;margin-bottom:20px;color:#92400e;font-size:14px}.modal-warning-box svg{flex-shrink:0;color:#d97706}.modal-info-box{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-bottom:20px;color:#166534;font-size:14px}.modal-info-box svg{flex-shrink:0;color:var(--green)}.modal-error{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;color:#dc2626;font-size:13px}.modal-success{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:20px;color:#16a34a;font-size:13px}.modal-form{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.modal-form .form-group{display:flex;flex-direction:column;gap:6px}.modal-form label{font-size:13px;font-weight:600;color:#374151}.modal-form input{padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:15px;color:#1a1a2e;transition:all .2s}.modal-form input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #22c55e1a}.modal-form input::placeholder{color:#94a3b8}.modal-form input:disabled{background:#f8fafc;color:#94a3b8}.modal-actions{display:flex;gap:12px}.modal-btn{flex:1;padding:14px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.modal-btn:disabled{opacity:.6;cursor:not-allowed}.modal-btn.secondary{background:#f1f5f9;color:#475569}.modal-btn.secondary:hover:not(:disabled){background:#e2e8f0}.modal-btn.primary{background:var(--green);color:#fff}.modal-btn.primary:hover:not(:disabled){background:#16a34a}.modal-btn.danger{background:#ef4444;color:#fff}.modal-btn.danger:hover:not(:disabled){background:#dc2626}@media(max-width:480px){.modal-content{padding:24px 20px}.modal-actions{flex-direction:column-reverse}}.account-page{min-height:calc(100vh - 140px);padding:40px 0;background:#f5f5f5}.login-prompt{text-align:center;padding:80px 40px;background:#fff;border-radius:16px;max-width:500px;margin:0 auto;box-shadow:0 2px 8px #0000000f}.login-prompt-icon{font-size:64px;margin-bottom:24px}.login-prompt h2{font-size:28px;margin-bottom:12px;color:var(--text)}.login-prompt p{color:var(--text-secondary);margin-bottom:32px;font-size:16px}.login-prompt-buttons{display:flex;gap:16px;justify-content:center}.message-toast{position:fixed;top:100px;left:50%;transform:translate(-50%);padding:14px 24px;border-radius:10px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:16px;z-index:1000;box-shadow:0 4px 20px #00000026;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.message-toast.success{background:#d4edda;color:#155724}.message-toast.error{background:#f8d7da;color:#721c24}.message-toast button{background:none;border:none;font-size:20px;cursor:pointer;color:inherit;padding:0;line-height:1}.verification-banner{background:linear-gradient(135deg,#fff3cd,#ffeeba);border:1px solid #ffc107;border-radius:12px;padding:16px 20px;margin-bottom:24px;box-shadow:0 2px 8px #ffc10726}.verification-content{display:flex;align-items:center;gap:16px}.verification-icon{font-size:28px;flex-shrink:0}.verification-text{flex:1}.verification-text strong{display:block;font-size:15px;color:#856404;margin-bottom:4px}.verification-text p{margin:0;font-size:13px;color:#856404;opacity:.9}.verification-btn{background:#856404;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.verification-btn:hover:not(:disabled){background:#6d5303;transform:translateY(-1px)}.verification-btn:disabled{opacity:.7;cursor:not-allowed}.profile-header{display:flex;align-items:center;gap:20px;background:#fff;padding:24px;border-radius:16px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;flex-shrink:0}.profile-info{flex:1}.profile-name{font-size:24px;font-weight:700;margin:0 0 4px;color:var(--text)}.profile-email{color:var(--text-secondary);margin:0;font-size:15px}.account-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.account-section h2{font-size:18px;font-weight:600;margin:0 0 16px;color:var(--text)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{margin:0}.view-all-link{color:var(--green);font-size:14px;font-weight:500;text-decoration:none}.view-all-link:hover{text-decoration:underline}.stays-list{display:flex;flex-direction:column;gap:12px}.stay-card{background:#f8f9fa;border-radius:12px;padding:16px}.stay-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.stay-hotel{font-size:16px;font-weight:600;margin:0;color:var(--text)}.stay-status{font-size:12px;font-weight:500;padding:4px 10px;border-radius:20px;text-transform:capitalize}.stay-status.confirmed{background:#d4edda;color:#155724}.stay-status.completed{background:#cce5ff;color:#004085}.stay-status.cancelled{background:#f8d7da;color:#721c24}.stay-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.stay-dates{color:var(--text-secondary);font-size:14px}.stay-price{font-weight:600;color:var(--text)}.stay-id{font-size:12px;color:var(--text-secondary)}.stay-card-modern{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #00000014;border:1px solid #eee}.stay-card-modern.cancelled{opacity:.7}.stay-image{position:relative;width:100%;height:280px;background:linear-gradient(135deg,#f0f0f0,#e8e8e8)}.stay-image img{width:100%;height:100%;object-fit:cover}.stay-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,#f5f5f5,#e8e8e8)}.stay-status-badge{position:absolute;top:10px;right:10px;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;color:#fff}.stay-status-badge.confirmed{background:#34c759}.stay-status-badge.completed{background:#007aff}.stay-status-badge.cancelled{background:#ff3b30}.stay-status-badge.pending{background:#ff9500}.stay-content{padding:14px 16px 16px}.stay-hotel-name{font-size:16px;font-weight:600;margin:0 0 10px;color:var(--text);line-height:1.3}.stay-dates-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.stay-date{font-size:13px;color:var(--text-secondary)}.stay-arrow{color:var(--text-secondary);font-size:12px}.stay-nights{font-size:12px;color:var(--green);font-weight:500;margin-left:auto;background:#1eaa521a;padding:2px 8px;border-radius:10px}.stay-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.stay-price{font-size:16px;font-weight:700;color:var(--text)}.stay-price.cancelled{text-decoration:line-through;color:var(--text-secondary)}.stay-confirmation{font-size:12px;color:var(--text-secondary);font-family:monospace}.view-all-btn{width:100%;margin-top:8px}.stay-address{display:flex;align-items:flex-start;gap:6px;margin-bottom:10px}.address-icon{font-size:12px;flex-shrink:0}.address-text{font-size:12px;color:var(--text-secondary);line-height:1.4}.stay-cancellation{display:flex;align-items:flex-start;gap:6px;margin-top:12px;padding:10px 12px;border-radius:8px;font-size:12px}.stay-cancellation.free{background:#34c7591a}.stay-cancellation.fee{background:#ff95001a}.stay-cancellation .cancel-icon{flex-shrink:0}.stay-cancellation.free .cancel-icon{color:#34c759}.stay-cancellation.free .cancel-text{color:#155724}.stay-cancellation.fee .cancel-text{color:#856404}.empty-state{text-align:center;padding:40px 20px}.empty-icon{font-size:48px;display:block;margin-bottom:12px}.empty-state p{font-weight:500;color:var(--text);margin:0 0 8px}.empty-hint{color:var(--text-secondary);font-size:14px}.loading-state{text-align:center;padding:40px;color:var(--text-secondary)}.rewards-card{display:flex;align-items:center;gap:24px;background:#f8f9fa;border-radius:12px;padding:20px}.rewards-points{text-align:center;min-width:80px}.points-number{font-size:36px;font-weight:700;color:var(--green);display:block}.points-label{font-size:13px;color:var(--text-secondary)}.rewards-divider{width:1px;height:60px;background:#e0e0e0}.rewards-info{flex:1}.rewards-info h3{font-size:16px;margin:0 0 6px;color:var(--text)}.rewards-info p{font-size:14px;color:var(--text-secondary);margin:0 0 12px}.rewards-progress{margin-top:12px}.progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:6px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--green),var(--gold));border-radius:4px;transition:width .3s ease}.progress-text{font-size:12px;color:var(--text-secondary)}.rewards-preview-section .section-header{margin-bottom:16px}.rewards-card-modern{display:block;background:linear-gradient(135deg,#2c3e50,#1a252f);border-radius:16px;padding:24px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.rewards-card-modern:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.rewards-moons-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:280px;margin:0 auto 24px}.moon-preview{font-size:28px;text-align:center;line-height:1}.rewards-info-modern{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:16px;padding:16px;background:#ffffff0f;border-radius:12px}.rewards-stat{text-align:center;flex:1}.rewards-stat-number{display:block;font-size:24px;font-weight:700;color:var(--gold);margin-bottom:4px}.rewards-stat-number.eligible{color:#34c759}.rewards-stat-number.pending{color:#ff9500}.rewards-stat-label{font-size:11px;color:#aab2bd;text-transform:uppercase;letter-spacing:.5px}.rewards-stat-divider{width:1px;height:36px;background:#ffffff26}.rewards-value-row{display:flex;justify-content:space-between;align-items:center;background:#ffffff14;border-radius:10px;padding:12px 16px;margin-bottom:16px}.rewards-value-label{font-size:13px;color:#aab2bd}.rewards-value-amount{font-size:18px;font-weight:700;color:var(--gold)}.rewards-cta{display:flex;justify-content:center;align-items:center;gap:6px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:#aab2bd}.rewards-cta .arrow{font-size:18px;color:var(--gold)}.settings-list{display:flex;flex-direction:column}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f0f0f0;background:none;border-left:none;border-right:none;border-top:none;cursor:pointer;text-align:left;width:100%;font-size:15px;color:inherit;text-decoration:none;transition:background .15s}.settings-item:last-child{border-bottom:none}.settings-item:hover:not(.static):not(:disabled){background:#f8f9fa;margin:0 -24px;padding:16px 24px;width:calc(100% + 48px)}.settings-item:disabled{cursor:default}.settings-item.static{cursor:default}.settings-label{font-weight:500;color:var(--text)}.settings-value{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.arrow{font-size:20px;color:#ccc}.preferences-form{display:flex;flex-direction:column;gap:20px}.form-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.form-row label{font-weight:500;color:var(--text)}.form-row select{padding:10px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;min-width:180px;background:#fff;cursor:pointer}.form-row select:focus{outline:none;border-color:var(--green)}.save-btn{align-self:flex-start;margin-top:8px}.sign-out-btn{width:100%;margin-top:10px;margin-bottom:40px}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:100%;box-shadow:0 10px 40px #0003}.modal-content h3{font-size:22px;margin:0 0 8px;color:var(--text)}.modal-content p{color:var(--text-secondary);margin:0 0 24px;font-size:14px}.modal-content form{display:flex;flex-direction:column;gap:16px}.modal-content input{padding:14px 16px;border:1px solid #e0e0e0;border-radius:10px;font-size:15px}.modal-content input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #009e601a}.modal-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.site-settings-section{margin-bottom:24px}.settings-flag{width:24px;height:16px;object-fit:cover;border-radius:2px;margin-right:10px;vertical-align:middle}.settings-label{display:flex;align-items:center}.language-modal{max-height:70vh;overflow-y:auto}.language-list{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto}.language-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:none;border:none;border-radius:10px;cursor:pointer;font-size:15px;color:var(--text);text-align:left;width:100%;transition:background .15s}.language-item:hover{background:#f5f5f5}.language-item.selected{background:#009e601a;color:var(--green);font-weight:500}.language-flag{width:28px;height:20px;object-fit:cover;border-radius:3px;border:1px solid rgba(0,0,0,.1)}.language-item .check{margin-left:auto;color:var(--green);font-weight:700}.currency-modal{max-height:70vh;overflow-y:auto}.currency-list{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto}.currency-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:none;border:none;border-radius:10px;cursor:pointer;font-size:15px;color:var(--text);text-align:left;width:100%;transition:background .15s}.currency-item:hover{background:#f5f5f5}.currency-item.selected{background:#009e601a;color:var(--green);font-weight:500}.currency-code{font-weight:600;min-width:40px}.currency-name{color:var(--text-secondary)}.currency-item.selected .currency-name{color:var(--green)}.currency-item .check{margin-left:auto;color:var(--green);font-weight:700}@media(max-width:768px){.account-page{padding:20px 0}.container{padding:0 16px}.profile-header{flex-direction:column;text-align:center;padding:20px}.profile-name{font-size:20px}.account-section{padding:20px;margin-bottom:16px}.rewards-card-modern{padding:20px}.rewards-moons-preview{gap:8px;max-width:240px}.moon-preview{font-size:24px}.rewards-info-modern{gap:12px;padding:12px}.rewards-stat-number{font-size:20px}.rewards-stat-label{font-size:10px}.rewards-card{flex-direction:column;text-align:center}.rewards-divider{width:100%;height:1px}.stay-card-modern{margin-bottom:12px}.stay-image{height:160px}.form-row{flex-direction:column;align-items:stretch}.form-row select{min-width:100%}.save-btn{align-self:stretch}.login-prompt{padding:40px 24px}.login-prompt-icon{font-size:48px}.login-prompt h2{font-size:22px}.login-prompt-buttons{flex-direction:column}.modal-content{padding:24px;margin:16px;max-height:calc(100vh - 32px)}.modal-buttons{flex-direction:column-reverse}.modal-buttons .btn{width:100%}.settings-item{padding:14px 0}.settings-value{font-size:14px;max-width:200px;overflow:hidden;text-overflow:ellipsis}}.auth-page{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.auth-container{width:100%;max-width:440px}.auth-card{background:var(--white);border-radius:16px;padding:40px;box-shadow:0 4px 24px #00000014}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{font-size:28px;font-weight:700;color:var(--black);margin:0 0 8px}.auth-header p{color:var(--grey);margin:0;font-size:15px}.login-method-toggle{display:flex;gap:0;margin-bottom:24px;background:#f0f0f0;border-radius:10px;padding:4px}.toggle-btn{flex:1;padding:10px 16px;border:none;background:transparent;font-size:14px;font-weight:500;color:var(--grey);cursor:pointer;border-radius:8px;transition:all .2s}.toggle-btn.active{background:var(--white);color:var(--black);box-shadow:0 2px 8px #0000001a}.toggle-btn:hover:not(.active){color:var(--black)}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--black)}.form-group input{padding:14px 16px;border:1px solid #e0e0e0;border-radius:10px;font-size:15px;transition:border-color .2s,box-shadow .2s;background:var(--white)}.form-group input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #009e601a}.form-group input::placeholder{color:#aaa}.auth-btn{margin-top:8px;padding:14px 24px;font-size:16px;font-weight:600}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.referral-toggle{background:none;border:none;color:#009e60;font-size:14px;cursor:pointer;padding:8px 0;text-decoration:underline;margin-top:4px}.referral-toggle:hover{color:#007a4a}.referral-group{border-top:1px solid #eee;padding-top:16px;margin-top:8px}.referral-group input{text-transform:uppercase;letter-spacing:1px}.optional-label{color:#999;font-weight:400;font-size:13px}.error-message{background:#fff5f5;color:#c53030;padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:20px;border:1px solid #feb2b2}.divider{display:flex;align-items:center;margin:24px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.divider span{padding:0 16px;color:var(--grey);font-size:14px}.google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 24px;font-size:15px;font-weight:500;border:1px solid #e0e0e0;background:var(--white);color:var(--black)}.google-btn:hover{background:#f8f9fa;border-color:#d0d0d0}.google-btn:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;color:var(--grey);font-size:14px}.auth-footer a{color:var(--green);font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.forgot-password{text-align:right;margin-top:-12px}.forgot-password a{color:var(--green);font-size:14px;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.forgot-password-link{text-align:right;margin-top:-12px}.link-button{background:none;border:none;color:var(--green);font-size:14px;cursor:pointer;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}.input-hint{font-size:12px;color:var(--grey);margin-top:4px}.resend-link{text-align:center;width:100%;margin-top:8px}.phone-input-row{display:flex;gap:8px}.country-code-select{width:110px;flex-shrink:0;padding:14px 8px;border:1px solid #e0e0e0;border-radius:10px;font-size:15px;background:var(--white);cursor:pointer;transition:border-color .2s,box-shadow .2s}.country-code-select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #009e601a}.phone-input-row input{flex:1}.reset-message{padding:12px 16px;border-radius:10px;font-size:14px;margin-bottom:16px}.reset-message.success{background:#f0fff4;color:#22543d;border:1px solid #9ae6b4}.reset-message.error{background:#fff5f5;color:#c53030;border:1px solid #feb2b2}.auth-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.auth-page .modal-content{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:100%;position:relative;box-shadow:0 10px 40px #0003}.auth-page .modal-content h2{font-size:22px;margin:0 0 8px;color:var(--black)}.auth-page .modal-content>p{color:var(--grey);margin:0 0 24px;font-size:14px}.auth-page .modal-content form{display:flex;flex-direction:column;gap:16px}.auth-page .modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--grey);padding:0;line-height:1}.auth-page .modal-close:hover{color:var(--black)}.auth-status{text-align:center;padding:24px 0}.auth-status.processing{color:var(--grey)}.auth-status .spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:var(--green);border-radius:50%;margin:0 auto 16px;animation:spin 1s linear infinite}.auth-status .status-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px;font-weight:700}.auth-status.success .status-icon{background:#f0fff4;color:var(--green);border:2px solid var(--green)}.auth-status.error .status-icon{background:#fff5f5;color:#c53030;border:2px solid #c53030}.auth-status p{color:var(--black);font-size:16px;margin-bottom:24px;line-height:1.5}.auth-status .btn{min-width:150px}.form-description{color:var(--grey);font-size:14px;margin-bottom:20px;text-align:center}@media(max-width:480px){.auth-page{padding:40px 16px 20px;align-items:flex-start}.auth-card{padding:32px 24px;border-radius:12px}.auth-header h1{font-size:24px}.auth-header p{font-size:14px}.form-group input{padding:12px 14px}.auth-btn,.google-btn{padding:12px 20px}}.support-page{min-height:calc(100vh - 200px);padding:60px 0;background:#f5f5f5}.support-page .container{max-width:900px;margin:0 auto;padding:0 20px}.support-header{text-align:center;margin-bottom:48px}.support-header h1{font-size:32px;font-weight:700;color:#1a1a1a;margin:0 0 12px}.support-header p{font-size:16px;color:#666;margin:0}.support-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:60px}.support-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 8px #0000000f;transition:transform .2s,box-shadow .2s}.support-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.support-card.urgent{border:2px solid #FF3B30;background:linear-gradient(135deg,#fff5f5,#fff)}.support-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.support-icon.email{background:#e6f7ef;color:#009e60}.support-icon.emergency{background:#ffebea;color:#ff3b30}.support-icon.general{background:#e8f4fd;color:#007aff}.support-icon.business{background:#f5f0ff;color:#8b5cf6}.support-card h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.support-card p{font-size:14px;color:#666;line-height:1.5;margin:0 0 16px}.contact-link{display:inline-flex;align-items:center;font-size:15px;font-weight:600;color:#009e60;text-decoration:none;transition:color .2s}.contact-link:hover{color:#007a4a}.contact-link.phone{font-size:18px;letter-spacing:.5px}.support-card.urgent .contact-link.phone{color:#ff3b30}.support-card.urgent .contact-link.phone:hover{color:#cc2f26}.via-note{display:block;font-size:12px;color:#999;margin-top:6px;font-style:italic}.support-footer{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000f}.support-footer h2{font-size:22px;font-weight:700;color:#1a1a1a;margin:0 0 24px;text-align:center}.faq-list{display:flex;flex-direction:column;gap:20px}.faq-item{padding-bottom:20px;border-bottom:1px solid #eee}.faq-item:last-child{padding-bottom:0;border-bottom:none}.faq-item h4{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.faq-item p{font-size:14px;color:#666;line-height:1.6;margin:0}@media(max-width:768px){.support-page{padding:40px 0}.support-header h1{font-size:26px}.support-cards{grid-template-columns:1fr;gap:16px}.support-card,.support-footer{padding:24px}.support-footer h2{font-size:20px}}.terms-page{padding:40px 0 80px;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.terms-header{text-align:center;margin-bottom:32px}.terms-header h1{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:8px}.last-updated{color:#64748b;font-size:.95rem}.terms-intro{background:#fff;padding:24px;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px}.terms-intro p{color:#475569;font-size:1.1rem;line-height:1.7;margin:0}.terms-section{background:#fff;border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.section-emoji{font-size:1.8rem}.section-header h2{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.terms-section h3{font-size:1.15rem;font-weight:600;color:#334155;margin:20px 0 12px}.terms-section h3:first-of-type{margin-top:0}.terms-section p{color:#475569;font-size:1rem;line-height:1.7;margin-bottom:16px}.terms-section ul{margin:0 0 16px;padding-left:24px}.terms-section li{color:#475569;font-size:1rem;line-height:1.7;margin-bottom:8px}.terms-section li strong{color:#334155}.rewards-section{border-left:4px solid #10b981}.contact-info{display:grid;gap:16px;margin-top:20px}.contact-item{display:flex;flex-direction:column;gap:4px;padding:16px;background:#f8fafc;border-radius:12px}.contact-label{font-size:.9rem;font-weight:600;color:#64748b}.contact-value{font-size:1.1rem;color:#1e293b;font-weight:500}.via-note{color:#94a3b8;font-size:.9rem;font-weight:400}.terms-footer{text-align:center;margin-top:48px;padding-top:24px;border-top:1px solid #e2e8f0}.terms-footer p{color:#94a3b8;font-size:.95rem;margin:0}.voucher-notice{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;padding:20px 24px;margin:24px 0}.voucher-notice h3{color:#92400e;font-size:1.15rem;margin:0 0 12px}.voucher-notice p{color:#78350f;font-size:1rem;line-height:1.6;margin:0 0 16px}.voucher-notice ul{margin:0;padding-left:20px}.voucher-notice li{color:#78350f;font-size:.95rem;margin-bottom:8px}.voucher-notice li:last-child{margin-bottom:0}@media(max-width:768px){.terms-page{padding:24px 0 60px}.terms-header h1{font-size:2rem}.terms-section{padding:20px}.section-header h2{font-size:1.3rem}.section-emoji{font-size:1.5rem}.contact-item{padding:14px}.contact-value{font-size:1rem}}.privacy-page{padding:40px 0 80px;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.privacy-header{text-align:center;margin-bottom:32px}.privacy-header h1{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:8px}.privacy-page .last-updated{color:#64748b;font-size:.95rem}.privacy-intro{background:#fff;padding:24px;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px}.privacy-intro p{color:#475569;font-size:1.1rem;line-height:1.7;margin:0}.privacy-section{background:#fff;border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.privacy-page .section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.privacy-page .section-emoji{font-size:1.8rem}.privacy-page .section-header h2{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.privacy-section h3{font-size:1.15rem;font-weight:600;color:#334155;margin:20px 0 12px}.privacy-section h3:first-of-type{margin-top:0}.privacy-section p{color:#475569;font-size:1rem;line-height:1.7;margin-bottom:16px}.privacy-section ul{margin:0 0 16px;padding-left:24px}.privacy-section li{color:#475569;font-size:1rem;line-height:1.7;margin-bottom:8px}.privacy-section li strong{color:#334155}.legal-basis-note{font-size:.9rem;color:#64748b;margin-top:8px;padding:12px 16px;background:#f8fafc;border-radius:8px;border-left:3px solid #94a3b8}.highlight-box{background:linear-gradient(135deg,#ecfdf5,#d1fae5);padding:16px 20px;border-radius:12px;border-left:4px solid #10b981}.privacy-page .contact-info{display:grid;gap:16px;margin-top:20px}.privacy-page .contact-item{display:flex;flex-direction:column;gap:4px;padding:16px;background:#f8fafc;border-radius:12px}.privacy-page .contact-label{font-size:.9rem;font-weight:600;color:#64748b}.privacy-page .contact-value{font-size:1.1rem;color:#1e293b;font-weight:500}.privacy-footer{text-align:center;margin-top:48px;padding-top:24px;border-top:1px solid #e2e8f0}.privacy-footer p{color:#94a3b8;font-size:.95rem;margin:0}@media(max-width:768px){.privacy-page{padding:24px 0 60px}.privacy-header h1{font-size:2rem}.privacy-section{padding:20px}.privacy-page .section-header h2{font-size:1.3rem}.privacy-page .section-emoji{font-size:1.5rem}.privacy-page .contact-item{padding:14px}.privacy-page .contact-value{font-size:1rem}}.cookies-page{padding:40px 0 80px;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.cookies-header{text-align:center;margin-bottom:32px}.cookies-header h1{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:8px}.cookies-page .last-updated{color:#64748b;font-size:.95rem}.cookies-intro{background:#fff;padding:24px;border-radius:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px}.cookies-intro p{color:#475569;font-size:1.1rem;line-height:1.7;margin:0}.cookies-section{background:#fff;border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.cookies-page .section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.cookies-page .section-emoji{font-size:1.8rem}.cookies-page .section-header h2{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.cookies-section h3{font-size:1.15rem;font-weight:600;color:#334155;margin:20px 0 12px}.cookies-section h3:first-of-type{margin-top:0}.cookies-section p{color:#475569;font-size:1rem;line-height:1.7;margin-bottom:16px}.cookies-section ul{margin:0 0 16px;padding-left:24px}.cookies-section li{color:#475569;font-size:1rem;line-height:1.7;margin-bottom:8px}.cookies-section li strong{color:#334155}.cookies-section a{color:#3b82f6;text-decoration:none;transition:color .2s}.cookies-section a:hover{color:#2563eb;text-decoration:underline}.cookie-duration-table{background:#f8fafc;border-radius:12px;padding:16px;margin-top:16px}.cookie-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e2e8f0}.cookie-row:last-child{border-bottom:none}.cookie-name{font-weight:500;color:#334155}.cookie-duration{color:#64748b;font-size:.95rem}@media(max-width:768px){.cookies-page{padding:24px 0 60px}.cookies-header h1{font-size:2rem}.cookies-section{padding:20px}.cookies-page .section-header h2{font-size:1.3rem}.cookie-row{flex-direction:column;align-items:flex-start;gap:4px}}.jobs-page{min-height:100vh;background:#f8f9fa}.jobs-hero{background:linear-gradient(135deg,#009e60,#00b36e);padding:60px 0;text-align:center;color:#fff}.jobs-hero h1{font-size:2.5rem;font-weight:700;margin:0 0 12px}.jobs-hero p{font-size:1.1rem;opacity:.9;margin:0}.jobs-content{padding:40px 0 80px}.jobs-content .container{max-width:1200px;margin:0 auto;padding:0 24px}.jobs-search-bar{display:flex;align-items:center;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 2px 8px #0000000f;margin-bottom:32px;gap:12px}.jobs-search-bar .search-icon{color:#666;flex-shrink:0}.jobs-search-bar input{flex:1;border:none;outline:none;font-size:16px;color:#1a1a1a}.jobs-search-bar input::placeholder{color:#999}.jobs-layout{display:grid;grid-template-columns:400px 1fr;gap:24px;align-items:start}.jobs-list{display:flex;flex-direction:column;gap:16px}.jobs-count{font-size:14px;color:#666;font-weight:500}.job-card{background:#fff;border-radius:12px;padding:20px;cursor:pointer;transition:all .2s ease;border:2px solid transparent;box-shadow:0 2px 8px #0000000a}.job-card:hover{border-color:#e0e0e0;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.job-card.active{border-color:#009e60;box-shadow:0 4px 12px #009e6026}.job-card h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.job-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}.job-meta span{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.job-preview{font-size:14px;color:#555;line-height:1.5;margin:0 0 16px}.job-footer{display:flex;justify-content:space-between;align-items:center}.posted-date{font-size:12px;color:#999}.job-footer .chevron{color:#009e60;opacity:0;transition:opacity .2s}.job-card:hover .chevron,.job-card.active .chevron{opacity:1}.no-jobs{background:#fff;border-radius:12px;padding:40px;text-align:center}.no-jobs p{color:#666;margin:0}.job-details{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000a;position:sticky;top:100px;overflow:hidden}.job-details-header{padding:32px;border-bottom:1px solid #eee}.job-details-header h2{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 16px}.job-details-meta{display:flex;flex-wrap:wrap;gap:20px}.job-details-meta span{display:flex;align-items:center;gap:8px;font-size:14px;color:#555}.job-details-body{padding:32px}.job-details-body section{margin-bottom:28px}.job-details-body section:last-child{margin-bottom:0}.job-details-body h4{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.job-details-body p{font-size:15px;color:#555;line-height:1.6;margin:0}.job-details-body ul{margin:0;padding-left:20px}.job-details-body li{font-size:15px;color:#555;line-height:1.6;margin-bottom:8px}.job-details-body li:last-child{margin-bottom:0}.apply-section{background:#f8f9fa;margin:0 -32px -32px;padding:24px 32px 32px;border-top:1px solid #eee}.apply-email{display:inline-flex;align-items:center;gap:10px;background:#009e60;color:#fff;padding:14px 24px;border-radius:10px;font-size:16px;font-weight:600;text-decoration:none;margin-top:12px;transition:background .2s,transform .2s}.apply-email:hover{background:#008050;transform:translateY(-2px)}.no-job-selected{padding:80px 32px;text-align:center}.no-job-selected p{color:#999;margin:0}@media(max-width:900px){.jobs-layout{grid-template-columns:1fr}.job-details{position:static}.jobs-hero h1{font-size:2rem}}@media(max-width:480px){.jobs-hero{padding:40px 0}.jobs-hero h1{font-size:1.75rem}.job-meta{flex-direction:column;gap:8px}.job-details-meta{flex-direction:column;gap:12px}.job-details-header,.job-details-body{padding:24px}.apply-section{margin:0 -24px -24px;padding:20px 24px 24px}}.about-page{min-height:100vh;background:#f8f9fa}.about-hero{background:linear-gradient(135deg,#009e60,#00b36e);padding:60px 0;text-align:center;color:#fff}.about-hero h1{font-size:2.5rem;font-weight:700;margin:0 0 12px}.about-hero p{font-size:1.1rem;opacity:.9;margin:0}.about-content{padding:60px 0 80px}.about-content .container{max-width:900px;margin:0 auto;padding:0 24px}.about-section{margin-bottom:60px}.about-section:last-child{margin-bottom:0}.about-section h2{font-size:26px;font-weight:600;color:#2d3748;margin:0 0 24px;letter-spacing:-.3px}.mission-section{background:#fff;border-radius:16px;padding:40px;box-shadow:0 2px 8px #0000000a}.mission-text{font-size:17px;color:#444;line-height:1.7;margin:0 0 20px}.mission-text:last-child{margin-bottom:0}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.value-card{background:#fff;border-radius:16px;padding:32px 24px;text-align:center;box-shadow:0 2px 8px #0000000a}.value-icon{width:60px;height:60px;background:#e6f7ef;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#009e60}.value-card h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.value-card p{font-size:15px;color:#666;line-height:1.5;margin:0}.location-card{background:#fff;border-radius:16px;padding:40px;display:flex;align-items:flex-start;gap:24px;box-shadow:0 2px 8px #0000000a}.about-location-icon{width:64px;height:64px;background:#e6f7ef;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#009e60;flex-shrink:0}.location-content h3{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.location-content p{font-size:16px;color:#555;line-height:1.6;margin:0}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.how-step{background:#fff;border-radius:16px;padding:32px 24px;text-align:center;box-shadow:0 2px 8px #0000000a}.step-number{width:48px;height:48px;background:#009e60;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;margin:0 auto 20px}.how-step h4{font-size:17px;font-weight:600;color:#1a1a1a;margin:0 0 10px}.how-step p{font-size:14px;color:#666;line-height:1.5;margin:0}.contact-section{text-align:center;background:#fff;border-radius:16px;padding:48px 40px;box-shadow:0 2px 8px #0000000a}.contact-section p{font-size:16px;color:#666;margin:0 0 24px}.contact-btn{display:inline-block;background:#009e60;color:#fff;padding:14px 32px;border-radius:10px;font-size:16px;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.contact-btn:hover{background:#008050;transform:translateY(-2px)}@media(max-width:768px){.about-hero h1{font-size:2rem}.values-grid,.how-steps{grid-template-columns:1fr}.location-card{flex-direction:column;text-align:center}.about-location-icon{margin:0 auto}.mission-section,.location-card,.contact-section{padding:32px 24px}}@media(max-width:480px){.about-hero{padding:40px 0}.about-hero h1{font-size:1.75rem}.about-content{padding:40px 0 60px}.about-section{margin-bottom:40px}.about-section h2{font-size:22px}}.partnerships-page{min-height:100vh;background:#f8f9fa}.partnerships-hero{background:linear-gradient(135deg,#009e60,#00b36e);padding:60px 0;text-align:center;color:#fff}.partnerships-hero h1{font-size:2.5rem;font-weight:700;margin:0 0 12px}.partnerships-hero p{font-size:1.1rem;opacity:.9;margin:0}.partnerships-content{padding:60px 0 80px}.partnerships-content .container{max-width:1000px;margin:0 auto;padding:0 24px}.partnerships-intro{background:#fff;border-radius:16px;padding:32px 40px;margin-bottom:48px;box-shadow:0 2px 8px #0000000a}.partnerships-intro p{font-size:17px;color:#444;line-height:1.7;margin:0;text-align:center}.partnerships-section{margin-bottom:48px}.partnerships-section:last-child{margin-bottom:0}.partnerships-section h2{font-size:26px;font-weight:600;color:#2d3748;margin:0 0 24px;letter-spacing:-.3px;text-align:center}.partnerships-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.partnership-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000a;transition:transform .2s,box-shadow .2s}.partnership-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.partnership-icon{width:56px;height:56px;background:#e6f7ef;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#009e60;margin-bottom:20px}.partnership-card h3{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.partnership-card p{font-size:15px;color:#666;line-height:1.6;margin:0}.why-partner{background:#fff;border-radius:16px;padding:48px;box-shadow:0 2px 8px #0000000a}.why-partner h2{margin-bottom:32px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}.why-item{display:flex;flex-direction:column;gap:8px}.why-number{font-size:32px;font-weight:700;color:#009e60}.why-label{font-size:15px;color:#666}.contact-section{text-align:center}.contact-intro{font-size:16px;color:#555;max-width:500px;margin:0 auto 32px}.contact-cards{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.contact-card{display:flex;align-items:center;gap:16px;background:#fff;border-radius:12px;padding:20px 28px;text-decoration:none;box-shadow:0 2px 8px #0000000a;transition:transform .2s,box-shadow .2s;border:2px solid transparent}.contact-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:#009e60}.contact-icon{width:48px;height:48px;background:#e6f7ef;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#009e60;flex-shrink:0}.contact-info{display:flex;flex-direction:column;text-align:left}.contact-label{font-size:13px;color:#999;margin-bottom:2px}.contact-value{font-size:16px;font-weight:600;color:#1a1a1a}@media(max-width:768px){.partnerships-hero h1{font-size:2rem}.partnerships-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr;gap:24px}.why-partner{padding:32px 24px}.partnerships-intro{padding:24px}.contact-cards{flex-direction:column;align-items:center}.contact-card{width:100%;max-width:320px}}@media(max-width:480px){.partnerships-hero{padding:40px 0}.partnerships-hero h1{font-size:1.75rem}.partnerships-content{padding:40px 0 60px}.partnerships-section h2{font-size:22px}.partnership-card{padding:24px}}.explore-index{min-height:100vh;background:#f9fafb}.explore-index-hero{background:linear-gradient(135deg,#009e60,#007a4a);padding:60px 20px;text-align:center}.explore-index-hero-content h1{font-size:2.5rem;font-weight:700;color:#fff;margin:0 0 12px}.explore-index-hero-content p{font-size:1.1rem;color:#ffffffe6;max-width:600px;margin:0 auto;line-height:1.6}.explore-index-content{padding:60px 20px 80px;max-width:1200px;margin:0 auto}.explore-continent-section{margin-bottom:40px}.explore-continent-section h2{font-size:1.5rem;font-weight:600;color:#111;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #009e60;display:inline-block}.explore-destinations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.explore-destination-card{background:#fff;border-radius:12px;text-decoration:none;transition:all .2s ease;border:1px solid #e5e7eb;overflow:hidden}.explore-destination-card:hover{box-shadow:0 4px 12px #0000001a;border-color:#009e60;transform:translateY(-2px)}.destination-card-content{display:flex;align-items:center;padding:16px;gap:12px}.destination-icon{color:#009e60;flex-shrink:0}.destination-info{flex:1;display:flex;flex-direction:column;gap:2px}.destination-name{font-size:1rem;font-weight:600;color:#111}.destination-country{font-size:.85rem;color:#6b7280}.destination-arrow{color:#9ca3af;flex-shrink:0;transition:all .2s ease}.explore-destination-card:hover .destination-arrow{color:#009e60;transform:translate(4px)}@media(max-width:768px){.explore-index-hero{padding:40px 16px}.explore-index-hero-content h1{font-size:1.8rem}.explore-index-hero-content p{font-size:1rem}.explore-index-content{padding:32px 16px 60px}.explore-continent-section{margin-bottom:32px}.explore-continent-section h2{font-size:1.25rem;margin-bottom:16px}.explore-destinations-grid{grid-template-columns:1fr;gap:8px}.destination-card-content{padding:14px 16px}}.explore-page{min-height:100vh}.explore-hero{position:relative;height:550px;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:center}@media(min-width:1024px){.explore-hero{height:600px}}.explore-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000b3,#0003,#0000001a)}.explore-hero-content{position:relative;z-index:1;text-align:center;padding:48px 24px;max-width:800px}.explore-breadcrumb{display:inline-block;font-size:14px;color:#ffffffe6;margin-bottom:12px;font-weight:500}.explore-hero-content h1{font-size:56px;font-weight:700;color:#fff;margin-bottom:24px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.explore-search-btn{display:inline-flex;align-items:center;gap:8px;background:#009e60;color:#fff;font-size:16px;font-weight:600;padding:14px 28px;border-radius:30px;border:none;cursor:pointer;transition:background .2s,transform .1s}.explore-search-btn:hover{background:#008050;transform:translateY(-2px)}.explore-content{padding:48px 24px 80px;max-width:900px}.explore-quick-info{display:flex;gap:24px;padding:24px;background:#f9fafb;border-radius:16px;margin-top:16px;margin-bottom:48px}.quick-info-item{flex:1;display:flex;align-items:flex-start;gap:12px}.quick-info-item svg{color:#009e60;flex-shrink:0;margin-top:2px}.quick-info-item>div{display:flex;flex-direction:column;gap:2px}.quick-info-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.quick-info-value{font-size:14px;color:#333;font-weight:500}.explore-section{margin-bottom:48px}.explore-section h2{font-size:24px;font-weight:700;color:#111;margin-bottom:16px}.explore-description{font-size:17px;line-height:1.7;color:#444}.explore-highlights{display:flex;flex-wrap:wrap;gap:12px}.highlight-tag{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:24px;font-size:14px;font-weight:500;color:#333}.highlight-tag svg{color:#009e60}.explore-attractions{display:flex;flex-direction:column;gap:20px}.attraction-card{background:#f9fafb;border-radius:12px;padding:20px 24px;border-left:4px solid #009e60}.attraction-card h3{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600;color:#111;margin-bottom:8px}.attraction-card h3 svg{color:#009e60;flex-shrink:0}.attraction-card p{font-size:15px;line-height:1.6;color:#555;margin:0}.cost-breakdown-intro{font-size:15px;color:#666;margin-bottom:20px;line-height:1.5}.cost-breakdown-table{background:#f9fafb;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.cost-breakdown-header{display:flex;justify-content:space-between;padding:14px 20px;background:#009e60;color:#fff;font-weight:600;font-size:14px}.cost-breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid #e5e7eb;font-size:15px}.cost-breakdown-row:last-child{border-bottom:none}.cost-breakdown-row:nth-child(2n){background:#fff}.cost-breakdown-row span:first-child{color:#333}.cost-price{font-weight:600;color:#009e60;white-space:nowrap}.explore-cta{text-align:center;padding:48px;background:linear-gradient(135deg,#e6f7ef,#d1f0e3);border-radius:20px;margin-bottom:24px}.explore-cta h2{font-size:28px;font-weight:700;color:#111;margin-bottom:8px}.explore-cta p{font-size:16px;color:#555;margin-bottom:24px}.explore-cta-btn{display:inline-flex;align-items:center;gap:8px;background:#009e60;color:#fff;font-size:16px;font-weight:600;padding:14px 32px;border-radius:30px;border:none;cursor:pointer;transition:background .2s,transform .1s}.explore-cta-btn:hover{background:#008050;transform:translateY(-2px)}.viator-section{margin-top:48px}.viator-subtitle{font-size:15px;color:#666;margin-bottom:24px}.viator-widget{min-height:300px;border-radius:16px;overflow:hidden}.explore-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:48px 24px}.explore-not-found h1{font-size:32px;font-weight:700;color:#111;margin-bottom:12px}.explore-not-found p{font-size:16px;color:#666;margin-bottom:24px}.back-home-btn{display:inline-block;background:#009e60;color:#fff;font-size:14px;font-weight:600;padding:12px 24px;border-radius:8px;transition:background .2s}.back-home-btn:hover{background:#008050}.top-hotels-intro{color:#555;font-size:16px;line-height:1.6;margin-bottom:24px}.top-hotels-list{display:flex;flex-direction:column;gap:20px}.top-hotel-item{display:flex;gap:20px;background:#fafafa;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid #eee}.top-hotel-item:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.top-hotel-image{position:relative;width:180px;min-height:140px;flex-shrink:0}.top-hotel-image img{width:100%;height:100%;object-fit:cover}.top-hotel-rank{position:absolute;top:12px;left:12px;background:#009e60;color:#fff;font-weight:700;font-size:12px;padding:4px 10px;border-radius:20px}.top-hotel-details{display:flex;flex-direction:column;justify-content:center;padding:16px 20px 16px 0;flex:1}.top-hotel-details h3{font-size:17px;font-weight:600;color:#1a1a1a;margin:0 0 6px;line-height:1.3}.top-hotel-address{display:flex;align-items:center;gap:6px;font-size:13px;color:#777;margin:0 0 10px}.top-hotel-meta{display:flex;align-items:center;gap:16px;margin-bottom:12px}.top-hotel-rating{display:inline-flex;align-items:center;gap:4px;background:#009e60;color:#fff;font-size:13px;font-weight:600;padding:3px 8px;border-radius:6px}.top-hotel-stars{font-size:13px;color:#f5a623;font-weight:500}.top-hotel-cta{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#009e60}@media(max-width:768px){.explore-hero{height:350px}.explore-hero-content h1{font-size:36px}.explore-quick-info{flex-direction:column;gap:16px}.explore-content{padding:32px 20px 60px}.explore-section h2{font-size:20px}.explore-cta{padding:32px 24px}.explore-cta h2{font-size:22px}.cost-breakdown-header,.cost-breakdown-row{padding:12px 16px;font-size:14px}.top-hotel-item{flex-direction:column}.top-hotel-image{width:100%;height:180px}.top-hotel-details{padding:16px}.top-hotel-details h3{font-size:16px}.cost-breakdown-row span:first-child{flex:1;padding-right:12px}}.fullscreen-map{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#f5f5f5;display:flex;flex-direction:column}.map-header{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#fff;border-bottom:1px solid #e0e0e0;z-index:10;flex-shrink:0;height:64px;box-sizing:border-box}.map-close-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:#1a1a1a;transition:background .2s}.map-close-btn:hover{background:#f0f0f0}.map-header-info h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0;flex:1}.map-header-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.map-properties-count{display:flex;align-items:center;padding:8px 12px;background:#f5f5f5;border-radius:20px;font-size:13px;font-weight:500;color:#666}.map-icon-btn{display:flex;align-items:center;justify-content:center;position:relative;width:38px;height:38px;background:#f5f5f5;border:none;border-radius:50%;color:#666;cursor:pointer;transition:all .2s}.map-icon-btn:hover{background:#e8e8e8;color:#1a1a1a}.map-icon-btn.has-filters{background:#009e60;color:#fff}.filter-badge{position:absolute;top:-2px;right:-2px;background:#ff5a5f;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:8px;padding:0 4px}.map-filter-wrapper{position:relative}.map-filter-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:1px solid #ddd;border-radius:20px;font-size:14px;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .2s}.map-filter-btn:hover{background:#f5f5f5;border-color:#ccc}.map-filter-btn.has-filters{background:#009e60;border-color:#009e60;color:#fff}.filter-count{background:#fff;color:#009e60;font-size:11px;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:4px}.map-filter-dropdown{position:absolute;top:100%;right:0;margin-top:8px;width:320px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000002e;padding:20px;z-index:1000}.map-filter-dropdown .filter-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.map-filter-dropdown .filter-section:last-of-type{margin-bottom:16px;border-bottom:none;padding-bottom:0}.map-filter-dropdown h4{font-size:13px;font-weight:700;color:#1a1a2e;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.map-filter-dropdown .price-inputs{display:flex;align-items:center;gap:12px}.map-filter-dropdown .price-inputs input{flex:1;padding:12px 14px;border:1px solid #e0e0e0;border-radius:10px;font-size:14px;font-family:Poppins,sans-serif;width:100px;transition:border-color .2s,box-shadow .2s}.map-filter-dropdown .price-inputs input:focus{outline:none;border-color:#27bb36;box-shadow:0 0 0 3px #27bb361a}.map-filter-dropdown .price-inputs span{color:#999;font-size:14px;font-weight:500}.map-filter-dropdown .filter-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto}.map-filter-dropdown .filter-checkbox{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px;transition:background-color .15s}.map-filter-dropdown .filter-checkbox:hover{background-color:#f5f5f5}.map-filter-dropdown .filter-checkbox input{width:18px;height:18px;accent-color:#27bb36;flex-shrink:0;margin:0;cursor:pointer}.map-filter-dropdown .filter-checkbox .filter-icon{color:#666;flex-shrink:0}.map-filter-dropdown .filter-checkbox .filter-name{flex:1;color:#1a1a2e}.map-filter-dropdown .filter-checkbox .filter-count{color:#999;font-size:13px}.star-buttons{display:flex;flex-wrap:wrap;gap:8px}.star-btn{padding:10px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:24px;font-size:14px;font-weight:500;font-family:Poppins,sans-serif;cursor:pointer;transition:all .2s;color:#1a1a2e}.star-btn:hover{border-color:#27bb36;color:#27bb36}.star-btn.active{background:#27bb36;border-color:#27bb36;color:#fff}.clear-filters-btn{width:100%;padding:12px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:Poppins,sans-serif;color:#27bb36;cursor:pointer;transition:all .2s}.clear-filters-btn:hover{background:#27bb3614}.map-wrapper{flex:1;position:relative;overflow:hidden;height:calc(100vh - 64px);width:100%}.map-wrapper>div:first-child{width:100%!important;height:100%!important}.search-area-btn{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:none;border-radius:24px;font-size:14px;font-weight:600;color:#009e60;cursor:pointer;box-shadow:0 2px 12px #0003;transition:all .2s}.search-area-btn:hover{background:#009e60;color:#fff;transform:translate(-50%) scale(1.02)}.search-area-btn:disabled{opacity:.7;cursor:wait}.map-loading-spinner-simple{position:absolute;top:calc(50% - 16px);left:calc(50% - 16px);z-index:10;width:32px;height:32px;min-width:32px;min-height:32px;max-width:32px;max-height:32px;border:3px solid rgba(0,0,0,.1);border-top-color:#1a73e8;border-radius:50%;animation:simple-spin 1s linear infinite;box-sizing:border-box;pointer-events:none;aspect-ratio:1 / 1}@keyframes simple-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-hotel-count{position:absolute;top:16px;left:16px;background:#fff;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;color:#1a1a1a;box-shadow:0 2px 8px #00000026;z-index:5}.price-marker{background:#fff;border:2px solid #1a1a1a;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:700;color:#1a1a1a;cursor:pointer;white-space:nowrap;transform:translate(-50%,-50%);transition:all .15s ease;box-shadow:0 2px 6px #00000026;-webkit-user-select:none;user-select:none}.price-marker:hover,.price-marker.hovered{background:#009e60;border-color:#009e60;color:#fff;transform:translate(-50%,-50%) scale(1.08);z-index:10}.price-marker.selected{background:#009e60;border-color:#009e60;color:#fff;transform:translate(-50%,-50%) scale(1.1);z-index:20;box-shadow:0 4px 12px #009e6066}.cluster-marker{background:#009e60;border:2px solid white;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;white-space:nowrap;transform:translate(-50%,-50%);transition:all .15s ease;box-shadow:0 3px 10px #009e6059;-webkit-user-select:none;user-select:none}.cluster-marker:hover{background:#008050;transform:translate(-50%,-50%) scale(1.05);box-shadow:0 4px 14px #009e6080}.map-hotel-popup-wrapper{position:absolute;bottom:24px;left:50%;transform:translate(-50%);width:680px;max-width:calc(100% - 32px);z-index:100;animation:slideUp .25s ease}.map-popup-close{position:absolute;top:-12px;right:-12px;width:36px;height:36px;background:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;box-shadow:0 2px 8px #0003;z-index:10;transition:background .2s}.map-popup-close:hover{background:#f0f0f0}.map-hotel-popup-wrapper .hotel-card{box-shadow:0 8px 32px #0003}.hotel-popup-card{position:absolute;bottom:24px;left:50%;transform:translate(-50%);width:520px;max-width:calc(100% - 32px);background:#fff;border-radius:16px;box-shadow:0 8px 32px #0003;display:flex;overflow:hidden;z-index:100;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.popup-close{position:absolute;top:8px;right:8px;width:32px;height:32px;background:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;box-shadow:0 2px 6px #00000026;z-index:5;transition:background .2s}.popup-close:hover{background:#f0f0f0}.popup-favorite{position:absolute;top:8px;left:188px;width:32px;height:32px;background:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;box-shadow:0 2px 6px #00000026;z-index:5;transition:all .2s}.popup-favorite:hover{color:#e53935}.popup-image{width:180px;min-width:180px;height:200px;overflow:hidden;flex-shrink:0}.popup-image img{width:100%;height:100%;object-fit:cover}.popup-content{flex:1;padding:12px 16px;display:flex;flex-direction:column;min-width:0}.popup-name{font-size:15px;font-weight:600;color:#1a1a1a;margin:0 0 4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.popup-location{font-size:13px;color:#666;margin:0 0 8px}.popup-rating{display:flex;align-items:center;gap:6px;margin-bottom:8px}.popup-rating .rating-score{background:#009e60;color:#fff;font-size:13px;font-weight:700;padding:3px 8px;border-radius:4px}.popup-rating .rating-label{font-size:13px;color:#1a1a1a;font-weight:500}.popup-pricing{margin-top:auto;margin-bottom:10px}.popup-price{display:flex;align-items:baseline;gap:4px}.popup-price .price-nightly{font-size:20px;font-weight:700;color:#1a1a1a}.popup-price .price-period{font-size:13px;color:#666}.price-total{font-size:13px;color:#666;margin-top:2px}.price-total .price-note{display:block;font-size:12px;color:#009e60;margin-top:2px}.popup-cta{width:100%;padding:10px 16px;background:#009e60;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.popup-cta:hover{background:#008550}.map-loading-state,.map-error-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#666}.map-loading-state .loading-logo{height:48px;width:auto}.map-loading-state .loading-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#009e60;border-radius:50%;animation:spin .8s linear infinite}.map-loading-state p{font-size:14px;font-weight:500;margin:0}.map-error-state button{padding:10px 20px;background:#009e60;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500}@media(max-width:768px){.map-header{padding:10px 16px}.map-header-info h2{font-size:16px}.map-hotel-popup-wrapper{bottom:16px;width:calc(100% - 24px)}.map-hotel-popup-wrapper .hotel-card{flex-direction:row;align-items:stretch}.map-hotel-popup-wrapper .hotel-image{width:120px;min-width:120px;height:auto;min-height:140px}.map-hotel-popup-wrapper .hotel-image img{border-radius:12px 0 0 12px}.map-hotel-popup-wrapper .favorite-btn{width:28px;height:28px;top:8px;right:8px}.map-hotel-popup-wrapper .favorite-btn svg{width:14px;height:14px}.map-hotel-popup-wrapper .hotel-info{padding:12px;display:flex;flex-direction:column;justify-content:space-between}.map-hotel-popup-wrapper .hotel-name{font-size:14px;line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.map-hotel-popup-wrapper .hotel-address{font-size:11px;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.map-hotel-popup-wrapper .hotel-tags{display:none}.map-hotel-popup-wrapper .hotel-bottom{flex-direction:row;align-items:flex-end;justify-content:space-between;margin-top:auto}.map-hotel-popup-wrapper .rating-badge-new{display:flex;align-items:center;gap:6px;padding:0;background:none}.map-hotel-popup-wrapper .rating-badge-new .rating-score{font-size:13px;padding:0;min-width:36px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:8px}.map-hotel-popup-wrapper .rating-badge-new .rating-label{display:block;font-size:11px;color:#666;white-space:nowrap}.map-hotel-popup-wrapper .hotel-price-action{flex-direction:column;align-items:flex-end;gap:0}.map-hotel-popup-wrapper .price-info{text-align:right}.map-hotel-popup-wrapper .savings-text{font-size:11px;padding:2px 6px}.map-hotel-popup-wrapper .price-label{font-size:10px}.map-hotel-popup-wrapper .original-price{font-size:11px}.map-hotel-popup-wrapper .price-currency{font-size:12px}.map-hotel-popup-wrapper .price-amount{font-size:20px}.map-hotel-popup-wrapper .price-total{font-size:10px}.map-hotel-popup-wrapper .price-includes-taxes{font-size:9px}.map-hotel-popup-wrapper .choose-room-btn{display:none}.map-hotel-popup-wrapper .member-savings-prompt{font-size:11px;padding:4px 8px}.hotel-popup-card{bottom:16px;width:calc(100% - 24px);max-width:400px}.popup-image{width:120px;min-width:120px;height:160px}.popup-favorite{left:128px}.popup-content{padding:10px 12px}.popup-name{font-size:14px}.popup-price .price-nightly{font-size:18px}}@media(max-width:400px){.hotel-popup-card{flex-direction:column}.popup-image{width:100%;height:140px}.popup-favorite{left:auto;right:48px;top:8px}}.loading-screen{display:flex;align-items:center;justify-content:center;background:#fff}.loading-screen.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999}.loading-screen.overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-screen.inline{min-height:300px;width:100%}.loading-content{display:flex;flex-direction:column;align-items:center;gap:24px}.loading-logo{height:48px;width:auto;object-fit:contain}.loading-spinner-ring{width:48px;height:48px;position:relative}.spinner-segment{width:100%;height:100%;border:3px solid #e8e8e8;border-top-color:#009e60;border-radius:50%;animation:spin 1s linear infinite}.loading-message{font-size:14px;color:#666;margin:0;font-weight:500}.map-loading-overlay{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-radius:24px;box-shadow:0 2px 12px #0003}.map-loading-overlay .loading-logo{height:24px}.map-loading-overlay .loading-spinner-ring{width:20px;height:20px}.map-loading-overlay .spinner-segment{border-width:2px}.map-loading-overlay .loading-message{font-size:13px}.search-results-page{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;min-height:100vh;background:#fff;margin:0;padding:0}.search-results-page>*:first-child{margin-top:0}.mobile-search-bar{display:none;z-index:100;background:#fff;padding:12px 16px;align-items:center;gap:12px;border-bottom:1px solid #e0e0e0}.mobile-search-bar.search-bar-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.mobile-search-content{flex:1;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:10px 14px;cursor:pointer}.mobile-search-content:active{background:#f5f5f5}.mobile-filter-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;color:#666;cursor:pointer;margin-left:auto;flex-shrink:0}.mobile-filter-icon:active{color:#1a56db}.mobile-search-icon{color:#666;flex-shrink:0}.mobile-search-info{display:flex;flex-direction:column;min-width:0}.mobile-search-location{font-size:14px;font-weight:600;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-search-dates{font-size:12px;color:#666;font-weight:400}.mobile-filter-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;border:none;border-radius:8px;color:#1a1a1a;cursor:pointer}.mobile-filter-btn:active{background:#f0f0f0}.mobile-search-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:0}.mobile-search-modal{background:#fff;width:100%;max-height:100vh;overflow-y:auto;border-radius:0 0 20px 20px}.mobile-search-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff}.mobile-search-modal-header h3{font-size:22px;font-weight:600;margin:0;color:#1a1a1a}.mobile-modal-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;color:#666;cursor:pointer;border-radius:50%}.mobile-modal-close:active{background:#f0f0f0}.mobile-modal-fields{padding:0 20px 24px;display:flex;flex-direction:column;gap:16px}.mobile-modal-field{border:1px solid #d1d5db;border-radius:12px;padding:12px 16px;background:#fff;transition:border-color .2s}.mobile-modal-field:focus-within{border-color:#27bb36}.mobile-modal-field label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#27bb36;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.mobile-modal-field input{width:100%;padding:4px 0;border:none;font-size:16px;font-family:Poppins,sans-serif;font-weight:500;color:#1a1a1a;outline:none;background:transparent}.mobile-modal-field-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 0;border:none;background:transparent;font-size:16px;font-family:Poppins,sans-serif;font-weight:500;color:#1a1a1a;cursor:pointer;text-align:left}.mobile-modal-field-btn svg{color:#666}.mobile-update-search-btn{display:block;width:100%;margin-top:8px;padding:16px;background:#27bb36;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer}.mobile-update-search-btn:active{background:#1fa82d}.mobile-fullscreen-picker{display:none}@media(max-width:768px){.mobile-fullscreen-picker{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:2000}.mobile-picker-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e0e0e0;background:#fff;gap:12px}.mobile-picker-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#27bb36;border:none;color:#fff;cursor:pointer;border-radius:50px;flex-shrink:0}.mobile-picker-back:active{background:#1f9a2c}.mobile-picker-title{font-size:18px;font-weight:600;color:#1a1a1a}.mobile-destination-input-wrapper{flex:1;display:flex;flex-direction:column;background:#fff;border:2px solid #27BB36;border-radius:8px;padding:8px 12px}.mobile-destination-input-wrapper label{font-size:11px;font-weight:600;color:#27bb36;text-transform:uppercase}.mobile-destination-input-wrapper input{border:none;background:transparent;font-size:16px;font-family:Poppins,sans-serif;font-weight:500;color:#1a1a1a;outline:none;padding:0}.mobile-destination-input-wrapper input::placeholder{color:#999}.mobile-destination-results{padding:0!important}.mobile-destination-loading{padding:24px;text-align:center;color:#666}.mobile-destination-empty{padding:24px;text-align:center;color:#999;font-size:14px}.mobile-destination-item{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer}.mobile-destination-item:active{background:#f5f5f5}.mobile-destination-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#e8f5e9;border-radius:8px;color:#27bb36;flex-shrink:0}.mobile-destination-info{flex:1;min-width:0}.mobile-destination-name{display:block;font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.mobile-destination-address{display:block;font-size:13px;color:#27bb36}.mobile-picker-content{flex:1;overflow-y:auto;padding:16px 20px}.mobile-calendar-wrapper{flex:1;overflow-y:auto;display:flex;flex-direction:column}.mobile-calendar-wrapper .calendar-picker{flex:1;height:auto;overflow-y:visible}.mobile-picker-header-content{display:flex;flex-direction:column;align-items:center;flex:1}.mobile-picker-subtitle{font-size:13px;color:#666;margin-top:2px}.mobile-picker-footer{padding:16px 20px;border-top:1px solid #e0e0e0;background:#fff}.mobile-picker-done{display:block;width:100%;padding:14px;background:#27bb36;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer}.mobile-picker-done:active{background:#1f9a2c}.mobile-picker-content .room-block{background:#f9f9f9;border-radius:12px;padding:16px;margin-bottom:16px}.mobile-picker-content .room-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-weight:600}.mobile-picker-content .remove-room-btn{background:none;border:none;color:#dc3545;font-size:14px;cursor:pointer}.mobile-picker-content .guest-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e0e0e0}.mobile-picker-content .guest-row:last-of-type{border-bottom:none}.mobile-picker-content .stepper{display:flex;align-items:center;gap:12px}.mobile-picker-content .stepper button{width:36px;height:36px;border-radius:50%;border:1px solid #e0e0e0;background:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.mobile-picker-content .stepper button:disabled{opacity:.4;cursor:not-allowed}.mobile-picker-content .stepper span{min-width:24px;text-align:center;font-weight:600}.mobile-picker-content .child-ages{padding-top:12px}.mobile-picker-content .child-age-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.mobile-picker-content .child-age-row select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px}.mobile-picker-content .add-room-btn{display:block;width:100%;padding:14px;background:#fff;color:#27bb36;border:2px solid #27BB36;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}}.search-results-page .desktop-only{display:block}@media(max-width:768px){.mobile-search-bar{display:flex}.search-results-page .desktop-only{display:none!important}}.results-header{background:#fff;border-bottom:1px solid #e0e0e0;z-index:100}.results-header.search-bar-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.results-header-content{max-width:1400px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:16px}.search-bar-container{display:flex;align-items:center;flex:1;background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:visible;position:relative}.search-bar-container:focus-within{border-color:#009e60;box-shadow:0 0 0 3px #009e601a}.search-field{flex:1;position:relative;padding:8px 16px}.search-field label{display:block;font-size:11px;font-weight:600;color:#009e60;margin-bottom:2px;text-transform:none}.search-field .field-input-wrapper{display:flex;align-items:center;gap:8px}.search-field .field-icon{color:#666;flex-shrink:0}.search-field input{flex:1;border:none;background:transparent;font-size:14px;font-family:Poppins,sans-serif;font-weight:500;color:var(--text-primary);outline:none;padding:0;min-width:0}.search-field input::placeholder{color:#999;font-weight:400}.search-field .field-button{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;font-size:14px;font-family:Poppins,sans-serif;font-weight:500;color:var(--text-primary);cursor:pointer;padding:0;text-align:left}.search-field .field-button .chevron-icon{margin-left:auto;color:#666}.search-field .field-button.guests-button{display:flex;align-items:center;gap:8px}.search-field .field-button.guests-button .chevron-icon{margin-left:4px;position:relative;top:1px}.where-field{flex:1.5;min-width:180px}.dates-field{flex:1.5;min-width:220px}.guests-field{flex:1;min-width:150px}.search-divider{width:1px;height:40px;background:#e0e0e0;flex-shrink:0}.search-dropdown{position:absolute;top:calc(100% + 12px);left:0;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;z-index:1000;min-width:320px;overflow:hidden}.search-dropdown .dropdown-loading{padding:20px;text-align:center;color:#666;font-size:14px}.search-dropdown .dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s}.search-dropdown .dropdown-item:hover{background:#f5f5f5}.search-dropdown .place-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border-radius:8px;color:#009e60;flex-shrink:0}.search-dropdown .place-info{flex:1;min-width:0}.search-dropdown .place-name{display:block;font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-dropdown .place-address{display:block;font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date-dropdown{min-width:600px;left:50%;transform:translate(-50%)}.date-dropdown-header{display:flex;flex-direction:column;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.date-dropdown-header .date-range-display{font-size:18px;font-weight:600;color:#333}.date-dropdown-header .nights-count{font-size:14px;color:#666;margin-top:2px}.dropdown-done-btn{display:block;width:calc(100% - 32px);margin:12px 16px 16px;padding:12px;background:#009e60;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.dropdown-done-btn:hover{background:#008050}.guest-dropdown{min-width:320px;right:0;left:auto;padding:16px}.room-block{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #eee}.room-block:last-of-type{border-bottom:none;margin-bottom:8px;padding-bottom:8px}.room-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;font-size:14px}.remove-room-btn{background:none;border:none;color:#c00;font-size:13px;cursor:pointer;font-weight:500}.remove-room-btn:hover{text-decoration:underline}.guest-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}.stepper{display:flex;align-items:center;gap:16px}.stepper button{width:36px;height:36px;border-radius:50%;border:2px solid #009e60;background:#fff;color:#009e60;font-size:20px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.stepper button:hover:not(:disabled){background:#009e60;color:#fff}.stepper button:disabled{border-color:#ddd;color:#ccc;cursor:not-allowed}.stepper span{width:28px;text-align:center;font-weight:600;font-size:16px}.child-ages{margin-top:8px;padding-left:12px}.child-age-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;color:#666}.child-age-row select{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px;background:#fff}.add-room-btn{display:block;width:100%;padding:10px;background:none;border:1px dashed #009e60;border-radius:8px;color:#009e60;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:12px}.add-room-btn:hover{background:#f0fff5}.update-search-btn{padding:12px 24px;background:#009e60;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap;flex-shrink:0}.update-search-btn:hover{background:#008050}.results-content{max-width:1400px;margin:0 auto;padding:24px;display:flex;gap:24px}.filters-sidebar{width:340px;flex-shrink:0;background:#fff;border-radius:var(--radius-md);padding:20px;height:fit-content;align-self:flex-start;font-family:Poppins,sans-serif}.mobile-filter-header,.show-results-bar,.show-results-btn{display:none}.sidebar-map{width:100%;height:160px;margin-bottom:20px;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #32cd324d,0 2px 8px #00000014;position:relative;cursor:pointer;transition:box-shadow .2s ease}.sidebar-map:hover{box-shadow:0 6px 28px #32cd3273,0 4px 12px #0000001a}.map-loading-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#e8f0fe,#c9d7e4);display:flex;align-items:center;justify-content:center;color:#1a56db}.view-map-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;border:none;border-radius:20px;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer;box-shadow:0 2px 8px #00000026;transition:transform .15s}.sidebar-map:hover .view-map-btn{transform:translate(-50%,-50%) scale(1.05)}.sidebar-sort-select{width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:25px;font-size:14px;font-family:Poppins,sans-serif;font-weight:500;background:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;transition:border-color .2s,box-shadow .2s}.sidebar-sort-select:hover{border-color:#0071c2}.sidebar-sort-select:focus{outline:none;border-color:#0071c2;box-shadow:0 0 0 3px #0071c226}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #eee}.filters-header h3{font-size:18px;font-weight:600;color:var(--text-primary)}.clear-filters-btn{background:transparent;border:none;color:var(--primary);font-size:13px;cursor:pointer;font-weight:500}.clear-filters-btn:hover{text-decoration:underline}.filter-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.filter-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.filter-section h4{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.price-range{display:flex;align-items:center;gap:12px}.price-range input{flex:1;padding:10px 12px;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:14px}.price-range input:focus{outline:none;border-color:var(--primary)}.price-range span{color:var(--text-muted);font-size:13px}.star-filters,.amenity-filters{display:flex;flex-direction:column;gap:6px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--text-primary)}.checkbox-label input{width:16px;height:16px;accent-color:var(--primary)}.filter-list{display:flex;flex-direction:column;gap:4px}.filter-checkbox{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .15s}.filter-checkbox:hover{background-color:#f5f5f5}.filter-checkbox.disabled{opacity:.5;cursor:not-allowed}.filter-checkbox input{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin:0}.filter-checkbox .filter-icon{color:#666;flex-shrink:0}.filter-checkbox .filter-name{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-checkbox .filter-count{color:#999;font-size:13px}.price-range-inputs{display:flex;align-items:center;gap:12px}.price-input-group{display:flex;align-items:center;border:1px solid #ddd;border-radius:8px;padding:8px 12px;background:#fff;flex:1}.price-input-group .currency{color:#666;font-size:14px;margin-right:4px}.price-input-group input{border:none;outline:none;width:100%;font-size:14px;font-family:Poppins,sans-serif;background:transparent}.price-input-group input::placeholder{color:#999}.price-separator{color:#666;font-size:14px}.star-filter-row{display:flex;gap:8px;flex-wrap:wrap}.star-filter-btn{display:flex;align-items:center;gap:4px;padding:8px 14px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .15s;font-family:Poppins,sans-serif}.star-filter-btn:hover{border-color:#27bb36;color:#27bb36}.star-filter-btn.active{background:#27bb36;border-color:#27bb36;color:#fff}.guest-rating-row{display:flex;gap:8px;flex-wrap:wrap}.guest-rating-btn{padding:8px 16px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .15s;font-family:Poppins,sans-serif}.guest-rating-btn:hover{border-color:#27bb36;color:#27bb36}.guest-rating-btn.active{background:#27bb36;border-color:#27bb36;color:#fff}.property-name-input{display:flex;align-items:center;gap:8px;border:1px solid #ddd;border-radius:8px;padding:10px 12px;background:#fff}.property-name-input svg{color:#999;flex-shrink:0}.property-name-input input{border:none;outline:none;flex:1;font-size:14px;font-family:Poppins,sans-serif;background:transparent}.property-name-input input::placeholder{color:#999}.property-name-input .clear-input{display:flex;align-items:center;justify-content:center;background:#e0e0e0;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;color:#666}.property-name-input .clear-input:hover{background:#d0d0d0}.rating-buttons{display:flex;gap:8px;flex-wrap:wrap}.rating-btn{padding:8px 14px;border:1px solid #ddd;border-radius:20px;background:#fff;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .15s;font-family:Poppins,sans-serif}.rating-btn:hover{border-color:var(--primary);color:var(--primary)}.rating-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.property-search{position:relative;display:flex;align-items:center}.property-search .search-icon{position:absolute;left:12px;color:#999;pointer-events:none}.property-search input{width:100%;padding:10px 32px 10px 36px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:Poppins,sans-serif;transition:border-color .2s}.property-search input:focus{outline:none;border-color:var(--primary)}.property-search .clear-input{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;color:var(--text-muted)}.property-search .clear-input:hover{color:var(--text-primary)}.budget-slider-container{padding:4px 0}.budget-inputs{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:10px}.budget-inputs span:nth-child(2){color:var(--text-muted)}.dual-slider{position:relative;height:20px}.dual-slider .budget-slider{position:absolute;width:100%;height:4px;top:50%;transform:translateY(-50%);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none}.dual-slider .budget-slider.min-slider{z-index:1}.dual-slider .budget-slider.max-slider{z-index:2}.dual-slider:before{content:"";position:absolute;width:100%;height:4px;top:50%;transform:translateY(-50%);background:#e5e7eb;border-radius:2px}.slider-track-highlight{position:absolute;height:4px;top:50%;transform:translateY(-50%);background:#00aa6c;border-radius:2px;z-index:1}.dual-slider .budget-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#fff;border:2px solid #00aa6c;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 1px 3px #00000026}.dual-slider .budget-slider::-moz-range-thumb{width:16px;height:16px;background:#fff;border:2px solid #00aa6c;border-radius:50%;cursor:pointer;pointer-events:auto;box-shadow:0 1px 3px #00000026}.budget-note{font-size:12px;color:#999;margin-top:10px;font-style:italic}.show-more-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;padding:6px 0 0;margin-top:2px}.show-more-btn:hover{text-decoration:underline}.show-more-btn svg{transition:transform .2s;width:14px;height:14px}.show-more-btn svg.rotated{transform:rotate(180deg)}.close-filters-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);display:none}.close-filters-btn:hover{color:var(--text-primary)}.apply-filters-btn{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;margin-top:20px}.hotel-list-container{flex:1;min-width:0}.list-header-simple{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:16px}.list-header-simple .hotel-count{font-weight:500;color:var(--text-primary)}.list-header-simple .avg-price{color:#0068ef;font-weight:500;font-size:14px;display:flex;align-items:center;gap:8px}.list-header-simple .price-divider{color:#ccc;font-weight:300}.list-header-simple .filter-toggle{margin-left:auto}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.results-info{display:flex;flex-direction:column;gap:4px}.results-count{font-size:14px;color:var(--text-secondary)}.facilities-timing{font-size:11px;color:#888;font-family:Monaco,Consolas,monospace}.loading-hint{font-size:11px;font-weight:400;color:#888}.checkbox-label.disabled{opacity:.5;cursor:not-allowed}.sort-controls{display:flex;align-items:center;gap:16px}.filter-toggle{display:none;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary);cursor:pointer}.sort-dropdown{display:flex;align-items:center;gap:8px}.sort-dropdown label{font-size:14px;color:var(--text-secondary);font-weight:500}.sort-dropdown select{padding:10px 32px 10px 14px;border:1px solid #e0e0e0;border-radius:24px;font-size:14px;font-weight:500;background:#fff;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:all .2s ease;color:#1a1a1a}.sort-dropdown select:hover{border-color:#ccc;background-color:#fafafa}.sort-dropdown select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #009e601a}.loading-state{display:flex;flex-direction:column;gap:16px}.hotel-card-skeleton{display:flex;gap:20px;background:#fff;border-radius:var(--radius-md);padding:16px}.skeleton-image{width:280px;height:200px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:12px}.skeleton-line{height:20px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-line.title{width:60%}.skeleton-line.subtitle{width:40%}.skeleton-line.short{width:30%}.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#fff;border-radius:var(--radius-md)}.error-state p,.empty-state p{font-size:16px;color:var(--text-muted);margin-bottom:20px}.error-state button,.empty-state button{padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.error-state button:hover,.empty-state button:hover{background:var(--primary-dark)}.hotel-list{display:flex;flex-direction:column;gap:16px}.signup-promo-card{display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:var(--radius-lg);border:1px solid #bae6fd}.signup-promo-card .promo-icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.signup-promo-card .promo-icon img{width:100%;height:100%;object-fit:contain}.signup-promo-card .promo-content{flex:1}.signup-promo-card .promo-content h4{font-size:16px;font-weight:700;color:#0c4a6e;margin:0 0 4px}.signup-promo-card .promo-content p{font-size:14px;color:#0369a1;margin:0}.signup-promo-card .promo-btn{padding:12px 24px;background:#0ea5e9;color:#fff;border:none;border-radius:25px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;white-space:nowrap}.signup-promo-card .promo-btn:hover{background:#0284c7}.rentals-promo-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24}.rentals-promo-card .promo-content h4{color:#92400e}.rentals-promo-card .promo-btn{background:#f59e0b}.rentals-promo-card .promo-btn:hover{background:#d97706}.hotels-promo-card{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border:1px solid #a78bfa}.hotels-promo-card .promo-content h4{color:#5b21b6}.hotels-promo-card .promo-btn{background:#8b5cf6}.hotels-promo-card .promo-btn:hover{background:#7c3aed}@media(max-width:600px){.signup-promo-card{padding:16px;gap:12px}.signup-promo-card .promo-icon{width:40px;height:40px}.signup-promo-card .promo-content h4{font-size:14px}.signup-promo-card .promo-content .promo-subtitle{display:none}.signup-promo-card .promo-btn{padding:10px 16px;font-size:13px}}.hotel-search-banner{background:#f0fdf4;border:1px solid rgba(0,158,96,.3);border-left:4px solid #009e60;border-radius:8px;padding:12px 16px;font-size:14px;color:#333;line-height:1.5;margin-bottom:-8px}.hotel-search-banner strong{color:#009e60;font-weight:600}.hotel-card{display:flex;gap:0;background:#fff;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:box-shadow .2s,transform .2s;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014,0 4px 16px #0000000a}.hotel-card:hover{box-shadow:0 8px 24px #00000026,0 12px 32px #00000014;transform:translateY(-4px)}.hotel-image{position:relative;width:260px;min-height:200px;flex-shrink:0}.hotel-image .lazy-image-container{position:absolute;top:0;left:0;right:0;bottom:0}.hotel-image img,.hotel-image .lazy-image{width:100%;height:100%;object-fit:cover;object-position:top center;image-rendering:-webkit-optimize-contrast;backface-visibility:hidden;transform:translateZ(0)}.favorite-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;background:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);box-shadow:0 2px 8px #00000026;transition:all .2s}.favorite-btn:hover{color:#e74c3c;transform:scale(1.1)}.discount-badge{position:absolute;top:12px;left:12px;padding:4px 10px;background:#dc3545;color:#fff;font-size:12px;font-weight:600;border-radius:4px}.search-results-page .deal-badge{position:absolute;top:12px;left:12px;padding:6px 12px;background:linear-gradient(135deg,#00a67e,#00c491);color:#fff;font-size:13px;font-weight:700;border-radius:6px;box-shadow:0 2px 8px #00a67e4d}.hotel-info{flex:1;display:flex;flex-direction:column;padding:16px 20px;min-width:0;position:relative}.hotel-info-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px;min-height:24px}.hotel-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.hotel-tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.hotel-tag svg{flex-shrink:0}.tag-breakfast,.tag-cancellation{color:#00a67e}.hotel-main{flex:1;min-width:0}.hotel-stars{display:flex;gap:2px;margin-bottom:8px}.hotel-card-stars{display:flex;align-items:center;gap:2px;margin-top:4px;margin-bottom:8px}.hotel-name{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:4px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotel-address{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#00c491;margin-bottom:4px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.hotel-address span{overflow:hidden;text-overflow:ellipsis}.hotel-address svg{color:#00c491;flex-shrink:0}.hotel-room-name{font-size:13px;color:var(--text-secondary);margin-top:4px}.hotel-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:8px}.hotel-rating-row{display:flex;align-items:center;gap:12px}.rating-badge-new{display:flex;align-items:center;gap:8px}.rating-badge-new .rating-score{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;background:var(--primary);color:#fff;font-size:16px;font-weight:700;border-radius:var(--radius-sm)}.rating-badge-new .rating-label{font-size:14px;color:var(--text-secondary);font-weight:500}.hotel-price-action{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.price-info{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.member-savings-prompt{display:flex;align-items:center;gap:8px;color:#06c!important;font-size:13px;font-weight:500;background:none!important;background-color:transparent!important;padding:0;border:none!important;box-shadow:none!important;outline:none!important;cursor:pointer;transition:opacity .2s;margin-bottom:8px;align-self:flex-start}.member-savings-prompt:hover{opacity:.8}.member-savings-prompt:focus{outline:none!important;border:none!important;box-shadow:none!important}.member-savings-prompt span{color:#06c!important;background:none!important;text-decoration:underline}.member-savings-prompt .voyabay-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0}.savings-text{color:var(--primary);font-size:13px;font-weight:600}.price-row-main{display:flex;flex-direction:column;align-items:flex-end}.price-label{display:block;font-size:12px;color:var(--text-muted)}.price-numbers{display:flex;align-items:baseline;gap:6px}.original-price{font-size:14px;color:var(--text-muted);text-decoration:line-through}.current-price{display:flex;align-items:flex-start;gap:0;line-height:1}.price-currency{font-size:16px;font-weight:700;color:var(--text-primary);margin-top:2px;margin-right:3px}.price-amount{font-size:28px;font-weight:700;color:var(--text-primary)}.price-total{display:block;font-size:12px;color:var(--text-muted)}.price-includes-taxes{display:flex;align-items:center;gap:4px;font-size:11px;color:#009e60;margin-top:2px}.price-includes-taxes svg{flex-shrink:0}.choose-room-btn{padding:12px 24px;background:#27bb36;color:#fff;border:none;border-radius:25px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.choose-room-btn:hover{background:#1f9a2c;transform:translateY(-1px)}.mobile-only,.floating-map-btn{display:none}.filter-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:150}@media(max-width:1024px){.results-content{padding:16px}.filters-sidebar{width:280px}.hotel-image{width:240px}}@media(max-width:768px){.results-header{top:56px}.results-header-content{flex-wrap:wrap;padding:12px 16px;gap:12px}.search-summary{order:3;width:100%;flex-wrap:wrap;gap:12px}.modify-search-btn{display:none}.results-content{flex-direction:column}.filters-sidebar{display:none;position:fixed;bottom:0;left:0;right:0;top:0;width:100%;height:100%;border-radius:0;z-index:1000;overflow-y:auto;padding:0 0 80px}.filters-sidebar.mobile-visible{display:block}.filters-sidebar.map-view-filters{z-index:2000}.filters-sidebar.map-view-filters .show-results-bar{z-index:2010}.mobile-filter-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#27bb36;position:sticky;top:0;z-index:10}.mobile-filter-title{color:#fff;font-size:15px;font-weight:600}.mobile-filter-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;color:#fff;cursor:pointer}.mobile-filter-close:active{opacity:.7}.filters-sidebar .filter-section{padding-left:20px;padding-right:20px}.filters-sidebar .filter-section:first-of-type{margin-top:16px}.mobile-filter-header{margin-bottom:8px}.show-results-bar{position:fixed;bottom:0;left:0;right:0;padding:12px 20px;background:#fff;border-top:1px solid #e0e0e0;z-index:1010;display:flex;justify-content:center}.show-results-btn{display:inline-block;padding:12px 40px;background:#27bb36;color:#fff;border:none;border-radius:50px;font-size:15px;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer}.show-results-btn:active{background:#1f9a2c}.filters-header{position:relative}.close-filters-btn.mobile-only{display:none}.mobile-only{display:flex}.floating-map-btn{display:flex;align-items:center;justify-content:center;gap:8px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;background:#27bb36;color:#fff;border:none;border-radius:50px;font-size:15px;font-weight:600;font-family:Poppins,sans-serif;cursor:pointer;box-shadow:0 4px 12px #27bb3666;z-index:90;transition:transform .2s,box-shadow .2s}.floating-map-btn:active{transform:translate(-50%) scale(.95);box-shadow:0 2px 8px #27bb3666}.apply-filters-btn.mobile-only{display:none}.list-header{flex-direction:column;align-items:flex-start;gap:12px}.sort-controls{width:100%;justify-content:space-between}.hotel-card{flex-direction:row;height:auto;align-items:stretch}.hotel-image{width:120px;min-width:120px;height:auto;min-height:140px;aspect-ratio:auto}.hotel-image img,.hotel-image .lazy-image{border-radius:12px 0 0 12px}.favorite-btn{width:28px;height:28px;top:8px;right:8px}.favorite-btn svg{width:14px;height:14px}.hotel-info{padding:12px;height:auto;display:flex;flex-direction:column;justify-content:space-between}.hotel-info-header{margin-bottom:4px}.member-savings-prompt{font-size:11px;padding:4px 8px}.member-savings-prompt .voyabay-icon{width:14px;height:14px}.hotel-name{font-size:14px;line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hotel-address{font-size:11px;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.hotel-card-stars{margin-bottom:4px}.hotel-card-stars svg{width:10px;height:10px}.hotel-tags{display:none}.hotel-bottom{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto}.hotel-rating-row{flex-shrink:0}.rating-badge-new{display:flex;align-items:center;gap:6px;padding:0;background:none}.rating-badge-new .rating-score{font-size:13px;padding:0;min-width:36px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:8px}.rating-badge-new .rating-label{display:block;font-size:11px;color:#666;white-space:nowrap}.hotel-price-action{flex-direction:column;align-items:flex-end;gap:0}.price-info{text-align:right}.savings-text{font-size:11px;padding:2px 6px}.price-row-main{gap:4px}.price-label{font-size:10px}.price-numbers{gap:4px}.original-price{font-size:11px}.price-currency{font-size:12px}.price-amount{font-size:20px}.price-total{font-size:10px}.price-includes-taxes{font-size:9px;gap:2px}.price-includes-taxes svg{width:10px;height:10px}.choose-room-btn{display:none}}.lazy-image-container{width:100%;height:100%;background:var(--bg-light)}.lazy-image-placeholder{width:100%;height:100%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.lazy-image{width:100%;height:100%;object-fit:cover;object-position:top center;opacity:0;transition:opacity .3s ease;image-rendering:-webkit-optimize-contrast;backface-visibility:hidden;transform:translateZ(0)}.lazy-image.loaded{opacity:1}.results-info{padding:12px 0;color:var(--text-muted);font-size:14px}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:32px 0;margin-top:16px}.pagination-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:var(--bg-light);border-color:var(--primary);color:var(--primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-pages{display:flex;align-items:center;gap:4px}.pagination-page{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.pagination-page:hover{background:var(--bg-light);border-color:var(--primary);color:var(--primary)}.pagination-page.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-ellipsis{padding:0 8px;color:var(--text-muted)}@media(max-width:768px){.pagination{gap:4px;padding:24px 0}.pagination-btn,.pagination-page{width:36px;height:36px;min-width:36px}.pagination-page{padding:0 8px;font-size:13px}}.featured-hotel-section{margin-bottom:24px;background:#fff;border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--primary);box-shadow:var(--shadow-md)}.featured-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--primary);color:#fff;font-weight:600;font-size:15px}.featured-hotel-card{padding:20px;display:grid;grid-template-columns:240px 1fr;grid-template-rows:auto auto;gap:20px;cursor:pointer;transition:background .2s}.featured-hotel-card:hover{background:var(--bg-light)}.featured-image{grid-row:1 / 3;height:200px;border-radius:var(--radius-md);overflow:hidden}.featured-image img{width:100%;height:100%;object-fit:cover}.featured-info{display:flex;flex-direction:column;gap:8px}.featured-name{font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.featured-address{font-size:14px;color:var(--text-secondary);margin:0}.featured-amenities{display:flex;gap:12px;font-size:13px;color:var(--text-secondary)}.featured-amenities span{display:flex;align-items:center;gap:4px}.featured-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto}.featured-rating{display:flex;align-items:center;gap:8px}.featured-rating .rating-score{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--primary);color:#fff;font-weight:700;font-size:14px;border-radius:var(--radius-sm)}.featured-rating .rating-text{font-size:14px;font-weight:600;color:var(--text-primary)}.featured-price{text-align:right;display:flex;flex-direction:column;gap:2px}.featured-price .price-per-night{font-size:24px;font-weight:700;color:var(--text-primary)}.featured-price .price-label{font-size:13px;color:var(--text-muted);margin-left:4px}.featured-price .price-total{font-size:14px;color:var(--text-secondary);font-weight:500}.featured-price .price-note{font-size:12px;color:var(--primary)}.featured-cta{grid-column:2;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:#fff;color:var(--primary);border:2px solid var(--primary);border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.featured-cta:hover{background:var(--primary);color:#fff}@media(max-width:768px){.featured-hotel-card{grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:16px;gap:16px}.featured-image{grid-row:1;height:180px}.featured-cta{grid-column:1}.featured-name{font-size:18px}.featured-price .price-per-night{font-size:20px}}.view-toggle{display:flex;background:var(--bg-light);border-radius:var(--radius-sm);padding:4px;gap:4px}.view-btn{display:flex;align-items:center;justify-content:center;width:36px;height:32px;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--text-muted);cursor:pointer;transition:all .2s}.view-btn:hover{color:var(--text-primary);background:#0000000d}.view-btn.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #0000001a}.map-view-container{position:relative;height:calc(100vh - 200px);min-height:500px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-light)}.map-loading-overlay{position:absolute;top:16px;left:50%;transform:translate(-50%);background:#fff;padding:8px 16px;border-radius:var(--radius-sm);box-shadow:0 2px 8px #00000026;font-size:13px;color:var(--text-secondary);z-index:10}.map-loading,.map-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted)}.map-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.map-info-window{width:280px;padding:0;font-family:inherit}.map-info-window .info-image{width:100%;height:120px;overflow:hidden;border-radius:8px 8px 0 0;margin:-8px -8px 8px;width:calc(100% + 16px)}.map-info-window .info-image img{width:100%;height:100%;object-fit:cover}.map-info-window .info-content{padding:4px 0}.map-info-window h4{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 4px;line-height:1.3}.map-info-window .info-details{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);margin-bottom:8px}.map-info-window .info-rating{display:flex;align-items:center;gap:3px;color:var(--text-secondary);font-weight:500}.map-info-window .info-address{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.map-info-window .info-price{display:flex;align-items:baseline;gap:4px;margin-bottom:12px}.map-info-window .price-amount{font-size:18px;font-weight:700;color:var(--text-primary)}.map-info-window .price-label{font-size:12px;color:var(--text-muted)}.map-info-window .info-cta{width:100%;padding:10px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.map-info-window .info-cta:hover{background:var(--primary-dark)}.gm-style .gm-style-iw-c{padding:8px!important;border-radius:12px!important}.gm-style .gm-style-iw-d{overflow:visible!important}.gm-style .gm-style-iw-tc{display:none}.gm-style-iw button[aria-label=Close]{top:4px!important;right:4px!important}@media(max-width:768px){.view-toggle{display:flex}.map-view-container{height:calc(100vh - 180px);min-height:400px;border-radius:0;margin:0 -16px;width:calc(100% + 32px)}.map-info-window{width:240px}.map-info-window .info-image{height:100px}}.login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.login-modal{background:#fff;border-radius:12px;padding:32px;max-width:400px;width:100%;position:relative;box-shadow:0 20px 60px #0000004d}.login-modal .modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#666;cursor:pointer;line-height:1}.login-modal .modal-close:hover{color:#333}.login-modal h2{font-size:24px;color:#1a1a1a;margin-bottom:8px}.login-modal .modal-subtitle{color:#666;font-size:14px;margin-bottom:24px}.login-modal .modal-form-group{margin-bottom:16px}.login-modal .modal-form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:6px}.login-modal .modal-form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px}.login-modal .modal-form-group input:focus{outline:none;border-color:var(--primary)}.login-modal .modal-error{background:#fee;color:#c00;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.login-modal .modal-submit-btn{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.login-modal .modal-submit-btn:hover{background:var(--primary-dark)}.login-modal .modal-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-modal .modal-divider{display:flex;align-items:center;margin:20px 0;color:#999;font-size:13px}.login-modal .modal-divider:before,.login-modal .modal-divider:after{content:"";flex:1;height:1px;background:#ddd}.login-modal .modal-divider span{padding:0 12px}.login-modal .google-signin-btn{width:100%;padding:12px;background:#fff;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .2s}.login-modal .google-signin-btn:hover{background:#f5f5f5}.login-modal .modal-switch{text-align:center;margin-top:20px;font-size:14px;color:#666}.login-modal .modal-switch button{background:none;border:none;color:var(--primary);font-weight:500;cursor:pointer;padding:0}.login-modal .modal-switch button:hover{text-decoration:underline}.hotel-details-page{min-height:100vh;background:var(--bg-light);padding-bottom:100px}.back-button{display:flex;align-items:center;gap:8px;padding:16px 24px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:color .2s}.back-button:hover{color:var(--primary)}.hotel-top-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;max-width:1200px;margin:0 auto}.top-bar-actions{display:flex;gap:8px}.action-btn{width:40px;height:40px;border:1px solid var(--border-light);border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-primary)}.action-btn:hover{background:var(--bg-light);border-color:var(--border-medium)}.hotel-header-section{max-width:1200px;margin:0 auto;padding:24px 24px 16px;background:var(--bg-light)}.hotel-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.hotel-header-main{flex:1;max-width:700px}.hotel-mini-map{width:280px;height:200px;flex-shrink:0;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;position:relative;cursor:pointer;transition:box-shadow .2s ease}.hotel-mini-map:hover{box-shadow:0 4px 16px #00000026}.mini-map-label{position:absolute;bottom:12px;left:12px;background:#fff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:var(--primary);box-shadow:0 2px 4px #0000001a}@media(max-width:768px){.hotel-header-content{flex-direction:column}.hotel-mini-map{width:100%;height:180px;margin-top:16px}}.hotel-stars-row{display:flex;align-items:center;gap:3px;margin-bottom:8px}.hotel-chain-badge{margin-left:12px;padding:6px 14px;background:linear-gradient(135deg,#1a56db,#3b82f6);border-radius:20px;font-size:13px;color:#fff;font-weight:600;letter-spacing:.2px;box-shadow:0 2px 4px #1a56db33}.hotel-title{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px;line-height:1.2}.hotel-location{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary);margin-bottom:16px}.hotel-rating-badge{display:inline-flex;align-items:center;gap:12px;padding:8px 16px;background:#e6f7ef;border-radius:8px}.hotel-rating-badge .rating-number{font-size:20px;font-weight:700;color:var(--primary)}.hotel-rating-badge .rating-info{display:flex;flex-direction:column;gap:2px}.hotel-rating-badge .rating-label{font-size:14px;font-weight:600;color:var(--text-primary)}.hotel-rating-badge .review-count{font-size:12px;color:var(--text-secondary)}.hotel-tabs-container{position:sticky;top:0;z-index:100;max-width:1200px;margin:0 auto;padding:0 24px;background:var(--bg-light)}.hotel-tabs{display:flex;align-items:center;gap:0;background:#fff;border-radius:0;box-shadow:0 2px 8px #00000014;padding:0 8px}.tab-btn{padding:16px 20px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.tab-btn.select-room-btn{margin-left:auto;background:var(--primary);color:#fff;border-radius:8px;border-bottom:none;padding:10px 20px}.tab-btn.select-room-btn:hover{background:var(--primary-dark);color:#fff}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:40px}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-container h2{font-size:24px;color:var(--text-primary);margin-bottom:8px}.error-container p{color:var(--text-secondary);margin-bottom:24px}.error-container button{padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;cursor:pointer}.gallery-section{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr;gap:8px;height:400px;overflow:hidden}.main-image{position:relative;border-radius:0;overflow:hidden;cursor:pointer;z-index:1}.main-image img{width:100%;height:100%;object-fit:cover;pointer-events:none}.image-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(transparent,#0009);color:#fff;font-size:14px;font-weight:500;pointer-events:none}.thumbnail-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px}.thumbnail{position:relative;overflow:hidden;cursor:pointer}.thumbnail:nth-child(2){border-radius:0}.thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.thumbnail:hover img{transform:scale(1.05)}.thumbnail-more{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600}.hotel-content{max-width:1200px;margin:0 auto;padding:32px 24px}.hotel-main-info{background:#fff;border-radius:var(--radius-md);padding:32px;margin-bottom:24px}.hotel-header{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border-light)}.hotel-stars{display:flex;align-items:center;gap:4px;margin-bottom:12px}.hotel-chain{margin-left:12px;padding:4px 10px;background:var(--bg-light);border-radius:4px;font-size:13px;color:var(--text-secondary);font-weight:500}.hotel-header h1{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.hotel-address{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-secondary);margin-bottom:16px}.hotel-rating{display:flex;align-items:center;gap:8px}.rating-score{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;background:var(--primary);color:#fff;font-size:16px;font-weight:700;border-radius:var(--radius-sm)}.rating-text{font-size:15px;font-weight:600;color:var(--text-primary)}.rating-count{font-size:14px;color:var(--text-muted)}.hotel-description{margin-bottom:32px;padding-top:16px}.hotel-description h2,.hotel-amenities-section h2,.hotel-policies h2,.sentiment-section h2,.ask-ai-section h2{font-size:22px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.hotel-description p,.hotel-description div{font-size:15px;color:var(--text-secondary);line-height:1.7}.hotel-amenities-section{margin-top:24px;margin-bottom:32px}.amenities-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.amenity-item{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-light);border-radius:var(--radius-sm);font-size:14px;color:var(--text-primary)}.amenity-item svg{color:var(--primary);flex-shrink:0}.view-all-amenities-btn{margin-top:16px;padding:12px 24px;background:transparent;border:1px solid var(--border-color);border-radius:24px;color:var(--primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.view-all-amenities-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.policies-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.policy-item{display:flex;flex-direction:column;gap:4px}.policy-item.full-width{grid-column:1 / -1}.policy-label{font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.policy-value{font-size:15px;color:var(--text-primary)}.important-info{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.important-info h3{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.important-info-content{font-size:14px;color:var(--text-secondary);line-height:1.6}.important-info-content.truncated{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.read-more-btn{background:none;border:none;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;padding:8px 0;margin-top:8px}.read-more-btn:hover{text-decoration:underline}.important-info ul{margin:0;padding-left:20px}.important-info li{font-size:14px;color:var(--text-secondary);margin-bottom:8px;line-height:1.5}.detailed-policies{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}.detailed-policies h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.detailed-policy-item{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.detailed-policy-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detailed-policy-item h4{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px;display:flex;align-items:center;gap:8px}.detailed-policy-item h4 svg{color:var(--primary);flex-shrink:0}.detailed-policy-item p{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0;white-space:pre-line}.detailed-policy-item .policy-list{margin:0;padding:0;list-style:none}.detailed-policy-item .policy-list li{font-size:14px;color:var(--text-secondary);line-height:1.6;padding:4px 0 4px 16px;position:relative}.detailed-policy-item .policy-list li:before{content:"•";position:absolute;left:0;color:var(--text-muted)}.detailed-policy-item .policy-list li:first-child{padding-top:0}.detailed-policy-item .policy-list li:last-child{padding-bottom:0}.sentiment-section{background:#fff;border-radius:var(--radius-md);padding:32px;margin-top:24px}.sentiment-section h2{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.sentiment-content{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.sentiment-pros,.sentiment-cons{padding:16px;border-radius:var(--radius-sm)}.sentiment-pros{background:#e8f5e9}.sentiment-cons{background:#fce4ec}.sentiment-pros h3,.sentiment-cons h3{font-size:14px;font-weight:600;margin-bottom:12px}.sentiment-pros h3{color:#2e7d32}.sentiment-cons h3{color:#c62828}.sentiment-pros ul,.sentiment-cons ul{list-style:none;padding:0;margin:0}.sentiment-pros li,.sentiment-cons li{font-size:14px;color:var(--text-primary);padding:4px 0}.sentiment-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.category-item{padding:12px;background:var(--bg-light);border-radius:var(--radius-sm)}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.category-name{font-size:13px;font-weight:500;color:var(--text-primary)}.category-rating{font-size:14px;font-weight:600;color:var(--primary)}.category-bar{height:4px;background:var(--border-light);border-radius:2px;overflow:hidden}.category-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s ease}.hotel-description p{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:16px}.hotel-description p:last-child{margin-bottom:0}.hotel-description strong{color:var(--text-primary)}.reviews-section{background:#fff;border-radius:var(--radius-md);padding:32px;margin-top:24px}.reviews-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.reviews-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.read-all-reviews-btn{background:none;border:none;color:var(--primary);font-size:14px;font-weight:500;cursor:pointer;text-decoration:underline}.read-all-reviews-btn:hover{color:var(--primary-dark)}.sentiment-summary{margin-bottom:32px}.overall-score-section{display:flex;align-items:center;gap:16px;margin-bottom:28px}.overall-score-badge{width:52px;height:52px;background:var(--primary);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.overall-score-info{display:flex;flex-direction:column;gap:2px}.overall-score-label{font-size:16px;font-weight:600;color:var(--text-primary)}.overall-score-count{font-size:13px;color:var(--text-secondary)}.guests-liked-section{margin-bottom:28px}.guests-liked-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.guests-liked-pills{display:flex;flex-wrap:wrap;gap:10px}.liked-pill{display:inline-flex;align-items:center;padding:10px 18px;background:var(--primary);color:#fff;border-radius:24px;font-size:14px;font-weight:500}.categories-section{margin-bottom:24px}.categories-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.category-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 32px}.category-ratings .category-item{padding:0;background:transparent;border-radius:0}.category-ratings .category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.category-ratings .category-name{font-size:14px;font-weight:500;color:var(--text-primary)}.category-ratings .category-score{font-size:14px;font-weight:600;color:var(--text-primary)}.category-ratings .category-bar{height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden}.category-ratings .category-fill{height:100%;background:var(--primary);border-radius:3px}.ai-sentiment-note{display:flex;align-items:center;gap:8px;font-size:13px;color:#7c3aed;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}.ai-sparkle{font-size:16px}.reviews-list{display:flex;flex-direction:column;gap:16px;max-height:600px;overflow-y:auto;padding-right:8px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-light)}.reviews-list::-webkit-scrollbar{width:6px}.reviews-list::-webkit-scrollbar-track{background:var(--bg-light);border-radius:3px}.reviews-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.reviews-list::-webkit-scrollbar-thumb:hover{background:#aaa}.review-card{padding:20px;background:var(--bg-light);border-radius:var(--radius-md);border:1px solid var(--border-light)}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.reviewer-info{display:flex;align-items:center;gap:12px}.reviewer-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.reviewer-details{display:flex;flex-direction:column;gap:2px}.reviewer-name{font-size:14px;font-weight:600;color:var(--text-primary)}.reviewer-type{font-size:12px;color:var(--text-muted);text-transform:capitalize}.review-score{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.score-badge{background:var(--primary);color:#fff;font-size:14px;font-weight:600;padding:4px 10px;border-radius:6px}.score-label{font-size:11px;color:var(--text-muted)}.review-headline{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:12px;line-height:1.4}.review-content{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.review-pros,.review-cons{display:flex;gap:10px;align-items:flex-start}.review-pros svg{color:#2e7d32;flex-shrink:0;margin-top:2px}.review-cons svg{color:#c62828;flex-shrink:0;margin-top:2px}.review-pros p,.review-cons p{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0}.review-footer{display:flex;gap:12px;font-size:12px;color:var(--text-muted)}.reviews-scroll-hint{text-align:center;padding:16px;color:var(--text-muted);font-size:13px}.ask-ai-section{background:linear-gradient(135deg,#f8f9ff,#f0f4ff);border-radius:var(--radius-md);padding:24px;margin-top:24px;border:1px solid #e0e7ff}.ask-ai-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.ask-ai-title{display:flex;align-items:center;gap:16px}.ask-ai-title svg{color:#4f46e5}.ask-ai-title h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.ask-ai-title p{font-size:13px;color:var(--text-muted);margin:4px 0 0}.ask-ai-toggle{padding:10px 20px;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.ask-ai-toggle:hover{background:#4338ca}.ai-chat-container{margin-top:20px;padding-top:20px;border-top:1px solid #e0e7ff}.ai-prompts{margin-bottom:16px}.prompts-label{font-size:13px;color:var(--text-muted);margin:0 0 12px}.prompts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.prompt-btn{padding:12px 16px;background:#fff;border:1px solid #e0e7ff;border-radius:10px;font-size:13px;color:var(--text-primary);cursor:pointer;text-align:left;transition:all .2s}.prompt-btn:hover{background:#f0f4ff;border-color:#4f46e5}.prompt-btn:disabled{opacity:.5;cursor:not-allowed}.ai-messages{max-height:350px;overflow-y:auto;padding:16px 0;display:flex;flex-direction:column;gap:12px}.ai-message{display:flex;gap:10px;max-width:85%}.ai-message.user{margin-left:auto;flex-direction:row-reverse}.ai-message.assistant{margin-right:auto}.ai-avatar{width:32px;height:32px;background:#4f46e5;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.message-content{padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.5}.ai-message.user .message-content{background:#4f46e5;color:#fff;border-bottom-right-radius:4px}.ai-message.assistant .message-content{background:#fff;color:var(--text-primary);border:1px solid #e0e7ff;border-bottom-left-radius:4px}.message-content.typing{display:flex;gap:4px;padding:16px 20px}.message-content.typing span{width:8px;height:8px;background:#4f46e5;border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.message-content.typing span:nth-child(1){animation-delay:-.32s}.message-content.typing span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-quick-prompts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.quick-prompt-btn{padding:6px 12px;background:#fff;border:1px solid #e0e7ff;border-radius:20px;font-size:12px;color:#4f46e5;cursor:pointer;transition:all .2s}.quick-prompt-btn:hover{background:#f0f4ff}.ai-input-form{display:flex;gap:10px;background:#fff;border:1px solid #e0e7ff;border-radius:12px;padding:6px}.ai-input-form input{flex:1;padding:10px 14px;border:none;font-size:14px;outline:none;background:transparent}.ai-input-form input::placeholder{color:var(--text-muted)}.ai-input-form button{padding:10px 16px;background:#4f46e5;color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.ai-input-form button:hover:not(:disabled){background:#4338ca}.ai-input-form button:disabled{background:#c7d2fe;cursor:not-allowed}.rooms-section{background:var(--bg-light);padding:32px 0}.rooms-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:24px}.date-picker-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid var(--border-light);border-radius:50px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.date-field-wrapper{position:relative;flex:1}.date-field-button{display:flex;align-items:center;gap:12px;padding:10px 16px;background:transparent;border:none;border-radius:24px;cursor:pointer;width:100%;transition:background .2s}.date-field-button:hover{background:var(--bg-light)}.date-field-button svg{color:var(--text-secondary);flex-shrink:0}.date-field-content{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.date-field-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.date-field-value{font-size:14px;font-weight:500;color:var(--text-primary)}.date-picker-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;overflow:hidden;min-width:600px}.date-dropdown-header{display:flex;flex-direction:column;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-light);position:relative}.date-dropdown-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-light);border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:all .2s}.date-dropdown-close:hover{background:var(--bg-light);color:var(--text-primary)}.date-dropdown-range{font-size:18px;font-weight:600;color:var(--text-primary)}.date-dropdown-nights{font-size:14px;color:var(--text-secondary);margin-top:2px}.calendar-wrapper{padding:0}.calendar-wrapper .calendar-picker{height:auto;overflow:visible}.date-picker-dropdown .calendar-day.selected-start .day-bg,.date-picker-dropdown .calendar-day.selected-end .day-bg,.date-picker-dropdown .calendar-day.selected-single .day-bg{background:#009e60!important}.date-picker-dropdown .calendar-day.selected-start:after,.date-picker-dropdown .calendar-day.selected-end:before,.date-picker-dropdown .calendar-day.in-range:before{background:#009e60!important}.date-dropdown-done{display:block;width:calc(100% - 32px);margin:12px 16px 16px;padding:12px;background:#009e60!important;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.date-dropdown-done:hover{background:#008a54}.travelers-display{display:flex;align-items:center;gap:12px;padding:10px 16px;border-left:1px solid var(--border-light)}.travelers-display svg{color:var(--text-secondary);flex-shrink:0}.travelers-content{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.travelers-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.travelers-value{font-size:14px;font-weight:500;color:var(--text-primary)}.update-dates-btn{padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;margin-left:auto}.update-dates-btn:hover{background:var(--primary-dark)}.rooms-count{font-size:14px;color:var(--text-secondary);margin-bottom:20px;text-align:right}.rooms-loading,.no-rooms{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;background:#fff;border-radius:16px;gap:16px}.rooms-loading .loading-spinner{width:32px;height:32px}.rooms-loading p,.no-rooms p{color:var(--text-secondary);margin:0}.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.room-card-expedia{background:#fff;border:1px solid var(--border-light);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:all .3s}.room-card-expedia:hover{box-shadow:0 4px 16px #0000001a}.room-card-expedia.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.room-image-carousel{position:relative;width:100%;height:160px;background:var(--bg-light);overflow:hidden}.room-image-carousel img{width:100%;height:100%;object-fit:cover}.room-image-carousel .no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;background:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s;box-shadow:0 2px 8px #00000026}.room-image-carousel:hover .carousel-nav{opacity:1}.carousel-nav.prev{left:8px}.carousel-nav.next{right:8px}.carousel-nav:hover{background:var(--bg-light)}.image-counter{position:absolute;bottom:8px;right:8px;background:#000000b3;color:#fff;padding:4px 10px;border-radius:20px;font-size:12px}.room-card-content{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}.room-name{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 8px;line-height:1.3}.room-specs{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:8px}.spec-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary)}.spec-item svg{color:var(--text-muted);flex-shrink:0;width:14px;height:14px}.more-details-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--primary);font-size:12px;font-weight:500;cursor:pointer;padding:0;margin-bottom:10px}.more-details-btn:hover{text-decoration:underline}.options-section{margin-bottom:12px;padding-top:10px;border-top:1px solid var(--border-light)}.options-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.options-header span:first-child{font-size:12px;font-weight:600;color:var(--text-primary)}.options-header .per-label{font-size:11px;color:var(--text-muted)}.options-list{display:flex;flex-direction:column;gap:6px}.option-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;background:var(--bg-light);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.option-item:hover{background:#f0f4ff}.option-item.selected{background:#f0f4ff;border-color:var(--primary)}.option-item.disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.option-item.disabled:hover{background:#f5f5f5}.option-item input[type=radio]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin-top:1px}.option-item.disabled input[type=radio]{cursor:not-allowed}.option-label{flex:1;display:flex;flex-direction:column;gap:1px}.option-text{font-size:12px;color:var(--text-primary);display:flex;align-items:center;gap:6px}.option-text .extras-icon{color:#2563eb;flex-shrink:0}.option-text.refundable{color:#2e7d32}.option-text.unavailable{color:var(--text-muted);text-decoration:line-through}.reserve-note{font-size:10px;color:var(--text-muted)}.option-price{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.single-option-display{margin-bottom:8px;padding-top:8px;border-top:1px solid var(--border-light)}.option-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.option-badge.refundable{background:#e8f5e9;color:#2e7d32}.option-badge.non-refundable{background:#f5f5f5;color:var(--text-secondary)}.option-badge.extras{background:#eff6ff;color:#2563eb}.option-price .unavailable-text{color:var(--text-muted);font-style:italic}.room-pricing-section{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:8px}.price-display{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.nightly-price{font-size:18px;font-weight:700;color:var(--text-primary)}.nightly-price span{font-size:12px;font-weight:400;color:var(--text-muted)}.total-price{font-size:13px;font-weight:600;color:var(--text-secondary)}.taxes-note{font-size:11px;color:#2e7d32}.reserve-btn{width:100%;padding:12px;background:#1668e3;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.reserve-btn:hover{background:#1252b5}.reserve-btn.selected{background:#2e7d32}.no-charge-note{font-size:11px;color:var(--text-muted);text-align:center}.sticky-book-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border-light);box-shadow:0 -4px 20px #0000001a;z-index:100}.book-bar-content{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center}.book-bar-info{display:flex;flex-direction:column;gap:4px}.selected-room-name{font-size:14px;color:var(--text-secondary)}.selected-room-price{font-size:20px;font-weight:700;color:var(--text-primary)}.book-now-btn{padding:14px 40px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.book-now-btn:hover{background:var(--primary-dark)}.gallery-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:2000;display:flex;align-items:center;justify-content:center}.gallery-close{position:absolute;top:20px;right:20px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s}.gallery-close:hover{background:#fff3}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .2s}.gallery-nav:hover{background:#fff3}.gallery-nav.prev{left:20px}.gallery-nav.next{right:20px}.gallery-image{max-width:90vw;max-height:85vh;display:flex;align-items:center;justify-content:center}.gallery-image img{max-width:100%;max-height:85vh;object-fit:contain}.gallery-counter{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:8px 16px;background:#0009;color:#fff;font-size:14px;border-radius:20px}@media(max-width:1024px){.gallery-section{height:350px}.amenities-grid{grid-template-columns:repeat(3,1fr)}.rooms-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hotel-details-page{padding-bottom:120px}.back-button{padding:12px 16px}.hotel-tabs-container{padding:0}.hotel-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 8px}.hotel-tabs::-webkit-scrollbar{display:none}.tab-btn{padding:14px;font-size:13px;flex-shrink:0}.tab-btn.select-room-btn{display:none}.gallery-modal{padding:0}.gallery-close{top:12px;right:12px;width:40px;height:40px;background:#00000080;z-index:10}.gallery-nav{width:40px;height:40px;background:#00000080}.gallery-nav.prev{left:8px}.gallery-nav.next{right:8px}.gallery-image{width:100%;height:100%;max-width:100vw;max-height:100vh;display:flex;align-items:center;justify-content:center}.gallery-image img{max-width:100%;max-height:100vh;object-fit:contain}.gallery-counter{bottom:30px}.gallery-section{display:block;height:auto;padding:0}.main-image{height:250px;border-radius:0}.thumbnail-grid{display:none}.hotel-content{padding:16px}.hotel-main-info{padding:20px}.rooms-section{padding:20px 16px}.rooms-title{font-size:22px}.date-picker-bar{flex-direction:column;gap:12px;padding:12px;border-radius:16px}.date-field-wrapper{width:100%}.date-field-button{width:100%;padding:12px 16px;background:var(--bg-light);border-radius:12px}.date-picker-dropdown{position:fixed;top:0;left:0;right:0;bottom:0;min-width:auto;border-radius:0;z-index:2000;display:flex;flex-direction:column}.date-picker-dropdown .calendar-wrapper{flex:1;overflow-y:auto}.date-picker-dropdown .calendar-picker.side-by-side{display:block;padding:0}.date-picker-dropdown .calendar-picker.side-by-side .calendar-nav{display:none}.date-picker-dropdown .calendar-picker.side-by-side .calendar-grid-container{display:block}.date-picker-dropdown .calendar-picker.side-by-side .calendar-grid{margin-bottom:24px;padding:0 16px}.date-picker-dropdown .calendar-picker.side-by-side .calendar-weekdays-row{margin-bottom:8px}.date-picker-dropdown .calendar-day.selected-start .day-bg,.date-picker-dropdown .calendar-day.selected-end .day-bg,.date-picker-dropdown .calendar-day.selected-single .day-bg{background:#27bb36!important}.date-picker-dropdown .calendar-day.selected-start:after,.date-picker-dropdown .calendar-day.selected-end:before,.date-picker-dropdown .calendar-day.in-range:before{background:#27bb36!important}.date-dropdown-done{margin:12px 16px 24px;padding:14px;border-radius:12px;background:#27bb36!important}.travelers-display{width:100%;padding:12px 16px;background:var(--bg-light);border-radius:12px;border-left:none}.update-dates-btn{width:100%;padding:14px 24px;border-radius:12px}.rooms-grid{grid-template-columns:1fr}.hotel-header h1{font-size:22px}.amenities-grid{grid-template-columns:repeat(2,1fr)}.book-bar-content{flex-direction:column;gap:12px}.book-now-btn{width:100%}.gallery-nav{width:44px;height:44px}.gallery-nav.prev{left:10px}.gallery-nav.next{right:10px}.sentiment-content{grid-template-columns:1fr}.sentiment-categories{grid-template-columns:repeat(2,1fr)}.reviews-section{padding:20px}.reviews-header-row{flex-direction:column;align-items:flex-start;gap:12px}.reviews-title{font-size:18px}.category-ratings{grid-template-columns:repeat(2,1fr);gap:16px 24px}.guests-liked-pills{gap:8px}.liked-pill{padding:8px 14px;font-size:13px}.reviews-list{max-height:500px}.review-card{padding:16px}.reviewer-avatar{width:36px;height:36px;font-size:14px}.ask-ai-header{flex-direction:column;align-items:flex-start;gap:12px}.ask-ai-toggle{width:100%}.prompts-grid{grid-template-columns:1fr}.ai-message{max-width:90%}.ai-quick-prompts{flex-direction:column}.quick-prompt-btn{text-align:center}.room-modal{width:100%;height:100%;max-height:100%;border-radius:0}}.room-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.room-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.room-modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-light)}.room-modal-close{width:32px;height:32px;border:1px solid var(--border-light);border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.room-modal-close:hover{background:var(--bg-light)}.room-modal-title{font-size:16px;font-weight:600;color:var(--text-primary)}.room-modal-content{flex:1;overflow-y:auto;padding:0}.room-modal-gallery{position:relative;width:100%;height:280px;background:var(--bg-light)}.room-modal-gallery img{width:100%;height:100%;object-fit:cover}.room-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;background:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s}.room-modal-nav:hover{background:var(--bg-light)}.room-modal-nav.prev{left:12px}.room-modal-nav.next{right:12px}.room-modal-name{font-size:20px;font-weight:600;color:var(--text-primary);margin:0;padding:20px 20px 12px}.room-modal-specs{display:flex;flex-wrap:wrap;gap:16px;padding:0 20px 16px;border-bottom:1px solid var(--border-light)}.modal-spec-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary)}.modal-spec-item svg{color:var(--text-muted)}.room-modal-section{padding:16px 20px;border-bottom:1px solid var(--border-light)}.room-modal-section:last-child{border-bottom:none}.room-modal-section h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.room-modal-amenities{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px}.modal-amenity-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.modal-amenity-item svg{color:var(--primary);flex-shrink:0}.modal-amenity-toggle{display:block;width:100%;margin-top:12px;padding:0;background:none;border:none;font-size:14px;color:var(--primary);font-weight:500;cursor:pointer;text-align:left}.modal-amenity-toggle:hover{text-decoration:underline}.room-modal-description{font-size:14px;color:var(--text-secondary);line-height:1.6}.room-modal-description p{margin:0 0 12px}.room-modal-description b,.room-modal-description strong{color:var(--text-primary);font-weight:600}.location-map-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:#fff;display:flex;flex-direction:column}.location-map-close{position:absolute;top:16px;right:16px;z-index:10;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;cursor:pointer;transition:all .2s ease}.location-map-close:hover{background:#f5f5f5;box-shadow:0 4px 12px #0003}.location-map-header{position:absolute;top:16px;left:16px;z-index:10;background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 2px 12px #00000026;max-width:400px}.location-map-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.location-map-header p{font-size:13px;color:var(--text-secondary);margin:0;display:flex;align-items:center;gap:4px}.open-maps-btn{display:inline-block;margin-top:10px;padding:8px 14px;background:var(--primary-color, #1a56db);color:#fff;font-size:13px;font-weight:500;text-decoration:none;border-radius:8px;transition:background .2s}.open-maps-btn:hover{background:var(--primary-hover, #1648b8)}@media(max-width:768px){.location-map-header{left:12px;right:60px;max-width:none;padding:12px 16px}.location-map-header h2{font-size:16px}.location-map-close{top:12px;right:12px}}.prebook-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1200;animation:fadeIn .2s ease}.prebook-loading-content{background:#fff;border-radius:16px;padding:48px;text-align:center;max-width:320px}.prebook-spinner{width:48px;height:48px;border:4px solid var(--border-light);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(360deg)}}.prebook-loading-content h3{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.prebook-loading-content p{font-size:14px;color:var(--text-secondary)}.prebook-error-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1200;padding:20px;animation:fadeIn .2s ease}.prebook-error-modal{background:#fff;border-radius:16px;padding:32px;text-align:center;max-width:360px}.prebook-error-modal .error-icon{color:#ef4444;width:48px;height:48px;margin-bottom:16px}.prebook-error-modal h3{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.prebook-error-modal p{font-size:14px;color:var(--text-secondary);margin-bottom:24px}.pre-checkout-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px;animation:fadeIn .2s ease}.pre-checkout-popup{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:32px;position:relative;animation:slideUp .3s ease;text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.popup-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;transition:color .2s}.popup-close:hover{color:var(--text-primary)}.popup-back{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:14px;padding:0;margin-bottom:16px;transition:color .2s}.popup-back:hover{color:var(--primary)}.popup-icon{width:64px;height:64px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#f59e0b}.pre-checkout-popup h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.popup-savings{font-size:16px;color:var(--text-secondary);margin:0 0 8px}.popup-savings strong{color:var(--primary);font-weight:600}.popup-subtitle{font-size:14px;color:var(--text-muted);margin:0 0 24px}.popup-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.popup-btn{width:100%;padding:14px 20px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px}.popup-btn.primary{background:var(--primary);color:#fff;border:none}.popup-btn.primary:hover{background:var(--primary-dark)}.popup-btn.primary:disabled{opacity:.6;cursor:not-allowed}.popup-btn.secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.popup-btn.secondary:hover{background:var(--bg-light);color:var(--text-primary)}.popup-btn.google{background:#fff;color:var(--text-primary);border:1px solid var(--border-color)}.popup-btn.google:hover{background:#f8f9fa}.popup-btn.google:disabled{opacity:.6;cursor:not-allowed}.popup-benefits{display:flex;flex-direction:column;gap:10px;padding-top:20px;border-top:1px solid var(--border-light)}.benefit-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-secondary)}.benefit-item svg{color:var(--primary);flex-shrink:0}.popup-form{text-align:left}.popup-form-group{margin-bottom:16px}.popup-form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.popup-form-group input{width:100%;padding:12px 14px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;transition:border-color .2s}.popup-form-group input:focus{outline:none;border-color:var(--primary)}.popup-error{background:#fef2f2;color:#ef4444;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.popup-divider{display:flex;align-items:center;margin:20px 0;color:var(--text-muted);font-size:13px}.popup-divider:before,.popup-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.popup-divider span{padding:0 16px}.popup-footer-text{font-size:13px;color:var(--text-secondary);margin-top:20px}.popup-footer-text .text-link{background:none;border:none;color:var(--primary);font-weight:500;cursor:pointer;padding:0}.popup-footer-text .text-link:hover{text-decoration:underline}@media(max-width:480px){.pre-checkout-popup{padding:24px 20px;margin:10px;max-height:90vh;overflow-y:auto}.pre-checkout-popup h2{font-size:20px}.popup-savings{font-size:15px}}.checkout-page{min-height:100vh;background:#f8f9fa;padding:40px 24px}.checkout-page *{box-sizing:border-box}.checkout-page .checkout-container{max-width:1100px;margin:0 auto}.checkout-page .checkout-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;background:#fff;border-radius:12px;padding:48px;box-shadow:0 1px 3px #00000014}.checkout-page .checkout-error svg{color:#6b7280;margin-bottom:24px}.checkout-page .checkout-error h2{font-size:24px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.checkout-page .checkout-error p{color:#6b7280;margin:0 0 24px;max-width:400px}.checkout-page .error-buttons{display:flex;gap:12px}.checkout-page .retry-btn{padding:12px 32px;background:#27bb36;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.checkout-page .retry-btn:hover{background:#22a830}.checkout-page .back-btn{padding:12px 32px;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.checkout-page .back-btn:hover{background:#e5e7eb}.checkout-page .checkout-content{display:grid;grid-template-columns:1fr 400px;gap:32px;align-items:start}.checkout-page .checkout-form{display:flex;flex-direction:column;gap:24px}.checkout-page .form-section{background:#fff;border-radius:12px;padding:28px;box-shadow:0 1px 3px #00000014}.checkout-page .form-section h2{font-size:20px;font-weight:600;color:#1a1a2e;margin:0 0 20px;display:flex;align-items:center;gap:10px}.checkout-page .form-section h2 svg{color:#27bb36}.checkout-page .form-section h3{font-size:16px;font-weight:600;color:#1a1a2e;margin:0 0 16px;display:flex;align-items:center;gap:8px}.checkout-page .section-subtitle{font-size:14px;color:#6b7280;margin:-12px 0 16px}.checkout-page .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.checkout-page .form-group{margin-bottom:16px}.checkout-page .form-group:last-child{margin-bottom:0}.checkout-page .form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.checkout-page .input-with-icon{position:relative;display:flex;align-items:center}.checkout-page .input-with-icon svg{position:absolute;left:14px;color:#9ca3af;pointer-events:none}.checkout-page .input-with-icon input{width:100%;padding:12px 12px 12px 44px;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;color:#1a1a2e;background:#fff;transition:border-color .2s,box-shadow .2s}.checkout-page .input-with-icon input:focus{outline:none;border-color:#27bb36;box-shadow:0 0 0 3px #27bb361a}.checkout-page .input-with-icon input.error{border-color:#ef4444}.checkout-page .input-with-icon input::placeholder{color:#9ca3af}.checkout-page .form-group textarea{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;color:#1a1a2e;resize:vertical;min-height:80px;font-family:inherit}.checkout-page .form-group textarea:focus{outline:none;border-color:#27bb36;box-shadow:0 0 0 3px #27bb361a}.checkout-page .form-group textarea::placeholder{color:#9ca3af}.checkout-page .address-section{margin:20px 0;padding:20px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.checkout-page .address-section-label{display:block;font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:16px}.checkout-page .address-fields{display:flex;flex-direction:column;gap:12px}.checkout-page .address-input{width:100%;padding:14px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;color:#1a1a2e;background:#fff;transition:border-color .2s,box-shadow .2s}.checkout-page .address-input:focus{outline:none;border-color:#27bb36;box-shadow:0 0 0 3px #27bb361a}.checkout-page .address-input::placeholder{color:#9ca3af}.checkout-page .address-row-half{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkout-page .country-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}.checkout-page .country-select:focus{outline:none;border-color:#27bb36;box-shadow:0 0 0 3px #27bb361a}@media(max-width:480px){.checkout-page .address-row-half{grid-template-columns:1fr}}.checkout-page .error-message{display:block;font-size:13px;color:#ef4444;margin-top:4px}.checkout-page .booking-for-section{padding-top:24px;border-top:none;margin-top:24px}.checkout-page .booking-for-options{display:flex;gap:12px}.checkout-page .booking-for-option{flex:1;display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s;background:#fff}.checkout-page .booking-for-option:hover{border-color:#d1d5db}.checkout-page .booking-for-option.selected{border-color:#27bb36;background:#27bb360a}.checkout-page .booking-for-option input[type=radio]{margin-top:2px;accent-color:#27bb36;width:18px;height:18px}.checkout-page .option-content{flex:1}.checkout-page .option-text{display:flex;flex-direction:column;gap:2px}.checkout-page .option-title{font-size:15px;font-weight:600;color:#1a1a2e}.checkout-page .option-desc{font-size:13px;color:#6b7280}.checkout-page .payment-section{overflow:hidden}.checkout-page .payment-sdk-container{min-height:250px;margin-bottom:16px}.checkout-page .payment-sdk-container iframe{border:none!important}.checkout-page .payment-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#6b7280;font-size:14px}.checkout-page .payment-loading .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#27bb36;border-radius:50%;animation:checkout-spin .8s linear infinite;margin-bottom:12px}@keyframes checkout-spin{to{transform:rotate(360deg)}}.checkout-page .stripe-badge{display:flex;justify-content:center;padding-top:12px;border-top:1px solid #f3f4f6}.checkout-page .stripe-badge img{height:24px;opacity:.7}.checkout-page .login-prompt{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#166534;font-size:14px;cursor:pointer;transition:background .2s}.checkout-page .login-prompt:hover{background:#dcfce7}.checkout-page .booking-summary{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}.checkout-page .summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014}.checkout-page .summary-header h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 16px}.checkout-page .summary-hotel-image{width:100%;height:180px;border-radius:10px;overflow:hidden;margin-bottom:16px}.checkout-page .summary-hotel-image img{width:100%;height:100%;object-fit:cover}.checkout-page .summary-hotel{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.checkout-page .summary-hotel h4{font-size:17px;font-weight:600;color:#1a1a2e;margin:0 0 6px;line-height:1.3}.checkout-page .summary-stars{display:flex;align-items:center;gap:2px;margin-bottom:8px}.checkout-page .hotel-location{display:flex;align-items:flex-start;gap:6px;font-size:14px;color:#6b7280;line-height:1.4}.checkout-page .hotel-location svg{flex-shrink:0;margin-top:3px}.checkout-page .summary-dates{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.checkout-page .date-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.checkout-page .date-item{display:flex;flex-direction:column;gap:2px}.checkout-page .date-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.checkout-page .date-value{font-size:14px;font-weight:600;color:#1a1a2e}.checkout-page .date-time{font-size:12px;color:#9ca3af}.checkout-page .stay-info{display:flex;justify-content:space-between;font-size:14px;color:#6b7280}.checkout-page .summary-room{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.checkout-page .room-name{font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:4px}.checkout-page .room-board{font-size:14px;color:#6b7280}.checkout-page .voucher-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f3f4f6}.checkout-page .voucher-toggle{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:14px;cursor:pointer;width:100%;transition:all .2s}.checkout-page .voucher-toggle:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.checkout-page .voucher-input-row{display:flex;gap:8px}.checkout-page .voucher-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.checkout-page .voucher-input-wrapper svg{position:absolute;left:12px;color:#9ca3af}.checkout-page .voucher-input-wrapper input{width:100%;padding:10px 10px 10px 36px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;text-transform:uppercase}.checkout-page .voucher-input-wrapper input:focus{outline:none;border-color:#27bb36}.checkout-page .voucher-input-wrapper input.error{border-color:#ef4444}.checkout-page .voucher-apply-btn{padding:10px 16px;background:#27bb36;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.checkout-page .voucher-apply-btn:disabled{background:#d1d5db;cursor:not-allowed}.checkout-page .voucher-error{display:block;font-size:13px;color:#ef4444;margin-top:6px}.checkout-page .summary-pricing{padding-top:8px}.checkout-page .price-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#6b7280;margin-bottom:8px}.checkout-page .price-row.total{font-size:18px;font-weight:700;color:#1a1a2e;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.checkout-page .payment-breakdown{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.checkout-page .payment-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#6b7280;margin-bottom:6px}.checkout-page .payment-row:last-child{margin-bottom:0}.checkout-page .pay-at-property{display:flex;justify-content:space-between;align-items:center;padding-top:12px;margin-top:12px;border-top:1px dashed #e0e0e0;color:#6b7280;font-size:13px}.checkout-page .label-with-info{display:flex;align-items:center;gap:6px}.checkout-page .info-tooltip{position:relative;display:inline-flex;align-items:center;cursor:pointer;color:#9ca3af}.checkout-page .info-tooltip:hover{color:#6b7280}.checkout-page .info-tooltip .tooltip-text{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:100;transition:opacity .2s,visibility .2s;box-shadow:0 2px 8px #00000026}.checkout-page .info-tooltip .tooltip-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#333}.checkout-page .info-tooltip:hover .tooltip-text{visibility:visible;opacity:1}.checkout-page .summary-cancellation{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.checkout-page .summary-cancellation h4{font-size:15px;font-weight:600;color:#1a1a2e;margin:0 0 12px}.checkout-page .cancellation-info{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:8px}.checkout-page .cancellation-info .cancel-header{display:flex;align-items:center;gap:8px}.checkout-page .cancellation-info svg{flex-shrink:0}.checkout-page .cancellation-info.refundable{background:#f0fdf4}.checkout-page .cancellation-info.refundable svg{color:#16a34a}.checkout-page .cancellation-info.refundable .cancel-status{color:#166534;font-weight:600;font-size:14px}.checkout-page .cancellation-info.refundable .cancel-deadline{color:#166534;font-size:13px}.checkout-page .cancellation-info.non-refundable{background:#fef2f2}.checkout-page .cancellation-info.non-refundable svg{color:#dc2626}.checkout-page .cancellation-info.non-refundable .cancel-status{color:#991b1b;font-weight:600;font-size:14px}.checkout-page .cancellation-info.non-refundable .cancel-deadline{color:#991b1b;font-size:13px}.checkout-page .login-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.checkout-page .login-modal{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:420px;position:relative}.checkout-page .modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:none;border-radius:50%;font-size:20px;color:#6b7280;cursor:pointer}.checkout-page .login-modal h2{font-size:24px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.checkout-page .modal-subtitle{font-size:14px;color:#6b7280;margin:0 0 24px}.checkout-page .modal-form-group{margin-bottom:16px}.checkout-page .modal-form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.checkout-page .modal-form-group input{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:8px;font-size:15px}.checkout-page .modal-form-group input:focus{outline:none;border-color:#27bb36;box-shadow:0 0 0 3px #27bb361a}.checkout-page .modal-error{padding:10px 14px;background:#fef2f2;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px}.checkout-page .modal-submit{width:100%;padding:14px;background:#27bb36;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.checkout-page .modal-submit:hover{background:#22a32f}.checkout-page .modal-submit:disabled{background:#9ca3af;cursor:not-allowed}.checkout-page .modal-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:#9ca3af;font-size:13px}.checkout-page .modal-divider:before,.checkout-page .modal-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.checkout-page .google-login-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:15px;font-weight:500;color:#374151;cursor:pointer;transition:background .2s}.checkout-page .google-login-btn:hover{background:#f9fafb}.checkout-page .google-login-btn img{width:20px;height:20px}.checkout-page .modal-switch{text-align:center;font-size:14px;color:#6b7280;margin-top:20px}.checkout-page .modal-switch button{background:none;border:none;color:#27bb36;font-weight:600;cursor:pointer}@media(max-width:900px){.checkout-page{padding:20px 16px}.checkout-page .checkout-content{grid-template-columns:1fr}.checkout-page .booking-summary{position:static;order:-1}.checkout-page .form-grid{grid-template-columns:1fr}.checkout-page .booking-for-options{flex-direction:column}}@media(max-width:480px){.checkout-page .form-section,.checkout-page .summary-card{padding:20px}.checkout-page .date-row{grid-template-columns:1fr;gap:12px}}.checkout-page .checkout-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;display:flex;align-items:center;justify-content:center;z-index:9999}.checkout-page .checkout-loading-content{display:flex;flex-direction:column;align-items:center;gap:24px}.checkout-page .checkout-loading-logo{display:flex;align-items:center;gap:8px}.checkout-page .checkout-loading-logo .logo-text{font-size:32px;font-weight:700;color:#27bb36;letter-spacing:-.5px}.checkout-page .checkout-loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#27bb36;border-radius:50%;animation:checkout-overlay-spin .8s linear infinite}@keyframes checkout-overlay-spin{to{transform:rotate(360deg)}}.checkout-page .checkout-loading-content p{font-size:16px;color:#6b7280;margin:0}.checkout-page .complete-booking-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:#27bb36;color:#fff;border:none;border-radius:10px;font-size:17px;font-weight:600;cursor:pointer;margin-top:20px;transition:all .2s;box-shadow:0 4px 12px #27bb364d}.checkout-page .complete-booking-btn:hover{background:#22a32f;transform:translateY(-1px);box-shadow:0 6px 16px #27bb3666}.checkout-page .complete-booking-btn:active{transform:translateY(0)}.checkout-page .complete-booking-btn svg{flex-shrink:0}.checkout-page .payment-sdk-container button[type=submit],.checkout-page .payment-sdk-container .SubmitButton,.checkout-page #payment-element button[type=submit]{display:none!important}.confirm-page{min-height:100vh;background:#fff;padding:40px 20px}.confirm-page .confirm-container{max-width:1100px;margin:0 auto}.confirm-page .success-badge{display:inline-flex;align-items:center;gap:8px;background:#22c55e;color:#fff;padding:10px 20px;border-radius:24px;font-size:14px;font-weight:600;margin-bottom:24px}.confirm-page .success-badge svg{flex-shrink:0}.confirm-page .confirm-content{display:grid;grid-template-columns:1fr 380px;gap:32px;align-items:start}.confirm-page .confirm-main{display:flex;flex-direction:column;gap:20px}.confirm-page .confirm-hotel-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000014}.confirm-page .confirm-hotel-image{width:100%;height:240px;overflow:hidden}.confirm-page .confirm-hotel-image img{width:100%;height:100%;object-fit:cover}.confirm-page .confirm-hotel-details{padding:20px 24px}.confirm-page .confirm-hotel-details h2{font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 6px}.confirm-page .confirm-hotel-stars{display:flex;gap:2px;margin-bottom:8px}.confirm-page .confirm-hotel-address{display:flex;align-items:flex-start;gap:8px;color:#64748b;font-size:14px;line-height:1.4}.confirm-page .confirm-hotel-address svg{flex-shrink:0;margin-top:3px}.confirm-page .unified-booking-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000014}.confirm-page .unified-hotel-image{width:100%;height:280px;overflow:hidden}.confirm-page .unified-hotel-image img{width:100%;height:100%;object-fit:cover}.confirm-page .unified-hotel-info{padding:16px 20px}.confirm-page .unified-hotel-info h2{font-size:20px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.confirm-page .unified-stars{display:flex;gap:2px;margin-bottom:6px}.confirm-page .unified-address{display:flex;align-items:flex-start;gap:8px;color:#64748b;font-size:14px;line-height:1.4}.confirm-page .unified-address svg{flex-shrink:0;margin-top:3px}.confirm-page .unified-amenities{display:flex;flex-wrap:wrap;gap:6px;padding:12px 20px}.confirm-page .amenity-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:#f1f5f9;border-radius:20px;font-size:11px;color:#475569}.confirm-page .amenity-tag svg{color:#64748b;flex-shrink:0}.confirm-page .unified-divider{height:1px;background:#e2e8f0;margin:0 20px}.confirm-page .unified-dates{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.confirm-page .unified-dates .date-col{display:flex;flex-direction:column;gap:4px}.confirm-page .unified-dates .date-col.right{text-align:right}.confirm-page .unified-dates .date-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.confirm-page .unified-dates .date-value{font-size:15px;font-weight:600;color:#1a1a2e}.confirm-page .unified-dates .date-time{font-size:12px;color:#22c55e}.confirm-page .unified-stay-details{padding:12px 20px}.confirm-page .stay-detail-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.confirm-page .stay-detail-row:not(:last-child){border-bottom:1px solid #f1f5f9}.confirm-page .detail-label{font-size:14px;color:#64748b}.confirm-page .detail-value{font-size:14px;font-weight:600;color:#1a1a2e}.confirm-page .unified-guest{padding:12px 20px}.confirm-page .unified-guest h4{font-size:13px;font-weight:600;color:#1a1a2e;margin:0 0 10px}.confirm-page .guest-info-grid{display:flex;flex-direction:column;gap:8px}.confirm-page .unified-guest .guest-row{display:flex;align-items:center;gap:10px;font-size:14px;color:#334155}.confirm-page .unified-guest .guest-row svg{color:#94a3b8;flex-shrink:0}.confirm-page .unified-cancellation{padding:12px 16px 14px;border-left:4px solid #22c55e;margin:0 12px 12px;border-radius:8px;background:#f0fdf4}.confirm-page .unified-cancellation.non-refundable{border-left-color:#ef4444;background:#fef2f2}.confirm-page .unified-cancellation .cancel-badge{font-size:14px;font-weight:600;color:#16a34a}.confirm-page .unified-cancellation.non-refundable .cancel-badge{color:#dc2626}.confirm-page .unified-cancellation p{margin:8px 0 0;font-size:13px;color:#64748b;line-height:1.5}.confirm-page .stay-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #00000014}.confirm-page .stay-dates{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #e2e8f0;margin-bottom:20px}.confirm-page .date-col{display:flex;flex-direction:column;gap:4px}.confirm-page .date-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.confirm-page .date-value{font-size:16px;font-weight:600;color:#1a1a2e}.confirm-page .date-time{font-size:13px;color:#94a3b8}.confirm-page .unified-dates .nights-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 20px;background:#dcfce7;border-radius:12px}.confirm-page .nights-num{font-size:24px;font-weight:700;color:#16a34a;line-height:1}.confirm-page .nights-text{font-size:12px;color:#22c55e;font-weight:500}.confirm-page .stay-info{display:flex;flex-direction:column;gap:12px}.confirm-page .stay-item{display:flex;justify-content:space-between;align-items:center}.confirm-page .stay-label{font-size:14px;color:#64748b}.confirm-page .stay-value{font-size:14px;font-weight:600;color:#1a1a2e}.confirm-page .section-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #00000014}.confirm-page .section-card h3{font-size:16px;font-weight:700;color:#1a1a2e;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.confirm-page .guest-info{display:flex;flex-direction:column;gap:12px}.confirm-page .guest-row{display:flex;align-items:center;gap:12px;font-size:14px;color:#334155}.confirm-page .guest-row svg{color:#94a3b8}.confirm-page .special-requests{margin-top:16px;padding:12px;background:#f8fafc;border-radius:8px;font-size:14px;color:#64748b}.confirm-page .cancellation-card{background:#fff;border-radius:16px;padding:20px 24px;box-shadow:0 2px 12px #00000014;border-left:4px solid #22c55e}.confirm-page .cancellation-card.non-refundable{border-left-color:#ef4444}.confirm-page .cancel-header{margin-bottom:8px}.confirm-page .cancel-badge{font-size:14px;font-weight:600}.confirm-page .cancellation-card.refundable .cancel-badge{color:#16a34a}.confirm-page .cancellation-card.non-refundable .cancel-badge{color:#dc2626}.confirm-page .cancellation-card p{font-size:14px;color:#64748b;margin:0}.confirm-page .inclusions{font-size:14px;color:#334155}.confirm-page .inclusions ul{margin:0;padding-left:20px}.confirm-page .inclusions li{margin-bottom:6px}.confirm-page .confirm-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:20px}.confirm-page .reference-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #00000014}.confirm-page .reference-card h3{font-size:14px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.confirm-page .reference-item{margin-bottom:16px}.confirm-page .reference-item.main{padding-bottom:16px;border-bottom:1px solid #e2e8f0}.confirm-page .ref-label{display:block;font-size:12px;color:#94a3b8;margin-bottom:4px}.confirm-page .ref-value-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.confirm-page .ref-value{font-size:16px;font-weight:700;color:#1a1a2e;word-break:break-all}.confirm-page .reference-item.main .ref-value{font-size:18px;color:#16a34a}.confirm-page .copy-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:8px;cursor:pointer;color:#64748b;transition:all .2s;flex-shrink:0}.confirm-page .copy-btn:hover{background:#e2e8f0;color:#334155}.confirm-page .copy-btn.copied{background:#dcfce7;color:#16a34a}.confirm-page .reference-status{display:flex;align-items:center;gap:8px;font-size:14px;color:#334155;font-weight:500}.confirm-page .status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e}.confirm-page .status-dot.pending{background:#f59e0b}.confirm-page .status-dot.cancelled{background:#ef4444}.confirm-page .price-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px #00000014}.confirm-page .price-card h4{font-size:15px;font-weight:700;color:#1a1a2e;margin:0 0 16px}.confirm-page .price-row{display:flex;justify-content:space-between;font-size:14px;color:#64748b;margin-bottom:12px}.confirm-page .price-divider{height:1px;background:#e2e8f0;margin:16px 0}.confirm-page .price-total{display:flex;justify-content:space-between;font-size:18px;font-weight:700;color:#1a1a2e}.confirm-page .fees-card{background:#fffbeb;border-radius:16px;padding:20px 24px;border:1px solid #fde68a}.confirm-page .fees-card h4{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#92400e;margin-bottom:8px}.confirm-page .fees-card h4 svg{color:#d97706}.confirm-page .fees-note{font-size:12px;color:#a16207;margin-bottom:16px}.confirm-page .fee-row{display:flex;justify-content:space-between;font-size:14px;color:#78350f;margin-bottom:8px}.confirm-page .fee-total{display:flex;justify-content:space-between;font-size:15px;font-weight:700;color:#92400e;padding-top:12px;margin-top:8px;border-top:1px dashed #fcd34d}.confirm-page .account-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:16px;padding:24px;text-align:center;border:1px solid #bae6fd}.confirm-page .account-card.logged-in{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.confirm-page .account-card.logged-in .account-icon{color:#16a34a}.confirm-page .account-card.logged-in h4{color:#14532d}.confirm-page .account-card.logged-in p{color:#166534}.confirm-page .account-card.logged-in .account-btn{background:#22c55e}.confirm-page .account-card.logged-in .account-btn:hover{background:#16a34a}.confirm-page .account-icon{width:56px;height:56px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#0284c7;box-shadow:0 2px 8px #0000001a}.confirm-page .account-card h4{font-size:16px;font-weight:700;color:#0c4a6e;margin-bottom:8px}.confirm-page .account-card p{font-size:13px;color:#0369a1;margin-bottom:16px;line-height:1.5}.confirm-page .account-btn{display:block;width:100%;padding:12px;background:#0284c7;color:#fff;font-size:14px;font-weight:600;border:none;border-radius:10px;text-decoration:none;text-align:center;transition:background .2s}.confirm-page .account-btn:hover{background:#0369a1}.confirm-page .action-buttons{display:flex;justify-content:center;align-items:center;margin-top:8px}.confirm-page .print-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:12px 24px!important;font-size:14px!important;font-weight:600!important;border-radius:10px!important;text-decoration:none!important;cursor:pointer!important;transition:all .2s!important;background:#fff!important;color:#334155!important;border:2px solid #e2e8f0!important;white-space:nowrap!important;font-family:inherit!important}.confirm-page .print-btn:hover{border-color:#cbd5e1!important;background:#f8fafc!important}.confirm-page .action-btn.outline:hover{border-color:#cbd5e1;background:#f8fafc}.confirm-page .viator-widget-section{margin-top:32px;padding:32px;background:#f8fafc;border-radius:16px;border:1px solid #e2e8f0}.confirm-page .viator-widget-section h4{font-size:20px;font-weight:600;color:#1e293b;margin-bottom:20px;display:flex;align-items:center;gap:8px}.confirm-page .viator-widget-section h4:before{content:"🎯"}.confirm-page .sandbox-notice{text-align:center;padding:12px;background:#fef3c7;border:1px dashed #f59e0b;border-radius:10px;font-size:13px;font-weight:600;color:#b45309}.confirm-page .confirm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.confirm-page .loading-animation{display:flex;gap:8px;margin-bottom:24px}.confirm-page .loading-circle{width:16px;height:16px;background:#22c55e;border-radius:50%;animation:confirmBounce 1.4s ease-in-out infinite both}.confirm-page .loading-circle:nth-child(1){animation-delay:-.32s}.confirm-page .loading-circle:nth-child(2){animation-delay:-.16s}@keyframes confirmBounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.confirm-page .confirm-loading h2{font-size:24px;font-weight:700;color:#1a1a2e;margin-bottom:8px}.confirm-page .confirm-loading p{font-size:15px;color:#64748b}.confirm-page .confirm-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;max-width:400px;margin:0 auto}.confirm-page .error-icon{width:80px;height:80px;background:#fee2e2;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#dc2626;margin-bottom:24px}.confirm-page .confirm-error h2{font-size:24px;font-weight:700;color:#1a1a2e;margin-bottom:8px}.confirm-page .confirm-error p{font-size:15px;color:#64748b;margin-bottom:16px}.confirm-page .error-ids{font-size:12px;color:#94a3b8;margin-bottom:24px}.confirm-page .error-btn{padding:14px 32px;background:#22c55e;color:#fff;font-size:15px;font-weight:600;border:none;border-radius:10px;text-decoration:none;transition:background .2s}.confirm-page .error-btn:hover{background:#16a34a}.confirm-page .confirm-error.session-expired .success-icon{width:80px;height:80px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#22c55e;margin-bottom:24px}.confirm-page .confirm-error.session-expired h2{color:#1a1a2e}.confirm-page .confirm-error .hint-text{font-size:13px;color:#94a3b8;margin-bottom:24px}.confirm-page .error-actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.confirm-page .error-actions .primary-btn{padding:14px 32px;background:#22c55e;color:#fff;font-size:15px;font-weight:600;border:none;border-radius:10px;text-decoration:none;text-align:center;transition:background .2s}.confirm-page .error-actions .primary-btn:hover{background:#16a34a}.confirm-page .error-actions .secondary-btn{padding:14px 32px;background:transparent;color:#64748b;font-size:14px;font-weight:500;border:1px solid #e2e8f0;border-radius:10px;text-decoration:none;text-align:center;transition:all .2s}.confirm-page .error-actions .secondary-btn:hover{background:#f8fafc;border-color:#cbd5e1}@media(max-width:900px){.confirm-page .confirm-content{grid-template-columns:1fr}.confirm-page .confirm-sidebar{position:static}}@media(max-width:640px){.confirm-page{padding:16px 16px 40px}.confirm-page .success-badge{padding:8px 16px;font-size:13px;margin-bottom:20px}.confirm-page .confirm-hotel-card{border-radius:12px}.confirm-page .confirm-hotel-image{height:200px}.confirm-page .confirm-hotel-details{padding:16px 20px}.confirm-page .confirm-hotel-details h2{font-size:20px}.confirm-page .stay-card{padding:20px;border-radius:12px}.confirm-page .stay-dates{flex-direction:column;gap:0}.confirm-page .date-col{text-align:center}.confirm-page .unified-dates .nights-badge{padding:10px 24px;margin:16px 0}.confirm-page .section-card,.confirm-page .cancellation-card,.confirm-page .reference-card,.confirm-page .price-card,.confirm-page .fees-card,.confirm-page .account-card{border-radius:12px}.confirm-page .section-card,.confirm-page .cancellation-card,.confirm-page .reference-card,.confirm-page .price-card{padding:20px}.confirm-page .fees-card{padding:16px 20px}.confirm-page .account-card{padding:20px}.confirm-page .account-icon{width:48px;height:48px;margin-bottom:12px}.confirm-page .account-card h4{font-size:15px}.confirm-page .account-card p{font-size:13px;margin-bottom:14px}.confirm-page .action-buttons{justify-content:center}.confirm-page .action-btn.print-btn{padding:12px 24px;font-size:13px;width:auto;white-space:nowrap}.confirm-page .viator-widget-section{padding:20px;margin-top:20px}.confirm-page .viator-widget-section h4{font-size:16px}}@media print{.confirm-page{background:#fff;padding:0}.confirm-page .success-badge{background:#dcfce7;color:#16a34a}.confirm-page .confirm-content{display:block}.confirm-page .confirm-sidebar{margin-top:32px}.confirm-page .account-card,.confirm-page .action-buttons,.confirm-page .sandbox-notice,.confirm-page .viator-widget-section{display:none}.confirm-page .confirm-hotel-card,.confirm-page .stay-card,.confirm-page .section-card,.confirm-page .reference-card,.confirm-page .price-card,.confirm-page .cancellation-card,.confirm-page .unified-booking-card{box-shadow:none;border:1px solid #e2e8f0}.confirm-page .unified-cancellation,.confirm-page .unified-guest-info,.confirm-page .reference-card,.confirm-page .price-card,.confirm-page .fees-card{page-break-inside:avoid;break-inside:avoid}}:root{--green: #009e60;--green-dark: #007a4a;--green-light: #e6f7ef;--primary: #009e60;--primary-dark: #007a4a;--primary-light: #00c775;--background: #ffffff;--background-secondary: #f9fafb;--card: #ffffff;--bg-white: #fff;--bg-light: #f8f9fa;--bg-gray: #f0f0f0;--text: #111827;--text-primary: #333;--text-secondary: #666;--text-muted: #999;--border: #e5e7eb;--border-light: #e0e0e0;--border-medium: #ccc;--error: #dc2626;--warning: #f59e0b;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;width:100%;max-width:100vw}body{overflow-x:hidden;width:100%;max-width:100vw;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}#root{overflow-x:hidden;width:100%;max-width:100vw}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1200px;width:100%;margin:0 auto;padding:0 20px}.text-center{text-align:center}.text-green{color:var(--green)}.bg-green{background-color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:8px;font-weight:600;font-size:16px;transition:all .2s ease}.btn-primary{background-color:var(--green);color:#fff}.btn-primary:hover{background-color:var(--green-dark)}.btn-secondary{background-color:var(--background-secondary);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--border)}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.auth-modal{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:400px;position:relative;box-shadow:0 20px 60px #0000004d}.auth-modal .modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#666;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.auth-modal .modal-close:hover{background:#f0f0f0}.auth-modal h2{font-size:24px;font-weight:600;margin-bottom:8px}.auth-modal .modal-subtitle{color:#666;font-size:14px;margin-bottom:24px}.auth-modal form{display:flex;flex-direction:column;gap:16px}.auth-modal input{padding:14px 16px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.auth-modal input:focus{outline:none;border-color:#009e60;box-shadow:0 0 0 3px #009e601a}.auth-modal .login-error{color:#dc2626;font-size:13px;padding:8px 12px;background:#fef2f2;border-radius:6px}.auth-modal .login-submit-btn{padding:14px;background:#009e60;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;transition:background .2s}.auth-modal .login-submit-btn:hover:not(:disabled){background:#007a4a}.auth-modal .login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-modal .modal-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:#999;font-size:13px}.auth-modal .modal-divider:before,.auth-modal .modal-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.auth-modal .google-signin-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:#fff;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;transition:background .2s,border-color .2s;width:100%}.auth-modal .google-signin-btn:hover:not(:disabled){background:#f8f8f8;border-color:#ccc}.auth-modal .google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.auth-modal .modal-footer{margin-top:20px;text-align:center;font-size:14px;color:#666}.auth-modal .modal-footer button{background:none;border:none;color:#009e60;font-weight:600;cursor:pointer}.auth-modal .modal-footer button:hover{text-decoration:underline}.modal-method-toggle{display:flex;gap:8px;margin-bottom:16px}.modal-toggle-btn{flex:1;padding:10px 16px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.modal-toggle-btn:hover{border-color:#009e60;color:#009e60}.modal-toggle-btn.active{background:#009e60;border-color:#009e60;color:#fff}.phone-input-wrapper{display:flex;gap:8px}.auth-modal .country-code-select{width:140px;padding:14px 30px 14px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px}.auth-modal .country-code-select option{font-family:inherit;font-size:14px;padding:10px;color:#333}.auth-modal .country-code-select:focus{outline:none;border-color:#009e60}.phone-input-wrapper input{flex:1}.auth-modal .code-hint{font-size:13px;color:#666;margin:-8px 0 8px}.auth-modal .resend-btn{width:100%;padding:10px;background:none;border:none;color:#009e60;font-size:13px;cursor:pointer;margin-top:8px}.auth-modal .resend-btn:hover{text-decoration:underline}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2) format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2) format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2) format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2) format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2) format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2) format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
