/* QRMenue sipariş tüneli — Just-Eat düzeni, açık/turuncu tema (order/default) */
*{box-sizing:border-box}
:root{
  --o:#ff8000; --o-dark:#e07000; --o-soft:#fff3e0;
  --bg:#f5f5f0; --ink:#1a1a1a; --muted:#8a8a8a; --line:#ececec; --card:#fff;

  /* ── Topbar / Banner (üst bar) ── */
  --topbar-border:rgba(255,255,255,.9); --topbar-text:#fff; --topbar-hover-bg:#fff; --topbar-hover-text:var(--o);
  --open-badge-bg:rgba(255,255,255,.22); --open-badge-closed-bg:#c0392b;
  --cart-badge-bg:#1f2937; --cart-badge-text:#fff; --cart-badge-border:var(--o);
  --banner-gradient-start:#ff8c1a; --banner-gradient-end:#e8590c;
  --banner-overlay-start:rgba(0,0,0,.6); --banner-overlay-mid:rgba(0,0,0,.34); --banner-overlay-end:rgba(0,0,0,.1);
  --banner-logo-bg:#fff; --banner-logo-shadow:rgba(0,0,0,.18); --banner-chip-bg:rgba(255,255,255,.2);
}
html{overflow-x:hidden}
body.order-body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);margin:0;min-height:100vh}
.hide{display: none !important;}
/* ── TOPBAR (ince) ── */
.topbar{background:var(--o);height:56px;position:sticky;top:0;z-index:120}
.topbar-inner{max-width:1280px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px}
.topbar-auth{background:transparent;border:1.5px solid var(--topbar-border);color:var(--topbar-text);border-radius:50px;padding:10px 15px;font-weight:700;font-size:.85rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;font-family:inherit;white-space:nowrap;transition:all .15s}
.topbar-auth:hover{background:var(--topbar-hover-bg);color:var(--topbar-hover-text)}
.topbar-brand{font-size:1.2rem;font-weight:800;color:var(--topbar-text);text-decoration:none;display:flex;align-items:center;gap:8px}
.topbar-brand img{height:32px;width:auto}
.topbar-right{display:flex;align-items:center;gap:10px}
.open-badge{font-size:.72rem;padding:4px 11px;border-radius:50px;font-weight:700;background:var(--open-badge-bg);color:var(--topbar-text)}
.open-badge.closed{background:var(--open-badge-closed-bg)}
.back-link{color:var(--topbar-text);text-decoration:none;font-weight:700;font-size:.9rem}
/* Üst bar sepet ikonu (mobil) — rozet sayaçlı */
.cart-ico-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--topbar-border);background:transparent;color:var(--topbar-text);font-size:1.05rem;cursor:pointer;font-family:inherit;transition:all .15s}
.cart-ico-btn:hover{background:var(--topbar-hover-bg);color:var(--topbar-hover-text)}
.cart-ico-badge{position:absolute;top:-5px;right:-6px;min-width:18px;height:18px;padding:0 5px;background:var(--cart-badge-bg);color:var(--cart-badge-text);border-radius:50px;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--cart-badge-border)}
.cart-ico-badge.is-zero{display:none}
@media(min-width:992px){ .cart-ico-btn{display:none} }   /* PC'de sepet sabit panelde */

/* ── BANNER (hero) ── */
.banner{position:relative;background:linear-gradient(120deg,var(--banner-gradient-start),var(--banner-gradient-end));color:var(--topbar-text);overflow:hidden}
.banner .cover{position:absolute;inset:0;background-size:cover;background-position:center;opacity:1}
/* görsel tam görünür; sol taraftaki logo/metin okunsun diye hafif koyu degrade */
.banner .cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--banner-overlay-start) 0%,var(--banner-overlay-mid) 45%,var(--banner-overlay-end) 100%)}
.banner-inner{position:relative;max-width:1280px;    height: 250px;margin:0 auto;padding:26px 20px 22px;display:flex;gap:18px;align-items:end;flex-wrap:wrap}
.banner-logo{width:74px;height:74px;border-radius:16px;background:var(--banner-logo-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;box-shadow:0 6px 18px var(--banner-logo-shadow)}
.banner-logo img{width:100%;object-fit:cover}
.banner-logo .ph{font-size:2rem}
.banner-text{min-width:0}
.banner-text h1{font-size:1.7rem;font-weight:800;margin:0 0 4px;line-height:1.15}
.banner-text .slogan{font-size:.9rem;opacity:.92;margin:0 0 8px}
.banner-chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:var(--banner-chip-bg);backdrop-filter:blur(4px);border-radius:50px;padding:5px 12px;font-size:.78rem;font-weight:600;display:flex;align-items:center;gap:5px}
@media(max-width:560px){ .banner-text h1{font-size:1.35rem} .banner-inner{padding:20px 16px 18px} }

