:root{--color-primary-dark:#0a3d54;--color-primary:#00828a;--color-primary-medium:#009ea8;--color-primary-light:#e2f6f7;--color-accent:#cfa856;--color-accent-hover:#bda04f;--color-bg-soft:#fafcfc;--color-text-dark:#1e293b;--color-text-muted:#64748b;--color-white:#fff;--color-card-border:#00828a14;--color-error:#ef4444;--color-success:#10b981;--color-warning:#f59e0b;--font-title:"Playfair Display", Georgia, serif;--font-body:"Outfit", sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0a3d540d, 0 2px 4px -1px #0a3d5408;--shadow-lg:0 10px 15px -3px #0a3d5414, 0 4px 6px -2px #0a3d540a;--shadow-inset:inset 0 2px 4px 0 #00000005;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg-soft);color:var(--color-text-dark);flex-direction:column;min-height:100vh;line-height:1.5;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);color:var(--color-primary-dark);font-weight:700;line-height:1.2}p{color:var(--color-text-muted)}a{color:var(--color-primary);transition:var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-dark)}.btn{font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-normal);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-accent{background-color:var(--color-accent);color:var(--color-white)}.btn-accent:hover{background-color:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{background-color:var(--color-primary-light);color:var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary);color:var(--color-white)}.btn-outline{border:1px solid var(--color-primary);color:var(--color-primary);background-color:#0000}.btn-outline:hover{background-color:var(--color-primary-light)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-normal) forwards}.spinner{border:3px solid #00828a1a;border-left-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.main-header{background-color:var(--color-white);border-bottom:1px solid var(--color-card-border);z-index:1000;box-shadow:var(--shadow-sm);padding:.75rem 0;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;display:flex}.logo-container{align-items:center;display:flex}.logo-img{object-fit:contain;width:auto;height:48px;display:block}.main-nav{align-items:center;gap:1.5rem;display:flex}.nav-link{color:var(--color-text-dark);transition:var(--transition-fast);font-size:.95rem;font-weight:500}.nav-link:hover{color:var(--color-primary)}.btn-reservar-nav{padding:.5rem 1.25rem;font-size:.9rem}.mobile-actions{align-items:center;gap:.75rem;display:none}.hamburger-btn{color:var(--color-primary-dark);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex}.hamburger-btn:hover{color:var(--color-primary)}.btn-reservar-mobile{align-items:center;gap:.25rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.mobile-dropdown-menu{background-color:var(--color-white);border-top:1px solid var(--color-card-border);box-shadow:var(--shadow-md);z-index:999;padding:1rem 1.5rem 1.5rem;position:absolute;top:100%;left:0;right:0}.mobile-nav{flex-direction:column;gap:.5rem;display:flex}.mobile-nav-link{color:var(--color-primary-dark);border-bottom:1px solid var(--color-card-border);transition:var(--transition-fast);padding:.75rem 0;font-size:1.05rem;font-weight:600;display:block}.mobile-nav-link:last-child{border-bottom:none}.mobile-nav-link:hover{color:var(--color-primary);padding-left:.25rem}@media (max-width:768px){.desktop-only{display:none!important}.mobile-actions{display:flex}}.main-content{flex:1}.main-footer{background-color:var(--color-primary-dark);color:var(--color-white);margin-top:auto;padding-top:3.5rem}.footer-container{grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:3rem;display:grid}.footer-info h3{color:var(--color-accent);margin-bottom:1rem;font-size:1.5rem}.footer-desc{color:#94a3b8;max-width:400px;margin-bottom:1.5rem;font-size:.9rem}.footer-address,.footer-phone{color:#e2e8f0;margin-bottom:.5rem;font-size:.9rem}.footer-phone a{color:var(--color-accent)}.footer-links h4,.footer-social h4{color:var(--color-white);font-family:var(--font-body);margin-bottom:1.25rem;font-size:1.1rem;font-weight:600}.footer-links ul{list-style:none}.footer-links ul li{margin-bottom:.75rem}.footer-links ul li a{color:#94a3b8;transition:var(--transition-fast);font-size:.9rem}.footer-links ul li a:hover{color:var(--color-accent);padding-left:4px}.social-icons{flex-direction:column;gap:.75rem;display:flex}.social-link{border-radius:var(--radius-sm);color:#e2e8f0;transition:var(--transition-fast);background-color:#ffffff0d;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;display:inline-flex}.social-link:hover{color:var(--color-accent);background-color:#ffffff1a}.footer-bottom{color:#64748b;border-top:1px solid #ffffff0d;padding:1.5rem 0;font-size:.85rem}.footer-bottom-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.legal-links{gap:1.5rem;display:flex}.legal-links a{color:#64748b}.legal-links a:hover{color:var(--color-accent)}.footer-logo-img{object-fit:contain;width:auto;height:45px;margin-bottom:1.25rem;display:block}@media (max-width:768px){.main-header{padding:.5rem 0}.logo-img{height:36px}.footer-container{grid-template-columns:1fr;gap:2rem}.footer-bottom-container{text-align:center;flex-direction:column}}
