:root{--pink:#FFC93C;--sage:#FFD45E;--pink-d:#8A5A00;--pink-l:#FFF1C4;--pink-xl:#FFFBEB;--ink:#2A2410;--mut:#7A6A3A;--line:#2A24101a;--badge:#FFEDB8}
*{box-sizing:border-box;margin:0}
body{font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:#FFF6D9;display:flex;justify-content:center;-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer}
img{display:block}
.sr{position:absolute;left:-9999px}
:focus-visible{outline:3px solid var(--pink-d);outline-offset:2px}
#app{position:relative;width:100%;max-width:440px;height:100dvh;background:#fff;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 40px #0002}
main{flex:1;overflow:hidden;position:relative}
.tab{display:none;height:100%;position:relative}
.tab.active{display:block}
.scroll{height:100%;overflow-y:auto}
.pad{padding:24px 20px 20px}
.h{font-size:26px;font-weight:700;color:var(--pink-d);margin-bottom:14px}
.sub{margin:26px 0 10px;font-size:19px;font-weight:700;color:var(--pink-d)}
.muted{color:var(--mut);font-size:14px}
.empty{padding:28px 4px;color:var(--mut);text-align:center}

/* Konum + kategoriler */
.loc-row{padding:14px 20px 6px;background:var(--sage)}
.locbtn{display:flex;align-items:center;gap:8px;border:0;background:none;font-size:15px;color:var(--ink);min-height:44px;padding:0}
.locbtn b{color:var(--ink)}
.locdot{width:30px;height:30px;border-radius:50%;background:var(--pink-l);display:grid;place-items:center}
.locdot svg{width:18px;height:18px;fill:none;stroke:var(--pink-d);stroke-width:2;stroke-linecap:round}
.locbtn .chev{width:16px;height:16px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cats{background:var(--sage);display:flex;gap:16px;padding:10px 20px 14px;overflow-x:auto;scrollbar-width:none}
.cats button{flex:none;width:70px;border:0;background:none;text-align:center;padding:0}
.cats img{width:58px;height:58px;border-radius:50%;object-fit:cover;margin:0 auto 7px;border:3px solid #fff;box-shadow:0 2px 8px #2A241030}
.cats span{display:block;font-size:12px;color:var(--ink);line-height:1.2}
.cats .on img{box-shadow:0 0 0 3px var(--pink)}
.cats .on span{font-weight:700;color:var(--ink)}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;padding:10px 20px 10px;gap:10px}
.sec-h h3{font-size:20px;font-weight:700;color:var(--ink)}
.sec-h button{border:0;background:none;color:var(--pink-d);font-weight:500;font-size:14px;text-decoration:underline;white-space:nowrap;padding:6px 0}
.rail{display:flex;gap:14px;overflow-x:auto;padding:2px 20px 22px;scrollbar-width:none;scroll-snap-type:x proximity}
.rail .card{flex:none;width:292px;scroll-snap-align:start}
.grid{display:grid;gap:16px}

/* Kart */
.card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #2A241026;cursor:pointer}
.card .ph{height:150px;position:relative;background:#FFE79A;border-radius:16px 16px 0 0;overflow:visible}
.card .ph img.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:16px 16px 0 0}
.tagq{position:absolute;left:10px;top:10px;background:var(--badge);color:var(--ink);font-size:12px;font-weight:500;padding:4px 11px;border-radius:999px}
.tagq.out{background:#FFE79A;color:#7A6A3A}
.logo-c{position:absolute;left:12px;bottom:-22px;width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;color:var(--pink-d);box-shadow:0 1px 6px #0003}
.card .body{padding:30px 14px 12px;display:grid;gap:3px}
.card .top-row{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card .nm{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.heart-o{flex:none;width:36px;height:36px;border:0;background:none;display:grid;place-items:center;margin:-6px -8px -6px 0}
.heart-o svg{width:24px;height:24px;fill:none;stroke:var(--pink-d);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.heart-o.on svg{fill:var(--pink-d);stroke:var(--pink-d)}
.card .ty{font-size:14px;color:var(--mut)}
.card .when{font-size:13px;color:var(--ink)}
.card .pr{text-align:right;margin-top:6px}
.card .pr s{font-size:13px;color:#A08E5A;margin-right:6px}
.card .pr b{font-size:18px;color:var(--ink)}

/* Düğmeler ve formlar */
.btn{display:block;width:100%;min-height:52px;border:0;border-radius:999px;background:var(--pink);color:var(--ink);font:700 16px 'DM Sans',sans-serif;text-align:center;line-height:52px;text-decoration:none}
.btn.coral{background:var(--pink);color:var(--ink)}
.btn.sec{background:var(--pink-l);color:var(--pink-d)}
.btn.line{background:#fff;color:var(--pink-d);border:2px solid var(--pink);line-height:48px}
.btn.small{display:inline-block;width:auto;min-height:44px;line-height:44px;padding:0 20px;font-size:14px}
.btn:disabled{background:#F7D98A;color:#fff}
.form{background:var(--pink-xl);border-radius:16px;padding:16px;display:grid;gap:10px;margin-top:12px}
.form h3{font-size:19px;font-weight:700;color:var(--pink-d)}
.form input,.form select{min-height:46px;padding:0 14px;border:2px solid var(--line);border-radius:12px;font:500 15px 'DM Sans',sans-serif;width:100%;background:#fff;color:var(--ink)}
.form input:focus,.form select:focus{outline:none;border-color:var(--pink)}
.form label.f{display:grid;gap:6px;font-size:13px;color:var(--mut)}
.form input[type=file]{border:0;padding:6px 0;min-height:0;background:none}
.row2{display:flex;gap:8px}
.order{background:#fff;border-radius:16px;box-shadow:0 2px 12px #2A24101f;padding:14px;margin-bottom:14px;display:grid;gap:4px}
.badge{display:inline-block;background:var(--badge);color:var(--ink);font-weight:500;font-size:12px;padding:3px 11px;border-radius:999px;width:fit-content}
.codebox{font-size:56px;font-weight:700;line-height:1;letter-spacing:.14em;padding-left:.14em;text-align:center;color:var(--pink-d)}
.order .codebox{font-size:40px;background:var(--pink-xl);border-radius:12px;padding:10px 10px 10px .14em;margin-top:6px}

/* Alt menü */
.tabbar{display:flex;background:#fff;border-top:1px solid var(--line);padding:6px 4px calc(10px + env(safe-area-inset-bottom))}
.tabbar button{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:500;color:#A08E5A;min-height:48px}
.tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tabbar .on{color:var(--pink-d);font-weight:700}
.tabbar .on svg{stroke-width:2.4}
.tabbar button[data-t=kesfet].on svg{fill:var(--pink-d);stroke:#fff}
.tabbar button[data-t=kesfet].on svg circle{stroke:var(--pink-d)}
.tabbar button[data-t=kesfet].on svg path{stroke:#fff;fill:#fff}

/* Harita */
#map{position:absolute;inset:0}
.map-top{position:absolute;z-index:500;top:0;left:0;right:0;padding:14px 16px;display:flex;gap:10px}
.map-search{flex:1;background:#fff;border-radius:999px;padding:0 16px;height:48px;display:flex;align-items:center;gap:10px;box-shadow:0 2px 10px #2A241033}
.map-search svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--mut);stroke-width:2;stroke-linecap:round}
.map-search input{flex:1;min-width:0;border:0;outline:0;font:500 14px 'DM Sans',sans-serif;background:none;color:var(--ink)}
.map-list{background:var(--pink);color:var(--ink);border:0;border-radius:999px;padding:0 20px;height:48px;font-weight:700;font-size:13px;box-shadow:0 2px 10px #2A241033}
.pricepin{background:#fff;color:var(--pink-d);font-weight:700;font-size:14px;padding:7px 12px;border-radius:999px;box-shadow:0 3px 10px #0004;white-space:nowrap;transform:translate(-50%,-50%);width:max-content}
.pricepin.sel{background:var(--pink);color:var(--ink);border:2px solid #fff}
.pricepin.out{background:#F7D98A;color:#7A6A3A}
.pricepin small{font-weight:500;opacity:.75;font-size:12px}
#pick{position:absolute;z-index:500;left:16px;right:16px;bottom:16px}
#pick .card{display:flex;box-shadow:0 6px 24px #2A241055}
#pick .card .ph{height:auto;width:108px;flex:none;border-radius:16px 0 0 16px}
#pick .card .ph img.cover{border-radius:16px 0 0 16px}
#pick .card .body{padding:12px 14px;flex:1}

/* Detay sayfası */
.page{position:absolute;inset:0;z-index:2000;background:#fff;display:flex;flex-direction:column;overflow:hidden}
.page[hidden]{display:none}
.p-scroll{flex:1;overflow-y:auto;position:relative;z-index:0}
svg.i{width:22px;height:22px;flex:none;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p-hero{height:230px;position:relative;background:#FFE79A}
.p-hero img.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-hero .fade{position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(transparent,#000a)}
.circ{width:42px;height:42px;border-radius:50%;border:0;background:#ffffffee;display:grid;place-items:center;box-shadow:0 1px 6px #0003}
.circ svg{width:21px;height:21px;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.circ.on svg{fill:var(--pink-d);stroke:var(--pink-d)}
.p-hero .acts{position:absolute;top:16px;left:14px;right:14px;display:flex;justify-content:space-between}
.p-hero .acts .r{display:flex;gap:10px}
.p-badges{position:absolute;left:14px;bottom:76px;display:flex;gap:8px}
.p-badges .tagq{position:static}
.p-name{position:absolute;left:14px;bottom:14px;right:14px;display:flex;align-items:center;gap:12px;color:#fff;font-size:22px;font-weight:700}
.p-name i{flex:none;width:50px;height:50px;border-radius:50%;background:#fff;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:20px;color:var(--pink-d)}
.p-bar{position:absolute;z-index:10;left:0;right:0;top:0;height:60px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 14px;box-shadow:0 1px 0 var(--line);opacity:0;pointer-events:none;transition:opacity .15s}
.p-bar.show{opacity:1;pointer-events:auto}
.p-bar .circ{box-shadow:none;background:none}
.p-bar .tt{flex:1;text-align:center;font-weight:700;color:var(--pink-d);font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-left{padding:6px 20px 16px;display:grid;gap:14px}
.p-lines{padding:14px 20px;display:grid;gap:12px;font-size:15px}
.p-lines .ln{display:flex;align-items:center;gap:12px}
.p-lines svg.i{width:22px;height:22px;flex:none;fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p-lines .pill-s{background:var(--pink-l);border-radius:999px;font-size:12px;padding:3px 10px}
.p-addr{display:flex;align-items:center;gap:12px;padding:14px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.p-addr svg.i{width:22px;height:22px;flex:none;fill:none;stroke:var(--pink-d);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.p-addr .a{flex:1;min-width:0}
.p-addr b{display:block;color:var(--pink-d);font-weight:500;font-size:15px}
.p-addr small{color:var(--mut);font-size:13px}
.p-sec{padding:18px 20px 6px}
.p-sec h4{font-size:19px;font-weight:700;margin-bottom:8px}
.p-sec p{font-size:15px;line-height:1.5;color:#4a3a10}
.chip-c{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;margin-top:12px;font-size:14px}
.chip-c img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.bar-row{margin-top:12px}
.bar-row .l{display:flex;gap:6px;font-size:15px}
.bar-row .bg{height:7px;border-radius:4px;background:var(--pink-l);margin-top:6px}
.bar-row .bg i{display:block;height:100%;border-radius:4px;background:var(--pink)}
#dmap{height:150px;border-radius:12px;margin-top:10px;overflow:hidden;position:relative;z-index:0}
.p-sec details{border-top:1px solid var(--line);margin-top:14px;padding:14px 0 4px}
.p-sec summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:15px;list-style:none;min-height:44px}
.p-sec summary::-webkit-details-marker{display:none}
.p-sec .tip{background:var(--pink-xl);border-radius:10px;padding:12px 14px;font-size:14px;margin-top:10px}
.p-foot{height:24px}
.p-cta{flex:none;padding:10px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:12px;box-shadow:0 -4px 16px #2A241014}
.p-cta .pc{display:grid;line-height:1.15;min-width:84px}
.p-cta .pc s{font-size:13px;color:#A08E5A}
.p-cta .pc b{font-size:22px}
.p-cta .qty-sm{display:flex;align-items:center;gap:8px;font-weight:700}
.p-cta .qty-sm button{width:36px;height:36px;border-radius:50%;border:2px solid var(--pink);background:#fff;color:var(--pink-d);font-size:18px;font-weight:700;line-height:1}
.p-cta .btn{flex:1;min-width:0}
.page.teal{background:var(--sage);color:var(--ink);padding:24px 20px 32px}
.page.teal .x{width:44px;height:44px;border-radius:50%;border:0;background:#ffffff66;display:grid;place-items:center}
.page.teal .x svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round}
.ready{margin-top:30px;text-align:center}
.ready h2{font-size:36px;font-weight:700}
.ready p{margin-top:8px;color:#2A2410cc;font-size:15px}
.codecard{margin-top:26px;background:#fff;color:var(--ink);border-radius:20px;padding:22px 16px;text-align:center}
.codecard .k{font-size:13px;font-weight:700;color:var(--mut)}
.codecard .codebox{font-size:80px;margin-top:4px}
.codecard hr{border:0;height:1px;background:var(--line);margin:14px 0}
.codecard .ln{display:flex;justify-content:space-between;font-size:14px;gap:10px;text-align:left}
.route{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink);font-weight:700;font-size:14px;min-height:44px;text-decoration:none}
.route svg{width:18px;height:18px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.page.teal .note{margin-top:auto;text-align:center;color:#2A2410cc;font-size:13px;padding-bottom:12px}
.page.teal .btn{background:#fff;color:var(--ink)}
.l-head{flex:none;display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.l-head .tt{flex:1;font-weight:700;font-size:18px;color:var(--pink-d)}
.l-head .circ{box-shadow:none;background:none}
.l-body{flex:1;overflow-y:auto;padding:16px 20px;display:grid;gap:16px;align-content:start}

/* Alt paneller */
.sheet{position:absolute;inset:0;z-index:3000;display:flex;align-items:flex-end}
.sheet[hidden]{display:none}
.sheet-bg{position:absolute;inset:0;background:#0007}
.sheet-body{position:relative;width:100%;background:#fff;border-radius:24px 24px 0 0;padding:14px 20px calc(24px + env(safe-area-inset-bottom));display:grid;gap:10px;max-height:88%;overflow-y:auto;animation:up .22s}
@keyframes up{from{transform:translateY(60px);opacity:0}}
.sheet-body::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:#F7D98A;margin:0 auto 6px}
.sheet-body h3{font-size:20px;font-weight:700;color:var(--pink-d);text-align:center;margin-bottom:6px}
.sheet-body .big{font-size:26px;font-weight:700;color:var(--ink)}
.locrow{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);min-height:56px;width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left;font-size:16px;color:var(--ink)}
.locrow .ic{width:28px;height:28px;border-radius:50%;background:var(--pink-l);display:grid;place-items:center;flex:none}
.locrow .ic svg{width:16px;height:16px;fill:none;stroke:var(--pink-d);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.locrow .t{flex:1}
.locrow small{display:block;color:var(--mut);font-size:13px}
.locrow .add{color:var(--pink-d);text-decoration:underline;font-size:14px}
.radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--pink);display:grid;place-items:center}
.radio.on::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--pink)}
.swipe{position:relative;height:60px;border-radius:999px;background:var(--pink);color:var(--ink);font-weight:700;display:grid;place-items:center;overflow:hidden;user-select:none;touch-action:none}
.swipe .thumb{position:absolute;left:5px;top:5px;width:50px;height:50px;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:grab}
.swipe .thumb svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.swipe span{pointer-events:none;padding-left:44px;font-size:15px}
#toast{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 20px;border-radius:999px;font-weight:700;font-size:14px;opacity:0;pointer-events:none;transition:.3s;z-index:4000;max-width:90%;text-align:center}
#toast.show{opacity:1}

/* ===== Modern görünüm: büyük başlık, tam görselli kartlar, yüzen menü ===== */
.scroll{padding-bottom:104px}
.loc-row{padding:14px 20px 4px}
.hero-h{font-size:36px;line-height:1.05;font-weight:300;letter-spacing:-.025em;color:var(--ink);margin:14px 0 8px}
.hero-h span{display:block;color:#2A241080}
.cats{gap:10px;padding:10px 20px 24px;border-radius:0 0 32px 32px}
.cats button{display:flex;align-items:center;gap:8px;width:auto;padding:5px 15px 5px 5px;border-radius:999px;background:#ffffffa6;white-space:nowrap}
.cats img{width:32px;height:32px;margin:0;border:0;box-shadow:none}
.cats span{display:inline;font-size:14px;font-weight:500}
.cats .on{background:var(--ink)}
.cats .on span{color:#fff;font-weight:500}
.cats .on img{box-shadow:none}
.sec-h{padding:22px 20px 12px}
.sec-h h3{font-weight:500;font-size:22px;letter-spacing:-.015em}
.sec-h button{text-decoration:none;background:var(--pink-l);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}
.rail .card,.grid .card{position:relative;height:330px;border-radius:30px;overflow:hidden;color:#fff;background:#2A2410;box-shadow:0 12px 30px #2A241026}
.rail .card{width:280px}
.rail .card .ph,.grid .card .ph{position:absolute;inset:0;height:auto;border-radius:0;background:none}
.rail .card .ph img.cover,.grid .card .ph img.cover{border-radius:0}
.rail .card .ph::after,.grid .card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 38%,#1a2008e6 100%)}
.rail .tagq,.grid .tagq{z-index:2;left:14px;top:14px}
.rail .logo-c,.grid .logo-c{display:none}
.rail .card .body,.grid .card .body{position:absolute;left:0;right:0;bottom:0;padding:18px;z-index:2;gap:3px}
.rail .nm,.grid .nm{font-size:22px;font-weight:500;letter-spacing:-.015em;color:#fff}
.rail .ty,.grid .ty,.rail .when,.grid .when{color:#ffffffcc;font-size:13px}
.rail .pr,.grid .pr{text-align:left;margin-top:10px;display:flex;align-items:center;gap:10px}
.rail .pr s,.grid .pr s{color:#ffffffa6;margin:0}
.rail .pr b,.grid .pr b{color:var(--ink);background:var(--pink);border-radius:999px;padding:6px 16px;font-size:16px}
.rail .heart-o,.grid .heart-o{background:#ffffff33;border-radius:50%;margin:0;backdrop-filter:blur(8px)}
.rail .heart-o svg,.grid .heart-o svg{stroke:#fff;width:20px;height:20px}
.rail .heart-o.on svg,.grid .heart-o.on svg{fill:var(--pink);stroke:var(--pink)}
.tabbar{position:absolute;z-index:1000;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));border:0;border-radius:999px;padding:6px;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 30px #2A241033}
.tabbar button{border-radius:999px;min-height:52px;gap:2px}
.tabbar .on{background:var(--pink);color:var(--ink)}
.tabbar button[data-t=kesfet].on svg{fill:var(--ink);stroke:var(--pink)}
.tabbar button[data-t=kesfet].on svg circle{stroke:var(--ink)}
.tabbar button[data-t=kesfet].on svg path{stroke:var(--pink);fill:var(--pink)}
#pick{bottom:92px}
#toast{bottom:100px}
.p-hero{border-radius:0 0 32px 32px;overflow:hidden}
.p-name{font-weight:500;letter-spacing:-.015em}
.h{font-weight:300;font-size:34px;letter-spacing:-.025em}
.rail{scroll-padding:0 20px}

/* ===== İyileştirmeler ===== */
html{-webkit-tap-highlight-color:transparent}
button,a,.card,summary{touch-action:manipulation}
.scroll,.p-scroll,.l-body,.sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.search{display:flex;align-items:center;gap:10px;margin-top:14px;height:48px;padding:0 16px;border-radius:999px;background:#ffffffb8}
.search svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--mut);stroke-width:2;stroke-linecap:round}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;font:500 15px 'DM Sans',sans-serif;color:var(--ink)}
.search:focus-within{background:#fff;box-shadow:0 0 0 2px var(--ink)}
.cats{padding-top:14px}
/* Yükleniyor iskeleti */
.card.sk{background:linear-gradient(100deg,#FFF1C4 30%,#FFFBEB 50%,#FFF1C4 70%);background-size:300% 100%;animation:shine 1.3s linear infinite;box-shadow:none}
@keyframes shine{from{background-position:100% 0}to{background-position:0 0}}
/* Fiyat satırı ve indirim */
.rail .pr .off,.grid .pr .off{font-style:normal;font-size:12px;font-weight:700;color:#fff;background:#ffffff33;border-radius:999px;padding:4px 9px}
.pill-s.off{background:var(--pink);color:var(--ink);font-weight:700;margin-left:auto}
.rail .heart-o,.grid .heart-o{backdrop-filter:none;-webkit-backdrop-filter:none;background:#00000040}
.linkbtn{background:none;border:0;color:var(--pink-d);font:500 14px 'DM Sans',sans-serif;text-decoration:underline;min-height:40px}
.empty .btn.small{display:inline-block}
/* Miktar düğmeleri ve kaydırarak onay */
.p-cta .qty-sm button:disabled{opacity:.35;cursor:default}
.swipe:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.swipe.busy{opacity:.7;pointer-events:none}
/* Profil */
.me{display:flex;align-items:center;gap:12px;background:var(--pink-xl);border-radius:20px;padding:14px}
.me>div{flex:1;min-width:0;display:grid}
.me b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me small{color:var(--mut);font-size:13px}
.av{width:44px;height:44px;border-radius:50%;background:var(--pink);color:var(--ink);display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}
.bizbox{margin-top:22px;border:1px solid var(--line);border-radius:20px;padding:0 16px}
.bizbox summary{min-height:56px;display:flex;flex-direction:column;justify-content:center;cursor:pointer;font-weight:700;font-size:17px;list-style:none}
.bizbox summary::-webkit-details-marker{display:none}
.bizbox summary small{font-weight:400;color:var(--mut);font-size:13px}
.bizbox[open]{padding-bottom:16px}
.order[data-oid]:active{transform:scale(.99)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.001s!important}.card.sk{animation:none}}
.pill-s{white-space:nowrap}

/* Yorum, puan, istatistik, etki kartı */
.star{color:var(--pink-d);font-weight:700;letter-spacing:.02em}
.rail .card .star,.grid .card .star{color:var(--pink)}
.rev{padding:8px 0;border-top:1px solid var(--line)}.rev p{margin-top:2px;font-size:14px}
.badge.off{background:#f1e4d6;color:#7a4a1c}
.stars-in{display:flex;justify-content:center;gap:6px}
.stars-in button{border:0;background:none;font-size:40px;line-height:1;color:#d8cfae;min-width:48px;min-height:48px}
.stars-in button.on{color:var(--pink)}
.rtext{width:100%;min-height:84px;border:2px solid var(--line);border-radius:14px;padding:12px;font:500 15px 'DM Sans',sans-serif;resize:vertical;color:var(--ink)}
.rtext:focus{outline:none;border-color:var(--ink)}
.stats,.impact{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.stats>div,.impact>div{background:var(--pink-xl);border-radius:16px;padding:12px 8px;text-align:center;display:grid;gap:2px}
.stats b,.impact b{font-size:19px;letter-spacing:-.01em}
.stats small,.impact small{font-size:11px;color:var(--mut);line-height:1.2}
.impact{background:var(--pink);border-radius:20px;padding:10px}
.impact>div{background:#ffffff80}
.impact p{grid-column:1/-1;font-size:11px;color:var(--ink);opacity:.7;text-align:center}

/* ===== Gözat: arama, filtre, harita işaretleri ===== */
#tab-gozat{overflow:hidden}
#mapWrap{position:absolute;inset:0}
.b-top{position:absolute;z-index:600;top:0;left:0;right:0;padding:14px 16px 10px;display:grid;gap:10px;justify-items:center;pointer-events:none}
.b-top>*{pointer-events:auto}
.b-row{display:flex;gap:10px;width:100%}
.b-top .map-search{flex:1;min-width:0}
.fbtn{position:relative;flex:none;width:48px;height:48px;border-radius:50%;border:0;background:var(--pink);color:var(--ink);display:grid;place-items:center;box-shadow:0 2px 10px #2A241033}
.fbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.fbtn i{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--ink);color:#fff;font:700 11px 'DM Sans',sans-serif;font-style:normal;display:grid;place-items:center;padding:0 5px}
.seg{display:inline-flex;background:#ffffffe6;border-radius:999px;padding:4px;box-shadow:0 2px 10px #2A241022}
.seg button{border:0;background:none;border-radius:999px;min-height:36px;padding:0 20px;font:600 14px 'DM Sans',sans-serif;color:var(--ink)}
.seg button.on{background:var(--ink);color:#fff}
#tab-gozat.list .b-top{background:var(--sage);border-radius:0 0 28px 28px;padding-bottom:14px;box-shadow:0 6px 20px #2A24101a}
#browseList{position:absolute;inset:0;padding:150px 16px 104px}
#browseList .grid{gap:16px}
#browseList .card{height:300px}
.count{margin:0 4px 12px}
.pin{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--pink);color:var(--ink);border:3px solid #fff;box-shadow:0 4px 12px #0004;transform:translate(-50%,-50%);font:700 18px 'DM Sans',sans-serif}
.pin b{position:absolute;top:-8px;right:-10px;min-width:21px;height:21px;border-radius:11px;background:var(--ink);color:#fff;font:700 11px 'DM Sans',sans-serif;display:grid;place-items:center;padding:0 5px;border:2px solid #fff}
.pin.sel{background:var(--ink);color:var(--pink);transform:translate(-50%,-50%) scale(1.2);z-index:10}
.pin.out{background:#d6d2c0;color:#7a7458}.pin.out b{background:#7a7458}
.pin em{position:absolute;top:100%;margin-top:6px;white-space:nowrap;background:#fff;color:var(--ink);font:600 12px 'DM Sans',sans-serif;font-style:normal;padding:3px 10px;border-radius:999px;box-shadow:0 2px 8px #0003}
#pick{position:absolute;z-index:500;left:14px;right:14px;bottom:92px}
.pick-card{background:#fff;border-radius:26px;box-shadow:0 10px 30px #2A241040;padding:12px;display:grid;gap:6px;max-height:300px;overflow-y:auto}
.pk-head{display:flex;align-items:center;gap:12px;padding:2px 4px 6px}
.pk-head i{flex:none;width:44px;height:44px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font:700 18px 'DM Sans',sans-serif;font-style:normal}
.pk-head>div{flex:1;min-width:0;display:grid}
.pk-head b{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-head small{color:var(--mut);font-size:13px}
.pk-head .circ{box-shadow:none;background:var(--pink-xl)}
.pick-row{display:flex;align-items:center;gap:12px;width:100%;border:0;background:var(--pink-xl);border-radius:18px;padding:8px;text-align:left;font-family:inherit;color:var(--ink)}
.pick-row img{flex:none;width:56px;height:56px;border-radius:14px;object-fit:cover}
.pick-row span{flex:1;min-width:0;display:grid}
.pick-row b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pick-row small{color:var(--mut);font-size:12px}
.pick-row em{flex:none;font-style:normal;font-weight:700;background:var(--pink);border-radius:999px;padding:6px 12px;font-size:14px}
.search input[readonly]{cursor:pointer}
/* Filtre paneli */
.fgrp h4{font-size:15px;margin:6px 0 8px}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchip{border:1.5px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;min-height:40px;padding:0 16px;font:500 14px 'DM Sans',sans-serif}
.fchip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.fswitch{display:flex;align-items:center;gap:12px;min-height:48px;font-size:15px;margin-top:6px}
.fswitch input{width:22px;height:22px;accent-color:var(--ink)}
.sheet-body .row2 .btn{flex:1}
.fbtn i[hidden]{display:none}

/* Etiketler, profil menüsü, yardım ve ilk açılış */
.tags{position:absolute;left:10px;top:10px;display:flex;gap:6px;z-index:2;flex-wrap:wrap;max-width:calc(100% - 20px)}
.rail .tags,.grid .tags{left:14px;top:14px}
.tags .tagq,.rail .tags .tagq,.grid .tags .tagq{position:static}
.tagq.hot{background:var(--ink);color:var(--pink)}
.menu{margin-top:18px;background:#fff;border-radius:22px;box-shadow:0 1px 0 var(--line),0 8px 24px #2a24100d;overflow:hidden}
.menu button{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:0 18px;border:0;border-bottom:1px solid var(--line);background:none;font:500 16px 'DM Sans',sans-serif;color:var(--ink);text-align:left}
.menu button:last-child{border-bottom:0}
.menu button:active{background:var(--pink-xl)}
.menu svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--pink-d);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.menu span{flex:1}
.menu i{font-style:normal;font-size:22px;color:var(--mut)}
.about{margin-top:22px;text-align:center;font-size:12px;color:var(--mut);line-height:1.6}
.faq-app details{border-bottom:1px solid var(--line)}
.faq-app summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;cursor:pointer;list-style:none;font-weight:700;font-size:16px}
.faq-app summary::-webkit-details-marker{display:none}
.faq-app summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;background:var(--pink-l);display:grid;place-items:center;font-size:18px}
.faq-app details[open] summary::after{content:"–";background:var(--pink)}
.faq-app p{padding:0 0 18px;color:var(--mut);font-size:15px;line-height:1.55}
.page.onb{background:var(--pink);padding:28px 24px calc(28px + env(safe-area-inset-bottom));text-align:center;align-items:center;justify-content:center;gap:16px}
.onb-skip{position:absolute;top:calc(18px + env(safe-area-inset-top));right:18px;border:0;background:none;font:700 15px 'DM Sans',sans-serif;color:var(--ink);min-height:44px;padding:0 10px}
.onb-art{width:150px;height:150px;border-radius:50%;background:#ffffff80;display:grid;place-items:center;margin-bottom:12px}
.onb-art svg{width:72px;height:72px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.page.onb h2{font-size:30px;line-height:1.1;letter-spacing:-.02em;font-weight:700;max-width:300px}
.page.onb p{font-size:16px;line-height:1.5;max-width:320px;color:#3d3414}
.onb-dots{display:flex;gap:8px;margin:10px 0}
.onb-dots i{width:8px;height:8px;border-radius:50%;background:#2A241044}
.onb-dots i.on{width:24px;border-radius:4px;background:var(--ink)}
.page.onb .btn{width:100%;max-width:340px;background:var(--ink);color:#fff;margin-top:8px}

/* Başlıklar: tanıtım sitesiyle aynı modern yazı tipi */
:root{--display:'Bricolage Grotesque','DM Sans',system-ui,sans-serif}
.hero-h,.h,.sec-h h3,.page.onb h2,.ready h2,.sheet-body h3,.l-head .tt,.p-name,.pk-head b{font-family:var(--display)}
.hero-h{font-weight:800;letter-spacing:-.04em;font-size:40px;line-height:1}
.hero-h span{font-weight:700}
.h{font-weight:800;letter-spacing:-.035em;font-size:36px}
.sec-h h3{font-weight:700;letter-spacing:-.03em}
.page.onb h2{font-weight:800;letter-spacing:-.035em;font-size:34px}
.ready h2{font-weight:800;letter-spacing:-.03em}
.codebox{font-family:var(--display);font-weight:800}

/* Üst kategori şeridi: yatay kayan, sabit duran, ürün görselli (Too Good To Go tarzı) */
.loc-row{border-radius:0 0 30px 30px;padding-bottom:22px}
.cats{position:sticky;top:0;z-index:20;background:#fff;gap:6px;padding:14px 12px 10px;border-radius:0;border-bottom:1px solid var(--line);scroll-snap-type:x proximity;scroll-padding:0 16px;margin-top:-1px}
.cats button{flex:none;display:grid;justify-items:center;align-content:start;gap:7px;width:78px;padding:0;background:none;border-radius:0;white-space:normal;scroll-snap-align:start;position:relative}
.cats img{width:64px;height:64px;border-radius:20px;object-fit:cover;border:0;box-shadow:0 4px 12px #2a24101f;transition:transform .15s,box-shadow .15s}
.cats span{display:block;font-size:12px;font-weight:500;line-height:1.2;color:var(--ink);text-align:center;min-height:29px}
.cats .on{background:none}
.cats .on img{box-shadow:0 0 0 3px var(--pink),0 6px 14px #2a24102e;transform:translateY(-1px)}
.cats .on span{font-weight:700;color:var(--ink)}
.cats .on::after{content:"";position:absolute;left:18px;right:18px;bottom:-11px;height:3px;border-radius:3px;background:var(--ink)}
.cats button:active img{transform:scale(.95)}

/* Ödeme yöntemi ve bağış */
.pay-h{font-weight:700;font-size:15px;margin-top:6px}
.pay-list{display:grid;gap:8px}
.pay-opt{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 14px;border:1.5px solid var(--line);border-radius:16px;background:#fff;text-align:left;font-family:inherit;color:var(--ink)}
.pay-opt.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.pay-opt:disabled{opacity:.5}
.pay-ic{flex:none;width:36px;height:36px;border-radius:10px;background:var(--pink-l);display:grid;place-items:center}
.pay-ic svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pay-t{flex:1;min-width:0;display:grid}
.pay-t small{color:var(--mut);font-size:12px}
.don-note{font-size:12.5px;line-height:1.45}
.sum{display:grid;gap:6px;background:var(--pink-xl);border-radius:16px;padding:12px 14px;font-size:15px}
.sum>div{display:flex;justify-content:space-between}
.sum .tot{border-top:1px solid var(--line);padding-top:8px;margin-top:2px;font-size:17px}
.impact .wide{grid-column:1/-1}

/* ===== Açılış animasyonu ===== */
#splash{position:absolute;inset:0;z-index:9000;background:var(--pink);display:grid;place-items:center;border-radius:0;transition:transform .7s cubic-bezier(.7,0,.2,1),border-radius .7s;will-change:transform}
#splash.out{transform:translateY(-100%);border-radius:0 0 50% 50%/0 0 12% 12%;pointer-events:none}
.sp-in{display:grid;justify-items:center;gap:14px}
.sp-mark{overflow:visible}
.sp-loaf{transform-origin:32px 51px;animation:spLoaf .7s cubic-bezier(.2,1.4,.4,1) both}
@keyframes spLoaf{from{transform:scale(.2) rotate(-14deg);opacity:0}to{transform:none;opacity:1}}
.sp-slit{stroke-dasharray:1;stroke-dashoffset:1;animation:spDraw .6s .55s ease-out forwards}
@keyframes spDraw{to{stroke-dashoffset:0}}
.sp-cr{opacity:0;animation:spCrumb .55s both;animation-delay:calc(1s + var(--d)*.1s)}
@keyframes spCrumb{from{opacity:0;transform:translateY(-14px)}60%{opacity:1}to{opacity:1;transform:none}}
.sp-word path{stroke-dasharray:1;stroke-dashoffset:1;animation:spDraw .5s ease-out forwards;animation-delay:calc(1.1s + var(--i)*.11s)}
.sp-tag{margin:6px 0 0;font:500 15px 'DM Sans',sans-serif;color:#3d3414;opacity:0;animation:spFade .6s 2s forwards}
@keyframes spFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ===== Süslemeler ve hareket ===== */
.loc-row{position:relative;overflow:hidden}
.hdr-art{position:absolute;right:-8px;top:-6px;width:150px;height:110px;pointer-events:none}
.hdr-art img{position:absolute;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 8px 20px #2a241033}
.hdr-art .a1{width:78px;height:78px;right:56px;top:10px;animation:floaty 5.5s ease-in-out infinite}
.hdr-art .a2{width:60px;height:60px;right:2px;top:54px;animation:floaty 6.5s -2s ease-in-out infinite}
.hdr-art .cr{position:absolute;border-radius:50%;background:var(--ink);opacity:.55}
.hdr-art .c1{width:7px;height:7px;right:128px;top:84px;animation:floaty 4s -1s ease-in-out infinite}
.hdr-art .c2{width:5px;height:5px;right:44px;top:6px;animation:floaty 4.8s -3s ease-in-out infinite}
.hdr-art .c3{width:9px;height:9px;right:112px;top:4px;animation:floaty 5.2s -.5s ease-in-out infinite;background:#fff;opacity:.8}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(4deg)}}
@keyframes rise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.rail .card,.grid .card,.order,.menu,.me,.impact{animation:rise .55s cubic-bezier(.2,.8,.2,1) backwards}
.rail .card:nth-child(2),.grid .card:nth-child(2){animation-delay:.07s}
.rail .card:nth-child(3),.grid .card:nth-child(3){animation-delay:.14s}
.rail .card:nth-child(n+4),.grid .card:nth-child(n+4){animation-delay:.2s}
@keyframes tabin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tab.active{animation:tabin .3s ease both}
@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.heart-o.on svg,.circ.on svg{animation:pop .4s}
.btn,.fchip,.pay-opt,.cats button,.pick-row,.menu button{transition:transform .15s,background .2s,box-shadow .2s}
.btn:active,.fchip:active,.pay-opt:active,.pick-row:active{transform:scale(.97)}
.card{transition:transform .2s,box-shadow .2s}
.card:active{transform:scale(.985)}
.swipe .thumb{animation:nudge 2.4s 1s ease-in-out infinite}
@keyframes nudge{0%,70%,100%{transform:none}80%{transform:translateX(10px)}90%{transform:translateX(0)}}
.tabbar .on svg{animation:pop .35s}
.empty-mark{display:inline-block;opacity:.9;margin-bottom:8px;animation:floaty 4s ease-in-out infinite}
.empty{padding-top:36px}
.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:50}
.confetti i{position:absolute;top:-14px;border-radius:50%;animation-name:fall;animation-timing-function:cubic-bezier(.3,.5,.4,1);animation-fill-mode:forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(540deg);opacity:.9}}
@media (prefers-reduced-motion:reduce){.sp-loaf,.sp-slit,.sp-cr,.sp-word path,.sp-tag{animation-duration:.01s;animation-delay:0s}.hdr-art *,.rail .card,.grid .card,.order,.swipe .thumb,.empty-mark{animation:none}}

/* Dil seçimi */
.langrow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 16px;background:#fff;border-radius:22px;box-shadow:0 1px 0 var(--line),0 8px 24px #2a24100d;font-weight:500}
.langseg{display:inline-flex;background:var(--pink-xl);border-radius:999px;padding:4px}
.langseg button{border:0;background:none;border-radius:999px;min-height:36px;padding:0 16px;font:600 14px 'DM Sans',sans-serif;color:var(--ink)}
.langseg button.on{background:var(--ink);color:#fff}
