*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:#fff;color:#2d2520;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.page{display:none}.page.active{display:block}
:root{--cr:#faf6ef;--cr2:#f4ede0;--cr3:#ebe0cc;--gd:#a07840;--gd2:#c89850;--br:#7a5c3a;--br2:#5a3e22;--tx:#1f1812;--tx2:#3d2e1d;--tx3:#6b5640}
nav{position:sticky;top:0;z-index:300;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(.8rem,3vw,2rem);background:rgba(250,246,239,.97);border-bottom:1px solid var(--cr3);backdrop-filter:blur(12px)}
.nav-logo{cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0 .4rem}
.nav-logo img{height:72px;width:auto;display:block}
.nav-links{display:flex;gap:clamp(.5rem,1.5vw,1.3rem);list-style:none;align-items:center}
.nav-left,.nav-right{flex:1}
.nav-right{justify-content:flex-end}
.nav-links a{font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tx2);cursor:pointer;padding-bottom:2px;border-bottom:1px solid transparent;transition:.25s}
.nav-links a:hover,.nav-links a.active{color:var(--gd);border-bottom-color:var(--gd)}
.nav-res{background:var(--br2)!important;color:#fff!important;padding:.35rem .9rem!important;border-radius:2px;border:none!important}
.nav-flags{display:inline-flex;align-items:center;gap:.4rem;padding:0 .5rem}
.flag-btn{display:inline-block;width:26px;height:17px;padding:0;border:1px solid rgba(0,0,0,.18);border-radius:2px;background:none;cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;line-height:0}
.flag-btn:hover{transform:translateY(-2px) scale(1.08);box-shadow:0 3px 8px rgba(0,0,0,.18)}
.flag-btn svg{width:100%;height:100%;display:block}
.mmenu-flags{display:flex;justify-content:center;gap:.7rem;padding:.8rem 0;border-bottom:1px solid var(--cr3);margin-bottom:.4rem}
.mmenu-flags .flag-btn{width:34px;height:22px}
.mmenu-flags-label{display:block;text-align:center;font-family:'Jost',sans-serif;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--tx3);padding-top:.6rem}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:5px}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--br2);transition:.3s}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}
.mmenu{display:none;position:fixed;top:82px;left:0;right:0;background:var(--cr);z-index:299;padding:1.5rem 2rem 2rem;flex-direction:column;gap:1.2rem;border-top:1px solid var(--cr3);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.mmenu.open{display:flex}
.mmenu a{font-family:'Jost',sans-serif;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx2);padding-bottom:.7rem;border-bottom:1px solid var(--cr3);cursor:pointer}
.mmenu a.nav-res{text-align:center;padding:.8rem!important;border-radius:2px;border-bottom:none!important;background:var(--br2);color:#fff!important}
.hero{position:relative;height:100svh;min-height:520px;overflow:hidden}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;background-size:cover;background-position:center}
.s0{background-image:url("images/img-01.jpg")}
    .s1{background-image:url("images/img-02.jpg")}
    .s2{background-image:url("images/img-03.jpg")}
    .s3{background-image:url("images/img-04.jpg")}
    .s4{background-image:url("images/img-05.jpg")}
    .s5{background-image:url("images/img-06.jpg")}
    .s6{background-image:url("images/img-07.jpg")}
        
