/* Public QR menü — işletme kimliği temaları */

.menu-body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background: var(--bg);
  font-family: var(--font-body);
  --bg: #1c1813;
  --ink: #f4ead8;
  --muted: #b5a48c;
  --accent: #d4a24c;
  --card: rgba(255, 255, 255, 0.06);
  --line: rgba(244, 234, 216, 0.14);
  --price: var(--accent);
  --font-display: "Playfair Display", Georgia, serif;
  --font-body: "Outfit", "Segoe UI", sans-serif;
}

.menu-stage {
  width: min(var(--stage, 760px), calc(100% - 28px));
  margin: 0 auto;
  padding: 28px 0 96px;
  position: relative;
}

.menu-hero {
  text-align: center;
  margin-bottom: 28px;
  padding: 28px 18px 22px;
  position: relative;
}

.menu-langs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 0;
}
.menu-lang {
  border: 1px solid var(--line);
  background: transparent;
  color: inherit;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.menu-lang.on {
  border-color: var(--accent);
  color: var(--accent);
}
.menu-kicker {
  display: inline-block;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-size: 11px;
  color: var(--accent);
  margin-bottom: 10px;
}

.menu-logo {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 50%;
  margin: 0 auto 12px;
  display: block;
  border: 2px solid var(--accent);
}

.menu-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 7vw, 52px);
  line-height: 1.05;
  margin: 0 0 8px;
  font-weight: 700;
}

.menu-tagline {
  color: var(--muted);
  margin: 0 0 8px;
  font-size: 15px;
}

.menu-meta {
  color: var(--muted);
  font-size: 13px;
  margin: 0;
}

.menu-nav {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 0 16px;
  margin-bottom: 8px;
  scrollbar-width: none;
}
.menu-nav::-webkit-scrollbar { display: none; }
.menu-nav a {
  flex: 0 0 auto;
  text-decoration: none;
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  background: var(--card);
}

.menu-section { margin: 26px 0 8px; }
.menu-cat {
  font-family: var(--font-display);
  margin: 0 0 14px;
  font-size: 15px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}
.menu-cat-photo {
  width: 100%;
  max-height: 170px;
  object-fit: cover;
  border-radius: 16px;
  margin: 0 0 14px;
}

.menu-items { display: flex; flex-direction: column; }
.menu-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.menu-item-photo {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
}
.menu-item.has-no-photo { grid-template-columns: 1fr auto; }
.menu-item-name {
  margin: 0;
  font-size: 16px;
  font-weight: 650;
}
.menu-item.is-soldout {
  opacity: 0.55;
  filter: grayscale(0.35);
}
.sold-badge {
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.85;
}
.menu-guest-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
}
.menu-guest-action:disabled,
.menu-guest-action.is-busy {
  opacity: 0.65;
  pointer-events: none;
  cursor: wait;
}
.menu-item-desc {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}
.menu-item-price {
  color: var(--price);
  font-weight: 700;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.menu-empty { color: var(--muted); text-align: center; padding: 32px 0; }

.guest-flow { margin-top: 12px; }
.guest-tabs {
  display: none;
  gap: 8px;
  margin: 0 0 12px;
}
.guest-flow.phase-ready .guest-tabs { display: flex; }
.guest-tab {
  flex: 1;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 10px 14px;
  background: var(--card);
  color: inherit;
  font: inherit;
  font-size: 15px;
}
.guest-tab.on {
  background: var(--accent);
  color: #111;
  border-color: transparent;
}
.guest-flow.phase-pick #guestMenuStep,
.guest-flow.phase-pick .guest-tabs,
.guest-flow.phase-ready.tab-menu #guestTableStep,
.guest-flow.phase-ready.tab-table #guestMenuStep { display: none; }
.guest-pane {
  padding: 20px 18px 22px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--card);
}
.guest-step-no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--accent);
  color: #111;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 10px;
}
.guest-table-copy h2,
.guest-menu-bar h2 {
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-size: clamp(26px, 5vw, 36px);
}
.guest-table-pane .pos-floor {
  min-width: 0;
  width: 100%;
  margin: 16px 0 10px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
  gap: 8px;
}
.guest-table-pane .pos-table {
  min-height: 64px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--ink) 8%, var(--card));
  color: var(--ink);
  font: inherit;
  cursor: pointer;
}
.guest-menu-bar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.guest-text-btn {
  display: block;
  margin-top: 10px;
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
}
.guest-pane .btn {
  margin-top: 14px;
  background: var(--accent);
  color: #111;
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
}
.guest-pane .btn.ghost {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line);
}
.guest-menu-pane .menu-shell { margin-top: 10px; }

