/* אזור ההכנה: רקע השולחן, כותרת, תוספות, פיצה, קבלה, פס תחתון במובייל, יד וגרירה */

/* רקע: שולחן הנירוסטה. חיתוך מהמרכז, כך שהבזיליקום והמגבת בקצוות נחתכים במסך צר */
.table-bg{position:fixed;inset:0;z-index:-1}
.table-bg img,.table-rise img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
/* המעבר מהדלפק: אותה תמונה בדיוק, קופצת מלמטה מעל הדלפק (lobby.js) */
.table-rise{position:fixed;inset:0;z-index:35;transform-origin:50% 100%;transform:translateY(100%);box-shadow:0 -24px 40px rgba(0,0,0,.45);will-change:transform}
.table-rise[hidden]{display:none}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}

/* כותרת */
.head{max-width:1280px;width:calc(100% - 32px);margin:12px auto 0;padding:12px 16px;background:var(--surface);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.logo{margin:0;line-height:0}
.logo img{display:block;height:clamp(58px,8vw,84px);width:auto;border-radius:12px}
.tag{margin:4px 0 0;color:var(--ink-soft);font-size:15px;max-width:42ch}
.wa{color:var(--green);font-weight:500}
.head-side{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kosher{font-size:13px;font-weight:500;border:1px solid var(--line);border-radius:999px;padding:3px 12px;color:var(--ink-soft);white-space:nowrap}
.back{all:unset;cursor:pointer;font-size:14px;font-weight:500;padding:6px 14px;border-radius:999px;background:var(--bg-2);color:var(--ink);white-space:nowrap}
.back:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* פריסה */
.app{max-width:1280px;margin:0 auto;padding:12px 16px 24px;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media (min-width:960px){
  .app{grid-template-columns:340px minmax(0,1fr) 300px;align-items:start}
  .panel,.receipt{position:sticky;top:calc(16px + env(safe-area-inset-top,0px))}
}

/* תוספות */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px}
.panel h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:24px;line-height:1.2}
#tp-title:focus{outline:none}
.hint{margin:4px 0 14px;color:var(--ink-soft);font-size:14.5px}
.presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 14px}
.presets .lbl{font-size:13.5px;color:var(--ink-soft);margin-inline-end:2px}
.preset{all:unset;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;border-radius:999px;border:1.5px solid var(--line);color:var(--ink)}
.preset:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media (hover:hover){.preset:hover{border-color:var(--green);background:var(--green-soft)}}
.click-label{margin:0 0 6px;font-size:13.5px;color:var(--ink-soft)}
.click-label[hidden],.seg[hidden],.presets[hidden],.spread-box[hidden],.grid li[hidden]{display:none}
/* מתג פיצה/טוסט */
.kind-seg{margin:0 0 14px}
.kind-seg span{font-size:16px;font-weight:700;padding-block:10px}
/* ממרחים */
.sub-h{margin:4px 0 2px;font-size:16px;font-weight:700}
.spread-note{margin:0 0 8px;font-size:13.5px;color:var(--ink-soft)}
.spread-box .grid{margin:6px 0 16px}
.spread-box .grid + .sub-h{margin-top:0}
.top .ico.dot{padding:0;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(0,0,0,.1)}
.grid{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.top{
  all:unset;box-sizing:border-box;width:100%;min-height:66px;cursor:grab;
  display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:10px;align-items:center;
  padding:10px;border-radius:14px;background:var(--bg);border:2px solid transparent;text-align:start;
  transition:border-color .15s,background-color .15s,opacity .15s,transform .15s;
  user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;
}
.top .ico{grid-row:1 / span 2;width:44px;height:44px;border-radius:50%;background:var(--paper);padding:4px;overflow:visible}
.top img.ico.bowl{padding:0;border-radius:10px;object-fit:cover;background:none}
.t-name{font-weight:500;font-size:15px;line-height:1.25}
.t-meta{font-size:12.5px;color:var(--ink-soft);line-height:1.3}
.top[aria-pressed="true"],.top.on{border-color:var(--green);background:var(--green-soft)}
.top.on .t-meta{color:var(--green);font-weight:500}
.top[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.top:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.top.picked{opacity:.45;transform:scale(.96)}
@media (hover:hover){.top:not([aria-disabled="true"]):hover{border-color:var(--line)}.top.on:hover{border-color:var(--green)}}

/* הפיצה */
.stage{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0}
.box{position:relative;width:min(100%,600px);aspect-ratio:1}
.box svg{display:block;width:100%;height:100%;filter:drop-shadow(0 18px 18px rgba(0,0,0,.35))}
#pizza{transform-box:view-box;transform-origin:200px 200px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
#halfOverlay{transition:opacity .25s}
.stage-foot{width:min(100%,600px);display:grid;gap:10px}
.count{margin:0;text-align:center;color:var(--ink);font-size:14.5px;font-weight:500;background:color-mix(in srgb,var(--surface) 80%,transparent);border-radius:999px;padding:2px 12px;justify-self:center}
#dropHint{position:absolute;top:-12px;left:50%;transform:translate(-50%,-6px);z-index:3;background:var(--ink);color:var(--bg);font-size:14px;font-weight:500;padding:6px 14px;border-radius:999px;white-space:nowrap;opacity:0;transition:opacity .15s,transform .15s;pointer-events:none}
body.dragging #dropHint{opacity:1;transform:translate(-50%,0)}
#guides{opacity:0;transition:opacity .2s}
body.dragging #guides{opacity:1}
#centerZone{transition:fill .15s}
#centerZone.hot{fill:rgba(255,255,255,.3)}

/* חתיכות תוספת */
.drop{transform-box:fill-box;transform-origin:center;animation:drop .45s cubic-bezier(.2,.9,.3,1.25) both;animation-delay:var(--d,0ms)}
@keyframes drop{from{opacity:0;transform:translateY(-28px) scale(1.55)}to{opacity:1;transform:none}}
.fly{transform-box:fill-box;transform-origin:center;animation:fly .5s cubic-bezier(.2,.8,.3,1.1) both;animation-delay:var(--d,0ms)}
@keyframes fly{from{opacity:0;transform:translate(var(--fx),var(--fy)) scale(.45)}25%{opacity:1}to{opacity:1;transform:none}}
.leaving{opacity:0;transition:opacity .18s}
/* ממרח "נמרח": מסתחרר ומתפשט מהמרכז */
.smear{transform-box:view-box;transform-origin:var(--sx,200px) var(--sy,200px);animation:smear .7s cubic-bezier(.2,.8,.3,1.1) both}
@keyframes smear{from{opacity:0;transform:rotate(-140deg) scale(.15)}45%{opacity:1}to{opacity:1;transform:none}}

/* קבלה */
.slip{position:relative;background:var(--surface);padding:22px 20px 24px;border-radius:4px 4px 0 0;box-shadow:0 20px 30px -24px rgba(0,0,0,.45);margin-bottom:12px}
.slip::after{content:"";position:absolute;inset-inline:0;bottom:-10px;height:10px;background:radial-gradient(circle at 7px 0,var(--surface) 6.6px,transparent 7.2px) 0 0 / 14px 10px repeat-x}
.slip-logo{display:block;height:54px;width:auto;margin:0 auto;border-radius:10px}
.slip h2{margin:6px 0 14px;text-align:center;font-size:15px;font-weight:500;color:var(--ink-soft)}
.lines{list-style:none;margin:0;padding:10px 0;border-block:1.5px dashed var(--line)}
.lines li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:5px 0;font-size:15px}
.lines .sub{display:block;font-size:12.5px;color:var(--ink-soft)}
.lines .price{display:flex;align-items:center}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.empty{color:var(--ink-soft);font-size:14px}
.ful{margin:14px 0 0;padding:0;border:0}
.ful legend{font-size:14px;color:var(--ink-soft);margin-bottom:6px;padding:0}
.zone{margin:12px 0 0;display:grid;gap:6px}
.zone[hidden]{display:none}
.zone label{font-size:14px;color:var(--ink-soft)}
.zone select{width:100%;min-height:44px;padding:8px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:15px}
.zone select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.zone select[aria-invalid="true"]{border-color:var(--red)}
.zone-note{margin:0;font-size:13px;color:var(--ink-soft)}
.zone-note:empty{display:none}
.zone-note a{color:var(--green);font-weight:500}
.zone-err{margin:0;font-size:14px;font-weight:500;color:var(--red)}
.total{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 14px;font-size:21px;font-weight:700}
.rm{all:unset;box-sizing:border-box;width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;color:var(--ink-soft);cursor:pointer;font-size:13px;margin-inline-start:4px}
.rm:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
@media (hover:hover){.rm:hover{background:var(--bg-2);color:var(--ink)}}
#rc-title:focus{outline:none}

/* כותרת תחתונה */
.foot{max-width:1280px;margin:0 auto;padding:0 16px 24px;text-align:center;font-size:14px}
.foot a{color:var(--ink);background:var(--surface);padding:4px 12px;border-radius:999px}

/* פס סה"כ במובייל */
.bar{position:fixed;inset-inline:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line)}
.bar b{font-size:19px}
.bar a{background:var(--red);color:var(--red-ink);text-decoration:none;font-weight:700;padding:11px 18px;border-radius:10px;white-space:nowrap;flex:none}
@media (min-width:960px){.bar{display:none}}

