@font-face { font-family: "Alfa Slab One"; font-weight: 400; font-display: swap;
  src: url(../fonts/alfa-slab-one-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+2000-206F; }
@font-face { font-family: "Alfa Slab One"; font-weight: 400; font-display: swap;
  src: url(../fonts/alfa-slab-one-latin-ext-400-normal.woff2) format("woff2");
  unicode-range: U+0100-0130, U+0132-02AF, U+20A0-20C0; }
@font-face { font-family: "Bitter"; font-weight: 400; font-display: swap;
  src: url(../fonts/bitter-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+2000-206F; }
@font-face { font-family: "Bitter"; font-weight: 400; font-display: swap;
  src: url(../fonts/bitter-latin-ext-400-normal.woff2) format("woff2");
  unicode-range: U+0100-0130, U+0132-02AF, U+20A0-20C0; }
@font-face { font-family: "Bitter"; font-weight: 600; font-display: swap;
  src: url(../fonts/bitter-latin-600-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+2000-206F; }
@font-face { font-family: "Bitter"; font-weight: 600; font-display: swap;
  src: url(../fonts/bitter-latin-ext-600-normal.woff2) format("woff2");
  unicode-range: U+0100-0130, U+0132-02AF, U+20A0-20C0; }
@font-face { font-family: "Bitter"; font-weight: 700; font-display: swap;
  src: url(../fonts/bitter-latin-700-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+2000-206F; }
@font-face { font-family: "Bitter"; font-weight: 700; font-display: swap;
  src: url(../fonts/bitter-latin-ext-700-normal.woff2) format("woff2");
  unicode-range: U+0100-0130, U+0132-02AF, U+20A0-20C0; }

:root {
  color-scheme: light;
  --paper: #f5efe2;
  --ink: #241a15;
  --ink-soft: #6a5a4e;
  --rule: #cbbda5;
  --red: #a81d18;
  --soot: #1c1512;
  --tabs-h: 52px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--tabs-h) + 10px); }
body {
  margin: 0;
  background: var(--soot);
  color: var(--ink);
  font: 400 17px/1.4 Bitter, Georgia, serif;
}
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, p { margin: 0; }
a { color: inherit; }

.mast, .tabs, .sheet { width: 100%; max-width: 560px; margin-inline: auto; background: var(--paper); }

/* Masa örtüsü şeridi */
.checks {
  height: 24px;
  background: conic-gradient(var(--red) 25%, #fbf6ea 0 50%, var(--red) 0 75%, #fbf6ea 0) 0 0 / 24px 24px;
}

/* Üst kısım */
.mast { position: relative; text-align: center; padding-bottom: 22px; }
.mast-band { height: 108px; background: var(--soot); }
.logo {
  display: block;
  width: 216px;
  height: 216px;
  margin: -112px auto 14px;
  position: relative;
}
.mast-title {
  font: 400 30px/1.1 "Alfa Slab One", Georgia, serif;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.mast-date { margin-top: 6px; font-size: 14px; color: var(--ink-soft); }

/* Bölüm sekmeleri */
.tabs {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  height: var(--tabs-h);
  border-block: 2px solid var(--ink);
}
.tabs-logo {
  flex: none;
  width: 0;
  height: 36px;
  margin-left: 0;
  opacity: 0;
  transition: width .2s, margin .2s, opacity .2s;
}
.tabs.stuck .tabs-logo { width: 36px; margin-left: 10px; opacity: 1; }
.tabs-scroll {
  position: relative;
  flex: 1;
  display: flex;
  height: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}
.tabs-scroll::-webkit-scrollbar { display: none; }
.tabs a {
  flex: none;
  display: flex;
  align-items: center;
  padding: 0 14px;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  white-space: nowrap;
}
.tabs a.on { color: var(--red); }
.tabs-bar {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 4px;
  background: var(--red);
  transform-origin: 0 0;
  transform: scaleX(0);
  transition: transform .25s ease;
}

/* Liste */
.sheet { padding: 8px 20px 12px; }
.cat { padding-top: 26px; }
.cat h2 {
  font: 400 25px/1.15 "Alfa Slab One", Georgia, serif;
  color: var(--red);
  text-transform: uppercase;
  padding-bottom: 8px;
  border-bottom: 3px double var(--ink);
}
.item { padding: 13px 0; border-bottom: 1px solid var(--rule); }
.item:last-child { border-bottom: 0; }
.item.has-photo { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 12px; align-items: center; }
.line { display: flex; align-items: baseline; gap: 8px; }
.name { font-weight: 600; font-size: 18px; line-height: 1.25; }
.dots { flex: 1 1 18px; min-width: 18px; border-bottom: 2px dotted var(--rule); transform: translateY(-3px); }
.price { flex: none; font-weight: 700; font-size: 20px; font-variant-numeric: lining-nums tabular-nums; }
.price .tl { margin-right: 1px; font-weight: 600; font-size: .86em; color: var(--red); }
.desc { margin-top: 3px; font-size: 15px; line-height: 1.35; color: var(--ink-soft); }

.thumb { display: block; width: 68px; height: 68px; padding: 0; border: 0; background: none; cursor: zoom-in; }
.thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }

.out .name { color: var(--ink-soft); text-decoration: line-through; text-decoration-color: var(--red); }
.out .thumb img { filter: grayscale(1); opacity: .7; }
.stamp {
  flex: none;
  padding: 0 6px;
  border: 2px solid var(--red);
  color: var(--red);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .03em;
  text-transform: uppercase;
  transform: rotate(-4deg);
}

.note { margin-top: 18px; font-size: 14px; color: var(--ink-soft); text-align: center; }
.signoff { padding: 30px 0 18px; text-align: center; }
.signoff img { display: inline-block; width: 66%; max-width: 300px; height: auto; }

/* Alt kısım */
/* Yüksekliği, son bölümün de sekmelerin altına kadar çıkabilmesini sağlar. */
.foot {
  display: flex;
  flex-direction: column;
  max-width: 560px;
  min-height: calc(100vh - 340px);
  min-height: calc(100svh - 340px);
  margin-inline: auto;
  background: var(--soot);
  color: #e9dfcd;
  font-size: 15px;
}
.foot .checks { flex: none; }
.foot-in {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 20px calc(26px + env(safe-area-inset-bottom));
  text-align: center;
}
.foot-in p + p { margin-top: 5px; }
.foot-name { font-weight: 700; color: #fff; }

/* Fotoğraf büyütme */
.photo { width: min(92vw, 520px); padding: 0; border: 0; background: var(--paper); color: var(--ink); }
.photo::backdrop { background: rgba(20, 14, 11, .82); }
.photo img { display: block; width: 100%; height: auto; }
.photo p { padding: 10px 14px 12px; font-weight: 600; }

/* Küçük hareketler */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .js .logo { animation: stamp .42s cubic-bezier(.2, .9, .3, 1.15) both; }
  .item { transition: opacity .35s ease, transform .35s ease; }
  .item.pre { opacity: 0; transform: translateY(8px); }
  .signoff img { clip-path: inset(-5% -5% -5% 0); transition: clip-path 1.1s ease-in-out; }
  .signoff.pre img { clip-path: inset(0 100% 0 0); }
}
@keyframes stamp {
  from { opacity: 0; transform: scale(1.22) rotate(-7deg); }
  to { opacity: 1; transform: none; }
}

@media (min-width: 600px) {
  body { padding-top: 24px; }
  .foot { margin-bottom: 24px; }
}

@media print {
  body { background: #fff; }
  .tabs { display: none; }
  .item, .signoff img { opacity: 1 !important; transform: none !important; clip-path: none !important; }
}
