/* Online sipariş vitrini — mobil öncelikli */
@font-face{font-family:'PJS';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/pjs-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'PJS';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/pjs-latinext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bg:#F3F3F6;--card:#fff;--ink:#16161A;--ink2:#3B3B44;--muted:#73737F;--line:#ECECF0;--line2:#E1E1E7;
  --ok:#12A150;--ok-soft:#E7F7EE;--warn:#E8890C;--warn-soft:#FFF5E6;--danger:#E0262F;--danger-soft:#FDECEC;
  --r:18px;--r-sm:12px;--sh:0 1px 2px rgba(16,16,24,.05),0 4px 16px rgba(16,16,24,.06);
  --sh-lg:0 10px 40px rgba(16,16,24,.18);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);
  --ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:'PJS',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-size:15px;line-height:1.45;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}
body.lock{overflow:hidden}
img{max-width:100%;display:block}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
input,select,textarea{font:inherit;color:inherit}
.ic{width:20px;height:20px;flex-shrink:0}
.muted{color:var(--muted)}.small{font-size:13px}.pad{padding:12px 16px}
[hidden]{display:none!important}
.wrap{max-width:1200px;margin:0 auto}

/* ---------- Kapak ---------- */
.hero{position:relative;height:210px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));overflow:hidden}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0,rgba(0,0,0,0) 45%,rgba(0,0,0,.15) 100%);pointer-events:none}
.hero-bar{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;justify-content:space-between;padding:calc(12px + var(--safe-t)) 14px 0}
.hero-actions{display:flex;gap:8px}
.hbtn{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.15);color:var(--ink)}
.hbtn .ic{width:19px;height:19px}