/* ── SEARCH ── */
.search-wrap{max-width:1280px;margin:0 auto;padding:14px 20px 0}
.search-box{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.05);display:flex;align-items:center;padding:11px 16px;gap:10px}
.search-box input{border:none;outline:none;width:100%;font-size:.92rem;font-family:inherit;background:transparent}
.search-icon{color:var(--o)}

/* ── CATEGORY BAR (sticky) ── */
.cat-wrap{background:var(--bg);position:sticky;top:56px;z-index:90;max-width:1280px;margin:0 auto;padding:6px 12px 0}
.cat-scroll{overflow-x:auto;padding:8px 8px;display:flex;gap:8px;white-space:nowrap;scrollbar-width:none}
.cat-scroll::-webkit-scrollbar{display:none}
.cat-pill{background:#fff;border:1.5px solid #e8e8e0;border-radius:50px;padding:8px 16px;font-size:.83rem;font-weight:600;color:#555;cursor:pointer;transition:all .2s;flex-shrink:0}
.cat-pill.active{background:var(--ink);border-color:var(--ink);color:#fff}
.cat-pill:hover:not(.active){border-color:var(--o);color:var(--o)}

/* ── LAYOUT: menü (sol) + sepet (sağ, sabit) ── */
.order-layout{max-width:1280px;margin:10px auto 0;padding:0 20px 60px;display:grid;grid-template-columns:1fr 380px;gap:22px;align-items:start}
.order-menu{min-width:0}
.order-cart-col{position:sticky;top:110px}
@media(max-width:991px){ .order-layout{grid-template-columns:1fr;padding:0 0 90px} }

/* ── DELIVERY SEGMENTED (dengeli) ── */
.delivery-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#fff;border:1px solid var(--line);border-radius:50px;padding:3px;margin:0 20px}
.delivery-bar{display:flex;align-items:center;justify-content:center;gap:10px;max-width:1280px;margin:14px auto 0;padding:0 20px;flex-wrap:wrap}
.delivery-seg.top{margin:0;width:min(440px,100%);flex:0 1 440px}
.delivery-seg.in-cart{margin:0 0 12px}
.delivery-seg.in-card{margin:0 0 12px;width:min(440px,100%)}
.zip-chip{background:#fff;border:1.5px solid var(--o);color:var(--o-dark);border-radius:50px;padding:10px 16px;font-weight:700;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:5px;white-space:nowrap}
.zip-chip:hover{background:var(--o-soft)}
@media(max-width:991px){ .delivery-bar{padding:0 16px} }
.delivery-seg button{border:none;background:transparent;border-radius:50px;padding:8px 8px;cursor:pointer;font-family:inherit;font-weight:700;color:#666;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.15;transition:all .2s}
.delivery-seg button .lbl{font-size:.88rem}
.delivery-seg button .sub{font-size:.7rem;font-weight:600;opacity:.7}
.delivery-seg button.active{background:var(--o);color:#fff}
.delivery-seg button.active .sub{opacity:.9}
@media(max-width:991px){ .delivery-seg.top{margin:14px 16px 0} }

/* ── SECTION + PRODUCT GRID ── */
.menu-section{margin-top:18px}
.section-label{font-size:1.1rem;font-weight:800;padding:0 20px 8px}
@media(min-width:992px){ .section-label{padding:0 4px 10px} }
.product-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:0 20px}
@media(min-width:992px){ .product-grid{padding:0} }
@media(max-width:620px){ .product-grid{grid-template-columns:minmax(0,1fr);gap:10px} }

.product-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;align-items:stretch;gap:14px;cursor:pointer;position:relative;transition:box-shadow .15s,border-color .15s;min-height:92px;min-width:0}
.product-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.07);border-color:#ddd}
.product-card.hidden{display:none}
.product-card.sold-out{opacity:.5;pointer-events:none}
.pc-body{flex:1;min-width:0;display:flex;flex-direction:column}
.pc-name{font-weight:700;font-size:.92rem;display:flex;align-items:flex-start;gap:6px; padding-top: 5px;}
.pc-name>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.pc-desc{font-size:.78rem;color:var(--muted);line-height:1.4;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-price{font-weight:800;color:var(--o);font-size:.98rem;margin-top:auto;}
.pc-thumb{width:84px;height:84px;border-radius:10px;object-fit:cover;flex-shrink:0;background:#f3ece0}
.pc-thumb.ph{display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#d9c7af}
.btn-info-card{background:none;border:1.5px solid #e0e0e0;border-radius:50%;width:20px;height:20px;font-size:.66rem;font-weight:800;color:#aaa;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.btn-info-card:hover{background:var(--o);border-color:var(--o);color:#fff}
.btn-add-card{align-self:flex-start;flex-shrink:0;background:var(--o);color:#fff;border:none;border-radius:9px;width:32px;height:32px;font-size:1.2rem;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 2px 8px rgba(255,128,0,.3)}
.btn-add-card:hover{background:var(--o-dark)}
.btn-add-card:active{transform:scale(.9)}
.btn-add-card.added{background:#2d9e6e}

/* ── CART PANEL (PC sabit / mobil drawer) ── */
.cart-panel{background:var(--card);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;max-height:calc(100vh - 100px);overflow:hidden}
.cart-head{padding:16px 18px 12px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}
.cart-title{font-size:1.1rem;font-weight:800}
.cart-close{display:none;background:none;border:none;font-size:1.3rem;color:#aaa;cursor:pointer}
.cart-body{overflow-y:auto;flex:1;padding:14px 18px 0}
.empty-cart{text-align:center;padding:36px 14px;color:#bbb}
.empty-cart .empty-icon{font-size:2.4rem;margin-bottom:10px}
.empty-cart p{font-size:.88rem;margin:0}
.ci{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid #f5f5f0}
.ci-img{width:48px;height:48px;border-radius:10px;flex-shrink:0;background:#f3ece0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#d9c7af;overflow:hidden}
.ci-img img{width:100%;height:100%;object-fit:cover}
.ci-info{flex:1;min-width:0}
.ci-name{font-size:.86rem;font-weight:700}
.ci-opt{font-size:.73rem;color:var(--muted);margin-top:2px}
.ci-price{font-size:.82rem;font-weight:800;color:var(--o);margin-top:3px}
.qty-row{display:flex;align-items:center;gap:9px;margin-top:6px}
.qty-b{width:26px;height:26px;border-radius:50%;border:1.5px solid #e0e0e0;background:#fff;font-size:.95rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333}
.qty-b:hover{background:var(--o);border-color:var(--o);color:#fff}
.qty-n{font-size:.88rem;font-weight:700;min-width:16px;text-align:center}
.coupon-box{display:flex;gap:8px;margin:12px 0 2px}
.coupon-box input{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:9px 12px;font-size:.85rem;font-family:inherit;outline:none}
.coupon-box button{border:none;background:var(--ink);color:#fff;border-radius:10px;padding:9px 15px;font-weight:700;font-size:.82rem;cursor:pointer}
.cart-foot{padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #f0f0f0;background:#fff}
.total-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.88rem}
.total-row.discount{color:#2d9e6e}
.total-row.grand{margin-top:4px;margin-bottom:13px}
.total-row.grand .total-val{font-size:1.18rem;font-weight:800}
.total-label{color:var(--muted);font-weight:500}
.total-val{font-weight:700}
.btn-order{background:var(--o);color:#fff;border:none;border-radius:25px;padding:14px;width:100%;font-size:.98rem;font-weight:800;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:background .2s}
.btn-order:hover{background:var(--o-dark);color:#fff}
.btn-order.disabled,.btn-order:disabled{background:#ffc999;cursor:default;pointer-events:none}

/* mobil: cart drawer */
.cart-overlay{display:none}
@media(max-width:991px){
  .order-cart-col{position:static}
  .cart-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;opacity:0;pointer-events:none;transition:opacity .25s}
  .cart-overlay.open{opacity:1;pointer-events:all}
  .cart-panel{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);max-height:none;border-radius:16px 0 0 16px;transform:translateX(100%);z-index:201;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-8px 0 30px rgba(0,0,0,.15)}
  .cart-panel.open{transform:translateX(0)}
  .cart-close{display:block}
}

/* ── BOTTOM CART BAR (mobil) — Just-Eat tarzı yüzen buton ── */
.bottom-cart-bar{position:fixed;left:0;right:0;bottom:0;z-index:150;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -3px 16px rgba(0,0,0,.08)}
@media(min-width:992px){ .bottom-cart-bar{display:none!important} }
.bcb-btn{pointer-events:auto;width:100%;border:none;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--o);color:#fff;border-radius:24px;padding:14px 18px;transition:transform .12s ease}
.bcb-btn:active{transform:scale(.985)}
.bcb-left{display:flex;align-items:center;gap:12px;min-width:0}
.bcb-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem}
.bcb-badge{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;padding:0 5px;background:#1f2937;color:#fff;border-radius:50px;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1}
.bcb-badge.is-zero{display:none}
.bcb-label{color:#fff;font-size:.98rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bcb-total{color:#fff;font-size:1.02rem;font-weight:800;white-space:nowrap}

/* ── PRODUCT / OPTION MODAL ── */
.pmodal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:300;opacity:0;pointer-events:none;transition:opacity .25s}
.pmodal-overlay.open{opacity:1;pointer-events:all}
.pmodal{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:22px 22px 0 0;z-index:301;max-height:90dvh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .32s cubic-bezier(.4,0,.2,1)}
.pmodal.open{transform:translateY(0)}
@media(min-width:640px){ .pmodal{left:50%;right:auto;width:460px;max-width:94vw;transform:translate(-50%,100%);border-radius:22px}.pmodal.open{transform:translate(-50%,0)} }
.pmodal-img{width:100%;height:180px;object-fit:cover;flex-shrink:0;background:#f3ece0;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#d9c7af}
.pmodal-img img{width:100%;height:100%;object-fit:cover}
.pmodal-close{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.9);border:none;border-radius:50%;width:34px;height:34px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#444;z-index:10}

/* ── Varyant modalı (referans order-script.js + product_modal.php yapısı) ── */
.gizle{display:none !important}
/* Varyantlı ürün: ekranın ORTASINDA, görselsiz (alttan açılan drawer değil) */
.pmodal.variant-mode{top:50%;bottom:auto;left:50%;right:auto;width:460px;max-width:94vw;max-height:88dvh;border-radius:18px;transform:translate(-50%,-50%) scale(.96);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s,opacity .25s,visibility .25s}
.pmodal.variant-mode.open{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible;pointer-events:auto}
.pmodal.variant-mode .pmodal-img{display:none}
.urun-modal-title-row{display:flex;align-items:center;gap:12px;padding:18px 52px 6px 20px}
.urun-modal-thumb{width:52px;height:52px;border-radius:12px;flex-shrink:0;background:#f3ece0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#d9c7af;overflow:hidden}
.urun-modal-thumb img{width:100%;height:100%;object-fit:cover}
@media(min-width:640px){ .pmodal.variant-mode{transform:translate(-50%,-50%) scale(.96)}.pmodal.variant-mode.open{transform:translate(-50%,-50%) scale(1)} }
.urun-modal-header{flex-shrink:0;border-bottom:1px solid #f0f0f0}
.urun_title{font-size:1.2rem;font-weight:800;margin:0;min-width:0;line-height:1.3}
.urun_info_box{padding:0 20px 14px}
.aciklama{font-size:.86rem;color:#666;line-height:1.55;margin-bottom:8px}
.food-choice-row{font-size:.82rem;color:#555;margin-top:6px}
.food-choice-row b{color:#333}
.food-choice-js{color:var(--o-dark);font-weight:600}
.urun-modal-content{padding:16px 20px 4px;overflow-y:auto;flex:1}
.secenekler_box .step{margin-bottom:6px}
.varyant_title{font-size:.96rem;font-weight:700;margin:0 0 10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}
.zorunlu{color:#c0392b;font-weight:800;margin-left:2px}
.secim-limit{color:#c0392b;font-size:.74rem;font-weight:500}
.varyant_ul{list-style:none;margin:0 0 10px;padding:0}
.varyant_ul>li{border-bottom:1px solid #f5f5f0}
.container_check,.container_radio{display:flex;align-items:center;gap:12px;padding:12px 2px;font-size:.92rem;cursor:pointer;position:relative;user-select:none}
.container_check input,.container_radio input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.checkmark{flex-shrink:0;width:22px;height:22px;border:2px solid #d7d7d7;background:#fff;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.container_check .checkmark{border-radius:7px}
.container_radio .checkmark{border-radius:50%}
.container_check .checkmark::after{content:"";width:5px;height:10px;margin-top:-2px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .15s}
.container_radio .checkmark::after{content:"";width:9px;height:9px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .15s}
.container_check input:checked~.checkmark,.container_radio input:checked~.checkmark{background:var(--o);border-color:var(--o)}
.container_check input:checked~.checkmark::after,.container_radio input:checked~.checkmark::after{transform:rotate(45deg) scale(1)}
.container_radio input:checked~.checkmark::after{transform:scale(1)}
.container_check input:focus-visible~.checkmark,.container_radio input:focus-visible~.checkmark{box-shadow:0 0 0 3px rgba(255,128,0,.25)}
.opt-name{flex:1;min-width:0}
.oprice{color:var(--o-dark);font-weight:700;font-size:.82rem;margin-left:auto;flex-shrink:0;white-space:nowrap}
.daha_fazla{display:inline-block;padding:8px 2px;color:var(--o-dark);font-weight:700;font-size:.84rem;text-decoration:none;cursor:pointer}
.alert-zorunlu{margin:6px 0 10px;padding:9px 12px;border-radius:9px;background:#fdecea;color:#c0392b;font-size:.85rem;font-weight:600}
.alert-zorunlu b{font-weight:800}
.urun-modal-footer{padding:12px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid #f0f0f0;display:flex;align-items:center;gap:12px;flex-shrink:0}
.mdl-adet-box{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.pro_adet_row{display:flex;align-items:center;gap:10px}
.number_btn{width:32px;height:32px;border-radius:50%;border:1.5px solid #e0e0e0;background:#fff;font-size:1.05rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;flex-shrink:0}
.number_btn:hover{background:var(--o);border-color:var(--o);color:#fff}
.urun_adet{min-width:22px;text-align:center;font-weight:800;font-size:1rem}
.mdl-btn-box{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px}
.urun_total{font-size:1.15rem;font-weight:800;color:var(--o);white-space:nowrap}
.stepback,.stepnext,.urun-btn-js{border:none;border-radius:12px;padding:12px 16px;font-size:.92rem;font-weight:800;cursor:pointer;text-decoration:none;white-space:nowrap}
.urun-btn-js,.stepnext{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.stepnext,.urun-btn-js{background:var(--o);color:#fff}
.stepnext:hover,.urun-btn-js:hover{background:var(--o-dark)}
.stepback{background:#f1f1f1;color:#444}
.stepback:hover{background:#e6e6e6}
.opt-item .oprice{margin-left:auto;color:var(--muted);font-size:.82rem;font-weight:600}

/* ── TOAST ── */
.toast-bar{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(80px);background:#1a1a1a;color:#fff;padding:11px 20px;border-radius:50px;font-size:.85rem;font-weight:600;z-index:999;opacity:0;transition:all .3s;pointer-events:none;max-width:90vw;text-align:center}
.toast-bar.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast-bar.err{background:#c0392b}
.cart-fly-item{position:fixed;z-index:360;pointer-events:none;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 16px 42px rgba(20,20,20,.22);transform:translate3d(0,0,0) scale(1);transform-origin:center;opacity:1;transition:transform .68s cubic-bezier(.18,.88,.25,1),opacity .68s ease,border-radius .68s ease,box-shadow .68s ease}
.cart-fly-item.is-flying{border-radius:999px;box-shadow:0 8px 24px rgba(255,128,0,.22)}
.cart-fly-item>img{width:100%;height:100%;display:block;object-fit:cover}
.cart-fly-card{display:flex;align-items:center;gap:10px;border:1px solid #f1e5d6;padding:8px}
.cart-fly-card-thumb{width:54px;height:54px;border-radius:10px;overflow:hidden;flex:0 0 auto;background:#f3ece0;display:flex;align-items:center;justify-content:center;color:#d9c7af;font-size:1.35rem}
.cart-fly-card-thumb .pc-thumb{width:100%;height:100%;border-radius:0}
.cart-fly-card-info{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}
.cart-fly-card-info strong{font-size:.82rem;line-height:1.15;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cart-fly-card-info span{font-size:.78rem;font-weight:800;color:var(--o);white-space:nowrap}
.cart-target-pop{animation:cartTargetPop .5s ease}
@keyframes cartTargetPop{0%{transform:scale(1)}38%{transform:scale(1.045)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.cart-fly-item{display:none}.cart-target-pop{animation:none}}

/* ── POSTA KODU MODALI ── */
.zip-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:320;opacity:0;pointer-events:none;transition:opacity .25s}
.zip-overlay.open{opacity:1;pointer-events:all}
.zip-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-48%) scale(.96);width:420px;max-width:92vw;background:#fff;border-radius:18px;z-index:321;padding:20px;opacity:0;pointer-events:none;transition:all .25s;max-height:84vh;display:flex;flex-direction:column}
.zip-modal.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1)}
.zip-modal-head{display:flex;align-items:center;justify-content:space-between}
.zip-modal-head h3{font-size:1.1rem;font-weight:800;margin:0}
.zip-modal-close{background:none;border:none;font-size:1.2rem;color:#aaa;cursor:pointer}
.zip-modal-sub{font-size:.85rem;color:var(--muted);margin:6px 0 14px}
.zip-list{overflow-y:auto;flex:1;margin-bottom:8px}
.zip-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:8px;cursor:pointer;font-weight:600}
.zip-item.active{border-color:var(--o);background:var(--o-soft)}
.zip-item input{accent-color:var(--o);width:18px;height:18px}
.zip-item .zmin{margin-left:auto;font-size:.8rem;color:var(--muted);font-weight:600}
.zip-empty{color:var(--muted);font-size:.88rem;text-align:center;padding:20px}

/* ── REZERVASYON (ileri tarihli sipariş) — "Şimdi / İleri Tarihe Planla" ── */
.delivery-seg button:disabled{opacity:.4;cursor:not-allowed}
.res-panel{max-width:1280px;margin:12px auto 0;padding:14px 20px;background:var(--card);border:1px solid var(--line);border-radius:16px}
@media(max-width:991px){ .res-panel{margin:12px 16px 0} }
.form-card .res-panel{max-width:none;margin:0;padding:0;background:transparent;border:none}
.res-days{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.res-day-chip{background:#fff;border:1.5px solid var(--line);border-radius:50px;padding:8px 16px;font-size:.85rem;font-weight:700;color:#555;cursor:pointer;font-family:inherit;transition:all .2s}
.res-day-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}
.res-day-chip.disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.res-slots{display:flex;flex-wrap:wrap;gap:8px}
.res-slot{background:#fff;border:1.5px solid var(--o);color:var(--o-dark);border-radius:10px;padding:9px 14px;font-size:.85rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}
.res-slot:hover:not(:disabled){background:var(--o-soft)}
.res-slot.selected{background:var(--o);color:#fff}
.res-slot.full{border-color:var(--line);color:var(--muted);cursor:not-allowed;background:#f8f8f6}
.res-slot small{font-weight:600;opacity:.8}
.res-empty{color:var(--muted);font-size:.85rem;padding:6px 2px}
.res-selected{margin-top:12px;padding:10px 12px;background:var(--o-soft);border-radius:10px;font-size:.85rem;font-weight:600;color:var(--o-dark);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.res-clear-btn{margin-left:auto;background:transparent;border:1.5px solid var(--o-dark);color:var(--o-dark);border-radius:50px;padding:4px 12px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit}
.res-clear-btn:hover{background:#fff}

/* min tutar uyarısı (sepet) */
.min-warn{background:#fff3cd;color:#856404;border-radius:10px;padding:9px 12px;font-size:.8rem;font-weight:600;margin-bottom:10px;text-align:center}

/* ── GİRİŞ MODALI ── */
.login-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:330;opacity:0;pointer-events:none;transition:opacity .25s}
.login-overlay.open{opacity:1;pointer-events:all}
.login-modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-48%) scale(.96);width:400px;max-width:92vw;background:#fff;border-radius:18px;z-index:331;padding:26px 24px 22px;opacity:0;pointer-events:none;transition:all .25s;max-height:90vh;overflow-y:auto}
.login-modal.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1)}
.login-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.2rem;color:#aaa;cursor:pointer}
.login-head{text-align:center;margin-bottom:16px}
.login-icon{width:54px;height:54px;border-radius:50%;background:var(--o-soft);color:var(--o);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 8px}
.login-head h3{font-size:1.2rem;font-weight:800;margin:0}
#orderLoginForm label{display:block;font-weight:600;font-size:.82rem;margin:0 0 5px}
#orderLoginForm input[type=email],#orderLoginForm input[type=password]{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:12px;font-size:.92rem;font-family:inherit;outline:none}
#orderLoginForm input[type=email]:focus,#orderLoginForm input[type=password]:focus{border-color:var(--o)}
.login-meta{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;margin-bottom:6px;flex-wrap:wrap;gap:6px}
.login-check{display:flex;align-items:center;gap:6px;font-weight:500;color:#666;cursor:pointer}
.login-check input{accent-color:var(--o)}
.login-meta>a{color:var(--o);text-decoration:none;font-weight:600}
.login-switch{text-align:center;font-size:.85rem;color:#666;margin:14px 0 0}
.login-switch a{color:var(--o);font-weight:700;text-decoration:none}
.login-note{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:10px;padding:10px 12px;font-size:.84rem;line-height:1.35;margin:0 0 14px;text-align:center}
.login-guest{text-align:center;font-size:.82rem;margin:8px 0 0}
.login-guest a{color:#888;text-decoration:underline}

/* ── BANNER MESAJI ── */
.order-banner{max-width:1280px;margin:0 auto;padding:12px 20px 0}
.order-banner .b{border-radius:12px;padding:11px 16px;font-size:.85rem;font-weight:600}
.order-banner .b.warn{background:#fff3cd;color:#856404}
.order-banner .b.info{background:#e7f1ff;color:#0a4a8a}
.order-banner .b.err{background:#fdecea;color:#c0392b}
.order-banner .b.ok{background:#e6f4ea;color:#1b873f}

/* ── CHECKOUT (adres/ödeme/sonuç) ── */
.checkout-wrap{max-width:680px;margin:0 auto;padding:16px 20px 40px}
/* PC'de: form (sol) + sipariş özeti (sağ, sticky) yan yana */
.checkout-wide{max-width:980px}
.checkout-layout{display:grid;grid-template-columns:1fr;gap:14px}
.checkout-main{min-width:0}
@media(min-width:860px){
  .checkout-layout{grid-template-columns:1.35fr .65fr;align-items:start}
  .checkout-aside{position:sticky;top:90px}
  .checkout-main>.form-card:first-child{margin-top:0}
  .checkout-aside .checkout-summary{margin-top:0}
  /* Rezervasyon kartı sepetten (checkout-aside) sonra gelir (DOM sırası — mobilde tek
     sütunda sepetin altına düşsün diye); masaüstünde sol sütuna (form kartlarının
     altına) sabitlenir. */
  .reservation-card{grid-column:1;margin-top:0}
}
.steps-mini{display:flex;gap:8px;justify-content:center;padding:14px 16px 0;font-size:.8rem;color:var(--muted)}
.steps-mini .s{display:flex;align-items:center;gap:6px}
.steps-mini .s .n{width:22px;height:22px;border-radius:50%;background:#e9e6df;color:#999;display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:800}
.steps-mini .s.active{color:var(--o);font-weight:800}
.steps-mini .s.active .n{background:var(--o);color:#fff}
.steps-mini .sep{color:#ccc}
.form-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:14px}
.form-card h2{font-size:1.05rem;font-weight:800;margin:0 0 14px;display:flex;align-items:center;gap:8px}
.form-card label{font-weight:600;font-size:.85rem;margin-bottom:5px;display:block}
.form-card .fc,.form-card textarea,.form-card select{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:14px;font-size:.92rem;font-family:inherit;outline:none}
.form-card .fc:focus,.form-card textarea:focus,.form-card select:focus{border-color:var(--o)}
.form-card .pay-option{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;cursor:pointer;font-weight:600;transition:border-color .15s,background .15s}
.pay-option.active{border-color:var(--o);background:var(--o-soft)}
.pay-option input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.pay-icon{width:24px;height:24px;object-fit:contain;flex-shrink:0;display:block;align-self:center}
.checkout-summary{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-top:14px}
.checkout-summary h3{font-size:.95rem;font-weight:800;margin:0 0 12px;display:flex;justify-content:space-between}
.btn-pair{display:flex;gap:10px;margin-top:16px}
.btn-ghost{flex:0 0 auto;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:14px 18px;font-weight:700;text-decoration:none;color:#555;display:flex;align-items:center;gap:6px}
.result-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px 24px;max-width:520px;margin:32px auto;text-align:center}
.result-card .ricon{font-size:3.4rem;margin-bottom:8px}
.result-rows{max-width:320px;margin:18px auto 0;text-align:left}
.result-rows .r{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f5f5f0;font-size:.88rem}
.result-rows .r.grand{font-weight:800;color:var(--o);border:none}

/* ── Adres defteri (2. adım, üye) ── */
.addr-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:10px}
.addr-change-btn{background:var(--o-soft);color:var(--o-dark);border:1.5px solid var(--o);border-radius:50px;padding:7px 14px;font-weight:700;font-size:.8rem;cursor:pointer;white-space:nowrap}
.addr-change-btn:hover{background:var(--o);color:#fff}
.addr-selected{border:1.5px solid var(--o);background:var(--o-soft);border-radius:12px;padding:12px 14px;margin-bottom:14px}
.addr-selected-title{font-weight:800;font-size:.92rem;margin-bottom:3px}
.addr-selected-text{font-size:.85rem;color:#555;line-height:1.45}
.addr-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:320;opacity:0;pointer-events:none;transition:opacity .25s}
.addr-overlay.open{opacity:1;pointer-events:all}
.addr-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);width:440px;max-width:94vw;max-height:88dvh;overflow-y:auto;background:#fff;border-radius:18px;z-index:321;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.addr-modal.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1)}
.addr-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.addr-modal-head h3{font-size:1.15rem;font-weight:800;margin:0}
.addr-modal-close{background:#f1f1f1;border:none;border-radius:50%;width:32px;height:32px;font-size:1rem;cursor:pointer;color:#444}
/* Modal içi form alanları (.fc/label form-card'a scope'lu olduğu için modalda ayrıca tanımlanır) */
.addr-modal label{display:block;font-weight:600;font-size:.85rem;margin:0 0 5px}
.addr-modal .fc{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:12px;font-size:.92rem;font-family:inherit;outline:none}
.addr-modal .fc:focus{border-color:var(--o)}
/* İki sütunlu alan satırı (Ad/Soyad, Bezirk/Stadt) */
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field-row .fc{margin-bottom:14px}
@media(max-width:520px){ .field-row{grid-template-columns:1fr;gap:0} }
.addr-list{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}
.addr-empty{text-align:center;color:#999;font-size:.88rem;padding:14px}
.addr-item{display:flex;align-items:flex-start;gap:11px;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer}
.addr-item.active{border-color:var(--o);background:var(--o-soft)}
.addr-item input{accent-color:var(--o);width:18px;height:18px;margin-top:2px;flex-shrink:0}
.addr-item-title{font-weight:800;font-size:.9rem;display:flex;align-items:center;gap:8px}
.addr-badge{background:var(--o);color:#fff;border-radius:50px;padding:1px 8px;font-size:.66rem;font-weight:700}
.addr-item-text{font-size:.82rem;color:#666;margin-top:3px;line-height:1.4}
.addr-new-toggle{width:100%;background:#fff;border:1.5px dashed var(--o);color:var(--o-dark);border-radius:12px;padding:12px;font-weight:700;font-size:.88rem;cursor:pointer}
.addr-new-toggle:hover{background:var(--o-soft)}
.addr-new-form{margin-top:12px}
.addr-new-form .fc{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:10px;font-size:.9rem;font-family:inherit;outline:none}
.addr-new-form .fc:focus{border-color:var(--o)}
.addr-new-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
@media(max-width:520px){ .addr-new-row{grid-template-columns:1fr} }

/* ── Ürün DETAY modalı (görsel + açıklama) — varyant modalından farklı tasarım ── */
.detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:300;opacity:0;pointer-events:none;transition:opacity .25s}
.detail-overlay.open{opacity:1;pointer-events:all}
.detail-modal{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:22px 22px 0 0;z-index:301;max-height:92dvh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .32s cubic-bezier(.4,0,.2,1)}
.detail-modal.open{transform:translateY(0)}
@media(min-width:640px){ .detail-modal{left:50%;right:auto;width:460px;max-width:94vw;transform:translate(-50%,100%);border-radius:22px}.detail-modal.open{transform:translate(-50%,0)} }
.detail-close{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.92);border:none;border-radius:50%;width:34px;height:34px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#444;z-index:10}
.detail-img{width:100%;height:210px;flex-shrink:0;background:#f3ece0;display:flex;align-items:center;justify-content:center;font-size:3.2rem;color:#d9c7af;overflow:hidden}
.detail-img img{width:100%;height:100%;object-fit:cover}
.detail-body{padding:18px 20px 4px;overflow-y:auto;flex:1}
.detail-name{font-size:1.3rem;font-weight:800;margin:0 0 10px}
.detail-desc{font-size:.9rem;color:#666;line-height:1.65;margin-bottom:14px}
.detail-price{font-size:1.2rem;font-weight:800;color:var(--o)}
.detail-footer{padding:14px 20px calc(18px + env(safe-area-inset-bottom));border-top:1px solid #f0f0f0;display:flex;align-items:center;gap:12px;background:#fff;flex-shrink:0}
.detail-qty{display:flex;align-items:center;gap:11px;flex-shrink:0}
.detail-qty-n{min-width:22px;text-align:center;font-weight:800;font-size:1.05rem}
.detail-add{flex:1;width:auto;margin:0}

/* ── Sipariş takip adım göstergesi ── */
/* PC'de: takip kartı + sipariş içeriği yan yana; mobilde alt alta */
.track-wrap{max-width:980px}
.track-layout{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px}
@media(min-width:860px){ .track-layout{grid-template-columns:1.15fr .85fr;align-items:start} }
.track-layout .track-card,.track-layout .checkout-summary{margin-top:0}
.track-summary{align-self:start}
.track-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;margin-top:14px}
.track-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.track-head h2{font-size:1.1rem;font-weight:800;margin:0}
.track-no{font-weight:800;color:var(--o)}
.track-steps{display:flex;flex-direction:column}
.track-step{display:flex;align-items:center;gap:14px;position:relative;padding:9px 0}
.track-step:not(:last-child)::before{content:'';position:absolute;left:18px;top:38px;bottom:-4px;width:2px;background:#e5e2db}
.track-step.done:not(:last-child)::before{background:var(--o)}
.ts-dot{width:38px;height:38px;border-radius:50%;background:#f0ede7;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;z-index:1;filter:grayscale(1);opacity:.5;transition:all .3s}
.track-step.done .ts-dot{background:var(--o-soft);filter:none;opacity:1}
.track-step.active .ts-dot{background:var(--o);box-shadow:0 0 0 4px var(--o-soft);filter:none;opacity:1; color:#fff;}
.ts-label{font-weight:600;color:#9a9a9a;font-size:.95rem}
.track-step.done .ts-label{color:#333}
.track-step.active .ts-label{color:var(--o-dark);font-weight:800}
.track-meta{margin-top:16px;border-top:1px solid #f1f1f1;padding-top:12px}
.track-meta .r{display:flex;justify-content:space-between;padding:6px 0;font-size:.9rem}
.track-meta .r.grand{font-weight:800;color:var(--o)}
.track-hint{text-align:center;color:#aaa;font-size:.78rem;margin:14px 0 0}

/* ── Yorum (değerlendirme) — sipariş tamamlanınca "bizi değerlendirin" ── */
.review-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:14px}
.review-card h3{font-size:1.05rem;font-weight:800;margin:0}
/* Başlık + ikon + alt açıklama */
.review-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}
.review-head-ic{width:46px;height:46px;border-radius:12px;background:var(--o-soft);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.review-sub{font-size:.85rem;color:var(--muted);margin:3px 0 0;line-height:1.45}
/* Çok kriterli puanlama satırları (Lezzet, Teslimat/Servis...) */
.review-criteria{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.rating-group{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f4f2ed}
.rating-group:last-child{border-bottom:none}
.rating-label{font-weight:700;font-size:.92rem;color:#333}
.rating-stars{display:flex;gap:6px;font-size:1.7rem;line-height:1;cursor:pointer;color:#e0b400}
.rating-stars .rstar{transition:transform .1s}
.rating-stars .rstar:hover{transform:scale(1.18)}
.review-breakdown{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.rating-group.static{padding:7px 0}
.rating-group.static .rating-stars-static{margin:0}
.review-stars-static{font-size:1.3rem;color:#e0b400;letter-spacing:2px;margin-bottom:8px}
.review-card textarea.fc{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:12px;font-size:.92rem;font-family:inherit;outline:none}
.review-card textarea.fc:focus{border-color:var(--o)}
.review-text{font-size:.9rem;color:#555;line-height:1.55;margin:8px 0 0;background:var(--bg);border-radius:10px;padding:10px 12px}
.reviews-section{margin:8px 0 24px;padding:0 20px}
@media(min-width:992px){ .reviews-section{padding:0;margin-bottom:4px} }
.reviews-section .rv-title{font-size:1.05rem;font-weight:800;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.reviews-grid{display:flex;flex-direction:column;gap:12px;padding-bottom:6px}
.rv-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.rv-stars{color:#e0b400;font-size:1rem;letter-spacing:1px;margin-bottom:6px}
.rv-comment{font-size:.86rem;color:#555;line-height:1.5;margin:0 0 8px}
.rv-meta{font-size:.78rem;color:#999;font-weight:600}
