/* IKURA — carta pública con la estética del sitio antiguo: fondo #070707, superficies #121212/#161616,
   naranja #F26B1D, títulos en Bebas Neue y texto en Inter. Se carga al final de menu.html.
   El tema oscuro va en .ik-tema (cabecera, contenido y pie). Las hojas del carrito, del producto, del pago
   y de la confirmación se agregan a <body>, fuera de .ik-tema: su tema oscuro está al final, en .sheet-fondo. */

/* ---------- Hojas del carrito, producto, pago y confirmación: tema oscuro ----------
   Se antepone .sheet-fondo para ganarle a las reglas claras de menu.css, personalization.css y
   pedido-cliente.css sin tocar el HTML ni el JS. */
.sheet-fondo {
  --bg: #070707; --panel: #121212; --panel-2: #161616; --card: #121212; --card-hi: #1E1E1E;
  --borde: rgba(255, 255, 255, .1); --borde-hi: rgba(255, 255, 255, .18);
  --texto: #F5F5F5; --texto-2: #C4C4C4; --texto-3: #A0A0A0;
  --oro: #F26B1D; --oro-suave: #FF8A45; --oro-oscuro: #B3480C; --oro-trans: rgba(242, 107, 29, .14);
  --verde: #FF8A45; --verde-suave: rgba(242, 107, 29, .14);
  --precio: #FF8A45; --precio-suave: #FF8A45; --precio-trans: rgba(242, 107, 29, .1); --precio-borde: rgba(242, 107, 29, .4);
  --rojo: #FF8A7A;
  color: #F5F5F5;
}
html .sheet-fondo { background: rgba(0, 0, 0, .74); }
/* Sin :has() en la lista: un navegador sin :has() (iOS < 15.4) descartaría la regla entera y dejaría la hoja blanca.
   (0,2,1) ya le gana a .sheet:has(.duo-builder) y .sheet:has(.pc-confirm) de personalization.css y pedido-cliente.css. */
