:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #2c3e50;--text-secondary: #6c757d;--text-muted: #adb5bd;--border-color: #e1e5e9;--shadow-color: rgba(0, 0, 0, .1);--shadow-color-strong: rgba(0, 0, 0, .2);--navbar-bg: rgba(255, 255, 255, .95);--card-bg: #ffffff;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-secondary: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);--whatsapp-color: #25d366;--success-color: #28a745;--warning-color: #ffc107;--error-color: #dc3545}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--bg-tertiary: #404040;--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-muted: #808080;--border-color: #404040;--shadow-color: rgba(0, 0, 0, .3);--shadow-color-strong: rgba(0, 0, 0, .5);--navbar-bg: rgba(26, 26, 26, .95);--card-bg: #2d2d2d;--gradient-primary: linear-gradient(135deg, #4a5568 0%, #2d3748 100%);--gradient-secondary: linear-gradient(135deg, #e53e3e 0%, #c53030 100%);--whatsapp-color: #25d366;--success-color: #38a169;--warning-color: #d69e2e;--error-color: #e53e3e}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;transition:all .3s ease}.app{min-height:100vh;width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center}.container{max-width:1200px;margin:0 auto;padding:0 20px;width:100%;display:flex;flex-direction:column;align-items:center}.main-content{width:100%;margin-top:80px;flex:1;display:flex;flex-direction:column;align-items:center}.navbar{position:fixed;top:0;width:100%;background:var(--navbar-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:1rem 0;box-shadow:0 2px 20px var(--shadow-color);display:flex;justify-content:center}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;width:100%}.nav-logo h2{color:var(--text-primary);font-size:1.8rem;font-weight:700}.nav-menu{display:flex;list-style:none;gap:2rem;align-items:center}.nav-menu button{background:none;border:none;color:var(--text-primary);font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;border-radius:25px;transition:all .3s ease}.nav-menu button:hover,.nav-menu button.active{background:var(--gradient-primary);color:#fff;transform:translateY(-2px)}.language-toggle{background:var(--gradient-primary)!important;color:#fff!important;font-weight:600!important;padding:.5rem 1rem!important;border-radius:25px!important;transition:all .3s ease!important}.language-toggle:hover{transform:translateY(-2px)!important;box-shadow:0 4px 15px #667eea66!important}.theme-toggle{background:var(--gradient-primary)!important;color:#fff!important;font-weight:600!important;padding:.5rem 1rem!important;border-radius:25px!important;transition:all .3s ease!important;font-size:1.2rem!important}.theme-toggle:hover{transform:translateY(-2px)!important;box-shadow:0 4px 15px #667eea66!important}.booking-nav-button{background:var(--gradient-secondary)!important;color:#fff!important;font-weight:600!important;padding:.5rem 1.5rem!important;border-radius:25px!important;transition:all .3s ease!important;box-shadow:0 4px 15px #ff6b6b4d!important}.booking-nav-button:hover{transform:translateY(-2px)!important;box-shadow:0 6px 20px #ff6b6b80!important}.mobile-nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-primary);padding:.5rem;border-radius:5px;transition:all .3s ease}.mobile-nav-toggle:hover{background:#667eea1a}.whatsapp-container{position:fixed;bottom:20px;right:20px;z-index:2000;display:flex;flex-direction:column;align-items:flex-end}.whatsapp-toggle{width:60px;height:60px;border-radius:50%;background:var(--whatsapp-color);border:none;color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 20px #25d36666;transition:all .3s ease;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 4px 20px #25d36666}50%{box-shadow:0 4px 30px #25d36699}to{box-shadow:0 4px 20px #25d36666}}.whatsapp-toggle:hover{transform:scale(1.1);box-shadow:0 6px 25px #25d36699}.whatsapp-icon{font-size:1.8rem}.whatsapp-bubble{background:var(--card-bg);border-radius:20px;box-shadow:0 10px 40px var(--shadow-color);width:320px;margin-bottom:15px;animation:slideInUp .3s ease-out;overflow:hidden}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.whatsapp-header{background:var(--whatsapp-color);color:#fff;padding:1rem;display:flex;align-items:center;gap:.8rem}.whatsapp-avatar{width:40px;height:40px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.whatsapp-info{flex:1}.whatsapp-info h4{font-size:1rem;font-weight:600;margin-bottom:.2rem}.whatsapp-info p{font-size:.8rem;opacity:.9;margin:0}.whatsapp-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.whatsapp-close:hover{background:#fff3;transform:scale(1.1)}.whatsapp-content{padding:1.5rem;text-align:center}.whatsapp-content p{color:var(--text-primary);font-size:1rem;margin-bottom:1rem;font-weight:500}.whatsapp-button{background:var(--whatsapp-color);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:25px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;margin:0 auto}.whatsapp-button:hover{background:#128c7e;transform:translateY(-2px);box-shadow:0 4px 15px #25d36666}.whatsapp-button span{font-size:1.1rem}.booking-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.booking-modal{background:var(--card-bg);border-radius:20px;box-shadow:0 20px 60px var(--shadow-color-strong);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.booking-header{background:var(--gradient-primary);color:#fff;padding:2rem;border-radius:20px 20px 0 0;display:flex;justify-content:space-between;align-items:center}.booking-header h2{font-size:1.8rem;font-weight:600;margin:0}.close-button{background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.close-button:hover{background:#fff3;transform:scale(1.1)}.booking-form{padding:2rem}.form-section{margin-bottom:2rem}.form-section h3{color:var(--text-primary);font-size:1.3rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.guest-inputs,.stay-inputs{display:grid;gap:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-weight:600;color:var(--text-primary);font-size:.95rem}.input-group input,.input-group select{padding:1rem;border:2px solid var(--border-color);border-radius:10px;font-size:1rem;transition:all .3s ease;background:var(--bg-secondary)}.input-group input:focus,.input-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input-group input[type=number]{-moz-appearance:textfield}.input-group input[type=number]::-webkit-outer-spin-button,.input-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-input{display:flex;align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;overflow:hidden;transition:all .3s ease}.number-input:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.number-btn{background:var(--bg-tertiary);border:none;color:var(--text-primary);font-size:1.2rem;font-weight:600;cursor:pointer;padding:1rem 1.2rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:50px}.number-btn:hover:not(:disabled){background:#667eea;color:#fff}.number-btn:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed}.number-btn.minus{border-right:1px solid #e1e5e9}.number-btn.plus{border-left:1px solid #e1e5e9}.number-display{flex:1;text-align:center;font-size:1.1rem;font-weight:600;color:#2c3e50;padding:1rem;background:#fff;min-width:60px}.total-guests{background:var(--gradient-primary);color:#fff;padding:1rem;border-radius:10px;text-align:center;margin-top:1rem;font-size:1.1rem;font-weight:600}.booking-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #f0f0f0}.cancel-button,.confirm-button{flex:1;padding:1rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button{background:#f8f9fa;color:#6c757d;border:2px solid #e1e5e9}.cancel-button:hover{background:#e9ecef;color:#495057;transform:translateY(-2px)}.confirm-button{background:var(--gradient-primary);color:#fff}.confirm-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.confirm-button:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed;transform:none;box-shadow:none}.confirm-button:disabled:hover{transform:none;box-shadow:none}.hero{height:calc(100vh - 80px);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative;overflow:hidden;width:100%;margin-top:0}.hero:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3}.hero-content{position:relative;z-index:2;max-width:800px;padding:0 20px;display:flex;flex-direction:column;align-items:center}.hero h1{font-size:4rem;font-weight:700;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.hero p{font-size:1.5rem;margin-bottom:2rem;opacity:.9}.cta-button{background:#fff;color:#667eea;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.cta-button:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000004d}.about{padding:100px 0;background:var(--bg-secondary);width:100%;display:flex;justify-content:center}.about h2{text-align:center;font-size:3rem;margin-bottom:3rem;color:var(--text-primary)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;max-width:1200px;width:100%}.about-text p{font-size:1.1rem;margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.8}.about-features{display:grid;gap:2rem}.feature{background:var(--card-bg);padding:2rem;border-radius:15px;box-shadow:0 5px 20px var(--shadow-color);transition:transform .3s ease}.feature:hover{transform:translateY(-5px)}.feature h3{color:var(--gradient-primary);margin-bottom:.5rem;font-size:1.3rem}.feature p{color:var(--text-secondary)}.rooms{padding:100px 0;background:var(--card-bg);width:100%;display:flex;justify-content:center}.rooms h2{text-align:center;font-size:3rem;margin-bottom:1rem;color:var(--text-primary)}.section-description{text-align:center;font-size:1.2rem;color:var(--text-secondary);margin-bottom:3rem;max-width:800px;margin-left:auto;margin-right:auto}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1200px;width:100%}.room-card{background:var(--card-bg);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px var(--shadow-color);transition:transform .3s ease}.room-card:hover{transform:translateY(-10px)}.room-image{height:250px;background:var(--gradient-primary);position:relative}.room-image.standard:before{content:"🏨";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.room-image.superior:before{content:"🛏️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.room-image.family:before{content:"👨‍👩‍👧‍👦";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:4rem}.room-content{padding:2rem}.room-content h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1rem}.room-content p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.room-price{font-size:1.3rem;font-weight:700;color:var(--gradient-primary);margin-bottom:1.5rem}.quote-button{background:var(--gradient-primary);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:25px;cursor:pointer;font-weight:600;transition:all .3s ease;width:100%}.quote-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.location{padding:100px 0;background:var(--bg-secondary);width:100%;display:flex;justify-content:center}.location h2{text-align:center;font-size:3rem;margin-bottom:3rem;color:var(--text-primary)}.location-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1200px;width:100%;align-items:center}.location-text p{font-size:1.2rem;color:var(--text-secondary);line-height:1.8;margin-bottom:2rem}.location-address h3{color:var(--gradient-primary);font-size:1.5rem;margin-bottom:1rem}.location-map{background:var(--card-bg);border-radius:20px;padding:2rem;box-shadow:0 10px 30px var(--shadow-color);text-align:center}.map-placeholder{background:var(--gradient-primary);color:#fff;padding:3rem 2rem;border-radius:15px}.map-placeholder h3{font-size:1.8rem;margin-bottom:1rem}.map-placeholder p{font-size:1.1rem;opacity:.9}.contact{padding:100px 0;background:var(--card-bg);width:100%;display:flex;justify-content:center}.contact h2{text-align:center;font-size:3rem;margin-bottom:3rem;color:var(--text-primary)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1200px;width:100%}.contact-info h3,.contact-form h3{color:var(--text-primary);font-size:1.8rem;margin-bottom:2rem}.contact-item{display:flex;align-items:flex-start;margin-bottom:2rem;background:var(--card-bg);padding:1.5rem;border-radius:15px;box-shadow:0 5px 20px var(--shadow-color)}.contact-item .icon{font-size:2rem;margin-right:1rem;margin-top:.5rem}.contact-item h4{color:var(--gradient-primary);margin-bottom:.5rem}.contact-item p{color:var(--text-secondary);line-height:1.6}.contact-form form{display:flex;flex-direction:column;gap:1rem}.contact-form input,.contact-form textarea{padding:1rem;border:2px solid var(--border-color);border-radius:10px;font-size:1rem;transition:border-color .3s ease;background:var(--bg-secondary);color:var(--text-primary)}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--gradient-primary)}.submit-button{background:var(--gradient-primary);color:#fff;border:none;padding:1rem;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.footer{background:var(--bg-secondary);color:var(--text-primary);padding:50px 0 20px;width:100%;display:flex;justify-content:center}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem;max-width:1200px;width:100%}.footer-section h3,.footer-section h4{margin-bottom:1rem;color:var(--gradient-primary)}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section button{background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:color .3s ease}.footer-section button:hover{color:var(--gradient-primary)}.social-links{display:flex;gap:1rem;flex-wrap:wrap}.social-links button{background:#667eea33;padding:.5rem 1rem;border-radius:20px;transition:all .3s ease}.social-links button:hover{background:var(--gradient-primary);color:#fff}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid var(--border-color);color:var(--text-secondary);max-width:1200px;width:100%}@media (max-width: 1024px){.nav-menu{gap:1.5rem}.nav-menu button{font-size:.9rem;padding:.4rem .8rem}}@media (max-width: 768px){.mobile-nav-toggle{display:block}.nav-menu{position:fixed;top:100%;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;gap:1rem;padding:2rem;box-shadow:0 4px 20px #0000001a;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;max-height:calc(100vh - 100px);overflow-y:auto}.nav-menu.active{transform:translateY(0);opacity:1;visibility:visible}.nav-menu li{width:100%;text-align:center}.nav-menu button{width:100%;padding:1rem;font-size:1rem;border-radius:10px}.booking-nav-button{padding:1rem 2rem!important;font-size:1rem!important;width:100%!important;margin-top:1rem}.language-toggle{padding:1rem 2rem!important;font-size:1rem!important;width:100%!important}.hero h1{font-size:2.5rem}.hero p{font-size:1.2rem}.about-content,.contact-content,.location-content{grid-template-columns:1fr;gap:2rem}.rooms-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;text-align:center}.booking-modal{margin:20px;max-height:95vh}.booking-actions{flex-direction:column}.whatsapp-bubble{width:280px;right:10px;bottom:80px}.whatsapp-toggle{width:55px;height:55px;right:10px;bottom:10px}}@media (max-width: 480px){.nav-container{padding:0 15px}.nav-logo h2{font-size:1.5rem}.nav-menu{padding:1.5rem}.nav-menu button{padding:.8rem;font-size:.9rem}.booking-nav-button,.language-toggle{padding:.8rem 1.5rem!important;font-size:.9rem!important}.hero h1,.about h2,.rooms h2,.contact h2,.location h2{font-size:2rem}.container{padding:0 15px}.booking-header{padding:1.5rem}.booking-header h2{font-size:1.5rem}.booking-form{padding:1.5rem}.whatsapp-bubble{width:260px}}
