/* food assistant 1.0.20 — fully RTL */
.ai-fab,.ai-panel,.ai-panel *{box-sizing:border-box}
.ai-fab{position:fixed;left:16px;bottom:20px;z-index:1040;display:flex;align-items:center;gap:.45rem;border:0;border-radius:999px;padding:.4rem .95rem .4rem .45rem;color:var(--c-on-primary,#fff);font:inherit;font-weight:800;font-size:.88rem;direction:rtl;background:linear-gradient(135deg,var(--c-primary,var(--c-primary)),var(--c-primary-strong));box-shadow:0 10px 28px rgba(var(--c-primary-rgb),.35);transition:transform .2s,box-shadow .2s,opacity .2s}
.ai-fab:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(var(--c-primary-rgb),.42)}
.ai-fab__ic{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);font-size:1.05rem;position:relative}
.ai-fab__ic::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid rgba(255,255,255,.45);animation:aiPulse 2.4s infinite}
@keyframes aiPulse{0%{transform:scale(.9);opacity:.9}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}
body.ai-open .ai-fab{opacity:0;pointer-events:none;transform:scale(.8)}
@media(max-width:991px){.ai-fab{bottom:78px;padding:.4rem}.ai-fab__t{display:none}}
.pzb-app .ai-fab{bottom:92px}
.ai-backdrop{position:fixed;inset:0;z-index:1049;background:rgba(15,10,5,.45);opacity:0;transition:opacity .22s}
.ai-backdrop.is-in{opacity:1}
.ai-panel{position:fixed;left:16px;bottom:16px;z-index:1050;width:min(410px,calc(100vw - 32px));height:min(640px,calc(100vh - 32px));display:flex;flex-direction:column;direction:rtl;text-align:right;background:var(--c-bg,#fff);color:var(--c-text,#1f1a17);border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(30,15,5,.28),0 0 0 1px rgba(0,0,0,.05);opacity:0;transform:translateY(18px) scale(.97);transform-origin:bottom left;transition:opacity .22s ease,transform .25s cubic-bezier(.22,1,.36,1)}
.ai-panel.is-in{opacity:1;transform:none}
.ai-panel[hidden]{display:none}
.ai-grab{display:none}
.ai-head{display:flex;align-items:center;gap:.6rem;padding:.75rem .9rem;color:var(--c-on-primary,#fff);background:linear-gradient(135deg,var(--c-primary,var(--c-primary)),var(--c-primary-strong))}
.ai-ava{position:relative;flex:0 0 40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:1.15rem;background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 2px rgba(255,255,255,.3)}
.ai-ava__dot{position:absolute;bottom:1px;left:1px;width:11px;height:11px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px var(--c-primary-strong)}
.is-busy .ai-ava__dot{background:#facc15}
.ai-head__t{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}
.ai-head__t b{font-size:.98rem}.ai-head__t small{font-size:max(12px, .72rem);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-x{flex:0 0 34px;height:34px;border:0;border-radius:50%;color:var(--c-on-primary,#fff);background:rgba(255,255,255,.14);display:grid;place-items:center;transition:background .2s}
.ai-x:hover{background:rgba(255,255,255,.28)}
.ai-log{flex:1;overflow-y:auto;padding:1rem .85rem .5rem;display:flex;flex-direction:column;gap:.55rem;background:var(--c-surface-2,var(--c-bg));scroll-behavior:smooth;overscroll-behavior:contain}
.ai-row{display:flex;flex-direction:column;align-items:flex-start;animation:aiIn .28s ease both}
.ai-row--me{align-items:flex-end}
@keyframes aiIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ai-msg{max-width:86%;padding:.6rem .8rem;border-radius:18px;font-size:.88rem;line-height:1.85;direction:rtl;text-align:right;unicode-bidi:plaintext;word-wrap:break-word}
.ai-msg p{margin:0}.ai-msg p+p,.ai-msg p+ul,.ai-msg ul+p{margin-top:.35rem}
.ai-msg ul{direction:rtl;text-align:right;margin:.2rem 0;padding:0 1.1rem 0 0;list-style:disc}
.ai-msg li{margin:.1rem 0}.ai-msg li::marker{color:var(--c-primary,var(--c-primary))}
.ai-msg--bot{background:var(--c-bg,#fff);border-top-right-radius:6px;box-shadow:0 2px 8px rgba(40,20,5,.06);border:1px solid rgba(0,0,0,.04)}
.ai-msg--me{color:var(--c-on-primary,#fff);background:linear-gradient(135deg,var(--c-primary,var(--c-primary)),var(--c-primary-strong));border-top-left-radius:6px}
.ai-typing{display:flex;gap:.3rem;padding:.8rem 1rem}
.ai-typing i{width:7px;height:7px;border-radius:50%;background:var(--c-primary,var(--c-primary));opacity:.35;animation:aiDot 1.2s infinite}
.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes aiDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.ai-row--cards{width:100%;align-items:stretch;gap:.5rem}
.ai-card{direction:rtl;text-align:right;background:var(--c-bg,#fff);border-radius:16px;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 14px rgba(40,20,5,.07);overflow:hidden}
.ai-card--pz{padding:.75rem}
.ai-card__top{display:flex;align-items:center;gap:.55rem}
.ai-card__badge{flex:0 0 38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--c-primary-hover),#b91c1c)}
.ai-card__ttl{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.4}
.ai-card__ttl b{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-card__ttl small{font-size:max(12px, .72rem);color:var(--c-muted,#8a7d73)}
.ai-card__price{font-size:.9rem;color:var(--c-primary,var(--c-primary));white-space:nowrap}
.ai-ings{direction:rtl;display:flex;flex-wrap:nowrap;gap:.35rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:.6rem 0 .65rem;-webkit-overflow-scrolling:touch}
.ai-ings::-webkit-scrollbar{display:none}
.ai-ing{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;font-size:max(12px, .74rem);padding:.18rem .5rem .18rem .3rem;border-radius:999px;background:var(--c-surface-2,var(--c-surface-2));border:1px solid rgba(0,0,0,.05)}
.ai-ing img{width:22px;height:22px;border-radius:50%;object-fit:cover}
.ai-ing>i{font-size:.42rem;color:var(--c-primary,var(--c-primary));margin-inline:.2rem}
.ai-ing em{font-style:normal;font-size:max(12px, .6rem);font-weight:800;color:var(--c-on-primary,#fff);background:var(--c-primary,var(--c-primary));border-radius:999px;padding:0 .35rem}
.ai-ing u{text-decoration:none;font-size:max(12px, .6rem);color:var(--c-primary,var(--c-primary));border:1px solid currentColor;border-radius:999px;padding:0 .3rem}
.ai-card__act{display:flex;gap:.45rem}
.ai-btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;border:0;border-radius:12px;padding:.5rem .75rem;font:inherit;font-size:max(12px, .8rem);font-weight:700;text-decoration:none;cursor:pointer;transition:transform .15s,filter .15s,background .2s}
.ai-btn:active{transform:scale(.97)}
.ai-btn--pri{flex:1;color:var(--c-on-primary,#fff);background:var(--c-primary,var(--c-primary))}.ai-btn--pri:hover{filter:brightness(1.08);color:var(--c-on-primary,#fff)}
.ai-btn--ghost{color:var(--c-primary,var(--c-primary));background:rgba(var(--c-primary-rgb),.08)}.ai-btn--ghost:hover{background:rgba(var(--c-primary-rgb),.15)}
.ai-btn.is-done{background:#16a34a}
.ai-btn.is-load{opacity:.7;pointer-events:none}
.ai-btn--sm{flex:0 0 auto;width:38px;height:38px;padding:0;border-radius:12px}
.ai-items{display:flex;flex-direction:column;gap:.45rem}
.ai-card--item{display:flex;align-items:center;gap:.6rem;padding:.5rem}
.ai-card__img{flex:0 0 58px;height:58px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:var(--c-surface-2,var(--c-surface-2));color:var(--c-muted,#8a7d73);font-size:1.3rem}
.ai-card__img img{width:100%;height:100%;object-fit:cover}
.ai-card__b{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.5}
.ai-card__b a{color:inherit;text-decoration:none;font-weight:700;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-card__d{font-size:max(12px, .7rem);color:var(--c-muted,#8a7d73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-card__b b{font-size:max(12px, .8rem);color:var(--c-primary,var(--c-primary))}
.ai-na{font-size:max(12px, .72rem);color:#dc2626}
.ai-chips{direction:rtl;display:flex;flex-wrap:nowrap;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding:.55rem .85rem;background:var(--c-surface-2,var(--c-bg));border-top:1px solid rgba(0,0,0,.04);transition:max-height .25s,padding .25s,opacity .2s;max-height:60px}
.ai-chips::-webkit-scrollbar{display:none}
.ai-chips button{flex:0 0 auto;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;border:1px solid rgba(var(--c-primary-rgb),.25);background:var(--c-bg,#fff);color:var(--c-primary,var(--c-primary));border-radius:999px;padding:.32rem .7rem;font:inherit;font-size:max(12px, .76rem);font-weight:600;transition:background .2s,transform .15s}
.ai-chips button:hover{background:rgba(var(--c-primary-rgb),.08)}.ai-chips button:active{transform:scale(.96)}
.ai-chips.is-min{max-height:44px;padding:.35rem .85rem}
.ai-chips.is-min button{font-size:max(12px, .7rem);padding:.22rem .55rem}.ai-chips.is-min button i{display:none}
.ai-form{display:flex;align-items:flex-end;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--c-bg,#fff);border-top:1px solid rgba(0,0,0,.06);direction:rtl}
.ai-form textarea{flex:1;resize:none;min-height:42px;max-height:120px;border:1px solid rgba(0,0,0,.1);border-radius:21px;padding:.55rem .9rem;font:inherit;font-size:.88rem;line-height:1.6;direction:rtl;text-align:right;background:var(--c-surface-2,var(--c-bg));color:inherit;outline:0;transition:border-color .2s,box-shadow .2s}
.ai-form textarea:focus{border-color:var(--c-primary,var(--c-primary));box-shadow:0 0 0 3px rgba(var(--c-primary-rgb),.12)}
.ai-send{flex:0 0 42px;height:42px;border:0;border-radius:50%;color:var(--c-on-primary,#fff);background:var(--c-primary,var(--c-primary));display:grid;place-items:center;transition:transform .15s,opacity .2s}
.ai-send i{transform:scaleX(-1)}
.ai-send:disabled{opacity:.4}.ai-send:not(:disabled):active{transform:scale(.92)}
[data-theme=dark] .ai-panel{background:var(--c-surface);color:var(--c-text)}
[data-theme=dark] .ai-log,[data-theme=dark] .ai-chips{background:var(--c-bg)}
[data-theme=dark] .ai-msg--bot,[data-theme=dark] .ai-card,[data-theme=dark] .ai-chips button,[data-theme=dark] .ai-form{background:var(--c-surface-2);border-color:rgba(255,255,255,.07)}
[data-theme=dark] .ai-form textarea,[data-theme=dark] .ai-ing{background:var(--c-bg);border-color:rgba(255,255,255,.1)}
@media(max-width:640px){
  .ai-panel{left:0;right:0;bottom:0;width:100%;height:calc(100dvh - 10px);max-height:none;border-radius:22px 22px 0 0;transform:translateY(100%);transform-origin:bottom center;transition:opacity .2s,transform .3s cubic-bezier(.2,.9,.3,1)}
  .ai-panel.is-in{transform:none}
  .ai-grab{display:block;position:absolute;top:6px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:rgba(255,255,255,.5);z-index:2}
  .ai-head{padding-top:1rem}
  .ai-msg{max-width:90%}
  .ai-form textarea{font-size:16px}
  body.ai-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.ai-panel,.ai-row,.ai-fab,.ai-fab__ic::after,.ai-typing i{animation:none!important;transition:none!important}}
.ai-fab__new{display:none;position:absolute;top:2px;right:4px;width:12px;height:12px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px var(--c-surface,#fff)}.ai-fab.has-new .ai-fab__new{display:block}
.ai-log{overflow-x:hidden}
.ai-row,.ai-card,.ai-items,.ai-card__top{min-width:0;max-width:100%}
.ai-row--cards{width:100%}
.ai-ings{max-width:100%;mask-image:linear-gradient(to left,#000 88%,transparent)}
/* 1.0.21: right side, solid primary, user bubbles on the right */
.ai-fab{left:auto;right:16px;background:var(--c-primary,var(--c-primary));box-shadow:0 8px 22px rgba(0,0,0,.18)}
.ai-fab__new{right:auto;left:4px}
.ai-panel{left:auto;right:16px;transform-origin:bottom right}
.ai-head,.ai-msg--me,.ai-card__badge{background:var(--c-primary,var(--c-primary))}
.ai-ava__dot{left:auto;right:1px;box-shadow:0 0 0 2px var(--c-primary,var(--c-primary))}
.ai-row{align-items:flex-end}
.ai-row--me{align-items:flex-start}
.ai-row--cards{align-items:stretch}
.ai-msg--bot{border-top-right-radius:18px;border-top-left-radius:6px}
.ai-msg--me{border-top-left-radius:18px;border-top-right-radius:6px}
@media(max-width:640px){.ai-panel{left:0;right:0}}

/* 1.0.22 quick replies */
.ai-qr{flex-direction:row;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}
.ai-qr button{border:1px solid var(--c-primary,var(--c-primary));background:var(--c-bg,#fff);color:var(--c-primary,var(--c-primary));border-radius:999px;padding:.35rem .8rem;font:inherit;font-size:max(12px, .8rem);font-weight:700;transition:background .15s,color .15s}
.ai-qr button:hover{background:var(--c-primary,var(--c-primary));color:var(--c-on-primary,#fff)}
.modal-backdrop.show~.ai-panel,body.modal-open .ai-panel{z-index:1050}

/* 1.0.25: soft M3-style elevation for floating buttons (light+dark tuned via palette --elev-*) */
html body .ai-fab{box-shadow:var(--elev-fab,0 6px 16px rgba(0,0,0,.25))}
html body .ai-fab:hover,html body .ai-fab:focus-visible{box-shadow:var(--elev-fab-hover,0 10px 24px rgba(0,0,0,.3))}
html body .ai-send{box-shadow:0 3px 10px rgba(var(--c-primary-rgb),.3)}

/* 1.0.27: chips owned by each product card */
.ai-card--item{flex-wrap:wrap}
.ai-vchips{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .6rem .6rem;border-top:1px dashed var(--c-line-soft,rgba(0,0,0,.08))}
.ai-vchips button{border:1px solid rgba(var(--c-primary-rgb),.35);background:var(--c-surface,#fff);color:var(--c-primary-strong,var(--c-primary));border-radius:999px;padding:.28rem .7rem;font:inherit;font-size:max(12px, .78rem);font-weight:700;cursor:pointer;transition:background .15s,color .15s,transform .1s}
.ai-vchips button:hover{background:var(--c-primary-soft)}
.ai-vchips button:active{transform:scale(.96)}
.ai-vchips button.is-picked{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}
.ai-vchips button.is-picked::before{content:"✓ "}
.ai-vchips button.is-load{opacity:.6;pointer-events:none}
.ai-vchips__more{border-style:dashed!important;color:var(--c-muted)!important}
.ai-card.is-pulse{animation:aiPulseCard .6s}
@keyframes aiPulseCard{50%{box-shadow:0 0 0 3px rgba(var(--c-primary-rgb),.35)}}

/* 1.0.27: mic / recording */
.ai-form{position:relative}
.ai-mic{flex:0 0 42px;height:42px;border:1px solid rgba(var(--c-primary-rgb),.3);border-radius:50%;display:grid;place-items:center;background:var(--c-surface,#fff);color:var(--c-primary-strong,var(--c-primary));font-size:1.05rem;cursor:pointer;transition:background .2s,color .2s,transform .15s}
.ai-mic:hover{background:var(--c-primary-soft)}
.ai-mic:active{transform:scale(.92)}
.ai-mic.is-rec{background:var(--c-danger,#be123c);border-color:var(--c-danger,#be123c);color:var(--c-on-red,#fff)}
.ai-mic.is-load{pointer-events:none;opacity:.6}
.ai-mic.is-load i{animation:aiSpin 1s linear infinite}
@keyframes aiSpin{to{transform:rotate(360deg)}}
.ai-rec{position:absolute;inset:.45rem .6rem;z-index:3;display:flex;align-items:center;gap:.55rem;padding:0 .4rem 0 .7rem;border-radius:999px;background:var(--c-surface-2,#f6f1ee);color:var(--c-ink);border:1px solid var(--c-line);box-shadow:0 4px 14px rgba(0,0,0,.12)}
.ai-rec[hidden]{display:none}
.ai-rec__dot{width:10px;height:10px;border-radius:50%;background:var(--c-danger,#be123c);animation:aiRecBlink 1s infinite}
@keyframes aiRecBlink{50%{opacity:.25}}
.ai-rec__t{font-weight:800;font-variant-numeric:tabular-nums;min-width:2.6rem}
.ai-rec__hint{flex:1;font-size:max(12px, .76rem);color:var(--c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-rec__wave{display:inline-flex;gap:2px;align-items:center;height:18px}
.ai-rec__wave i{width:3px;height:6px;border-radius:2px;background:var(--c-primary);animation:aiWave 1s ease-in-out infinite}
.ai-rec__wave i:nth-child(2){animation-delay:.15s}.ai-rec__wave i:nth-child(3){animation-delay:.3s}.ai-rec__wave i:nth-child(4){animation-delay:.45s}.ai-rec__wave i:nth-child(5){animation-delay:.6s}
@keyframes aiWave{50%{height:18px}}
.ai-rec__x,.ai-rec__ok{flex:none;width:34px;height:34px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.ai-rec__x{background:transparent;color:var(--c-muted)}
.ai-rec__ok{background:var(--c-primary);color:var(--c-on-primary)}
@media(prefers-reduced-motion:reduce){.ai-rec__dot,.ai-rec__wave i,.ai-mic.is-load i{animation:none}}
