/* ---- Tema değişkenleri. Varsayılan: Sıcak Kahve. Panelden body.theme-* ile değişir. ---- */
:root{
    --bg:#faf7f2;--text:#2a2622;--muted:#6b6157;--card:#fff;--accent:#111;
    --brand:#92400e;--brand-dark:#7c360b;--brand-soft:#fff3e6;--brand-ink:#fff;
    --accent2:#f5a524;--header-bg:#fff;--footer-bg:#fff;--border:#eee;
}
body.theme-gece{
    --bg:#14161a;--text:#e8e6e3;--muted:#9a958d;--card:#1e2127;
    --brand:#f5a524;--brand-dark:#e0940f;--brand-soft:#2a2410;--brand-ink:#1a1205;
    --accent2:#f5a524;--header-bg:#1e2127;--footer-bg:#1e2127;--border:#2c303a;
}
body.theme-zeytin{
    --bg:#f6f5ef;--brand:#5f7138;--brand-dark:#4d5c2c;--brand-soft:#eef0e2;
    --accent2:#c9a24a;--brand-ink:#fff;
}
body.theme-okyanus{
    --bg:#f2f8fa;--brand:#0e7490;--brand-dark:#0b5c73;--brand-soft:#e0f2f7;
    --accent2:#f59e0b;--brand-ink:#fff;
}
body.theme-gul{
    --bg:#fdf5f8;--brand:#be185d;--brand-dark:#9d1350;--brand-soft:#fce7f0;
    --accent2:#f5a524;--brand-ink:#fff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
/* Yapışkan footer: içerik kısa olsa da footer en alta iner (sadece menü sayfaları) */
body.menu-page{min-height:100vh;display:flex;flex-direction:column}
body.menu-page .container{flex:1 0 auto}
.site-header{position:sticky;top:0;z-index:10;background:var(--header-bg);display:flex;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid var(--border)}
.site-header.overlay{background:rgba(255,255,255,.85)}
.site-header.cat-topbar{position:static}
.header-left,.header-right{flex:1;min-width:0;display:flex;align-items:center;gap:2px}
.header-left{justify-content:flex-start}
.header-right{justify-content:flex-end;width:auto}
.header-center{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0 6px}
.header-social{display:flex;align-items:center;gap:1px}
.hsoc-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;color:var(--text);text-decoration:none;transition:background .15s,color .15s}
.hsoc-link:hover{background:var(--brand-soft);color:var(--brand)}
.logo{height:36px}
.logo-text{font-weight:700;font-size:18px}
.icon-btn{background:none;border:none;padding:8px;cursor:pointer;color:var(--text);border-radius:9px;transition:background .15s,color .15s}
.icon-btn:hover{background:var(--brand-soft);color:var(--brand)}
.search-bar{display:none;position:sticky;top:54px;z-index:8;background:var(--header-bg);padding:10px 12px;border-bottom:1px solid var(--border)}
.search-bar.active{display:block}
.search-bar input{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font-family:inherit;font-size:14px}
.search-bar input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.search-results{display:none;position:relative;background:var(--card);border:1px solid var(--border);border-radius:10px;margin-top:8px;box-shadow:0 6px 20px rgba(0,0,0,.10);overflow:hidden}
.sr-group{font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:9px 12px;background:var(--brand-soft);border-bottom:1px solid var(--border)}
.sr-item{display:block;padding:11px 12px;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border)}
.sr-item:hover{background:var(--brand-soft);color:var(--brand)}
.sr-empty{padding:12px;color:var(--muted)}
.container{padding:12px}
.favorites h2,.categories h2{font-size:16px;margin:12px 0}
.fav-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}
.fav-card{min-width:220px;background:var(--card);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.06);text-decoration:none;color:var(--text);display:flex}
.fav-img{position:relative;width:80px;height:80px;border-radius:12px 0 0 12px;background-size:cover;background-position:center;background-color:#ddd}
.fav-info{padding:8px;display:flex;flex-direction:column;justify-content:center}
.fav-name{font-weight:600;display:flex;align-items:center;gap:6px}
.fav-var-btn{margin-left:4px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #eee;background:#fff;border-radius:6px;cursor:pointer}
.var-list{list-style:none;padding:0;margin:8px 0 0 0;border:1px solid #eee;border-radius:10px;overflow:hidden;background:#fff}
.var-list .var-head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 12px;font-weight:600;background:#fafafa;border-bottom:1px solid #eee}
.var-list .var-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px dashed #eee}
.var-list .var-item:last-child{border-bottom:0}
.var-list .var-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.var-list .var-p{font-weight:700;justify-self:end;text-align:right}
.var-list .var-empty{padding:10px 12px;color:var(--muted)}
.fav-price{color:var(--muted);font-size:13px}
.cat-header{display:flex;align-items:center;justify-content:space-between}
.cat-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.cat-card.full{grid-column:1 / -1}
.cat-card.vertical{height:220px}
.cat-card{position:relative;height:140px;border-radius:12px;background-size:cover;background-position:center;background-color:#eaeaea;text-decoration:none;color:#fff;display:flex;align-items:flex-end}
.cat-title{width:100%;padding:10px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%, rgba(0,0,0,.6) 100%);border-radius:0 0 12px 12px}
.site-footer{display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 16px 90px;background:var(--footer-bg);border-top:1px solid var(--border);margin-top:20px;text-align:center}
.site-footer a{text-decoration:none}
.footer-msg{font-size:14px;line-height:1.5;color:#5a5148;max-width:520px;background:#faf7f2;border:1px solid #efe7d9;border-radius:12px;padding:11px 16px}
.footer-review{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:var(--brand);color:var(--brand-ink);font-size:14px;font-weight:600}
.footer-review:hover{background:var(--brand-dark)}
.footer-review svg{color:var(--accent2)}
.footer-social{display:flex;gap:8px}
.social-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:#f4f1ea;color:#43352a;transition:background .15s,color .15s}
.social-link:hover{background:var(--brand);color:var(--brand-ink)}
.footer-brand{font-size:13px;font-weight:700;color:#8a8177;letter-spacing:.04em}
/* Kategori hero: banner + başlık tek kompakt bloğa birleşti (eski 266px → ~140px) */
.cat-hero{position:relative;height:140px;background-size:cover;background-position:center;background-color:var(--brand);display:flex;align-items:flex-end;padding:14px 16px}
.cat-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,.08) 55%,transparent)}
.cat-hero.no-img{background:linear-gradient(135deg,var(--brand),var(--brand-dark))}
.cat-hero.no-img::after{display:none}
.cat-hero-name{position:relative;z-index:1;color:#fff;font-size:27px;font-weight:800;margin:0;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.cat-back{position:absolute;top:12px;left:12px;z-index:2;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.42);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .15s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.cat-back:hover{background:rgba(0,0,0,.68)}
html[dir="rtl"] .cat-back{left:auto;right:12px}
html[dir="rtl"] .cat-back svg{transform:scaleX(-1)}
.menu-list{display:grid;gap:10px}
.menu-card{display:flex;background:var(--card);border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.06);color:var(--text)}
.menu-img{position:relative;width:100px;height:100px;border-radius:12px 0 0 12px;background-size:cover;background-position:center;background-color:#ddd}
.soldout-badge{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,22,26,.55);color:#fff;font-size:12px;font-weight:700;border-radius:12px 0 0 12px;text-align:center;letter-spacing:.02em}
.menu-card.is-soldout .menu-name,.menu-card.is-soldout .menu-meta{opacity:.55}
.add-to-cart-btn:disabled{background:#d6d3ce;color:#8a8177;cursor:not-allowed}
.menu-info{padding:10px;display:flex;flex-direction:column;justify-content:center;flex:1}
.menu-name{font-weight:600;display:flex;align-items:center;gap:6px}
.menu-meta{color:var(--muted);font-size:13px;display:flex;gap:8px}
.menu-price-right{margin-left:auto;padding:0 12px;font-weight:700;display:flex;align-items:center}
.modal{position:fixed;inset:0;display:none;z-index:50}
.modal.active{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4)}
.modal-content{position:relative;max-width:420px;margin:80px auto;background:var(--card);color:var(--text);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.modal-close{position:absolute;top:8px;right:8px;background:var(--brand-soft);color:var(--brand);border:none;border-radius:999px;width:28px;height:28px;cursor:pointer;font-size:18px;line-height:1}
.modal-body{padding:20px;display:grid;gap:8px;justify-items:center}
.wifi-name-label,.wifi-title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.wifi-name{font-size:18px;font-weight:700;color:var(--brand);margin-bottom:6px}
.wifi-pass{font-size:22px;font-weight:700;letter-spacing:1px;color:var(--text)}

/* Cart Styles */
.cart-fab { position: fixed; bottom: 20px; right: 20px; background: var(--brand); color: var(--brand-ink); border: none; border-radius: 50px; padding: 12px 20px; font-size: 16px; font-weight: bold; box-shadow: 0 4px 12px rgba(0,0,0,0.25); cursor: pointer; z-index: 100; display: flex; align-items: center; gap: 8px; }
.cart-drawer { position: fixed; top: 0; right: -400px; width: 100%; max-width: 400px; height: 100%; background: #fff; box-shadow: -5px 0 20px rgba(0,0,0,0.1); z-index: 150; transition: right 0.3s ease; display: flex; flex-direction: column; }
.cart-drawer.open { right: 0; }
.cart-header { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid #eee; background: #f9f9f9; }
.cart-header h3 { margin: 0; font-size: 18px; }
.cart-close { background: none; border: none; font-size: 24px; cursor: pointer; color: #666; }
.cart-body { flex: 1; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 15px; }
.cart-item { display: flex; justify-content: space-between; border-bottom: 1px solid #f0f0f0; padding-bottom: 10px; }
.cart-item-info { flex: 1; }
.cart-item-name { font-weight: bold; font-size: 15px; margin-bottom: 4px; }
.cart-item-meta { font-size: 13px; color: #666; }
.cart-item-actions { display: flex; align-items: center; gap: 10px; }
.cart-btn { background: #eee; border: none; border-radius: 4px; width: 28px; height: 28px; font-weight: bold; cursor: pointer; display:flex; align-items:center; justify-content:center; }
.cart-footer { padding: 20px; border-top: 1px solid #eee; background: #f9f9f9; }
.cart-note { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 8px; margin-bottom: 15px; font-family: inherit; }
.cart-label { display: block; font-size: 12px; color: #666; margin-bottom: 5px; }
.cart-type-row { display: flex; gap: 8px; margin-bottom: 14px; }
.cart-type-btn { flex: 1; padding: 11px 6px; border: 1px solid #ddd; border-radius: 10px; background: #fff; color: #444; font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.cart-type-btn.on { background: var(--brand); color: var(--brand-ink); border-color: var(--brand); }
#cartAddr { resize: vertical; }
.cart-msg { display: none; padding: 10px 12px; border-radius: 8px; font-size: 14px; margin-bottom: 12px; }
.cart-msg.success { background: #e8f5e9; color: #1b5e20; border: 1px solid #c8e6c9; }
.cart-msg.error { background: #fdecea; color: #b71c1c; border: 1px solid #f5c6cb; }
.cart-checkout:disabled { opacity: .65; cursor: default; }
@keyframes cartBump { 0% { transform: scale(1); } 35% { transform: scale(1.16); } 100% { transform: scale(1); } }
.cart-fab.bump { animation: cartBump .28s ease; }
@media (prefers-reduced-motion: reduce) { .cart-fab.bump { animation: none; } }
.cart-coupon-row { display: flex; gap: 8px; margin: 4px 0; }
.cart-coupon-row .cart-note { flex: 1; }
.cart-coupon-btn { flex: 0 0 auto; min-height: 44px; padding: 0 16px; border: 1px solid var(--brand); background: var(--brand-soft); color: var(--brand); border-radius: 8px; font-family: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
.cart-coupon-btn:disabled { opacity: .6; cursor: default; }
.cart-coupon-msg { font-size: 13px; min-height: 0; margin: 2px 0; }
.cart-coupon-msg.ok { color: #15803d; }
.cart-coupon-msg.warn { color: #b45309; }
.cart-coupon-msg.err { color: #dc2626; }
.cart-discount-line { display: flex; justify-content: space-between; font-size: 14.5px; font-weight: 600; color: #15803d; margin: 6px 0 2px; }
.cart-total { display: flex; justify-content: space-between; font-size: 18px; font-weight: bold; margin-bottom: 15px; }
.cart-checkout { width: 100%; padding: 14px; background: var(--brand); color: var(--brand-ink); border: none; border-radius: 8px; font-size: 16px; font-weight: bold; cursor: pointer; }
.cart-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 140; display: none; }
.cart-overlay.open { display: block; }
.add-to-cart-btn { background: var(--brand); color: var(--brand-ink); border: none; padding: 6px 12px; border-radius: 6px; font-weight: bold; font-size: 13px; cursor: pointer; margin-left: 10px; }

/* ---- Deneyim değerlendirme modalı ---- */
.fb-modal { position: fixed; inset: 0; z-index: 320; display: none; align-items: center; justify-content: center; padding: 24px; }
.fb-modal.open { display: flex; }
.fb-backdrop { position: absolute; inset: 0; background: rgba(20,22,26,.55); }
.fb-card { position: relative; background: #fff; border-radius: 22px; padding: 28px 26px 22px; width: 100%; max-width: 360px; text-align: center; box-shadow: 0 24px 60px rgba(0,0,0,.3); }
.fb-head { font-size: 19px; font-weight: 700; color: #1a1d22; margin-bottom: 16px; }
.fb-stars { display: flex; justify-content: center; gap: 6px; margin-bottom: 16px; }
.fb-star { background: none; border: none; font-size: 38px; line-height: 1; color: #e0ddd6; cursor: pointer; padding: 0 2px; transition: color .1s, transform .1s; }
.fb-star.on { color: var(--accent2); }
.fb-star:hover { transform: scale(1.12); }
.fb-comment { width: 100%; padding: 11px 13px; border: 1px solid #ddd; border-radius: 10px; font-family: inherit; font-size: 14px; resize: vertical; margin-bottom: 14px; }
.fb-submit { width: 100%; padding: 13px; border: none; border-radius: 12px; background: var(--brand); color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; margin-bottom: 8px; }
.fb-submit:disabled { opacity: .5; cursor: default; }
.fb-cancel { width: 100%; padding: 10px; border: none; border-radius: 10px; background: transparent; color: #888; font-size: 13px; cursor: pointer; font-family: inherit; }
.fb-thanks-ic { font-size: 40px; margin-bottom: 8px; }
.fb-thanks-msg { font-size: 14px; color: #555; line-height: 1.55; margin-bottom: 18px; }
.fb-google { display: block; padding: 13px; border-radius: 12px; background: var(--accent2); color: #1a1205; font-size: 15px; font-weight: 700; text-decoration: none; margin-bottom: 8px; }
.fb-done { width: 100%; padding: 11px; border: none; border-radius: 10px; background: #f0f0f0; color: #444; font-size: 14px; font-weight: 600; cursor: pointer; font-family: inherit; }

/* ---- Bahşiş ---- */
.footer-tip { background: #f5a524 !important; color: #1a1205 !important; }
.footer-tip:hover { background: #e0940f !important; }
.tip-modal { position: fixed; inset: 0; z-index: 320; display: none; align-items: center; justify-content: center; padding: 24px; }
.tip-modal.open { display: flex; }
.tip-backdrop { position: absolute; inset: 0; background: rgba(20,22,26,.55); }
.tip-card { position: relative; background: #fff; border-radius: 22px; padding: 26px 24px 20px; width: 100%; max-width: 360px; text-align: center; box-shadow: 0 24px 60px rgba(0,0,0,.3); }
.tip-lbl { display: block; text-align: left; font-size: 12.5px; color: #666; font-weight: 600; margin: 12px 0 5px; }
.tip-staff { width: 100%; padding: 11px 13px; border: 1px solid #ddd; border-radius: 10px; font-family: inherit; font-size: 14px; }
.tip-amounts { display: flex; flex-wrap: wrap; gap: 8px; }
.tip-amt { flex: 1; min-width: 64px; padding: 12px 4px; border: 1px solid #ddd; border-radius: 10px; background: #fff; font-family: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.tip-amt.on { background: #f5a524; color: #1a1205; border-color: #f5a524; }
.tip-custom { flex: 1; min-width: 74px; padding: 11px; border: 1px solid #ddd; border-radius: 10px; font-family: inherit; font-size: 14px; }
.tip-note { font-size: 11.5px; color: #8a8177; line-height: 1.5; margin: 12px 0 14px; text-align: left; background: #faf7f2; padding: 9px 11px; border-radius: 8px; }

/* ---- Alerjen chip + uyarı modalı ---- */
.allergen-chip { display: inline-flex; align-items: center; gap: 7px; margin-top: 8px; padding: 5px 11px 5px 7px; border-radius: 999px; background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; font-size: 12.5px; font-weight: 600; cursor: pointer; font-family: inherit; }
.allergen-chip:hover { background: #fee2e2; }
.allergen-icons { display: inline-flex; }
.allergen-ic { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 1px solid #fecaca; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; margin-right: -6px; }
.allergen-ic:last-child { margin-right: 0; }
.allergen-label { margin-left: 6px; }
.menu-kcal { margin-top: 6px; font-size: 12.5px; color: #ea580c; font-weight: 600; }
.allergen-modal { position: fixed; inset: 0; z-index: 320; display: none; align-items: center; justify-content: center; padding: 24px; }
.allergen-modal.open { display: flex; }
.allergen-backdrop { position: absolute; inset: 0; background: rgba(20,22,26,.55); }
.allergen-card { position: relative; background: #fff; border-radius: 22px; padding: 28px 26px 24px; width: 100%; max-width: 330px; text-align: center; box-shadow: 0 24px 60px rgba(0,0,0,.3); }
.allergen-icon { font-size: 40px; line-height: 1; margin-bottom: 10px; }
.allergen-head { font-size: 20px; font-weight: 700; color: #b91c1c; margin-bottom: 8px; }
.allergen-sub { font-size: 13.5px; color: #666; line-height: 1.5; margin-bottom: 18px; }
.allergen-tags { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 22px; }
.allergen-tag { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; border-radius: 999px; padding: 6px 13px; font-size: 13px; font-weight: 600; }
.allergen-close { width: 100%; padding: 13px; border: none; border-radius: 12px; background: #e53935; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; }
.allergen-close:hover { background: #d32f2f; }

/* ---- Dil seçici ---- */
.lang-select { border: 1px solid var(--border); border-radius: 8px; background: var(--card); color: var(--text); font-size: 13px; font-weight: 600; padding: 5px 6px; cursor: pointer; font-family: inherit; }
.lang-select:focus { outline: none; border-color: var(--brand); }
.header-right { display: flex; align-items: center; gap: 8px; width: auto; }

/* ---- RTL (Arapça) ---- */
html[dir="rtl"] body { direction: rtl; }
html[dir="rtl"] .service-fab { left: auto; right: 20px; }
html[dir="rtl"] .cart-fab { right: auto; left: 20px; }
html[dir="rtl"] .cart-drawer { right: auto; left: -400px; }
html[dir="rtl"] .cart-drawer.open { left: 0; right: auto; }
html[dir="rtl"] .add-to-cart-btn { margin-left: 0; margin-right: 10px; }

/* ---- Kategori carousel (üstte yatay kayan chip'ler) ---- */
.cat-carousel { position: sticky; top: 0; z-index: 9; display: flex; gap: 8px; overflow-x: auto; padding: 10px 12px; background: var(--header-bg); border-bottom: 1px solid var(--border); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.cat-carousel::-webkit-scrollbar { display: none; }
.cat-chip { flex: 0 0 auto; padding: 8px 15px; border-radius: 999px; background: #f4f1ea; color: #43352a; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; border: 1px solid transparent; transition: background .15s, color .15s; }
.cat-chip:hover { background: #ece6db; }
.cat-chip.active { background: var(--brand); color: var(--brand-ink); }
.cat-chip-home { display: flex; align-items: center; padding: 8px 12px; }
.cat-chip-home svg { display: block; }

/* ---- Müşteri geri bildirim: toast ---- */
.toast-wrap { position: fixed; left: 0; right: 0; bottom: 20px; z-index: 300; display: flex; flex-direction: column; align-items: center; gap: 8px; pointer-events: none; padding: 0 16px; }
.toast { max-width: 440px; width: fit-content; pointer-events: auto; cursor: pointer; padding: 13px 18px; border-radius: 12px; font-size: 14px; font-weight: 600; line-height: 1.4; color: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.22); opacity: 0; transform: translateY(14px); transition: opacity .22s ease, transform .22s ease; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast-info { background: #2d3138; }
.toast-error { background: #c62828; }
.toast-success { background: #2e7d32; }

/* ---- Müşteri geri bildirim: başarı modalı ---- */
.success-modal { position: fixed; inset: 0; z-index: 320; display: none; align-items: center; justify-content: center; padding: 24px; }
.success-modal.open { display: flex; }
.success-backdrop { position: absolute; inset: 0; background: rgba(20,22,26,.55); backdrop-filter: blur(2px); }
.success-card { position: relative; background: #fff; border-radius: 22px; padding: 34px 28px 26px; width: 100%; max-width: 340px; text-align: center; box-shadow: 0 24px 60px rgba(0,0,0,.3); animation: successPop .32s cubic-bezier(.2,.8,.3,1.2); }
@keyframes successPop { from { transform: scale(.86); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.success-check { width: 78px; height: 78px; margin: 0 auto 18px; }
.success-check svg { width: 100%; height: 100%; }
.sc-ring { fill: none; stroke: #2e7d32; stroke-width: 3; opacity: .28; }
.sc-tick { fill: none; stroke: #2e7d32; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 40; animation: scDraw .4s .15s ease forwards; }
@keyframes scDraw { to { stroke-dashoffset: 0; } }
.success-title { font-size: 15px; font-weight: 600; color: #8a8f98; margin-bottom: 6px; }
.success-msg { font-size: 17px; font-weight: 600; color: #1a1d22; line-height: 1.45; margin-bottom: 22px; }
.success-btn { width: 100%; padding: 14px; border: none; border-radius: 12px; background: #e53935; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; }
.success-btn:hover { background: #d32f2f; }
@media (prefers-reduced-motion: reduce) { .success-card, .sc-tick { animation: none; } .sc-tick { stroke-dashoffset: 0; } }

/* ---- Servis çağrısı: FAB + bottom sheet ---- */
.service-fab { position: fixed; left: 20px; bottom: 20px; width: 54px; height: 54px; border-radius: 50%; border: none; background: var(--brand); color: var(--brand-ink); font-size: 24px; box-shadow: 0 4px 14px rgba(0,0,0,.3); cursor: pointer; z-index: 100; display: flex; align-items: center; justify-content: center; }
.service-fab:active { transform: scale(.94); }
.service-sheet { position: fixed; inset: 0; z-index: 200; display: none; }
.service-sheet.open { display: block; }
.service-backdrop { position: absolute; inset: 0; background: rgba(20,22,26,.5); }
.service-panel { position: absolute; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 22px 22px 0 0; padding: 10px 20px 28px; max-width: 480px; margin: 0 auto; box-shadow: 0 -8px 30px rgba(0,0,0,.2); animation: sheetUp .28s cubic-bezier(.2,.8,.3,1); }
@keyframes sheetUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
.service-grip { width: 40px; height: 4px; border-radius: 4px; background: #ddd; margin: 0 auto 16px; }
.service-title { font-size: 17px; font-weight: 700; color: #1a1d22; text-align: center; margin-bottom: 16px; }
.service-table-row { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.service-table-row label { font-size: 14px; color: #666; font-weight: 600; }
.service-table-row input { flex: 1; padding: 11px 13px; border: 1px solid #ddd; border-radius: 10px; font-family: inherit; font-size: 15px; }
.service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.service-btn { display: flex; align-items: center; gap: 10px; padding: 15px 14px; border: 1px solid #eee; border-radius: 14px; background: #faf7f2; font-family: inherit; font-size: 14.5px; font-weight: 600; color: #43352a; cursor: pointer; text-align: left; }
.service-btn:hover { background: var(--brand-soft); border-color: var(--brand); }
.service-btn:disabled { opacity: .5; }
.service-btn-ic { font-size: 20px; }
.service-close { width: 100%; padding: 13px; border: none; border-radius: 10px; background: #f0f0f0; color: #444; font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
@media (prefers-reduced-motion: reduce) { .service-panel { animation: none; } }
.footer-song { background: #7c3aed !important; color: #fff !important; }
.footer-song:hover { background: #6d28d9 !important; }
.song-input { width: 100%; padding: 12px 13px; border: 1px solid #ddd; border-radius: 10px; font-family: inherit; font-size: 15px; margin-bottom: 14px; }
.closed-banner { position: sticky; top: 0; z-index: 20; background: #292524; color: #fff; text-align: center; padding: 10px 14px; font-size: 14px; font-weight: 600; }
.closed-banner span { color: #f5a524; font-weight: 700; }

/* ---- Tıklanabilir menü kartı + ürün detay modalı ---- */
.menu-card[role="button"]{cursor:pointer;transition:transform .12s ease,box-shadow .15s ease}
.menu-card[role="button"]:active{transform:scale(.99)}
.menu-card[role="button"]:hover{box-shadow:0 4px 16px rgba(0,0,0,.10)}
.menu-card:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.product-modal{position:fixed;inset:0;z-index:330;display:none;align-items:flex-end;justify-content:center}
.product-modal.open{display:flex}
@media(min-width:560px){.product-modal{align-items:center}}
.product-backdrop{position:absolute;inset:0;background:rgba(20,22,26,.6)}
.product-card{position:relative;background:var(--card);color:var(--text);width:100%;max-width:460px;max-height:92vh;overflow-y:auto;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px rgba(0,0,0,.3);animation:sheetUp .28s cubic-bezier(.2,.8,.3,1)}
@media(min-width:560px){.product-card{border-radius:20px;animation:successPop .3s cubic-bezier(.2,.8,.3,1.2)}}
.product-close{position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;border-radius:50%;border:none;background:rgba(0,0,0,.45);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.product-img{height:220px;background-size:cover;background-position:center;background-color:var(--brand-soft)}
.product-img:not(.has-img){display:none}
.product-body{padding:18px 20px 22px}
.product-name{font-size:22px;font-weight:800;color:var(--heading,var(--text));line-height:1.2;margin-bottom:6px}
.product-kcal{font-size:13px;color:#ea580c;font-weight:600;margin-bottom:10px}
.product-desc{font-size:14.5px;line-height:1.6;color:var(--muted);margin-bottom:14px}
.product-allergens{margin-bottom:16px}
.product-allergen-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:7px}
.product-allergen{display:inline-flex;align-items:center;gap:5px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;margin:0 6px 6px 0}
.product-buy{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:16px}
.product-variant{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px}
.product-price{font-size:20px;font-weight:800;color:var(--brand)}
.product-add{background:var(--brand);color:var(--brand-ink);border:none;border-radius:10px;padding:11px 18px;font-family:inherit;font-size:14.5px;font-weight:700;cursor:pointer;flex-shrink:0}
.product-add:disabled{background:#d6d3ce;color:#8a8177;cursor:not-allowed}

/* ---- İstek merkezi: footer tetikleyicileri gizli, sheet'te "Diğer" bölümü ---- */
.site-footer .footer-review{display:none !important}
.service-sep{height:1px;background:#eee;margin:14px 0 12px}
.service-sec-title{font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:16px 2px 8px}
.service-sec-title:first-child{margin-top:2px}
.service-extra-grid .service-btn{background:#fff}
.service-extra-grid .service-btn:hover{background:#fff3e6;border-color:#f0c088}

/* ---- Alt çubuk: [zil] [sipariş durumu / değerlendir] [sepet] ---- */
.bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:120;display:flex;align-items:center;gap:10px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border);box-shadow:0 -3px 18px rgba(0,0,0,.10)}
.bar-left,.bar-right{flex:0 0 auto;display:flex;align-items:center}
.bar-mid{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;padding:0 4px}
/* zil ve sepet artık çubuğun içinde: sabit konumu iptal et */
.bottom-bar .service-fab{position:static;left:auto;bottom:auto;width:50px;height:50px;box-shadow:none;flex:0 0 auto}
.bottom-bar .cart-fab{position:static;right:auto;bottom:auto;box-shadow:none}
html[dir="rtl"] .bottom-bar .service-fab,html[dir="rtl"] .bottom-bar .cart-fab{left:auto;right:auto}
/* Zemin --brand-soft; yazi --brand olmali. (--brand-ink yalnizca --brand ZEMINI icindir;
   burada kullanilirsa acik krem uzerine beyaz yazi cikip okunmaz hale gelir.) */
.bar-rate{width:100%;max-width:300px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--brand-soft);color:var(--brand);font-family:inherit;font-size:14.5px;font-weight:700;cursor:pointer;line-height:1.1;min-height:44px}
.bar-rate:active{transform:scale(.98)}
.order-track{width:100%;max-width:340px}
.order-track-label{font-size:13.5px;font-weight:700;color:var(--text);text-align:center;margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-steps{display:flex;gap:6px;justify-content:center;align-items:center}
.ostep{width:40px;max-width:22vw;height:5px;border-radius:3px;background:var(--border);transition:background .3s}
.ostep.on{background:var(--brand)}
.ostep.done{background:#22c55e}

/* ============================================================
   SUNUM ARAYUZU — ortak bilesenler (Sprint 0C)
   Renkler tema degiskenlerinden gelir; marka adina bagli deger yoktur.
   ============================================================ */

/* ---- Kategori karti: "Yakinda" rozeti ---- */
.cat-card{position:relative}
.cat-badge{position:absolute;top:10px;right:10px;z-index:2;padding:4px 10px;border-radius:999px;
  background:rgba(255,255,255,.95);color:#57534e;font-size:11px;font-weight:800;
  letter-spacing:.03em;text-transform:uppercase;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.cat-card.is-empty{filter:saturate(.75)}

/* ---- Bos durum (kategori/urun yok) ---- */
.empty-state-block{text-align:center;padding:26px 18px 40px;max-width:420px;margin:0 auto}
.empty-visual{width:100%;height:150px;border-radius:16px;background-size:cover;background-position:center;
  margin-bottom:18px;box-shadow:0 6px 24px rgba(0,0,0,.10)}
.empty-visual.no-img{background:linear-gradient(135deg,var(--brand-soft),var(--border))}
.empty-title{margin:0 0 6px;font-size:20px;font-weight:800;color:var(--text)}
.empty-text{margin:0 0 18px;color:var(--muted);font-size:14.5px;line-height:1.5}
.empty-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:0 22px;border-radius:12px;background:var(--brand);color:var(--brand-ink);
  font-weight:700;font-size:14.5px;text-decoration:none}
.empty-action:hover{background:var(--brand-dark)}

/* ---- Ortak demo modali (backend'i olmayan aksiyonlar) ---- */
.demo-modal{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;padding:18px}
.demo-modal.open{display:flex}
.demo-modal-backdrop{position:absolute;inset:0;background:rgba(15,12,10,.55)}
.demo-modal-card{position:relative;background:var(--card,#fff);border-radius:18px;max-width:400px;width:100%;
  padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.3);text-align:center}
.demo-modal-ic{font-size:34px;line-height:1;margin-bottom:10px}
.demo-modal-title{margin:0 0 8px;font-size:19px;font-weight:800;color:var(--text,#292524)}
.demo-modal-text{margin:0 0 6px;font-size:14.5px;line-height:1.55;color:var(--muted,#6b6157)}
.demo-modal-note{display:inline-block;margin:10px 0 16px;padding:5px 12px;border-radius:999px;
  background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:800}
.demo-modal-close{width:100%;min-height:44px;border:none;border-radius:12px;background:var(--brand);
  color:var(--brand-ink);font-family:inherit;font-size:15px;font-weight:700;cursor:pointer}
.demo-modal-close:hover{background:var(--brand-dark)}

/* ============================================================
   Ürün detay sheet / premium sepet / sipariş başarı — Sprint 0C
   ============================================================ */
body.no-scroll{overflow:hidden}

/* ---- Ürün detay: mobil bottom-sheet, masaüstü modal ---- */
.psheet{position:fixed;inset:0;z-index:200;display:none}
.psheet.open{display:block}
.psheet-backdrop{position:absolute;inset:0;background:rgba(15,12,10,.55)}
.psheet-card{position:absolute;left:0;right:0;bottom:0;max-height:92vh;display:flex;flex-direction:column;
  background:var(--card);border-radius:22px 22px 0 0;box-shadow:0 -12px 44px rgba(0,0,0,.28);
  animation:psUp .26s cubic-bezier(.22,1,.36,1)}
@keyframes psUp{from{transform:translateY(14%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.psheet-card{animation:none}}
.psheet-grab{width:40px;height:4px;border-radius:99px;background:var(--border);margin:9px auto 2px;flex-shrink:0}
.psheet-close{position:absolute;top:12px;right:12px;z-index:3;width:36px;height:36px;border:none;border-radius:50%;
  background:rgba(255,255,255,.94);color:#1c1917;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.psheet-media{flex-shrink:0;padding:6px 14px 0}
.psheet-img{height:180px;border-radius:16px;background-size:cover;background-position:center;
  background-color:var(--brand-soft);background-image:linear-gradient(135deg,var(--brand-soft),var(--border))}
.psheet-img.has-img{background-image:none}
.psheet-body{flex:1;min-height:0;overflow-y:auto;padding:14px 18px 6px}
.psheet-name{margin:0 0 4px;font-size:21px;font-weight:800;color:var(--text);line-height:1.2}
.psheet-kcal{font-size:12.5px;color:var(--muted);font-weight:600;margin-bottom:6px}
.psheet-desc{margin:0 0 12px;font-size:14.5px;line-height:1.55;color:var(--muted)}
.psheet-allergens{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.psheet-allergen{font-size:12px;padding:4px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:700}
.vopt-title{font-size:12.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.vopt-grid{display:flex;flex-direction:column;gap:8px}
.vopt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0 14px;
  border:2px solid var(--border);border-radius:12px;background:var(--card);cursor:pointer;font-family:inherit;text-align:left}
.vopt-n{font-size:14.5px;font-weight:700;color:var(--text)}
.vopt-p{font-size:14px;font-weight:800;color:var(--muted)}
.vopt:hover{border-color:var(--brand)}
.vopt.on{border-color:var(--brand);background:var(--brand-soft)}
.vopt.on .vopt-p{color:var(--brand)}
.vopt:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.psheet-soldout{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;
  padding:10px 12px;font-size:13.5px;font-weight:600;margin-top:10px}
.psheet-foot{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:12px 18px calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid var(--border);background:var(--card)}
.qty-ctl{display:flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:12px;flex-shrink:0;overflow:hidden}
.qty-btn{width:44px;height:44px;border:none;background:var(--card);color:var(--text);font-size:20px;font-weight:700;cursor:pointer}
.qty-btn:hover{background:var(--brand-soft);color:var(--brand)}
.qty-val{min-width:34px;text-align:center;font-size:16px;font-weight:800;color:var(--text)}
.psheet-add{flex:1;min-height:48px;border:none;border-radius:12px;background:var(--brand);color:var(--brand-ink);
  font-family:inherit;font-size:15px;font-weight:800;cursor:pointer}
.psheet-add:hover{background:var(--brand-dark)}
.psheet-add:disabled{background:#d6d3ce;color:#8a8177;cursor:not-allowed}
@media(min-width:760px){
  .psheet-card{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:min(680px,92vw);
    max-height:88vh;border-radius:20px;animation:none}
  .psheet-grab{display:none}
  .psheet-media{padding:0}
  .psheet-img{height:230px;border-radius:20px 20px 0 0}
}

/* ---- Premium sepet ---- */
.cart-drawer{background:var(--card);color:var(--text)}
.cart-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;border-bottom:1px solid var(--border)}
.cart-title-wrap{min-width:0}
.cart-title-wrap h3{margin:0;font-size:17px;font-weight:800}
.cart-sub{font-size:12.5px;color:var(--muted);margin-top:2px}
.cart-item{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--border)}
.ci-img{width:52px;height:52px;border-radius:10px;flex-shrink:0;background-size:cover;background-position:center;
  background-image:linear-gradient(135deg,var(--brand-soft),var(--border))}
.ci-main{flex:1;min-width:0}
.ci-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci-meta{font-size:12px;color:var(--muted);margin-top:2px}
.ci-end{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.ci-total{font-size:14px;font-weight:800}
.ci-ctl{display:flex;align-items:center;gap:1px;border:1px solid var(--border);border-radius:9px;overflow:hidden}
.ci-btn{width:32px;height:32px;border:none;background:var(--card);color:var(--text);font-size:16px;font-weight:700;cursor:pointer}
.ci-btn:hover{background:var(--brand-soft);color:var(--brand)}
.ci-qty{min-width:26px;text-align:center;font-size:13.5px;font-weight:800}
.ci-rm{border:none;background:none;color:#dc2626;font-size:11.5px;font-weight:700;cursor:pointer;padding:2px}
.cart-empty-state{text-align:center;padding:44px 20px;color:var(--muted)}
.cart-empty-ic{font-size:38px;opacity:.45;margin-bottom:10px}
.cart-empty-t{font-weight:800;color:var(--text);font-size:15px;margin-bottom:4px}
.cart-sum-row{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin:2px 0}
.cart-note-srv{font-size:11.5px;color:var(--muted);line-height:1.4;margin:6px 0 8px;opacity:.9}

/* ---- Sipariş başarı ---- */
.ok-card{text-align:center}
.ok-ic{width:66px;height:66px;border-radius:50%;background:#dcfce7;color:#15803d;display:flex;align-items:center;
  justify-content:center;font-size:34px;margin:0 auto 12px;animation:okPop .4s cubic-bezier(.22,1,.36,1)}
@keyframes okPop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.ok-ic{animation:none}}
.ok-title{font-size:19px;font-weight:800;color:var(--text);margin-bottom:6px}
.ok-rows{margin:14px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.ok-row{display:flex;justify-content:space-between;gap:10px;padding:10px 13px;font-size:13.5px;border-bottom:1px solid var(--border)}
.ok-row:last-child{border-bottom:0}
.ok-row b{font-weight:800;color:var(--text)}
.ok-row span{color:var(--muted)}
.ok-row.total b{font-size:16px;color:var(--brand)}
.ok-actions{display:flex;gap:8px}
.ok-actions button{flex:1;min-height:46px;border-radius:12px;font-family:inherit;font-size:14.5px;font-weight:700;cursor:pointer}
.ok-primary{border:none;background:var(--brand);color:var(--brand-ink)}
.ok-ghost{border:1px solid var(--border);background:var(--card);color:var(--text)}
.bottom-bar.pulse{animation:barPulse 1.5s ease}
@keyframes barPulse{0%,100%{box-shadow:0 -3px 18px rgba(0,0,0,.10)}50%{box-shadow:0 -3px 26px var(--brand)}}
@media(prefers-reduced-motion:reduce){.bottom-bar.pulse{animation:none}}
/* Takip: aktif adım vurgusu */
.ostep{position:relative}
.ostep.on:last-of-type,.ostep.done{box-shadow:0 0 0 3px rgba(34,197,94,.18)}

/* --- Müşteri alt navigasyonu (marka-bağımsız; Menü gerçek, diğer sekmeler sunum önizlemesi) --- */
.appnav{position:fixed;left:0;right:0;bottom:0;z-index:115;display:flex;align-items:stretch;background:var(--card);border-top:1px solid var(--border);padding:4px 2px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -2px 14px rgba(0,0,0,.08)}
.appnav-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 1px 3px;text-decoration:none;color:var(--muted);font-size:10px;font-weight:600;line-height:1.2;font-family:inherit}
.appnav-item svg{width:22px;height:22px;flex:0 0 auto}
.appnav-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.appnav-item.on{color:var(--brand)}
.appnav-item.on svg{filter:drop-shadow(0 1px 3px rgba(0,0,0,.15))}
/* Navigasyon varken: sayfa içeriği, sipariş çubuğu ve toast'lar navigasyonun üstüne kalkar */
body.has-appnav{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
body.has-appnav .site-footer{margin-bottom:0}
body.has-appnav .bottom-bar{bottom:calc(56px + env(safe-area-inset-bottom));padding-bottom:9px}
body.has-appnav .toast-wrap{bottom:calc(76px + env(safe-area-inset-bottom))}
body.has-appnav .service-fab:not(.bottom-bar .service-fab){bottom:calc(76px + env(safe-area-inset-bottom))}
body.has-appnav .cart-fab:not(.bottom-bar .cart-fab){bottom:calc(76px + env(safe-area-inset-bottom))}
/* Menü sayfalarında hem sipariş çubuğu hem navigasyon alt alta durur; içerik ikisinin de üstünde biter */
body.has-appnav.menu-page{padding-bottom:calc(128px + env(safe-area-inset-bottom))}

/* --- Sipariş-farkında değerlendirme formu (Deneyim & Yorumlar) --- */
.fb-card{max-height:min(86vh,660px);overflow-y:auto}
.fb-body{text-align:left}
.fb-body .fb-head{text-align:center}
.fb-sum{background:var(--brand-soft);border-radius:12px;padding:10px 12px;margin-bottom:12px;font-size:13px}
.fb-sum-row{display:flex;justify-content:space-between;gap:10px;padding:2px 0;color:var(--text)}
.fb-sum-row span{color:var(--muted)}
.fb-sum-items{margin-top:6px;padding-top:6px;border-top:1px dashed rgba(0,0,0,.12);font-size:12px;color:var(--muted);line-height:1.45}
.fb-order-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.fb-order-item{display:flex;justify-content:space-between;gap:10px;width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer}
.fb-order-item.on{border-color:var(--brand);background:var(--brand-soft)}
.fb-order-item.is-done{cursor:default;color:var(--muted)}
.fb-done-chip{font-size:11px;font-weight:800;color:#15803d}
.fb-crit{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--border)}
.fb-crit-lbl{font-size:13px;font-weight:600;color:var(--text)}
.fb-req{color:#b91c1c}
.fb-stars-sm{display:flex;gap:2px;margin:0;justify-content:flex-end}
.fb-stars-sm .fb-star{font-size:24px;padding:0 1px}
.fb-seg{display:flex;gap:6px}
.fb-seg-btn{border:1.5px solid var(--border);background:var(--card);color:var(--text);font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;cursor:pointer;font-family:inherit}
.fb-seg-btn.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.fb-body .fb-comment{margin-top:12px}
.fb-empty{text-align:center;padding:14px 6px 18px;color:var(--muted);font-size:13.5px;line-height:1.5}
.fb-empty-ic{font-size:36px;margin-bottom:8px}
.fb-empty-sub{font-size:12px;margin-top:8px}

/* ============================================================
   MENÜ DÜZENLERİ (tasarım yönleri) — config.menu_layout, body.mlayout-*
   Renk temasından bağımsızdır; yalnız yerleşim/tipografi değişir.
   "klasik" için kural yoktur (mevcut düzen).
   ============================================================ */

/* ---- ARTİZAN: zanaat/sıcak — serif, kâğıt hissi, ince kesikli ayraçlar ---- */
.mlayout-artizan .favorites h2,.mlayout-artizan .categories h2{
  font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:19px;
  width:100%;text-align:center;letter-spacing:.02em}
.mlayout-artizan .favorites h2::before,.mlayout-artizan .categories h2::before{content:"— ";color:var(--brand)}
.mlayout-artizan .favorites h2::after,.mlayout-artizan .categories h2::after{content:" —";color:var(--brand)}
.mlayout-artizan .cat-header{justify-content:center}
.mlayout-artizan .fav-card{border-radius:6px;box-shadow:none;border:1px dashed var(--brand)}
.mlayout-artizan .fav-img{border-radius:5px 0 0 5px}
.mlayout-artizan .fav-name,.mlayout-artizan .menu-name{font-family:Georgia,"Times New Roman",serif;font-size:16px}
.mlayout-artizan .menu-card{background:transparent;box-shadow:none;border-radius:0;
  border-bottom:1px dashed var(--border);padding-bottom:10px}
.mlayout-artizan .menu-img{border-radius:6px;width:84px;height:84px}
.mlayout-artizan .menu-img .soldout-badge{border-radius:6px}
.mlayout-artizan .menu-price-right{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:var(--brand)}
.mlayout-artizan .cat-card{border-radius:8px}
.mlayout-artizan .cat-card::after{content:"";position:absolute;inset:6px;border:1px dashed rgba(255,255,255,.65);
  border-radius:5px;pointer-events:none}
.mlayout-artizan .cat-title{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700}
.mlayout-artizan .cat-hero-name{font-family:Georgia,"Times New Roman",serif;font-style:italic}

/* ---- EDİTÖRYAL: dergi — tipografi odaklı, küçük görsel, numaralı kategori listesi ---- */
.mlayout-editoryal .favorites h2,.mlayout-editoryal .categories h2{
  width:100%;font-size:12.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  border-top:2px solid var(--text);padding-top:9px}
.mlayout-editoryal .fav-card{background:transparent;box-shadow:none;border-radius:0;border:1px solid var(--border);min-width:200px}
.mlayout-editoryal .fav-img{width:64px;height:100%;min-height:64px;border-radius:0}
.mlayout-editoryal .fav-img .soldout-badge{border-radius:0}
.mlayout-editoryal .fav-name{letter-spacing:.01em}
.mlayout-editoryal .cat-grid{display:block;counter-reset:catrow}
.mlayout-editoryal .cat-card{background-image:none !important;background-color:transparent;height:auto;
  border-radius:0;border-bottom:1px solid var(--border);color:var(--text);
  display:flex;align-items:center;gap:12px;padding:15px 2px;counter-increment:catrow}
.mlayout-editoryal .cat-card::before{content:counter(catrow,decimal-leading-zero);
  font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--brand);min-width:26px}
.mlayout-editoryal .cat-card::after{content:"→";margin-left:auto;color:var(--muted);font-size:16px}
html[dir="rtl"] .mlayout-editoryal .cat-card::after{content:"←";margin-left:0;margin-right:auto}
.mlayout-editoryal .cat-title{width:auto;padding:0;background:none;border-radius:0;
  font-size:17px;font-weight:800;color:var(--text)}
.mlayout-editoryal .cat-badge{position:static;order:3}
.mlayout-editoryal .menu-card{background:transparent;box-shadow:none;border-radius:0;
  border-bottom:1px solid var(--border);padding:6px 0}
.mlayout-editoryal .menu-img{width:56px;height:56px;border-radius:0}
.mlayout-editoryal .menu-img .soldout-badge{border-radius:0;font-size:10px}
.mlayout-editoryal .menu-name{font-weight:800}
.mlayout-editoryal .menu-price-right{font-weight:800}
.mlayout-editoryal .cat-hero{background-image:none !important;background-color:transparent;height:auto;padding:56px 16px 14px}
.mlayout-editoryal .cat-hero::after{display:none}
.mlayout-editoryal .cat-hero.no-img{background:none}
.mlayout-editoryal .cat-hero-name{color:var(--text);text-shadow:none;font-size:29px;width:100%;
  border-bottom:3px solid var(--text);padding-bottom:10px}

/* ---- FOTOĞRAF: tam görsel — büyük fotoğraflı dikey kartlar ---- */
.mlayout-fotograf .fav-card{flex-direction:column;min-width:230px}
.mlayout-fotograf .fav-img{width:100%;height:132px;border-radius:12px 12px 0 0}
.mlayout-fotograf .fav-img .soldout-badge{border-radius:12px 12px 0 0}
.mlayout-fotograf .fav-info{padding:10px 12px}
.mlayout-fotograf .cat-card{height:190px}
.mlayout-fotograf .cat-card.vertical{height:260px}
.mlayout-fotograf .menu-card{flex-direction:column}
.mlayout-fotograf .menu-card .menu-img.has-img{width:100%;height:180px;border-radius:12px 12px 0 0}
.mlayout-fotograf .menu-card .menu-img.has-img .soldout-badge{border-radius:12px 12px 0 0}
.mlayout-fotograf .menu-card .menu-img:not(.has-img){display:none}
.mlayout-fotograf .menu-info{padding:12px 12px 4px}
.mlayout-fotograf .menu-price-right{padding:4px 12px 12px}
.mlayout-fotograf .cat-hero{height:200px}
