:root{--m-primary:#2c1810;--m-secondary:#c9a227;--m-bg:#faf7f2;--m-text:#1a1a1a;--m-muted:#6b6560;--m-card:#fff;--m-font:'DM Sans',sans-serif;--m-display:'Cormorant Garamond',Georgia,serif}
[data-theme=dark]{--m-bg:#121212;--m-text:#f5f0eb;--m-muted:#a39e98;--m-card:#1e1e1e;--m-primary:#f5f0eb}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--m-font);background:var(--m-bg);color:var(--m-text);line-height:1.5;-webkit-font-smoothing:antialiased}
.menu-app{max-width:680px;margin:0 auto;min-height:100vh}
.hero{position:relative;height:280px;overflow:hidden;background:var(--m-primary)}
.hero img,.hero-bg{width:100%;height:100%;object-fit:cover;display:block}
.hero-bg{background:linear-gradient(135deg,var(--m-primary),var(--m-secondary))}
.hero img{opacity:1}
.hero-ov{position:absolute;inset:0;background:linear-gradient(to top,var(--m-bg) 0%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.35) 100%);pointer-events:none}
.hero-act{position:absolute;top:14px;right:14px;z-index:2}
.hero-act button{width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,.9);cursor:pointer;color:var(--m-primary)}
.hdr{padding:0 20px 18px;margin-top:-55px;position:relative;z-index:2;text-align:center}
.logo{width:90px;height:90px;border-radius:50%;object-fit:cover;border:4px solid var(--m-bg);box-shadow:0 8px 24px rgba(0,0,0,.12);display:block;margin:0 auto 10px;background:var(--m-card)}
.logo-ph{width:90px;height:90px;border-radius:50%;background:var(--m-secondary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--m-display);font-size:2rem;font-weight:700;margin:0 auto 10px;border:4px solid var(--m-bg)}
.hdr h1{font-family:var(--m-display);font-size:1.9rem;font-weight:600;margin-bottom:6px}
.desc{color:var(--m-muted);font-size:.9rem;max-width:400px;margin:0 auto 12px}
.meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:14px}
.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;background:var(--m-card);border-radius:20px;font-size:12px;font-weight:500;color:var(--m-muted);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.chip.open{color:#16a34a}.chip.closed{color:#dc2626}
.acts{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.ab{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:30px;font-size:13px;font-weight:600;text-decoration:none;color:#fff}
.ab.wa{background:#25d366}.ab.ig{background:linear-gradient(45deg,#f09433,#dc2743,#bc1888)}.ab.map{background:var(--m-card);color:var(--m-text);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.banner{margin:0 20px 12px;padding:12px 16px;border-radius:10px;font-size:13px;font-weight:500}
.banner.ann{background:rgba(201,162,39,.12);color:var(--m-secondary)}.banner.camp{background:rgba(220,38,38,.08);color:#dc2626}
.search{padding:8px 20px 10px;position:sticky;top:0;z-index:40;background:var(--m-bg)}
.sw{position:relative}.si{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--m-muted)}
.search input{width:100%;padding:11px 14px 11px 40px;border:1px solid rgba(0,0,0,.08);border-radius:12px;font-size:14px;background:var(--m-card);color:var(--m-text);font-family:var(--m-font);outline:none}
.cat-wrap{position:sticky;top:56px;z-index:30;background:var(--m-bg);padding:6px 0;border-bottom:1px solid rgba(0,0,0,.04)}
.cats{display:flex;gap:6px;overflow-x:auto;padding:0 20px;scrollbar-width:none}.cats::-webkit-scrollbar{display:none}
.cats a{flex-shrink:0;padding:7px 16px;border-radius:20px;text-decoration:none;font-size:13px;font-weight:600;color:var(--m-muted);white-space:nowrap}
.cats a.active,.cats a:hover{background:var(--m-primary);color:#fff}
[data-theme=dark] .cats a.active{background:var(--m-secondary);color:#1a1a1a}
.sec{padding:22px 20px 6px}.st{font-family:var(--m-display);font-size:1.5rem;font-weight:600;margin-bottom:14px;padding-bottom:6px;border-bottom:2px solid var(--m-secondary);display:inline-block}
.grid{display:flex;flex-direction:column;gap:10px}.grid.cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.card{display:flex;gap:12px;background:var(--m-card);border-radius:14px;padding:12px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s;position:relative}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1)}
.card.oos{opacity:.5}.card.oos:after{content:'Tükendi';position:absolute;top:10px;right:10px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px}
.cimg{width:96px;height:96px;border-radius:10px;object-fit:cover;flex-shrink:0;background:#e8e0d5}
.cimg.ph{display:flex;align-items:center;justify-content:center;color:var(--m-muted);font-size:24px}
.grid.cols .card{flex-direction:column}.grid.cols .cimg{width:100%;height:140px}
.cinfo{flex:1;min-width:0;display:flex;flex-direction:column}
.badges{display:flex;gap:4px;margin-bottom:3px;flex-wrap:wrap}
.bd{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase}
.bd.new{background:rgba(37,99,235,.12);color:#2563eb}.bd.best{background:rgba(217,119,6,.12);color:#d97706}.bd.sale{background:rgba(220,38,38,.12);color:#dc2626}
.cinfo h3{font-weight:600;font-size:.95rem;margin-bottom:3px}
.pdesc{font-size:12px;color:var(--m-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.price{margin-top:6px;font-weight:700;font-size:1rem;color:var(--m-secondary)}.price .old{text-decoration:line-through;color:var(--m-muted);font-weight:400;font-size:.85rem;margin-right:5px}
.ft{text-align:center;padding:28px 20px;color:var(--m-muted);font-size:12px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:flex-end;justify-content:center;opacity:0;visibility:hidden;transition:all .3s;backdrop-filter:blur(3px)}
.modal.open{opacity:1;visibility:visible}
.sheet{background:var(--m-card);border-radius:22px 22px 0 0;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;transform:translateY(100%);transition:transform .35s cubic-bezier(.32,.72,0,1);position:relative}
.modal.open .sheet{transform:translateY(0)}
.mclose{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;border:none;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}
.mimg{width:100%;height:240px;object-fit:cover;background:#e8e0d5}
.mbody{padding:22px}.mname{font-family:var(--m-display);font-size:1.6rem;font-weight:600;margin-bottom:6px}
.mprice{font-size:1.2rem;font-weight:700;color:var(--m-secondary);margin-bottom:10px}
.mdesc{color:var(--m-muted);font-size:.9rem;margin-bottom:16px;line-height:1.6}
.msec{margin-bottom:16px}.msec h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;color:var(--m-muted)}
.olist{display:flex;flex-direction:column;gap:6px}
.oitem{display:flex;justify-content:space-between;padding:10px 12px;background:var(--m-bg);border-radius:8px;font-size:14px}
.oitem .op{color:var(--m-secondary);font-weight:600;font-size:13px}
.atags{display:flex;flex-wrap:wrap;gap:5px}.atag{padding:3px 10px;background:rgba(220,38,38,.08);color:#dc2626;border-radius:6px;font-size:12px}
@media(min-width:681px){.hero{height:300px;border-radius:0 0 20px 20px}}
