*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;font-size:16px}body{font-family:Cabin,sans-serif;color:#7e7e7e;background:#fff;line-height:1.7;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Cormorant,serif;font-weight:400;color:#2d2d2d;letter-spacing:.01em}a{color:inherit;text-decoration:none;transition:color .3s ease}img{max-width:100%;height:auto;display:block}.container{max-width:1140px;margin:0 auto;padding:0 1.5rem}.text-center{text-align:center}.section{padding:5rem 0}#menu{padding:4rem 0 5rem}.section-alt{background:#f9f9f9}.section-subtitle{font-family:Kristi,cursive;font-size:2rem;color:#d8a9a9;margin-bottom:0;line-height:1}.section-title{font-size:2.8rem;font-weight:300;margin-bottom:.3rem;margin-top:-.8rem}.section-desc{font-size:1rem;color:#7e7e7e;line-height:1.8}#historia{background:linear-gradient(#f0ede8e0,#f0ede8e0),url(/images/fondo-historia.png);background-size:cover;background-position:center;background-attachment:fixed}nav{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:.5rem 0;background:#fff;transition:background .4s ease,box-shadow .4s ease}nav.scrolled{background:#fffffff7;backdrop-filter:blur(12px);box-shadow:0 1px 8px #0000000f}.nav-container{max-width:1140px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center}.nav-logo img{height:80px}.nav-links{display:flex;list-style:none;gap:1.8rem;align-items:center}.nav-links a{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#9dc9b0;position:relative;padding:.3rem 0}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:#d8a9a9;transition:width .3s ease}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-links a:hover{color:#7fb89a}.btn-nav{background:#d8a9a9!important;color:#fff!important;padding:.6rem 1.5rem!important;border-radius:0;font-weight:600!important;transition:background .3s ease!important}.btn-nav:hover{background:#c99797!important}.btn-nav:after{display:none!important}.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:5px}.menu-toggle span{width:28px;height:2px;background:#9dc9b0;transition:all .3s ease}.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;background:linear-gradient(135deg,#0a2a3a,#0d1f2b,#0a2a3a);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(216,169,169,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(216,169,169,.05) 0%,transparent 60%);z-index:1}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.6}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#0a2a3ae6,#0a2a3a66 40%,#0a2a3ab3);z-index:1}.hero-content{position:relative;z-index:2;max-width:800px;padding:0 1.5rem;margin-top:-2rem}.hero-suptitle{font-size:.85rem;text-transform:uppercase;letter-spacing:.35em;color:#d8a9a9;margin-bottom:1.5rem;font-weight:500;animation:fadeUp 1s ease .2s both}.hero-title{font-family:Cormorant,serif;font-size:9rem;font-weight:300;line-height:1.05;color:#fff;margin-bottom:1.2rem;animation:fadeUp 1s ease .4s both}.hero-title em{font-style:italic;color:#9dc9b0}.hero-subtitle{font-size:1.1rem;font-weight:300;letter-spacing:.05em;margin-bottom:2.5rem;color:#fff9;animation:fadeUp 1s ease .6s both}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeUp 1s ease .8s both}.btn-outline{background:transparent;color:#fff;border:2px solid #ffffff;display:inline-block;padding:.9rem 2.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;border-radius:0;transition:all .3s ease;cursor:pointer;font-family:Cabin,sans-serif}.btn-outline:hover{border-color:#d8a9a9;color:#d8a9a9;transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:fadeUp 1s ease 1.2s both}.scroll-indicator span{font-size:.65rem;text-transform:uppercase;letter-spacing:.25em;color:#ffffff59}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,rgba(255,255,255,.35),transparent);animation:scrollPulse 2s ease infinite}@keyframes scrollPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.6)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.historia-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.historia-image{position:relative;overflow:hidden;border-radius:2px}.historia-image{display:flex;align-items:center}.historia-image img{width:70%;height:auto;border-radius:2px;transition:transform .8s ease}.historia-image:hover img{transform:scale(1.03)}.historia-content .section-desc{margin-bottom:1.2rem}.firma{font-family:Cormorant,serif;font-style:italic;font-size:1.2rem;font-weight:850;color:#dc9090;margin-top:1.5rem}.menu-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:3rem}.menu-tab{padding:.7rem 1.5rem;font-family:Cabin,sans-serif;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;border:1px solid #2d2d2d;background:transparent;color:#2d2d2d;cursor:pointer;transition:all .3s}.menu-tab:hover,.menu-tab.active{background:#2d2d2d;color:#fff}.menu-categoria{display:none}.menu-categoria.active{display:block}.menu-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1.2rem 0;border-bottom:1px solid rgba(45,45,45,.1)}.menu-item:last-child{border-bottom:none}.menu-item-info h4{font-size:1rem;font-weight:600;color:#2d2d2d;margin-bottom:.3rem;letter-spacing:.05em}.menu-item-info p{font-size:.8rem;color:#888;font-style:italic}.menu-item-precio{font-family:Cormorant,serif;font-size:1.1rem;font-weight:500;color:#2d2d2d;white-space:nowrap;margin-left:2rem}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.menu-card{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:1 / 1;cursor:pointer}.menu-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.menu-card:hover img{transform:scale(1.05)}.menu-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;text-align:left}.menu-card-overlay h3{font-size:1.5rem;color:#fff;font-weight:400}.menu-card-overlay p{font-size:.85rem;color:#ffffffa6;font-weight:300}.btn{display:inline-block;padding:.9rem 2.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;border-radius:0;transition:all .3s ease;cursor:pointer;font-family:Cabin,sans-serif}.btn-primary{background:#d8a9a9;color:#fff;border:none}.btn-primary:hover{background:#c99797;transform:translateY(-2px);box-shadow:0 6px 20px #d8a9a94d}.btn-primary:disabled{background:#ccc;color:#999;cursor:not-allowed;transform:none;box-shadow:none}#horarios{background:linear-gradient(#ffffffd9,#ffffffd9),url(/images/banner-tejido-verde.png);background-size:cover;background-position:center;background-attachment:fixed}.horarios-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-width:900px;margin:2.5rem auto 0}@media(max-width:768px){.horarios-grid{gap:.8rem}.horario-card{flex:0 0 calc(25% - .8rem);max-width:calc(25% - .8rem)}}@media(max-width:500px){.horario-card{flex:0 0 calc(50% - .8rem);max-width:calc(50% - .8rem)}}.horario-card{padding:1.8rem 1.2rem;border:2px solid #e8e0e0;border-radius:12px;text-align:center;background:#fff;box-shadow:0 4px 15px #0000000d;transition:all .3s ease}.horario-card:hover{border-color:#d8a9a9;background:#fdfafa;transform:translateY(-4px);box-shadow:0 8px 25px #d8a9a933}.horario-card.cerrado{background:#f9f9f9;border-color:#e8e0e0}.horario-dia{font-family:Cormorant,serif;font-size:1.2rem;font-weight:600;color:#2d2d2d;margin-bottom:.5rem}.horario-hora{font-size:.9rem;color:#7e7e7e;line-height:1.5;font-weight:500}.horario-card.cerrado .horario-hora{color:#a0a0a0;font-style:italic}.horario-card.cerrado .horario-dia{color:#999}.horarios-nota{text-align:center;margin-top:2rem;font-size:.85rem;color:#b5b5b5;font-style:italic}.acordeon{display:flex;gap:.5rem;height:420px;margin-top:.5rem}.acordeon-item{flex:1;position:relative;overflow:hidden;border-radius:4px;cursor:pointer;transition:flex .6s cubic-bezier(.25,.46,.45,.94);box-shadow:0 2px 12px #0000000f,0 1px 3px #00000008}.acordeon-item.active{flex:5}.acordeon-item img{width:100%;height:100%;object-fit:cover;display:block}.acordeon-item:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,42,58,.7) 0%,transparent 50%);pointer-events:none;transition:opacity .4s ease}.acordeon-item.active:after{opacity:.8}.acordeon-caption{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:1.5rem;text-align:center}.acordeon-caption span{color:#fff;font-family:Cormorant,serif;font-size:1.1rem;font-weight:400;letter-spacing:.06em;writing-mode:vertical-rl;text-orientation:mixed;opacity:.6;transition:all .5s ease}.acordeon-item.active .acordeon-caption span{writing-mode:horizontal-tb;font-size:1.4rem;opacity:1;text-shadow:0 2px 8px rgba(0,0,0,.3)}@media(max-width:768px){.acordeon{display:grid;grid-template-columns:1fr 1fr;height:auto;gap:.5rem}.acordeon-item{aspect-ratio:4 / 3;flex:none}.acordeon-item.active{flex:none}.acordeon-caption span{writing-mode:horizontal-tb;font-size:.9rem;opacity:1}.acordeon-item.active .acordeon-caption span{font-size:1rem}}.ubicacion-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.ubicacion-detalle{margin-bottom:1.5rem}.ubicacion-detalle strong{font-family:Cormorant,serif;font-size:1.1rem;color:#2d2d2d;font-weight:600;letter-spacing:.04em;display:block;margin-bottom:.3rem}.ubicacion-detalle p{font-size:.95rem;color:#7e7e7e;line-height:1.6}.ubicacion-detalle a{color:#d8a9a9}.ubicacion-detalle a:hover{color:#c99797}.ubicacion-mapa{border-radius:2px;overflow:hidden;filter:grayscale(.5) sepia(.1)}.ubicacion-mapa iframe{width:100%;height:380px;border:none}footer{background-image:linear-gradient(#0006,#0006),url(/images/footer.png);background-size:cover;background-position:center;padding:4rem 0 2rem;color:#fffffff2}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.footer-brand img{height:50px;margin-bottom:1rem}.footer-brand p{font-size:.95rem;color:#f5f0e8;font-weight:400;max-width:300px;line-height:1.6}.footer-social{display:flex;gap:.8rem;margin-top:1.2rem}.footer-social a{display:flex;align-items:center;justify-content:center;position:relative;transition:all .3s;text-decoration:none}.footer-social .social-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.15);border-radius:50%;flex-shrink:0;transition:all .3s}.footer-social a:hover .social-icon{border-color:#d8a9a9;background:#d8a9a91a}.footer-social svg{width:22px;height:22px;fill:#f5f0e8;transition:fill .3s}.footer-social a:hover svg{fill:#f5f0e8}.footer-social .social-label{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);font-size:.75rem;color:#fff;background:#000c;padding:.2rem .6rem;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s}.footer-social a:hover .social-label{opacity:1}.footer-col h4{font-family:Cormorant,serif;font-size:1.2rem;color:#f5f0e8;margin-bottom:1.2rem;font-weight:500}.footer-col ul{list-style:none}.footer-col ul li{margin-bottom:.6rem}.footer-col ul a{font-size:.9rem;color:#f5f0e8;font-weight:400;transition:color .3s}.footer-col ul a:hover{color:#f5f0e8}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-bottom p{font-size:.85rem;color:#f5f0e8}.whatsapp-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;background:#25d366;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #25d36640;transition:transform .3s,box-shadow .3s}.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 6px 28px #25d36659}.whatsapp-float svg{width:24px;height:24px;fill:#fff}.reveal{opacity:0;transform:translateY(35px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.section-contacto{background:#f9f9f9;min-height:calc(100vh - 110px);display:flex;align-items:center;padding:2rem 0}.section-contacto .container{width:100%}.contacto-header{text-align:center;margin-bottom:1.5rem}.contacto-header .section-subtitle{margin-bottom:0}.contacto-header .section-title{margin-bottom:0;font-size:2.2rem}.contacto-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:stretch}.contacto-form{background:#fff;padding:1.8rem;border-radius:4px;box-shadow:0 2px 20px #0000000a}.contacto-form form{display:flex;flex-direction:column;gap:.7rem}.contacto-form input[type=text],.contacto-form input[type=email],.contacto-form input[type=tel],.contacto-form textarea{width:100%;padding:.7rem .9rem;font-family:Cabin,sans-serif;font-size:.85rem;border:1px solid #e0e0e0;border-radius:4px;background:#fafafa;color:#2d2d2d;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease;outline:none}.contacto-form input:hover,.contacto-form textarea:hover{background:#fff;border-color:#ccc}.contacto-form input:focus,.contacto-form textarea:focus{border-color:#d8a9a9;background:#fff;box-shadow:0 0 0 3px #d8a9a91f}.contacto-form textarea{resize:vertical;min-height:70px}.checkbox-group{background:#fdfafa;padding:.7rem 1rem;border-left:3px solid #d8a9a9;border-radius:2px}.contacto-form .checkbox-label{display:flex;align-items:flex-start;gap:.5rem;font-size:.78rem;color:#555;cursor:pointer;line-height:1.4}.contacto-form .checkbox-label input[type=checkbox]{margin-top:.15rem;flex-shrink:0;accent-color:#d8a9a9}.contacto-form .checkbox-label a{color:#d8a9a9;text-decoration:underline}.contacto-form .checkbox-label a:hover{color:#c99797}.politicas-details{font-size:.8rem;color:#7e7e7e}.politicas-details summary{cursor:pointer;color:#9dc9b0;font-weight:600;font-size:.75rem;letter-spacing:.02em;transition:color .3s}.politicas-details summary:hover{color:#7fb89a}.politicas-content{margin-top:.7rem;padding:.8rem 1rem;background:#f9f9f9;border-radius:4px;border:1px solid #eee;line-height:1.6;max-height:200px;overflow-y:auto}.politicas-content p{margin-bottom:.5rem;font-size:.75rem;color:#666}.politicas-content ol{padding-left:1rem;margin-bottom:.5rem}.politicas-content ol li{margin-bottom:.4rem;font-size:.75rem;color:#666}.politicas-content ol li strong{color:#2d2d2d}.politicas-content a{color:#d8a9a9;text-decoration:underline}.politicas-content a:hover{color:#c99797}.btn-submit{width:100%;text-align:center}.form-message{font-size:.85rem;padding:.6rem .9rem;border-radius:4px;text-align:center;display:none}.form-message.success{display:block;background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.form-message.error{display:block;background:#fbe9e7;color:#c62828;border:1px solid #ef9a9a}.contacto-info{display:flex;flex-direction:column;justify-content:center;gap:1.2rem}.contacto-card{background:#fff;padding:1.5rem;border-radius:4px;box-shadow:0 2px 20px #0000000a}.contacto-card-reservas{padding:2rem;text-align:center;background:linear-gradient(135deg,#fff,#fdfafa);border:1px solid rgba(216,169,169,.15)}.contacto-card-reservas .btn{font-size:.9rem;padding:1rem 3rem}.contacto-subtitle{font-family:Kristi,cursive;font-size:2.2rem;color:#d8a9a9;margin-bottom:0;line-height:1}.contacto-desc{font-size:1rem;color:#7e7e7e;line-height:1.7;margin:1rem 0 1.5rem}.contacto-datos p{font-size:.85rem;color:#7e7e7e;margin-bottom:.5rem}.contacto-datos p:last-child{margin-bottom:0}.contacto-datos strong{color:#2d2d2d;font-weight:600}.contacto-datos a{color:#d8a9a9}.contacto-datos a:hover{color:#c99797}@media(max-width:900px){.nav-links{position:fixed;top:0;right:-100%;width:75%;max-width:320px;height:100vh;background:#fffffffa;backdrop-filter:blur(20px);flex-direction:column;justify-content:center;gap:1.8rem;padding:2rem;transition:right .4s ease;box-shadow:-4px 0 20px #0003;z-index:999}.nav-links.open{right:0}.nav-links a{font-size:.95rem;color:#9dc9b0}.menu-toggle{display:flex;z-index:1001}.section-title{font-size:2.2rem}.historia-grid{grid-template-columns:1fr;gap:2rem}.historia-image{justify-content:center}.historia-image img{height:300px}.menu-grid{grid-template-columns:1fr}.ubicacion-grid{grid-template-columns:1fr;gap:2rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.section-contacto{min-height:auto;padding:3rem 0}.contacto-grid{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:600px){.nav-logo img{height:56px}.section{padding:4rem 0}.section-title{font-size:1.8rem}#galeria{padding-top:2rem}.section-subtitle{font-size:1.6rem}.footer-grid{grid-template-columns:1fr}.galeria-grid{grid-template-columns:1fr 1fr;gap:.3rem}.horarios-grid{grid-template-columns:1fr 1fr}.contacto-form,.contacto-card{padding:1.2rem}.contacto-card-reservas{padding:1.5rem}.contacto-card-reservas .btn{font-size:.8rem;padding:.8rem 2rem}.contacto-header .section-title{font-size:1.8rem}.contacto-header{margin-bottom:1rem}.hero-title{font-size:3rem}.hero-subtitle{font-size:.95rem}.hero-buttons{flex-direction:column;align-items:center}.scroll-indicator{display:none}}