/* מובייל: הפיצה נשארת למעלה בזמן גלילה בתוספות */
@media (max-width:959px){
  body{padding-bottom:84px}
  .stage{order:-1;position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:rgba(190,196,199,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-inline:-16px;padding:8px 16px 10px;box-shadow:0 12px 14px -14px rgba(0,0,0,.45)}
  .box{width:min(100%,40vh)}
  .count{display:none}
  .stage-foot{width:min(100%,420px)}
}

/* יד וגרירה */
body.has-hand,body.has-hand *{cursor:none !important}
body.dragging{user-select:none;-webkit-user-select:none}
#hand{position:fixed;left:0;top:0;width:80px;height:84px;pointer-events:none;z-index:50;transform-origin:0 0;opacity:0;transition:opacity .15s;will-change:transform;filter:drop-shadow(0 10px 10px rgba(0,0,0,.28))}
#hand.show{opacity:1}
#hand svg{position:absolute;inset:0;width:80px;height:84px;overflow:visible}
#hand .h-grab{display:none}
#hand.grab .h-open{display:none}
#hand.grab .h-grab{display:block}
#hand.grab .pile{transform-box:fill-box;transform-origin:center;animation:pop .22s cubic-bezier(.2,.9,.3,1.4)}
@keyframes pop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
/* יד מצולמת (כפפה). הנקודה החמה נשארת כמו ביד המצוירת: פתוחה (23,4) = קצה האצבע, צובטת (40,18) = התוספת */
#hand .hp{display:none;position:absolute;max-width:none;pointer-events:none}
#hand.photo .h-open,#hand.photo .h-grab .glove{display:none}
#hand.photo:not(.grab) .hp-open{display:block}
#hand.photo.grab .hp-grab{display:block}
#hand .hp-open{width:66px;left:-10px;top:0}           /* קצה האצבע בתמונה: (33,0) */
#hand .hp-grab{width:100px;left:44px;top:-4px}        /* נקודת הצביטה בתמונה: (2.5,21.7) -> קצת ימינה מהתוספת, האצבעות עליה */

/* כניסה למטבח, אחרי שהשולחן קפץ: הכול "נוחת" עליו כמו במשחק */
body.entering-kitchen .head{animation:kdrop .7s cubic-bezier(.3,.7,.4,1) both}
body.entering-kitchen .panel{animation:kslide .65s cubic-bezier(.3,.7,.4,1) .12s both}
body.entering-kitchen .receipt{animation:kslide .65s cubic-bezier(.3,.7,.4,1) .2s both;--from:-110%}
body.entering-kitchen .stage .box{animation:kpop .7s cubic-bezier(.3,.7,.4,1) .18s both}
body.entering-kitchen .stage-foot{animation:kfade .4s ease .5s both}
body.entering-kitchen .grid li{animation:kpop .45s cubic-bezier(.3,.7,.4,1) both;animation-delay:calc(.4s + var(--i,0) * 45ms)}
@keyframes kdrop{0%{transform:translateY(-140%)}60%{transform:translateY(8%)}80%{transform:translateY(-3%)}100%{transform:none}}
@keyframes kslide{0%{opacity:0;transform:translateX(var(--from,110%))}60%{opacity:1;transform:translateX(calc(var(--from,110%) * -.06))}80%{transform:translateX(calc(var(--from,110%) * .02))}100%{transform:none}}
@keyframes kpop{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(1.12)}78%{transform:scale(.95)}100%{transform:none}}
@keyframes kfade{from{opacity:0}to{opacity:1}}

@media (prefers-reduced-motion: reduce){
  .drop,.fly,#hand.grab .pile{animation:none}
  #pizza,#halfOverlay,.top{transition:none}
  body.entering-kitchen *{animation:none!important}
  .smear{animation:none}
}
