:root{
  --bg:#0d0d0d;--panel:#161616;--panel-2:#202020;--text:#f6f1e8;--muted:#b7b0a6;
  --red:#e42127;--gold:#d6a65a;--line:rgba(214,166,90,.28);--shadow:0 24px 70px rgba(0,0,0,.45)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a{font:inherit}button{cursor:pointer}.shell{width:min(1160px,calc(100% - 32px));margin-inline:auto}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:radial-gradient(circle at 20% 10%,#fff 0 1px,transparent 1.4px),radial-gradient(circle at 80% 40%,#fff 0 1px,transparent 1.4px);background-size:19px 19px,27px 27px;mix-blend-mode:soft-light}
.hero{min-height:88vh;position:relative;display:grid;align-content:start;overflow:hidden;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.42)),url('../assets/images/poster-demo-hattrick.jpg') center/cover}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,var(--bg))}.hero__noise{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.012) 3px 4px)}.nav{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:22px 0}.brand img{width:min(330px,60vw);display:block}.cart-button{border:1px solid var(--line);background:rgba(13,13,13,.76);color:var(--text);border-radius:999px;padding:10px 14px;display:flex;gap:10px;align-items:center}.cart-count{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:var(--red);font-weight:800}.hero__content{position:relative;z-index:2;padding:10vh 0 18vh;max-width:760px}.eyebrow{margin:0 0 10px;color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:900}.hero h1,.section-heading h2,.product-modal h2,.cart-header h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;letter-spacing:.02em}.hero h1{font-size:clamp(3.5rem,10vw,7.8rem);line-height:.87;margin:0;max-width:800px;text-shadow:0 6px 30px rgba(0,0,0,.8)}.hero__text{font-size:clamp(1rem,2vw,1.25rem);color:#ddd4c8;max-width:560px;line-height:1.6;margin:24px 0 32px}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:0;border-radius:12px;background:var(--red);color:white;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.04em;box-shadow:0 12px 28px rgba(228,33,39,.24);transition:.2s transform,.2s filter}.primary-button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.menu{padding:80px 0 100px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:34px}.section-heading h2{font-size:clamp(2.6rem,6vw,5rem);margin:0}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid #343434;background:#151515;color:#d9d2c8;padding:9px 13px;border-radius:999px}.filter.is-active{background:var(--gold);color:#17120b;border-color:var(--gold);font-weight:800}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.dish-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--panel);min-height:430px;isolation:isolate;box-shadow:var(--shadow);cursor:pointer}.dish-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .55s ease,filter .35s ease}.dish-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.95) 100%);z-index:1}.dish-card:hover img{transform:scale(1.055);filter:saturate(1.08)}.dish-card__content{position:absolute;z-index:2;inset:auto 22px 22px;display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:end}.dish-card__category{grid-column:1/-1;color:var(--gold);text-transform:uppercase;font-size:.74rem;letter-spacing:.12em;font-weight:900}.dish-card h3{font-size:clamp(1.65rem,3vw,2.45rem);line-height:.95;margin:0;text-transform:uppercase}.dish-card__price{font-size:1.7rem;font-weight:1000;color:white;background:var(--red);padding:7px 12px;border-radius:10px}.dish-card__hint{grid-column:1/-1;color:#d8d1c8;font-size:.9rem}.dish-card.is-hidden{display:none}
.product-modal,.cart-drawer{border:1px solid var(--line);background:#101010;color:var(--text);padding:0;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.product-modal{width:min(840px,calc(100% - 24px));max-height:88vh;border-radius:24px;overflow:hidden;grid-template-columns:.95fr 1.05fr}.product-modal[open]{display:grid;animation:pop .22s ease}.product-modal__media{min-height:0;height:min(520px,88vh);background:#050505}.product-modal__media img{width:100%;height:100%;object-fit:cover}.product-modal__body{padding:28px 30px;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.product-modal h2{font-size:clamp(2.25rem,4.7vw,4rem);line-height:.9;margin:4px 0 14px}.modal-description{color:#d1c9bf;line-height:1.7}.ingredients{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}.ingredient{padding:7px 10px;border-radius:999px;background:#252525;color:#ddd5ca;font-size:.86rem;border:1px solid #343434}.modal-actions{margin-top:auto;display:grid;gap:12px;padding-bottom:2px}.modal-price{font-size:2.2rem;color:var(--gold)}.quantity-control{display:grid;grid-template-columns:48px 58px 48px;width:max-content;border:1px solid #393939;border-radius:12px;overflow:hidden}.quantity-control button,.quantity-control output{border:0;background:#191919;color:white;display:grid;place-items:center;height:44px}.quantity-control output{border-inline:1px solid #393939}.close-button{position:absolute;z-index:5;right:14px;top:14px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.62);color:white;font-size:1.8rem;line-height:1}.close-button.static{position:static}.cart-drawer{width:min(520px,calc(100% - 20px));height:min(760px,calc(100% - 20px));margin-right:10px;border-radius:24px;padding:24px}.cart-drawer[open]{display:flex;flex-direction:column;animation:slide .24s ease}.cart-header{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #2d2d2d;padding-bottom:18px}.cart-header h2{font-size:3rem;margin:0}.cart-items{display:grid;gap:12px;overflow:auto;padding:18px 4px 18px 0}.cart-item{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid #2c2c2c;border-radius:14px;background:#171717}.cart-item img{width:74px;height:64px;object-fit:cover;border-radius:10px}.cart-item h3{font-size:1rem;margin:0 0 4px}.cart-item small{color:var(--muted)}.remove-item{border:0;background:transparent;color:#ff777b;font-size:1.2rem}.cart-empty{color:var(--muted);padding:30px 0;text-align:center}.cart-footer{margin-top:auto;border-top:1px solid #2d2d2d;padding-top:18px;display:grid;gap:14px}.total-row{display:flex;justify-content:space-between;font-size:1.25rem}.wide{width:100%}.cart-footer small{color:var(--muted);line-height:1.45}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#f4eee5;color:#17120f;padding:12px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:20;font-weight:800}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slide{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.hero{min-height:78vh}.nav{padding-top:14px}.brand img{width:220px}.hero__content{padding-top:9vh}.section-heading{align-items:start;flex-direction:column}.filters{justify-content:flex-start}.menu-grid{grid-template-columns:1fr}.dish-card{min-height:390px}.product-modal[open]{display:flex;flex-direction:column;max-height:92vh;overflow:auto}.product-modal__media{min-height:330px}.product-modal__body{padding:24px}.cart-drawer{margin:auto;height:calc(100% - 20px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Clips, calculadora y contacto */
.play-chip{position:absolute;z-index:3;top:18px;right:18px;padding:8px 11px;border-radius:999px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.78rem;font-weight:900;backdrop-filter:blur(7px)}
.product-modal__media{position:relative;overflow:hidden}.product-modal__media video,.product-modal__media img{width:100%;height:100%;object-fit:cover;object-position:center}.video-badge{position:absolute;left:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.68);border:1px solid rgba(255,255,255,.2);font-size:.75rem;font-weight:800}.price-preview{display:flex;justify-content:space-between;align-items:end;gap:16px}.price-preview span,.line-total span{color:var(--muted)}.line-total{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-radius:12px;background:#1b1b1b;border:1px solid #333}.line-total strong{font-size:1.25rem;color:var(--gold)}.calculation-note{color:var(--muted);line-height:1.45}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;border:1px solid #444;background:#1d1d1d;color:#fff;text-transform:uppercase;font-weight:900;letter-spacing:.04em}.secondary-button:hover{background:#272727}.contact{padding:10px 0 100px}.contact h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;font-size:clamp(2.5rem,6vw,4.7rem);margin:0}.contact__text{color:var(--muted);max-width:650px;line-height:1.6}.social-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:28px}.social-link{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:18px;background:#161616;transition:.2s transform,.2s border-color,.2s background}.social-link:hover{transform:translateY(-3px);border-color:var(--gold);background:#1d1d1d}.social-link svg{width:31px;height:31px;fill:currentColor;stroke:currentColor;stroke-width:1.7}.social-link:nth-child(2) svg{fill:none}.social-link span{font-weight:900}.contact-note{color:var(--muted);font-size:.88rem;margin-top:14px}.contact-note code{color:var(--gold)}
@media(max-width:760px){.social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-link:last-child{grid-column:1/-1}.product-modal__media video,.product-modal__media img{min-height:330px}}

/* Ajuste final: modal compacto y botón siempre visible */
.product-modal .primary-button{min-height:54px;flex-shrink:0}
@media(min-width:761px){.product-modal__media{height:min(520px,88vh)}.product-modal__body{max-height:88vh}.modal-description{margin:0 0 4px}}
@media(max-width:760px){.product-modal{width:min(620px,calc(100% - 16px));max-height:90vh}.product-modal[open]{max-height:90vh}.product-modal__media{height:250px;min-height:250px;flex:0 0 250px}.product-modal__media video,.product-modal__media img{min-height:0}.product-modal__body{padding:20px;overflow:visible}.product-modal h2{font-size:clamp(2rem,12vw,3.25rem)}.modal-actions{margin-top:8px}}

/* Edición del cálculo */
.cart-item{grid-template-columns:74px minmax(0,1fr) auto}
.cart-item__actions{display:flex;flex-direction:column;gap:7px;align-items:stretch}
.edit-item,.remove-item{min-width:72px;border-radius:9px;padding:7px 10px;font-size:.78rem;font-weight:900;text-transform:uppercase}
.edit-item{border:1px solid #565656;background:#252525;color:#fff}
.edit-item:hover{border-color:var(--gold);color:var(--gold)}
.remove-item{border:1px solid rgba(255,119,123,.35);background:rgba(255,119,123,.08);color:#ff777b}
.remove-item:hover{background:rgba(255,119,123,.16)}
@media(max-width:480px){.cart-item{grid-template-columns:62px minmax(0,1fr)}.cart-item img{width:62px;height:58px}.cart-item__actions{grid-column:1/-1;flex-direction:row}.edit-item,.remove-item{flex:1}}


/* Instalación PWA */
.nav-actions{display:flex;align-items:center;gap:10px}
.install-button{border:1px solid var(--gold);background:var(--gold);color:#17120b;border-radius:999px;padding:11px 15px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.install-button:hover{filter:brightness(1.08)}
.install-button[hidden]{display:none}
@media(max-width:600px){.nav{align-items:flex-start}.nav-actions{flex-direction:column;align-items:flex-end}.install-button,.cart-button{font-size:.82rem;padding:9px 12px}}

/* Mejora de portada y guía de uso */
.how-it-works{padding:72px 0 52px;display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:start}
.how-it-works h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;font-size:clamp(2.5rem,5vw,4.7rem);line-height:.95;margin:0 0 16px}
.how-it-works__intro>p:last-child{color:var(--muted);line-height:1.65;max-width:560px;margin:0}
.how-grid{display:grid;gap:12px}
.how-step{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:16px;background:#151515}
.how-step>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--red);font-weight:1000;font-size:1.2rem}
.how-step strong{font-size:1.05rem;text-transform:uppercase}
.how-step p{margin:4px 0 0;color:var(--muted);line-height:1.45}

@media(min-width:761px){
  .brand img{width:min(390px,36vw)}
  .hero__content{padding-top:8vh}
  .hero h1{font-size:clamp(3.8rem,8.5vw,7rem);max-width:760px}
}

@media(max-width:760px){
  .hero{min-height:auto;background-position:center top}
  .nav{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0 4px}
  .brand{min-width:0}
  .brand img{width:min(270px,67vw);max-height:96px;object-fit:contain;object-position:left center}
  .nav-actions{gap:7px;align-items:flex-end}
  .install-button,.cart-button{font-size:.72rem;padding:8px 10px;white-space:nowrap}
  .cart-button{gap:7px}
  .cart-count{min-width:23px;height:23px}
  .hero__content{padding:64px 0 92px;max-width:100%}
  .hero h1{font-size:clamp(2.7rem,13.2vw,4.25rem);line-height:.92;max-width:94%;letter-spacing:0;overflow-wrap:normal;word-break:normal}
  .hero__text{font-size:1rem;line-height:1.55;margin:20px 0 26px;max-width:92%}
  .primary-button{min-height:50px;padding-inline:22px}
  .how-it-works{padding:48px 0 38px;grid-template-columns:1fr;gap:24px}
  .how-it-works h2{font-size:clamp(2.4rem,10vw,3.5rem)}
  .how-step{grid-template-columns:42px 1fr;padding:14px}
  .how-step>span{width:42px;height:42px}
}

@media(max-width:430px){
  .shell{width:min(100% - 22px,1160px)}
  .brand img{width:min(245px,66vw)}
  .hero__content{padding-top:52px}
  .hero h1{font-size:clamp(2.45rem,12.8vw,3.5rem);max-width:96%}
  .hero__text{max-width:96%;font-size:.96rem}
  .install-button{padding:8px 9px}
  .cart-button span:first-child{font-size:.72rem}
}

.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.share-button{min-height:52px;padding:0 22px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(13,13,13,.72);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;backdrop-filter:blur(8px)}
.share-button:hover{border-color:var(--gold);background:#181818}
.share-button svg{width:21px;height:21px;fill:currentColor}
@media(max-width:430px){.hero-buttons{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:350px}.hero-buttons .primary-button,.share-button{width:100%;padding-inline:12px;font-size:.82rem}}

/* Premium demo agregado sin alterar tarjetas, videos ni modal original */
.table-chip{display:inline-flex;margin:0 0 18px;padding:9px 14px;border:1px solid rgba(214,164,78,.55);border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-weight:900}.premium-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 0 70px}.service-action{text-align:left;padding:20px;border:1px solid var(--line);border-radius:18px;background:#171717;color:#fff}.service-action strong,.service-action span{display:block}.service-action strong{font-size:1.15rem;text-transform:uppercase}.service-action span{margin-top:6px;color:#cfc6bb}.order-note-label{font-weight:800}.order-note{width:100%;box-sizing:border-box;border:1px solid #3b3b3b;border-radius:12px;background:#171717;color:#fff;padding:11px;resize:vertical}.confirm-dialog,.admin-dialog{border:0;background:transparent;padding:12px;color:#191512}.confirm-card,.admin-panel{position:relative;width:min(760px,calc(100vw - 28px));max-height:90vh;overflow:auto;border-radius:24px;background:#fff7e9;color:#17120f;padding:30px;box-shadow:var(--shadow)}.confirm-card h2,.admin-panel h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;font-size:clamp(2.2rem,6vw,4rem);line-height:.95;margin:4px 0 14px}.confirm-card p,.admin-panel p{color:#4c4339}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:22px}.confirm-order-items{display:grid;gap:9px;margin:18px 0}.confirm-order-row{display:flex;justify-content:space-between;gap:18px;padding:12px;border-radius:12px;background:#efe5d4;color:#17120f}.admin-dialog{width:100%;height:100%;max-width:none;max-height:none}.admin-panel{width:min(1100px,calc(100vw - 28px));background:#111;color:#fff}.admin-panel p{color:#c9c0b5}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.admin-content{display:grid;gap:14px}.admin-order{padding:16px;border:1px solid #343434;border-radius:16px;background:#191919}.admin-order__head{display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-order ul{margin:10px 0;padding-left:20px}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions button{padding:8px 12px;border-radius:10px;border:1px solid #444;background:#242424;color:#fff}.qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.qr-link{padding:12px;border:1px solid #343434;border-radius:12px;background:#191919;word-break:break-all}.status-screen{position:fixed;right:16px;bottom:16px;z-index:12;width:min(360px,calc(100% - 32px));padding:18px;border-radius:18px;background:#fff7e9;color:#17120f;box-shadow:var(--shadow)}.status-screen h3{margin:0 0 8px}.status-progress{height:10px;border-radius:999px;background:#ded1bd;overflow:hidden}.status-progress span{display:block;height:100%;background:var(--red);width:34%}
@media(max-width:760px){.premium-actions{grid-template-columns:1fr}.confirm-card,.admin-panel{padding:22px}.confirm-actions>*{width:100%}}

/* QR de mesas: visibles, verificables y listos para imprimir */
.qr-help{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border:1px solid #343434;border-radius:14px;background:#191919;color:#fff}.qr-help span{color:#c9c0b5}.qr-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.qr-card{padding:16px;border:1px solid #343434;border-radius:16px;background:#191919;text-align:center;overflow:hidden}.qr-card h3{margin:0 0 12px;font-size:1.15rem}.qr-image-wrap{position:relative;display:block;width:min(100%,220px);margin:0 auto 12px;padding:10px;border-radius:14px;background:#fff}.qr-image-wrap img{display:block;width:100%;height:auto;aspect-ratio:1/1}.qr-number{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border:4px solid #fff;border-radius:999px;background:#111;color:#fff;font-size:1rem;font-weight:900;line-height:1}.qr-url{display:block;min-height:42px;color:#fff;text-decoration:none;font-size:.82rem;line-height:1.35;word-break:break-all}.qr-url:hover{text-decoration:underline}.qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.qr-actions a{display:grid;place-items:center;min-height:42px;padding:9px 10px;border:1px solid #484848;border-radius:10px;background:#252525;color:#fff;text-decoration:none;font-weight:800}.qr-actions a:last-child{border-color:#d6a44e;background:#d6a44e;color:#17120f}@media(max-width:560px){.qr-help{align-items:flex-start;flex-direction:column}.qr-grid{grid-template-columns:1fr}.qr-card{padding:18px}.qr-image-wrap{width:min(100%,260px)}}

/* Corrección definitiva del panel QR */
.admin-panel{overflow:auto!important}
.admin-content{min-width:0!important}
.qr-help{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;margin-bottom:18px!important}
.qr-help>div{display:grid!important;gap:4px!important}.qr-help span{display:block!important}
#downloadAllQr{border:0!important;border-radius:10px!important;background:#d6a44e!important;color:#17120f!important;padding:11px 15px!important;font-weight:900!important}
.qr-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;width:100%!important;overflow:visible!important}
.qr-card{display:flex!important;flex-direction:column!important;min-width:0!important;padding:16px!important;border:1px solid #343434!important;border-radius:16px!important;background:#191919!important;text-align:center!important;overflow:hidden!important}
.qr-card h3{margin:0 0 12px!important;color:#fff!important}
.qr-image-wrap{display:block!important;width:100%!important;max-width:220px!important;margin:0 auto 12px!important;padding:8px!important;border-radius:14px!important;background:#fff!important}
.qr-image-wrap img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:contain!important}
.qr-url{display:block!important;color:#fff!important;font-size:.78rem!important;line-height:1.35!important;overflow-wrap:anywhere!important;min-height:44px!important}
.qr-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:12px!important}
.qr-actions a{display:grid!important;place-items:center!important;min-height:42px!important;padding:8px!important;border-radius:10px!important;text-decoration:none!important;background:#252525!important;color:#fff!important;font-weight:800!important}
.qr-actions a:last-child{background:#d6a44e!important;color:#17120f!important}
@media(max-width:950px){.qr-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:720px){.qr-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.qr-grid{grid-template-columns:1fr!important}.qr-help{align-items:stretch!important;flex-direction:column!important}.qr-image-wrap{max-width:260px!important}}

/* Alertas persistentes, aceptación y control de tiempos */
.system-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px;border:1px solid #3b3b3b;border-radius:14px;background:#0b0b0b}.system-strip span{padding:7px 10px;border-radius:999px;background:#242424;color:#fff;font-size:.82rem;font-weight:900}.system-strip button{margin-left:auto;border:0;border-radius:10px;background:#d6a44e;color:#17120f;padding:9px 13px;font-weight:900}.admin-order.is-urgent{border-color:#e0443e;box-shadow:inset 4px 0 0 #e0443e}.admin-order.is-urgent .order-status{color:#ff756f}.order-status{font-size:.8rem;font-weight:900;text-align:right}.elapsed-line{margin:8px 0;color:#c9c0b5!important}.accept-order{background:#d6a44e!important;color:#17120f!important;border-color:#d6a44e!important;font-weight:900}.service-alert{border-color:#d6a44e}.service-alert>button{border:0;border-radius:10px;background:#d6a44e;color:#17120f;padding:9px 12px;font-weight:900}@media(max-width:600px){.system-strip{align-items:stretch;flex-direction:column}.system-strip button{margin-left:0;width:100%}.admin-order__head{align-items:flex-start;flex-direction:column}.order-status{text-align:left}}

/* V3: alertas completas e independientes por Cocina, Barra y Caja */
.alarm-banner{display:grid;gap:4px;padding:16px 18px;border:2px solid #ff4b44;border-radius:14px;background:#3b0e0c;color:#fff;animation:alarmPulse 1.15s infinite}.alarm-banner strong{font-size:1.02rem;text-transform:uppercase}.alarm-banner span{color:#ffd8d5}.no-items-note{padding:11px 12px;border-radius:10px;background:#262626;color:#ddd!important}.admin-order.is-urgent{animation:urgentCard 1.2s infinite}.system-strip button{min-height:42px}.system-strip button:focus-visible,.admin-actions button:focus-visible{outline:3px solid #fff;outline-offset:2px}@keyframes alarmPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,75,68,.45)}50%{box-shadow:0 0 0 9px rgba(255,75,68,0)}}@keyframes urgentCard{0%,100%{background:#191919}50%{background:#35110f}}

/* V4: Cocina y Barra en una sola pantalla; Caja permanece separada */
.prep-order{border-width:2px}.prep-order .admin-order__head>strong{font-size:1.35rem;color:#fff}.prep-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.prep-area{min-width:0;padding:16px;border:1px solid #3b3b3b;border-radius:14px;background:#111}.prep-area.area-pending{border:2px solid #ff4b44;background:#2d0c0a;animation:areaFlash 1.1s infinite}.prep-area__head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:11px;border-bottom:1px solid #383838}.prep-area__head strong{font-size:1.05rem}.prep-area__head span{font-size:.77rem;font-weight:900;text-align:right}.prep-area ul{display:grid;gap:8px;margin:12px 0;padding:0;list-style:none}.prep-area li{padding:10px 11px;border-radius:10px;background:#222}.prep-area li small{display:block;margin-top:4px;color:#d5cabe}.alarm-banner{position:sticky;top:0;z-index:4;border-width:3px;background:#650f0b;text-align:center}.alarm-banner strong{font-size:1.2rem}.alarm-banner span{font-weight:800}.admin-tabs .is-active{border-color:#d6a44e!important;background:#d6a44e!important;color:#17120f!important}@keyframes areaFlash{0%,100%{box-shadow:0 0 0 0 rgba(255,75,68,.55)}50%{box-shadow:0 0 0 8px rgba(255,75,68,0)}}@media(max-width:720px){.prep-columns{grid-template-columns:1fr}.prep-order .admin-order__head>strong{font-size:1.2rem}}

/* V5: QR centrados y confirmación de mesa optimizada para móvil/tablet */
#tableDialog[open]{display:grid;place-items:center;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:14px;}
#tableDialog .confirm-card{text-align:center;margin:auto;}
#tableDialog .confirm-actions{justify-content:center;}
#tableDialogTitle{max-width:650px;margin-inline:auto;}
.table-chip{text-align:center;justify-content:center;}
@media(max-width:760px){
  #tableDialog{padding:12px!important;}
  #tableDialog .confirm-card{width:min(100%,560px);padding:24px 18px;border-radius:20px;}
  #tableDialog .eyebrow{margin-bottom:8px;}
  #tableDialogTitle{font-size:clamp(2rem,10vw,3.2rem);line-height:.98;}
  #tableDialog .confirm-card>p:not(.eyebrow){max-width:34rem;margin:14px auto 0;line-height:1.5;}
  #tableDialog .confirm-actions{display:grid;grid-template-columns:1fr;gap:10px;width:100%;margin-top:20px;}
  #tableDialog .confirm-actions>*{width:100%;}
  .table-chip{display:flex;width:max-content;max-width:100%;margin:0 auto 18px;}
}
@media(min-width:481px) and (max-width:900px){
  .qr-image-wrap{max-width:240px!important;}
}

/* V6: seguimiento persistente y alertas reforzadas */
.status-screen{border:2px solid rgba(214,164,78,.9);background:#111;color:#fff;max-height:min(70vh,520px);overflow:auto}
.status-screen p{color:#ddd}.status-screen button{margin-top:12px;width:100%;padding:11px;border:0;border-radius:12px;background:#d6a44e;color:#111;font-weight:900}
.status-progress{background:#3b3328}.status-progress span{transition:width .35s ease;background:#d6a44e}
.close-table{background:#d6a44e!important;color:#111!important;font-weight:900}
@media(max-width:700px){.status-screen{left:12px;right:12px;bottom:12px;width:auto;text-align:center}.status-screen h3{font-size:1.1rem}}

/* V7: reinicio de pruebas y Barra exclusiva para cocteles/alcohol */
.test-reset-row{display:flex;justify-content:flex-end;margin:10px 0 14px}
.test-reset-row button{background:#2a2a2a;border:1px solid #555;color:#fff;border-radius:12px;padding:11px 15px;font-weight:800;cursor:pointer}
.test-reset-row button:hover{border-color:#e7ad48;background:#35312a}
@media(max-width:640px){.test-reset-row{justify-content:stretch}.test-reset-row button{width:100%}}

/* V11: flujo de cuenta/cierre final y corrección móvil del modal */
.confirm-dialog{box-sizing:border-box;overflow:hidden!important;max-width:100vw!important;max-height:100dvh!important}
.confirm-card{box-sizing:border-box;max-width:calc(100vw - 24px)!important;overflow-x:hidden!important}
.confirm-order-row{min-width:0}.confirm-order-row strong,.confirm-order-row span{min-width:0;overflow-wrap:anywhere}
.tracking-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.status-screen .tracking-actions button{margin-top:0;background:#252525;color:#fff;border:1px solid #555}
.status-screen .tracking-actions .tracking-bill{background:#d6a44e;color:#111;border-color:#d6a44e}
.close-waiting{display:inline-flex;align-items:center;padding:9px 12px;border-radius:10px;background:#2a2a2a;color:#d9cfc3;font-size:.83rem;font-weight:800}
.bill-alert{border-color:#d6a44e;background:#2a2114}
@media(max-width:560px){
  .confirm-dialog{padding:8px!important}
  .confirm-card{width:100%!important;max-width:calc(100vw - 16px)!important;padding:22px 16px!important;border-radius:20px!important}
  .confirm-card h2{font-size:clamp(2rem,10.5vw,3.2rem)!important;line-height:.95!important;overflow-wrap:anywhere}
  .confirm-order-row{gap:10px;padding:12px 10px;align-items:flex-start}
  .confirm-order-row strong:last-child{white-space:nowrap}
  .tracking-actions{grid-template-columns:1fr}
  .status-screen{max-height:72dvh}
}


/* V13: corrección integral móvil/tablet, confirmación QR y flujo de Caja */
html,body{max-width:100%;overflow-x:hidden}
#tableDialog{inset:0!important}
#tableDialog::backdrop{background:rgba(0,0,0,.82)}
#tableDialog .confirm-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(620px,100%);max-height:calc(100dvh - 24px);overflow:auto}
#tableDialogTitle{width:100%;text-align:center;overflow-wrap:normal!important;word-break:normal!important;text-wrap:balance}
#tableDialog .confirm-card>p{text-align:center;text-wrap:pretty}
.bill-alert{border:3px solid #ff4b44!important;background:#4a100d!important;animation:alarmPulse 1.05s infinite}
.bill-alert>strong{display:block;font-size:1.2rem;color:#fff}
@media(max-width:900px){
  .shell{width:min(100% - 22px,1160px)}
  .admin-dialog{padding:8px!important}
  .admin-panel{width:100%!important;max-width:100%!important;padding:22px 14px!important}
  .admin-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .admin-tabs .filter{width:100%;min-width:0;text-align:center}
  .premium-actions{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  #tableDialog{padding:10px!important;place-items:center!important}
  #tableDialog .confirm-card{min-height:0;width:100%!important;max-width:100%!important;padding:24px 16px!important;margin:auto!important}
  #tableDialogTitle{font-size:clamp(1.85rem,9vw,2.65rem)!important;line-height:1.02!important;letter-spacing:0!important}
  #tableDialog .confirm-card>p:not(.eyebrow){font-size:.96rem;margin:13px auto 0!important}
  .hero{min-height:78vh}
  .hero__content{padding:7vh 0 13vh}
  .brand img{width:min(250px,62vw)}
  .cart-button{padding:8px 10px}
  .section-heading{align-items:flex-start;flex-direction:column}
  .filters{justify-content:flex-start;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .product-grid{grid-template-columns:1fr!important}
  .status-screen{left:8px!important;right:8px!important;bottom:8px!important;max-width:none!important;padding:16px!important}
  .admin-order{overflow:hidden}
  .admin-order ul{padding-left:18px}
  .admin-actions{display:grid!important;grid-template-columns:1fr!important}
  .admin-actions>*{width:100%;text-align:center}
  .alarm-banner{position:relative!important}
}
\n\n/* V14: áreas diferenciadas, Caja abierta desde el pedido y panel Mesero */
.area-card{border-width:2px!important;box-shadow:inset 5px 0 0 var(--area-accent,#d6a44e)}
.area-kitchen{--area-accent:#ef4444;border-color:#ef4444!important;background:#2b1010!important}
.area-bar{--area-accent:#3b82f6;border-color:#3b82f6!important;background:#0d1d36!important}
.area-cash{--area-accent:#22c55e;border-color:#22c55e!important;background:#0d2918!important}
.area-waiter{--area-accent:#f59e0b;border-color:#f59e0b!important;background:#2d210b!important}
.area-general{--area-accent:#d6a44e}
.admin-tabs [data-admin-tab="kitchen"]{border-color:#ef4444}
.admin-tabs [data-admin-tab="bar"]{border-color:#3b82f6}
.admin-tabs [data-admin-tab="waiter"]{border-color:#f59e0b}
.admin-tabs [data-admin-tab="cash"]{border-color:#22c55e}
@media(max-width:900px){.admin-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}.admin-panel h2{font-size:clamp(2rem,8vw,3.4rem)}}
@media(max-width:620px){
 .admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .admin-dialog{width:100vw!important;max-width:100vw!important;padding:0!important}
 .admin-panel{min-height:100dvh!important;border-radius:0!important;padding:64px 12px 22px!important}
 .admin-panel>.close-button{position:fixed!important;right:12px!important;top:12px!important;z-index:20}
 .admin-content,.admin-order,.system-strip{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
 .admin-order__head strong{font-size:1.15rem!important;overflow-wrap:anywhere}
 .premium-actions{padding-left:12px!important;padding-right:12px!important}
 #tableDialog{padding:8px!important}
 #tableDialog .confirm-card{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;padding:22px 15px!important}
 #tableDialog .confirm-card h2{font-size:clamp(1.9rem,10vw,2.8rem)!important;max-width:100%;text-align:center}
}

/* V15: tarjetas superiores uniformes por área */
.admin-tabs{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.admin-tabs .filter{
  width:100%!important;
  min-width:0!important;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 8px!important;
  line-height:1.15;
  text-align:center;
  white-space:normal;
  box-sizing:border-box;
}
@media(max-width:900px){
  .admin-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .admin-tabs .filter{min-height:50px}
}
@media(max-width:620px){
  .admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-tabs .filter{min-height:52px;padding:10px 6px!important}
}


/* V17: control independiente de apertura y sesión por mesa */
.table-state-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.table-state{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.05em;background:#272727;color:#fff}
.qr-card.is-table-open{border-color:#22c55e!important;box-shadow:inset 0 4px 0 #22c55e}
.qr-card.is-table-open .table-state{background:#153c22;color:#7ff0a2}
.qr-card.is-table-closed{border-color:#555!important}
.qr-card.is-table-closed .table-state{background:#2b2b2b;color:#c7c7c7}
.qr-card.has-active-order{border-color:#d6a44e!important;box-shadow:inset 0 4px 0 #d6a44e}
.qr-card.has-active-order .table-state{background:#4b3711;color:#ffd982}
.table-control-actions{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px}
.table-control-actions button{width:100%;min-height:42px;border:0;border-radius:12px;font-weight:900;cursor:pointer;background:#d6a44e;color:#111}
.qr-card.is-table-open .table-control-actions button{background:#1f8f45;color:#fff}
.table-control-actions span{display:block;text-align:center;font-size:.84rem;color:#e8d2a1;font-weight:800}
@media(max-width:620px){.table-state-row{align-items:flex-start}.table-state{font-size:.66rem}.qr-grid{grid-template-columns:1fr!important}}

/* V19: acceso cliente exclusivamente por QR y acceso admin con tres toques */
.table-access-card{text-align:center}
.table-access-logo{display:block;width:min(210px,58vw);height:auto;margin:0 auto 18px;cursor:pointer;user-select:none;-webkit-user-drag:none;touch-action:manipulation}
#confirmTable:disabled{opacity:.58;cursor:not-allowed}
@media(max-width:600px){.table-access-card{padding:24px 18px!important}.table-access-logo{width:min(180px,56vw)}.table-access-card h2{font-size:clamp(2rem,12vw,3.2rem)!important;overflow-wrap:anywhere}}

/* V20: respeta siempre el atributo hidden en botones del acceso QR. */
[hidden] { display: none !important; }


/* V21: el acceso general es exclusivamente la puerta oculta de Administración.
   El diálogo de mesa solo puede mostrarse en enlaces QR con ?mesa=N. */
html.admin-entry-mode #tableDialog {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* V25: acceso QR estable en navegadores de celular y tablet */
#tableDialog[open]{
  position:fixed!important;
  inset:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
}
#tableDialog .confirm-card{
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  width:min(620px,100%)!important;
  max-width:100%!important;
  max-height:none!important;
  margin:auto 0!important;
  overflow:visible!important;
}
@media(max-height:620px){
  #tableDialog .confirm-card{
    margin:0!important;
    padding:18px 16px!important;
    border-radius:18px!important;
  }
  #tableDialog .table-access-logo{
    width:min(135px,38vw)!important;
    margin-bottom:10px!important;
  }
  #tableDialogTitle{
    font-size:clamp(1.75rem,7vw,2.55rem)!important;
    line-height:1!important;
  }
  #tableDialog .confirm-card>p{margin-block:8px!important}
}

/* V28: ajuste exclusivo para tablet.
   Algunos lectores QR reducen el viewport útil de una tablet a 601–760 px,
   por eso el rango empieza en 601 px y reserva su barra superior. */
@media (min-width:601px) and (max-width:1200px){
  .container{width:min(100% - 40px,900px)}
  .nav{padding-top:16px}
  .brand img{width:min(280px,42vw)}
  .hero{min-height:82vh}
  .hero__content{max-width:680px;padding:8vh 0 13vh}
  .hero h1{font-size:clamp(4rem,9vw,6.2rem)}
  .section-heading{align-items:flex-start;flex-direction:column}
  .filters{justify-content:flex-start}
  .menu-grid{grid-template-columns:1fr}
  .dish-card{min-height:440px}
  .how-it-works__grid{grid-template-columns:1fr}
  .premium-actions{grid-template-columns:1fr}
  .social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tableDialog[open]{
    height:100vh!important;
    height:100dvh!important;
    max-height:100vh!important;
    max-height:100dvh!important;
    padding:
      calc(76px + env(safe-area-inset-top))
      20px
      max(18px,env(safe-area-inset-bottom))!important;
    scroll-padding-top:calc(76px + env(safe-area-inset-top));
  }
  #tableDialog .confirm-card{
    width:min(620px,100%)!important;
    max-width:620px!important;
    margin:0 auto!important;
    padding:26px!important;
    flex-shrink:0!important;
  }
}

@media (min-width:601px) and (max-width:1200px) and (orientation:landscape){
  .hero{min-height:100svh}
  .hero__content{padding:42px 0 70px}
  .hero h1{font-size:clamp(3.4rem,8vw,5.4rem)}
  #tableDialog[open]{
    padding-top:calc(68px + env(safe-area-inset-top))!important;
  }
  #tableDialog .confirm-card{margin:0 auto!important;padding:18px 24px!important}
}

/* Base responsive del menú: dos columnas en escritorio. */
@media (min-width:901px){
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
  .dish-card{min-height:430px!important;height:430px!important}
}
@media (min-width:601px) and (max-width:900px){
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .dish-card{min-height:0!important;height:300px!important}
  .dish-card__content{inset:auto 16px 16px!important}
  .dish-card h3{font-size:clamp(1.35rem,3.5vw,2rem)!important}
}
@media (max-width:600px){
  .menu-grid{grid-template-columns:1fr!important;gap:16px!important}
  .dish-card{min-height:0!important;height:285px!important}
  .dish-card__content{inset:auto 16px 16px!important}
  .dish-card h3{font-size:clamp(1.45rem,7vw,2rem)!important}
  .dish-card__price{font-size:1.35rem!important;padding:6px 10px!important}
}

/* V32: proporción y cabecera iguales al menú publicado de referencia. */
@media (min-width:901px){
  .section-heading{align-items:flex-end!important;flex-direction:row!important}
  .filters{justify-content:flex-end!important}
  .dish-card{min-height:430px!important;height:430px!important}
}
@media (min-width:601px) and (max-width:900px){
  .dish-card{min-height:390px!important;height:390px!important}
}
@media (max-width:600px){
  .dish-card{min-height:390px!important;height:390px!important}
}

/* V30: conserva completos los dorsales 1, 2, 3 y 4 de las fotografías.
   Las tarjetas compactas no deben centrar y recortar la parte superior. */
.dish-card img{
  object-position:center top!important;
}
/* V51: el número del plato no depende de la foto. Siempre queda visible. */
.dish-number{
  position:absolute;
  z-index:4;
  top:0;
  left:0;
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  padding:0 8px 5px 0;
  box-sizing:border-box;
  clip-path:polygon(0 0,100% 0,88% 100%,0 86%);
  background:linear-gradient(135deg,#ed292e,#a4080d);
  color:#fff;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:2.7rem;
  line-height:1;
  text-shadow:0 2px 2px rgba(0,0,0,.35);
  pointer-events:none;
}
@media(max-width:600px){
  .dish-number{width:58px;height:58px;font-size:2.4rem}
}
/* Mejoras v46 para juegos más completos y táctiles */
.game-mode{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.game-mode button,.quiz-options button{border:1px solid #555;background:#242424;color:#fff;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer}.game-mode .is-selected{background:var(--accent);color:#17120f;border-color:var(--accent)}.score-line{color:var(--accent);font-weight:900;margin-bottom:5px}.pairs-board{grid-template-columns:repeat(4,1fr);max-width:520px}.pairs-board button{border:0;border-radius:14px;background:#2a2a2a;color:#fff;font-size:42px;min-height:105px;cursor:pointer}.pairs-board button.is-found{background:#507e43}.word-grid.selectable{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;letter-spacing:0;line-height:1;padding:12px;white-space:normal;touch-action:none;user-select:none}.word-grid.selectable button{border:0;border-radius:7px;background:#2d2d2d;color:#fff;font:700 17px monospace;aspect-ratio:1;cursor:pointer;touch-action:none}.word-grid.selectable button.is-selected{background:#d6a44e;color:#17120f}.word-grid.selectable button.is-found{background:#507e43}.word-list span.is-found{text-decoration:line-through;color:#7fc66b}.quiz-question h3{font-size:1.35rem;margin:24px 0 14px}.quiz-options{display:grid;gap:9px}.quiz-options button{text-align:left;font-size:1rem;padding:14px}.quiz-options button.is-correct{background:#507e43;border-color:#7fc66b}.quiz-options button.is-wrong{background:#913e3e;border-color:#df7777}@media(max-width:760px){.pairs-board button{min-height:88px;font-size:34px}}
/* Adivina pares necesita un modal ancho: evita que el tablero se achique en computadora. */
.game-dialog.game-pairs{width:min(94vw,760px);max-width:94vw}
.game-dialog.game-pairs .pairs-board{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
.game-dialog.game-pairs .pairs-board button{min-height:128px;font-size:48px}
@media(max-width:760px){.game-dialog.game-pairs{width:94vw}.game-dialog.game-pairs .pairs-board button{min-height:88px;font-size:34px}}
/* Juegos del menú cliente */
.games{padding-block:30px 72px}.games-intro{max-width:330px;color:var(--muted);line-height:1.5}.games-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.game-card{border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,#1b1b1b,#111);color:#fff;border-radius:18px;padding:18px 12px;text-align:left;cursor:pointer;min-height:145px;transition:transform .2s,border-color .2s}.game-card:hover{transform:translateY(-4px);border-color:var(--accent)}.game-card span{display:block;color:var(--accent);font-size:26px;font-weight:800;margin-bottom:18px}.game-card strong,.game-card small{display:block}.game-card strong{font-size:16px;margin-bottom:7px}.game-card small{color:#bdbdbd;line-height:1.35}.game-dialog{border:0;padding:0;background:transparent;max-width:min(94vw,520px)}.game-dialog::backdrop{background:rgba(0,0,0,.76)}.game-panel{position:relative;background:#161616;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:32px 24px;min-height:300px}.game-panel h2{margin:0 36px 8px 0}.game-panel p{color:#c9c9c9}.game-board{display:grid;gap:8px;margin-top:22px}.tic-board{grid-template-columns:repeat(3,1fr);max-width:330px}.tic-board button,.memory-board button{border:0;border-radius:11px;background:#2a2a2a;color:#fff;font-size:30px;min-height:72px;cursor:pointer}.tic-board button:hover,.memory-board button:hover{background:#3a3a3a}.memory-board{grid-template-columns:repeat(4,1fr)}.memory-board button{font-size:24px;min-height:62px}.game-action{margin-top:18px}.word-grid{font-family:monospace;letter-spacing:7px;line-height:1.7;font-size:18px;background:#222;padding:16px;border-radius:12px;white-space:pre}.word-list{font-size:13px;color:#e7bd50}.hang-word{font-size:28px;letter-spacing:9px;color:var(--accent);margin:24px 0}.letter-buttons{display:flex;flex-wrap:wrap;gap:7px}.letter-buttons button{border:1px solid #555;background:#242424;color:#fff;border-radius:8px;min-width:34px;min-height:34px;cursor:pointer}.letter-buttons button:disabled{opacity:.35}.game-message{margin-top:14px;font-weight:700;color:var(--accent)}@media(max-width:760px){.games-grid{grid-template-columns:repeat(2,1fr)}.games-grid .game-card:last-child{grid-column:span 2}.games-intro{margin-top:8px}.game-panel{padding:28px 18px}}

/* v50: menú legible completo en celular y tablet. */
@media (max-width:900px){
  .menu{padding:56px 0 72px}
  .section-heading{gap:18px;margin-bottom:24px}
  .section-heading h2{font-size:clamp(2.7rem,10vw,4.2rem);line-height:.92}
  .filters{width:100%;display:flex;flex-wrap:wrap;justify-content:flex-start;overflow:visible;padding:0}
  .filter{white-space:nowrap;padding:10px 14px}
  .menu-grid{grid-template-columns:1fr!important;gap:18px!important}
  .dish-card{height:clamp(390px,72vw,540px)!important;min-height:390px!important}
  .dish-card__content{inset:auto 18px 18px!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px 12px!important}
  .dish-card h3{font-size:clamp(1.8rem,6.6vw,2.7rem)!important;line-height:.94!important}
  .dish-card__price{justify-self:end;align-self:end;white-space:nowrap;font-size:clamp(1.35rem,5.2vw,1.85rem)!important;padding:8px 12px!important;line-height:1!important}
  .dish-card__hint{font-size:clamp(.88rem,3.3vw,1.05rem)!important;line-height:1.25}
}
@media (max-width:480px){
  .shell{width:calc(100% - 24px)}
  .filter{padding:9px 12px;font-size:.92rem}
  .dish-card{height:430px!important;min-height:430px!important}
  .dish-card__content{inset:auto 16px 16px!important}
  .dish-card h3{font-size:clamp(1.7rem,8.4vw,2.25rem)!important}
  .dish-card__price{font-size:1.35rem!important;padding:8px 10px!important}
}

/* v50: conservar diseño Hattrick original; solo reducir tamaño de tarjetas */
@media (min-width: 761px){
  .menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .dish-card{min-height:320px;border-radius:18px}
  .dish-card__content{inset:auto 16px 16px;gap:7px 10px}
  .dish-card h3{font-size:clamp(1.25rem,2vw,1.85rem)}
  .dish-card__price{font-size:1.25rem;padding:6px 9px}
}
@media (min-width: 1180px){.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.dish-card{min-height:300px}}
.system-mini-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.system-mini-actions a,.system-mini-actions button{border:1px solid var(--line);background:rgba(13,13,13,.76);color:var(--text);border-radius:999px;padding:10px 14px;text-decoration:none;font-weight:800}
.system-mini-actions .order-start{background:var(--red);border-color:var(--red)}
.system-dialog{border:1px solid var(--line);background:#101010;color:var(--text);width:min(560px,calc(100% - 24px));border-radius:22px;padding:24px;box-shadow:var(--shadow)}
.system-dialog h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;text-transform:uppercase;font-size:2.3rem;margin:0 0 12px}.system-dialog label{display:grid;gap:6px;margin:10px 0;color:#ddd}.system-dialog input,.system-dialog select,.system-dialog textarea{width:100%;background:#181818;border:1px solid #3a3a3a;color:#fff;border-radius:10px;padding:11px}.system-dialog .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.system-dialog menu{display:flex;justify-content:flex-end;gap:8px;padding:0;margin:18px 0 0}.system-dialog button{border:0;border-radius:10px;padding:11px 16px;font-weight:900}.system-dialog .primary{background:var(--red);color:#fff}.system-dialog .secondary{background:#272727;color:#fff}.order-mode-note{padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:#ddd;background:#171717;margin-top:8px}
@media(max-width:760px){.system-mini-actions{justify-content:flex-end}.system-mini-actions a,.system-mini-actions button{padding:8px 10px;font-size:.8rem}.system-dialog .row{grid-template-columns:1fr}.dish-card{min-height:330px}}


/* v51: mantener diseño Hattrick original y hacer las tarjetas bastante más pequeñas */
@media (min-width: 761px){
  .menu-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:16px!important}
  .dish-card{min-height:250px!important;height:250px!important;border-radius:16px!important}
  .dish-card__content{inset:auto 14px 14px!important;gap:6px 8px!important}
  .dish-card__category{font-size:.66rem!important;letter-spacing:.10em!important}
  .dish-card h3{font-size:clamp(1.05rem,1.7vw,1.45rem)!important;line-height:1!important}
  .dish-card__hint{font-size:.78rem!important;line-height:1.15!important}
  .dish-card__price{font-size:1.05rem!important;padding:5px 9px!important;border-radius:9px!important}
}
@media (min-width: 1100px){
  .menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
  .dish-card{min-height:240px!important;height:240px!important}
}
@media (min-width: 1400px){
  .menu-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}


/* v52: menú en 2 columnas como referencia del usuario */
@media (min-width: 761px){
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .dish-card{min-height:320px!important;height:320px!important;border-radius:18px!important}
  .dish-card__content{inset:auto 18px 18px!important;gap:8px 10px!important}
  .dish-card__category{font-size:.72rem!important;letter-spacing:.11em!important}
  .dish-card h3{font-size:clamp(1.45rem,2.5vw,2.1rem)!important;line-height:.95!important}
  .dish-card__hint{font-size:.92rem!important;line-height:1.18!important}
  .dish-card__price{font-size:1.45rem!important;padding:7px 11px!important;border-radius:10px!important}
}
@media (min-width: 1200px){
  .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important}
  .dish-card{min-height:340px!important;height:340px!important}
}
