:root{
  --ink:#0b0a09;--panel:#15100e;--panel-2:#1a1310;--cream:#f7f1e6;--paper:#f7f1e6;
  --muted:rgba(247,241,230,.62);--red:#9e1b1b;--gold:#e3b25c;--line:rgba(247,241,230,.12);
  --shadow:0 22px 42px -26px rgba(0,0,0,.92);--display:"Bricolage Grotesque",system-ui,sans-serif;--sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--ink)}body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden;padding-bottom:calc(5.7rem + env(safe-area-inset-bottom))}body.dialog-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:300;padding:.75rem 1rem;background:var(--cream);color:var(--ink);border-radius:.75rem}.skip-link:focus{top:1rem}.eyebrow{margin:0;color:var(--gold);font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}

/* Portada */
.hero{height:100vh;min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;padding:max(1.25rem,env(safe-area-inset-top)) 1.3rem max(1.25rem,env(safe-area-inset-bottom));isolation:isolate;background:#0b0a09}.hero::before{content:"";position:absolute;z-index:0;width:min(100vw,31rem);height:54%;left:50%;top:45%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(132,20,24,.42) 0,rgba(105,17,21,.18) 36%,rgba(11,10,9,0) 72%);filter:blur(12px);pointer-events:none}.hero::after{content:"";position:absolute;z-index:2;inset:20% 12% 18%;background:radial-gradient(ellipse at center,rgba(11,10,9,.5) 0,rgba(11,10,9,.22) 48%,transparent 76%);pointer-events:none}.hero-content{position:relative;z-index:4;text-align:center;width:min(100%,22rem);display:flex;flex-direction:column;align-items:center;animation:rise .8s ease both}.hero-logo{width:min(52vw,12.75rem);height:auto;margin:0 auto .75rem;object-fit:contain;filter:drop-shadow(0 .55rem 1rem rgba(0,0,0,.32))}.hero h1{font-family:var(--display);font-size:clamp(2.65rem,11.4vw,4.5rem);font-weight:800;line-height:1.01;letter-spacing:-.035em;margin:.55rem 0 0;color:var(--cream)}.hero-copy{max-width:17.5rem;margin:.75rem auto 0;color:rgba(247,241,230,.72);font-size:.91rem;line-height:1.48}.hero-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--cream);color:#17120f;margin-top:1.25rem;padding:0 2rem;border-radius:999px;font-size:1rem;font-weight:700;min-height:3.3rem;box-shadow:0 18px 34px -18px rgba(247,241,230,.5)}.hero-button:active,.category-chip:active,.product-card:active,.favorite-card:active,.directory-card:active{transform:scale(.975)}.hero-cue{margin-top:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;color:rgba(247,241,230,.44);font-size:.63rem;letter-spacing:.2em;font-weight:600}.hero-cue i{display:block;width:1px;height:1.35rem;background:linear-gradient(var(--gold),transparent);animation:cue 2.2s ease-in-out infinite}.hero-dish{position:absolute;z-index:1;pointer-events:none;animation:pop .85s cubic-bezier(.2,.9,.3,1.15) both}.hero-dish img{width:100%;height:100%;object-fit:cover;mask-image:radial-gradient(ellipse 62% 60% at 50% 50%,#000 42%,rgba(0,0,0,.82) 60%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 62% 60% at 50% 50%,#000 42%,rgba(0,0,0,.82) 60%,transparent 100%)}.hero-dish--steak{width:13.8rem;height:12rem;left:-5.2rem;top:-1.8rem;transform:rotate(-7deg);animation-delay:.1s}.hero-dish--burger{width:14.5rem;height:12rem;right:-5rem;top:-.9rem;transform:rotate(6deg);animation-delay:.2s}.hero-dish--fries{width:8.8rem;height:9rem;left:-3.6rem;top:30%;transform:rotate(-13deg);animation-delay:.33s}.hero-dish--cocktail{width:7.2rem;height:9.5rem;right:-2.8rem;top:29%;animation-delay:.4s}.hero-dish--pasta{width:13.5rem;height:11rem;left:-5.3rem;bottom:-2rem;transform:rotate(4deg);animation-delay:.28s}.hero-dish--nachos{width:15rem;height:12rem;right:-5.4rem;bottom:-1.4rem;transform:rotate(-5deg);animation-delay:.36s}

/* Búsqueda y recomendados */
.search-section{background:var(--ink);color:var(--cream);padding:1.65rem 1.1rem .8rem;scroll-margin-top:0}.search-inner{max-width:75rem;margin:auto}.search-section h2{font-family:var(--display);font-size:1.28rem;line-height:1.1;letter-spacing:-.02em;font-weight:700;margin:0 0 .7rem}.search-box{height:3.45rem;display:flex;align-items:center;gap:.7rem;padding:0 .5rem 0 1rem;background:#17110f;border:1px solid rgba(247,241,230,.14);border-radius:18px;box-shadow:none}.search-box:focus-within{border-color:rgba(227,178,92,.65)}.search-box svg{width:1.15rem;fill:none;stroke:rgba(247,241,230,.62);stroke-width:2}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--cream);font-size:.94rem}.search-box input::placeholder{color:rgba(247,241,230,.46)}.search-box button{width:2.45rem;height:2.45rem;border:0;border-radius:.8rem;background:var(--red);color:var(--cream);font-size:1.35rem;line-height:1;cursor:pointer;visibility:hidden}.search-box button.visible{visibility:visible}.search-suggestions{display:flex;gap:.45rem;overflow-x:auto;padding:.7rem 0 .25rem;scrollbar-width:none;touch-action:pan-x pan-y}.search-suggestions::-webkit-scrollbar{display:none}.search-suggestions button{white-space:nowrap;border:1px solid var(--line);background:rgba(247,241,230,.04);border-radius:999px;padding:.47rem .7rem;color:rgba(247,241,230,.72);font-size:.78rem;font-weight:600;cursor:pointer}.search-status{min-height:1.25rem;margin:.35rem 0;color:var(--muted);font-size:.82rem}.search-results{display:grid;gap:.65rem;margin-top:.4rem}.search-results:empty{display:none}
.favorites{padding:1.85rem 0 2.25rem;background:var(--ink)}.section-heading{padding:0 1.1rem;display:block}.section-heading .eyebrow{display:flex;align-items:center;gap:.55rem}.section-heading .eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--red)}.section-heading h2{font-family:var(--display);font-size:1.84rem;line-height:1.05;letter-spacing:-.03em;font-weight:800;margin:.55rem 0 0}.section-heading>div>p:last-child{margin:.45rem 0 0;color:var(--muted);font-size:.84rem}.favorite-rail{display:grid;grid-auto-flow:column;grid-auto-columns:47%;gap:.75rem;overflow-x:auto;padding:1rem 1.1rem .5rem;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x pan-y}.favorite-rail::-webkit-scrollbar{display:none}.favorite-card{height:20.9rem;scroll-snap-align:start;background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;color:inherit;text-align:left;padding:0;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;transition:transform .18s,border-color .18s}.favorite-card>img,.favorite-card>.product-card-media{width:100%;height:9.25rem;flex:0 0 9.25rem;object-fit:cover;background:#100d0c}.favorite-body{padding:.8rem .78rem .85rem;display:flex;flex-direction:column;min-width:0;flex:1}.tag{align-self:flex-start;display:inline-flex;padding:.25rem .42rem;border:1px solid var(--line);border-radius:999px;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.favorite-body h3{font-family:var(--display);font-size:1rem;line-height:1.1;letter-spacing:-.015em;margin:.55rem 0 .28rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.favorite-body p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.favorite-footer{display:flex;align-items:end;justify-content:space-between;gap:.35rem;margin-top:auto;padding-top:.65rem}.favorite-body strong{color:var(--gold);font-family:var(--display);font-size:1rem;white-space:nowrap}.favorite-more{font-size:.64rem;color:rgba(247,241,230,.72);white-space:nowrap}

/* Directorio y carta continua */
.menu-shell{padding:0 0 7rem;background:var(--ink);color:var(--cream)}.menu-directory{background:var(--paper);color:#17120f;border-radius:34px 34px 0 0;padding:1.9rem 1.1rem 2rem}.menu-intro{max-width:75rem;margin:0 auto}.menu-intro .eyebrow{color:var(--red);display:flex;align-items:center;gap:.55rem}.menu-intro .eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--red)}.menu-intro h2{font-family:var(--display);font-size:1.85rem;line-height:1.04;letter-spacing:-.03em;font-weight:800;margin:.55rem 0 0}.menu-intro>p:last-child{max-width:20rem;margin:.48rem 0 0;color:rgba(23,18,15,.62);font-size:.84rem}.category-directory{max-width:75rem;margin:1.35rem auto 0;display:flex;flex-direction:column;gap:.5rem}.directory-card{width:100%;display:flex;align-items:center;gap:.8rem;padding:.5rem .7rem .5rem .5rem;border-radius:18px;border:1px solid rgba(23,18,15,.08);background:#fff;color:#17120f;cursor:pointer;text-align:left}.directory-card img{width:3.5rem;height:3.5rem;border-radius:14px;object-fit:cover;flex:0 0 3.5rem;background:#17110f}.directory-card>span{flex:1;min-width:0}.directory-card strong{display:block;font-family:var(--display);font-size:1.03rem;line-height:1.1;letter-spacing:-.01em}.directory-card small{display:block;margin-top:.15rem;color:rgba(23,18,15,.52);font-size:.72rem}.directory-card i{width:1.9rem;height:1.9rem;display:grid;place-items:center;border-radius:50%;background:#17120f;color:var(--cream);font-style:normal;font-size:1rem;flex:0 0 1.9rem}.category-bar{position:sticky;top:0;z-index:30;padding:.7rem 0;background:linear-gradient(to bottom,rgba(11,10,9,.98) 78%,rgba(11,10,9,.9));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(247,241,230,.06)}.category-chips{display:flex;gap:.45rem;overflow-x:auto;padding:0 1rem;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-inline:contain}.category-chips::-webkit-scrollbar{display:none}.category-chip{white-space:nowrap;border:1px solid var(--line);background:#181311;color:var(--cream);padding:.55rem .86rem;border-radius:999px;min-height:2.4rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:background-color .16s,border-color .16s,transform .16s}.category-chip.active{background:var(--red);border-color:var(--red)}.menu-content{max-width:75rem;margin:0 auto}.group-marker{display:flex;align-items:center;gap:.8rem;padding:2.3rem 1rem .55rem}.group-marker::after{content:"";height:1px;background:var(--line);flex:1}.group-marker span{font-size:.68rem;color:var(--gold);letter-spacing:.18em;font-weight:700}.category-section{padding:1rem;scroll-margin-top:4.3rem}.category-header{min-height:7rem;display:grid;grid-template-columns:minmax(0,1fr) 6.3rem;align-items:center;overflow:hidden;border-radius:20px;background:linear-gradient(115deg,#241410,#120e0d 68%);border:1px solid var(--line);box-shadow:var(--shadow)}.category-header-text{padding:1.1rem 0 1.1rem 1rem;min-width:0}.category-header h3{font-family:var(--display);font-size:clamp(2rem,9vw,3.2rem);line-height:.95;letter-spacing:-.035em;margin:0;text-transform:uppercase}.category-kicker{display:block;margin-top:.45rem;font-size:.67rem;letter-spacing:.12em;color:var(--gold);font-weight:700;text-transform:uppercase}.category-header img{width:100%;height:100%;min-height:7rem;object-fit:cover;border-left:1px solid var(--line)}.category-note{margin:.75rem 0 0;padding:.8rem .9rem;border-radius:16px;background:rgba(158,27,27,.14);border:1px solid rgba(158,27,27,.3);font-size:.78rem;line-height:1.5;color:rgba(247,241,230,.82)}.subsection-title{margin:1.45rem 0 .7rem;display:flex;align-items:center;gap:.7rem;font-family:var(--display);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}.subsection-title::after{content:"";height:1px;background:var(--line);flex:1}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;align-items:stretch}.product-card{min-width:0;min-height:18rem;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel);color:inherit;padding:0;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s;display:flex;flex-direction:column}.product-card-media,.product-card-noimage{height:7.2rem;flex:0 0 7.2rem;background:radial-gradient(circle at 60% 35%,#4a2117,#19100d 55%,#0f0c0b);overflow:hidden}.product-card-media img{width:100%;height:100%;object-fit:cover}.product-card-noimage{display:grid;place-items:center}.product-card-noimage span{font-family:var(--display);font-size:2.2rem;color:rgba(247,241,230,.78)}.product-card-body{padding:.78rem .75rem .82rem;display:flex;flex-direction:column;flex:1;min-height:0}.product-card h4{font-family:var(--display);font-size:.94rem;line-height:1.14;letter-spacing:-.01em;margin:0 0 .35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card strong{display:block;margin-top:auto;padding-top:.7rem;color:var(--gold);font-size:.95rem}.product-card .more{display:inline-block;margin-top:.32rem;font-size:.66rem;color:rgba(247,241,230,.72)}.compact-list{display:grid;gap:.15rem;background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden}.compact-item{width:100%;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:3.55rem;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.72rem .9rem;text-align:left;cursor:pointer}.compact-item:last-child{border-bottom:0}.compact-item span{font-weight:600;font-size:.9rem}.compact-item strong{color:var(--gold);white-space:nowrap;font-size:.9rem}.format-list{display:grid;gap:.65rem}.format-card{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:.9rem}.format-card h4{font-family:var(--display);margin:0 0 .65rem;font-size:.95rem}.format-row{display:flex;flex-wrap:wrap;gap:.45rem}.format-pill{flex:1 1 5rem;padding:.6rem;border-radius:.8rem;background:rgba(247,241,230,.06);border:1px solid var(--line)}.format-pill span{display:block;color:var(--muted);font-size:.68rem}.format-pill strong{display:block;color:var(--gold);font-size:.86rem;margin-top:.15rem}

/* Resultados, pie y navegación */
.search-card{display:grid;grid-template-columns:4.2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;padding:.5rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--cream);text-align:left;cursor:pointer}.search-card img,.search-card .fallback{width:4.2rem;height:4.2rem;object-fit:cover;border-radius:.7rem;background:#25130f;display:grid;place-items:center;color:var(--cream);font-family:var(--display);font-size:1.6rem}.search-card span{display:block}.search-card .name{font-family:var(--display);font-weight:700}.search-card .meta{font-size:.75rem;color:var(--muted)}.search-card strong{color:var(--gold);white-space:nowrap;font-size:.86rem}.empty-search{padding:1rem;border:1px dashed var(--line);border-radius:1rem;color:var(--muted)}.site-footer{text-align:center;padding:3rem 1rem 7rem;background:#0d0b0a;border-top:1px solid var(--line);color:var(--muted)}.site-footer img{width:8.5rem;height:auto;margin:0 auto 1rem}.site-footer p{max-width:34rem;margin:0 auto 1rem;font-size:.82rem}.site-footer strong{color:var(--cream);font-family:var(--display);font-size:.75rem;letter-spacing:.12em}.bottom-nav{position:fixed;z-index:60;left:max(.7rem,env(safe-area-inset-left));right:max(.7rem,env(safe-area-inset-right));bottom:max(.65rem,env(safe-area-inset-bottom));height:4.1rem;display:flex;align-items:center;padding:.3rem;border:1px solid var(--line);background:rgba(20,16,14,.91);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:1.35rem;box-shadow:0 1rem 3rem rgba(0,0,0,.5);transition:opacity .18s}.bottom-nav a{flex:1;min-width:0;height:3.45rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;text-decoration:none;color:var(--muted);font-size:.64rem;border-radius:1rem}.bottom-nav a:focus-visible,.bottom-nav a:hover{color:var(--cream);background:rgba(247,241,230,.07)}.bottom-nav span{font-size:1.1rem;line-height:1}.dialog-open .bottom-nav{opacity:0;pointer-events:none}

/* Modal centrado */
.product-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:max(.75rem,env(safe-area-inset-top)) .75rem max(.75rem,env(safe-area-inset-bottom));border:0;background:transparent;color:var(--cream);overflow:hidden}.product-dialog[open]{display:grid;place-items:center}.product-dialog::backdrop{background:rgba(0,0,0,.74);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.dialog-sheet{position:relative;width:min(100%,27rem);max-height:86svh;overflow-y:auto;overscroll-behavior:contain;background:#0f0c0b;border-radius:28px;border:1px solid rgba(247,241,230,.14);box-shadow:0 40px 70px -24px rgba(0,0,0,.95);animation:dialog-in .28s cubic-bezier(.2,.9,.3,1.1) both;scrollbar-width:none}.dialog-sheet::-webkit-scrollbar{display:none}.dialog-close{position:absolute;right:.75rem;top:.75rem;z-index:5;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid rgba(247,241,230,.22);background:rgba(11,10,9,.68);backdrop-filter:blur(8px);font-size:1.35rem;line-height:1;cursor:pointer}.dialog-media:empty{display:none}.dialog-media img{width:100%;height:clamp(10.5rem,24svh,13rem);object-fit:cover;border-radius:27px 27px 0 0}.dialog-content{padding:1rem 1.1rem 1.15rem}.dialog-category{display:inline-flex;margin:0 0 .45rem;padding:.3rem .58rem;border-radius:999px;background:rgba(158,27,27,.92);color:var(--cream);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.dialog-content h2{font-family:var(--display);font-size:clamp(1.75rem,7.5vw,2.15rem);line-height:1.02;letter-spacing:-.03em;margin:0}.dialog-price{font-family:var(--display);font-size:1.45rem;color:var(--gold);font-weight:800;margin:.45rem 0 .55rem}.dialog-description{color:rgba(247,241,230,.74);font-size:.84rem;line-height:1.48;margin:0 0 .7rem}.dialog-label{margin:.8rem 0 .4rem;color:rgba(247,241,230,.5);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.dialog-pills{display:flex;flex-wrap:wrap;gap:.35rem}.dialog-pill{padding:.42rem .6rem;border-radius:999px;border:1px solid var(--line);background:rgba(247,241,230,.06);font-size:.72rem}.variant-list{display:grid;gap:.35rem}.variant-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:.75rem;background:rgba(247,241,230,.04);font-size:.78rem}.variant-row strong{color:var(--gold)}.dialog-continue{width:100%;min-height:3rem;margin-top:1rem;border:0;border-radius:999px;background:var(--red);color:white;font-weight:700;cursor:pointer}.dialog-note{font-size:.65rem;color:rgba(247,241,230,.38);margin:.65rem 0 0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@keyframes rise{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}@keyframes pop{from{opacity:0;scale:.78}to{opacity:1;scale:1}}@keyframes dialog-in{from{opacity:0;transform:translateY(.7rem) scale(.94)}to{opacity:1;transform:none}}@keyframes cue{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(.4rem);opacity:1}}
@media(max-height:700px){.hero-logo{width:min(44vw,9.6rem);margin-bottom:.3rem}.hero h1{font-size:clamp(2.35rem,10vw,3.3rem);margin-top:.35rem}.hero-copy{font-size:.8rem;line-height:1.4;margin-top:.55rem;max-width:16rem}.hero-button{margin-top:.75rem;min-height:2.85rem}.hero-cue{margin-top:.7rem}.hero-dish--steak,.hero-dish--burger{top:-3.5rem}.hero-dish--pasta,.hero-dish--nachos{bottom:-4rem}}
@media(min-width:700px){body{padding-bottom:0}.hero-content{width:min(100%,31rem)}.hero-logo{width:14.5rem}.hero h1{font-size:4.6rem}.hero-copy{max-width:22rem;font-size:1rem}.hero-dish--steak{width:22rem;height:18rem;left:-6rem}.hero-dish--burger{width:24rem;height:19rem;right:-7rem}.hero-dish--pasta{width:22rem;height:17rem;left:-5rem}.hero-dish--nachos{width:24rem;height:18rem;right:-6rem}.search-section,.favorites{padding-inline:max(1rem,calc((100vw - 75rem)/2))}.favorite-rail{grid-auto-columns:13rem;padding-inline:0}.menu-directory{padding-inline:max(2rem,calc((100vw - 75rem)/2))}.category-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.category-chips{padding-inline:max(2rem,calc((100vw - 75rem)/2))}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.category-section{padding:1.5rem 2rem}.format-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav{display:none}.search-results{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{padding-bottom:4rem}}
@media(min-width:1060px){.category-directory{grid-template-columns:repeat(3,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.category-section{padding-inline:0}.compact-list{grid-template-columns:repeat(2,1fr)}.compact-item:nth-child(odd){border-right:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Fase de pulido: portada, entrada progresiva a la carta y detalle */
.hero::after{inset:16% 8% 14%;background:radial-gradient(ellipse at center,rgba(11,10,9,.7) 0,rgba(11,10,9,.38) 48%,transparent 78%)}
.hero-logo{width:min(66vw,15rem);height:7.2rem;margin:0 auto .2rem;object-fit:cover;object-position:center 52%;mix-blend-mode:screen}
.hero-dish img{transform:scale(1.12);filter:saturate(1.04) contrast(1.03);mask-image:radial-gradient(ellipse 70% 72% at 50% 50%,#000 18%,rgba(0,0,0,.94) 44%,rgba(0,0,0,.55) 64%,transparent 91%);-webkit-mask-image:radial-gradient(ellipse 70% 72% at 50% 50%,#000 18%,rgba(0,0,0,.94) 44%,rgba(0,0,0,.55) 64%,transparent 91%)}
.favorite-card{height:19.2rem}.favorite-body h3{margin:.05rem 0 .28rem}
.category-bar[hidden],.menu-content[hidden]{display:none!important}.menu-shell:not(.menu-active)+.site-footer{display:none}
.site-footer img{width:10rem;height:5.2rem;object-fit:cover;object-position:center 52%;mix-blend-mode:screen;margin:0 auto 1rem}
.dialog-media{position:relative;margin-bottom:-2.35rem}.dialog-media:not(:empty)::after{content:"";position:absolute;inset:auto 0 0;height:5.4rem;background:linear-gradient(to bottom,transparent 0,rgba(15,12,11,.72) 58%,#0f0c0b 100%);pointer-events:none}.dialog-media img{height:clamp(13.5rem,32svh,17rem)}.dialog-content{position:relative;z-index:2;padding:.25rem 1.1rem 1.15rem}.dialog-media:empty+.dialog-content{padding-top:1rem}
@media(max-height:700px){.hero-logo{width:min(58vw,12rem);height:5.3rem;margin-bottom:.05rem}.dialog-media img{height:clamp(11.5rem,29svh,14rem)}}
@media(min-width:700px){.hero-logo{width:17rem;height:8.2rem}}

/* Integración orgánica de fotografía y marca sobre el fondo oscuro */
.hero-logo{-webkit-mask-image:none;mask-image:none;mix-blend-mode:lighten;filter:contrast(1.48) brightness(1.06) drop-shadow(0 .55rem 1rem rgba(0,0,0,.32))}
.hero-dish img{mask-image:radial-gradient(ellipse 49% 48% at 50% 50%,#000 18%,rgba(0,0,0,.93) 44%,rgba(0,0,0,.48) 65%,transparent 94%);-webkit-mask-image:radial-gradient(ellipse 49% 48% at 50% 50%,#000 18%,rgba(0,0,0,.93) 44%,rgba(0,0,0,.48) 65%,transparent 94%)}

/* Corrección integral mobile y completitud de carta */
.hero{height:100dvh;min-height:100svh}.hero::after{inset:14% 9% 12%;background:radial-gradient(ellipse at center,rgba(11,10,9,.76) 0,rgba(11,10,9,.45) 45%,rgba(11,10,9,.08) 72%,transparent 84%)}
.hero-logo{width:min(70vw,17rem);height:auto;margin:0 auto .35rem;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 .55rem 1rem rgba(0,0,0,.45))}
.hero-dish img{transform:scale(1.03);filter:saturate(1.08) contrast(1.04);mask-image:radial-gradient(ellipse 54% 54% at 50% 50%,#000 22%,rgba(0,0,0,.96) 46%,rgba(0,0,0,.5) 70%,transparent 98%);-webkit-mask-image:radial-gradient(ellipse 54% 54% at 50% 50%,#000 22%,rgba(0,0,0,.96) 46%,rgba(0,0,0,.5) 70%,transparent 98%)}
.hero-dish--steak{width:15.8rem;height:13.8rem;left:-3.7rem;top:-1rem;transform:rotate(-5deg)}.hero-dish--steak img{object-position:62% 62%}
.hero-dish--burger{width:16.2rem;height:13.5rem;right:-3.8rem;top:-.7rem;transform:rotate(5deg)}.hero-dish--burger img{object-position:35% 58%}
.hero-dish--special{width:10.8rem;height:9.8rem;left:-2.7rem;top:30%;transform:rotate(-9deg);animation-delay:.33s}.hero-dish--special img{object-position:68% 50%}
.hero-dish--cocktail{width:8.9rem;height:11.2rem;right:-1.7rem;top:29%;transform:rotate(3deg)}
.hero-dish--pasta{width:15.7rem;height:12.8rem;left:-3.6rem;bottom:-.5rem;transform:rotate(3deg)}.hero-dish--pasta img{object-position:67% 42%}
.hero-dish--nachos{width:16.8rem;height:13.5rem;right:-3.5rem;bottom:-.35rem;transform:rotate(-4deg)}.hero-dish--nachos img{object-position:35% 45%}
.search-section{padding-bottom:.25rem}.search-status:empty{display:none}.favorites{padding-top:1.15rem}
.favorite-card{height:19rem}.favorite-card>img,.favorite-card>.product-card-media{height:9rem;flex-basis:9rem}.favorite-body h3{min-height:2.2em}.favorite-body p{min-height:1.9em}
.category-header{grid-template-columns:minmax(0,1fr) 5.4rem;min-height:7.5rem;margin-bottom:.95rem;overflow:hidden}.category-header-text{padding:1.1rem .45rem 1.1rem 1rem}.category-header h3{font-size:clamp(1.75rem,7.4vw,2.65rem);line-height:.96;overflow-wrap:normal;word-break:normal;hyphens:none}.category-header img{min-height:7.5rem}.category-section[data-category="hamburguesas"] .category-header h3,.category-section[data-category="refrescantes"] .category-header h3{font-size:clamp(1.28rem,5.8vw,2.1rem);line-height:1}.category-note{margin:-.2rem 0 1rem}.subsection-title{margin-top:1.65rem}.product-grid{align-items:stretch}.product-card{min-height:0;height:auto}.product-card-body{display:block}.product-card h4{min-height:2.28em}.product-card p{min-height:1.94em;-webkit-line-clamp:3}.product-card .product-price{margin-top:.65rem;padding-top:0}.product-card .more{display:block;margin-top:.35rem}.product-choices{display:grid;gap:.3rem;margin-top:.65rem}.product-choice{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.38rem .45rem;border-radius:.62rem;background:rgba(247,241,230,.055);border:1px solid rgba(247,241,230,.09);font-size:.62rem;line-height:1.25}.product-choice>span{color:rgba(247,241,230,.72)}.product-choice>strong{margin:0;padding:0;color:var(--gold);font-size:.67rem;white-space:nowrap}.format-list{margin-top:.1rem}.category-note+.format-list{margin-top:0}.site-footer img{width:11rem;height:auto;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 .45rem .9rem rgba(0,0,0,.4))}
.bottom-nav{left:max(.55rem,env(safe-area-inset-left));right:max(.55rem,env(safe-area-inset-right));bottom:max(.4rem,env(safe-area-inset-bottom));height:3.75rem;padding:.24rem;border-radius:1.15rem}.bottom-nav a{height:3.15rem;font-size:.6rem;border-radius:.9rem}.bottom-nav span{font-size:1rem}
.dialog-close{right:.7rem;top:.7rem;width:2.25rem;height:2.25rem;border-color:rgba(247,241,230,.16);background:rgba(11,10,9,.58);font-size:1.15rem}.dialog-media:not(:empty)::after{height:6.2rem;background:linear-gradient(to bottom,transparent 0,rgba(15,12,11,.54) 48%,#0f0c0b 92%)}
@media(max-height:720px){.hero-logo{width:min(59vw,13rem);height:auto}.hero h1{font-size:clamp(2.25rem,9.7vw,3.15rem)}.hero-copy{max-width:16.5rem}.hero-dish--steak{top:-2rem}.hero-dish--burger{top:-1.8rem}.hero-dish--pasta{bottom:-1.5rem}.hero-dish--nachos{bottom:-1.4rem}}
@media(min-width:700px){.hero-logo{width:18rem;height:auto}.hero-dish--steak{width:23rem;height:19rem;left:-4.5rem}.hero-dish--burger{width:25rem;height:20rem;right:-5rem}.hero-dish--special{width:15rem;height:14rem;left:-3rem}.hero-dish--cocktail{width:12rem;height:15rem;right:-1rem}.hero-dish--pasta{width:23rem;height:18rem;left:-4rem}.hero-dish--nachos{width:25rem;height:19rem;right:-4.5rem}.category-header{grid-template-columns:minmax(0,1fr) 9rem}.category-header h3{font-size:clamp(2.2rem,4vw,3.4rem)}.category-section[data-category="hamburguesas"] .category-header h3,.category-section[data-category="refrescantes"] .category-header h3{font-size:clamp(2rem,3.5vw,3rem)}}

/* Portada final suministrada y alineación definitiva de tarjetas */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hero--final{position:relative;display:block;height:100dvh;min-height:100svh;padding:0;background:#050505;overflow:hidden;isolation:isolate}
.hero--final::before,.hero--final::after{content:none}
.hero-cover{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;animation:none}
.hero-cover-action{position:absolute;z-index:4;left:50%;top:60.2%;transform:translateX(-50%);width:min(42%,11.8rem);height:7.2%;min-height:3rem;border-radius:999px;text-decoration:none}
.hero-cover-action:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.favorite-card{height:21.25rem}
.favorite-card>img,.favorite-card>.product-card-media{height:8.35rem;flex-basis:8.35rem}
.favorite-body{padding:.72rem .72rem .78rem}
.favorite-body .tag{min-height:1.45rem;align-items:center;background:rgba(158,27,27,.18);border-color:rgba(227,178,92,.35);color:var(--gold);font-size:.6rem}
.favorite-body h3{height:2.2em;min-height:2.2em;margin:.42rem 0 .3rem}
.favorite-body p{height:4.05em;min-height:4.05em;-webkit-line-clamp:3}
.favorite-variant{display:inline-flex;align-self:flex-start;margin-top:.5rem;padding:.28rem .45rem;border-radius:999px;background:rgba(247,241,230,.07);border:1px solid var(--line);color:rgba(247,241,230,.8);font-size:.64rem;font-weight:700;line-height:1.2}
.favorite-footer{padding-top:.5rem}
.category-note{font-size:.84rem;line-height:1.48}
.category-note strong{display:block;margin-bottom:.32rem;color:var(--gold);font-family:var(--display);font-size:.83rem;letter-spacing:.04em;text-transform:uppercase}
.category-section[data-category="patacones-maduros"] .category-header h3{font-size:clamp(1.22rem,5.35vw,2rem);line-height:1}
.category-section[data-category="desgranados"] .category-header h3{font-size:clamp(1.42rem,6.1vw,2.2rem);line-height:1}
.product-card{height:100%}
.product-card-body{display:flex;flex-direction:column;flex:1}
.product-card h4{height:2.28em;min-height:2.28em;-webkit-line-clamp:2}
.product-card p{height:4.14em;min-height:4.14em;-webkit-line-clamp:3}
.product-choices{flex:0 0 auto}
.product-card-end{display:block;margin-top:auto;padding-top:.56rem}
.product-card .product-price{margin:0;padding:0}
.product-card .more{margin-top:.32rem}
.product-choice>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
@media(min-width:700px){.hero-cover{width:min(100%,40rem);margin:0 auto;object-fit:contain}.hero-cover-action{width:15rem}.category-section[data-category="patacones-maduros"] .category-header h3{font-size:clamp(1.8rem,3vw,2.65rem)}.category-section[data-category="desgranados"] .category-header h3{font-size:clamp(2rem,3.4vw,3rem)}}

/* Portada responsive compuesta con elementos independientes */
.hero--composed{position:relative;display:grid;width:100%;height:100dvh;min-height:100svh;padding:max(.8rem,env(safe-area-inset-top)) 1.25rem max(4.9rem,calc(4.2rem + env(safe-area-inset-bottom)));place-items:center;overflow:hidden;isolation:isolate;background:#050403}
.hero--composed::before{content:"";position:absolute;z-index:0;inset:17% 8% 18%;width:auto;height:auto;transform:none;background:radial-gradient(ellipse at center,rgba(116,18,25,.38) 0,rgba(84,12,19,.18) 36%,rgba(5,4,3,0) 74%);filter:blur(18px);pointer-events:none}
.hero--composed::after{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(ellipse 52% 49% at 50% 49%,rgba(5,4,3,.84) 0,rgba(5,4,3,.61) 46%,rgba(5,4,3,.13) 70%,transparent 86%);pointer-events:none}
.hero--composed .hero-content{position:relative;z-index:4;width:min(100%,21rem);display:flex;flex-direction:column;align-items:center;text-align:center;animation:rise .8s ease both}
.hero--composed .hero-logo{width:min(58vw,13rem);height:auto;margin:0 auto .55rem;object-fit:contain;mix-blend-mode:normal;filter:drop-shadow(0 .5rem 1.1rem rgba(0,0,0,.52))}
.hero-kicker{margin:0;color:#efd074;font-size:.66rem;font-weight:600;letter-spacing:.32em;line-height:1.4}
.hero-kicker span{display:inline-block;margin:0 .15em;color:#d84d50}
.hero--composed h1{margin:.7rem 0 0;font-family:"Bodoni Moda",Didot,"Times New Roman",serif;font-size:clamp(3.05rem,13.4vw,3.72rem);font-weight:600;line-height:.83;letter-spacing:-.055em;color:#faf5ea}
.hero-title-line{display:block;white-space:nowrap}
.hero-title-accent{color:#f2cc73;font-size:1.08em;font-style:italic}
.hero--composed .hero-copy{max-width:19rem;margin:.95rem auto 0;color:rgba(247,241,230,.75);font-size:.89rem;line-height:1.45}
.hero--composed .hero-button{min-width:13.8rem;min-height:3.35rem;margin-top:1.15rem;padding:0 1.55rem;background:#faf7f1;color:#11100f;border-radius:999px;gap:1.15rem;font-size:1rem;font-weight:700;box-shadow:0 1.1rem 2.4rem -.9rem rgba(0,0,0,.72)}
.hero--composed .hero-button span{font-size:1.8rem;font-weight:400;line-height:0;transform:translateY(-.05rem)}
.hero--composed .hero-cue{margin:.95rem 0 0;gap:.38rem;color:rgba(247,241,230,.5);font-size:.59rem;letter-spacing:.28em;line-height:1.25}
.hero--composed .hero-cue i{height:1.55rem;background:linear-gradient(#e5c56e,transparent)}
.hero--composed .hero-dish{position:absolute;z-index:1;margin:0;overflow:visible;pointer-events:none;animation:pop .85s cubic-bezier(.2,.9,.3,1.15) both}
.hero--composed .hero-dish img{width:100%;height:100%;object-fit:cover;transform:none;filter:saturate(1.06) contrast(1.05);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 82%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 17%,#000 83%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 18%,#000 82%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 17%,#000 83%,transparent 100%);mask-composite:intersect}
.hero--composed .hero-dish--steak{width:14.2rem;height:11.1rem;left:-5.6rem;top:-1rem;transform:rotate(-5deg)}
.hero--composed .hero-dish--steak img{object-position:55% 66%}
.hero--composed .hero-dish--burger{width:14rem;height:11.4rem;right:-5.1rem;top:-.9rem;transform:rotate(5deg)}
.hero--composed .hero-dish--burger img{object-position:38% 60%}
.hero--composed .hero-dish--special{width:9.6rem;height:9.2rem;left:-5.4rem;top:31%;transform:rotate(-7deg)}
.hero--composed .hero-dish--special img{object-position:64% 53%}
.hero--composed .hero-dish--cocktail{width:7.4rem;height:10.2rem;right:-3.35rem;top:30%;transform:rotate(3deg)}
.hero--composed .hero-dish--cocktail img{object-position:48% 50%}
.hero--composed .hero-dish--pasta{width:14.7rem;height:11.8rem;left:-6rem;bottom:-1.15rem;transform:rotate(4deg)}
.hero--composed .hero-dish--pasta img{object-position:62% 48%}
.hero--composed .hero-dish--nachos{width:15.2rem;height:11.8rem;right:-5.9rem;bottom:-.9rem;transform:rotate(-4deg)}
.hero--composed .hero-dish--nachos img{object-position:35% 47%}

@media(max-height:720px) and (max-width:600px){.hero--composed{padding-top:.45rem;padding-bottom:4.35rem}.hero--composed .hero-content{width:min(100%,19.5rem);transform:translateY(-.15rem)}.hero--composed .hero-logo{width:min(50vw,10.5rem);margin-bottom:.25rem}.hero--composed h1{font-size:clamp(2.55rem,11.8vw,3.15rem);margin-top:.45rem}.hero-kicker{font-size:.58rem}.hero--composed .hero-copy{max-width:17.2rem;margin-top:.62rem;font-size:.78rem;line-height:1.36}.hero--composed .hero-button{min-width:12.7rem;min-height:3rem;margin-top:.72rem}.hero--composed .hero-cue{margin-top:.58rem}.hero--composed .hero-dish--steak,.hero--composed .hero-dish--burger{top:-2.2rem}.hero--composed .hero-dish--pasta,.hero--composed .hero-dish--nachos{bottom:-2rem}}

@media(min-width:601px) and (max-width:1024px){.hero--composed{padding:1.4rem 2rem}.hero--composed::before{inset:16% 17% 17%}.hero--composed::after{background:radial-gradient(ellipse 45% 51% at 50% 50%,rgba(5,4,3,.86) 0,rgba(5,4,3,.6) 48%,rgba(5,4,3,.1) 73%,transparent 88%)}.hero--composed .hero-content{width:min(100%,28rem)}.hero--composed .hero-logo{width:16rem;margin-bottom:.7rem}.hero-kicker{font-size:.72rem}.hero--composed h1{font-size:4.45rem}.hero--composed .hero-copy{max-width:22rem;font-size:.98rem}.hero--composed .hero-button{min-width:15rem;min-height:3.6rem}.hero--composed .hero-dish--steak{width:21rem;height:16.5rem;left:-6.3rem;top:-1.7rem}.hero--composed .hero-dish--burger{width:21.5rem;height:17rem;right:-6.3rem;top:-1.4rem}.hero--composed .hero-dish--special{width:14rem;height:13rem;left:-6.4rem;top:31%}.hero--composed .hero-dish--cocktail{width:10.7rem;height:14rem;right:-4rem;top:30%}.hero--composed .hero-dish--pasta{width:21rem;height:16.4rem;left:-6.2rem;bottom:-1.7rem}.hero--composed .hero-dish--nachos{width:22rem;height:16.8rem;right:-6.5rem;bottom:-1.4rem}}

@media(min-width:1025px){.hero--composed{padding:1.5rem 2rem}.hero--composed::before{inset:13% 27% 14%}.hero--composed::after{background:radial-gradient(ellipse 33% 55% at 50% 50%,rgba(5,4,3,.9) 0,rgba(5,4,3,.64) 49%,rgba(5,4,3,.08) 77%,transparent 92%)}.hero--composed .hero-content{width:min(100%,35rem)}.hero--composed .hero-logo{width:clamp(15.5rem,17vw,19rem);margin-bottom:.75rem}.hero-kicker{font-size:.75rem;letter-spacing:.38em}.hero--composed h1{font-size:clamp(4.5rem,5.25vw,6.1rem);line-height:.82}.hero--composed .hero-copy{max-width:25rem;margin-top:1.1rem;font-size:1.02rem}.hero--composed .hero-button{min-width:15.5rem;min-height:3.65rem;margin-top:1.35rem}.hero--composed .hero-cue{margin-top:1.2rem}.hero--composed .hero-dish--steak{width:clamp(22rem,28vw,34rem);height:clamp(17rem,22vw,26rem);left:-3.5vw;top:-3vw}.hero--composed .hero-dish--burger{width:clamp(22rem,28vw,34rem);height:clamp(17rem,22vw,26rem);right:-3.5vw;top:-2.7vw}.hero--composed .hero-dish--special{width:clamp(14rem,18vw,22rem);height:clamp(13rem,17vw,20rem);left:-4.8vw;top:34%}.hero--composed .hero-dish--cocktail{width:clamp(10rem,13vw,15rem);height:clamp(14rem,18vw,21rem);right:-3vw;top:31%}.hero--composed .hero-dish--pasta{width:clamp(22rem,28vw,34rem);height:clamp(17rem,21vw,25rem);left:-3.2vw;bottom:-3vw}.hero--composed .hero-dish--nachos{width:clamp(23rem,29vw,35rem);height:clamp(17rem,22vw,26rem);right:-3.6vw;bottom:-2.7vw}}

/* Fine visual pass: quieter hero, centered sauce capsules and tighter burger framing. */
.hero--composed h1.hero-copy--lead{max-width:22rem;margin:.95rem auto 0;font-family:var(--sans);font-size:clamp(.92rem,2.4vw,1.05rem);font-weight:500;line-height:1.48;letter-spacing:.005em;color:rgba(247,241,230,.78)}
.sauce-panel{margin:.8rem 0 1rem;padding:.9rem;border:1px solid rgba(212,173,79,.28);border-radius:18px;background:linear-gradient(145deg,rgba(212,173,79,.08),rgba(158,27,27,.1));text-align:center}.sauce-panel>strong{display:block;margin-bottom:.65rem;color:var(--gold);font-family:var(--display);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.sauce-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.sauce-chip{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.42rem .7rem;border:1px solid rgba(247,241,230,.14);border-radius:999px;background:rgba(247,241,230,.07);color:rgba(247,241,230,.9);font-size:.7rem;font-weight:700}.sauce-chip--note{flex-basis:100%;max-width:max-content;margin-inline:auto;border-color:rgba(158,27,27,.38);background:rgba(158,27,27,.2);font-weight:600}
.category-section[data-category="hamburguesas"] .category-header img,.category-section[data-category="hamburguesas"] .product-card-media img{transform:scale(1.12);object-position:center 48%}
@media(min-width:700px){.hero--composed h1.hero-copy--lead{max-width:28rem;font-size:1.08rem}.sauce-panel{padding:1rem 1.2rem}.sauce-chip{font-size:.78rem;padding:.46rem .82rem}.sauce-chip--note{flex-basis:auto;max-width:none;margin-inline:0}}

/* Encuadre completo para limonadas y sodas, sin deformación en card ni modal */
.product-card-media img,.favorite-card>img,.category-header img,.directory-card img,.search-card img,.dialog-media img{display:block}
.product-card-media.media-contain,.dialog-media:has(img.media-contain){background:#100d0c}
.product-card-media.media-contain img,.dialog-media img.media-contain{object-fit:contain;object-position:center}
