:root{--heading-font:"Barlow Condensed",sans-serif;--body-font:"Inter",sans-serif;--heading-scale:1;--body-scale:1;--heading-weight:700;
  --black:#090909;--black-2:#111111;--paper:#f3f3f1;--white:#fff;--ink:#151515;
  --muted:#6e6e6e;--line:#d9d9d6;--accent:#f4a300;--accent-deep:#d98600;
  --red:#d8241f;--radius:18px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body-font),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--black);color:var(--ink);padding-bottom:74px}
a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}
.site-header{height:76px;position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:rgba(8,8,8,.97);border-bottom:1px solid #242424;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:11px;color:#fff}.brand-logo{width:44px;height:44px;border:1px solid #4a4a4a;border-radius:50%;display:grid;place-items:center;overflow:hidden;font-family:var(--heading-font);font-weight:800;font-size:19px;background:#121212;color:var(--accent)}
.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-copy span{display:block;font-size:10px;color:#aaa;letter-spacing:.08em;text-transform:uppercase}.brand-copy strong{display:block;font-family:var(--heading-font);font-size:25px;line-height:1;color:var(--accent);font-weight:700}
.menu-toggle{width:44px;height:44px;border:0;border-radius:10px;background:#151515;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 11px}.menu-toggle span{height:2px;background:#fff;border-radius:4px;width:100%}
.drawer{position:fixed;left:12px;right:12px;top:84px;z-index:90;background:#141414;border:1px solid #2a2a2a;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.5);overflow:hidden;display:none}.drawer.open{display:block}.drawer a{display:block;color:#fff;padding:16px 18px;border-bottom:1px solid #252525}
.hero{min-height:620px;position:relative;overflow:hidden;display:flex;align-items:flex-end;color:#fff;background:#171717}
.hero-media{position:absolute;inset:0;background:radial-gradient(circle at 75% 28%,rgba(98,38,5,.9),#17110d 48%,#090909 80%);background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.64) 38%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.08))}
.hero-content{position:relative;z-index:2;padding:36px 22px 34px;max-width:600px}.kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ffc04a;font-weight:800}.hero h1{margin:10px 0 12px;font-family:var(--heading-font);font-size:64px;line-height:.88;text-transform:uppercase;letter-spacing:-.02em}.hero h1 .accent{color:var(--accent)}.hero p{max-width:390px;margin:0;color:#e7e7e7;font-size:15px;line-height:1.55}
.hero-actions{display:grid;gap:10px;margin-top:24px}.btn{min-height:52px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 18px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.btn-primary{background:var(--accent);color:#0a0a0a}.btn-outline{border:1px solid var(--accent);color:#fff;background:rgba(0,0,0,.18)}.btn-dark{background:#111;color:#fff}
.utility-strip{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#2a2a2a}.utility-strip a,.utility-strip .utility-item{background:#121212;color:#fff;padding:18px 16px}.utility-label{display:block;color:var(--accent);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.08em;margin-bottom:5px}.utility-strip strong{font-size:12px}
.section{padding:44px 16px}.section-dark{background:#101010;color:#fff}.section-title{text-align:center;margin-bottom:22px}.section-title span{display:block;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.16em;color:#9a9a9a;margin-bottom:4px}.section-title h2{margin:0;font-family:var(--heading-font);text-transform:uppercase;font-size:38px;line-height:1;font-weight:700}.section-title.light h2{color:#151515}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.featured-card{height:185px;position:relative;border-radius:14px;overflow:hidden;background:#222;border:1px solid #303030}.featured-card img{height:100%;object-fit:cover}.featured-placeholder{position:absolute;inset:0;background:linear-gradient(145deg,#2a180b,#111)}.featured-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92),transparent 70%)}.featured-copy{position:absolute;left:11px;right:11px;bottom:11px;color:#fff}.featured-copy span{display:block;font-size:12px;font-weight:700}.featured-copy strong{display:block;color:var(--accent);font-size:13px;margin-top:4px}
.menu-shell{background:var(--paper)}.menu-intro{padding:42px 16px 20px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.category-card{min-height:92px;border:1px solid #d0d0cd;background:#fff;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;text-align:center}.category-card.active{background:var(--accent);border-color:var(--accent)}.category-card strong{font-family:var(--heading-font);font-size:15px;text-transform:uppercase}.category-card span{font-size:10px;color:#777}.category-card.active span{color:#282828}
.category-sticky-wrap{position:sticky;top:76px;z-index:60;background:rgba(243,243,241,.96);backdrop-filter:blur(10px);border-top:1px solid #dededb;border-bottom:1px solid #d4d4d1}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:10px 16px;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tab{white-space:nowrap;border:1px solid #d0d0cd;background:#fff;border-radius:999px;padding:9px 13px;font-size:11px;font-weight:800;text-transform:uppercase}.category-tab.active{background:#111;color:#fff;border-color:#111}
.menu-section{padding:34px 16px;border-bottom:1px solid #d8d8d5}.menu-section-header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.menu-section h3{margin:0;font-family:var(--heading-font);text-transform:uppercase;font-size:34px;line-height:1}.menu-note{display:inline-block;margin:0 0 14px;background:var(--red);color:#fff;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:800;text-transform:uppercase}
.product-list{display:grid;gap:10px}.product-card{background:#fff;border-radius:13px;overflow:hidden;display:grid;grid-template-columns:92px 1fr auto;gap:12px;align-items:center;border:1px solid #e5e5e1;min-height:96px}.product-card.no-image{grid-template-columns:1fr auto;padding:13px 14px}.product-image-button{width:92px;height:100%;min-height:96px;padding:0;border:0;background:#eee;position:relative;overflow:hidden;cursor:zoom-in}.product-image{width:100%;height:100%;min-height:96px;object-fit:cover;background:#eee;display:block}.image-zoom-hint{position:absolute;left:6px;bottom:6px;background:rgba(0,0,0,.72);color:#fff;border-radius:999px;padding:3px 6px;font-size:7px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.product-copy{padding:12px 0}.product-copy h4{margin:0 0 4px;font-size:14px}.product-copy p{margin:0;color:#747474;font-size:11px;line-height:1.35}.product-badge{display:inline-block;margin-top:6px;background:#111;color:#fff;border-radius:5px;padding:4px 6px;font-size:8px;font-weight:800}.product-price{font-family:var(--heading-font);font-size:22px;font-weight:700;color:var(--accent-deep);white-space:nowrap;padding-right:14px}.info-box{margin-top:12px;padding:12px 13px;border-radius:10px;background:#171717;color:#fff;font-size:11px;line-height:1.45}.info-box.promo{background:#6e1010;border:1px solid #a54220}
.parrillada-hero{border-radius:16px;overflow:hidden;margin-bottom:14px;border:1px solid #343434}.parrillada-hero img{height:220px;object-fit:cover}.price-panel{background:#fff;color:#111;border-radius:14px;padding:4px 15px}.price-line{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #ddd;font-size:13px}.price-line:last-child{border-bottom:0}.price-line span{font-weight:700}.price-line small{display:block;color:#d12b25;font-weight:600;margin-top:4px;font-size:10px;max-width:220px}.price-line strong{font-family:var(--heading-font);font-size:22px}.section-note{font-size:11px;color:#aaa;line-height:1.5;margin:12px 2px 0}
.location-section{background:#fff}.address{text-align:center;color:#686868;font-size:13px;line-height:1.55}.map-card{height:auto;aspect-ratio:960/630;border-radius:16px;background:#ececea;position:relative;overflow:hidden;margin:18px 0;border:1px solid #d8d8d5;display:block;text-decoration:none;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.08)}.map-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.map-card:active img{transform:scale(1.015)}
.contact-grid{display:grid;gap:10px}.contact-button{min-height:54px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.contact-button.accent{background:var(--accent);color:#111}.contact-button.outline{border:1px solid var(--accent);color:#fff}.contact-button.facebook{background:#2458a8;color:#fff}.contact-button.instagram{background:linear-gradient(135deg,#7b2ff7,#f1076f,#f6a000);color:#fff}.footer{background:#080808;color:#fff;text-align:center;padding:30px 16px 98px}.footer strong,.footer span{display:block}.footer span{color:#777;font-size:11px;margin-top:5px}
.bottom-actions{position:fixed;left:0;right:0;bottom:0;z-index:100;height:72px;display:grid;grid-template-columns:repeat(3,1fr);background:#111;border-top:1px solid #2a2a2a}.bottom-actions a{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;text-transform:uppercase;color:#fff;border-right:1px solid #2a2a2a}.bottom-actions a:first-child,.bottom-actions a:last-child{background:var(--accent);color:#111}
@media(min-width:820px){body{padding-bottom:0}.bottom-actions{display:none}main{max-width:1120px;margin:0 auto;background:#fff}.site-header{padding-left:max(24px,calc((100vw - 1120px)/2));padding-right:max(24px,calc((100vw - 1120px)/2))}.hero{min-height:700px}.hero-content{padding:52px 58px}.hero h1{font-size:92px}.utility-strip{padding:0 58px;background:#111}.utility-strip a{padding:20px}.section{padding:56px 58px}.menu-intro{padding:52px 58px 26px}.category-tabs{padding-left:58px;padding-right:58px}.menu-section{padding:38px 58px}.product-list{grid-template-columns:1fr 1fr}.featured-card{height:270px}.category-grid{grid-template-columns:repeat(6,1fr)}.category-card{min-height:110px}}

body{font-size:calc(16px * var(--body-scale))}.hero h1,.section-title h2,.menu-section h3,.price-line strong{font-weight:var(--heading-weight)}

/* Boot/hydration: evita mostrar contenido estático o heredado antes de cargar D1. */
.app-boot{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;flex-direction:column;gap:22px;background:#0b0b0b;color:#fff}.app-boot-mark{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:#f4a300;color:#111;font-family:var(--heading-font);font-size:31px;font-weight:800;letter-spacing:.03em}.app-boot-lines{width:min(62vw,240px);display:grid;gap:9px}.app-boot-lines span{height:9px;border-radius:999px;background:#232323;overflow:hidden;position:relative}.app-boot-lines span:nth-child(2){width:78%;justify-self:center}.app-boot-lines span:nth-child(3){width:52%;justify-self:center}.app-boot-lines span::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#3a3a3a,transparent);animation:boot-shimmer 1.15s infinite}@keyframes boot-shimmer{to{transform:translateX(100%)}}
html.is-hydrating .app-boot{display:flex}
html.is-hydrating .site-header,html.is-hydrating .drawer,html.is-hydrating main,html.is-hydrating .footer,html.is-hydrating .bottom-actions{visibility:hidden}
html.is-ready .app-boot{display:none}
@media (prefers-reduced-motion:reduce){.app-boot-lines span::after{animation:none}}

.product-viewer[hidden]{display:none}.product-viewer{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom));touch-action:none}.viewer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.94);backdrop-filter:blur(10px)}.viewer-shell{position:relative;z-index:1;width:min(100%,980px);max-height:calc(100dvh - 28px);display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center}.viewer-figure{margin:0;min-width:0;background:#111;border:1px solid rgba(255,255,255,.13);border-radius:18px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.55)}.viewer-image-wrap{height:min(64dvh,720px);background:#080808;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.viewer-image{width:100%;height:100%;object-fit:contain;display:block}.viewer-loader{position:absolute;width:34px;height:34px;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;border-radius:50%;animation:viewerSpin .8s linear infinite;opacity:0;pointer-events:none}.viewer-image-wrap.is-loading .viewer-loader{opacity:1}.viewer-image-wrap.is-loading .viewer-image{opacity:.18}.viewer-image-error{position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#aaa;text-align:center;font-size:12px}.viewer-image-error[hidden]{display:none}@keyframes viewerSpin{to{transform:rotate(360deg)}}.viewer-figure figcaption{padding:14px 16px 16px;color:#fff;background:linear-gradient(180deg,#151515,#0c0c0c)}.viewer-category{font-size:9px;letter-spacing:.18em;color:#aaa;text-transform:uppercase;font-weight:800}.viewer-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:4px}.viewer-title{font-family:var(--heading-font);font-size:26px;line-height:1}.viewer-price{font-family:var(--heading-font);font-size:25px;color:var(--accent)}.viewer-description{margin:7px 0 0;color:#c9c9c9;font-size:11px;line-height:1.4}.viewer-counter{display:block;margin-top:9px;color:#848484;font-size:9px}.viewer-close{position:absolute;right:2px;top:2px;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#171717;color:#fff;font-size:27px;line-height:1}.viewer-nav{width:36px;height:48px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:34px;z-index:2}.viewer-nav[hidden]{visibility:hidden}.viewer-prev{justify-self:start}.viewer-next{justify-self:end}body.viewer-open{overflow:hidden}body.viewer-open .quickbar{display:none}
@media(max-width:640px){.viewer-shell{grid-template-columns:0 minmax(0,1fr) 0;width:100%}.viewer-nav{position:absolute;top:42%;width:40px;height:54px;background:rgba(0,0,0,.5)}.viewer-prev{left:4px}.viewer-next{right:4px}.viewer-close{right:8px;top:8px;transform:none}.viewer-image-wrap{height:min(62dvh,620px)}.viewer-figure{border-radius:15px}}
