:root{--primary-gold:#c5a059;--secondary-gold:#9e7e43;--dark-bg:#0f172a;--darker-bg:#020617;--text-light:#f8fafc;--text-muted:#94a3b8;--glass:#ffffff08;--glass-border:#ffffff14;--nav-bg:#020617cc;--gold-gradient:linear-gradient(to right, var(--primary-gold), #fff9e6, var(--secondary-gold))}body.light-mode{--dark-bg:#f8fafc;--darker-bg:#fff;--text-light:#0f172a;--text-muted:#475569;--glass:#0f172a08;--glass-border:#0f172a14;--nav-bg:#ffffffe6;--gold-gradient:linear-gradient(to right, var(--secondary-gold), var(--primary-gold), #856404)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--dark-bg);color:var(--text-light);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;overflow-x:hidden}.premium-gradient{background:linear-gradient(135deg, var(--darker-bg) 0%, var(--dark-bg) 100%)}.gold-text{background:var(--gold-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}header{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:100px 2rem 0;display:flex;position:relative;overflow:hidden}header:before{content:"";pointer-events:none;background:radial-gradient(circle,#c5a0591a 0%,#0000 70%);position:absolute;inset:0}.logo-container{justify-content:center;align-items:center;width:100%;margin-top:4rem;display:flex}.logo-container img{filter:drop-shadow(0 0 20px #c5a0594d);max-width:250px;height:auto;margin-bottom:2rem;animation:1.5s ease-out fadeInDown}h1{letter-spacing:-.02em;margin-bottom:1rem;font-size:4rem;animation:1s ease-out .5s both fadeInUp}p.subtitle{color:var(--text-muted);max-width:600px;margin-bottom:3rem;font-size:1.2rem;animation:1s ease-out .8s both fadeInUp}.cta-button{background:var(--primary-gold);color:var(--darker-bg);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--primary-gold);border-radius:4px;padding:1.2rem 2.5rem;font-weight:600;text-decoration:none;transition:all .3s;animation:1s ease-out 1.2s both fadeInUp}.cta-button:hover{color:var(--primary-gold);background:0 0;box-shadow:0 0 30px #c5a05966}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}section{width:100%;max-width:1200px;margin:0 auto;padding:8rem 2rem;position:relative}.glass-card{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);z-index:10;border-radius:12px;padding:3rem;position:relative}.overlap-up{margin-top:-5rem}.booking-bar{background:var(--glass);border:1px solid var(--glass-border);z-index:10;border-radius:12px;align-items:flex-end;gap:1.5rem;width:90%;max-width:1000px;margin:0 auto 6rem;padding:2rem;display:flex;position:relative;box-shadow:0 20px 50px #0000004d}.booking-field{text-align:left;flex:1}.booking-field label{text-transform:uppercase;color:var(--primary-gold);letter-spacing:.1em;margin-bottom:.5rem;font-size:.7rem;display:block}.booking-field select,.booking-field input{border:1px solid var(--glass-border);width:100%;color:var(--text-light);background:#ffffff0d;border-radius:4px;outline:none;padding:.8rem}.btn-book-now{background:var(--primary-gold);color:var(--darker-bg);text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;min-width:180px;padding:1rem 2rem;font-weight:700;transition:all .3s}.btn-book-now:hover{transform:translateY(-2px);box-shadow:0 0 20px #c5a05966}.testimonials-slider{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;margin-top:4rem;display:grid}.testimonial-card{background:var(--glass);border:1px solid var(--glass-border);text-align:center;border-radius:16px;padding:3rem;transition:all .3s;position:relative}.testimonial-card:hover{border-color:var(--primary-gold);transform:translateY(-5px)}.testimonial-card p{margin-bottom:1.5rem;font-size:1.1rem;font-style:italic;line-height:1.8}.star-rating{color:var(--primary-gold);letter-spacing:2px;margin-bottom:1rem;font-size:.9rem}.testimonial-author{color:var(--primary-gold);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-style:normal;font-weight:700;display:block}@media (width<=992px){.footer-content{grid-template-columns:1fr 1fr;gap:3rem}}@media (width<=768px){h1{font-size:2.5rem}.subtitle{margin-bottom:2rem;font-size:1rem}.glass-nav{padding:1rem 1.5rem}.nav-content{display:block}.nav-controls-mobile{justify-content:space-between;align-items:center;width:100%;display:flex}.nav-links{display:none!important}.nav-links.mobile-active{background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;gap:2rem;width:100%;height:calc(100vh - 70px);padding:3rem 2rem;position:fixed;top:70px;left:0;display:flex!important}.nav-lang-item{border-top:1px solid var(--glass-border);margin-top:auto;padding-top:2rem}.btn-reserve-small{display:none!important}.footer-content{text-align:center;gap:3rem;flex-direction:column!important;align-items:center!important;display:flex!important}.footer-section{flex-direction:column;align-items:center;width:100%;display:flex}.lang-switcher{justify-content:center}.booking-bar{flex-direction:column;align-items:stretch;gap:1.2rem;margin-bottom:4rem;padding:1.5rem}.btn-book-now{width:100%;margin-top:.5rem}main{gap:5rem}section{padding:4rem 1.5rem}.glass-card{padding:2rem}.footer-content{text-align:center;grid-template-columns:1fr;gap:2.5rem}.footer-section img{margin-left:auto;margin-right:auto}.footer-bottom{text-align:center;flex-direction:column;gap:1rem}.social-links{justify-content:center}}.mobile-menu-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;font-size:1.5rem;display:none}@media (width<=768px){.mobile-menu-btn{display:block}}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem;display:grid}.service-card{background:var(--glass);border:1px solid var(--glass-border);text-align:center;border-radius:12px;padding:3rem;transition:all .4s cubic-bezier(.4,0,.2,1)}.service-card:hover{border-color:var(--primary-gold);background:#c5a05908;transform:translateY(-8px)}.service-icon{margin-bottom:1.5rem;font-size:3rem;display:block}.service-card h3{color:var(--primary-gold);letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem;font-size:1.2rem}.service-card p{color:var(--text-muted);font-size:.95rem;line-height:1.6}.events-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem;display:grid}.event-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:8px;padding:2.5rem;transition:all .3s;overflow:hidden}.event-card:hover{border-color:var(--primary-gold);transform:translateY(-5px)}.event-image-placeholder{background:linear-gradient(45deg, var(--darker-bg), var(--dark-bg));height:200px;margin:-2.5rem -2.5rem 2rem;position:relative;overflow:hidden}.event-image-placeholder:after{content:"EVENTO";letter-spacing:.3em;color:var(--glass-border);font-size:.7rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.event-image-placeholder.has-image:after{display:none}.event-date{color:var(--primary-gold);margin-bottom:1rem;font-size:.8rem;font-weight:700;display:block}.social-icon{width:20px;height:20px}footer{background:var(--darker-bg);border-top:1px solid var(--glass-border);margin-top:8rem;padding:6rem 2rem 2rem}.footer-content{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.footer-section h4{color:var(--primary-gold);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2rem;font-size:.8rem}.footer-section ul{padding:0;list-style:none}.footer-section ul li{margin-bottom:1rem}.footer-section ul a{color:var(--text-muted);font-size:.9rem;text-decoration:none;transition:color .3s}.footer-section ul a:hover{color:var(--text-light)}.footer-bottom{border-top:1px solid var(--glass-border);max-width:1200px;color:var(--text-muted);justify-content:space-between;align-items:center;margin:4rem auto 0;padding-top:2rem;font-size:.8rem;display:flex}.social-links{gap:1.5rem;display:flex}.social-links a{color:var(--text-muted);transition:color .3s}.social-links a:hover{color:var(--primary-gold)}#rooms-container{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;margin-top:3rem;display:grid}.room-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:8px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}.room-card:hover{border-color:var(--primary-gold);transform:translateY(-10px)}.room-image-placeholder{background:linear-gradient(45deg, var(--darker-bg), var(--dark-bg));background-position:50%;background-size:cover;height:250px;position:relative}.room-image-placeholder:after{content:"IMAGEM DO QUARTO";color:var(--glass-border);letter-spacing:.2em;font-size:.8rem;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.room-image-placeholder.has-image:after{opacity:0}.room-info{padding:2rem}.hotel-tag{text-transform:uppercase;color:var(--primary-gold);letter-spacing:.1em;margin-bottom:.5rem;font-size:.75rem}.room-desc{color:var(--text-muted);margin:1rem 0 2rem;font-size:.95rem}.room-footer{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding-top:1.5rem;display:flex}.price-from{font-size:.9rem}.bold{color:var(--text-light);font-size:1.2rem;font-weight:700}.btn-book{color:var(--primary-gold);text-transform:uppercase;font-size:.9rem;font-weight:600;text-decoration:none}.glass-nav{z-index:100;padding:1.5rem 4rem;transition:all .4s;position:fixed;top:0;left:0;right:0}.nav-scrolled{background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border);padding:1rem 4rem}.nav-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.nav-controls{align-items:center;gap:1.5rem;display:flex}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{color:var(--text-light);text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .3s}.nav-links a:hover{opacity:1;color:var(--primary-gold)}.btn-reserve-small{background:var(--primary-gold);color:var(--darker-bg);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--primary-gold);border-radius:4px;padding:.8rem 1.8rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #c5a05933}.btn-reserve-small:hover{color:var(--primary-gold);background:0 0;box-shadow:0 0 25px #c5a05966}.lang-switcher button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-right:.5rem;font-size:.8rem;transition:all .2s}.lang-switcher button.active{color:var(--text-light);text-underline-offset:4px;font-weight:800;text-decoration:underline}.nav-lang-item{display:none}.sun-icon{display:block}.moon-icon,body.light-mode .sun-icon{display:none}body.light-mode .moon-icon{display:block}.mobile-only{display:none}.desktop-only{display:block}@media (width<=768px){.mobile-only{display:block}.desktop-only{display:none!important}}.nav-controls-desktop{align-items:center;gap:2rem;display:flex}.contact-container{grid-template-columns:1.5fr 1fr;align-items:start;gap:3rem;display:grid}#contact-form{flex-direction:column;gap:1.5rem;margin-top:0;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.form-group label{text-transform:uppercase;color:var(--primary-gold);letter-spacing:.1em;margin-bottom:.6rem;font-size:.75rem;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--glass-border);width:100%;color:var(--text-light);background:#ffffff08;border-radius:4px;outline:none;padding:1rem;font-family:inherit;transition:border-color .3s}.form-group select option{background:var(--dark-bg);color:var(--text-light)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-gold)}.gdpr-checkbox{color:var(--text-muted);align-items:center;gap:1rem;font-size:.85rem;display:flex}.gdpr-checkbox a{color:var(--primary-gold)}.contact-info{flex-direction:column;gap:2rem;display:flex}.info-card{margin-top:0;padding:2.5rem}.info-card h4{margin-bottom:1rem;font-size:.9rem}.info-card p{color:var(--text-muted);margin-bottom:1rem;font-size:.95rem}.map-placeholder{height:300px;margin-top:0;padding:0;position:relative;overflow:hidden}.map-placeholder iframe{border:none;width:100%;height:100%;transition:filter .3s;display:block}body:not(.light-mode) .map-placeholder iframe{filter:invert(90%)hue-rotate(180deg)brightness(.9)contrast(1.1)}@media (width<=992px){.contact-container{grid-template-columns:1fr}}#legal-content-body{white-space:pre-line;padding:1rem 0}#legal-content-body p{margin-bottom:1.5rem}.animate-on-scroll{opacity:0;transition:all 1s ease-out;transform:translateY(30px)}.animate-visible{opacity:1;transform:translateY(0)}.theme-toggle{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-light);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:all .3s;display:flex}.theme-toggle:hover{border-color:var(--primary-gold);transform:rotate(15deg)}.theme-toggle svg{width:18px;height:18px}.booking-modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;opacity:0;pointer-events:none;background:#020617e6;width:100vw;height:100vh;padding:2.5vh 0;transition:opacity .4s;display:block;position:fixed;top:0;left:0;overflow-y:auto}.booking-modal.active{opacity:1;pointer-events:all}.booking-modal-content{background:var(--darker-bg);border-radius:12px;flex-direction:column;width:95%;max-width:1200px;height:auto;min-height:auto;max-height:none;margin:0 auto;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.close-booking-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;font-size:2.2rem;line-height:1;transition:color .3s;position:absolute;top:1.25rem;right:1.5rem}.close-booking-btn:hover{color:var(--primary-gold)}.booking-header{border-bottom:1px solid var(--glass-border);margin-bottom:0;padding:1.5rem 1.5rem 1rem}.selection-summary{color:var(--text-muted);align-items:center;gap:1rem;margin-top:1rem;display:flex}.selection-summary strong{color:var(--primary-gold);font-size:1.1rem}.booking-body{flex:0 auto;gap:2rem;min-height:0;max-height:75vh;margin-bottom:0;padding:1.5rem;transition:all .3s;display:grid;overflow-y:auto}.booking-body.state-calendar{grid-template-columns:minmax(0,2fr) 350px;grid-template-areas:"calendar sidebar"}.booking-body.state-rooms{grid-template-columns:minmax(0,1fr) 350px;grid-template-areas:"rooms sidebar"}.booking-body.state-checkout{grid-template-columns:350px minmax(0,2.5fr);grid-template-areas:"summary form"}.booking-body.state-checkout #view-calendar,.booking-body.state-checkout #booking-sidebar,.booking-body.state-checkout #view-rooms{display:none}#view-checkout{grid-area:1/1/2/3;grid-template-columns:350px minmax(0,2.5fr);align-items:start;gap:3rem;display:none}.booking-body.state-checkout #view-checkout{display:grid}.checkout-summary{flex-direction:column;display:flex;position:relative;overflow:hidden}.summary-hero{background-position:50%;background-size:cover;align-items:flex-end;height:250px;padding:1.5rem;display:flex;position:relative}.summary-hero:before{content:"";background:linear-gradient(#0000 0%,#020617e6 100%);position:absolute;inset:0}.summary-hero h2{z-index:1;text-shadow:0 2px 10px #00000080;margin:0;font-size:1.3rem;position:relative}.btn-back{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.5rem;transition:background .3s;display:flex;position:absolute;top:1rem;left:1rem}.btn-back:hover{background:#fff6}.summary-details{background:#02061799;flex:1;padding:1.5rem}.summary-details h3{color:var(--primary-gold);margin:0 0 .5rem;font-size:1rem}.summary-rate-name{color:var(--text-muted);margin-bottom:1rem;font-size:.9rem}.summary-divider{border:none;border-top:1px solid var(--glass-border);margin:1rem 0}.summary-line{justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.95rem;display:flex}.summary-line.total-line{margin-top:1rem;font-size:1.3rem}.checkout-form-section{flex-direction:column;gap:2rem;min-width:0;display:flex}.social-login{gap:1.5rem;margin-bottom:1rem;display:flex}.btn-social{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-light);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:1rem;font-size:.9rem;transition:all .3s;display:flex}.btn-social:hover{border-color:var(--primary-gold)}.form-divider{text-align:center;margin:2rem 0;position:relative}.form-divider:before{content:"";border-top:1px solid var(--glass-border);z-index:1;position:absolute;top:50%;left:0;right:0}.form-divider span{background:var(--darker-bg);color:var(--text-muted);z-index:2;padding:0 1rem;position:relative}.stay-reason-toggle{background:var(--glass);border:1px solid var(--glass-border);border-radius:8px;display:flex;overflow:hidden}.stay-reason-toggle button{color:var(--text-light);cursor:pointer;background:0 0;border:none;flex:1;padding:.8rem;transition:all .3s}.stay-reason-toggle button.active{background:var(--primary-gold);color:#fff;font-weight:600}.addons-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.addon-card{border:1px solid var(--glass-border);border-radius:8px;flex-direction:column;justify-content:space-between;padding:1rem;display:flex}.addon-info h4{margin:0 0 .5rem;font-size:1rem}.addon-info p{color:var(--text-muted);margin:0;font-size:.85rem}.addon-action{justify-content:space-between;align-items:center;margin-top:1rem;display:flex}.toggle-switch{width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{cursor:pointer;background-color:var(--glass-border);border-radius:24px;transition:all .4s;position:absolute;inset:0}.toggle-switch .slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .4s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.slider{background-color:var(--primary-gold)}.toggle-switch input:checked+.slider:before{transform:translate(20px)}.checkout-bottom-bar{background:var(--dark-bg);border-top:1px solid var(--glass-border);opacity:0;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;transition:all .4s;display:flex;position:relative;transform:translateY(100%)}.booking-body.state-checkout~.checkout-bottom-bar{opacity:1;transform:translateY(0)}.sub-modal{z-index:1000;opacity:0;pointer-events:none;background:#0006;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.sub-modal.active{opacity:1;pointer-events:auto}.sub-modal-content{color:#333;background:#fff;border-radius:8px;width:90%;max-width:450px;padding:2.5rem 2rem;box-shadow:0 10px 30px #0003}.occupancy-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.occ-info{flex-direction:column;display:flex}.occ-info strong{font-size:1.1rem;font-weight:500}.occ-info span{color:var(--primary-gold);font-size:.95rem}.occ-controls{align-items:center;gap:1.2rem;display:flex}.occ-btn{border:1px solid var(--primary-gold);width:36px;height:36px;color:var(--primary-gold);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:1.4rem;transition:all .2s;display:flex}.occ-btn[data-action=plus]{background:var(--primary-gold);color:#fff}.occ-btn:active{transform:scale(.95)}.btn-sub-done{background:var(--primary-gold);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;padding:1.2rem;font-size:1.1rem;font-weight:500;transition:background .3s}.btn-sub-done:hover{background:var(--secondary-gold)}.btn-sub-outline{color:var(--primary-gold);border:1px solid var(--primary-gold);cursor:pointer;background:0 0;border-radius:6px;width:100%;padding:1.2rem;font-size:1.1rem;font-weight:500;transition:all .3s}.btn-sub-outline:hover{background:#c5a0591a}.stay-type-option span{color:#333!important}body.light-mode .sub-modal-content{color:#333;background:#fff}.sub-modal .toggle-switch input:checked+.slider{background-color:var(--primary-gold)}.booking-modal-content{padding-bottom:5rem}.checkout-bar-selection{flex-direction:column;display:flex}.checkout-bar-selection span{font-size:.85rem}.checkout-bar-selection strong{font-size:1.1rem}.checkout-bar-action{align-items:center;gap:2rem;display:flex}.bar-total{flex-direction:column;align-items:flex-end;display:flex}.bar-total span{color:var(--text-muted);font-size:.85rem}.bar-total strong{font-size:1.4rem;line-height:1}@media (width<=992px){#view-checkout{grid-template-columns:1fr}.social-login{flex-direction:column}.addons-grid{grid-template-columns:1fr}.checkout-bottom-bar{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.checkout-bar-action{justify-content:space-between;width:100%}}#booking-sidebar{grid-area:sidebar}#view-rooms{grid-area:rooms;display:none}.booking-body.state-rooms #view-calendar{display:none}.booking-body.state-rooms #view-rooms{height:100%;display:block;overflow-y:auto}#booking-sidebar{height:fit-content;position:sticky;top:0}.room-results-container{flex-direction:column;gap:1.5rem;padding-right:1rem;display:flex}.room-result-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:12px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.room-card-header{cursor:pointer;min-width:0;display:flex;position:relative}.room-result-card.expanded .room-card-header{flex-direction:column}.room-card-image{background-position:50%;background-size:cover;width:350px;min-width:350px;height:220px;transition:all .3s;position:relative}.room-result-card.expanded .room-card-image{width:100%;height:350px}.room-image-nav{color:#fff;cursor:pointer;background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.room-image-nav.prev{left:1rem}.room-image-nav.next{right:1rem}.room-card-summary{flex-direction:column;flex:1;justify-content:space-between;padding:1.5rem;display:flex}.room-title-bar{justify-content:space-between;align-items:flex-start;display:flex}.room-title-bar h3{color:var(--primary-gold);margin:0;font-size:1.6rem}.btn-toggle-details{color:var(--primary-gold);cursor:pointer;background:0 0;border:none;font-size:.9rem;text-decoration:underline}.room-features{color:var(--text-light);gap:1.5rem;margin:1rem 0;font-size:.9rem;display:flex}.room-features span{align-items:center;gap:.5rem;display:flex}.room-policies{color:#60a5fa;margin-bottom:1rem;font-size:.9rem}.room-card-details{color:var(--text-muted);padding:0 1.5rem 1.5rem;font-size:.95rem;line-height:1.6;display:none}.room-result-card.expanded .room-card-details{display:block}.room-description{margin-bottom:1rem}.room-amenities{margin-top:1rem}.room-amenities ul{flex-wrap:wrap;gap:1rem;padding:0;list-style:none;display:flex}.room-amenities li:before{content:"•";color:var(--primary-gold);margin-right:.5rem}.room-rates-box{border-top:1px solid var(--glass-border);background:#ffffff05;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.rate-info{flex-direction:column;gap:.5rem;display:flex}.rate-name{color:var(--text-light);font-size:1.1rem;font-weight:700}.rate-tags{gap:.5rem;display:flex}.rate-tag{background:var(--glass);color:var(--text-muted);border-radius:4px;padding:.2rem .6rem;font-size:.8rem}.rate-action{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.rate-price{color:var(--primary-gold);font-size:2rem;font-weight:300;line-height:1}.rate-price span{color:var(--text-muted);font-size:.9rem}.best-offer-badge{color:#fff;background:#1d4ed8;border-bottom-left-radius:8px;padding:.3rem 1rem;font-size:.85rem;font-weight:600;position:absolute;top:0;right:0}@media (width<=992px){.booking-body.state-calendar,.booking-body.state-rooms{flex-direction:column;grid-template-columns:1fr;grid-template-areas:none;display:flex}.room-card-header{flex-direction:column}.room-card-image{width:100%;min-width:100%}.room-title-bar{flex-direction:column;gap:.5rem}.room-rates-box{flex-direction:column;align-items:stretch;gap:1.5rem}.rate-action{align-items:center}}.calendar-controls{justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:600;display:flex}.calendar-nav{align-items:center;gap:1rem;display:flex}.cal-nav-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-light);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;transition:all .3s;display:flex}.cal-nav-btn:hover{border-color:var(--primary-gold);color:var(--primary-gold)}.calendar-grid-container{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.calendar-month{width:100%}.calendar-days-header{text-align:center;color:var(--text-muted);grid-template-columns:repeat(7,1fr);margin-bottom:1rem;font-weight:600;display:grid}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.cal-day{aspect-ratio:1;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;transition:all .2s;display:flex}.cal-day.empty{pointer-events:none}.cal-day.past{color:var(--text-muted);opacity:.3;pointer-events:none}.cal-day .price{color:var(--primary-gold);margin-top:2px;font-size:.7rem;font-weight:400}.cal-day:hover:not(.past):not(.empty){background:var(--glass-border)}.cal-day.selected{background:var(--primary-gold);color:#fff}.cal-day.selected .price{color:#fffc}.cal-day.in-range{background:#c5a05933}.cal-day.unavailable{color:#ef4444;background:#ef444433}.cal-day.unavailable .price{color:#ef4444}.calendar-legend{color:var(--text-muted);margin-top:2rem;font-size:.85rem}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.legend-dot.no-avail{background:#ef4444}.legend-info{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.booking-dates-card{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem;display:grid}.date-box{background:var(--glass);border:1px solid var(--glass-border);text-align:center;border-radius:8px;flex-direction:column;align-items:center;min-width:0;padding:1rem .5rem;transition:border-color .3s;display:flex}.date-box.active{border-color:var(--primary-gold)}.date-box span{color:var(--text-muted);font-size:.9rem}.date-box .day-name{color:var(--primary-gold);margin-top:.5rem}.large-date{margin:.5rem 0;font-size:2.5rem;font-weight:300;line-height:1}.booking-info-card{background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;border-radius:8px;flex-direction:column;margin-bottom:1rem;padding:1.5rem;transition:all .3s;display:flex;position:relative}.booking-info-card:hover{border-color:var(--primary-gold)}.booking-info-card span{color:var(--text-muted);margin-bottom:.3rem;font-size:.9rem}.booking-info-card strong{color:var(--primary-gold)}.edit-btn{border:1px solid var(--glass-border);width:32px;height:32px;color:var(--text-light);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:1.5rem;transform:translateY(-50%)}@media (width<=992px){.booking-body,.calendar-grid-container{grid-template-columns:1fr}.booking-modal-content{padding:1.5rem}}.rates-table-container{margin-bottom:4rem;padding:3rem}.rates-table-container h3{text-align:center;margin-bottom:2rem;font-size:2rem}.table-wrapper{margin-bottom:2rem;overflow-x:auto}.rates-table{border-collapse:collapse;width:100%;color:var(--text-light);font-size:1.1rem}.rates-table th,.rates-table td{text-align:left;border-bottom:1px solid var(--glass-border);padding:1.2rem}.rates-table th{color:var(--primary-gold);text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}.price-cell{color:var(--primary-gold);font-weight:600}.rates-notes{border-top:1px solid var(--glass-border);padding-top:2rem}.rates-notes h4{color:var(--primary-gold);margin-bottom:1rem;font-size:1rem}.rates-notes ul{padding:0;list-style:none}.rates-notes li{color:var(--text-muted);align-items:center;margin-bottom:.5rem;font-size:.95rem;display:flex}.rates-notes li:before{content:"•";color:var(--primary-gold);margin-right:.8rem;font-weight:700}@media (width<=768px){.rates-table-container{padding:1.5rem}.rates-table{font-size:.9rem}.rates-table th,.rates-table td{padding:.8rem .5rem}}.partnerships-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));place-items:center;gap:3rem;margin-top:2rem;display:grid}.partner-card{border:1px solid var(--glass-border);background:#ffffff05;border-radius:12px;flex-direction:column;align-items:center;gap:1rem;width:100%;padding:2rem;transition:all .3s;display:flex}.partner-card:hover{border-color:var(--primary-gold);background:#c5a0590d;transform:translateY(-5px)}.partner-logo{filter:grayscale();opacity:.7;font-size:3rem;transition:all .3s}.partner-card:hover .partner-logo{filter:grayscale(0);opacity:1;transform:scale(1.1)}.partner-name{color:var(--text-light);text-align:center;font-size:.95rem;font-weight:600}.partner-category{text-transform:uppercase;color:var(--primary-gold);letter-spacing:.1em;font-size:.7rem}body.light-mode .partner-card{background:#0f172a05}body.light-mode .partner-card:hover{background:#c5a0590d}body.light-mode .partner-name{color:var(--dark-bg)}.packs-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem;padding:2rem 0;display:grid}.pack-image{background-position:50%;background-size:cover;height:240px;position:relative}.pack-duration{background:var(--primary-gold);color:var(--bg-dark);border-radius:50px;padding:.5rem 1.2rem;font-size:.8rem;font-weight:700;position:absolute;top:1rem;right:1rem;box-shadow:0 4px 12px #0003}.pack-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}.btn-itinerary-toggle{border:1px dashed rgba(var(--primary-gold-rgb), .3);width:100%;color:var(--primary-gold);cursor:pointer;background:0 0;border-radius:8px;margin-bottom:1rem;padding:.8rem;font-size:.85rem;font-weight:600;transition:all .3s}.pack-menu-box p{margin-bottom:.8rem;font-size:.85rem;line-height:1.4}.pack-price{flex-direction:column;display:flex}@media (width<=768px){.packs-grid{grid-template-columns:1fr}}.pack-card{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.pack-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0000001a}.pack-content{flex-direction:column;flex:1;padding:2rem;display:flex}.btn-itinerary-toggle{width:100%;color:var(--primary-gold);cursor:pointer;background:0 0;border:1px dashed #c5a0594d;border-radius:8px;margin-bottom:1rem;padding:.8rem;font-size:.85rem;font-weight:600;transition:all .3s}.btn-itinerary-toggle:hover{background:#c5a0590d;border-style:solid}.pack-details-expanded{max-height:0;transition:max-height .5s ease-in-out;overflow:hidden}.pack-card.expanded .pack-details-expanded{max-height:2000px;margin-bottom:1.5rem}.pack-card.expanded .btn-itinerary-toggle span{display:inline-block;transform:rotate(180deg)}.itinerary-timeline{border-left:2px solid var(--primary-gold);margin:1.5rem 0;padding-left:1.5rem}.timeline-day{margin-bottom:1.5rem;position:relative}.timeline-day:before{content:"";background:var(--primary-gold);border-radius:50%;width:12px;height:12px;position:absolute;top:.3rem;left:-1.95rem}.timeline-day ul,.pack-included ul{margin:.5rem 0 0;padding:0;list-style:none}.timeline-day li,.pack-included li{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:.3rem;font-size:.85rem;display:flex}.timeline-day li:before,.pack-included li:before{content:"•";color:var(--primary-gold)}.pack-menu-box{background:#c5a0590d;border:1px solid #c5a0591a;border-radius:10px;margin-bottom:1.5rem;padding:1rem}.pack-menu-box strong{color:var(--primary-gold);margin-bottom:.8rem;display:block}.pack-menu-box p{color:var(--text-light);margin-bottom:.8rem;font-size:.85rem;line-height:1.4}.pack-menu-box p span{font-weight:700}.pack-conditions{color:#94a3b8;margin-top:1rem;font-size:.75rem}.pack-footer{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.5rem;display:flex}.price-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.75rem}.price-value{color:var(--primary-gold);font-size:1.2rem;font-weight:800}.btn-gold-outline{border:1px solid var(--primary-gold);color:var(--primary-gold);border-radius:8px;padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .3s}.btn-gold-outline:hover{background:var(--primary-gold);color:#000}.booking-body.state-card .booking-sidebar,.booking-body.state-card .booking-view-calendar,.booking-body.state-card .booking-view-rooms,.booking-body.state-card .booking-view-checkout,.booking-body.state-card .booking-view-room-select,.booking-body.state-card .booking-view-confirmation{display:none!important}.booking-body.state-card .booking-view-card{display:block!important}.booking-body.state-room-select .booking-sidebar,.booking-body.state-room-select .booking-view-calendar,.booking-body.state-room-select .booking-view-rooms,.booking-body.state-room-select .booking-view-checkout,.booking-body.state-room-select .booking-view-card,.booking-body.state-room-select .booking-view-confirmation{display:none!important}.booking-body.state-room-select .booking-view-room-select{display:block!important}.booking-body.state-confirmed .booking-sidebar,.booking-body.state-confirmed .booking-view-calendar,.booking-body.state-confirmed .booking-view-rooms,.booking-body.state-confirmed .booking-view-checkout,.booking-body.state-confirmed .booking-view-card,.booking-body.state-confirmed .booking-view-room-select,.booking-body.state-confirmed .checkout-bottom-bar{display:none!important}.booking-body.state-confirmed .booking-view-confirmation{width:100%;max-width:600px;margin:0 auto;display:block!important}.card-form{flex-direction:column;gap:1.25rem;margin-top:1.5rem;display:flex}.card-form input,.card-form select{color:#1e293b;background:#fff;border:1px solid #e2e8f0cc;border-radius:8px;width:100%;padding:.875rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.card-form input:focus,.card-form select:focus{border-color:var(--primary-gold);outline:none;box-shadow:0 0 0 3px #b8860b33}.room-select-card{text-align:center;cursor:pointer;background:#fff;border:1px solid #e2e8f0cc;border-radius:8px;padding:1.5rem 1rem;transition:all .2s}.room-select-card:hover{border-color:var(--primary-gold);transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.room-select-card.selected{border-color:var(--primary-gold);box-shadow:0 0 0 2px var(--primary-gold) inset;background:#b8860b0d}