.menu-order {
  margin-top: 36px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
}
.menu-order h3 { margin: 0 0 6px; font-family: var(--font-display); }
.menu-order .sub { color: var(--muted); }
.menu-order label { display: block; margin: 12px 0 6px; font-size: 13px; color: var(--muted); }
.menu-order input,
.menu-order select {
  width: 100%;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: transparent;
  color: inherit;
  font: inherit;
}
.menu-order .btn {
  margin-top: 12px;
  background: var(--accent);
  color: #111;
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
}
.guest-pane .pos-floor,
.menu-order .pos-floor {
  margin: 14px 0 8px;
}
.guest-pane .pos-table,
.menu-order .pos-table {
  background: color-mix(in srgb, var(--ink) 8%, transparent);
  color: var(--ink);
  border: 1px solid var(--line);
  min-height: 78px;
}
.guest-pane .pos-table.occupied,
.menu-order .pos-table.occupied { opacity: 1; }
.guest-pane .pos-table.selected,
.menu-order .pos-table.selected {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);
}
.guest-pane .pos-table.locked-out,
.menu-order .pos-table.locked-out {
  opacity: 0.45;
  cursor: default;
}
.guest-ticket {
  margin: 14px 0 8px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.guest-ticket h4 {
  margin: 0 0 4px;
  font-family: var(--font-display);
}
.guest-ticket-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.guest-ticket-flags { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.guest-ticket-item em {
  font-style: normal;
  color: var(--accent);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.guest-ticket-item em.paid { color: #3d8b4a; }
.guest-ticket-total {
  margin: 10px 0 0;
  font-weight: 700;
}
.guest-ticket-status {
  margin: 0 0 8px;
  color: var(--accent);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.menu-item-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.menu-add {
  border: 0;
  border-radius: 999px;
  padding: 7px 12px;
  background: var(--accent);
  color: #111;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.menu-add:disabled { opacity: 0.65; }

.menu-allergens {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 0;
}
.menu-allergens span,
.allergen-icon {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: color-mix(in srgb, #c45c2a 16%, transparent);
  color: #a84a22;
}
.allergen-icon i {
  font-style: normal;
  font-size: 13px;
  line-height: 1;
}
.guest-line-extra {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  opacity: 0.75;
  font-weight: 500;
}

body.sheet-open { overflow: hidden; }
.menu-sheet {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}
.menu-sheet.open {
  opacity: 1;
  pointer-events: auto;
}
.menu-sheet-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(12, 10, 8, 0.55);
  backdrop-filter: blur(4px);
}
.menu-sheet-panel {
  position: relative;
  width: min(560px, 100%);
  max-height: min(92dvh, 820px);
  display: flex;
  flex-direction: column;
  border-radius: 22px 22px 0 0;
  background: var(--card, #fffaf2);
  color: var(--ink, #2a2118);
  box-shadow: 0 -18px 50px rgba(0, 0, 0, 0.28);
  transform: translateY(18px);
  transition: transform 0.28s ease;
  overflow: hidden;
}
.menu-sheet.open .menu-sheet-panel { transform: none; }
.menu-sheet-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 10px;
  border-bottom: 1px solid var(--line, rgba(0,0,0,0.08));
}
.menu-sheet-kicker {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.65;
  font-weight: 700;
}
.menu-sheet-head h3 {
  margin: 4px 0 0;
  font-size: 22px;
  line-height: 1.15;
}
.menu-sheet-x {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid var(--line, rgba(0,0,0,0.1));
  background: transparent;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: inherit;
}
.menu-sheet-body {
  flex: 1;
  overflow: auto;
  padding: 14px 18px 8px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.menu-sheet-desc {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  opacity: 0.8;
}
.menu-sheet-allergens {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
}
.menu-sheet-allergens em {
  font-style: normal;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(196, 92, 42, 0.12);
  color: #a84a22;
}
.menu-sheet-group-h {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.menu-sheet-group-h b { font-size: 14px; }
.menu-sheet-group-h small { opacity: 0.6; font-size: 12px; }
.menu-sheet-opts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.menu-sheet-opt {
  appearance: none;
  border: 1px solid var(--line, rgba(0,0,0,0.12));
  background: color-mix(in srgb, var(--card, #fff) 92%, #000 8%);
  color: inherit;
  border-radius: 999px;
  padding: 10px 14px;
  font: inherit;
  font-size: 14px;
  font-weight: 650;
  cursor: pointer;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 44px;
}
.menu-sheet-opt[aria-pressed="true"] {
  border-color: var(--accent, #d4a24c);
  background: color-mix(in srgb, var(--accent, #d4a24c) 22%, transparent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent, #d4a24c) 35%, transparent);
}
.menu-sheet-opt em {
  font-style: normal;
  font-size: 12px;
  opacity: 0.75;
}
.menu-sheet-note span {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 6px;
}
.menu-sheet-note textarea {
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--line, rgba(0,0,0,0.12));
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 12px;
  resize: vertical;
  min-height: 72px;
}
.menu-sheet-qty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 700;
}
.menu-sheet-stepper {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line, rgba(0,0,0,0.12));
  border-radius: 999px;
  padding: 4px;
}
.menu-sheet-stepper button {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent, #d4a24c) 18%, transparent);
  font-size: 20px;
  cursor: pointer;
  color: inherit;
}
.menu-sheet-stepper strong {
  min-width: 1.5ch;
  text-align: center;
  font-size: 18px;
}
.menu-sheet-foot {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  padding: 12px 18px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line, rgba(0,0,0,0.08));
  background: color-mix(in srgb, var(--card, #fff) 92%, #000 8%);
}
.menu-sheet-cancel,
.menu-sheet-add {
  min-height: 52px;
  border-radius: 16px;
  border: 0;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.menu-sheet-cancel {
  padding: 0 16px;
  background: transparent;
  border: 1px solid var(--line, rgba(0,0,0,0.12));
  color: inherit;
}
.menu-sheet-add {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 16px;
  background: var(--accent, #d4a24c);
  color: #1a140c;
}
.menu-sheet-err {
  margin: 0 18px 12px;
  color: #b04a3c;
  font-size: 13px;
  font-weight: 650;
}

.menu-shell {
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--card);
  overflow: hidden;
}
.menu-shell-btn,
.menu-acc-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font: inherit;
}
.menu-shell-btn b,
.menu-acc-btn b {
  display: block;
  font-family: var(--font-display);
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: 0.01em;
}
.menu-shell-btn small,
.menu-acc-btn small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 2px;
}
.menu-shell-btn em,
.menu-acc-btn em {
  margin-left: auto;
  font-style: normal;
  color: var(--accent);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.menu-shell-body { display: none; padding: 0 12px 16px; }
.menu-shell.open .menu-shell-body { display: block; }
.menu-acc {
  border: 1px solid var(--line);
  border-radius: 16px;
  margin: 0 0 10px;
  overflow: hidden;
  background: color-mix(in srgb, var(--ink) 4%, transparent);
}
.menu-acc-btn img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 12px;
  flex: 0 0 auto;
}
.menu-acc-body { display: none; padding: 0 12px 14px; }
.menu-acc.open .menu-acc-body { display: block; }
.menu-nav-btn {
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  background: var(--card);
  color: inherit;
}

.layout-cards .menu-item-side,
.layout-tiles .menu-item-side,
.layout-magazine .menu-item-side {
  align-items: flex-start;
}

/* Layouts */
.layout-cards .menu-items,
.layout-tiles .menu-items,
.layout-magazine .menu-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.layout-cards .menu-item,
.layout-tiles .menu-item,
.layout-magazine .menu-item,
.layout-ticket .menu-item {
  grid-template-columns: 1fr;
  border: 1px solid var(--line);
  border-radius: var(--card-radius, 16px);
  padding: 12px;
  background: var(--card);
  border-bottom: 1px solid var(--line);
}
.layout-cards .menu-item-photo,
.layout-magazine .menu-item-photo {
  width: 100%;
  height: 120px;
  border-radius: 12px;
}
.layout-cards .menu-item-price,
.layout-tiles .menu-item-price,
.layout-magazine .menu-item-price,
.layout-ticket .menu-item-price {
  margin-top: 8px;
  justify-self: start;
}
.layout-tiles .menu-item-photo { width: 100%; height: 72px; border-radius: 10px; }
.layout-fine { --stage: 680px; }
.layout-fine .menu-hero { padding: 48px 12px 36px; }
.layout-fine .menu-title { letter-spacing: 0.04em; }
.layout-fine .menu-item { padding: 18px 0; border-bottom-style: solid; }
.layout-fine .menu-item-name { font-family: var(--font-display); font-size: 18px; font-weight: 500; }
.layout-board .menu-hero,
.layout-board .menu-section {
  background: var(--board, rgba(0, 0, 0, 0.22));
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 20px 16px;
}
.layout-board .menu-section { margin-top: 16px; }
.layout-board .menu-item { border-bottom-style: dashed; }
.layout-neon .menu-title {
  text-shadow: 0 0 18px color-mix(in srgb, var(--accent) 70%, transparent);
}
.layout-neon .menu-nav a,
.layout-neon .menu-item {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);
}
.layout-ticket .menu-items { gap: 8px; }
.layout-ticket .menu-item {
  border-radius: 6px;
  border-style: dashed;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  grid-template-columns: none;
}
.layout-ticket .menu-item-photo { display: none; }
.layout-ticket .menu-item-price {
  font-family: var(--font-display);
  font-size: 22px;
  margin: 0;
}
.layout-rustic .menu-cat {
  text-align: center;
  letter-spacing: 0.2em;
}
.layout-rustic .menu-cat::before,
.layout-rustic .menu-cat::after {
  content: "✦";
  margin: 0 10px;
  opacity: 0.55;
}
.layout-list .menu-item-name { font-family: var(--font-display); }

@media (max-width: 640px) {
  .layout-cards .menu-items,
  .layout-magazine .menu-items { grid-template-columns: 1fr; }
}

/* ——— 32 işletme kimliği ——— */

[data-theme="classic-light"] {
  --bg: #f6efe3;
  --ink: #2c2118;
  --muted: #7a6858;
  --accent: #c43c3c;
  --card: #fffaf2;
  --line: rgba(44, 33, 24, 0.12);
  --price: #9a2c2c;
  --font-display: "Source Serif 4", Georgia, serif;
  --font-body: "Outfit", sans-serif;
  background:
    repeating-linear-gradient(90deg, #c43c3c 0 14px, #f6efe3 14px 28px) 0 0 / 100% 10px no-repeat,
    #f6efe3;
}
[data-theme="classic-light"] .menu-hero { border-bottom: 3px double #c43c3c; }
[data-theme="classic-light"] .menu-item { align-items: baseline; }

[data-theme="classic-dark"] {
  --bg: #12100e;
  --ink: #f3e6cf;
  --muted: #b7a48a;
  --accent: #d4a24c;
  --card: transparent;
  --line: rgba(212, 162, 76, 0.22);
  --font-display: "Playfair Display", serif;
  --font-body: "Outfit", sans-serif;
  background:
    radial-gradient(800px 400px at 50% -10%, rgba(212, 162, 76, 0.12), transparent 50%),
    #12100e;
}
[data-theme="classic-dark"] .menu-kicker::before,
[data-theme="classic-dark"] .menu-kicker::after { content: " ◆ "; }

[data-theme="warm-bistro"] {
  --bg: #2a1a12;
  --ink: #f8e3c8;
  --muted: #d7b08a;
  --accent: #e08a3c;
  --card: rgba(90, 42, 20, 0.35);
  --line: rgba(248, 227, 200, 0.14);
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Outfit", sans-serif;
  background:
    radial-gradient(700px 420px at 10% 0%, rgba(224, 138, 60, 0.22), transparent 50%),
    linear-gradient(180deg, #3a2216, #21140e);
}
[data-theme="warm-bistro"] .menu-title { font-style: italic; }

[data-theme="ocean-blue"] {
  --bg: #0b2430;
  --ink: #e8f4f8;
  --muted: #9ec4d1;
  --accent: #4fb0c6;
  --card: rgba(14, 60, 76, 0.7);
  --line: rgba(79, 176, 198, 0.25);
  --font-display: "Fraunces", serif;
  --stage: 820px;
  background:
    radial-gradient(120% 60% at 50% 110%, rgba(79, 176, 198, 0.28), transparent 50%),
    linear-gradient(#0b2430, #123844);
}
[data-theme="ocean-blue"] .menu-hero::after {
  content: "";
  display: block;
  height: 14px;
  margin: 18px auto 0;
  width: 70%;
  background: radial-gradient(circle at 10px 6px, transparent 8px, #4fb0c6 9px, #4fb0c6 10px, transparent 11px) center / 22px 14px repeat-x;
  opacity: 0.55;
}

[data-theme="forest-green"] {
  --bg: #1a2416;
  --ink: #eef3dc;
  --muted: #b5c48a;
  --accent: #c4b07a;
  --card: rgba(40, 56, 28, 0.7);
  --line: rgba(196, 176, 122, 0.25);
  --font-display: "Fraunces", serif;
  background:
    radial-gradient(circle at 20% 10%, rgba(107, 124, 58, 0.28), transparent 36%),
    #1a2416;
}

[data-theme="midnight-gold"] {
  --bg: #070706;
  --ink: #f3e3b0;
  --muted: #c9a227;
  --accent: #e6c35a;
  --card: transparent;
  --line: rgba(201, 162, 39, 0.22);
  --font-display: "Cinzel", serif;
  --font-body: "Outfit", sans-serif;
  --stage: 640px;
}
[data-theme="midnight-gold"] .menu-hero {
  border-top: 1px solid #c9a227;
  border-bottom: 1px solid #c9a227;
}
[data-theme="midnight-gold"] .menu-title { font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; font-size: clamp(26px, 5vw, 40px); }

[data-theme="sakura"] {
  --bg: #fff4f6;
  --ink: #4a2a32;
  --muted: #b07a86;
  --accent: #d97b93;
  --card: #fff;
  --line: rgba(217, 123, 147, 0.2);
  --price: #c45c78;
  --font-display: "Great Vibes", cursive;
  --font-body: "Nunito", sans-serif;
  --card-radius: 22px;
}
[data-theme="sakura"] .menu-title { font-weight: 400; font-size: clamp(44px, 10vw, 68px); }
[data-theme="sakura"] .menu-cat { text-transform: none; letter-spacing: 0; font-size: 32px; font-weight: 400; }
[data-theme="sakura"] .menu-item { box-shadow: 0 10px 24px rgba(180, 90, 110, 0.08); }

[data-theme="terracotta"] {
  --bg: #1a100c;
  --ink: #f6e0d4;
  --muted: #d08a72;
  --accent: #ff7a3c;
  --board: #24140e;
  --card: rgba(196, 92, 62, 0.12);
  --line: rgba(255, 122, 60, 0.28);
  --font-display: "Oswald", sans-serif;
  background:
    radial-gradient(500px 240px at 50% 0%, rgba(255, 90, 30, 0.28), transparent 60%),
    #1a100c;
}
[data-theme="terracotta"] .menu-title { text-transform: uppercase; letter-spacing: 0.08em; }

[data-theme="minimal-white"] {
  --bg: #f7f5f1;
  --ink: #1a1a1a;
  --muted: #6b6b6b;
  --accent: #1a1a1a;
  --card: #fff;
  --line: rgba(0, 0, 0, 0.08);
  --price: #111;
  --font-display: "Outfit", sans-serif;
  --font-body: "Outfit", sans-serif;
  --card-radius: 20px;
}
[data-theme="minimal-white"] .menu-title { font-weight: 600; letter-spacing: -0.03em; }
[data-theme="minimal-white"] .menu-item-photo { border-radius: 50%; width: 72px; height: 72px; }
[data-theme="minimal-white"].layout-cards .menu-item-photo { width: 100%; height: 140px; border-radius: 16px; }

[data-theme="neon-night"] {
  --bg: #0b0614;
  --ink: #f1ecff;
  --muted: #b8a6ff;
  --accent: #c77dff;
  --card: rgba(28, 12, 48, 0.8);
  --line: rgba(124, 92, 255, 0.35);
  --font-display: "Oswald", sans-serif;
  background:
    radial-gradient(600px 300px at 80% 0%, rgba(124, 92, 255, 0.28), transparent 50%),
    #0b0614;
}
[data-theme="neon-night"] .menu-title { text-transform: uppercase; letter-spacing: 0.12em; }

[data-theme="olive-garden"] {
  --bg: #f3ead6;
  --ink: #3a2f1c;
  --muted: #7a6a48;
  --accent: #6b7c3a;
  --card: #fff8e8;
  --line: rgba(58, 47, 28, 0.14);
  --font-display: "Fraunces", serif;
  --font-body: "Nunito", sans-serif;
  background:
    repeating-linear-gradient(45deg, transparent, transparent 18px, rgba(107, 124, 58, 0.05) 18px, rgba(107, 124, 58, 0.05) 19px),
    #f3ead6;
}
[data-theme="olive-garden"] .menu-hero {
  border: 2px solid #6b7c3a;
  border-radius: 8px;
}

[data-theme="royal-purple"] {
  --bg: #16101f;
  --ink: #f3e9fa;
  --muted: #c4a6d8;
  --accent: #e6c35a;
  --card: rgba(50, 30, 70, 0.55);
  --line: rgba(230, 195, 90, 0.22);
  --font-display: "Cinzel", serif;
}
[data-theme="royal-purple"] .menu-kicker { letter-spacing: 0.4em; }
[data-theme="royal-purple"] .menu-hero::before {
  content: "❧";
  display: block;
  color: #e6c35a;
  font-size: 22px;
  margin-bottom: 6px;
}

[data-theme="coffee-bean"] {
  --bg: #cbb79a;
  --ink: #2b1a12;
  --muted: #6a4a38;
  --accent: #5c3d2e;
  --card: #f3e4d4;
  --line: rgba(92, 61, 46, 0.18);
  --price: #5c3d2e;
  --font-display: "Fraunces", serif;
  --font-body: "Nunito", sans-serif;
  background:
    radial-gradient(circle at 20% 20%, rgba(92, 61, 46, 0.08), transparent 40%),
    #cbb79a;
}
[data-theme="coffee-bean"] .menu-kicker {
  border: 2px dashed #5c3d2e;
  padding: 4px 10px;
  border-radius: 4px;
  transform: rotate(-2deg);
}

[data-theme="mediterranean"] {
  --bg: #f7f1e3;
  --ink: #1f3a36;
  --muted: #5b7a74;
  --accent: #2a9d8f;
  --card: #fff;
  --line: rgba(42, 157, 143, 0.2);
  --font-display: "Playfair Display", serif;
  background:
    linear-gradient(#2a9d8f, #2a9d8f) 0 0 / 100% 8px no-repeat,
    #f7f1e3;
}
[data-theme="mediterranean"] .menu-hero {
  border: 8px double #2a9d8f;
  background: #fffdf7;
}

[data-theme="nordic"] {
  --bg: #eef2f0;
  --ink: #243038;
  --muted: #6d7d86;
  --accent: #4d7a6d;
  --card: #fff;
  --line: rgba(36, 48, 56, 0.08);
  --font-display: "Outfit", sans-serif;
  --card-radius: 24px;
}
[data-theme="nordic"] .menu-title { font-weight: 560; letter-spacing: -0.04em; }
[data-theme="nordic"] .menu-item { border-radius: 24px; }

[data-theme="sunset"] {
  --bg: #2a1208;
  --ink: #ffe8d4;
  --muted: #e0a07a;
  --accent: #ffb020;
  --board: #3a1a0c;
  --line: rgba(255, 176, 32, 0.28);
  --font-display: "Bebas Neue", "Oswald", sans-serif;
  --font-body: "Outfit", sans-serif;
  background: linear-gradient(180deg, #5a220c, #2a1208 40%);
}
[data-theme="sunset"] .menu-title { font-size: clamp(48px, 12vw, 78px); letter-spacing: 0.04em; }
[data-theme="sunset"] .menu-item-price { font-family: "Bebas Neue", sans-serif; font-size: 28px; }

[data-theme="charcoal"] {
  --bg: #121212;
  --ink: #f0e6d8;
  --muted: #a09080;
  --accent: #c9a27a;
  --card: #1a1a1a;
  --line: rgba(201, 162, 122, 0.2);
  --font-display: "Cinzel", serif;
}
[data-theme="charcoal"] .menu-hero {
  background: #1a1a1a;
  border: 1px solid #c9a27a;
}

[data-theme="mint-fresh"] {
  --bg: #e8f7f2;
  --ink: #16352c;
  --muted: #4d7a6d;
  --accent: #1aa37a;
  --card: #fff;
  --line: rgba(26, 163, 122, 0.2);
  --font-display: "Nunito", sans-serif;
  --card-radius: 14px;
}
[data-theme="mint-fresh"] .menu-item { border-style: dashed; }

[data-theme="wine-red"] {
  --bg: #1a0b0e;
  --ink: #f8e6e8;
  --muted: #d39aa2;
  --accent: #e0b56a;
  --card: transparent;
  --line: rgba(224, 181, 106, 0.2);
  --font-display: "Playfair Display", serif;
  background:
    radial-gradient(700px 300px at 50% 0%, rgba(122, 31, 43, 0.55), transparent 55%),
    #1a0b0e;
}
[data-theme="wine-red"] .menu-title { font-style: italic; }

[data-theme="ivory-luxury"] {
  --bg: #f3e6c8;
  --ink: #3a2c18;
  --muted: #7a6848;
  --accent: #8a6a32;
  --card: transparent;
  --line: rgba(58, 44, 24, 0.14);
  --font-display: "Cinzel", serif;
  --stage: 640px;
}
[data-theme="ivory-luxury"] .menu-title { font-style: italic; font-weight: 500; }
[data-theme="ivory-luxury"] .menu-hero { border-bottom: 1px solid #8a6a32; }

[data-theme="fastfood-sokak"] {
  --bg: #ffc107;
  --ink: #1a1a1a;
  --muted: #5a3a00;
  --accent: #d32f2f;
  --card: #fff8e1;
  --line: #1a1a1a;
  --price: #d32f2f;
  --font-display: "Anton", sans-serif;
  --font-body: "Outfit", sans-serif;
  background:
    repeating-linear-gradient(90deg, #d32f2f 0 16px, #ffc107 16px 32px) 0 0 / 100% 14px no-repeat,
    #ffc107;
}
[data-theme="fastfood-sokak"] .menu-title { text-transform: uppercase; letter-spacing: 0.02em; }
[data-theme="fastfood-sokak"] .menu-item-price {
  background: #d32f2f;
  color: #fff;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 18px;
}

[data-theme="pizzaci"] {
  --bg: #fff6ee;
  --ink: #3b1d12;
  --muted: #8a5640;
  --accent: #c62828;
  --card: #fff;
  --line: rgba(198, 40, 40, 0.16);
  --price: #2e7d32;
  --font-display: "Pacifico", cursive;
  --font-body: "Nunito", sans-serif;
  --card-radius: 50px 16px 16px 16px;
  background:
    radial-gradient(circle at 90% 8%, rgba(46, 125, 50, 0.12), transparent 24%),
    #fff6ee;
}
[data-theme="pizzaci"] .menu-title { font-weight: 400; color: #c62828; }
[data-theme="pizzaci"] .menu-kicker { color: #2e7d32; }
[data-theme="pizzaci"] .menu-item { box-shadow: 0 10px 20px rgba(80, 20, 10, 0.06); }

[data-theme="pideci"] {
  --bg: #3a2a1c;
  --ink: #f6e6c8;
  --muted: #d2b48c;
  --accent: #e0b060;
  --board: #2c1e14;
  --line: rgba(224, 176, 96, 0.25);
  --font-display: "Oswald", sans-serif;
  background:
    radial-gradient(500px 220px at 50% 0%, rgba(224, 160, 70, 0.2), transparent 55%),
    #3a2a1c;
}
[data-theme="pideci"] .menu-title { text-transform: uppercase; }

[data-theme="burger-bar"] {
  --bg: #111;
  --ink: #fff3c4;
  --muted: #c8b06a;
  --accent: #ffcc00;
  --card: #1c1c1c;
  --line: #ffcc00;
  --font-display: "Anton", sans-serif;
  --font-body: "Outfit", sans-serif;
}
[data-theme="burger-bar"] .menu-title { text-transform: uppercase; color: #ffcc00; }
[data-theme="burger-bar"] .menu-item { border-width: 2px; }

[data-theme="kofteci"] {
  --bg: #3a0e0e;
  --ink: #fff1e4;
  --muted: #e0a090;
  --accent: #ffcc66;
  --board: #4a1414;
  --line: rgba(255, 204, 102, 0.3);
  --font-display: "Oswald", sans-serif;
  background:
    repeating-linear-gradient(45deg, #3a0e0e, #3a0e0e 10px, #4a1414 10px, #4a1414 20px);
}
[data-theme="kofteci"] .menu-hero {
  background: repeating-linear-gradient(90deg, #fff 0 10px, #c62828 10px 20px);
  color: #3a0e0e;
  border-radius: 8px;
}
[data-theme="kofteci"] .menu-hero .menu-kicker,
[data-theme="kofteci"] .menu-hero .menu-tagline,
[data-theme="kofteci"] .menu-hero .menu-meta { color: #5a1a1a; }
[data-theme="kofteci"] .menu-title { color: #3a0e0e; text-transform: uppercase; }

[data-theme="nargile-lounge"] {
  --bg: #042f32;
  --ink: #e8fff6;
  --muted: #8fd4c8;
  --accent: #e6c35a;
  --card: rgba(8, 60, 64, 0.8);
  --line: rgba(230, 195, 90, 0.28);
  --font-display: "Cinzel", serif;
  background:
    radial-gradient(circle at 50% 0%, rgba(230, 195, 90, 0.16), transparent 40%),
    #042f32;
}
[data-theme="nargile-lounge"] .menu-title { letter-spacing: 0.12em; }

[data-theme="tatlici"] {
  --bg: #2a1218;
  --ink: #ffe8ee;
  --muted: #e0a0b0;
  --accent: #e8b56a;
  --card: rgba(90, 30, 44, 0.55);
  --line: rgba(232, 181, 106, 0.22);
  --font-display: "Great Vibes", cursive;
  --font-body: "Nunito", sans-serif;
}
[data-theme="tatlici"] .menu-title { font-size: clamp(46px, 11vw, 72px); font-weight: 400; }
[data-theme="tatlici"] .menu-cat { text-transform: none; letter-spacing: 0; font-size: 34px; }

[data-theme="corbaci"] {
  --bg: #f4e4cc;
  --ink: #3a2416;
  --muted: #7a5840;
  --accent: #a15c38;
  --card: #fff7ea;
  --line: rgba(161, 92, 56, 0.2);
  --font-display: "Fraunces", serif;
  --font-body: "Nunito", sans-serif;
}
[data-theme="corbaci"] .menu-hero {
  background: #fff7ea;
  border-radius: 50% 50% 12px 12px / 18% 18% 12px 12px;
  box-shadow: inset 0 0 0 6px #a15c38;
}

[data-theme="simitci"] {
  --bg: #f6e2b8;
  --ink: #4a2e12;
  --muted: #8a6232;
  --accent: #c47b14;
  --card: #fff6df;
  --line: rgba(196, 123, 20, 0.22);
  --font-display: "Pacifico", cursive;
  --font-body: "Nunito", sans-serif;
}
[data-theme="simitci"] .menu-logo,
[data-theme="simitci"] .menu-kicker {
  border-radius: 50%;
}
[data-theme="simitci"] .menu-kicker {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  margin: 0 auto 10px;
  border: 6px double #c47b14;
  letter-spacing: 0.08em;
  font-size: 10px;
}

[data-theme="tantuni"] {
  --bg: #1a0808;
  --ink: #ffe8d4;
  --muted: #d09070;
  --accent: #ffcc33;
  --card: #2a1010;
  --line: #ffcc33;
  --font-display: "Bebas Neue", sans-serif;
  --font-body: "Oswald", sans-serif;
}
[data-theme="tantuni"] .menu-title { letter-spacing: 0.08em; font-size: clamp(48px, 12vw, 80px); }
[data-theme="tantuni"] .menu-item { border-width: 2px; }

[data-theme="manti-evi"] {
  --bg: #f8efe2;
  --ink: #4a2a20;
  --muted: #8a5a48;
  --accent: #7a3e2e;
  --card: #fff8ee;
  --line: rgba(122, 62, 46, 0.18);
  --font-display: "Fraunces", serif;
  --font-body: "Nunito", sans-serif;
  background:
    repeating-linear-gradient(90deg, #7a3e2e 0 8px, #f8efe2 8px 16px, #c4a06a 16px 18px, #f8efe2 18px 26px) 0 0 / 100% 8px no-repeat,
    repeating-linear-gradient(90deg, #7a3e2e 0 8px, #f8efe2 8px 16px, #c4a06a 16px 18px, #f8efe2 18px 26px) 0 100% / 100% 8px no-repeat,
    #f8efe2;
}
[data-theme="manti-evi"] .menu-hero { border: 2px solid #7a3e2e; }

[data-theme="dondurma"] {
  --bg: #e9f7ff;
  --ink: #2a3a55;
  --muted: #6a88a0;
  --accent: #ff6b9a;
  --card: #fff;
  --line: rgba(255, 107, 154, 0.18);
  --price: #ff6b9a;
  --font-display: "Pacifico", cursive;
  --font-body: "Nunito", sans-serif;
  --card-radius: 28px;
  background:
    radial-gradient(circle at 12% 8%, #ffd1e0 0 40px, transparent 41px),
    radial-gradient(circle at 88% 12%, #b8e8ff 0 36px, transparent 37px),
    #e9f7ff;
}
[data-theme="dondurma"] .menu-title { font-weight: 400; color: #ff6b9a; }
[data-theme="dondurma"] .menu-item-photo { border-radius: 50%; }

/* Panel önizleme */
.theme-preview {
  height: 72px;
  border-radius: 12px;
  margin-bottom: 8px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}
.theme-preview[data-preview="classic-light"] { background: linear-gradient(#c43c3c 0 10px, #f6efe3 10px); color: #c43c3c; text-shadow: none; }
.theme-preview[data-preview="classic-dark"] { background: #12100e; color: #d4a24c; }
.theme-preview[data-preview="warm-bistro"] { background: linear-gradient(160deg, #3a2216, #e08a3c); }
.theme-preview[data-preview="ocean-blue"] { background: linear-gradient(#0b2430, #4fb0c6); }
.theme-preview[data-preview="forest-green"] { background: linear-gradient(#1a2416, #6b7c3a); }
.theme-preview[data-preview="midnight-gold"] { background: #070706; color: #e6c35a; letter-spacing: 0.22em; }
.theme-preview[data-preview="sakura"] { background: #fff4f6; color: #d97b93; text-shadow: none; font-family: "Great Vibes", cursive; text-transform: none; font-size: 26px; letter-spacing: 0; }
.theme-preview[data-preview="terracotta"] { background: radial-gradient(circle at 50% 0, #ff7a3c, #1a100c); }
.theme-preview[data-preview="minimal-white"] { background: #f7f5f1; color: #111; text-shadow: none; }
.theme-preview[data-preview="neon-night"] { background: #0b0614; color: #c77dff; box-shadow: inset 0 0 18px #7c5cff; }
.theme-preview[data-preview="olive-garden"] { background: #f3ead6; color: #6b7c3a; text-shadow: none; }
.theme-preview[data-preview="royal-purple"] { background: #16101f; color: #e6c35a; }
.theme-preview[data-preview="coffee-bean"] { background: #cbb79a; color: #5c3d2e; text-shadow: none; }
.theme-preview[data-preview="mediterranean"] { background: linear-gradient(#2a9d8f 0 8px, #f7f1e3 8px); color: #1f3a36; text-shadow: none; }
.theme-preview[data-preview="nordic"] { background: #eef2f0; color: #4d7a6d; text-shadow: none; }
.theme-preview[data-preview="sunset"] { background: linear-gradient(#5a220c, #ffb020); font-family: "Bebas Neue", sans-serif; font-size: 22px; letter-spacing: 0.08em; }
.theme-preview[data-preview="charcoal"] { background: #121212; color: #c9a27a; }
.theme-preview[data-preview="mint-fresh"] { background: repeating-linear-gradient(0deg, #e8f7f2, #e8f7f2 8px, #fff 8px, #fff 10px); color: #1aa37a; text-shadow: none; }
.theme-preview[data-preview="wine-red"] { background: #1a0b0e; color: #e0b56a; }
.theme-preview[data-preview="ivory-luxury"] { background: #f3e6c8; color: #8a6a32; text-shadow: none; font-style: italic; text-transform: none; }
.theme-preview[data-preview="fastfood-sokak"] { background: linear-gradient(#d32f2f 0 12px, #ffc107 12px); color: #1a1a1a; text-shadow: none; font-family: "Anton", sans-serif; }
.theme-preview[data-preview="pizzaci"] { background: radial-gradient(circle at 80% 20%, #2e7d32 0 16px, #fff6ee 17px); color: #c62828; text-shadow: none; font-family: "Pacifico", cursive; text-transform: none; font-size: 22px; }
.theme-preview[data-preview="pideci"] { background: #3a2a1c; color: #e0b060; }
.theme-preview[data-preview="burger-bar"] { background: #111; color: #ffcc00; font-family: "Anton", sans-serif; }
.theme-preview[data-preview="kofteci"] { background: repeating-linear-gradient(90deg, #fff 0 8px, #c62828 8px 16px); color: #3a0e0e; text-shadow: none; }
.theme-preview[data-preview="nargile-lounge"] { background: #042f32; color: #e6c35a; }
.theme-preview[data-preview="tatlici"] { background: #2a1218; color: #e8b56a; font-family: "Great Vibes", cursive; text-transform: none; font-size: 26px; letter-spacing: 0; }
.theme-preview[data-preview="corbaci"] { background: #f4e4cc; color: #a15c38; text-shadow: none; }
.theme-preview[data-preview="simitci"] { background: #f6e2b8; color: #c47b14; text-shadow: none; }
.theme-preview[data-preview="tantuni"] { background: #1a0808; color: #ffcc33; font-family: "Bebas Neue", sans-serif; font-size: 22px; }
.theme-preview[data-preview="manti-evi"] { background: linear-gradient(#7a3e2e 0 8px, #f8efe2 8px); color: #7a3e2e; text-shadow: none; }
.theme-preview[data-preview="dondurma"] { background: radial-gradient(circle at 20% 40%, #ffd1e0 0 18px, #e9f7ff 19px); color: #ff6b9a; text-shadow: none; font-family: "Pacifico", cursive; text-transform: none; font-size: 20px; }