/* ---------- Restoran kartı ---------- */
.layout{position:relative}
.store{position:relative;background:var(--card);border-radius:24px 24px 0 0;margin-top:-26px;padding:46px 16px 16px;z-index:3}
.store-logo{position:absolute;top:-38px;left:16px;width:76px;height:76px;border-radius:20px;background:var(--card);padding:3px;box-shadow:0 4px 16px rgba(0,0,0,.14)}
.store-logo img,.store-logo span{width:100%;height:100%;border-radius:17px;object-fit:cover}
.store-logo span{display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-size:32px;font-weight:800}
.store-head h1{font-size:23px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.slogan{color:var(--muted);font-size:14px;margin-top:2px}
.store-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chip{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:600;background:var(--bg)}
.chip .ic{width:14px;height:14px}
.chip-rate{color:#B25E00;background:#FFF4E0}.chip-rate .ic{fill:#F5A300;stroke:#F5A300}.chip-rate span{color:var(--muted);font-weight:500}
.chip i{width:7px;height:7px;border-radius:50%;background:currentColor}
.chip-open{color:var(--ok);background:var(--ok-soft)}.chip-closed{color:var(--danger);background:var(--danger-soft)}

.mode{display:flex;background:var(--bg);border-radius:14px;padding:4px;margin-top:14px;gap:4px}
.mode button{flex:1;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:14.5px;color:var(--muted);transition:.2s}
.mode button .ic{width:18px;height:18px}
.mode button.on{background:var(--card);color:var(--brand);box-shadow:0 1px 3px rgba(0,0,0,.08)}

.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.fact{display:flex;align-items:center;gap:8px;padding:10px 10px;min-width:0}
.fact+.fact{border-left:1px solid var(--line)}
.fact>.ic{width:18px;height:18px;color:var(--brand);display:none}
.fact b{display:block;font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fact span{display:block;font-size:11.5px;color:var(--muted)}
.fact div{min-width:0}
.zone-pick{display:flex;align-items:center;gap:10px;width:100%;margin-top:10px;padding:10px 12px;border-radius:14px;background:var(--brand-soft);text-align:left}
.zone-pick>.ic:first-child{color:var(--brand)}
.zone-pick span{flex:1;min-width:0}.zone-pick small{display:block;font-size:11.5px;color:var(--muted)}.zone-pick b{font-size:14px}
.free-note{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;font-weight:600;color:var(--ok)}
.free-note .ic{width:17px;height:17px}

.closed-box,.announce{display:flex;gap:12px;align-items:flex-start;margin:10px 12px 0;padding:12px 14px;border-radius:16px;font-size:13.5px}
.closed-box{background:var(--danger-soft);color:#7C1217}.closed-box b{display:block;font-size:14.5px}.closed-box .ic{color:var(--danger);margin-top:2px}
.announce{background:var(--warn-soft);color:#6B3D00;font-weight:600}.announce .ic{color:var(--warn);margin-top:1px}

/* ---------- Aktif sipariş ---------- */
.ao{display:flex;align-items:center;gap:12px;margin:10px 12px 0;padding:12px 14px;border-radius:16px;background:var(--ink);color:#fff}
.ao-ic{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;flex-shrink:0}
.ao-ic .ic{width:22px;height:22px}
.ao div{flex:1;min-width:0}.ao b{display:block;font-size:14.5px}.ao span{font-size:12.5px;opacity:.75}
.ao>.ic{opacity:.7}
.ao .pulse{animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.45}}

/* ---------- Kampanya / kupon ---------- */
.hscroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.hscroll::-webkit-scrollbar{display:none}
.hscroll>*{scroll-snap-align:start;flex-shrink:0}
.promo{padding:12px 12px 2px;scroll-padding:12px}
.bn{position:relative;width:min(84vw,340px);aspect-ratio:2/1;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;display:block}
.bn img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bn::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62) 0,rgba(0,0,0,.25) 60%,rgba(0,0,0,0) 100%)}
.bn-txt{position:absolute;left:16px;right:30%;bottom:16px;z-index:1;display:flex;flex-direction:column;gap:3px}
.bn-txt b{font-size:19px;line-height:1.15;font-weight:800;letter-spacing:-.01em}
.bn-txt span{font-size:12.5px;opacity:.92}
.bn-badge{align-self:flex-start;background:var(--brand);color:var(--brand-ink);font-weight:800;font-size:11.5px!important;opacity:1!important;padding:3px 8px;border-radius:6px;margin-bottom:2px}
.cp{display:flex;align-items:stretch;width:min(76vw,290px);border-radius:18px;background:var(--card);border:1.5px dashed rgba(var(--brand-rgb),.45);text-align:left;overflow:hidden}
.cp-val{display:flex;flex-direction:column;justify-content:center;align-items:center;width:84px;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:22px;line-height:1}
.cp-val small{font-size:11px;font-weight:700;margin-top:4px}
.cp-txt{flex:1;padding:12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.cp-txt b{font-size:14px;line-height:1.25}.cp-txt span{font-size:12px;color:var(--muted)}
.cp-txt code{font-family:inherit;font-weight:800;color:var(--ink)}
.cp-txt em{font-style:normal;font-size:12px;font-weight:700;color:var(--brand)}

/* ---------- Kategori çubuğu ---------- */
.catbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 0 8px 10px;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.6) blur(10px);-webkit-backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--line)}
.catbar.stuck{box-shadow:0 4px 14px rgba(0,0,0,.06)}
.cat-search{width:38px;height:38px;border-radius:50%;background:var(--bg);display:grid;place-items:center;flex-shrink:0}
.cat-search .ic{width:18px;height:18px}
.cat-scroll{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-right:12px;scroll-behavior:smooth}
.cat-scroll::-webkit-scrollbar{display:none}
.cat-tab{flex-shrink:0;height:38px;display:flex;align-items:center;padding:0 15px;border-radius:999px;font-weight:700;font-size:14px;color:var(--ink2);white-space:nowrap;transition:background .2s,color .2s}
.cat-tab.on{background:var(--brand);color:var(--brand-ink)}

