/* =========================================================
   Sr. Marbar · asistente que responde y arma pedidos
   ========================================================= */

/* ---------- Personaje flotante: entra asomándose, flota, parpadea, saluda, piensa y salta ---------- */
.chef-btn{position:fixed;right:16px;bottom:96px;z-index:41;width:96px;display:flex;flex-direction:column;align-items:center;animation:chefAsoma .9s cubic-bezier(.2,1.3,.4,1) 1.2s both,chefFlota 3.6s ease-in-out 2.1s infinite;transition:opacity .25s,visibility 0s;-webkit-tap-highlight-color:transparent}
.chef-cuerpo{position:relative;display:block;width:96px;line-height:0;transform-origin:50% 92%;transition:transform .2s}
.chef-fig{width:100%;height:auto;filter:drop-shadow(0 8px 14px rgba(70,8,5,.32))}
.chef-btn:hover .chef-cuerpo,.chef-btn:focus-visible .chef-cuerpo{transform:scale(1.06) rotate(-3deg)}
.chef-btn:focus-visible{outline:none}
.chef-btn:focus-visible .chef-tag{outline:3px solid var(--yellow);outline-offset:2px}
.chef-tag{position:relative;margin-top:-16px;background:linear-gradient(180deg,#B8121B,var(--red-d));color:#fff;font-family:var(--display);font-size:14px;line-height:1;padding:7px 12px 6px;border-radius:999px;border:2px solid #fff;box-shadow:0 4px 0 var(--red-dd),0 8px 18px rgba(70,8,5,.3);white-space:nowrap}
.chef-mano{position:absolute;left:-4px;top:30px;z-index:1;font-size:26px;line-height:1;opacity:0;transform-origin:70% 85%;pointer-events:none}
.chef-piensa{position:absolute;right:-4px;top:4px;z-index:1;display:flex;gap:3px;background:#fff;border-radius:999px;padding:6px 8px;box-shadow:var(--sh-2);opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;pointer-events:none}
.chef-btn.saluda .chef-cuerpo{animation:chefSaluda 1.5s ease-in-out 2}
.chef-btn.saluda .chef-mano{animation:chefMano 1.5s ease-in-out 2}
.chef-btn.pensando .chef-piensa{opacity:1;transform:none}
.chef-btn.pensando .chef-cuerpo{animation:chefPiensa 1.6s ease-in-out infinite}
.chef-btn.salta .chef-cuerpo{animation:chefSalta .75s cubic-bezier(.3,1.5,.5,1)}

/* Párpados (sobre los ojos del dibujo) */
.chef-parpado{position:absolute;background:#F4C382;border-bottom:1.5px solid #2B0B09;border-radius:50%;transform:scaleY(0);transform-origin:50% 0;animation:chefParpadea 7s infinite;pointer-events:none}
.chef-cuerpo .izq{left:42%;top:37.6%;width:11.3%;height:6.6%}
.chef-cuerpo .der{left:59.3%;top:39.1%;width:5.7%;height:4.9%}
.chef-hd-av .izq{left:42.6%;top:48.5%;width:18.9%;height:11.1%;animation-delay:1.3s}
.chef-hd-av .der{left:71.5%;top:51.1%;width:9.6%;height:8.2%;animation-delay:1.3s}

/* El chef del logo de la portada se esconde si el personaje queda encima */
.hp-chef{transition:opacity .3s}
.hp-chef.chef-tapado{opacity:0}

/* Lo que dice el personaje (reacciones cortas) */
.chef-dice{position:absolute;right:calc(100% + 6px);top:18px;background:#fff;color:var(--ink);font-family:var(--body);font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap;padding:8px 12px;border-radius:14px 14px 4px 14px;box-shadow:var(--sh-3);opacity:0;transform:translateX(8px) scale(.9);transform-origin:100% 100%;transition:opacity .25s,transform .3s cubic-bezier(.2,1.3,.4,1);pointer-events:none}
.chef-dice.on{opacity:1;transform:none}
/* Antojo con foto: se puede tocar para abrir el combo */
.chef-dice.producto{display:flex;align-items:center;gap:9px;padding:6px 12px 6px 6px;white-space:normal;width:max-content;max-width:250px;cursor:pointer;font-weight:500}
.chef-dice.producto.on{pointer-events:auto}
.chef-dice.producto img{width:54px;height:54px;border-radius:10px;object-fit:cover;flex-shrink:0}
.chef-dice.producto b{display:block;font-size:12.5px;color:var(--red)}

/* Gestos sueltos */
.chef-btn.asoma .chef-cuerpo{animation:chefEsconde 1.9s ease-in-out}
.chef-btn.mira .chef-cuerpo{animation:chefMira 2.4s ease-in-out}
.chef-btn.gira .chef-cuerpo{animation:chefGira 1.1s cubic-bezier(.3,1.4,.5,1)}

/* Dormido: ojos cerrados, respira y salen zetas */
.chef-zzz{position:absolute;right:2px;top:0;z-index:1;font-family:var(--display);color:var(--red-d);pointer-events:none}
.chef-zzz i{position:absolute;left:0;top:0;font-style:normal;font-size:14px;opacity:0;text-shadow:0 0 4px #fff,0 0 2px #fff}
.chef-btn.duerme{animation-play-state:paused}
.chef-btn.duerme .chef-zzz i{animation:chefZ 2.4s ease-in-out infinite}
.chef-btn.duerme .chef-zzz i:nth-child(2){animation-delay:.8s;font-size:17px}
.chef-btn.duerme .chef-zzz i:nth-child(3){animation-delay:1.6s;font-size:20px}
.chef-btn.duerme .chef-parpado{animation:none;transform:scaleY(1)}
.chef-btn.duerme .chef-cuerpo{animation:chefRespira 3s ease-in-out infinite}
.chef-btn.abierto{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility 0s .2s}

/* Puntos de "pensando / escribiendo" */
.chef-piensa i,.chef-escribe i{width:6px;height:6px;border-radius:50%;background:var(--red);animation:chefPunto 1s infinite}
.chef-piensa i:nth-child(2),.chef-escribe i:nth-child(2){animation-delay:.15s}
.chef-piensa i:nth-child(3),.chef-escribe i:nth-child(3){animation-delay:.3s}

/* ---------- Globo de saludo ---------- */
.chef-burbuja{position:fixed;right:124px;bottom:136px;z-index:41;max-width:240px;background:#fff;color:var(--ink);border-radius:18px 18px 4px 18px;padding:12px 34px 12px 14px;box-shadow:var(--sh-3);font-size:13.5px;line-height:1.4;cursor:pointer;animation:chefGlobo .45s cubic-bezier(.2,1.3,.4,1) both}
.chef-burbuja[hidden]{display:none}
.chef-burbuja b{display:block;color:var(--red)}
.chef-burbuja-x{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}
.chef-burbuja-x:hover{background:var(--cream)}
.chef-burbuja-x .ic{width:13px;height:13px}

/* ---------- Panel del chat ---------- */
.chef{position:fixed;z-index:90;right:22px;bottom:22px;width:min(410px,calc(100vw - 32px));height:min(680px,calc(100vh - 44px));background:var(--cream);border-radius:var(--r-xl);box-shadow:var(--sh-3);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(24px) scale(.97);transform-origin:100% 100%;transition:opacity .25s,transform .3s cubic-bezier(.2,1.2,.4,1),visibility 0s .3s}
.chef.on{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}

.chef-hd{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:var(--wine);color:#fff;flex-shrink:0}
.chef-hd-av{position:relative;display:block;width:44px;height:44px;border-radius:50%;border:2px solid var(--yellow);background:var(--cream);overflow:hidden;flex-shrink:0}
.chef-hd-av img{display:block;width:100%;height:100%}
.chef.pensando .chef-hd-av{animation:chefPiensa 1.6s ease-in-out infinite}
.chef.habla .chef-hd-av{animation:chefHabla .32s ease-in-out infinite alternate}
.chef-hd-t{flex:1;min-width:0}
.chef-hd h2{font-family:var(--display);font-weight:400;font-size:20px;line-height:1.1}
.chef-hd small{display:flex;align-items:center;gap:6px;font-size:12px;color:#FFE7A3}
.chef-hd small i{width:8px;height:8px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 3px rgba(74,222,128,.25);flex-shrink:0}
.chef-hd small .escribiendo,.chef.pensando .chef-hd small .linea{display:none}
.chef.pensando .chef-hd small .escribiendo{display:inline}
.chef-hd .x,.chef-reset{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);color:#fff;flex-shrink:0}
.chef-hd .x:hover,.chef-reset:hover{background:rgba(255,255,255,.26)}
.chef-reset .ic{width:17px;height:17px}

/* Mensajes */
.chef-msgs{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}
.chef-msg{display:flex;gap:8px;align-items:flex-end}
.chef-msg.nuevo{animation:chefEntra .3s ease-out both}
/* La respuesta aparece palabra por palabra; tarjetas y botones, después */
.chef-msg .w{opacity:0;animation:chefPalabra .22s ease-out forwards}
.chef-msg.nuevo > div > .chef-ops,.chef-msg.nuevo > div > .chef-op{animation:chefEntra .35s ease-out var(--tras,0s) both}
.chef-chips.espera button{animation:chefEntra .3s ease-out var(--tras,0s) both}
.chef-msg > p,.chef-msg > div > p{padding:10px 13px;border-radius:18px;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.chef-msg.el > div{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.chef-msg.el > div > p{background:#fff;color:var(--ink);border-bottom-left-radius:6px;box-shadow:var(--sh-1);max-width:94%}
.chef-msg.el > div > p b{color:var(--red-d)}
.chef-msg.yo{justify-content:flex-end}
.chef-msg.yo > p{background:var(--red);color:#fff;border-bottom-right-radius:6px;max-width:82%}
.chef-msg.error > div > p{background:var(--red-l);color:var(--red-dd);box-shadow:none}
.chef-av{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:var(--cream-d);border:1.5px solid #fff;box-shadow:var(--sh-1)}
.chef-msg.el > div > p.chef-escribe{display:flex;gap:4px;padding:14px 15px}

/* Opciones: cada una es una tarjeta con foto, precio y su propio botón */
.chef-ops{display:flex;gap:10px;width:100%;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--red) transparent}
.chef-op{flex:0 0 196px;scroll-snap-align:start;background:#fff;border:2px solid transparent;border-radius:18px;padding:8px;box-shadow:var(--sh-2);display:flex;flex-direction:column;gap:5px}
.chef-op.top{border-color:var(--yellow)}
.chef-op.unica{width:100%;max-width:330px}
.chef-op-img{position:relative;display:flex;gap:3px;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--cream-d)}
.chef-op.unica .chef-op-img{aspect-ratio:16/10}
.chef-op-img img{flex:1;min-width:0;width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.chef-op-lupa{position:absolute;right:8px;bottom:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--red);box-shadow:var(--sh-1);pointer-events:none}
.chef-op-lupa .ic{width:15px;height:15px}
.chef-op-nombre{font:inherit;font-weight:700;text-align:left;color:var(--ink);text-decoration:underline;text-decoration-color:rgba(165,14,23,.25);text-underline-offset:3px}
.chef-op-trae{align-self:flex-start;font-size:12.5px;font-weight:700;color:var(--red);padding:2px 0}
/* El producto abierto desde el chat se ve encima del chat */
.chef-ver #pmOv{z-index:94}
.chef-ver #pm{z-index:96}
.chef-op-img span{position:absolute;left:8px;top:8px;display:flex;align-items:center;gap:4px;background:var(--yellow);color:var(--red-dd);font-size:11px;font-weight:800;padding:4px 9px;border-radius:999px;box-shadow:0 3px 0 var(--gold-d)}
.chef-op-img span .ic{width:12px;height:12px}
.chef-op b{font-size:13.5px;line-height:1.25}
.chef-op small{font-size:11.5px;line-height:1.3;color:var(--muted)}
.chef-op-precio{margin-top:auto;font-weight:800;font-size:17px;color:var(--red)}
.chef-op .btn{padding:9px 10px;font-size:13.5px;gap:4px}
.chef-op .btn .ic{width:16px;height:16px}
.chef-op .btn:disabled{background:#E3F8EA;color:#14883E;box-shadow:none;cursor:default;transform:none}

/* Productos sugeridos (formato anterior) */
.chef-cards{display:flex;gap:10px;width:100%;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--red) transparent}
.chef-card{flex:0 0 152px;scroll-snap-align:start;background:#fff;border-radius:16px;padding:8px;box-shadow:var(--sh-1);display:flex;flex-direction:column;gap:4px}
.chef-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;background:var(--cream-d)}
.chef-card b{font-size:13px;line-height:1.25}
.chef-card small{font-size:11.5px;line-height:1.3;color:var(--muted)}
.chef-card span{margin-top:auto;font-weight:800;font-size:14.5px;color:var(--red)}
.chef-card .btn{padding:8px 10px;font-size:13px;gap:4px}
.chef-card .btn .ic,.chef-prop .btn .ic{width:16px;height:16px}

/* Pedido propuesto */
.chef-prop{width:100%;background:#fff;border-radius:18px;padding:14px;box-shadow:var(--sh-2);border-top:4px solid var(--yellow);display:flex;flex-direction:column;gap:8px}
.chef-prop-t{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14px;color:var(--red)}
.chef-prop-t .ic{width:17px;height:17px}
.chef-prop ul{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.chef-prop li{display:flex;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px dashed var(--cream-d)}
.chef-prop li small{color:var(--muted)}
.chef-prop li b{white-space:nowrap}
.chef-prop-tot{display:flex;justify-content:space-between;gap:10px;font-weight:800;font-size:15px}
.chef-prop-tot b{color:var(--red)}
.chef-prop > small{font-size:11.5px;color:var(--muted)}
.chef-card .btn:disabled,.chef-prop .btn:disabled{background:#E3F8EA;color:#14883E;box-shadow:none;cursor:default;transform:none}

/* Respuestas rápidas */
.chef-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 14px 10px;flex-shrink:0}
.chef-chips:empty{display:none}
.chef-chips button{background:#fff;border:1.5px solid var(--red);color:var(--red);font-weight:600;font-size:13px;padding:7px 13px;border-radius:999px;transition:background .15s,color .15s}
.chef-chips button:hover{background:var(--red);color:#fff}

/* Escribir */
.chef-form{display:flex;gap:8px;padding:10px 12px 8px;background:#fff;border-top:1px solid var(--line);flex-shrink:0}
.chef-form input{flex:1;min-width:0;border:1.5px solid var(--cream-d);background:var(--cream);border-radius:999px;padding:11px 16px;font-size:16px;color:var(--ink)}
.chef-form input:focus{outline:none;border-color:var(--red);background:#fff}
.chef-enviar{width:46px;height:46px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(180deg,#B8121B,var(--red-d));color:#fff;box-shadow:0 4px 0 var(--red-dd);transition:transform .12s,box-shadow .12s}
.chef-enviar:active{transform:translateY(2px);box-shadow:0 2px 0 var(--red-dd)}
.chef-enviar .ic{width:19px;height:19px;margin-left:-2px}
.chef-nota{flex-shrink:0;background:#fff;padding:0 12px calc(8px + env(safe-area-inset-bottom));font-size:11px;color:var(--muted);text-align:center}

/* ---------- Animaciones ---------- */
@keyframes chefFlota{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes chefSaluda{0%,100%{transform:rotate(0)}20%{transform:rotate(-8deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}
@keyframes chefMano{0%{opacity:0;transform:scale(.5) rotate(0)}15%{opacity:1;transform:scale(1) rotate(-22deg)}30%{transform:rotate(18deg)}45%{transform:rotate(-22deg)}60%{transform:rotate(16deg)}80%{opacity:1;transform:rotate(-8deg)}100%{opacity:0;transform:rotate(0)}}
@keyframes chefPiensa{0%,100%{transform:rotate(0)}50%{transform:rotate(4deg) translateY(-2px)}}
@keyframes chefPunto{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
@keyframes chefGlobo{from{opacity:0;transform:translateY(10px) scale(.9)}}
@keyframes chefEntra{from{opacity:0;transform:translateY(8px)}}
@keyframes chefAsoma{from{opacity:0;transform:translateX(160%) rotate(16deg)}to{opacity:1;transform:none}}
@keyframes chefParpadea{0%,44%,48%,90%,100%{transform:scaleY(0)}46%{transform:scaleY(1)}92%,96%{transform:scaleY(1)}94%{transform:scaleY(.15)}}
@keyframes chefSalta{0%{transform:none}35%{transform:translateY(-22px) rotate(-7deg) scale(1.06)}62%{transform:translateY(0) scale(1.04,.9)}80%{transform:translateY(-5px)}100%{transform:none}}
@keyframes chefHabla{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-1.5px) rotate(2deg)}}
@keyframes chefPalabra{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:none}}
@keyframes chefEsconde{0%{transform:none;opacity:1}28%,55%{transform:translateY(46px) scale(.9);opacity:0}72%{transform:translateY(-12px) rotate(-6deg);opacity:1}86%{transform:translateY(0) rotate(3deg)}100%{transform:none}}
@keyframes chefMira{0%,100%{transform:none}22%,72%{transform:translateX(-8px) rotate(-10deg)}}
@keyframes chefGira{0%{transform:none}50%{transform:translateY(-18px) rotateY(180deg)}100%{transform:rotateY(360deg)}}
@keyframes chefRespira{0%,100%{transform:none}50%{transform:scale(1.025,1.035) translateY(-1px)}}
@keyframes chefZ{0%{opacity:0;transform:translate(0,10px) scale(.6)}30%{opacity:1}100%{opacity:0;transform:translate(16px,-28px) scale(1.1)}}

/* ---------- Celular: encima de la barra inferior; el chat ocupa toda la pantalla ---------- */
@media (max-width:860px){
  .chef-btn{right:8px;bottom:calc(72px + env(safe-area-inset-bottom));width:68px}
  .chef-cuerpo{width:68px}
  .chef-dice{top:8px;font-size:12.5px;white-space:normal;width:max-content;max-width:min(200px,calc(100vw - 100px))}
  .chef-tag{display:none}
  .chef-mano{font-size:22px;top:18px;left:-8px}
  .chef-piensa{top:-2px;right:-6px}
  .chef-burbuja{right:82px;bottom:calc(92px + env(safe-area-inset-bottom));max-width:min(230px,calc(100vw - 100px));font-size:13px}
  .chef{inset:0;width:100%;height:100%;height:100dvh;border-radius:0;transform:translateY(100%);transform-origin:50% 100%}
  .chef.on{transform:none}
  .chef-hd{padding-top:calc(12px + env(safe-area-inset-top))}
}

@media (prefers-reduced-motion:reduce){
  .chef-btn,.chef-btn .chef-cuerpo,.chef-btn .chef-mano,.chef-hd-av,.chef-parpado,.chef-zzz i{animation:none!important}
  .chef-msg .w{opacity:1;animation:none}
}
