/* MENU.CSS — página de menú (modo oscuro, coherente con la landing). Complementa base.css. */
.menu-hero{padding:140px 0 48px;text-align:center}
.menu-hero h1.display{font-size:clamp(2.4rem,6vw,3.8rem)}
.menu-hero .ssub{margin:8px auto 0}

.chips{position:sticky;top:70px;z-index:90;display:flex;gap:10px;overflow-x:auto;padding:14px 24px;
  background:rgba(13,13,13,.94);backdrop-filter:blur(10px);scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;padding:8px 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.18);color:var(--crema);
  font-size:.8rem;font-weight:600;letter-spacing:.06em;white-space:nowrap;transition:all .2s}
.chip:hover{border-color:rgba(118,192,67,.7)}
.chip.active{background:var(--rojo);border-color:var(--rojo);color:#fff}

.menu-main{padding:40px 24px 140px;min-height:100vh}
.cat-title{font-family:var(--disp);font-size:1.9rem;margin:46px 0 18px;scroll-margin-top:84px;width:fit-content;
  background:var(--fuego);-webkit-background-clip:text;background-clip:text;color:transparent}
.menu-item{display:grid;grid-template-columns:1fr auto auto;gap:8px 16px;align-items:center;
  padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.menu-item.has-img{grid-template-columns:84px 1fr auto auto}
.menu-item img{width:84px;height:84px;object-fit:cover;border-radius:10px}
.mi-name{font-weight:700;color:#fff}
.badge{background:var(--verde);color:#10210a;font-size:.62rem;font-weight:700;letter-spacing:.06em;
  border-radius:4px;padding:2px 7px;margin-left:8px;vertical-align:2px;text-transform:uppercase}
.mi-desc{grid-column:1/-1;color:var(--gris-d);font-size:.9rem}
.menu-item.has-img .mi-desc{grid-column:2/-1}
.mi-price{font-family:var(--disp);font-size:1.25rem;background:var(--fuego);-webkit-background-clip:text;background-clip:text;color:transparent}
.mi-ask{color:var(--gris-d);font-size:.85rem;font-style:italic}
.mi-add{width:38px;height:38px;border-radius:50%;background:var(--rojo);color:#fff;font-size:1.3rem;
  display:grid;place-items:center;transition:transform .2s,background .2s}
.mi-add:hover{transform:scale(1.1);background:var(--rojo-hover)}

.cart-fab{position:fixed;right:20px;bottom:20px;z-index:95;display:flex;gap:12px;align-items:center;
  background:var(--rojo);color:#fff;padding:14px 22px;border-radius:999px;box-shadow:0 12px 36px rgba(237,59,47,.45)}
.fab-count{background:#fff;color:var(--rojo);border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-weight:700;font-size:.8rem}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:110}
.cart-sheet{position:fixed;z-index:111;background:linear-gradient(180deg,#181312,#121010);color:var(--crema);border-radius:18px 18px 0 0;
  inset:auto 0 0 0;max-height:82vh;display:flex;flex-direction:column;
  transform:translateY(100%);transition:transform .35s var(--ease),visibility 0s .35s;visibility:hidden}
.cart-sheet.open{transform:none;visibility:visible;transition:transform .35s var(--ease),visibility 0s 0s}
@media(min-width:861px){.cart-sheet{inset:0 0 0 auto;width:420px;border-radius:0;transform:translateX(100%);max-height:none}}
.cart-sheet header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}
.cart-sheet header b{font-family:var(--disp);font-size:1.3rem}
.sheet-body{overflow-y:auto;padding:8px 24px;flex:1}
.sheet-line{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.qty{display:inline-flex;gap:10px;align-items:center}
.qty button{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--crema);color:var(--crema)}
.sheet-footer{padding:18px 24px 24px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:12px}
.total-row{display:flex;justify-content:space-between;font-size:1.15rem}
.sheet-line .mi-price{grid-column:2;justify-self:end}
.wa-send{justify-content:center}
.wa-send[aria-disabled="true"]{opacity:.45;pointer-events:none}
.cart-empty{text-align:center;color:var(--gris-d);padding:40px 0}
.noscript{padding:40px 0;text-align:center;font-weight:700;color:var(--crema)}