/* ---------- Bölümler & ürünler ---------- */
.sec{background:var(--card);padding:18px 16px 6px;margin-top:8px;scroll-margin-top:58px}
.sec-title{font-size:20px;font-weight:800;letter-spacing:-.015em}
.sec-desc{color:var(--muted);font-size:13px;margin-top:2px}
.plist{margin-top:6px}
.pr{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer;position:relative}
.pr:last-child{border-bottom:0}
.pr-body{flex:1;min-width:0;display:flex;flex-direction:column}
.pr-name{font-size:15.5px;font-weight:700;line-height:1.3}
.pr-desc{font-size:13px;color:var(--muted);margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}
.pr-price{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:8px}
.price{font-weight:800;font-size:15.5px}
.pr-price s,.pc-price s{color:var(--muted);font-size:13px}
.disc{font-size:11.5px;font-weight:800;color:var(--brand);background:var(--brand-soft);padding:2px 6px;border-radius:6px}
.pr-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.tg{font-size:11px;font-weight:700;padding:3px 7px;border-radius:6px;background:var(--bg);color:var(--ink2)}
.tg-new{background:#EAF2FF;color:#1D5BD8}.tg-hot{background:var(--brand-soft);color:var(--brand)}.tg-chef{background:#F3ECFF;color:#6B35C9}
.tg-deal{background:#FFF1E0;color:#B85C00}.tg-spicy{background:#FDECEC;color:#C81E1E}.tg-veg,.tg-gf{background:var(--ok-soft);color:#0B7A3B}
.pr-media{position:relative;width:108px;height:108px;flex-shrink:0;border-radius:16px;background:var(--bg)}
.pr-media img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.pr-media.noimg{width:40px;height:auto;background:none;align-self:center}
.pr-media.noimg .add{position:static}
.add{position:absolute;right:6px;bottom:6px;min-width:36px;height:36px;padding:0 6px;border-radius:999px;background:var(--card);color:var(--brand);display:grid;place-items:center;box-shadow:0 2px 10px rgba(0,0,0,.16);font-weight:800;font-size:15px;transition:transform .15s}
.add .ic{width:20px;height:20px;stroke-width:2.6}
.add.has{background:var(--brand);color:var(--brand-ink)}
.add:active{transform:scale(.9)}
.bump{animation:bump .35s var(--ease)}
@keyframes bump{40%{transform:scale(1.18)}}
.soldout{cursor:default}
.soldout .pr-media img,.soldout .pc-media img{filter:grayscale(1);opacity:.5}
.soldout .pr-name,.soldout .price{color:var(--muted)}
.sold-badge{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);background:rgba(22,22,26,.85);color:#fff;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.pr-media.noimg .sold-badge{position:static;transform:none;display:inline-block}

.pop{margin:12px -16px 10px;padding:0 16px;scroll-padding:16px}
.pc{width:148px;cursor:pointer}
.pc-media{position:relative;width:148px;height:148px;border-radius:18px;background:var(--bg)}
.pc-media img{width:100%;height:100%;object-fit:cover;border-radius:18px}
.pc-media.noimg{display:grid;place-items:center;color:var(--muted)}
.pc-media.noimg>.ic{width:40px;height:40px;opacity:.5}
.pc-price{margin-top:8px;display:flex;gap:6px;align-items:baseline}
.pc-name{font-size:13.5px;font-weight:600;line-height:1.3;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;text-align:center;color:var(--muted)}
.empty .ic{width:44px;height:44px;opacity:.4;margin-bottom:6px}
.empty b{color:var(--ink);font-size:16px}

.foot{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:28px 16px calc(110px + var(--safe-b));color:var(--muted);font-size:13px}
.foot b{color:var(--ink);font-size:15px}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0}
.foot-links a,.foot-links button{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;border-radius:999px;background:var(--card);color:var(--ink);font-weight:600;font-size:13px;box-shadow:var(--sh)}
.foot-links .ic{width:16px;height:16px}
.foot small{font-size:11.5px;opacity:.8;margin-top:6px}

/* ---------- Sepet çubuğu ---------- */
.cartbar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 12px calc(10px + var(--safe-b));background:linear-gradient(180deg,rgba(243,243,246,0),rgba(243,243,246,.9) 35%)}
.cartbar button{width:100%;height:56px;border-radius:16px;background:var(--brand);color:var(--brand-ink);display:flex;align-items:center;gap:12px;padding:0 16px 0 10px;box-shadow:0 8px 24px rgba(var(--brand-rgb),.38);font-weight:700;font-size:15.5px}
.cb-count{min-width:34px;height:34px;padding:0 6px;border-radius:10px;background:rgba(0,0,0,.16);display:grid;place-items:center;font-weight:800}
.cb-lbl{flex:1;text-align:left}
.cb-total{font-size:16.5px;font-weight:800}

