/* Experiencia premium del menú (ver premium.js). Paleta de la marca: negro, rojo var(--cta) y amarillo var(--gold). */

/* ═════════ Tarjetas: se tocan para abrir la ficha ═════════ */
.menu-item[data-item]{cursor:pointer;position:relative}
.menu-item[data-item]:active{transform:scale(.992)}
.menu-item .item-thumb{cursor:pointer}

/* ═════════ Ficha del platillo ═════════ */
body.fk-lock{overflow:hidden}
.fk-sheet{position:fixed;inset:0;z-index:1200;pointer-events:none}
.fk-sheet-bg{position:absolute;inset:0;background:rgba(4,4,4,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease}
.fk-card{position:absolute;left:0;right:0;bottom:0;max-height:92vh;max-height:92dvh;display:flex;flex-direction:column;
  background:linear-gradient(180deg,#171717,#0e0e0e);border-radius:26px 26px 0 0;border:1px solid rgba(255,255,255,.08);border-bottom:0;
  box-shadow:0 -24px 60px rgba(0,0,0,.6);transform:translateY(105%);transition:transform .42s cubic-bezier(.2,.9,.25,1);overflow:hidden}
.fk-sheet.open{pointer-events:auto}
.fk-sheet.open .fk-sheet-bg{opacity:1}
.fk-sheet.open .fk-card{transform:none}
.fk-card::before{content:"";position:absolute;top:8px;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:9px;background:rgba(255,255,255,.28);z-index:3}
.fk-x{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.14);
  background:rgba(10,10,10,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;cursor:pointer}
.fk-x svg{width:18px;height:18px;stroke:#fff;stroke-width:2.2;fill:none;stroke-linecap:round}
.fk-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1}
.fk-photo{position:relative;aspect-ratio:1/1;max-height:52vh;width:100%;overflow:hidden;background:#111;cursor:zoom-in}
.fk-photo img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.06);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.fk-sheet.open .fk-photo img{transform:scale(1)}
.fk-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,transparent,#151515);pointer-events:none}
.fk-zoom{position:absolute;right:14px;bottom:18px;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(10,10,10,.55);display:grid;place-items:center}
.fk-zoom svg{width:17px;height:17px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round}
.fk-photo.sin-foto{aspect-ratio:auto;height:150px;display:grid;place-items:center;cursor:default;background:radial-gradient(circle at 50% 60%,rgba(238,28,46,.22),transparent 70%)}
.fk-photo.sin-foto img.fk-logo{width:96px;height:96px;object-fit:contain;transform:none}
.fk-photo.sin-foto::after{display:none}
.fk-body{padding:4px 22px 18px;position:relative;z-index:1}
.fk-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.fk-badge{background:var(--gold);color:#0b0b0b;padding:3px 8px;border-radius:6px;letter-spacing:.08em}
.fk-name{font-family:"Archivo Black",sans-serif;font-size:1.65rem;line-height:1.08;color:#fff;margin:.45rem 0 .25rem;letter-spacing:-.01em}
.fk-note{display:inline-block;font-size:.78rem;font-weight:700;color:#0b0b0b;background:rgba(255,210,31,.9);padding:2px 9px;border-radius:999px;margin:.2rem 0 .1rem}
.fk-desc{font-size:.95rem;line-height:1.55;color:rgba(245,245,245,.78);margin:.6rem 0 0}
.fk-opts{margin-top:1.2rem;padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.fk-opts.pide{animation:fk-pide .45s ease;border-color:var(--cta)}
@keyframes fk-pide{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.fk-opts-t{display:flex;align-items:center;justify-content:space-between;font-weight:800;color:#fff;font-size:.92rem;margin-bottom:10px}
.fk-opts-t span{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:rgba(255,210,31,.12);padding:3px 8px;border-radius:6px}
.fk-pills{display:flex;flex-wrap:wrap;gap:8px}
.fk-pill{min-height:42px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.16);background:transparent;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .18s ease}
.fk-pill.on{background:var(--cta);border-color:var(--cta);box-shadow:0 8px 20px -6px rgba(238,28,46,.7);transform:translateY(-1px)}
.fk-bar{display:flex;gap:10px;align-items:center;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.07);background:rgba(12,12,12,.96)}
.fk-qty{display:flex;align-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.14);height:52px;flex:0 0 auto}
.fk-qty button{width:44px;height:52px;background:none;border:0;color:#fff;font-size:1.35rem;cursor:pointer}
.fk-qty b{min-width:22px;text-align:center;color:#fff;font-size:1.05rem;font-variant-numeric:tabular-nums}
.fk-add{flex:1;height:52px;border-radius:999px;border:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 22px;
  background:linear-gradient(135deg,#ff3347,var(--cta) 55%,#b30c22);color:#fff;font-weight:800;font-size:1rem;box-shadow:0 14px 30px -10px rgba(238,28,46,.8),inset 0 1px 0 rgba(255,255,255,.25)}
.fk-add.falta{justify-content:center;background:#2a2a2a;box-shadow:none;color:rgba(255,255,255,.85)}
.fk-add:disabled{justify-content:center;background:#2a2a2a;color:rgba(255,255,255,.5);box-shadow:none;cursor:not-allowed}
.fk-add-p{font-variant-numeric:tabular-nums}
@media(min-width:820px){
  .fk-card{left:50%;right:auto;top:50%;bottom:auto;width:min(920px,92vw);max-height:86vh;border-radius:28px;border:1px solid rgba(255,255,255,.08);
    transform:translate(-50%,-46%) scale(.96);opacity:0;transition:transform .35s cubic-bezier(.2,.9,.25,1),opacity .25s ease}
  .fk-sheet.open .fk-card{transform:translate(-50%,-50%);opacity:1}
  .fk-card::before{display:none}
  .fk-scroll{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch}
  .fk-photo{aspect-ratio:auto;max-height:none;height:100%;min-height:440px}
  .fk-photo::after{display:none}
  .fk-photo.sin-foto{height:100%}
  .fk-body{padding:34px 30px 22px}
  .fk-name{font-size:2rem}
  .fk-bar{position:absolute;right:0;bottom:0;width:calc(100% / 2.05);border-top:1px solid rgba(255,255,255,.07)}
  .fk-scroll{padding-bottom:0}
  .fk-body{padding-bottom:96px}
}

/* ═════════ Agotado hoy ═════════ */
.menu-item.is-agotado{opacity:.55}
.menu-item.is-agotado .item-thumb img{filter:grayscale(1)}
.menu-item.is-agotado .add-btn{background:#333!important;box-shadow:none!important;cursor:not-allowed}
.fk-agotado{position:absolute;top:12px;left:12px;z-index:2;background:#f5f5f5;color:#0b0b0b;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.4)}
.cart-item.is-agotado{opacity:.7}
.cart-item-op{font-size:.75rem;font-weight:600;color:var(--gold);margin-top:2px;font-family:"Montserrat",sans-serif;letter-spacing:0;text-transform:none}
.cart-item-op.agotado{color:#ff6b78}

/* ═════════ Sugerencias en el carrito ═════════ */
.fk-upsell{margin:14px 0 6px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.fk-upsell-t{font-weight:800;font-size:.95rem;color:#fff;margin:0 0 10px;font-family:"Montserrat",sans-serif}
.fk-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px;scrollbar-width:none}
.fk-rail::-webkit-scrollbar{display:none}
.fk-mini{flex:0 0 116px;scroll-snap-align:start;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:#fff;font-family:"Montserrat",sans-serif}
.fk-mini-img{position:relative;display:block;width:116px;height:116px;border-radius:16px;overflow:hidden;background:#1b1b1b;border:1px solid rgba(255,255,255,.08)}
.fk-mini-img img{width:100%;height:100%;object-fit:cover;display:block}
.fk-mini-plus{position:absolute;right:7px;bottom:7px;width:30px;height:30px;border-radius:50%;background:var(--cta);color:#fff;display:grid;place-items:center;font-size:1.2rem;font-weight:700;box-shadow:0 6px 14px rgba(238,28,46,.55)}
.fk-mini-n{display:block;font-weight:700;font-size:.8rem;line-height:1.2;margin-top:7px}
.fk-mini-p{display:block;font-size:.78rem;color:var(--gold);font-weight:700;margin-top:2px}
.fk-mini-p small{color:rgba(245,245,245,.5);font-weight:500}

/* ═════════ Repetir mi último pedido ═════════ */
.fk-ultimo{display:flex;align-items:center;gap:14px;max-width:860px;margin:1.2rem auto .4rem;padding:14px 16px;border-radius:20px;
  background:linear-gradient(135deg,rgba(238,28,46,.14),rgba(255,210,31,.06));border:1px solid rgba(255,210,31,.22);box-shadow:0 18px 40px -22px rgba(238,28,46,.6)}
@media(max-width:900px){.fk-ultimo{margin-left:1rem;margin-right:1rem}}
.fk-ultimo-fotos{display:flex;flex:0 0 auto}
.fk-ultimo-fotos img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #111;background:#1b1b1b}
.fk-ultimo-fotos img+img{margin-left:-14px}
.fk-ultimo-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fk-ultimo-k{font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.fk-ultimo-txt b{color:#fff;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fk-ultimo-s{font-size:.78rem;color:rgba(245,245,245,.65)}
.fk-ultimo-btn{flex:0 0 auto;height:42px;padding:0 18px;border-radius:999px;border:0;background:var(--cta);color:#fff;font-weight:800;font-size:.88rem;cursor:pointer;box-shadow:0 10px 22px -8px rgba(238,28,46,.8)}

/* ═════════ Barra flotante del pedido (celular) ═════════ */
.fk-cb-txt{display:none}
@media(max-width:768px){
  .cart-bubble.visible{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:0 8px 0 18px;height:58px;border-radius:18px;justify-content:flex-start;gap:12px}
  .cart-bubble.visible>svg{display:none}
  .cart-bubble.visible .cart-count{order:-1;width:30px;height:30px;font-size:.85rem}
  .cart-bubble.visible .fk-cb-txt{display:block;flex:1;font-size:.95rem;font-weight:800}
  .cart-bubble.visible #cart-label{background:rgba(0,0,0,.22);padding:9px 14px;border-radius:12px;font-size:.95rem;font-variant-numeric:tabular-nums}
  body.fk-con-pedido .ig-float{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  body.fk-con-pedido .toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
  body.fk-con-pedido .footer{padding-bottom:6.5rem}
}
@media(prefers-reduced-motion:reduce){.fk-card,.fk-sheet-bg,.fk-photo img{transition:none!important}}
@media(max-width:768px){.cart-bubble.visible.fx-brinca{animation:fk-latido .45s cubic-bezier(.2,.8,.2,1)}}
@keyframes fk-latido{35%{transform:scale(1.035)}70%{transform:scale(.99)}}

/* ═════════ Seguimiento del pedido ═════════ */
.fk-seg-pill{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:520;display:flex;align-items:center;gap:12px;
  padding:10px 14px 10px 16px;border-radius:999px;border:1px solid rgba(255,210,31,.35);background:rgba(16,16,16,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:#fff;text-align:left;cursor:pointer;box-shadow:0 18px 40px -12px rgba(0,0,0,.8),0 0 0 4px rgba(255,210,31,.06);font-family:"Montserrat",sans-serif;max-width:calc(100vw - 24px)}
.fk-seg-pill small{display:block;white-space:nowrap;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.fk-seg-pill b{display:block;font-size:.95rem;font-weight:800;white-space:nowrap}
.fk-seg-pill svg{width:18px;height:18px;stroke:rgba(255,255,255,.6);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.fk-seg-dot{position:relative;width:10px;height:10px;border-radius:50%;background:var(--gold);flex:0 0 auto}
.fk-seg-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--gold);animation:fk-onda 1.8s ease-out infinite}
@keyframes fk-onda{from{transform:scale(.6);opacity:1}to{transform:scale(1.7);opacity:0}}
.fk-seg-pill.listo{border-color:rgba(34,197,94,.45)}.fk-seg-pill.listo .fk-seg-dot{background:#22C55E}.fk-seg-pill.listo .fk-seg-dot::after{display:none}
.fk-seg-pill.cancelado{border-color:rgba(238,28,46,.5)}.fk-seg-pill.cancelado .fk-seg-dot{background:var(--cta)}.fk-seg-pill.cancelado .fk-seg-dot::after{display:none}
.fk-seg-pill.cambio{animation:fk-cambio .7s cubic-bezier(.2,.8,.2,1)}
@keyframes fk-cambio{30%{transform:translateX(-50%) scale(1.08)}60%{transform:translateX(-50%) scale(.97)}}
/* Con pedido en el carrito, la píldora sube encima de la barra */
body.fk-con-pedido .fk-seg-pill{bottom:calc(82px + env(safe-area-inset-bottom,0px))}
@media(min-width:769px){.fk-seg-pill{left:24px;transform:none;bottom:24px}.fk-seg-pill.cambio{animation:none}body.fk-con-pedido .fk-seg-pill{bottom:24px;left:auto;right:96px}}
@media(max-width:768px){body.fk-con-seg:not(.fk-con-pedido) .ig-float{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}

.fk-seg{position:fixed;inset:0;z-index:1250;pointer-events:none}
.fk-seg-bg{position:absolute;inset:0;background:rgba(4,4,4,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.fk-seg-card{position:absolute;left:0;right:0;bottom:0;padding:26px 22px calc(22px + env(safe-area-inset-bottom,0px));border-radius:26px 26px 0 0;
  background:linear-gradient(180deg,#171717,#0e0e0e);border:1px solid rgba(255,255,255,.08);border-bottom:0;transform:translateY(105%);transition:transform .42s cubic-bezier(.2,.9,.25,1);max-height:90vh;overflow-y:auto}
.fk-seg.open{pointer-events:auto}.fk-seg.open .fk-seg-bg{opacity:1}.fk-seg.open .fk-seg-card{transform:none}
@media(min-width:769px){.fk-seg-card{left:50%;right:auto;top:50%;bottom:auto;width:440px;border-radius:26px;border:1px solid rgba(255,255,255,.08);transform:translate(-50%,-46%);opacity:0;transition:transform .3s,opacity .25s}
  .fk-seg.open .fk-seg-card{transform:translate(-50%,-50%);opacity:1}}
.fk-seg-k{font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.fk-seg-t{font-family:"Archivo Black",sans-serif;font-size:1.7rem;color:#fff;margin:.35rem 0 .2rem;line-height:1.1}
.fk-seg-sub{font-size:.85rem;color:rgba(245,245,245,.6)}
.fk-seg-pasos{list-style:none;margin:20px 0 6px;padding:0}
.fk-seg-pasos li{position:relative;display:flex;gap:14px;padding:0 0 18px;color:rgba(245,245,245,.38)}
.fk-seg-pasos li:not(:last-child)::before{content:"";position:absolute;left:10px;top:22px;bottom:2px;width:2px;background:rgba(255,255,255,.1)}
.fk-seg-pasos li.hecho:not(:last-child)::before{background:var(--cta)}
.fk-seg-i{position:relative;z-index:1;flex:0 0 22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.18);background:#111}
.fk-seg-pasos li.hecho .fk-seg-i{background:var(--cta);border-color:var(--cta)}
.fk-seg-pasos li.hecho .fk-seg-i::after{content:"";position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fk-seg-pasos li.ahora{color:#fff}
.fk-seg-pasos li.ahora .fk-seg-i{border-color:var(--gold);background:radial-gradient(circle,var(--gold) 0 4px,#111 5px)}
.fk-seg-pasos li.ahora .fk-seg-i::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--gold);animation:fk-onda 1.8s ease-out infinite}
.fk-seg-pasos li.hecho{color:rgba(245,245,245,.75)}
.fk-seg-pasos li.cancel .fk-seg-i{background:var(--cta);border-color:var(--cta)}
.fk-seg-pasos b{display:block;font-size:.98rem;line-height:22px}
.fk-seg-pasos p{margin:2px 0 0;font-size:.85rem;color:rgba(245,245,245,.7)}
.fk-seg-pie p{font-size:.8rem;color:rgba(245,245,245,.5);margin:0 0 12px}
.fk-seg-wa{display:block;text-align:center;padding:13px;border-radius:14px;border:1px solid rgba(37,211,102,.4);color:#25D366;font-weight:700;text-decoration:none;font-size:.9rem}
.fk-seg-ok{display:block;width:100%;margin-top:10px;height:48px;border-radius:14px;border:0;background:var(--cta);color:#fff;font-weight:800;font-size:.95rem;cursor:pointer}
.fk-seg-resena{display:block;text-align:center;margin-bottom:10px;padding:14px;border-radius:14px;background:linear-gradient(135deg,rgba(255,210,31,.16),rgba(255,210,31,.06));border:1px solid rgba(255,210,31,.4);color:#fff;font-weight:800;text-decoration:none;font-size:.92rem}
.fk-seg-resena span{display:block;color:var(--gold);letter-spacing:.2em;font-size:1.05rem;margin-bottom:3px}