html .sheet-fondo .sheet {
  background: #121212; color: #F5F5F5; border-color: rgba(255, 255, 255, .1);
  box-shadow: 0 -18px 50px rgba(0, 0, 0, .6);
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
html .sheet-fondo .sheet-mango { background: rgba(255, 255, 255, .22); }
.sheet-fondo :focus-visible { outline: 3px solid #FFB37A; outline-offset: 2px; }
html .sheet-fondo h3, html .sheet-fondo .det-tit h3, html .sheet-fondo .confirm h3 { color: #F5F5F5; }
html .sheet-fondo .desc-menu, html .sheet-fondo .lbl, html .sheet-fondo .grupo h4 { color: #C4C4C4; }
html .sheet-fondo .grupo h4 .req { color: #A0A0A0; }
html .sheet-fondo .grupo h4 .contador { color: #FF8A45; background: rgba(242, 107, 29, .14); }
html .sheet-fondo .det-cab .foto-prod { background: #1A1A1A; border-color: rgba(255, 255, 255, .1); }
html .sheet-fondo .det-tit .precio-det, html .sheet-fondo .qty-total, html .sheet-fondo .total-fila span:last-child,
html .sheet-fondo .linea-carro .monto, html .sheet-fondo .confirm .num, html .sheet-fondo .chip-sel .extra { color: #FF8A45; }
/* Campos legibles sobre oscuro */
html .sheet-fondo input, html .sheet-fondo textarea, html .sheet-fondo select {
  background: #0D0D0D; color: #F5F5F5; border: 1px solid rgba(255, 255, 255, .16);
}
html .sheet-fondo input::placeholder, html .sheet-fondo textarea::placeholder { color: #8C8C8C; }
html .sheet-fondo input:focus, html .sheet-fondo textarea:focus, html .sheet-fondo select:focus { border-color: #F26B1D; box-shadow: 0 0 0 3px rgba(242, 107, 29, .25); }
html .sheet-fondo .input-tel .prefijo, html .sheet-fondo .campo label { color: #C4C4C4; }
html .sheet-fondo button { color: inherit; }
/* Opciones, cantidades y líneas */
html .sheet-fondo .chip-sel { background: #161616; border-color: rgba(255, 255, 255, .14); color: #E6E6E6; box-shadow: none; }
html .sheet-fondo .chip-sel.activo { background: rgba(242, 107, 29, .16); border-color: #F26B1D; color: #FFB27D; }
html .sheet-fondo .chip-sel.activo::before { color: #FF8A45; }
html .sheet-fondo .qty-fila, html .sheet-fondo .linea-carro, html .sheet-fondo .segmentado { background: #161616; border-color: rgba(255, 255, 255, .1); }
html .sheet-fondo .cant-control button { background: #1E1E1E; border-color: rgba(255, 255, 255, .14); color: #FF8A45; }
html .sheet-fondo .linea-carro .info small { color: #A0A0A0; }
html .sheet-fondo .segmentado button { color: #C4C4C4; }
html .sheet-fondo .segmentado button.activo { background: rgba(242, 107, 29, .18); color: #FFB27D; box-shadow: none; }
html .sheet-fondo .accion-fija { background: rgba(18, 18, 18, .97); border-top-color: rgba(255, 255, 255, .1); box-shadow: 0 -10px 24px rgba(0, 0, 0, .5); color: #F5F5F5; }
/* Botones: naranja con texto oscuro (contraste ≥ 6:1) */
html .sheet-fondo .btn-agregar { background: #F26B1D; color: #0A0A0A; box-shadow: 0 0 22px rgba(242, 107, 29, .3); }
html .sheet-fondo .btn-agregar:disabled { box-shadow: none; }
/* «Confirma tu mesa para continuar»: se ve deshabilitado pero se puede tocar (lleva a la pregunta de la mesa) */
html .sheet-fondo .btn-agregar[aria-disabled="true"] { opacity: .45; box-shadow: none; cursor: default; }
html .sheet-fondo .btn-sec { background: transparent; border-color: rgba(255, 255, 255, .18); color: #FFB27D; }
/* Carrito restaurado con cambios (precio, producto o promoción) */
html .sheet-fondo .aviso-carro { margin: -4px 0 14px; padding: 11px 14px; border-radius: 14px; font-size: .84rem; line-height: 1.45; background: rgba(255, 179, 71, .1); color: #FFD9A8; border: 1px solid rgba(255, 179, 71, .45); }
html .sheet-fondo .aviso-carro[hidden] { display: none; }
/* «¿Sigues en la Mesa N?» cuando la mesa viene recordada de antes */
html .sheet-fondo .aviso-mesa.pregunta { display: flex; flex-direction: column; gap: 6px; background: rgba(242, 107, 29, .12); color: #FFE1CF; border-color: rgba(242, 107, 29, .55); }
html .sheet-fondo .aviso-mesa.pregunta b { font-size: .98rem; color: #fff; }
html .sheet-fondo .aviso-mesa-botones { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
html .sheet-fondo .aviso-mesa-botones button { flex: 1 1 140px; min-height: 44px; padding: 0 12px; border-radius: 12px; font-weight: 800; font-size: .84rem; border: 1px solid rgba(255, 255, 255, .22); background: transparent; color: #F1F1F1; cursor: pointer; }
html .sheet-fondo .aviso-mesa-botones button:first-child { background: #F26B1D; border-color: #F26B1D; color: #0A0A0A; }
/* Armador de productos (personalization.css lo deja blanco en .sheet) */
html .sheet-fondo .sheet:has(.duo-builder) .duo-builder,
html .sheet-fondo .sheet:has(.duo-builder) .det-tit h3 { color: #F5F5F5; }
html .sheet-fondo .sheet:has(.duo-builder) .accion-fija { background: rgba(18, 18, 18, .97); color: #F5F5F5; border-color: rgba(255, 255, 255, .1); }
html .sheet-fondo .sheet:has(.duo-builder) :is(.desc-menu,.lbl,.duo-section h4 small,.duo-section>p,.duo-option small,.duo-breakdown small,.duo-breakdown summary,.duo-extras summary small,.duo-extras-help,.duo-extra-row small) { color: #B8B8B8; }
html .sheet-fondo .sheet:has(.duo-builder) .duo-option { background: #161616; border-color: rgba(255, 255, 255, .14); }
html .sheet-fondo .sheet:has(.duo-builder) .duo-option.selected { background: rgba(242, 107, 29, .16); border-color: #F26B1D; }
html .sheet-fondo .sheet:has(.duo-builder) .duo-pick[aria-pressed=true] b:before { color: #FF8A45; }
html .sheet-fondo .sheet:has(.duo-builder) :is(.duo-quantity button,.cant-control button,.duo-builder-close) { background: #1E1E1E; color: #FF8A45; border-color: rgba(242, 107, 29, .45); }
html .sheet-fondo .sheet:has(.duo-builder) .qty-fila { background: #161616; border-color: rgba(255, 255, 255, .1); }
html .sheet-fondo .sheet:has(.duo-builder) .duo-breakdown { background: #121212; border-color: rgba(255, 255, 255, .12); }
html .sheet-fondo .sheet:has(.duo-builder) .duo-breakdown .duo-total { color: #FF8A45; border-color: rgba(255, 255, 255, .12); }
html .sheet-fondo .sheet:has(.duo-builder) .duo-builder-error { color: #FF8A7A; }
html .sheet-fondo .sheet:has(.duo-builder) .duo-extras { background: #161616; border-color: rgba(242, 107, 29, .35); }
html .sheet-fondo .sheet:has(.duo-builder) :is(.duo-extras summary b,.duo-extras-selected,.duo-extra-row strong) { color: #FFB27D; }
html .sheet-fondo .sheet:has(.duo-builder) .duo-extra-tabs button { background: #161616; color: #E6E6E6; border-color: rgba(255, 255, 255, .14); }
html .sheet-fondo .sheet:has(.duo-builder) .duo-extra-tabs button[aria-selected=true] { background: #F26B1D; color: #0A0A0A; border-color: #F26B1D; }
html .sheet-fondo .sheet:has(.duo-builder) .duo-extra-row { border-color: rgba(255, 255, 255, .1); }
html .sheet-fondo .sheet:has(.duo-builder) .btn-agregar { background: #F26B1D; color: #0A0A0A; }
/* Pago por transferencia y confirmación (pedido-cliente.css los deja blancos) */
html .sheet-fondo .pc-confirm, html .sheet-fondo .pc-confirm h3, html .sheet-fondo .pc-items li, html .sheet-fondo .pc-total { color: #F5F5F5; }
html .sheet-fondo .pc-num { color: #FF8A45; }
html .sheet-fondo .pc-ok { background: #F26B1D; color: #0A0A0A; box-shadow: 0 0 24px rgba(242, 107, 29, .4); }
html .sheet-fondo .pc-tipo, html .sheet-fondo .pc-ayuda, html .sheet-fondo .pc-transfer dt { color: #B8B8B8; }
html .sheet-fondo .pc-items li { border-bottom-color: rgba(255, 255, 255, .08); }
html .sheet-fondo .pc-msg-ini { background: rgba(242, 107, 29, .1); border-color: rgba(242, 107, 29, .35); color: #FFD3B5; }
html .sheet-fondo .pc-transfer, html .sheet-fondo .pc-pago { background: #161616; color: #F5F5F5; border-color: rgba(242, 107, 29, .35); }
html .sheet-fondo .pc-transfer h4, html .sheet-fondo .pc-pago h4, html .sheet-fondo .pc-det summary, html .sheet-fondo .pc-nota { color: #FFB27D; }
html .sheet-fondo .pc-transfer dl div { border-bottom-color: rgba(255, 255, 255, .08); }
html .sheet-fondo .pc-transfer dd { color: #F5F5F5; }
html .sheet-fondo .pc-copiar button { background: #1E1E1E; color: #FFB27D; border-color: rgba(242, 107, 29, .5); }
html .sheet-fondo .pc-copiar button.ok, html .sheet-fondo .pc-subir, html .sheet-fondo .pc-btn-prim { background: #F26B1D; border-color: #F26B1D; color: #0A0A0A; }
html .sheet-fondo .pc-btn:not(.pc-btn-prim) { background: transparent; border-color: rgba(255, 255, 255, .18); color: #FFB27D; }
html .sheet-fondo .pc-btn-sec { color: #C4C4C4; }
html .sheet-fondo .pc-estado { background: #1E1E1E; color: #F5F5F5; }
html .sheet-fondo .pc-estado.falta { background: rgba(245, 158, 11, .14); color: #FBD38D; }
html .sheet-fondo .pc-estado.pendiente { background: rgba(250, 204, 21, .12); color: #FDE68A; }
html .sheet-fondo .pc-estado.ok { background: rgba(242, 107, 29, .16); color: #FFD3B5; }
html .sheet-fondo .pc-msg.ok { color: #FFB27D; }
html .sheet-fondo .pc-msg.error { color: #FF8A7A; }

.ik-tema {
  --bg: #070707;
  --fondo: #070707;
  --panel: #121212;
  --panel-2: #161616;
  --card: #121212;
  --card-hi: #1C130D;
  --borde: rgba(255, 255, 255, .09);
  --borde-hi: rgba(255, 255, 255, .16);
  --texto: #F5F5F5;
  --texto-2: #BDBDBD;
  --texto-3: #9A9A9A;
  --oro: #F26B1D;
  --oro-suave: #FF8A45;
  --oro-oscuro: #B3480C;
  --oro-trans: rgba(242, 107, 29, .14);
  --precio: #FF8A45;
  --naranja: #F26B1D;
  --rojo: #FF8A7A;
  color: var(--texto);
}

html { background: #070707; }
body.ik-carta {
  background: #070707; color: #F5F5F5;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  overflow-x: hidden; overflow-x: clip;
  padding-bottom: 96px;
}
.ik-carta .ik-bebas, .ik-carta h1, .ik-titulo { font-family: 'Bebas Neue', 'Arial Narrow', sans-serif-condensed, 'Inter', system-ui, sans-serif; font-weight: 400; letter-spacing: .02em; }
.ik-carta a { color: inherit; }
.ik-carta :focus-visible { outline: 3px solid #FFB37A; outline-offset: 2px; border-radius: 10px; }
.ik-saltar { position: absolute; left: 12px; top: -60px; z-index: 300; background: #F26B1D; color: #0A0A0A; font-weight: 800; padding: 10px 14px; border-radius: 12px; text-decoration: none; }
.ik-saltar:focus { top: 10px; }
.ik-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Cabecera fija ---------- */
.ik-header {
  position: sticky; top: 0; z-index: 70;
  background: rgba(7, 7, 7, .88); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  padding-top: env(safe-area-inset-top);
}
.ik-header-fila { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 8px; padding: 8px 16px; min-height: 60px; }
.ik-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; margin-right: auto; min-height: 44px; }
.ik-logo img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; background: #121212; border: 1px solid rgba(255, 255, 255, .1); }
.ik-logo span { font-family: 'Bebas Neue', 'Arial Narrow', sans-serif-condensed, sans-serif; font-size: 1.7rem; letter-spacing: .06em; color: #fff; line-height: 1; white-space: nowrap; }
.ik-logo small { display: block; font-family: 'Inter', sans-serif; font-size: .6rem; letter-spacing: .22em; color: #F26B1D; font-weight: 800; margin-top: 2px; white-space: nowrap; }
.ik-icono {
  width: 44px; height: 44px; flex: none; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #161616; border: 1px solid rgba(255, 255, 255, .1); color: #EDEDED; text-decoration: none;
  transition: border-color .2s, color .2s;
}
.ik-icono:hover { border-color: #F26B1D; color: #fff; }
.ik-icono[hidden] { display: none; }
.ik-icono svg { width: 20px; height: 20px; }
.ik-carrito {
  position: relative; height: 44px; flex: none; padding: 0 14px 0 12px; border-radius: 99px;
  display: inline-flex; align-items: center; gap: 7px;
  background: #F26B1D; color: #0A0A0A; font-weight: 800; font-size: .86rem; border: 0; cursor: pointer;
}
.ik-carrito svg { width: 20px; height: 20px; }
.ik-carrito b { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px; background: #0A0A0A; color: #fff; font-size: .74rem; display: inline-flex; align-items: center; justify-content: center; }
.ik-carrito.salto b { animation: ikSalto .45s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes ikSalto { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 100% { transform: scale(1); } }

/* Mesa: píldora compacta bajo la cabecera («● MESA 3 · Pagas al final»). No tapa el carrito. */
.ik-header .banner-mesa {
  max-width: 1068px; margin: 0 auto 8px; width: calc(100% - 32px);
  display: flex; flex-wrap: nowrap; align-items: center; gap: 8px;
  padding: 5px 5px 5px 12px; border-radius: 99px;
  background: rgba(242, 107, 29, .14); border: 1px solid rgba(242, 107, 29, .5);
  color: #FFE1CF; box-shadow: none; animation: none; font-size: .8rem;
}
.ik-header .banner-mesa[hidden] { display: none; }
.ik-header .banner-mesa .ik-punto { width: 9px; height: 9px; border-radius: 50%; background: #3DDC84; flex: none; box-shadow: 0 0 0 0 rgba(61, 220, 132, .6); animation: ikLatido 2.2s infinite; }
.ik-header .banner-mesa b { flex: none; font-family: 'Bebas Neue', 'Arial Narrow', sans-serif-condensed, sans-serif; font-weight: 400; font-size: 1.1rem; letter-spacing: .06em; text-transform: uppercase; color: #fff; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 40vw; }
.ik-header .banner-mesa span { flex: 0 1 auto; font-size: .8rem; opacity: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ik-header .banner-mesa button {
  margin-left: auto; flex: none; min-height: 34px; padding: 0 11px; border-radius: 99px;
  background: transparent; color: #F1F1F1; border: 1px solid rgba(255, 255, 255, .28); font-size: .7rem; font-weight: 700;
}
@keyframes ikLatido { 0% { box-shadow: 0 0 0 0 rgba(61, 220, 132, .55); } 70% { box-shadow: 0 0 0 8px rgba(61, 220, 132, 0); } 100% { box-shadow: 0 0 0 0 rgba(61, 220, 132, 0); } }

/* ---------- Portada compacta ---------- */
.ik-hero { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(120% 90% at 85% 0%, #2A1406 0%, #0E0B09 45%, #070707 100%); }
.ik-hero-fondo { position: absolute; inset: 0; z-index: -2; }
.ik-hero-fondo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ik-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7, 7, 7, .45) 0%, rgba(7, 7, 7, .72) 50%, #070707 100%); pointer-events: none; }
/* Con foto: más oscuro para que el título se lea aunque la foto traiga texto */
.ik-hero.con-foto::after { background: linear-gradient(180deg, rgba(7, 7, 7, .62) 0%, rgba(7, 7, 7, .82) 55%, #070707 100%); }
.ik-hero-fondo img { filter: saturate(.9); }
.ik-hero-logo { position: absolute; right: -60px; top: 18px; width: 260px; height: 260px; border-radius: 50%; opacity: .14; z-index: -1; object-fit: cover; pointer-events: none; }
.ik-hero.con-foto .ik-hero-logo { display: none; }
.ik-glow { position: absolute; border-radius: 50%; filter: blur(70px); background: #F26B1D; pointer-events: none; z-index: -1; opacity: .3; animation: ikGlow 9s ease-in-out infinite; }
.ik-glow.g1 { width: 280px; height: 280px; left: -140px; top: 30px; }
.ik-glow.g2 { width: 240px; height: 240px; right: -110px; bottom: -70px; background: #FFB347; opacity: .18; animation-delay: -4s; }
@keyframes ikGlow { 0%, 100% { opacity: .22; transform: scale(1); } 50% { opacity: .36; transform: scale(1.1); } }
.ik-hero-int { max-width: 1100px; margin: 0 auto; padding: 26px 16px 26px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.ik-estado { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 99px; font-size: .74rem; font-weight: 800; letter-spacing: .02em; background: rgba(61, 220, 132, .12); color: #9BF2BE; border: 1px solid rgba(61, 220, 132, .38); }
.ik-estado::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #3DDC84; }
.ik-estado.cerrado { background: rgba(255, 138, 122, .12); color: #FFC2B8; border-color: rgba(255, 138, 122, .4); }
.ik-estado.cerrado::before { background: #FF8A7A; }
.ik-estado:empty { display: none; }
.ik-hero h1 { margin: 0; font-size: clamp(2.7rem, 12.5vw, 5rem); line-height: .9; color: #fff; text-shadow: 0 4px 30px rgba(0, 0, 0, .55); max-width: 14ch; overflow-wrap: anywhere; }
.ik-hero-bajada { margin: 0; font-size: 1rem; line-height: 1.5; color: #E2E2E2; max-width: 36rem; }
.ik-hero-bajada:empty, .ik-hero-info:empty { display: none; }
.ik-hero-info { margin: 0; font-size: .78rem; color: #B9B9B9; line-height: 1.5; }
.ik-hero-acciones { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; margin-top: 2px; }
.ik-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 26px; border-radius: 99px; background: #F26B1D; color: #0A0A0A !important; font-weight: 900; font-size: .95rem; text-decoration: none; box-shadow: 0 12px 30px -12px rgba(242, 107, 29, .9); }
.ik-cta.sec { background: rgba(255, 255, 255, .06); color: #fff !important; border: 1px solid rgba(255, 255, 255, .2); box-shadow: none; }

/* Promo del día (producto recomendado o promoción vigente) */
.ik-promo-dia {
  width: 100%; max-width: 460px; display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 12px;
  padding: 10px 12px 10px 10px; border-radius: 22px; text-align: left; cursor: pointer;
  background: rgba(18, 18, 18, .86); border: 1px solid rgba(242, 107, 29, .45); color: #fff;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.ik-promo-dia[hidden] { display: none; }
.ik-promo-dia .foto-prod { width: 72px; height: 72px; border-radius: 16px; border: 0; background: #1E1E1E; }
.ik-promo-dia .foto-prod span { font-size: 2rem; }
.ik-promo-dia small { display: block; font-size: .64rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: #FF9A5C; }
.ik-promo-dia b { display: block; font-size: .98rem; line-height: 1.25; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ik-promo-dia em { display: block; font-style: normal; font-weight: 800; color: #FF8A45; margin-top: 2px; }
.ik-promo-dia del { color: #9A9A9A; font-weight: 600; font-size: .78rem; margin-right: 6px; }
.ik-promo-dia .ik-flecha { width: 40px; height: 40px; border-radius: 50%; background: #F26B1D; color: #0A0A0A; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; font-size: 1.1rem; }

/* ---------- Cinta (marquesina lenta) ---------- */
.ik-cinta-wrap { overflow: hidden; padding: 12px 0 14px; }
.ik-cinta { background: #F26B1D; color: #0A0A0A; transform: rotate(-1.2deg); margin: 0 -12px; box-shadow: 0 10px 40px -12px rgba(242, 107, 29, .8); overflow: hidden; }
.ik-cinta-pista { display: flex; width: max-content; animation: ikMarquesina var(--dur, 45s) linear infinite; }
.ik-cinta:hover .ik-cinta-pista, .ik-cinta.pausa .ik-cinta-pista { animation-play-state: paused; }
.ik-cinta-pista span { font-family: 'Bebas Neue', 'Arial Narrow', sans-serif-condensed, sans-serif; font-size: 1.45rem; letter-spacing: .06em; white-space: nowrap; padding: 9px 0; line-height: 1; }
.ik-cinta-pista i { font-style: normal; padding: 0 18px; opacity: .7; }
@keyframes ikMarquesina { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Contenido ---------- */
.ik-carta .contenedor { max-width: 1100px; padding: 0 16px; }
.ik-info-mesa { margin: 6px 0 12px; padding: 14px 16px; border-radius: 20px; background: #121212; border: 1px solid rgba(242, 107, 29, .35); display: flex; flex-direction: column; gap: 4px; }
.ik-info-mesa[hidden] { display: none; }
.ik-info-mesa b { font-size: .98rem; }
.ik-info-mesa > span { font-size: .84rem; color: #C9C9C9; line-height: 1.45; }
.ik-info-mesa .ik-wifi { margin-top: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 14px; background: #1A1A1A; font-size: .86rem; color: #E5E5E5; }
.ik-info-mesa .ik-wifi code { font: 700 .88rem ui-monospace, SFMono-Regular, Menlo, monospace; background: #0A0A0A; color: #FFD2B5; padding: 2px 7px; border-radius: 7px; user-select: all; word-break: break-all; }
.ik-info-mesa .ik-wifi button { margin-left: auto; min-height: 40px; padding: 0 14px; border-radius: 99px; background: transparent; color: #FFB37A; border: 1px solid rgba(242, 107, 29, .6); font-weight: 800; font-size: .78rem; }
/* Salir del modo mesa: en el contenido (no en la cabecera fija) y con confirmación */
.ik-mesa-salida { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; font-size: .8rem; color: #BDBDBD; }
.ik-info-mesa .ik-wifi + .ik-mesa-salida { margin-top: 6px; }
.ik-mesa-salida button { min-height: 40px; padding: 0 4px; background: none; border: 0; color: #FFB37A; font-weight: 700; font-size: .8rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ik-info-mesa.solo-salida { margin: 4px 0 4px; padding: 0 2px; background: transparent; border-color: transparent; }
#bannerCerrado, #bannerRepetir, #bannerReserva, #bannerActivo { margin-top: 10px; }
/* Carrito guardado (o «Repetir») que quedó vacío con la carta de hoy: el aviso queda en la carta hasta cerrarlo */
.ik-aviso-carro { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 4px 4px 4px 14px; border-radius: 16px; background: rgba(255, 179, 71, .1); border: 1px solid rgba(255, 179, 71, .45); color: #FFD9A8; font-size: .84rem; line-height: 1.45; }
.ik-aviso-carro p { flex: 1; margin: 0; padding: 7px 0; }
.ik-aviso-carro button { flex: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: none; color: #FFD9A8; font-size: 1rem; cursor: pointer; }

.ik-carta .chips-cats {
  top: var(--alto-header, 61px); z-index: 50; margin: 8px -16px 0; padding: 10px 16px;
  background: rgba(7, 7, 7, .93); border-bottom: 1px solid rgba(255, 255, 255, .07); box-shadow: none;
}
.ik-carta .chip-cat { min-height: 42px; padding: 0 16px; background: #161616; border: 1px solid rgba(255, 255, 255, .1); color: #D2D2D2; font-weight: 700; }
.ik-carta .chip-cat.activo { background: #F26B1D; border-color: #F26B1D; color: #0A0A0A; }
.ik-carta .buscador { margin-top: 14px; }
.ik-carta .buscador input { width: 100%; min-height: 48px; background: #121212; border: 1px solid rgba(255, 255, 255, .1); color: #F5F5F5; box-shadow: none; border-radius: 16px; }
.ik-carta .buscador input::placeholder { color: #9A9A9A; }
.ik-carta .buscador input:focus { border-color: #F26B1D; box-shadow: 0 0 0 3px rgba(242, 107, 29, .2); }

.ik-seccion { margin-top: 30px; }
.ik-seccion[hidden] { display: none; }
.ik-kicker { display: block; font-size: .68rem; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; color: #FF9A5C; }
.ik-titulo { margin: 2px 0 14px; font-size: 2.2rem; line-height: 1; color: #fff; }
.ik-carta [id^="sec-"], .ik-carta #carta, .ik-carta #seccionPromos { scroll-margin-top: calc(var(--alto-header, 61px) + 70px); }

/* Categorías con foto */
.ik-cat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ik-cat-tile {
  position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 24px; padding: 0; cursor: pointer;
  background: #121212; border: 1px solid rgba(255, 255, 255, .09); color: #fff; text-align: left;
  transition: border-color .2s, transform .2s;
}
.ik-cat-tile:hover { border-color: rgba(242, 107, 29, .7); }
.ik-cat-tile:active { transform: scale(.98); }
.ik-cat-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ik-cat-tile .ik-emoji, .ik-patron {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 2.6rem;
  background: radial-gradient(circle at 30% 20%, rgba(242, 107, 29, .28), transparent 60%), repeating-linear-gradient(135deg, #141414 0 14px, #181818 14px 28px);
}
.ik-cat-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(7, 7, 7, .88) 100%); }
.ik-cat-tile span.ik-cat-txt { position: absolute; left: 12px; right: 12px; bottom: 10px; z-index: 1; }
.ik-cat-tile b { display: block; font-family: 'Bebas Neue', 'Arial Narrow', sans-serif-condensed, sans-serif; font-weight: 400; font-size: 1.5rem; letter-spacing: .04em; line-height: 1; }
.ik-cat-tile small { display: block; font-size: .7rem; color: #CFCFCF; margin-top: 3px; }

/* Títulos de las secciones de la carta */
.ik-carta .cat-titulo { font-family: 'Bebas Neue', 'Arial Narrow', sans-serif-condensed, sans-serif; font-weight: 400; font-size: 1.9rem; letter-spacing: .04em; text-transform: none; color: #fff; margin: 32px 2px 14px; }
.ik-carta .cat-titulo::after { background: linear-gradient(90deg, rgba(242, 107, 29, .7), rgba(255, 255, 255, .06)); }

/* Productos: foto 4:3 arriba, nombre, descripción en 2 líneas, precio naranjo y «+ Agregar» grande */
.ik-carta .lista-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ik-carta .item-carta {
  display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0; overflow: hidden;
  background: #121212; border: 1px solid rgba(255, 255, 255, .09); border-radius: 20px; box-shadow: none; transition: border-color .2s;
}
.ik-carta .item-carta:hover { border-color: rgba(255, 255, 255, .2); box-shadow: none; }
.ik-carta .item-carta:active { transform: none; border-color: rgba(242, 107, 29, .6); }
.ik-carta .item-carta.recomendado { border-color: rgba(242, 107, 29, .45); background: #121212; }
.ik-carta .item-carta .foto-wrap { position: relative; aspect-ratio: 4 / 3; width: 100%; grid-row: auto; }
.ik-carta .item-carta .foto-prod {
  width: 100%; height: 100%; border-radius: 0; border: 0;
  background: radial-gradient(circle at 30% 20%, rgba(242, 107, 29, .22), transparent 60%), repeating-linear-gradient(135deg, #151515 0 12px, #191919 12px 24px);
}
.ik-carta .item-carta .foto-prod span { font-size: 2.4rem; }
.ik-carta .item-carta .badge-cant { top: 8px; right: 8px; min-width: 26px; height: 26px; font-size: .78rem; background: #F26B1D; color: #0A0A0A; border: 2px solid #121212; }
.ik-carta .tag-recomendado { position: absolute; left: 8px; top: 8px; z-index: 2; margin: 0; background: rgba(7, 7, 7, .78); color: #FFB37A; border: 1px solid rgba(242, 107, 29, .5); font-size: .64rem; }
.ik-prod-cuerpo { flex: 1; display: flex; flex-direction: column; gap: 5px; padding: 11px 11px 12px; min-width: 0; }
.ik-prod-cuerpo h3 { margin: 0; font-size: .95rem; font-weight: 700; line-height: 1.25; color: #fff; overflow-wrap: anywhere; }
.ik-prod-nombre { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ik-carta .ik-prod-cuerpo .desc-menu { margin: 0; color: #B5B5B5; font-size: .76rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ik-prod-pie { margin-top: auto; padding-top: 4px; display: flex; flex-direction: column; gap: 8px; }
.ik-carta .ik-prod-pie .precio { color: #FF8A45; font-weight: 800; font-size: 1.05rem; white-space: nowrap; }
.ik-carta .ik-prod-pie .precio small { color: #B5B5B5; font-weight: 600; font-size: .7rem; margin-right: 3px; }
.ik-carta .btn-mas {
  width: 100%; min-width: 0; height: auto; min-height: 46px; padding: 0 10px; border-radius: 14px;
  background: #F26B1D; color: #0A0A0A; border: 0; box-shadow: none; font-size: .86rem; font-weight: 900; line-height: 1.1;
  display: flex; align-items: center; justify-content: center; gap: 6px; transition: background-color .2s, color .2s;
}
.ik-carta .btn-mas:hover { background: #FF8A45; }
.ik-carta .btn-mas.ok { background: #3DDC84; color: #04210F; }
.ik-agotado { align-self: flex-start; font-size: .72rem; font-weight: 800; color: #FFC2B8; background: rgba(255, 138, 122, .12); border: 1px solid rgba(255, 138, 122, .4); padding: 5px 10px; border-radius: 99px; }
.ik-carta .item-carta.agotado { opacity: 1; cursor: default; }
.ik-carta .item-carta.agotado .foto-prod { filter: grayscale(1) brightness(.55); }
.ik-carta .item-carta.agotado h3 { color: #A9A9A9; }
.ik-carta .skeleton-card { height: 230px; border-radius: 20px; background: #121212; display: block; }
.ik-carta .skeleton-card::after { background: linear-gradient(90deg, transparent 25%, rgba(255, 255, 255, .06) 50%, transparent 75%); background-size: 200% 100%; }
.ik-vacio { text-align: center; color: #B5B5B5; padding: 34px 10px; }

/* Promociones (oscuras) */
.ik-carta .seccion-promos { margin-top: 30px; }
.ik-carta .titulo-promos span { font-family: 'Bebas Neue', 'Arial Narrow', sans-serif-condensed, sans-serif; font-weight: 400; font-size: 1.9rem; letter-spacing: .04em; color: #fff; }
.ik-carta .titulo-promos small { color: #B5B5B5; }
.ik-carta .promo-card { background: #121212; border: 1px solid rgba(255, 255, 255, .09); box-shadow: none; border-radius: 24px; }
.ik-carta .promo-card.destacada { border-color: rgba(242, 107, 29, .6); box-shadow: 0 12px 40px -18px rgba(242, 107, 29, .7); }
.ik-carta .promo-foto { background: linear-gradient(145deg, #2A1406, #161616); }
.ik-carta .promo-etiqueta { background: rgba(242, 107, 29, .16); color: #FFB37A; }
.ik-carta .promo-cuerpo h3 { color: #fff; }
.ik-carta .promo-cuerpo p, .ik-carta .promo-cuerpo small { color: #BDBDBD; }
.ik-carta .promo-precios del { color: #9A9A9A; }
.ik-carta .promo-precios strong { color: #FF8A45; }
.ik-carta .promo-stock { background: rgba(255, 179, 71, .12); color: #FFD08A; }
.ik-carta .btn-promo { min-height: 44px; background: #F26B1D; color: #0A0A0A; }

/* Galería de Instagram */
.ik-galeria { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.ik-galeria a, .ik-galeria div { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 14px; background: #161616; }
.ik-galeria img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.ik-galeria a:hover img { transform: scale(1.05); }
.ik-ig-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; margin-top: 14px; padding: 0 18px; border-radius: 99px; text-decoration: none; font-weight: 800; font-size: .88rem; color: #fff; border: 1px solid rgba(255, 255, 255, .2); background: #161616; }
.ik-ig-btn svg { width: 18px; height: 18px; }

/* Nosotros */
.ik-nosotros { display: grid; gap: 12px; }
.ik-nos-card { position: relative; overflow: hidden; padding: 20px 18px; border-radius: 24px; background: #121212; border: 1px solid rgba(255, 255, 255, .09); }
.ik-nos-card h3 { margin: 0 0 8px; font-family: 'Bebas Neue', 'Arial Narrow', sans-serif-condensed, sans-serif; font-weight: 400; font-size: 1.6rem; letter-spacing: .05em; color: #FF9A5C; }
.ik-nos-card p { margin: 0 0 8px; color: #D6D6D6; font-size: .92rem; line-height: 1.65; }
.ik-nos-card p:last-child { margin-bottom: 0; }
.ik-nos-card.historia { background: linear-gradient(160deg, #1B110A, #121212 60%); border-color: rgba(242, 107, 29, .3); }
.ik-nos-card.historia .ik-glow { width: 200px; height: 200px; right: -80px; top: -80px; opacity: .2; }

/* Ubicación y horario */
.ik-carta .ik-ubicacion { margin: 0; padding: 20px 18px; text-align: left; background: #121212; border: 1px solid rgba(255, 255, 255, .09); border-radius: 24px; box-shadow: none; }
.ik-carta .ik-ubicacion p { color: #E5E5E5; font-size: .95rem; margin: 2px 0; }
.ik-carta .ik-ubicacion .ik-horario { color: #BDBDBD; font-size: .86rem; margin-top: 6px; }
.ik-botones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.ik-botones a { flex: 1 1 150px; }
.ik-carta .ik-como-llegar { margin: 0; min-height: 48px; padding: 0 18px; border-radius: 99px; background: #F26B1D; color: #0A0A0A; font-weight: 900; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.ik-carta .ik-boton-sec { min-height: 48px; padding: 0 18px; border-radius: 99px; background: #161616; color: #fff; border: 1px solid rgba(255, 255, 255, .18); font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: .9rem; }
.ik-carta .ik-boton-sec[hidden] { display: none; }
.ik-boton-sec svg { width: 18px; height: 18px; }

/* Pie */
.ik-carta .pie-carta { color: #9A9A9A; font-size: .78rem; padding: 34px 20px 18px; line-height: 1.8; }
.ik-carta .pie-carta a { color: #FF9A5C; }

/* Barra inferior del pedido (oscura) */
.ik-carta .barra-pedido { background: rgba(10, 10, 10, .96); border-top: 1px solid rgba(255, 255, 255, .09); box-shadow: 0 -10px 30px rgba(0, 0, 0, .5); }
.ik-carta .barra-int .info b { color: #E5E5E5; }
.ik-carta .barra-int .info span { color: #FF8A45; }
.ik-carta .btn-ver-pedido { min-height: 48px; background: #F26B1D; color: #0A0A0A; box-shadow: none; }

/* Aparición suave al hacer scroll (solo si el navegador lo permite y la persona no pidió menos movimiento) */
.ik-anim .ik-revelar { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1); }
.ik-anim .ik-revelar.visible { opacity: 1; transform: none; }

@media (min-width: 640px) {
  .ik-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ik-carta .lista-items { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  .ik-galeria { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .ik-nosotros { grid-template-columns: 1fr 1fr; }
  .ik-nos-card.historia { grid-column: 1 / -1; }
  .ik-hero-int { padding: 48px 24px 40px; }
  .ik-hero-logo { width: 380px; height: 380px; right: 4%; top: 30px; }
}
@media (min-width: 980px) {
  .ik-cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ik-carta .lista-items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ik-galeria { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
/* En celulares el botón del carrito queda solo con el ícono y el contador (su aria-label lo nombra),
   así «RESTO BAR» no se parte en dos líneas junto a Instagram y WhatsApp */
@media (max-width: 420px) {
  .ik-carrito span { display: none; }
}
@media (max-width: 360px) {
  .ik-header-fila { gap: 6px; padding: 8px 12px; }
  .ik-logo span { font-size: 1.45rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ik-cinta-pista, .ik-glow, .ik-header .banner-mesa .ik-punto, .ik-carrito.salto b { animation: none !important; }
  .ik-anim .ik-revelar { opacity: 1; transform: none; transition: none; }
  .ik-galeria img, .ik-cat-tile { transition: none; }
  .ik-galeria a:hover img { transform: none; }
  html { scroll-behavior: auto; }
}
