/* Temporadas del menú: Halloween y Día de Muertos. Se activan con html[data-theme]. */

/* ---------- capas decorativas (las llena app.js) ---------- */
.theme-layer,.theme-fly,.theme-scene,.theme-fixed{position:absolute;pointer-events:none}
.theme-layer{inset:0;overflow:hidden;z-index:0}
.theme-fly{inset:0;overflow:hidden;z-index:3}
.theme-scene{inset:-40px -14px -4px;z-index:0}
.theme-scene.front{z-index:2}
.theme-fixed{position:fixed;inset:0;overflow:hidden;display:none;pointer-events:none;z-index:3}
#menu-app:not([hidden])~.theme-fixed{display:block}
.menu-main{position:relative;z-index:1}
.menu-bar,.theme-banner{position:relative;z-index:2}
.welcome-logo,.combi-scene{position:relative;z-index:1}
.deco{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:auto;transform:translate(-50%,-50%) rotate(var(--r,0deg));user-select:none}
.deco.bob{animation:bob var(--dur,3.4s) ease-in-out var(--delay,0s) infinite}
.deco.sway{animation:swayd var(--dur,4s) ease-in-out var(--delay,0s) infinite alternate;transform-origin:50% 0}
.deco.pulse{animation:pulse var(--dur,3s) ease-in-out var(--delay,0s) infinite alternate}
.deco.santa-flight{top:17%;left:135%;animation:santaFlight var(--dur,30s) linear infinite,santaBob 2.4s ease-in-out infinite alternate;filter:drop-shadow(0 5px 5px #07142f55);z-index:0}
.deco.flipx{--sx:-1}
.deco.flip{transform:translate(-50%,-50%) rotate(var(--r,0deg)) scaleX(-1)}
.fly{position:absolute;top:var(--y);left:0;width:var(--w);animation:flyx var(--dur,14s) linear var(--delay,0s) infinite;will-change:transform}
.fly img{display:block;width:100%;animation:wob var(--wob,1.6s) ease-in-out infinite}
.fly.back{animation-direction:reverse}
.star{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--w);border-radius:50%;background:#fff;opacity:.2;animation:twinkle var(--dur,2.4s) ease-in-out var(--delay,0s) infinite alternate}
.rise{position:absolute;left:var(--x);top:105%;width:var(--w);height:auto;animation:rise var(--dur,9s) linear var(--delay,0s) infinite;opacity:0}
.fly.calm img{animation:none}
.hero-wave{position:absolute;left:0;right:0;bottom:30px;height:44px;background:url(/assets/theme/wave.svg) repeat-x 0 0;background-size:auto 44px;animation:waveDrift 12s linear infinite}
.petal{position:absolute;left:var(--x);top:-10%;width:var(--w);height:auto;animation:fall var(--dur,9s) linear var(--delay,0s) infinite;opacity:.95}
@keyframes bob{0%,100%{transform:translate(-50%,-50%) rotate(var(--r,0deg))}50%{transform:translate(-50%,calc(-50% - 8px)) rotate(var(--r,0deg))}}
@keyframes swayd{from{transform:translate(-50%,-50%) rotate(calc(var(--r,0deg) - 4deg))}to{transform:translate(-50%,-50%) rotate(calc(var(--r,0deg) + 4deg))}}
@keyframes pulse{from{transform:translate(-50%,-50%) rotate(var(--r,0deg)) scale(1)}to{transform:translate(-50%,-50%) rotate(var(--r,0deg)) scale(1.06)}}
/* El trineo cruza el cielo de derecha a izquierda (los renos van al frente), despacio, y descansa fuera de pantalla antes de volver a pasar. */
@keyframes santaFlight{0%{left:135%;transform:translate(-50%,-50%) rotate(2deg)}62%{left:-35%;transform:translate(-50%,-50%) rotate(-2deg)}100%{left:-35%;transform:translate(-50%,-50%) rotate(-2deg)}}
@keyframes santaBob{from{translate:0 -7px}to{translate:0 7px}}
@keyframes flyx{from{transform:translateX(-30vw)}to{transform:translateX(130vw)}}
@keyframes wob{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes twinkle{from{opacity:.15;transform:scale(.7)}to{opacity:.95;transform:scale(1.15)}}
@keyframes fall{from{top:-10%;transform:translateX(0) rotate(0)}to{top:104%;transform:translateX(var(--dx,40px)) rotate(320deg)}}
@keyframes drift{to{background-position-x:441px}}
@keyframes rise{0%{top:105%;opacity:0;transform:translateX(0) scale(.8)}10%{opacity:.95}100%{top:-14%;opacity:.8;transform:translateX(var(--dx,30px)) scale(1.1)}}
@keyframes waveDrift{to{background-position-x:200px}}
@keyframes riseSoft{0%{top:105%;opacity:0;transform:translateX(0) scale(.8)}12%{opacity:.5}100%{top:-14%;opacity:.3;transform:translateX(var(--dx,30px)) scale(1.05)}}
.theme-fixed .rise{animation-name:riseSoft}
@media (prefers-reduced-motion:reduce){
  .deco,.fly img,.star,.petal,.theme-banner{animation:none!important}
  .deco.santa-flight{left:68%}
  .fly,.petal,.rise{display:none}
  .hero-wave{animation:none}
}

/* ---------- franja superior de la portada ---------- */
.hero-strip{position:absolute;left:0;right:0;top:0;background-repeat:repeat-x;background-position:0 0}
html[data-theme=halloween] .hero-strip{height:46px;background-image:url(/assets/theme/banderines.svg);background-size:auto 46px}
html[data-theme=muertos] .hero-strip{height:70px;background-image:url(/assets/theme/papel-picado.svg);background-size:auto 70px;animation:drift 38s linear infinite}
html[data-theme=halloween] .welcome-hero{padding-top:56px}
html[data-theme=muertos] .welcome-hero{padding-top:78px}
html[data-theme=muertos] .welcome-hero .combi-scene{margin-top:34px}
html[data-theme=muertos] .deco.crown{filter:saturate(1.35) contrast(1.05);opacity:1}
html[data-theme=muertos] .deco.xolo{filter:saturate(1.7) brightness(1.3) contrast(1.08) drop-shadow(0 0 9px #ffd27add)}
html[data-theme=halloween] .welcome-hero .combi-scene{margin-top:10px}

/* ---------- fila decorativa al final del menú ---------- */
.footer-deco{display:flex;justify-content:center;align-items:flex-end;flex-wrap:wrap;gap:6px 14px;margin:30px 0 2px}
.footer-deco img{width:var(--w);height:auto;animation:bobi var(--dur,3s) ease-in-out var(--delay,0s) infinite}
@keyframes bobi{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (prefers-reduced-motion:reduce){.footer-deco img{animation:none}}

/* ---------- barra y banderines del menú ---------- */
.menu-bar{width:100%}
.theme-banner{display:none;pointer-events:none}

/* =================== HALLOWEEN =================== */
html[data-theme=halloween]{--paper:#fff3e2;--ink:#2b1b3d;--blue:#7b3fb5;--blue-dark:#4a2178;--gold:#f57c00;--line:#efd3b0;--muted:#7a6290}
html[data-theme=halloween] body{background-color:var(--paper);background-image:url(/assets/theme/pattern-halloween.svg);background-size:230px 240px}
html[data-theme=halloween] .welcome{background:#1d0f33}
html[data-theme=halloween] .welcome-hero{background:radial-gradient(ellipse at 74% 20%,#7a46b8 0%,transparent 52%),linear-gradient(180deg,#2b1055 0%,#47197a 55%,#c2410c 135%)}
html[data-theme=halloween] .scene-sun{background:transparent}
html[data-theme=halloween] .road{background:linear-gradient(90deg,transparent,#ffb74d99,transparent);height:2px}
html[data-theme=halloween] .welcome-logo{filter:drop-shadow(0 4px 14px #00000066)}
html[data-theme=halloween] .welcome-body .eyebrow,html[data-theme=halloween] .welcome-body .welcome-demo{color:#ffcf99}
html[data-theme=halloween] .welcome-body h1{color:#ffb74d;text-shadow:0 2px 0 #00000055}
html[data-theme=halloween] .menu-bar{background:linear-gradient(90deg,#2b1055,#5b2a86 60%,#7b3fb5);box-shadow:0 6px 18px #2b105544}
html[data-theme=halloween] .menu-header{border-bottom:0;color:#fff}
html[data-theme=halloween] .header-title strong{color:#fff}
html[data-theme=halloween] .header-title span{color:#ffd8a8}
html[data-theme=halloween] .languages{background:#ffffff26}
html[data-theme=halloween] .languages button{color:#fff}
html[data-theme=halloween] .languages button[aria-pressed=true]{background:#ff8a1f;color:#2a1745}
html[data-theme=halloween] .theme-banner{display:block;height:46px;margin-top:-1px;background:url(/assets/theme/banderines.svg) repeat-x left top;background-size:auto 46px}
html[data-theme=halloween] .theme-banner::before,html[data-theme=halloween] .theme-banner::after{content:'';position:absolute;top:0;width:96px;height:96px;background:url(/assets/theme/cobweb.svg) left top/contain no-repeat;opacity:.9}
html[data-theme=halloween] .theme-banner::before{left:0}
html[data-theme=halloween] .theme-banner::after{right:0;transform:scaleX(-1)}
html[data-theme=halloween] .demo{color:var(--muted)}
html[data-theme=halloween] .search{background:#fff9f0;border-color:var(--line)}
html[data-theme=halloween] .carta-cat-name{display:inline-flex;align-items:center;gap:9px;color:#4a2178}
html[data-theme=halloween] .carta-cat-name::before{content:'';width:26px;height:24px;flex:none;background:url(/assets/theme/pumpkin.svg) center/contain no-repeat}
html[data-theme=halloween] .carta-cat-name::after{content:'';width:30px;height:15px;flex:none;background:url(/assets/theme/bat.svg) center/contain no-repeat}
html[data-theme=halloween] .carta-line{background:repeating-linear-gradient(90deg,#f5a65b 0 7px,transparent 7px 13px);height:2px}
html[data-theme=halloween] .carta-dish-dots{border-bottom-color:#e0a46a}
html[data-theme=halloween] .carta-dish-price{color:#c2410c}
html[data-theme=halloween] .cart-bar{background:#4a2178;box-shadow:0 10px 30px #4a217866}
html[data-theme=halloween] .menu-intro h1{color:#4a2178}

/* =================== DÍA DE MUERTOS =================== */
html[data-theme=muertos]{--paper:#fff5e1;--ink:#34163f;--blue:#c2185b;--blue-dark:#8e1a62;--gold:#f59e0b;--line:#f2d7ab;--muted:#7d5a74}
html[data-theme=muertos] body{background-color:var(--paper);background-image:url(/assets/theme/pattern-muertos.svg);background-size:230px 240px}
html[data-theme=muertos] .welcome{background:#3a1550}
html[data-theme=muertos] .welcome-hero{background:radial-gradient(ellipse at 50% 70%,#f59e0b66 0%,transparent 55%),linear-gradient(180deg,#3d1659 0%,#7d2a78 52%,#e8820c 135%)}
html[data-theme=muertos] .scene-sun{background:#ffd54f55;box-shadow:0 0 60px 30px #ffb30055}
html[data-theme=muertos] .road{background:linear-gradient(90deg,transparent,#ffd54fcc,transparent);height:2px}
html[data-theme=muertos] .welcome-logo{filter:drop-shadow(0 4px 14px #00000066)}
html[data-theme=muertos] .welcome-body .eyebrow,html[data-theme=muertos] .welcome-body .welcome-demo{color:#ffd9a0}
html[data-theme=muertos] .welcome-body h1{color:#ffc857;text-shadow:0 2px 0 #00000055}
html[data-theme=muertos] .menu-bar{background:linear-gradient(90deg,#3d1659,#8e2a7a 60%,#c2185b);box-shadow:0 6px 18px #3d165944}
html[data-theme=muertos] .menu-header{border-bottom:0;color:#fff}
html[data-theme=muertos] .header-title strong{color:#fff}
html[data-theme=muertos] .header-title span{color:#ffd9a0}
html[data-theme=muertos] .languages{background:#ffffff26}
html[data-theme=muertos] .languages button{color:#fff}
html[data-theme=muertos] .languages button[aria-pressed=true]{background:#f59e0b;color:#34163f}
html[data-theme=muertos] .theme-banner{display:block;height:70px;margin-top:-1px;background:url(/assets/theme/papel-picado.svg) repeat-x 0 0;background-size:auto 70px;animation:drift 38s linear infinite}
html[data-theme=muertos] .demo{color:var(--muted)}
html[data-theme=muertos] .search{background:#fffaf0;border-color:var(--line)}
html[data-theme=muertos] .carta-cat-name{display:inline-flex;align-items:center;gap:9px;color:#8e1a62}
html[data-theme=muertos] .carta-cat-name::before{content:'';width:26px;height:26px;flex:none;background:url(/assets/theme/marigold.svg) center/contain no-repeat}
html[data-theme=muertos] .carta-cat-name::after{content:'';width:22px;height:26px;flex:none;background:url(/assets/theme/skull.svg) center/contain no-repeat}
html[data-theme=muertos] .carta-line{background:repeating-linear-gradient(90deg,#f59e0b 0 6px,transparent 6px 12px);height:2px}
html[data-theme=muertos] .carta-dish-dots{border-bottom-color:#e8b46a}
html[data-theme=muertos] .carta-dish-price{color:#b3135e}
html[data-theme=muertos] .cart-bar{background:#8e1a62;box-shadow:0 10px 30px #8e1a6266}
html[data-theme=muertos] .menu-intro h1{color:#8e1a62}


/* =================== NAVIDAD =================== */
html[data-theme=navidad]{--paper:#fff7ee;--ink:#2a1a1a;--blue:#c62828;--blue-dark:#8e1b1b;--gold:#e0a800;--line:#f0d6c0;--muted:#7a5c52}
html[data-theme=navidad] body{background-color:var(--paper);background-image:url(/assets/theme/pattern-navidad.svg);background-size:230px 240px}
html[data-theme=navidad] .welcome{background:#123a2b}
html[data-theme=navidad] .welcome-hero{background:radial-gradient(ellipse at 22% 16%,#2f4f94 0%,transparent 55%),linear-gradient(180deg,#0b1f3f 0%,#1b3a6b 55%,#8a2342 135%);padding-top:64px}
html[data-theme=navidad] .hero-strip{height:48px;background-image:url(/assets/theme/lights.svg);background-size:auto 48px}
html[data-theme=navidad] .scene-sun{background:transparent}
html[data-theme=navidad] .road{background:linear-gradient(90deg,transparent,#ffffffaa,transparent);height:2px}
html[data-theme=navidad] .welcome-logo{filter:drop-shadow(0 4px 14px #00000066)}
html[data-theme=navidad] .welcome-body .eyebrow,html[data-theme=navidad] .welcome-body .welcome-demo{color:#cfe8d8}
html[data-theme=navidad] .welcome-body h1{color:#ffd166;text-shadow:0 2px 0 #00000055}
html[data-theme=navidad] .menu-bar{background:linear-gradient(90deg,#8e1b1b,#c62828 55%,#1b6b3a);box-shadow:0 6px 18px #8e1b1b44}
html[data-theme=navidad] .menu-header{border-bottom:0;color:#fff}
html[data-theme=navidad] .header-title strong{color:#fff}
html[data-theme=navidad] .header-title span{color:#ffe3a8}
html[data-theme=navidad] .languages{background:#ffffff26}
html[data-theme=navidad] .languages button{color:#fff}
html[data-theme=navidad] .languages button[aria-pressed=true]{background:#ffd166;color:#4a1010}
html[data-theme=navidad] .theme-banner{display:block;height:48px;margin-top:-1px;background:url(/assets/theme/lights.svg) repeat-x left top;background-size:auto 48px}
html[data-theme=navidad] .demo{color:var(--muted)}
html[data-theme=navidad] .search{background:#fffaf4;border-color:var(--line)}
html[data-theme=navidad] .carta-cat-name{display:inline-flex;align-items:center;gap:9px;color:#8e1b1b}
html[data-theme=navidad] .carta-cat-name::before{content:'';width:32px;height:25px;flex:none;background:url(/assets/theme/holly.svg) center/contain no-repeat}
html[data-theme=navidad] .carta-cat-name::after{content:'';width:15px;height:26px;flex:none;background:url(/assets/theme/ornament-red.svg) center/contain no-repeat}
html[data-theme=navidad] .carta-line{background:repeating-linear-gradient(90deg,#c62828 0 8px,#2e9e5b 8px 16px);height:3px;border-radius:2px}
html[data-theme=navidad] .carta-dish-dots{border-bottom-color:#d9b9a0}
html[data-theme=navidad] .carta-dish-price{color:#b71c1c}
html[data-theme=navidad] .cart-bar{background:#8e1b1b;box-shadow:0 10px 30px #8e1b1b66}
html[data-theme=navidad] .menu-intro h1{color:#8e1b1b}

/* =================== PASCUA =================== */
html[data-theme=pascua]{--paper:#fffaf3;--ink:#3b2a55;--blue:#9b6bd0;--blue-dark:#6a42a8;--gold:#f4a6c8;--line:#ecdcf0;--muted:#8a7399}
html[data-theme=pascua] body{background-color:var(--paper);background-image:url(/assets/theme/pattern-pascua.svg);background-size:230px 240px}
html[data-theme=pascua] .welcome{background:#5a3f94}
html[data-theme=pascua] .welcome-hero{background:linear-gradient(180deg,#a8d8ff 0%,#d9e4ff 50%,#ffd9ec 110%);padding-top:78px}
html[data-theme=pascua] .hero-strip{height:62px;background-image:url(/assets/theme/egg-garland.svg);background-size:auto 62px}
html[data-theme=pascua] .scene-sun{background:#fff6a0aa;box-shadow:0 0 70px 40px #fff2a066}
html[data-theme=pascua] .road{background:linear-gradient(90deg,transparent,#ffffffcc,transparent);height:2px}
html[data-theme=pascua] .welcome-body .eyebrow,html[data-theme=pascua] .welcome-body .welcome-demo{color:#f0e0ff}
html[data-theme=pascua] .welcome-body h1{color:#ffe38a;text-shadow:0 2px 0 #00000044}
html[data-theme=pascua] .menu-bar{background:linear-gradient(90deg,#8e6bd0,#c06bd0 55%,#f06fa8);box-shadow:0 6px 18px #8e6bd044}
html[data-theme=pascua] .menu-header{border-bottom:0;color:#fff}
html[data-theme=pascua] .header-title strong{color:#fff}
html[data-theme=pascua] .header-title span{color:#fff0c2}
html[data-theme=pascua] .languages{background:#ffffff30}
html[data-theme=pascua] .languages button{color:#fff}
html[data-theme=pascua] .languages button[aria-pressed=true]{background:#ffe38a;color:#3b2a55}
html[data-theme=pascua] .theme-banner{display:block;height:62px;margin-top:-1px;background:url(/assets/theme/egg-garland.svg) repeat-x left top;background-size:auto 62px}
html[data-theme=pascua] .demo{color:var(--muted)}
html[data-theme=pascua] .search{background:#fffdfb;border-color:var(--line)}
html[data-theme=pascua] .carta-cat-name{display:inline-flex;align-items:center;gap:9px;color:#6a42a8}
html[data-theme=pascua] .carta-cat-name::before{content:'';width:19px;height:25px;flex:none;background:url(/assets/theme/egg-pink.svg) center/contain no-repeat}
html[data-theme=pascua] .carta-cat-name::after{content:'';width:15px;height:30px;flex:none;background:url(/assets/theme/tulip-pink.svg) center/contain no-repeat}
html[data-theme=pascua] .carta-line{background:repeating-linear-gradient(90deg,#f4a6c8 0 8px,#b9a3f0 8px 16px,#9fd8ff 16px 24px);height:3px;border-radius:2px}
html[data-theme=pascua] .carta-dish-dots{border-bottom-color:#d9c2e8}
html[data-theme=pascua] .carta-dish-price{color:#b13a82}
html[data-theme=pascua] .cart-bar{background:#6a42a8;box-shadow:0 10px 30px #6a42a866}
html[data-theme=pascua] .menu-intro h1{color:#6a42a8}

/* =================== AMOR Y AMISTAD =================== */
html[data-theme=amor]{--paper:#fff0f5;--ink:#4a1530;--blue:#d81b60;--blue-dark:#a3124d;--gold:#ff7aa8;--line:#f6cfe0;--muted:#8e5f77}
html[data-theme=amor] body{background-color:var(--paper);background-image:url(/assets/theme/pattern-amor.svg);background-size:230px 240px}
html[data-theme=amor] .welcome{background:#5c1038}
html[data-theme=amor] .welcome-hero{background:radial-gradient(ellipse at 50% 62%,#ffb3d066 0%,transparent 55%),linear-gradient(180deg,#ff7aa8 0%,#d81b60 55%,#6a1b9a 135%);padding-top:70px}
html[data-theme=amor] .hero-strip{height:54px;background-image:url(/assets/theme/heart-garland.svg);background-size:auto 54px}
html[data-theme=amor] .scene-sun{background:#ffd1e355;box-shadow:0 0 60px 30px #ffc2dc55}
html[data-theme=amor] .road{background:linear-gradient(90deg,transparent,#ffd1e3cc,transparent);height:2px}
html[data-theme=amor] .welcome-logo{filter:drop-shadow(0 4px 14px #00000055)}
html[data-theme=amor] .welcome-body .eyebrow,html[data-theme=amor] .welcome-body .welcome-demo{color:#ffd3e4}
html[data-theme=amor] .welcome-body h1{color:#ffc2da;text-shadow:0 2px 0 #00000055}
html[data-theme=amor] .menu-bar{background:linear-gradient(90deg,#c2185b,#e91e63 55%,#8e44d6);box-shadow:0 6px 18px #c2185b44}
html[data-theme=amor] .menu-header{border-bottom:0;color:#fff}
html[data-theme=amor] .header-title strong{color:#fff}
html[data-theme=amor] .header-title span{color:#ffd9e8}
html[data-theme=amor] .languages{background:#ffffff2a}
html[data-theme=amor] .languages button{color:#fff}
html[data-theme=amor] .languages button[aria-pressed=true]{background:#ffd1e3;color:#6a0f3a}
html[data-theme=amor] .theme-banner{display:block;height:54px;margin-top:-1px;background:url(/assets/theme/heart-garland.svg) repeat-x left top;background-size:auto 54px}
html[data-theme=amor] .demo{color:var(--muted)}
html[data-theme=amor] .search{background:#fff8fb;border-color:var(--line)}
html[data-theme=amor] .carta-cat-name{display:inline-flex;align-items:center;gap:9px;color:#a3124d}
html[data-theme=amor] .carta-cat-name::before{content:'';width:26px;height:24px;flex:none;background:url(/assets/theme/heart-red.svg) center/contain no-repeat}
html[data-theme=amor] .carta-cat-name::after{content:'';width:25px;height:25px;flex:none;background:url(/assets/theme/coffee-heart.svg) center/contain no-repeat}
html[data-theme=amor] .carta-line{background:repeating-linear-gradient(90deg,#ff5e9a 0 6px,transparent 6px 12px);height:2px}
html[data-theme=amor] .carta-dish-dots{border-bottom-color:#eeaac6}
html[data-theme=amor] .carta-dish-price{color:#b0124a}
html[data-theme=amor] .cart-bar{background:#a3124d;box-shadow:0 10px 30px #a3124d66}
html[data-theme=amor] .menu-intro h1{color:#a3124d}

/* =================== VERANO =================== */
html[data-theme=verano]{--paper:#fffaf0;--ink:#0b3a45;--blue:#0ea5b7;--blue-dark:#0b7285;--gold:#ffb703;--line:#f1dfb8;--muted:#4f7580}
html[data-theme=verano] body{background-color:var(--paper);background-image:url(/assets/theme/pattern-verano.svg);background-size:230px 240px}
html[data-theme=verano] .welcome{background:#0a4f63}
html[data-theme=verano] .welcome-hero{background:linear-gradient(180deg,#5fcff0 0%,#a9ecff 55%,#ffe9a8 125%)}
html[data-theme=verano] .scene-sun{background:transparent}
html[data-theme=verano] .road{background:linear-gradient(90deg,transparent,#ffffffcc,transparent);height:2px}
html[data-theme=verano] .welcome-body .eyebrow,html[data-theme=verano] .welcome-body .welcome-demo{color:#bfeaf2}
html[data-theme=verano] .welcome-body h1{color:#ffe27a;text-shadow:0 2px 0 #00000044}
html[data-theme=verano] .menu-bar{background:linear-gradient(90deg,#0b7285,#0ea5b7 55%,#ff8c5a);box-shadow:0 6px 18px #0b728544}
html[data-theme=verano] .menu-header{border-bottom:0;color:#fff}
html[data-theme=verano] .header-title strong{color:#fff}
html[data-theme=verano] .header-title span{color:#fff0b8}
html[data-theme=verano] .languages{background:#ffffff2a}
html[data-theme=verano] .languages button{color:#fff}
html[data-theme=verano] .languages button[aria-pressed=true]{background:#ffd23f;color:#0b3a45}
html[data-theme=verano] .theme-banner{display:block;height:44px;margin-top:-1px;background:url(/assets/theme/wave.svg) repeat-x 0 0;background-size:auto 44px;animation:waveDrift 12s linear infinite}
html[data-theme=verano] .demo{color:var(--muted)}
html[data-theme=verano] .search{background:#fffdf7;border-color:var(--line)}
html[data-theme=verano] .carta-cat-name{display:inline-flex;align-items:center;gap:9px;color:#0b7285}
html[data-theme=verano] .carta-cat-name::before{content:'';width:27px;height:27px;flex:none;background:url(/assets/theme/sun.svg) center/contain no-repeat}
html[data-theme=verano] .carta-cat-name::after{content:'';width:15px;height:27px;flex:none;background:url(/assets/theme/iced-coffee.svg) center/contain no-repeat}
html[data-theme=verano] .carta-line{background:repeating-linear-gradient(90deg,#ffb703 0 7px,#0ea5b7 7px 14px);height:3px;border-radius:2px}
html[data-theme=verano] .carta-dish-dots{border-bottom-color:#e6cf96}
html[data-theme=verano] .carta-dish-price{color:#0b7285}
html[data-theme=verano] .cart-bar{background:#0b7285;box-shadow:0 10px 30px #0b728566}
html[data-theme=verano] .menu-intro h1{color:#0b7285}

/* los adornos nunca ensanchan la página */
.welcome{overflow-x:hidden}
.welcome-hero{overflow:hidden}

/* ---------- tacto, tableta y areas seguras (menu del cliente) ---------- */
.languages button{min-width:44px;min-height:44px;padding:8px 12px;font-size:12px}
.instagram{width:44px;height:44px;flex:none}
details.hours summary{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.close-dialog{width:44px;height:44px;top:12px;right:12px}
.stepper{gap:6px}
.stepper button{width:44px;height:44px;font-size:20px}
.stepper span{min-width:20px;text-align:center}
.milk-option,.service-option{min-height:48px;padding:6px 0;font-size:15px}
.milk-option input,.service-option input{width:22px;height:22px}
.cart-field{min-height:48px;font-size:16px}
footer a{display:inline-flex;align-items:center;min-height:44px}
dialog{max-height:90vh;max-height:90dvh;overscroll-behavior:contain}
.cart-bar{bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));min-height:52px;font-size:15px}
.cart-bar b{font-size:16px}
.menu-main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.cart-field,.search input{scroll-margin:96px 0 160px}
.carta-dish{min-height:44px}
.search input{font-size:16px}

/* Carta en dos columnas cuando hay espacio (tableta horizontal y computadora). */
@media(min-width:900px){
  .menu-main{max-width:1100px}
  #products.carta{max-width:none;column-count:2;column-gap:64px}
  #products.carta .carta-section{break-inside:avoid;margin-top:0;margin-bottom:34px}
  #products.carta>p{column-span:all}
}
/* Tableta vertical: carta centrada y con letra un poco mayor. */
@media(min-width:700px) and (max-width:899px){
  .carta-dish-desc{font-size:14px}
  .menu-intro h1{font-size:34px}
}
/* Dialogos en tableta horizontal (768 de alto): usan todo el alto y se desplazan. */
@media(max-height:820px){
  dialog{max-height:calc(100dvh - 16px)}
  .detail-body{padding:20px 22px}
}
/* Celular: las hojas inferiores respetan las muescas. */
@media(max-width:520px){
  dialog{width:calc(100% - 16px)}
  .menu-main{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
}
.carta-dish-desc{font-size:13px;max-width:92%}
.carta-head>span{font-size:10px}
.demo{font-size:12px}
.button{min-height:48px}
.carta-head{margin-bottom:22px}
.cart-actions{position:sticky;bottom:0;z-index:1;background:var(--paper);padding:10px 0 6px;margin-top:6px;box-shadow:0 -10px 10px -8px #3a302a24}