.slide.active{opacity:1;transition:opacity .9s ease}
.hero-ov{position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,rgba(0,0,0,.08) 0%,rgba(0,0,0,.02) 40%,rgba(0,0,0,.58) 100%)}
.hero-content{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 clamp(1.5rem,5vw,4rem);padding-top:82px}
.hero-pre{font-family:'Jost',sans-serif;font-size:.63rem;letter-spacing:.38em;text-transform:uppercase;color:rgba(255,255,255,.88);margin-bottom:1rem;animation:su .8s ease .4s both}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,6vw,5.5rem);font-weight:300;line-height:1.05;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.35);margin-bottom:.5rem;animation:su .8s ease .7s both}
.hero h1 em{font-style:italic;color:rgba(240,220,170,.95)}
.hero-sep{width:40px;height:1px;background:rgba(255,255,255,.55);margin:0 auto .7rem;animation:su .8s ease .85s both}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(.95rem,2vw,1.2rem);font-style:italic;color:rgba(245,238,225,.88);letter-spacing:.05em;margin-bottom:2.2rem;animation:su .8s ease 1s both}
.hero-ctas{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;animation:su .8s ease 1.2s both}
@keyframes su{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.slide-dots{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:6;display:flex;gap:.4rem}
.dot{width:20px;height:2px;background:rgba(255,255,255,.3);border:none;cursor:pointer;transition:.3s;padding:0}
.dot.active{background:#fff;width:32px}
.btn-main{background:#fff;color:var(--br2);padding:.75rem 2rem;font-family:'Jost',sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;font-weight:500;transition:.25s}
.btn-main:hover{background:var(--cr2)}
.btn-out{background:transparent;color:#fff;padding:.75rem 2rem;font-family:'Jost',sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.55);border-radius:2px;cursor:pointer;transition:.25s}
.slabel{font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gd);margin-bottom:.5rem}
.cita{background:var(--cr2);padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,5vw,4rem);text-align:center;border-bottom:1px solid var(--cr3)}
.cita p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.05rem,2vw,1.3rem);color:var(--tx2);max-width:680px;margin:0 auto;line-height:2}
.cita p::before{content:'\201C';display:block;font-size:3rem;color:var(--gd);line-height:1;margin-bottom:.2rem}
.hblock{display:grid;grid-template-columns:1fr 1fr;min-height:300px}
.hblock.rev{direction:rtl}.hblock.rev>*{direction:ltr}
.himg{overflow:hidden}.himg img{width:100%;height:100%;min-height:280px;object-fit:cover;transition:transform .7s ease}
.himg:hover img{transform:scale(1.04)}
.htxt{padding:clamp(2rem,5vw,3.5rem) clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;background:#fff}
.htxt.cr{background:var(--cr)}
.htxt h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:500;color:var(--br2);line-height:1.2;margin-bottom:.8rem}
.htxt h2::after{content:'';display:block;width:28px;height:1.5px;background:var(--gd);margin-top:.6rem}
.htxt p{font-size:.88rem;line-height:1.9;margin-bottom:.5rem;color:var(--tx2);font-weight:300}
.htxt p em{color:var(--br);font-style:italic}
.datos{background:var(--cr3);display:grid;grid-template-columns:repeat(2,1fr);padding:clamp(2rem,5vw,3rem) 1rem;text-align:center;border-top:1px solid #d4c8b0;border-bottom:1px solid #d4c8b0}
.dn{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4.5vw,2.8rem);font-weight:500;color:var(--br2);line-height:1}
.dato p{font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin-top:.35rem}
.cta-sec{background:var(--br2);padding:clamp(3rem,7vw,5rem) clamp(1.5rem,5vw,4rem);text-align:center}
.cta-sec h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:300;color:#fff;margin-bottom:.6rem}
.cta-sec p{font-family:'Cormorant Garamond',serif;font-style:italic;color:rgba(255,255,255,.7);font-size:1rem;margin-bottom:2rem}
.btn-cta{display:inline-block;background:#fff;color:var(--br2);padding:.9rem 2.5rem;font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;border:none;border-radius:2px;cursor:pointer;font-weight:500;transition:.25s}
.opiniones{background:var(--cr);padding:clamp(3rem,7vw,5rem) clamp(1.5rem,5vw,4rem)}
.opiniones-title{text-align:center;margin-bottom:3rem}
.opiniones-title h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:500;color:var(--br2);margin-bottom:.4rem}
.opiniones-title p{font-family:'Jost',sans-serif;font-size:.8rem;color:var(--tx3)}
.ogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1100px;margin:0 auto}
.ocard{background:#fff;padding:1.8rem;border:1px solid var(--cr3);border-radius:3px;position:relative}
.ocard .stars{color:#f5a623;font-size:1rem;margin-bottom:.8rem}
.ocard .text{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:var(--tx2);line-height:1.75;margin-bottom:1.2rem}
.ocard .author{display:flex;align-items:center;gap:.7rem}
.ocard .avatar{width:36px;height:36px;border-radius:50%;background:var(--cr3);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:500;color:var(--br2);flex-shrink:0}
.ocard .meta strong{display:block;font-size:.8rem;color:#2d2520;font-weight:500}
.ocard .meta span{font-size:.72rem;color:var(--tx3)}
.gbadge{position:absolute;top:1.2rem;right:1.2rem;opacity:.3}
.food-hero{position:relative;height:75vh;min-height:440px;overflow:hidden;background:#111}
.food-slides{position:absolute;top:0;left:0;right:0;bottom:0}
.food-ov{position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,rgba(0,0,0,.08) 0%,rgba(0,0,0,.5) 100%);pointer-events:none}
.food-title{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 2rem;padding-top:82px;pointer-events:none}
.food-dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center}
.carta-scroll{position:relative}
.cbg{position:sticky;top:0;z-index:0;width:100%;height:100vh;margin-top:-100vh;background-image:url("images/img-08.jpg");background-size:cover;background-position:center;filter:brightness(.22) blur(2px);pointer-events:none}
.carta-content{position:relative;z-index:1}
.cbq{padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem);background:rgba(255,255,255,.97)}
.cbq.alt{background:rgba(244,237,224,.98)}
.cbq-inner{max-width:720px;margin:0 auto}
.csec-title{text-align:center;margin-bottom:2.2rem}
.csec-title h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3vw,2.2rem);font-weight:500;color:var(--br2)}
.cbq-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.9rem;color:var(--tx3);margin-top:.3rem}
.platos{max-width:680px;margin:0 auto}
.cat-h{font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gd);margin:2rem 0 .7rem;border-bottom:1px solid var(--cr3);padding-bottom:.35rem}
.plato{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--cr3);transition:.2s}
.plato:hover{padding-left:.4rem;padding-right:.4rem;background:rgba(255,255,255,.8);border-radius:2px;margin:0 -.4rem}
.pname{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--br2);font-weight:500}
.pdesc{font-family:'Jost',sans-serif;font-size:.76rem;color:var(--tx3);margin-top:.1rem;line-height:1.45;font-weight:300}
.pprice{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--gd);white-space:nowrap;font-weight:600}
.donde-wrap{max-width:1100px;margin:0 auto;padding:clamp(3rem,7vw,5rem) clamp(1.5rem,4vw,2rem);display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.donde-info h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2rem);font-weight:500;color:var(--br2);margin-bottom:1.2rem}
.donde-info h2::after{content:'';display:block;width:28px;height:1.5px;background:var(--gd);margin-top:.5rem}
.ditem{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:1.3rem}
.dicon{width:38px;height:38px;border-radius:50%;background:var(--cr2);border:1px solid var(--cr3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dicon svg{stroke:var(--gd)}
.dtext strong{display:block;font-family:'Jost',sans-serif;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gd);margin-bottom:.15rem}
.dtext span{font-size:.88rem;color:var(--tx2);font-weight:300;line-height:1.7}
.dtext a{color:var(--br);font-weight:400}
.gmaps-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--br2);color:#fff;padding:.7rem 1.4rem;border-radius:2px;font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin-top:1rem;transition:.25s;cursor:pointer;border:none;text-decoration:none}
.mapa{width:100%;height:320px;overflow:hidden;border-radius:3px;border:1px solid var(--cr3)}
.mapa iframe{width:100%;height:100%;border:none}
.ruta-cards{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}
.ruta-card{background:var(--cr2);border:1px solid var(--cr3);padding:1rem;border-radius:2px}
.ruta-card h4{font-family:'Jost',sans-serif;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--br2);margin-bottom:.4rem;font-weight:500}
.ruta-card p{font-size:.8rem;color:var(--tx2);line-height:1.6;font-weight:300}
.pbox{background:var(--cr2);border:1px dashed var(--cr3);border-radius:2px;padding:1.2rem;text-align:center;margin-top:1rem}
.pbox p{font-family:'Jost',sans-serif;font-size:.8rem;color:var(--tx2);line-height:1.7}
.rcon{max-width:960px;margin:0 auto;padding:clamp(2.5rem,6vw,4rem) clamp(1.5rem,4vw,2rem);display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(2rem,4vw,3rem);align-items:start}
.rinfo h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,1.8rem);font-weight:500;color:var(--br2);margin-bottom:1.2rem}
.rinfo h2::after{content:'';display:block;width:28px;height:1.5px;background:var(--gd);margin-top:.5rem}
.iitem{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:1.1rem}
.iicon{width:36px;height:36px;border-radius:50%;background:var(--cr2);border:1px solid var(--cr3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.iicon svg{stroke:var(--gd)}
.itext strong{display:block;font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gd);margin-bottom:.15rem}
.itext span{font-size:.85rem;color:var(--tx2);font-weight:300}
.tel-link{color:var(--br)!important;font-weight:400}
.rform{background:#fff;padding:clamp(1.5rem,3vw,2rem);border:1px solid var(--cr3);border-radius:3px}
.rform h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:500;color:var(--br2);margin-bottom:.2rem}
.fsub{font-family:'Jost',sans-serif;font-size:.75rem;color:var(--tx3);font-weight:300;margin-bottom:1.4rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.fg{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.6rem}
.fg label{font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gd);font-weight:400}
.fg input,.fg select,.fg textarea{padding:.55rem .8rem;background:var(--cr);border:1px solid var(--cr3);color:var(--tx);font-size:.85rem;outline:none;width:100%;font-family:'Jost',sans-serif;font-weight:300;border-radius:1px}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gd)}
.fg textarea{min-height:70px;resize:vertical}
.btn-sub{width:100%;padding:.85rem;background:var(--br2);color:#fff;border:none;font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;font-weight:400;margin-top:.3rem;transition:.25s;border-radius:2px}
.succ{display:none;text-align:center;padding:2rem 1rem}
.succ .ok{font-family:'Cormorant Garamond',serif;font-size:3rem;color:var(--gd);margin-bottom:.4rem}
.succ h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:500;color:var(--br2);margin-bottom:.4rem}
.succ p{font-family:'Jost',sans-serif;font-size:.8rem;color:var(--tx3);line-height:1.8;font-weight:300}
footer{position:relative;z-index:2;background:#f0ede8;padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,3rem) 1.2rem;border-top:1px solid #ddd8cf}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(2rem,4vw,3rem);margin-bottom:2.5rem}
.fbrand h3{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;color:var(--br2);margin-bottom:.6rem}
.fbrand p{font-family:'Jost',sans-serif;font-size:.8rem;line-height:1.9;color:var(--tx2);font-weight:300}
.fcol h4{font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gd);margin-bottom:.9rem}
.fcol ul{list-style:none}
.fcol ul li{margin-bottom:.4rem}
.fcol ul li a{font-family:'Jost',sans-serif;font-size:.8rem;color:var(--tx2);font-weight:300;cursor:pointer}
.fcol ul li a:hover{color:var(--br2)}
.fcol p{font-family:'Jost',sans-serif;font-size:.8rem;color:var(--tx2);line-height:2;font-weight:300}
.fbot{border-top:1px solid #ddd8cf;padding-top:1rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.fbot p{font-family:'Jost',sans-serif;font-size:.68rem;color:#aaa;font-weight:300}
.flinks{display:flex;gap:1rem}
.flinks a{font-family:'Jost',sans-serif;font-size:.68rem;color:#aaa;cursor:pointer}
#ckBar{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:#fff;border-top:1px solid var(--cr3);padding:1.2rem clamp(1rem,4vw,2.5rem);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;transform:translateY(100%);transition:transform .5s;box-shadow:0 -4px 20px rgba(0,0,0,.08)}
#ckBar.show{transform:translateY(0)}
.ck-txt p{font-family:'Jost',sans-serif;font-size:.8rem;color:var(--tx2);line-height:1.6;font-weight:300}
.ck-txt a{color:var(--gd);text-decoration:underline;cursor:pointer}
.ck-btns{display:flex;gap:.6rem;flex-wrap:wrap}
.ck-acc{background:var(--br2);color:#fff;border:none;padding:.5rem 1.3rem;font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.ck-rej{background:transparent;color:var(--tx3);border:1px solid var(--cr3);padding:.5rem 1.3rem;font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:2px}
.ck-prf{background:transparent;color:var(--tx3);border:none;padding:.5rem .8rem;font-family:'Jost',sans-serif;font-size:.7rem;text-decoration:underline;cursor:pointer}
.cmodal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;align-items:center;justify-content:center;padding:1rem}
.cmodal-bg.show{display:flex}
.cmodal{background:#fff;border:1px solid var(--cr3);padding:2rem;max-width:560px;width:100%;max-height:80vh;overflow-y:auto;position:relative;border-radius:3px}
.cmodal h2{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;color:var(--br2);margin-bottom:1rem}
.cmodal p{font-family:'Jost',sans-serif;font-size:.82rem;color:var(--tx2);line-height:1.8;font-weight:300;margin-bottom:.6rem}
.cmodal h3{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:500;color:var(--gd);margin:1.2rem 0 .5rem}
.ctrow{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--cr3)}
.ctlbl{font-family:'Jost',sans-serif;font-size:.82rem;color:#2d2520;font-weight:400}
.ctlbl small{display:block;font-size:.72rem;color:var(--tx3);margin-top:.15rem;font-weight:300}
.toggle{position:relative;width:40px;height:22px;flex-shrink:0}
.toggle input{opacity:0;width:0;height:0}
.tsl{position:absolute;inset:0;background:var(--cr3);border-radius:22px;cursor:pointer;transition:.3s}
.tsl::before{content:'';position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}
.toggle input:checked+.tsl{background:var(--gd)}
.toggle input:checked+.tsl::before{transform:translateX(18px)}
.toggle input:disabled+.tsl{opacity:.5;cursor:not-allowed}
.cmodal-x{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--tx3);cursor:pointer;font-size:1.4rem;line-height:1}
.csave{margin-top:1.5rem;width:100%;padding:.8rem;background:var(--br2);color:#fff;border:none;font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:2px}
@media(max-width:900px){.nav-links{display:none}.hamburger{display:flex}.hblock,.hblock.rev{grid-template-columns:1fr;direction:ltr}.hblock.rev .himg{order:-1}.rcon,.donde-wrap{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr 1fr}.datos{grid-template-columns:repeat(2,1fr)}.ogrid{grid-template-columns:1fr}.ruta-cards{grid-template-columns:1fr}}
@media(max-width:580px){
      [data-regala]{grid-template-columns:1fr!important}
.fgrid{grid-template-columns:1fr}.fbot{flex-direction:column;text-align:center}.datos{grid-template-columns:1fr;gap:1.5rem;padding:2rem 1rem}.frow{grid-template-columns:1fr}.hero-ctas{flex-direction:column;align-items:center}#ckBar{flex-direction:column;align-items:flex-start}.ck-btns{width:100%}.ck-acc,.ck-rej{flex:1;text-align:center}}
    .fsocial-wrap{margin-bottom:1.8rem;padding-bottom:1.8rem;border-bottom:1px solid #ddd8cf;text-align:center;width:100%}
    .fsocial-title{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:500;color:#5a3e22;margin-bottom:1rem;letter-spacing:.04em}
    .fsocial{display:flex;gap:1.2rem;align-items:center;justify-content:center}
    .fsoc-link{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#fff;color:#5a3e22;border:1.5px solid #ddd8cf;transition:all .25s;text-decoration:none}
    .fsoc-link:hover{background:#5a3e22;color:#fff;border-color:#5a3e22;transform:translateY(-3px);box-shadow:0 6px 20px rgba(90,62,34,.2)}
    .fsoc-link svg{display:block}

    /* ══ PARALLAX: slideshow fijo, contenido transparente encima ══ */
    
    /* Slideshow fijo cubriendo toda la pantalla */
    #page-inicio.active .slides {
      position: fixed !important;
      top: 0; left: 0; right: 0; bottom: 0;
      z-index: 0;
      height: 100vh;
    }
    
    /* Hero se convierte en spacer transparente de 100vh */
    #page-inicio.active .hero {
      background: transparent !important;
      position: relative;
      z-index: 1;
      height: 100vh;
    }
    #page-inicio.active .hero-ov,
    #page-inicio.active .hero-content {
      position: relative;
      z-index: 2;
    }
    
    /* Secciones de contenido: transparentes para ver el slide */
    #page-inicio.active .cita {
      position: relative;
      z-index: 2;
      background: rgba(244, 237, 224, 0.15) !important;
      backdrop-filter: blur(0px);
      color: #fff;
    }
    #page-inicio.active .cita p {
      color: #fff;
      text-shadow: 0 1px 4px rgba(0,0,0,0.5);
    }
    #page-inicio.active .hblock {
      position: relative;
      z-index: 2;
      background: rgba(255,255,255,0.12) !important;
    }
    #page-inicio.active .hblock.rev {
      position: relative;
      z-index: 2;
      background: rgba(244,237,224,0.12) !important;
    }
    #page-inicio.active section {
      position: relative;
      z-index: 2;
      background: rgba(255,255,255,0.1) !important;
    }
    
    /* Footer con fondo sólido al final */
    #page-inicio.active footer {
      position: relative;
      z-index: 2;
      background: #f0ede8 !important;
    }
    
    /* Ocultar slideshow fijo cuando no estamos en inicio */
    #page-inicio:not(.active) .slides {
      position: absolute !important;
    }

    /* ══ PARALLAX CARTA: slideshow fijo, bandas oscuras detrás de cada bloque ══ */

    /* Slideshow de la carta fijo cubriendo toda la pantalla */
    #page-carta.active .food-slides {
      position: fixed !important;
      top: 0; left: 0; right: 0; bottom: 0;
      z-index: 0;
      height: 100vh;
      width: 100vw;
    }

    /* Hero de la carta: spacer de altura completa para ver el slideshow al cargar */
    #page-carta.active .food-hero {
      background: transparent !important;
      position: relative;
      z-index: 1;
      height: 100vh;
    }
    #page-carta.active .food-ov,
    #page-carta.active .food-title,
    #page-carta.active .food-dots {
      position: absolute;
      z-index: 3;
    }

    /* Anular fondo oscuro de la carta para que se vea el slideshow detrás */
    #page-carta.active .cbg {
      display: none !important;
    }

    /* Hueco transparente entre el hero y la primera categoría */
    #page-carta.active .carta-content {
      padding-top: 8vh;
    }

    /* BANDA CREMA TRANSLÚCIDA detrás de cada categoría */
    #page-carta.active .cbq,
    #page-carta.active .cbq.alt {
      position: relative;
      z-index: 2;
      background: rgba(250,246,239,.82) !important;
      backdrop-filter: blur(2px);
      -webkit-backdrop-filter: blur(2px);
      margin: 3rem auto;
      max-width: 820px;
      border-radius: 4px;
      box-shadow: 0 12px 40px rgba(0,0,0,.35);
      border-top: 1px solid rgba(160,120,64,.3);
      border-bottom: 1px solid rgba(160,120,64,.3);
    }

    /* Textos en colores originales (marrones / dorado) sobre el crema */
    #page-carta.active .csec-title h2 {
      color: var(--br2) !important;
    }
    #page-carta.active .cbq-sub {
      color: var(--tx3) !important;
    }
    #page-carta.active .csec-title .slabel {
      color: var(--gd) !important;
    }
    #page-carta.active .cat-h {
      color: var(--gd) !important;
      border-bottom-color: var(--cr3) !important;
    }
    #page-carta.active .plato {
      border-bottom-color: var(--cr3) !important;
    }
    #page-carta.active .pname {
      color: var(--br2) !important;
    }
    #page-carta.active .pdesc {
      color: var(--tx3) !important;
    }
    #page-carta.active .pprice {
      color: var(--gd) !important;
    }
    #page-carta.active .plato:hover {
      background: rgba(255,255,255,.5) !important;
    }

    /* Footer con fondo sólido al final */
    #page-carta.active footer {
      position: relative;
      z-index: 2;
      background: #f0ede8 !important;
    }

    /* Ocultar slideshow fijo de la carta cuando no estamos en esa página */
    #page-carta:not(.active) .food-slides {
      position: absolute !important;
    }

    /* En móvil las bandas ocupan casi todo el ancho */
    @media(max-width:900px){
      #page-carta.active .cbq,
      #page-carta.active .cbq.alt {
        margin: 1.5rem 1rem;
      }
    }