/* ---------- Örtü, sayfa altı panel (sheet), ekran ---------- */
.scrim{position:fixed;inset:0;background:rgba(10,10,14,.5);opacity:0;pointer-events:none;transition:opacity .28s;z-index:40}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--card);border-radius:24px 24px 0 0;max-height:94vh;max-height:94dvh;display:flex;flex-direction:column;transform:translateY(105%);transition:transform .34s var(--ease);box-shadow:var(--sh-lg);visibility:hidden}
.sheet.open{transform:none;visibility:visible}
.sheet-auto{max-height:80vh;max-height:80dvh}
.sh-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--line)}
.sh-bar b{font-size:17px}
.sh-x{width:36px;height:36px;border-radius:50%;background:var(--bg);display:grid;place-items:center}
.sh-x .ic{width:18px;height:18px}
.sh-scroll{overflow-y:auto;flex:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.sh-float{position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.sh-grab{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:40px;height:4px;border-radius:4px;background:rgba(255,255,255,.85);z-index:3}
.sh-img{position:relative;aspect-ratio:4/3;max-height:40vh;width:100%;background:var(--bg);border-radius:24px 24px 0 0;overflow:hidden}
.sh-img img{width:100%;height:100%;object-fit:cover}
.sh-img.noimg{aspect-ratio:auto;height:56px;max-height:none}
.sh-info{padding:16px}
.sh-info h2{font-size:21px;font-weight:800;letter-spacing:-.015em;line-height:1.25}
.sh-info p{color:var(--muted);font-size:14px;margin-top:6px}
.sh-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.sh-meta .price{font-size:19px}
.portion{font-size:12.5px;font-weight:600;color:var(--muted);background:var(--bg);padding:3px 8px;border-radius:6px}
.grp{border-top:8px solid var(--bg);padding:14px 16px 4px}
.grp-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px}
.grp-h b{font-size:16px;display:block}
.grp-h small{font-size:12.5px;color:var(--muted)}
.req{flex-shrink:0;font-size:11.5px;font-weight:800;padding:4px 8px;border-radius:7px;background:var(--bg);color:var(--ink2)}
.req.need{background:var(--brand-soft);color:var(--brand)}
.req.done{background:var(--ok-soft);color:var(--ok)}
.grp.err .grp-h b,.grp.err .req{color:var(--danger)}
.grp.err .req{background:var(--danger-soft)}
.grp.err{animation:shake .4s}
@keyframes shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.opt{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer;user-select:none}
.opt:last-child{border-bottom:0}
.opt input{position:absolute;opacity:0;pointer-events:none}
.ob{width:22px;height:22px;flex-shrink:0;border:2px solid #C7C8D0;border-radius:7px;display:grid;place-items:center;transition:.15s;color:transparent}
.ob .ic{width:14px;height:14px;stroke-width:3.2}
.opt input[type=radio]+.ob{border-radius:50%}
.opt input:checked+.ob{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.opt input[type=radio]:checked+.ob{background:var(--card);border-width:7px;border-color:var(--brand)}
.opt input[type=radio]:checked+.ob .ic{display:none}
.opt-n{flex:1;font-size:15px}
.opt-p{font-size:14px;font-weight:600;color:var(--ink2)}
.opt.dis{opacity:.42;cursor:not-allowed}
.opt .so{font-size:11.5px;font-weight:700;color:var(--danger);margin-left:6px}
.note-in{width:100%;min-height:64px;resize:vertical;padding:11px 13px;border:1.5px solid var(--line2);border-radius:var(--r-sm);font-size:14.5px;margin:6px 0 12px;outline:0;background:var(--card)}
.note-in:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.sh-foot{display:flex;gap:10px;padding:12px 16px calc(12px + var(--safe-b));border-top:1px solid var(--line);background:var(--card)}

.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line2);border-radius:14px;height:52px;flex-shrink:0}
.stepper button{width:42px;height:100%;display:grid;place-items:center;color:var(--brand)}
.stepper button:disabled{color:var(--line2)}
.stepper .ic{width:19px;height:19px;stroke-width:2.6}
.stepper span{min-width:26px;text-align:center;font-weight:800;font-size:16px}
.stepper.sm{height:36px;border-radius:11px}
.stepper.sm button{width:34px}.stepper.sm .ic{width:16px;height:16px}.stepper.sm span{min-width:20px;font-size:14.5px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 18px;border-radius:14px;font-weight:700;font-size:15px;transition:transform .12s,opacity .2s}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--brand);color:var(--brand-ink);height:52px;flex:1;justify-content:space-between;padding:0 18px;font-size:15.5px}
.btn-primary.center{justify-content:center}
.btn-primary:disabled,.btn-primary.off{background:#C9CAD2;color:#fff;box-shadow:none}
.btn-ghost{background:var(--bg);color:var(--ink)}
.btn-block{width:100%}
.link{color:var(--brand);font-weight:700;font-size:14px}

.screen{position:fixed;inset:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .34s var(--ease);visibility:hidden}
.screen.open{transform:none;visibility:visible}
.scr-head{display:flex;align-items:center;gap:8px;min-height:58px;padding:calc(6px + var(--safe-t)) 10px 6px;background:var(--card);border-bottom:1px solid var(--line);flex-shrink:0}
.scr-head h2{flex:1;font-size:17.5px;font-weight:800}
.scr-back{width:42px;height:42px;border-radius:50%;display:grid;place-items:center}
.scr-back .ic{width:24px;height:24px}
.scr-body{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:16px}
.scr-foot{padding:12px 16px calc(12px + var(--safe-b));background:var(--card);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.04);flex-shrink:0}
.scr-foot .btn-primary{width:100%}
.search-box{flex:1;display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:14px;background:var(--bg)}
.search-box input{flex:1;border:0;background:none;outline:0;font-size:16px;min-width:0}
.search-box .ic{color:var(--muted);width:18px;height:18px}
#searchResults .plist{background:var(--card);padding:0 16px;margin-top:0}

