
*,*::before,*::after{box-sizing:border-box}
html{width:100%;scroll-padding-top:100px}
body{width:100%;min-width:0;margin:0}
img,video,svg{max-width:100%}
iframe{max-width:100%}
main,section,article,header,footer,nav,div{min-width:0}
p,a,h1,h2,h3,h4{overflow-wrap:break-word}
.mobile-menu{z-index:10000!important;visibility:hidden;position:fixed;inset:0;width:100%;height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:#100e0d!important;padding:80px 24px max(32px,env(safe-area-inset-bottom));justify-content:flex-start;gap:14px;opacity:0;pointer-events:none}
.mobile-menu.open{visibility:visible;opacity:1;pointer-events:auto}
.mobile-menu a{display:block;flex-shrink:0;width:100%;max-width:420px;text-align:center;font-size:clamp(24px,5vw,32px);line-height:1.25;padding:7px 12px;color:#fff}
.mobile-close{position:absolute!important;top:max(16px,env(safe-area-inset-top));right:18px;width:48px;height:48px;display:grid;place-items:center;background:transparent;border:1px solid #777;color:#fff;font-size:32px;line-height:1;cursor:pointer}
.hamburger{background:transparent;border:1px solid rgba(255,255,255,.6);border-radius:3px;min-width:46px;min-height:46px;align-items:center;justify-content:center;padding:10px;flex-shrink:0}
#nav .hamburger span{width:24px;height:2px;background:#fff}
body.mobile-menu-open{overflow:hidden}
.hamburger:focus-visible,.mobile-close:focus-visible,.mobile-menu a:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:1000px){
#nav,#nav.scrolled{display:grid!important;width:100%;left:0;right:0;grid-template-columns:1fr auto 1fr;grid-template-areas:'. brand actions';padding:12px 16px;gap:0 8px;min-height:72px}
#nav .nav-center,#nav .nav-tel,#nav .nav-btn{display:none!important}
#nav .nav-logo-link{grid-area:brand;justify-self:center}
#nav .nav-logo{display:block;width:150px;height:42px;max-width:45vw;opacity:1!important}
#nav .nav-right{grid-area:actions;justify-self:end;gap:0}
#nav .hamburger{display:flex}
}
@media(max-width:768px){
.section,.menu-section,.dishes-section,.events-section,.testimonials,.gallery-section,.reservation{padding-left:20px!important;padding-right:20px!important}
.page-hero-content,.hero-content-c{width:100%;max-width:100%;padding-left:20px;padding-right:20px}
.page-title{font-size:clamp(38px,10vw,64px)!important;line-height:1.1}
.hero-title{font-size:clamp(42px,11vw,70px)!important}
.about,.sc-inner,.res-inner,.location,.ev-grid,.ast-grid,.values-grid,.proceso-grid,.cortes-grid,.ast-card-grid{grid-template-columns:minmax(0,1fr)!important}
.about-text,.sc-text-col,.location-info{padding:40px 20px!important}
.about-img-wrap{min-height:280px}.about-img{min-height:280px;max-height:460px;object-fit:cover}
.sc-cert-row{grid-template-columns:minmax(0,1fr)}
.sc-hero-logo,.sc-buey-illus{max-width:100%;height:auto}
.menu-panel{grid-template-columns:minmax(0,1fr)!important}
.menu-item{min-width:0;gap:12px}.menu-item-info{min-width:0}.menu-price{flex-shrink:0;white-space:nowrap}
.menu-tabs{justify-content:center;flex-wrap:wrap;overflow:visible;gap:6px}
.menu-tab{max-width:100%;min-height:44px;white-space:normal;letter-spacing:1px!important}
.events-grid,.testimonials-grid{grid-template-columns:minmax(0,1fr)!important}
.event-card{height:420px}.event-content{padding:24px}
.footer-top{grid-template-columns:minmax(0,1fr)!important;padding:40px 20px!important}
.footer-bottom{flex-direction:column;gap:16px;padding:24px 20px;text-align:center}
.footer-top a,.booking-help a{overflow-wrap:anywhere}
.form-2{grid-template-columns:minmax(0,1fr)}
.hero-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.booking-page{width:100%;padding-left:12px;padding-right:12px}
#contacto .hours-row{gap:12px}.hours-grid{max-width:100%}
}
@media(max-width:600px){
#about .h2,#events>.h2,#menu>.h2,#dishes .dishes-header .h2{white-space:normal;font-size:clamp(28px,7.5vw,40px);line-height:1.15}
.sc-strip,.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.event-card{height:440px}
.mobile-menu{gap:8px;padding-top:76px}.mobile-menu a{font-size:26px}
}
@media(max-height:520px){.mobile-menu{padding-top:70px;gap:4px}.mobile-menu a{font-size:22px;padding:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:768px){.gal-cats{flex-wrap:wrap;justify-content:center;gap:6px;overflow:visible}.gal-cat{white-space:normal;max-width:100%;min-height:44px;padding:12px 14px;letter-spacing:1px}.ast-dato-num{flex-wrap:wrap;justify-content:center;font-size:40px}.ast-dato{text-align:center}.ast-dato-unit{max-width:100%;font-size:17px}.lightbox{width:100%;max-width:100vw}.lightbox img{max-width:calc(100vw - 32px)}}
@media(max-width:380px){.ast-data{grid-template-columns:minmax(0,1fr)}}
