html{scroll-behavior:smooth}:root{--primary-blue:#430889;--gold-accent:#F6D83E;--white:#ffffff;--transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);--max-width:1200px;--gradient:linear-gradient(to right, #2A045C, #430889, #6B2FA6)}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,sans-serif;background-color:#fff;color:#333;overflow-x:hidden}body.modal-open{overflow:hidden}.content-limit,.section-padding{max-width:var(--max-width);margin:0 auto!important;width:90%;display:block;padding:0 15px;border-radius:15px}.flex-between{display:flex;justify-content:space-between;align-items:center}.main-header{position:fixed;top:0;width:100%;z-index:1000;transition:var(--transition)}.brand-bar{background:var(--white);padding:12px 0;border-bottom:1px solid #eee;transition:var(--transition);max-height:100px;overflow:hidden}.brand-logo-area{display:flex;align-items:center;gap:15px}.brand-info-inline{display:flex;align-items:center;gap:10px}.hotel-title{color:var(--primary-blue);font-weight:700;font-size:.9rem;white-space:nowrap}.stars{color:var(--gold-accent);font-size:.7rem;display:flex;gap:2px}.logo-img{height:50px}.brand-tools{display:flex;gap:30px;align-items:baseline;font-size:.8rem;font-weight:700;color:var(--primary-blue)}.lang-selector{display:flex;flex-direction:row;align-items:center;gap:8px}.tool-item{display:flex;align-items:center;gap:5px;white-space:nowrap}.tool-item .lang-btn img{width:22px;height:auto;transition:transform .2s ease}.tool-item .lang-btn:hover img{transform:scale(1.25)}.flag-icon{height:14px;width:auto;cursor:pointer;border-radius:2px}.nav-bar{background:var(--white);padding:15px 0;transition:var(--transition)}.nav-menu{display:flex;gap:20px;list-style:none;margin:0;padding:0}.nav-link{color:var(--primary-blue);text-decoration:none;font-weight:700;font-size:.8rem;position:relative;padding-bottom:8px;transition:transform .3s ease,color .3s ease;display:inline-block}.nav-link:hover{transform:translateY(-3px);color:var(--primary-blue)}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--gold-accent);transform:scaleX(0);transition:transform .3s ease;transform-origin:center}.nav-link.active::after,.nav-link:hover::after{transform:scaleX(1)}.hamburger{display:none;cursor:pointer;flex-direction:column;gap:5px;z-index:1100}.hamburger span{width:25px;height:3px;background:var(--primary-blue);transition:.3s}.main-header.scrolled .brand-bar{max-height:0;padding:0;border:none}.main-header.scrolled .nav-bar{background:var(--gradient);padding:10px 0;border-radius:0;box-shadow:0 10px 30px rgba(0,0,0,.2)}.main-header.scrolled .hamburger span,.main-header.scrolled .nav-link{color:var(--white);background:var(--white)}.main-header.scrolled .nav-link{background:0 0;opacity:1}.main-header.scrolled .nav-link:hover{color:var(--gold-accent)}.nav-link.active::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--gold-accent)}.btn-reservar-gold{background:var(--primary-blue);color:var(--white);border:none;padding:10px 25px;border-radius:6px;font-weight:700;cursor:pointer;transition:var(--transition)}.main-header.scrolled .btn-reservar-gold{background:var(--gold-accent);color:var(--primary-blue);box-shadow:0 4px 10px rgba(0,0,0,.2)}.btn-reservar-gold:hover{filter:brightness(1.1);transform:translateY(-2px)}iframe{border-radius:0!important}.swal2-container{z-index:10000!important}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(42,30,91,.7);z-index:6000;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(10px);opacity:0;transition:opacity .3s ease}.modal-overlay.active{opacity:1}.modal-card{background:#fff;width:90%;max-width:480px;border-radius:15px;padding:40px;position:relative;box-shadow:0 30px 60px rgba(0,0,0,.5);transform:scale(.8);transition:transform .3s cubic-bezier(.34, 1.56, .64, 1)}.modal-overlay.active .modal-card{transform:scale(1)}.nights-banner{text-align:center;padding:10px;font-size:.85rem;font-weight:700;margin:15px 0;border-radius:4px;background:#eee;transition:all .3s}.flatpickr-input.form-control.input{width:100%!important;display:block!important;padding:12px;border:1px solid #ddd;border-radius:6px;box-sizing:border-box}.flatpickr-day.inRange{background:var(--gold-accent)!important;border-color:var(--gold-accent)!important;box-shadow:-5px 0 0 var(--gold-accent),5px 0 0 var(--gold-accent)!important}.flatpickr-day.endRange,.flatpickr-day.selected,.flatpickr-day.startRange{background:var(--primary-blue)!important;border-color:var(--primary-blue)!important}.mobile-icon-only{display:none;font-size:1.2rem;color:var(--primary-blue)}@media (max-width:992px){.brand-info-inline{display:none}.brand-tools{display:flex!important;gap:15px}.brand-tools .tool-item{display:flex!important;align-items:center}.desktop-text-only{display:none}.mobile-icon-only{display:inline-block}.lang-selector{gap:6px}.hamburger{display:flex}.nav-menu{position:absolute;top:100%;left:-100%;width:100%;height:100vh;background:var(--gradient);flex-direction:column;padding:50px 20px;transition:.5s cubic-bezier(.4, 0, .2, 1);opacity:0;text-align:center;visibility:hidden}.nav-menu.active{left:0;opacity:1;visibility:visible}.nav-link{color:#fff;font-size:1.5rem}.content-limit,.section-padding{border-radius:0}}@media (max-width:576px){.brand-bar{padding:10px 0}.logo-img{height:40px}.lang-btn img{width:18px}.lang-selector{gap:5px}}.gold-line{width:50px;height:3px;background:var(--gold-accent);margin:10px 0 30px}.main-footer{background:#f8f8f8;padding:40px 0;border-top:1px solid #eee;text-align:center;font-size:.8rem}.back-to-top{position:fixed;bottom:40px;right:120px;width:35px;height:35px;background-color:var(--primary-blue);color:var(--white);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 4px 10px rgba(0,0,0,.2);z-index:1000;opacity:0;visibility:hidden;transition:all .4s ease-in-out}.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background-color:var(--gold-accent);color:var(--primary-blue);transform:scale(1.1)}@media (max-width:768px){.back-to-top{bottom:95px;right:25px;width:40px;height:40px}}