/* Tadım — fine dining: mat siyah, şampanya rengi ince çizgiler, ortalanmış servis sırası (minimal şablonu) */
.theme-tadim {
  --bg: #111110; --surface: #191816; --surface-2: #24221f; --text: #eee8dc; --muted: #a8a093; --faint: #7f786d;
  --line: rgba(238, 232, 220, .1); --line-strong: rgba(238, 232, 220, .26); --radius: 2px; --card: none; --price: var(--primary-ink);
  --primary-soft: color-mix(in srgb, var(--primary) 14%, #191816);
}
.theme-tadim [data-section] { scroll-margin-top: 52px; }
.theme-tadim h1, .theme-tadim h2 { font-weight: 400; }

/* Başlık: ortalanmış davetiye */
.mast { padding: calc(16px + var(--safe-t)) 20px 0; text-align: center; }
.mast-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mast-mark { width: 38px; height: 38px; display: grid; place-items: center; overflow: hidden; color: var(--primary-ink); font-family: var(--font-head); font-size: 18px; box-shadow: 0 0 0 1px var(--line-strong); }
.mast-mark img { width: 100%; height: 100%; object-fit: cover; }
.mast .tool { height: 34px; border-radius: 2px; background: transparent; color: var(--text); box-shadow: inset 0 0 0 1px var(--line-strong); backdrop-filter: none; -webkit-backdrop-filter: none; font-weight: 500; }
.mast .tool.round { width: 34px; }
.mast h1 { font-size: clamp(38px, 11.5vw, 68px); letter-spacing: -.01em; line-height: 1.02; margin: 44px auto 0; max-width: 640px; text-wrap: balance; overflow-wrap: anywhere; }
.mast-meta { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 18px; }
.mast-meta::before { content: ''; width: 48px; height: 1px; background: var(--primary); }
.tagline { font-family: var(--font-head); font-style: italic; font-size: 18px; line-height: 1.4; color: var(--muted); max-width: 440px; text-wrap: balance; }
.meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; }
.meta .status-pill, .meta .table-pill { padding: 0; height: auto; font-size: 11.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; border-radius: 0; color: var(--muted); background: none; }
.meta .table-pill { color: var(--primary-ink); }
.cover { margin: 28px -20px 0; position: relative; }
.cover img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.85) brightness(.9); }
.cover::after { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(238, 232, 220, .35); pointer-events: none; }
@media (min-width: 720px) { .cover { margin-inline: 0; } .cover img { aspect-ratio: 21 / 9; } }

/* İşlemler: ince harfli bağlantılar */
.acts { margin: 22px 20px 0; padding: 4px 0; border-block: 1px solid var(--line); gap: 0; justify-content: safe center; }
.act { gap: 7px; padding: 12px 12px; font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--text); }
.act-ic { color: var(--primary-ink); }
.act-ic .icon { width: 15px; height: 15px; stroke-width: 1.6; }
.banner { margin: 18px 20px 0; border-radius: 0; background: transparent; box-shadow: inset 0 0 0 1px var(--line-strong); font-weight: 500; }
.banner-ic { background: transparent; color: var(--primary-ink); box-shadow: inset 0 0 0 1px var(--primary); }
.camps { padding-inline: 20px; }
.camp { border-radius: 0; background: transparent; box-shadow: inset 0 0 0 1px var(--line-strong); }
.camp-ic { border-radius: 0; background: transparent; color: var(--primary-ink); box-shadow: inset 0 0 0 1px var(--primary); }