/* ---------- Kartlar (sepet / ödeme) ---------- */
.card{background:var(--card);border-radius:var(--r);margin:12px 12px 0;padding:16px;box-shadow:var(--sh)}
.card-t{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;margin-bottom:12px}
.card-t .ic{width:19px;height:19px;color:var(--brand)}
.store-mini{display:flex;align-items:center;gap:12px}
.store-mini .lg{width:44px;height:44px;border-radius:12px;overflow:hidden;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-weight:800;font-size:18px;flex-shrink:0}
.store-mini .lg img{width:100%;height:100%;object-fit:cover}
.store-mini b{display:block;font-size:15px}.store-mini span{font-size:12.5px;color:var(--muted)}
.cl{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.cl:first-child{padding-top:0}.cl:last-child{border-bottom:0;padding-bottom:0}
.cl-img{width:56px;height:56px;border-radius:12px;object-fit:cover;flex-shrink:0;background:var(--bg)}
.cl-main{flex:1;min-width:0}
.cl-name{font-weight:700;font-size:14.5px;line-height:1.3}
.cl-opts{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.4}
.cl-note{font-size:12.5px;color:var(--ink2);margin-top:3px;font-style:italic}
.cl-edit{font-size:12.5px;font-weight:700;color:var(--brand);margin-top:6px;display:inline-flex;align-items:center;gap:4px}
.cl-edit .ic{width:13px;height:13px}
.cl-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px}
.cl-price{font-weight:800;font-size:14.5px;white-space:nowrap}
.ups{display:flex;gap:10px;margin:0 -16px;padding:0 16px;scroll-padding:16px}
.up{width:128px;border-radius:14px;border:1px solid var(--line);overflow:hidden;cursor:pointer;background:var(--card)}
.up-img{position:relative;height:88px;background:var(--bg)}
.up-img img{width:100%;height:100%;object-fit:cover}
.up-img .add{width:32px;min-width:32px;height:32px;right:6px;bottom:6px}
.up-img .add .ic{width:17px;height:17px}
.up-b{padding:8px 10px 10px}
.up-b b{display:block;font-size:13px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:32px}
.up-b span{font-size:13px;font-weight:800;margin-top:4px;display:block}

