/* ═══ Europa Doner Kebab: tienda ═══
   Reglas de color: crema y blanco de base; rojo para la marca y los precios;
   verde para lo que se pulsa o se elige; dorado para ofertas y detalles. */
@font-face{font-family:"Baloo 2";src:url(../assets/fonts/baloo-2-latin-wght-normal.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Nunito";src:url(../assets/fonts/nunito-latin-wght-normal.woff2) format("woff2");font-weight:200 1000;font-display:swap}
:root{
  --red:#c1272d; --red-d:#8f1522; --red-soft:#fdeee9;
  --green:#0a6b3e; --green-2:#12934f; --green-soft:#e6f5ec;
  --gold:#f6b73c; --gold-l:#ffe08a; --gold-soft:#fff3d6;
  --bg:#fff9f0; --bg-2:#fbf0dd; --line:#f1e4cd; --white:#fff;
  --ink:#2b1a12; --ink-2:#6d5647;
  --grad-hero:linear-gradient(115deg,#8f1522 0%,#c1272d 55%,#e6592e 100%);
  --grad-go:linear-gradient(135deg,#17a35a,#0a6b3e);
  --grad-price:linear-gradient(135deg,#ee5a2e,#b81f2a);
  --grad-gold:linear-gradient(180deg,#ffe08a,#f6b73c);
  --grad-foot:linear-gradient(115deg,#053d24,#0a6b3e 70%,#128a50);
  --flag:linear-gradient(90deg,#c1272d,#f6b73c 50%,#0a6b3e);
  --head:"Baloo 2","Trebuchet MS",system-ui,sans-serif;
  --body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
  --top:68px; --r:20px;
  --shadow:0 1px 2px rgba(90,50,15,.05),0 8px 22px rgba(90,50,15,.08);
  --shadow-h:0 2px 4px rgba(90,50,15,.06),0 16px 32px rgba(90,50,15,.14);
  --ease:cubic-bezier(.2,.8,.2,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --zellige:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.13' stroke-width='1.2'%3E%3Crect x='16' y='16' width='32' height='32'/%3E%3Crect x='16' y='16' width='32' height='32' transform='rotate(45 32 32)'/%3E%3Ccircle cx='32' cy='32' r='5'/%3E%3Cpath d='M0 0l9 9M64 0l-9 9M0 64l9-9M64 64l-9-9'/%3E%3C/g%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;-webkit-tap-highlight-color:transparent}
body{margin:0;font:500 16px/1.4 var(--body);color:var(--ink);background:var(--bg);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,p,ul,dl,dd,blockquote,figure{margin:0}
ul{padding:0;list-style:none}
address{font-style:normal}
[hidden]{display:none!important}
svg{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:8px}
.skip{position:fixed;left:10px;top:-60px;z-index:100;background:#fff;padding:10px 14px;border-radius:10px;font-weight:800}
.skip:focus{top:10px}

/* Piezas comunes */
.sticker{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--gold-soft),0 2px 8px rgba(90,50,15,.18);flex:none}
.sticker img{width:82%}
.sticker--lg{width:92px;height:92px;background:var(--gold-soft);box-shadow:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:10px 20px;border-radius:16px;font:700 17px/1.1 var(--head);text-decoration:none;transition:transform .2s var(--spring),filter .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn:active{transform:scale(.97)}
.btn--wa{width:100%;min-width:0;white-space:normal;color:#fff;background:var(--grad-go);box-shadow:0 8px 18px rgba(10,107,62,.28)}
.btn--wa[disabled]{background:#ddd2bf;color:#6d5647;box-shadow:none;cursor:not-allowed;transform:none;filter:none}
.btn--go{flex:1;color:#fff;background:var(--grad-go);box-shadow:0 8px 18px rgba(10,107,62,.28)}
.btn--soft{min-height:44px;color:#fff;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.4)}
.iconbtn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bg-2);color:var(--ink);transition:background .2s,transform .25s var(--spring)}
.iconbtn:hover{background:var(--line);transform:rotate(90deg)}
.grab{display:none}

/* ═══ Cabecera: limpia, para que la comida mande ═══ */
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;height:var(--top);padding:0 clamp(12px,2vw,24px);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 4px 18px rgba(90,50,15,.07)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--flag)}
.top__id{display:flex;align-items:center;gap:14px;flex:none;min-width:0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand__txt{display:grid;line-height:1}
.brand__txt b{font:800 27px/.95 var(--head);color:var(--red)}
.brand__txt small{margin-top:2px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.status{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--bg-2);font-size:13.5px;font-weight:800;white-space:nowrap}
.status i{width:9px;height:9px;border-radius:50%;background:#bbb;flex:none}
.status.is-open{color:var(--green);background:var(--green-soft)}
.status.is-open i{background:var(--green-2);animation:pulse 2s infinite}
.status.is-closed{color:var(--red);background:var(--red-soft)}
.status.is-closed i{background:var(--red)}
.status__long{font-weight:700}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(18,147,79,.5)}70%{box-shadow:0 0 0 8px rgba(18,147,79,0)}100%{box-shadow:0 0 0 0 rgba(18,147,79,0)}}
.search{position:relative;flex:1;max-width:460px;margin-inline:auto;display:flex;align-items:center}
.search>svg{position:absolute;left:14px;color:var(--ink-2);pointer-events:none}
.search input{width:100%;height:46px;padding:0 14px 0 42px;border:1.5px solid transparent;border-radius:999px;background:var(--bg-2);color:var(--ink);font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s}
.search input::placeholder{color:#7f6a5b}
.search input:focus{outline:0;background:#fff;border-color:var(--green-2);box-shadow:0 0 0 4px rgba(18,147,79,.14)}
.search__x{display:none}
.top__btn{display:inline-grid;grid-auto-flow:column;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;border-radius:999px;color:var(--green);background:var(--green-soft);flex:none;text-decoration:none;transition:transform .2s var(--spring),background .2s}
.top__btn:hover{transform:translateY(-1px);background:#d7efe0}
.top__btn--search{display:none}
.top__call{padding:6px 16px;font:700 17px var(--head);white-space:nowrap}
.callmenu{position:absolute;top:calc(100% + 8px);right:10px;z-index:40;display:grid;gap:7px;width:min(270px,calc(100vw - 20px));padding:12px;border-radius:var(--r);background:#fff;box-shadow:0 14px 40px rgba(43,26,18,.24);animation:pop .22s var(--ease)}
.callmenu[hidden]{display:none}
.callmenu p{font-size:13.5px;font-weight:700;color:var(--ink-2)}
.callmenu a{display:grid;gap:1px;min-height:56px;align-content:center;padding:7px 14px;border-radius:14px;color:var(--green);background:var(--green-soft);text-decoration:none}
.callmenu small{font-size:12.5px;font-weight:700;color:var(--ink-2)}
.callmenu b{font:800 19px var(--head)}

/* ═══ Categorías (móvil y tableta): todas a la vista ═══ */
.chips{position:sticky;top:var(--top);z-index:20;display:none;gap:4px;padding:8px 8px 7px;overflow-x:auto;scrollbar-width:none;background:rgba(255,249,240,.97);backdrop-filter:blur(8px);box-shadow:0 3px 10px rgba(90,50,15,.06)}
.chips::-webkit-scrollbar{display:none}
.chips .tab{flex:1 0 58px;display:grid;justify-items:center;gap:2px;padding:2px 0;color:var(--ink);transition:transform .2s var(--spring)}
.chips .tab:active{transform:scale(.93)}
.chips .tab__ic{display:block;width:50px;height:50px;transition:width .25s var(--ease),height .25s var(--ease),opacity .2s}
.tab__lb{display:grid;place-items:center;min-height:24px;padding:0 7px;border-radius:999px;font:700 12.5px/1 var(--head);white-space:nowrap;transition:background .25s,color .2s}
.chips .tab[aria-selected=true] .tab__lb{color:#fff;background:var(--grad-go);box-shadow:0 3px 8px rgba(10,107,62,.28)}
.chips.is-compact .tab{flex:1 1 auto;padding-block:1px}
.chips.is-compact .tab__ic{width:0;height:0;opacity:0;overflow:hidden}
.chips.is-compact .tab__lb{min-height:34px}

/* Iconos de categoría */
.ic,.scene,.table-art{stroke:none}
.ic *,.scene *,.table-art *{transform-box:view-box}
.ic{display:block;width:100%;height:100%;overflow:visible;}
.tab[aria-selected=true] .ic,.tab[aria-current=true] .ic{animation:icPop .55s var(--spring)}
@keyframes icPop{0%{transform:scale(.82)}55%{transform:scale(1.1) rotate(-3deg)}}
.tab[aria-selected=true] .ic-a,.tab[aria-current=true] .ic-a,.tab:hover .ic-a{animation:icWiggle 1.5s ease-in-out infinite}
@keyframes icWiggle{25%{transform:translateY(-1.8px) rotate(-3deg)}75%{transform:translateY(.4px) rotate(2deg)}}
.tab[aria-selected=true] .ic-flame,.tab[aria-current=true] .ic-flame,.tab:hover .ic-flame{animation:flame .55s ease-in-out infinite alternate}
@keyframes flame{to{transform:scale(1.12,.92) skewX(-5deg)}}

/* ═══ Distribución ═══ */
.shop{display:grid;grid-template-columns:232px minmax(0,1fr) 348px;gap:18px;align-items:start;width:min(1500px,100%);margin-inline:auto;padding:16px clamp(12px,2vw,24px) 34px}
.side__in{position:sticky;top:calc(var(--top) + 16px);display:grid;gap:10px}
.catnav{padding:12px 8px 8px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.catnav__t{padding:0 8px 8px;font:800 19px/1.1 var(--head);color:var(--red)}
.catnav__list{position:relative;display:grid;gap:2px}
.catnav__pill{position:absolute;left:0;right:0;top:0;border-radius:17px;background:var(--grad-go);box-shadow:0 7px 16px rgba(10,107,62,.3);transition:transform .42s var(--spring),height .2s}
.side .tab{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:68px;padding:5px 10px 5px 7px;border-radius:17px;text-align:left;transition:color .2s,background .2s}
.side .tab__ic{display:block;flex:none;width:54px;height:54px;transition:transform .3s var(--spring)}
.side .tab:hover:not([aria-current=true]){background:var(--gold-soft)}
.side .tab:hover .tab__ic{transform:translateY(-2px) scale(1.05)}
.tab__txt{display:grid;gap:1px;min-width:0}
.tab__txt b{font:700 16px/1.06 var(--head)}
.tab__txt small{font-size:12.5px;font-weight:700;line-height:1.1;color:var(--red)}
.side .tab[aria-current=true]{color:#fff}
.side .tab[aria-current=true] small{color:var(--gold-l)}
.sidehelp{display:grid;gap:5px;padding:11px 14px;border-radius:18px;background:var(--gold-soft);font-size:13px;font-weight:700;line-height:1.25}
.sidehelp b{font-weight:900}
.sidehelp a{color:var(--green);text-underline-offset:2px}
.sidehelp a b{white-space:nowrap}
.main{min-width:0;display:grid;gap:16px}

/* ═══ Portada: el único gran bloque rojo ═══ */
.hero{position:relative;display:flex;align-items:center;gap:14px;padding:8px 14px 8px 22px;border-radius:24px;color:#fff;background:var(--zellige) 0 0/64px,var(--grad-hero);box-shadow:0 14px 28px rgba(150,30,20,.22);overflow:hidden;isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.2) 50%,transparent 60%);transform:translateX(-100%);animation:shine 1.5s var(--ease) .5s 1}
@keyframes shine{to{transform:translateX(100%)}}
.hero__txt{flex:1;min-width:0;animation:rise .6s var(--ease) both}
.hero__eyebrow{font-size:13px;font-weight:800;color:var(--gold-l)}
.hero h1{margin-top:1px;font:800 clamp(22px,2.35vw,33px)/1.06 var(--head);text-wrap:balance}
.facts{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.facts li{padding:3px 11px;border-radius:999px;background:rgba(255,255,255,.17);font-size:13px;font-weight:700;white-space:nowrap}
.facts a{text-underline-offset:2px}
.hero__dish{position:relative;display:grid;justify-items:center;flex:none;width:clamp(150px,12.5vw,176px);color:#fff;transition:transform .3s var(--spring)}
.hero__dish:hover{transform:translateY(-3px) rotate(-1.5deg)}
.hero__pic{position:relative;display:block;width:100%;container-type:inline-size;aspect-ratio:4/3;animation:float 5s ease-in-out infinite}
.hero__pic img{width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 8px 8px rgba(60,5,5,.45))}
.hero__tag{display:grid;text-align:center;line-height:1.05}
.hero__tag b{font:800 15.5px/1.05 var(--head)}
.hero__tag small{font-size:10.5px;font-weight:700;color:var(--gold-l);white-space:nowrap}
@keyframes float{50%{transform:translateY(-5px)}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}

/* ═══ Ofertas: blancas, con foto y cinta dorada ═══ */
.offers__head{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin-bottom:9px}
.offers__head h2{font:800 25px/1 var(--head)}
.offers__head p{font-size:14px;font-weight:700;color:var(--ink-2)}
.offers__head p b{padding:1px 8px;border-radius:999px;color:var(--green);background:var(--green-soft);font-weight:900}
.inline{font-weight:900;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.offers--off .offers__row{display:none}
.offers--off .offers__head{margin-bottom:0}
.offers__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.offer{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r);background:#fff;box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s}
.offer:hover{transform:translateY(-3px);box-shadow:var(--shadow-h)}
.offer__img{position:relative;overflow:hidden;aspect-ratio:298/122;background:#2c1a10}
.offer__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.offer:hover .offer__img img{transform:scale(1.07)}
.ribbon{position:absolute;left:0;top:8px;padding:2px 10px 2px 9px;border-radius:0 999px 999px 0;color:#4a2606;background:var(--grad-gold);font:800 12.5px/1.3 var(--head);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.offer__body{flex:1;display:grid;gap:1px;align-content:start;padding:9px 11px 10px}
.offer__body h3{font:800 18.5px/1.08 var(--head)}
.offer__body p{font-size:13px;line-height:1.2;font-weight:700;color:var(--ink-2)}
.offer__row{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;margin-top:5px;align-self:end}
.offer__price{display:grid;font:800 23px/1 var(--head);color:var(--red);white-space:nowrap}
.offer__price small{font:700 12px/1.15 var(--body);color:var(--ink-2)}
.offer__price s{text-decoration-thickness:1.5px}
.offer.is-off{filter:saturate(.7)}

/* Botón + */
.add{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;background:var(--grad-go);box-shadow:0 5px 12px rgba(10,107,62,.3);flex:none;transition:transform .18s var(--spring),filter .2s}
.add svg{stroke-width:3}
.add:hover{transform:scale(1.1);filter:brightness(1.1)}
.add:active{transform:scale(.88)}
.add[disabled]{background:#ddd2bf;box-shadow:none;cursor:not-allowed;transform:none}
.add.is-added,.size.is-added i{background:var(--gold);color:#4a2606;animation:bump .4s var(--spring)}

/* Marca de "ya en tu pedido" */
[data-n]::before{content:"✓ " attr(data-n);position:absolute;top:7px;right:7px;z-index:4;padding:2px 9px;border-radius:999px;color:#fff;background:var(--green);font:800 13px/1.35 var(--head);box-shadow:0 2px 6px rgba(0,60,30,.3);animation:bump .4s var(--spring)}
.row[data-n]::before{top:-6px;right:-3px}

/* ═══ Lista de productos ═══ */
.list{outline:0;scroll-margin-top:calc(var(--top) + 60px)}
.list__head{margin-bottom:11px}
.list__head h2{font:800 27px/1 var(--head)}
.list__head p{margin-top:2px;font-size:14px;font-weight:700;color:var(--ink-2)}
.list__head blockquote{margin-top:6px;padding-left:11px;border-left:3px solid var(--gold);font-size:15px;font-weight:700;font-style:italic;line-height:1.25}
.list__head cite{display:inline-block;margin-left:7px;white-space:nowrap;font-size:12.5px;font-weight:800;font-style:normal;color:var(--ink-2)}
.list__head--pop{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:96px;padding:10px 12px 10px 18px;border-radius:var(--r);background:linear-gradient(100deg,#fff 40%,var(--gold-soft));box-shadow:var(--shadow)}
.list__head--pop>div{min-width:0}
.list__pop{width:clamp(96px,14vw,150px);max-height:112px;height:auto;margin-block:-14px;object-fit:contain;flex:none;filter:drop-shadow(0 8px 8px rgba(90,40,10,.3));animation:plateIn .6s var(--spring)}
@keyframes plateIn{from{opacity:0;transform:translateX(26px) rotate(14deg) scale(.86)}}
.list__extras{margin-top:12px;padding:9px 13px;border-radius:14px;background:var(--gold-soft);font-size:14px;font-weight:600}
.list__extras b{font-weight:800}
.empty{padding:26px;text-align:center;font-weight:700;color:var(--ink-2)}

/* Aparecen al entrar en pantalla */
.rv{opacity:0}
.rv.in{opacity:1;animation:pop .5s var(--ease) both;animation-delay:calc(var(--i)*55ms)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:13px}
.card{position:relative;container-type:inline-size;display:flex;flex-direction:column;overflow:hidden;width:100%;border-radius:var(--r);background:#fff;box-shadow:var(--shadow);text-align:left;transition:transform .22s var(--ease),box-shadow .22s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h)}
.card__img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;isolation:isolate}
.card__img::before{content:"";position:absolute;inset:7% 9% -8% 9%;z-index:-1;border-radius:999px 999px 0 0;background:var(--arch)}
.card:nth-child(3n+1){--arch:linear-gradient(180deg,#fff0c9,#fbd58a)}
.card:nth-child(3n+2){--arch:linear-gradient(180deg,#ffe3d4,#f8bb9c)}
.card:nth-child(3n){--arch:linear-gradient(180deg,#e2f5e7,#b2e2c4)}
.card__img img{width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 5px 6px rgba(90,40,10,.26));transform-origin:50% 90%;transition:transform .35s var(--spring)}
.card:hover .card__img img{transform:translateY(-3%) scale(1.06) rotate(-1.5deg)}
.card__img--contain img{padding:5% 3% 5% 20%}
.badge{position:absolute;left:0;bottom:0;display:block;width:42%;aspect-ratio:1;z-index:2;filter:drop-shadow(0 3px 5px rgba(110,20,15,.38));transition:transform .3s var(--spring)}
.badge>span{display:grid;place-items:center;width:100%;height:100%;clip-path:polygon(50.0% 0.0%,65.3% 13.0%,85.4% 14.6%,87.0% 34.7%,100.0% 50.0%,87.0% 65.3%,85.4% 85.4%,65.3% 87.0%,50.0% 100.0%,34.7% 87.0%,14.6% 85.4%,13.0% 65.3%,0.0% 50.0%,13.0% 34.7%,14.6% 14.6%,34.7% 13.0%);color:#fff;background:var(--grad-price);font:800 10.6cqw/1 var(--head);letter-spacing:-.01em}
.card:hover .badge{transform:rotate(-8deg) scale(1.05)}
.card>.add{position:absolute;right:7px;top:calc(75cqw - 51px);z-index:3}
.card__body{display:grid;gap:1px;padding:6px 11px 10px}
.card__body h3{font:700 16.5px/1.08 var(--head)}
.card__body p{font-size:12.5px;line-height:1.15;font-weight:600;color:var(--ink-2)}

.rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:9px}
.row{position:relative;display:flex;align-items:center;gap:11px;min-height:68px;padding:8px 10px;border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.row__thumb{width:60px;height:60px;border-radius:50%;object-fit:cover;background:linear-gradient(180deg,#fff0c9,#fbd58a);flex:none;transition:transform .3s var(--spring)}
.row:hover .row__thumb{transform:scale(1.1) rotate(-4deg)}
.row__txt{flex:1;min-width:0}
.row__txt h3{font:700 16.5px/1.1 var(--head)}
.row__txt p{margin-top:1px;font-size:13px;line-height:1.2;font-weight:600;color:var(--ink-2)}
.row__price{font:800 18px/1 var(--head);color:var(--red);white-space:nowrap}
.row--sizes{flex-wrap:wrap;gap:6px 10px}
.row--sizes .row__txt{flex-basis:100%}
.sizes{display:flex;gap:5px;flex:1}
.size{flex:1;display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:46px;padding:3px 5px 3px 10px;border-radius:13px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);text-align:left;transition:box-shadow .15s,background .15s,transform .15s var(--spring)}
.size small{display:block;font-size:11.5px;font-weight:700;line-height:1.1;color:var(--ink-2);white-space:nowrap}
.size b{display:block;font:800 15.5px/1.1 var(--head);color:var(--red);white-space:nowrap}
.size i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:var(--grad-go);flex:none}
.size i svg{width:15px;height:15px;stroke-width:3.2}
.size:hover{background:var(--green-soft);box-shadow:inset 0 0 0 1.5px var(--green-2);transform:translateY(-1px)}
.size:active{transform:scale(.96)}

/* ═══ Pedido ═══ */
.cart{position:sticky;top:calc(var(--top) + 16px);height:calc(100dvh - var(--top) - 32px);min-height:0}
.cart__scrim{display:none}
.cart__panel{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:var(--r);background:#fff;box-shadow:var(--shadow)}
.cart__head{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1.5px solid var(--line)}
.cart__head h2{display:flex;align-items:center;gap:8px;font:800 23px/1.1 var(--head)}
.cart__n{display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;color:#fff;background:var(--green);font:800 14px/1 var(--head);animation:bump .4s var(--spring)}
.cart__head .iconbtn{display:none}
.cart__body{flex:1;min-height:0;overflow-y:auto;padding:4px 14px 12px;overscroll-behavior:contain}
.cart__ic{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--red);background:var(--red-soft)}
.mini-table{width:22px;height:22px}
.mini-steam{stroke-dasharray:8;animation:miniSteam 2.2s ease-in-out infinite}
@keyframes miniSteam{0%{stroke-dashoffset:8;opacity:0}40%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-8;opacity:0}}
.cart__table{display:block;width:min(100%,250px)}
.table-art{display:block;width:100%;height:auto;overflow:visible}
.cart__sub{font-weight:700;color:var(--ink)}
.cart__empty{display:grid;justify-items:center;gap:8px;padding:12px 8px 18px;text-align:center;color:var(--ink-2)}
.cart__empty b{font:700 19px var(--head);color:var(--ink)}
.plusmark{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;background:var(--green);font-weight:900;line-height:1}
.cart__why{display:grid;gap:7px;margin-top:6px;text-align:left;font-size:14px;font-weight:700;color:var(--ink)}
.cart__why li{position:relative;padding-left:26px}
.cart__why li::before{content:"✓";position:absolute;left:0;top:0;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#fff;background:var(--green);font-size:12px;font-weight:900}
.cart__quote{margin-top:6px;padding:10px 12px;border-radius:14px;background:var(--gold-soft);font-size:14.5px;font-weight:700;font-style:italic;color:var(--ink)}
.cart__quote cite{display:block;margin-top:2px;font-size:12px;font-style:normal;font-weight:800;color:var(--ink-2)}
.line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:9px 0;border-bottom:1.5px dashed var(--line);animation:pop .3s var(--ease)}
.line h3{font:700 15.5px/1.1 var(--head)}
.line small{display:block;margin-top:1px;font:600 12.5px/1.2 var(--body);color:var(--ink-2)}
.line__p{font:800 15.5px/1.1 var(--head);color:var(--red);white-space:nowrap}
.qty{display:inline-flex;align-items:center;width:max-content;border-radius:999px;background:var(--bg-2)}
.qty button{width:36px;height:36px;border-radius:50%;font-weight:900;font-size:18px;line-height:1;transition:background .15s,transform .15s var(--spring)}
.qty button:hover{background:var(--line)}
.qty button:active{transform:scale(.85)}
.qty b{min-width:20px;text-align:center;font-weight:800}
.qty--lg button{width:48px;height:52px;font-size:22px}
.qty--lg b{min-width:26px;font-size:18px}
.suggest{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding:8px 8px 8px 12px;border-radius:14px;background:var(--gold-soft);font-size:14px;font-weight:700;animation:pop .35s var(--ease)}
.suggest__btn{flex:none;min-height:40px;padding:5px 12px;border-radius:999px;color:#fff;background:var(--grad-go);font:700 14px/1 var(--head);white-space:nowrap}
.form{display:grid;gap:9px;margin-top:12px}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin:0;padding:3px;border:0;border-radius:14px;background:var(--bg-2)}
.seg label{position:relative}
.seg input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.seg label>span{display:grid;place-items:center;min-height:42px;padding:3px;border-radius:11px;font:700 15px/1.05 var(--head);text-align:center;transition:.18s}
.seg small{display:block;font:600 11px/1.1 var(--body)}
.seg input:checked+span{color:#fff;background:var(--grad-go)}
.seg input:focus-visible+span{outline:3px solid var(--gold)}
.field{display:grid;gap:3px;font-size:13.5px;font-weight:800}
.field small{font-weight:600;color:var(--ink-2)}
.field input,.sheet input[type=text]{width:100%;height:46px;padding:0 13px;border:1.5px solid #e0cfae;border-radius:13px;background:var(--bg);font-weight:600;font-size:16px}
.field input::placeholder,.sheet input[type=text]::placeholder{color:#7f6a5b;font-weight:500}
.field input:focus,.sheet input[type=text]:focus{outline:0;border-color:var(--green-2);box-shadow:0 0 0 3px rgba(18,147,79,.16)}
.field__err{font-size:12.5px;font-style:normal;font-weight:700;color:var(--red)}
.field.is-bad input{border-color:var(--red);box-shadow:0 0 0 3px rgba(193,39,45,.14)}
.cart__foot{display:grid;gap:6px;padding:9px 14px 11px;border-top:1.5px solid var(--line);background:var(--bg)}
.sum{display:grid;gap:1px}
.sum div{display:flex;justify-content:space-between;font-size:14px;font-weight:700;color:var(--ink-2)}
.sum dd{font-weight:800}
.sum__total{align-items:baseline;color:var(--ink)!important;font:700 17px var(--head)!important}
.sum__total dd{font:800 26px/1.1 var(--head);color:var(--red)}
.meter{height:7px;border-radius:9px;background:var(--line);overflow:hidden}
.meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--green-2));transition:width .35s var(--ease)}
.cart__msg{font-size:13px;font-weight:700;line-height:1.25;color:var(--ink-2)}
.cart__msg:empty{display:none}
.cart__msg.is-warn{color:var(--red)}
.cart__call{text-align:center;font-size:14px;font-weight:600;text-underline-offset:3px}

/* ═══ Opciones de producto ═══ */
.sheet{width:min(460px,100%);max-height:min(92dvh,760px);padding:0;border:0;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 24px 70px rgba(40,20,10,.4);overflow:hidden}
.sheet[open]{display:flex;animation:sheetIn .36s var(--ease)}
.sheet::backdrop{background:rgba(40,22,12,.5);backdrop-filter:blur(2px);animation:fade .25s}
@keyframes sheetIn{from{opacity:0;transform:translateY(30px) scale(.98)}}
@keyframes fade{from{opacity:0}}
.sheet__in{position:relative;display:flex;flex-direction:column;width:100%;min-height:0}
.sheet__x{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.sheet__img{--h:clamp(130px,25dvh,210px);display:grid;justify-items:center;flex:none;background:linear-gradient(180deg,var(--gold-soft),#fff)}
.sheet__pic{position:relative;container-type:inline-size;width:calc(var(--h)*4/3);height:var(--h)}
.sheet__pic img{width:100%;height:100%;object-fit:contain;animation:plateIn .5s var(--spring)}
.sheet__img:empty{height:12px}
.sheet__body{flex:1;min-height:0;overflow-y:auto;padding:6px 16px 12px}
.sheet__body h2{padding-right:30px;font:800 25px/1.08 var(--head)}
.sheet__body>p{font-size:14.5px;font-weight:600;color:var(--ink-2)}
.sheet__body>p:empty{display:none}
.opt{margin:11px 0 0;padding:0;border:0}
.opt legend{margin-bottom:5px;padding:0;font:700 16px var(--head)}
.opt legend small{font:600 13px var(--body);color:var(--ink-2)}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{position:relative}
.pill input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pill span{display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:800;font-size:14.5px;transition:.15s}
.pill small{font-weight:700;font-size:12.5px;color:var(--ink-2)}
.pill input:checked+span{color:#fff;background:var(--grad-go);box-shadow:none;transform:scale(1.03)}
.pill input:checked+span small{color:#d8f3e2}
.pill input:focus-visible+span{outline:3px solid var(--gold)}
.sheet__foot{display:flex;gap:9px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1.5px solid var(--line);background:var(--bg)}

/* Recoger o a domicilio: dos pequeñas escenas animadas */
.seg--mode{grid-auto-flow:initial;grid-template-columns:1fr 1fr;gap:8px;padding:0;background:none}
.seg--mode label>.mode{display:flex;flex-direction:column;align-items:stretch;place-items:initial;min-height:0;padding:0;overflow:hidden;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .2s,transform .25s var(--spring)}
.seg--mode label:hover>.mode{transform:translateY(-1px)}
.seg--mode input:checked+.mode{color:inherit;background:#fff;box-shadow:0 0 0 2px var(--green-2),0 6px 14px rgba(10,107,62,.2)}
.mode__scene{display:block;height:62px;background:linear-gradient(180deg,#fffdf7,#fff3d9);filter:saturate(.45) opacity(.72);transition:filter .25s}
input:checked+.mode .mode__scene{filter:none;background:linear-gradient(180deg,#fff6df,#ffe7b3)}
.scene{display:block;width:100%;height:100%;overflow:hidden}
.mode__txt{display:grid;justify-items:center;gap:1px;padding:5px 4px 6px;text-align:center;transition:background .2s,color .2s}
.mode__txt b{font:700 15px/1.05 var(--head)}
.mode__txt small{font:700 11px/1.1 var(--body);color:var(--ink-2)}
input:checked+.mode .mode__txt{color:#fff;background:var(--grad-go)}
input:checked+.mode .mode__txt small{color:#d8f3e2}

input:checked+.mode .sc-town{animation:town 13s linear infinite}
input:checked+.mode .sc-road{animation:road .5s linear infinite}
@keyframes town{to{transform:translateX(-170px)}}
@keyframes road{to{stroke-dashoffset:-22}}
.m-puff,.m-st{opacity:0}
input:checked+.mode .m-drive{animation:driveIn .7s var(--ease)}
@keyframes driveIn{from{transform:translateX(-150px)}}
:is(input:checked+.mode,.is-live) .m-wheel{animation:spin .34s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
:is(input:checked+.mode,.is-live) .m-body{animation:ride .34s ease-in-out infinite alternate}
@keyframes ride{to{transform:translateY(-1.1px)}}
:is(input:checked+.mode,.is-live) .m-box{animation:boxSway .68s ease-in-out infinite alternate}
@keyframes boxSway{from{transform:rotate(-2.4deg)}to{transform:rotate(2.4deg) translateY(-.8px)}}
:is(input:checked+.mode,.is-live) .m-puff{animation:puff 1s ease-out infinite}
:is(input:checked+.mode,.is-live) .m-puff--2{animation-delay:.5s}
@keyframes puff{0%{opacity:.85;transform:translate(0,0) scale(.6)}100%{opacity:0;transform:translate(-24px,-7px) scale(1.7)}}
:is(input:checked+.mode,.is-live) .m-st{animation:wisp 1.5s ease-out infinite}
:is(input:checked+.mode,.is-live) .m-st--2{animation-delay:.7s}
@keyframes wisp{0%{opacity:0;transform:translateY(3px)}35%{opacity:.9}100%{opacity:0;transform:translateY(-5px)}}
:is(input:checked+.mode,.is-live) .w-man{animation:walkIn .7s var(--ease)}
@keyframes walkIn{from{translate:-150px 0}}
:is(input:checked+.mode,.is-live) .w-leg{animation:legA .7s ease-in-out infinite alternate}
:is(input:checked+.mode,.is-live) .w-leg--2{animation-name:legB}
@keyframes legA{from{transform:rotate(-24deg)}to{transform:rotate(24deg)}}
@keyframes legB{from{transform:rotate(24deg)}to{transform:rotate(-24deg)}}
:is(input:checked+.mode,.is-live) .w-arm{animation:legA .7s ease-in-out infinite alternate}
:is(input:checked+.mode,.is-live) .w-bag{animation:bagSwing .7s ease-in-out infinite alternate}
@keyframes bagSwing{from{transform:rotate(-7deg)}to{transform:rotate(8deg)}}

/* Información legal en la tienda */
.check{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);font-size:13.5px;font-weight:700;line-height:1.25;cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--green)}
.check a{color:var(--green);text-underline-offset:2px}
.check.is-bad{background:var(--red-soft);box-shadow:inset 0 0 0 2px var(--red)}
.prinfo{font-size:12px;font-weight:600;line-height:1.25;color:var(--ink-2)}
.allergy{padding:7px 10px;border-radius:12px;background:var(--gold-soft);font-size:13.5px;font-weight:600;line-height:1.25}
.allergy a,.list__allergy a,.sheet__allergy a{color:var(--green);font-weight:800;text-underline-offset:2px}
.list__allergy{margin-top:10px;padding:9px 13px;border-radius:14px;background:#fff;box-shadow:var(--shadow);font-size:14px;font-weight:600}
.sheet__allergy{margin-top:11px;font-size:13.5px;font-weight:700;color:var(--ink-2)}
.send-note{margin-top:-1px;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.sum__total small{font:700 12px var(--body);color:var(--ink-2)}
.legalnav{display:flex;flex-wrap:wrap;gap:4px 16px;width:min(1436px,100%);margin:16px auto 0;font-size:14px;font-weight:800}
.legalnav a{display:inline-grid;align-items:center;min-height:36px;color:#fff;text-underline-offset:3px}

/* Avisos */
.paused{padding:11px 14px;border-radius:16px;color:#fff;background:var(--grad-hero);font-weight:800;text-align:center}
.is-out{opacity:.62}
.is-out .card__img img{filter:grayscale(.8)}
.out{padding:1px 7px;border-radius:999px;color:#fff;background:var(--red);font:800 11.5px/1.4 var(--body);white-space:nowrap}
.size[disabled]{opacity:.5;cursor:not-allowed}
.seg--pay span span{font:700 14px/1.1 var(--head)}
.paysafe{display:flex;gap:6px;font-size:12.5px;font-weight:700;line-height:1.25;color:var(--green)}
.paysafe svg{width:17px;height:17px;margin-top:1px;stroke-width:2}
.paytest{padding:7px 10px;border-radius:11px;background:var(--gold-soft);font-size:12.5px;font-weight:700;line-height:1.28}
.info__pay{margin:8px 0 0;font-size:13.5px;font-weight:600}
.info__pay b{font-weight:900}

/* La moto que cruza la portada en móvil */
.ride{display:none}
.mbar__ic{display:none}

/* La mesa que espera */
.t-lamp{animation:lamp 3.4s ease-in-out infinite}
@keyframes lamp{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
.t-cloche{animation:cloche 4.2s var(--ease) infinite}
@keyframes cloche{0%,52%,100%{transform:rotate(0)}66%,82%{transform:rotate(-15deg)}}
.table-art .t-spark{transform-box:fill-box}
.t-spark{opacity:0;transform-origin:center;animation:spark 4.2s ease-in-out infinite}
.t-spark--2{animation-delay:.18s}
@keyframes spark{0%,58%,92%,100%{opacity:0;transform:scale(.3)}72%{opacity:1;transform:scale(1.25)}}
.t-st{opacity:0;animation:wisp2 2.8s ease-out infinite}
.t-st--2{animation-delay:1.3s}
@keyframes wisp2{0%{opacity:0;transform:translateY(6px)}35%{opacity:.8}100%{opacity:0;transform:translateY(-10px)}}

/* Carta impresa */
.carta{width:min(96vw,760px);max-height:94dvh;padding:0;border:0;border-radius:16px;background:#1c120c;overflow:auto}
.carta::backdrop{background:rgba(25,14,8,.82)}
.carta[open]{animation:sheetIn .34s var(--ease)}
.carta .iconbtn{position:sticky;top:8px;float:right;margin:8px 8px -52px 0;z-index:2;background:#fff}
.carta img{width:100%}

/* ═══ Pie: el gran bloque verde ═══ */
.info{position:relative;padding:32px clamp(14px,3vw,32px) 22px;color:#fff;background:var(--zellige) 0 0/64px,var(--grad-foot)}
.info::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--flag)}
.info__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;width:min(1436px,100%);margin-inline:auto}
.foot summary{list-style:none;cursor:default}
.foot summary::-webkit-details-marker{display:none}
.info h2{margin-bottom:8px;font:800 20px/1.1 var(--head);color:var(--gold-l)}
.info address{font-weight:700}
.info address a{text-decoration:none}
.info address a:hover{text-decoration:underline}
.info__phones{display:flex;flex-wrap:wrap;gap:4px 16px;margin:6px 0 10px}
.info__phones a{font:800 19px var(--head);text-decoration:none}
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}
.tags li{padding:2px 9px;border-radius:999px;background:rgba(0,0,0,.2);font-size:12.5px;font-weight:700}
.hours li{display:flex;justify-content:space-between;gap:8px;margin-inline:-7px;padding:2px 7px;border-radius:8px;font-size:14px;font-weight:600}
.hours li.is-today{background:rgba(255,255,255,.18);font-weight:800}
.hours li span{white-space:nowrap}
.zones li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:14.5px;font-weight:600}
.zones b{font-weight:800}
.link{margin-top:10px;min-height:40px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.score{display:flex;align-items:center;gap:10px;margin-bottom:8px;text-decoration:none;font-size:13px;font-weight:700}
.score>b{font:800 38px/1 var(--head);color:var(--gold-l)}
.stars{position:relative;display:block;width:96px;height:17px;font:normal 16px/17px sans-serif;letter-spacing:3px;color:rgba(255,255,255,.3)}
.stars::before{content:"★★★★★"}
.stars::after{content:"★★★★★";position:absolute;left:0;top:0;width:calc(var(--v)*100%);overflow:hidden;white-space:nowrap;color:var(--gold)}
.info blockquote{margin-top:6px;font-size:14px;line-height:1.3;font-weight:600}
.info cite{display:block;font-size:12.5px;font-style:normal;font-weight:800;opacity:.9}
.reelbox{width:min(1436px,100%);margin:20px auto 0}
.reelbox__head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin-bottom:6px}
.reelbox__head h2{margin:0;font:800 21px/1.1 var(--head);color:var(--gold-l)}
.reelbox__head a{font-size:13.5px;font-weight:800;text-underline-offset:3px}
.reel__pause{display:inline-flex;align-items:center;gap:5px;min-height:40px;margin-left:auto;padding:4px 12px 4px 9px;border-radius:999px;background:rgba(255,255,255,.14);font-size:13.5px;font-weight:800;transition:background .2s}
.reel__pause:hover{background:rgba(255,255,255,.26)}
.reel__pause svg{width:17px;height:17px;stroke-width:2.8}
.reel{overflow-x:auto;scrollbar-width:none;padding-block:12px 14px;border-radius:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);overscroll-behavior-x:contain}
.reel::-webkit-scrollbar{display:none}
.reel__track,.reel__set{display:flex;width:max-content}
.reel__set{gap:12px;padding-right:12px}
.rcard{position:relative;flex:none;height:176px;margin:0;border-radius:18px;overflow:hidden;box-shadow:0 8px 20px rgba(0,30,15,.32);transform:translateY(calc(var(--o)*5px));transition:transform .3s var(--spring),box-shadow .3s}
.rcard:hover{transform:translateY(calc(var(--o)*5px - 5px)) scale(1.02);box-shadow:0 14px 28px rgba(0,30,15,.42)}
.rq{display:flex;flex-direction:column;width:292px;padding:12px 15px 11px;color:var(--ink);background:linear-gradient(160deg,#fffdf8,#fff1cf)}
.rq__mark{position:absolute;right:10px;top:-8px;font:800 72px/1 var(--head);color:#f6b73c;opacity:.45;pointer-events:none}
.rq__stars{display:flex;gap:1px;margin-bottom:2px;font-size:16px;line-height:1;color:#f0a81e}
.rq__stars i{font-style:normal}
.rq blockquote{flex:1;display:flex;align-items:center;margin:0;font-size:14.5px;font-weight:700;line-height:1.28}
.rq figcaption{margin-top:3px;font:800 13px/1.1 var(--head);color:var(--red)}
.rp{width:234px;background:rgba(0,0,0,.2)}
.rp img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.rp:hover img{transform:scale(1.06)}
.rp figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 10px 6px;background:linear-gradient(transparent,rgba(10,6,4,.7));font-size:11.5px;font-weight:700;text-align:right}
.rp--carta button{position:relative;display:block;width:100%;height:100%}
.rp--carta img{object-position:top}
.rp--carta span{position:absolute;left:8px;right:8px;bottom:8px;display:grid;place-items:center;min-height:38px;border-radius:999px;color:#fff;background:var(--grad-go);font:700 14px/1 var(--head)}
.info__legal{width:min(1436px,100%);margin:14px auto 0;font-size:12.5px;font-weight:600;opacity:.88}

/* Barra de pedido, vuelo y aviso */
.mbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:25;display:none;align-items:center;gap:10px;min-height:58px;padding:0 18px 0 10px;border-radius:999px;color:#fff;background:var(--grad-go);box-shadow:0 12px 28px rgba(0,60,30,.4);font:700 18px var(--head);animation:barIn .45s var(--spring)}
@keyframes barIn{from{opacity:0;transform:translateY(90px)}}
.mbar b{display:grid;place-items:center;min-width:38px;height:38px;border-radius:50%;color:var(--green);background:#fff;font-weight:800}
.mbar em{margin-left:auto;font-style:normal;font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
.fly{position:fixed;left:0;top:0;z-index:70;display:grid;place-items:center;width:44px;height:44px;margin:-22px;border-radius:50%;color:#fff;background:var(--grad-go) center/cover;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.28);pointer-events:none}
.fly[style*="background-image"]{background-color:#fff0c9}
.bump{animation:bump .45s var(--spring)}
@keyframes bump{35%{transform:scale(1.35)}}
.toast{position:fixed;left:50%;bottom:24px;z-index:80;max-width:min(92vw,420px);padding:10px 16px;border-radius:999px;color:#fff;background:var(--ink);font-weight:700;font-size:14.5px;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.35);transform:translate(-50%,20px);opacity:0;transition:.25s var(--ease);pointer-events:none}
.toast.is-on{transform:translate(-50%,0);opacity:1}

/* ═══ Adaptación ═══ */
@media (max-width:1300px){
  .offers__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .offer{flex-direction:row}
  .offer__img{width:44%;flex:none;aspect-ratio:auto;min-height:104px}
  .offer__img img{position:absolute;inset:0}
  .offer__body{align-content:center}
}
@media (max-width:1240px){
  .shop{grid-template-columns:minmax(0,1fr) 330px}
  .side{display:none}
  .chips{display:flex;justify-content:center}
  .chips .tab{flex:0 1 92px}
  .status__long{display:none}
}
@media (max-width:900px){
  :root{--top:58px}
  /* Cabecera: nombre, estado y dos acciones claras */
  .top{gap:8px;padding-inline:10px}
  .top__id{flex:1;gap:0;position:relative;min-height:46px}
  .sticker{width:44px;height:44px}
  .brand{gap:9px;align-self:stretch;align-items:flex-start;padding-top:1px}
  .brand__txt b{font-size:23px;line-height:1.05}
  .brand__txt small{display:none}
  .status{position:absolute;left:53px;bottom:0;padding:0;background:none!important;font-size:12.5px;gap:5px}
  .status__long{display:inline;font-weight:700}
  .status i{width:7px;height:7px}
  .top__call span{display:none}
  .top__call{padding:0}
  .top__btn--search{display:inline-grid}
  .search{display:none;position:absolute;inset:6px 8px 9px;z-index:3;max-width:none;margin:0}
  .top.is-search .search{display:flex;animation:searchIn .25s var(--ease)}
  @keyframes searchIn{from{opacity:0;transform:scaleX(.92)}}
  .search input{height:43px;padding-right:48px;background:#fff;border-color:var(--green-2);font-size:16px}
  .search__x{position:absolute;right:3px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--ink-2)}
  .chips{justify-content:space-between}
  .chips{gap:2px;padding-inline:5px}
  .chips .tab{flex:1 1 0;min-width:0}
  .chips .tab__ic{width:clamp(42px,12.4vw,50px);height:clamp(42px,12.4vw,50px)}
  .tab__lb{padding:0 clamp(3px,1.2vw,7px);font-size:clamp(11px,3.1vw,12.5px)}
  .search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
  /* Portada breve: solo texto que importa */
  .shop{display:block;padding:9px 10px 92px}
  .main{gap:11px}
  .hero{display:block;padding:9px 13px 10px;border-radius:18px}
  .hero__eyebrow,.hero__dish,.hero__br{display:none}
  .hero h1{margin:0;font-size:clamp(15.5px,4.4vw,24px);line-height:1.12;text-wrap:initial}
  .facts{display:block;margin-top:3px;font-size:12.5px;line-height:1.3;color:#ffe9dc}
  .facts li{display:inline;padding:0;background:none;font-size:inherit;white-space:normal}
  .facts li+li::before{content:" · "}
  /* Ofertas: las cuatro a la vista */
  .offers__head{margin-bottom:6px;gap:7px}
  .offers__head h2{font-size:21px}
  .offers__head p{font-size:12px;line-height:1.15;flex:1;min-width:0}
  .offers__head p b{font-size:11.5px}
  .offers__row{gap:9px}
  .offer{flex-direction:column;border-radius:16px}
  .offer__img{width:100%;aspect-ratio:auto;height:clamp(58px,17vw,120px);min-height:0}
  .ribbon{top:5px;font-size:11px}
  .offer__body{padding:6px 9px 8px}
  .offer__body h3{font-size:16px}
  .offer__body p{font-size:11.5px}
  .offer__row{margin-top:2px;align-items:center;align-self:auto}
  .offer__price{font-size:19px}
  .offer__price small{font-size:10.5px}
  .offer .add{width:40px;height:40px}
  /* Productos */
  .list__head{margin-bottom:7px}
  .list__head h2{font-size:23px}
  .list__head:not(.list__head--pop){display:flex;align-items:baseline;gap:8px}
  .list__head:not(.list__head--pop) p{margin:0;font-size:13px}
  .list__head:not(.list__head--pop) blockquote{display:none}
  .list__head--pop{min-height:0;padding:9px 8px 9px 13px;border-radius:16px}
  .list__head blockquote{font-size:13.5px}
  .list__pop{width:86px;max-height:86px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:9px}
  .card{border-radius:17px}
  .card__body{padding:5px 10px 9px}
  .card__body h3{font-size:15.5px}
  .rows{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:8px}
  /* Pedido a pantalla casi completa */
  .cart{position:fixed;inset:0;z-index:50;height:auto;visibility:hidden;pointer-events:none;transition:visibility .32s}
  .cart.is-open{visibility:visible;pointer-events:auto}
  .cart__scrim{display:block;position:absolute;inset:0;background:rgba(40,22,12,.5);opacity:0;transition:opacity .28s}
  .cart.is-open .cart__scrim{opacity:1}
  .cart__panel{position:absolute;inset:auto 0 0;height:min(92dvh,100%);border-radius:24px 24px 0 0;transform:translateY(100%);transition:transform .34s var(--ease)}
  .cart.is-open .cart__panel{transform:none}
  .cart__head .iconbtn{display:grid}
  .cart__head{padding-top:4px}
  .grab{display:block;align-self:center;flex:none;width:42px;height:5px;margin:8px auto 4px;border-radius:9px;background:var(--line)}
  .sheet .grab{position:absolute;left:50%;top:0;margin-left:-21px;z-index:2}
  .qty button{width:42px;height:40px}
  .mbar{display:flex}
  .mbar__ic{display:none;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--red);background:var(--red-soft)}
  .mbar.is-empty{color:var(--ink);background:#fff;box-shadow:0 10px 26px rgba(90,50,15,.26),inset 0 0 0 1.5px var(--line)}
  .mbar.is-empty .mbar__ic{display:grid}
  .mbar.is-empty b,.mbar.is-empty em{display:none}
  .ride{position:relative;display:block;container-type:inline-size;height:44px;margin:4px -13px -10px;overflow:hidden;border-radius:0 0 18px 18px;background:linear-gradient(transparent 80%,rgba(70,5,5,.3) 80%)}
  .ride::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:repeating-linear-gradient(90deg,#ffe08a 0 10px,transparent 10px 20px);animation:rideRoad .5s linear infinite}
  @keyframes rideRoad{to{background-position:-20px 0}}
  .ride__bike{position:absolute;left:0;bottom:5px;display:block;width:56px;height:40px;animation:rideAcross 7s linear infinite}
  @keyframes rideAcross{from{transform:translateX(-70px)}to{transform:translateX(calc(100cqw + 20px))}}
  .scene--rider{overflow:visible}
  .toast{bottom:80px;font-size:13.5px}
  .sheet{margin:auto 0 0;width:100%;max-width:100%;border-radius:24px 24px 0 0;max-height:92dvh}
  @keyframes sheetIn{from{transform:translateY(100%)}}
  /* Pie plegado */
  .info{padding:20px 14px 90px}
  .info__grid{grid-template-columns:minmax(0,1fr);gap:0}
  .foot{border-bottom:1px solid rgba(255,255,255,.2)}
  .foot summary{display:flex;align-items:center;justify-content:space-between;min-height:50px;cursor:pointer}
  .foot summary h2{margin:0;font-size:18px}
  .foot summary::after{content:"";width:9px;height:9px;margin-right:4px;border:solid var(--gold-l);border-width:0 2.5px 2.5px 0;transform:rotate(45deg);transition:transform .25s var(--ease)}
  .foot[open] summary::after{transform:rotate(-135deg)}
  .foot[open]{padding-bottom:14px}
}
@media (max-width:350px){
  .status__long{display:none}
  .chips{gap:0;padding-inline:2px}
  .tab__lb{padding:0 2px;font-size:10.5px}
}
/* Con "reducir movimiento" (activo en muchos modos de ahorro) se apaga lo que se desplaza,
   pero siguen las animaciones pequeñas, en su sitio: ruedas, vapor, pasos y farol. */
@media (prefers-reduced-motion:reduce){
  *:not(.m-wheel,.m-body,.m-box,.m-st,.m-puff,.w-leg,.w-arm,.w-bag,.t-lamp,.t-st,.t-spark,.t-cloche,.mini-steam),
  *::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1}
  .sc-town,.sc-road,.m-drive,.w-man,.ride::after{animation:none!important}
  .ride__bike{animation:none!important;transform:translateX(calc(100cqw - 90px))}
}