/* ── Reproductor: Nuestra historia ── */
.hist-audio{
  position:fixed; left:1.5rem; bottom:1.5rem; z-index:90;
  display:flex; align-items:center; gap:.7rem;
  background:#5a3e22; padding:.55rem .55rem .55rem .65rem;
  border-radius:50px; box-shadow:0 6px 24px rgba(0,0,0,.22);
  font-family:'Jost',sans-serif;
}
.hist-btn{
  width:42px; height:42px; flex:0 0 42px; border:none; cursor:pointer;
  border-radius:50%; background:#a07840;
  display:flex; align-items:center; justify-content:center;
  transition:transform .2s;
}
.hist-btn:hover{ transform:scale(1.07); }
.hist-label{
  color:#fff; font-size:.7rem; letter-spacing:.12em;
  text-transform:uppercase; font-weight:300; padding-right:.5rem;
  white-space:nowrap;
}
.hist-audio .ic-pause{ display:none; }
.hist-audio.playing .ic-play{ display:none; }
.hist-audio.playing .ic-pause{ display:block; }
.hist-audio:not(.playing) .hist-btn{ animation:histPulse 2.4s ease-in-out infinite; }
@keyframes histPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(160,120,64,.5); }
  50%{ box-shadow:0 0 0 9px rgba(160,120,64,0); }
}
@media(max-width:600px){
  .hist-audio{ left:1rem; bottom:1rem; }
  .hist-label{ display:none; }
}