.sum{display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.sum div{display:flex;justify-content:space-between;gap:12px}
.sum span{color:var(--ink2)}
.sum .free{color:var(--ok);font-weight:700}
.sum .dis b{color:var(--ok)}
.sum .tot{border-top:1px dashed var(--line2);padding-top:10px;margin-top:2px;font-size:17px}
.sum .tot span{color:var(--ink);font-weight:800}.sum .tot b{font-weight:800}
.prog{margin-top:12px;padding:12px;border-radius:14px;background:var(--bg);font-size:13px;font-weight:600}
.prog-bar{height:6px;border-radius:6px;background:var(--line2);margin-top:8px;overflow:hidden}
.prog-bar i{display:block;height:100%;border-radius:6px;background:var(--brand);transition:width .4s var(--ease)}
.prog.ok{background:var(--ok-soft);color:#0B7A3B}.prog.ok i{background:var(--ok)}

.fld{display:block;margin-bottom:12px}
.fld>span{display:block;font-size:13px;font-weight:700;color:var(--ink2);margin-bottom:6px}
.fld>span em{font-style:normal;font-weight:500;color:var(--muted)}
.in{width:100%;height:50px;padding:0 14px;border:1.5px solid var(--line2);border-radius:var(--r-sm);background:var(--card);font-size:16px;outline:0;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
textarea.in{height:auto;min-height:84px;padding:12px 14px;resize:vertical;line-height:1.4}
select.in{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2373737F' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:40px}
.in:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.fld.err .in{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}
.fld .msg{display:none;font-size:12.5px;color:var(--danger);font-weight:600;margin-top:5px}
.fld.err .msg{display:block}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.choice{display:flex;flex-direction:column;gap:8px}
.ch{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1.5px solid var(--line2);border-radius:14px;cursor:pointer;transition:.15s}
.ch input{position:absolute;opacity:0;pointer-events:none}
.ch .ch-ic{width:38px;height:38px;border-radius:10px;background:var(--bg);display:grid;place-items:center;flex-shrink:0;color:var(--ink2)}
.ch .ch-ic .ic{width:20px;height:20px}
.ch .ch-t{flex:1;font-weight:700;font-size:14.5px}
.ch .ch-t small{display:block;font-weight:500;color:var(--muted);font-size:12.5px}
.rad{width:22px;height:22px;border-radius:50%;border:2px solid #C7C8D0;flex-shrink:0;transition:.15s}
.ch:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.ch:has(input:checked) .ch-ic{background:var(--brand);color:var(--brand-ink)}
input:checked+.rad,.ch:has(input:checked) .rad{border-width:7px;border-color:var(--brand)}
.sub-choice{margin:4px 0 2px 50px}

.tgl{display:flex;align-items:center;gap:12px;padding:12px 0;cursor:pointer}
.tgl+.tgl{border-top:1px solid var(--line)}
.tgl .ic{width:20px;height:20px;color:var(--ink2)}
.tgl span{flex:1;font-size:14.5px;font-weight:600}
.tgl span small{display:block;font-weight:500;color:var(--muted);font-size:12.5px}
.tgl input{position:absolute;opacity:0;pointer-events:none}
.sw{width:46px;height:28px;border-radius:999px;background:#D5D6DD;position:relative;flex-shrink:0;transition:.2s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.2s var(--ease)}
.tgl input:checked+.sw{background:var(--brand)}
.tgl input:checked+.sw::after{transform:translateX(18px)}

.cpn{display:flex;gap:8px}
.cpn .in{text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.cpn .btn{flex-shrink:0}
.cpn-msg{font-size:13px;font-weight:600;margin-top:8px}
.cpn-msg.ok{color:var(--ok)}.cpn-msg.bad{color:var(--danger)}
.legal{font-size:12px;color:var(--muted);text-align:center;margin:10px 4px 0}
.legal button{color:var(--ink2);text-decoration:underline;font-size:12px}
.err-box{display:flex;gap:10px;align-items:flex-start;margin:12px 12px 0;padding:12px 14px;border-radius:14px;background:var(--danger-soft);color:#7C1217;font-size:14px;font-weight:600}
.err-box .ic{color:var(--danger);margin-top:1px}

.zone-list{padding:4px 16px 8px}
.zrow{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);cursor:pointer}
.zrow input{position:absolute;opacity:0}
.zr-n{flex:1;font-weight:700}
.zr-m{font-size:12.5px;color:var(--muted)}

.info{padding:8px 16px 20px}
.info-about{font-size:14px;color:var(--ink2);padding:8px 0 4px}
.info-row{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.info-row:last-of-type{border-bottom:0}
.info-row>.ic{color:var(--brand);margin-top:1px}
.info-row div{flex:1;display:flex;flex-direction:column;gap:3px;font-size:14px}
.info-row a{color:var(--brand);font-weight:700}
.hours{width:100%;border-collapse:collapse;margin-top:4px;font-size:13.5px}
.hours td{padding:4px 0}.hours td:last-child{text-align:right;color:var(--ink2)}
.hours tr.today td{font-weight:800;color:var(--brand)}
.terms{margin-top:12px;font-size:13px;color:var(--ink2)}
.terms summary{cursor:pointer;font-weight:700;padding:8px 0}

.toast{position:fixed;left:50%;bottom:calc(92px + var(--safe-b));transform:translate(-50%,20px);z-index:90;background:var(--ink);color:#fff;padding:12px 18px;border-radius:14px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:.25s var(--ease);max-width:calc(100vw - 32px);text-align:center;box-shadow:var(--sh-lg)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.spin{width:20px;height:20px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- Masaüstü ---------- */
.side{display:none}
@media (min-width:600px){
  .hero{height:260px}
  .pr-media{width:120px;height:120px}
  .bn{width:360px}
}
@media (min-width:980px){
  body{font-size:15px}
  .hero{max-width:1200px;margin:16px auto 0;border-radius:24px;height:300px}
  .hero-bar{padding:16px}
  .layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;padding:0 16px;align-items:start}
  .store{margin:-70px 24px 0;border-radius:22px;box-shadow:var(--sh);padding:22px 22px 18px 120px;display:grid;grid-template-columns:1fr 330px;gap:6px 20px;align-items:start}
  .store-logo{top:22px;left:22px;width:84px;height:84px}
  .store-head{grid-column:1}
  .mode{grid-column:2;grid-row:1;margin-top:0}
  .facts{grid-column:1/-1}
  .zone-pick,.free-note{grid-column:1/-1}
  .fact>.ic{display:block}
  .closed-box,.announce,.ao{margin:12px 0 0}
  .promo{padding:14px 0 0}
  .catbar{border-radius:16px;margin-top:14px;padding:8px 8px 8px 10px;border:0;box-shadow:var(--sh);top:10px}
  .sec{border-radius:20px;margin-top:14px;padding:20px 20px 10px;box-shadow:var(--sh);scroll-margin-top:76px}
  .plist{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
  .pr{border-bottom:1px solid var(--line)!important;padding:16px 0}
  .pr:hover .pr-name{color:var(--brand)}
  .pop{margin:12px -20px 12px;padding:0 20px}
  .pc{width:168px}.pc-media{width:168px;height:168px}
  .side{display:block;position:sticky;top:10px;margin-top:16px}
  .side-cart{background:var(--card);border-radius:20px;box-shadow:var(--sh);max-height:calc(100vh - 20px);display:flex;flex-direction:column;overflow:hidden}
  .side-cart .sc-head{padding:18px 18px 12px;font-size:18px;font-weight:800;display:flex;justify-content:space-between;align-items:center}
  .side-cart .sc-body{overflow-y:auto;padding:0 18px}
  .side-cart .sc-foot{padding:14px 18px 18px;border-top:1px solid var(--line)}
  .side-cart .sc-foot .btn-primary{width:100%}
  .side-cart .empty{padding:36px 18px}
  .cartbar{display:none}
  .foot{padding-bottom:40px}
  .sheet{left:50%;right:auto;bottom:auto;top:50%;width:540px;border-radius:24px;max-height:88vh;transform:translate(-50%,-46%) scale(.97);opacity:0;transition:transform .28s var(--ease),opacity .2s}
  .sheet.open{transform:translate(-50%,-50%);opacity:1}
  .sh-img{max-height:300px}
  .sh-grab{display:none}
  .sh-foot{border-radius:0 0 24px 24px}
  .screen{left:50%;right:auto;top:4vh;bottom:4vh;width:580px;border-radius:24px;overflow:hidden;transform:translate(-50%,24px);opacity:0;transition:transform .28s var(--ease),opacity .2s;box-shadow:var(--sh-lg)}
  .screen.open{transform:translate(-50%,0);opacity:1}
  .toast{bottom:32px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- Sipariş takip ---------- */
.trk{background:var(--bg)}
.trk-wrap{max-width:620px;margin:0 auto;padding-bottom:20px}
.trk-head{position:sticky;top:0;z-index:5}
.trk-ok{display:flex;gap:12px;align-items:flex-start;margin:12px 12px 0;padding:14px;border-radius:16px;background:var(--ok-soft);color:#0B5E2F;font-size:13.5px}
.trk-ok>.ic{width:26px;height:26px;padding:4px;border-radius:50%;background:var(--ok);color:#fff;stroke-width:3;flex-shrink:0}
.trk-ok b{display:block;font-size:15px}
.trk-status{text-align:center;padding:26px 18px 18px}
.trk-ic{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;position:relative}
.trk-ic .ic{width:36px;height:36px}
.trk-ic.live::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(var(--brand-rgb),.35);animation:ring 1.8s var(--ease) infinite}
@keyframes ring{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.25);opacity:0}}
.trk-status h1{font-size:22px;font-weight:800;letter-spacing:-.015em}
.trk-status>p{color:var(--muted);font-size:14px;margin-top:4px}
.is-cancel .trk-ic{background:var(--danger-soft);color:var(--danger)}
.trk-eta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:10px 16px;border-radius:14px;background:var(--bg);font-size:14px}
.trk-eta .ic{width:18px;height:18px;color:var(--brand)}
.trk-eta b{font-size:18px;font-weight:800}
.steps{list-style:none;margin:22px 0 4px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.steps li{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--muted);position:relative}
.steps li::before{content:"";position:absolute;top:13px;right:50%;width:100%;height:3px;background:var(--line2);z-index:0}
.steps li:first-child::before{display:none}
.steps li i{width:28px;height:28px;border-radius:50%;background:var(--card);border:2.5px solid var(--line2);display:grid;place-items:center;z-index:1;color:transparent}
.steps li i .ic{width:14px;height:14px;stroke-width:3.2}
.steps li.done,.steps li.cur{color:var(--ink)}
.steps li.done i{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.steps li.done::before,.steps li.cur::before{background:var(--brand)}
.steps li.cur i{border-color:var(--brand);box-shadow:0 0 0 5px var(--brand-soft)}
.steps li.cur i::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand);position:absolute;animation:pulse 1.4s infinite}
.steps li.cur i .ic{display:none}
.trk-no{margin-top:16px;font-size:13px;color:var(--muted)}
.trk-no b{color:var(--ink)}
.trk-actions{display:flex;gap:8px;margin:12px 12px 0}
.trk-actions .btn{flex:1;background:var(--card);box-shadow:var(--sh);font-size:14px}
.trk-actions .ic{width:18px;height:18px;color:var(--brand)}
.trk-line{display:flex;gap:10px;padding:7px 0;font-size:14px}
.trk-line>b:first-child{min-width:28px}
.trk-line div{flex:1;display:flex;flex-direction:column}
.trk-line small{color:var(--muted);font-size:12.5px}
.trk-info{display:flex;flex-direction:column;gap:14px}
.trk-info div{display:flex;flex-direction:column;gap:2px}
.trk-info span{font-size:12.5px;color:var(--muted);font-weight:600}
.trk-info b{font-size:14.5px;font-weight:600}
.trk-info small{font-size:12.5px;color:var(--ink2)}
.stars{display:flex;gap:6px;justify-content:center}
.stars button,.stars span{width:46px;height:46px;display:grid;place-items:center;color:#D5D6DD}
.stars .ic{width:36px;height:36px;fill:currentColor;stroke:currentColor}
.stars .on{color:#F5A300}
.stars.static span{width:30px;height:30px}.stars.static .ic{width:24px;height:24px}
.rate{text-align:center}.rate .card-t{justify-content:center}