/* Yapışkan şerit */
.strip { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 4px; height: 52px; padding: 0 8px 0 20px; margin-top: 30px; background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-block: 1px solid var(--line); }
.strip-cur { flex: 1; min-width: 0; font-size: 11.5px; font-weight: 500; text-transform: uppercase; letter-spacing: .16em; color: var(--primary-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.strip-btn { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 10px; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .14em; }
.strip-btn .icon { width: 17px; height: 17px; stroke-width: 1.6; }

/* İçindekiler: servis sırası */
.index { display: flex; flex-direction: column; align-items: center; padding: 26px 20px 6px; }
.index a { display: flex; flex-direction: column; align-items: center; gap: 2px; width: 100%; max-width: 420px; padding: 12px 0; text-align: center; }
.index a + a { border-top: 1px solid var(--line); }
.ix-n { font-size: 10.5px; font-weight: 500; letter-spacing: .2em; color: var(--primary-ink); font-variant-numeric: tabular-nums; }
.ix-t { font-family: var(--font-head); font-style: italic; font-size: clamp(22px, 6.4vw, 28px); line-height: 1.15; }
.ix-c { display: none; }

.main { padding: 0 20px 30px; max-width: 760px; margin: 0 auto; }

/* Bölüm: ortalanmış başlık */
.sec { padding-top: 64px; }
.sec-head { display: flex; flex-direction: column; align-items: center; text-align: center; padding-bottom: 18px; }
.sec-n { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 500; letter-spacing: .24em; color: var(--primary-ink); font-variant-numeric: tabular-nums; }
.sec-n::before, .sec-n::after { content: ''; width: 28px; height: 1px; background: var(--primary); opacity: .7; }
.sec-head h2 { font-size: clamp(30px, 9vw, 44px); letter-spacing: -.01em; line-height: 1.05; margin-top: 12px; text-wrap: balance; }
.sec-head p { font-family: var(--font-head); font-style: italic; color: var(--muted); margin-top: 10px; font-size: 16px; max-width: 420px; }
.sec-head .sec-closed { margin-top: 12px; border-radius: 0; font-family: var(--font-body); font-style: normal; font-size: 12.5px; }

/* Fotoğraf şeridi */
.sheet-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 4px 0 8px; }
.sheet-grid.n2, .sheet-grid.n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.shot { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--surface-2); }
.shot img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9); transition: transform .6s var(--ease); }
.shot:active img { transform: scale(1.04); }
.shot span { position: absolute; inset-inline-start: 6px; bottom: 6px; padding: 2px 6px; background: rgba(17, 17, 16, .78); color: var(--text); font-size: 10px; font-weight: 500; letter-spacing: .1em; font-variant-numeric: tabular-nums; }
.unavailable .sheet-grid { opacity: .5; filter: grayscale(1); }

/* Servis listesi: her tabak ortalanmış bir kart */
.items { list-style: none; margin: 0; padding: 0; }
.line { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 24px 0; text-align: center; border-top: 1px solid var(--line); }
.line:active { background: var(--surface); }
.line-n { display: none; }
.line-body { width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: center; }
.line-top { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.line h3 { font-family: var(--font-body); font-size: 14px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.4; text-wrap: balance; }
.line .price { font-family: var(--font-head); font-size: 18px; color: var(--price); }
.desc { font-family: var(--font-head); font-style: italic; color: var(--muted); font-size: 16px; line-height: 1.45; margin-top: 6px; max-width: 420px; text-wrap: pretty; }
.line-foot { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.line-foot:has(.tags:empty):not(:has(.add)) { display: none; }
.line-foot .tags { justify-content: center; }
.line-img { order: -1; width: 76px; height: 76px; border-radius: 50%; flex-shrink: 0; overflow: hidden; box-shadow: 0 0 0 1px var(--line-strong), 0 0 0 5px var(--bg), 0 0 0 6px var(--line); }
.line-img img { width: 100%; height: 100%; object-fit: cover; }
.tag { border-radius: 0; background: transparent; box-shadow: inset 0 0 0 1px var(--line-strong); color: var(--muted); font-weight: 500; letter-spacing: .04em; }
.add { width: 32px; height: 32px; border-radius: 50%; background: transparent; color: var(--primary-ink); box-shadow: inset 0 0 0 1px var(--primary); }
.add .icon { width: 15px; height: 15px; stroke-width: 2; }
.add:active { background: var(--primary); color: var(--on-primary); }

/* Pencereler */
.sheet-panel { border-radius: 4px 4px 0 0; box-shadow: 0 -1px 0 var(--line-strong); }
@media (min-width: 640px) { .sheet-panel { border-radius: 4px; } }
.sheet-body > h2, .p-body h2 { font-weight: 400; letter-spacing: -.01em; }
.p-price { font-family: var(--font-head); font-weight: 400; }
.cta, .inp, .search-box, .stepper, .segmented, .variants, .choice-list, .criteria, .call-btn, .wifi-card, .pill-btn, .cl-img, .sr-img, .search-cats a, .pair, .fact, .fchip, .promo-on, .table-chip, .filter-open { border-radius: 2px; }
.segmented button { border-radius: 1px; }
.cta { letter-spacing: .1em; text-transform: uppercase; font-size: 14px; font-weight: 600; box-shadow: none; }
.cart-bar { border-radius: 2px; box-shadow: 0 18px 40px -14px rgba(0, 0, 0, .8); }
.cart-count { border-radius: 2px; }
.done-check, .call-ic, .wifi-ic { border-radius: 50%; }
.footer { border-top: 1px solid var(--line); margin: 30px 20px 0; }
.foot-logo { border-radius: 0; }
.foot-name { font-weight: 400; font-size: 22px; }
.foot-social a { border-radius: 50%; background: transparent; box-shadow: inset 0 0 0 1px var(--line-strong); }
.stamp-card { box-shadow: none; }
