/* =============================================================================
   Guest menu · FULL cultural identities (not color reskins)
   Activated by body[data-tm-theme="…"]
   ============================================================================= */

/* Shared helpers */
.tm-theme-motif { position: absolute; inset: 0; pointer-events: none; z-index: 3; overflow: hidden; }
.tm-theme-motif:empty { display: none; }

/* ═══════════════════════════════════════════════════════════════════════════
   JAPANESE · 間 · quiet omakase (washi, ma, mincho, hairline)
   ═══════════════════════════════════════════════════════════════════════════ */
body.tm-body[data-tm-theme="japanese"] {
  --tm-ink: #141414;
  --tm-rice: #141414;
  --tm-gold: #9B2C2C;
  --tm-highlight: #9B2C2C;
  --tm-line: rgba(20, 20, 20, 0.12);
  font-family: "Zen Kaku Gothic New", "Jost", sans-serif;
  color: #141414;
  background: #F4F0E6;
}
body.tm-body[data-tm-theme="japanese"] .tm-spice,
body.tm-body[data-tm-theme="japanese"] .tm-seal-sparks,
body.tm-body[data-tm-theme="japanese"] .tm-cover-cta-icon,
body.tm-body[data-tm-theme="japanese"] .tm-cover-bowl,
body.tm-body[data-tm-theme="japanese"] .tm-cover-script {
  display: none !important;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover {
  background: #141414;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-photo {
  filter: saturate(0.85) contrast(1.05) brightness(0.72);
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-veil {
  background:
    linear-gradient(180deg, rgba(20,20,20,0.2) 0%, rgba(20,20,20,0.35) 40%, rgba(20,20,20,0.82) 78%, rgba(20,20,20,0.95) 100%);
}
body.tm-body[data-tm-theme="japanese"] .tm-theme-motif::before {
  content: "間";
  position: absolute;
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Shippori Mincho", serif;
  font-size: clamp(72px, 22vw, 96px);
  line-height: 0.9;
  letter-spacing: 0.08em;
  color: rgba(244, 240, 230, 0.22);
  font-weight: 500;
}
body.tm-body[data-tm-theme="japanese"] .tm-seal {
  width: 64px; height: 64px;
  border-radius: 50%;
  border: 1px solid rgba(244, 240, 230, 0.35);
  background: transparent;
  color: #F4F0E6;
  box-shadow: none;
  transform: none;
  font-family: "Shippori Mincho", serif;
  font-size: 1.1rem;
  letter-spacing: 0.12em;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-center {
  justify-content: flex-end;
  padding-bottom: 8px;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-brand {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: clamp(1.6rem, 6vw, 2rem);
  letter-spacing: 0.18em;
  color: #F4F0E6;
  text-transform: none;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-main {
  font-size: inherit;
  letter-spacing: inherit;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-kicker {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  font-size: 0.65rem;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: rgba(244, 240, 230, 0.55);
  border: 0;
  margin-top: 18px;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-kicker::before,
body.tm-body[data-tm-theme="japanese"] .tm-cover-kicker::after { content: none; }
body.tm-body[data-tm-theme="japanese"] .tm-tagline {
  font-family: "Shippori Mincho", serif;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: rgba(244, 240, 230, 0.5);
  max-width: 16rem;
}
body.tm-body[data-tm-theme="japanese"] .tm-table-chip--cover {
  border-radius: 0;
  border: 0;
  background: transparent;
  letter-spacing: 0.34em;
  color: rgba(244, 240, 230, 0.55);
  backdrop-filter: none;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-cta {
  border: 1px solid rgba(244, 240, 230, 0.35);
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  padding: 14px 28px;
  gap: 0;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-cta-copy strong {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: none;
  font-size: 0.82rem;
  color: #F4F0E6;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-cta-copy small {
  display: none;
}
body.tm-body[data-tm-theme="japanese"] .tm-cover-hint { display: none; }

/* Browse — washi paper */
body.tm-body[data-tm-theme="japanese"] .tm-browse,
body.tm-body[data-tm-theme="japanese"] .tm-cart-sheet {
  background: #F4F0E6;
  color: #141414;
}
body.tm-body[data-tm-theme="japanese"] .tm-browse-kicker {
  font-size: 0.62rem;
  letter-spacing: 0.36em;
  color: #6B6560;
}
body.tm-body[data-tm-theme="japanese"] .tm-browse-brand,
body.tm-body[data-tm-theme="japanese"] .tm-brand-main {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #141414;
}
body.tm-body[data-tm-theme="japanese"] .tm-browse-table {
  border-radius: 0;
  border: 1px solid rgba(20,20,20,0.12);
  background: transparent;
  color: #3A3A3A;
}
body.tm-body[data-tm-theme="japanese"] .tm-cats {
  gap: 0;
  background: transparent;
  border-bottom: 1px solid rgba(20,20,20,0.1);
  padding: 0 12px;
}
body.tm-body[data-tm-theme="japanese"] .tm-cat {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #6B6560;
  box-shadow: none;
  flex-direction: column;
  padding: 12px 14px 10px;
  border-bottom: 2px solid transparent;
}
body.tm-body[data-tm-theme="japanese"] .tm-cat .tm-cat-icon,
body.tm-body[data-tm-theme="japanese"] .tm-cat .tm-cat-count { display: none; }
body.tm-body[data-tm-theme="japanese"] .tm-cat-label {
  font-family: "Shippori Mincho", serif;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
}
body.tm-body[data-tm-theme="japanese"] .tm-cat.active {
  color: #141414;
  background: transparent;
  border-bottom-color: #9B2C2C;
}
body.tm-body[data-tm-theme="japanese"] .tm-section-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  letter-spacing: 0.14em;
  font-size: 0.78rem;
  text-transform: uppercase;
  color: #6B6560;
}
body.tm-body[data-tm-theme="japanese"] .tm-cards { gap: 0; }
body.tm-body[data-tm-theme="japanese"] .tm-card {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  grid-template-rows: auto auto;
  gap: 8px 14px;
  align-items: start;
  background: transparent;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid rgba(20,20,20,0.08);
  box-shadow: none;
  padding: 16px 4px;
  color: #141414;
}
body.tm-body[data-tm-theme="japanese"] .tm-card-img,
body.tm-body[data-tm-theme="japanese"] .tm-card-ph {
  width: 72px; height: 72px;
  border-radius: 2px;
  grid-row: 1 / span 2;
}
body.tm-body[data-tm-theme="japanese"] .tm-card-main { grid-column: 2; }
body.tm-body[data-tm-theme="japanese"] .tm-card-name {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-size: 1.05rem;
  color: #141414;
}
body.tm-body[data-tm-theme="japanese"] .tm-card-price {
  grid-column: 3;
  grid-row: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #1C3D5A;
}
body.tm-body[data-tm-theme="japanese"] .tm-card-actions {
  grid-column: 2 / span 2;
  justify-self: end;
}
body.tm-body[data-tm-theme="japanese"] .tm-add {
  background: transparent;
  border: 1px solid rgba(20,20,20,0.18);
  border-radius: 0;
}
body.tm-body[data-tm-theme="japanese"] .tm-dock {
  background: #EDE7D8;
  border-top: 1px solid rgba(20,20,20,0.1);
  box-shadow: none;
}
body.tm-body[data-tm-theme="japanese"] .tm-dock-checkout,
body.tm-body[data-tm-theme="japanese"] .tm-btn-primary {
  background: #1C3D5A;
  color: #F4F0E6;
  border-radius: 0;
  text-transform: none;
  letter-spacing: 0.12em;
  font-family: "Shippori Mincho", serif;
}
body.tm-body[data-tm-theme="japanese"] .tm-btn-secondary {
  background: transparent;
  color: #9B2C2C;
  border: 1px solid #9B2C2C;
  border-radius: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   INDIAN · राज · brass court / lacquer banquet
   ═══════════════════════════════════════════════════════════════════════════ */
body.tm-body[data-tm-theme="indian"] {
  --tm-gold: #C9A84C;
  --tm-highlight: #C9A84C;
  font-family: "Tiro Devanagari Hindi", "Cormorant Garamond", Georgia, serif;
  color: #1A0F0C;
  background: #F6EDE0;
}
body.tm-body[data-tm-theme="indian"] .tm-spice { color: rgba(201, 168, 76, 0.45); }
body.tm-body[data-tm-theme="indian"] .tm-cover-cta-icon { display: none !important; }
body.tm-body[data-tm-theme="indian"] .tm-cover {
  background: #2A0A0E;
}
body.tm-body[data-tm-theme="indian"] .tm-cover-photo {
  filter: saturate(1.15) contrast(1.1) brightness(0.55);
}
body.tm-body[data-tm-theme="indian"] .tm-cover-veil {
  background:
    radial-gradient(ellipse 80% 50% at 50% 20%, rgba(201,168,76,0.18), transparent 60%),
    linear-gradient(180deg, rgba(42,10,14,0.4) 0%, rgba(42,10,14,0.15) 35%, rgba(42,10,14,0.75) 70%, #2A0A0E 100%);
}
body.tm-body[data-tm-theme="indian"] .tm-theme-motif::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(201, 168, 76, 0.35);
  border-radius: 4px;
  box-shadow: inset 0 0 0 6px rgba(42, 10, 14, 0.35);
}
body.tm-body[data-tm-theme="indian"] .tm-theme-motif::after {
  content: "राज";
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Tiro Devanagari Hindi", serif;
  font-size: 1.1rem;
  letter-spacing: 0.35em;
  color: rgba(201, 168, 76, 0.55);
}
body.tm-body[data-tm-theme="indian"] .tm-seal {
  width: 86px; height: 86px;
  border-radius: 50%;
  border: 2px solid #C9A84C;
  background: radial-gradient(circle at 35% 30%, #4a151c, #2A0A0E 70%);
  color: #C9A84C;
  transform: none;
  box-shadow: 0 0 0 6px rgba(201,168,76,0.12), 0 12px 32px rgba(0,0,0,0.45);
  font-family: "Tiro Devanagari Hindi", serif;
}
body.tm-body[data-tm-theme="indian"] .tm-seal-sparks { display: none; }
body.tm-body[data-tm-theme="indian"] .tm-cover-brand,
body.tm-body[data-tm-theme="indian"] .tm-cover-main {
  font-family: "Tiro Devanagari Hindi", "Cormorant Garamond", serif;
  color: #C9A84C;
  letter-spacing: 0.04em;
  font-size: clamp(1.8rem, 7vw, 2.4rem);
}
body.tm-body[data-tm-theme="indian"] .tm-cover-script {
  color: #f3e9d8;
  font-style: italic;
}
body.tm-body[data-tm-theme="indian"] .tm-cover-kicker {
  color: rgba(201, 168, 76, 0.7);
  letter-spacing: 0.28em;
}
body.tm-body[data-tm-theme="indian"] .tm-tagline { color: rgba(243, 233, 216, 0.65); }
body.tm-body[data-tm-theme="indian"] .tm-cover-cta {
  background: linear-gradient(180deg, #C9A84C, #a8883a);
  color: #2A0A0E;
  border: 0;
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(201,168,76,0.25);
}
body.tm-body[data-tm-theme="indian"] .tm-cover-cta-copy strong { color: #2A0A0E; }
body.tm-body[data-tm-theme="indian"] .tm-cover-cta-copy small { color: rgba(42,10,14,0.7); }

body.tm-body[data-tm-theme="indian"] .tm-browse,
body.tm-body[data-tm-theme="indian"] .tm-cart-sheet {
  background:
    radial-gradient(ellipse 60% 40% at 100% 0%, rgba(201,168,76,0.12), transparent 50%),
    #F6EDE0;
  color: #1A0F0C;
}
body.tm-body[data-tm-theme="indian"] .tm-browse-brand,
body.tm-body[data-tm-theme="indian"] .tm-brand-main {
  font-family: "Tiro Devanagari Hindi", serif;
  color: #2A0A0E;
}
body.tm-body[data-tm-theme="indian"] .tm-cats {
  background: #2A0A0E;
  border-bottom: 2px solid #C9A84C;
}
body.tm-body[data-tm-theme="indian"] .tm-cat {
  background: transparent;
  border: 1px solid rgba(201,168,76,0.25);
  border-radius: 8px;
  color: rgba(243,233,216,0.75);
}
body.tm-body[data-tm-theme="indian"] .tm-cat .tm-cat-icon { color: #C9A84C; }
body.tm-body[data-tm-theme="indian"] .tm-cat.active {
  background: #C9A84C;
  color: #2A0A0E;
  border-color: #C9A84C;
}
body.tm-body[data-tm-theme="indian"] .tm-cat.active .tm-cat-icon { color: #2A0A0E; }
body.tm-body[data-tm-theme="indian"] .tm-card {
  background: #EDE2D0;
  border: 1px solid rgba(201,168,76,0.35);
  border-radius: 12px;
  box-shadow: 0 2px 0 rgba(201,168,76,0.2);
  color: #1A0F0C;
}
body.tm-body[data-tm-theme="indian"] .tm-card-name {
  font-family: "Tiro Devanagari Hindi", serif;
  color: #2A0A0E;
}
body.tm-body[data-tm-theme="indian"] .tm-card-price { color: #7a5a1a; }
body.tm-body[data-tm-theme="indian"] .tm-dock {
  background: #2A0A0E;
  border-top: 2px solid #C9A84C;
}
body.tm-body[data-tm-theme="indian"] .tm-dock-meta,
body.tm-body[data-tm-theme="indian"] .tm-dock-cart { color: #f3e9d8; }
body.tm-body[data-tm-theme="indian"] .tm-dock-checkout,
body.tm-body[data-tm-theme="indian"] .tm-btn-primary {
  background: #C9A84C;
  color: #2A0A0E;
  border-radius: 999px;
  font-family: "Tiro Devanagari Hindi", serif;
}
body.tm-body[data-tm-theme="indian"] .tm-btn-secondary {
  background: transparent;
  border: 1px solid #C9A84C;
  color: #C9A84C;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CHINESE · 锦宴 · lacquer seal (base cinema DNA, enhanced)
   ═══════════════════════════════════════════════════════════════════════════ */
body.tm-body[data-tm-theme="chinese"] {
  --tm-gold: #d4af37;
  --tm-highlight: #d4af37;
  font-family: "Noto Serif SC", "Cormorant Garamond", serif;
  color: #f3e9d8;
  background: #0a0908;
}
body.tm-body[data-tm-theme="chinese"] .tm-theme-motif::before {
  content: "";
  position: absolute;
  inset: 24px;
  border: 1px solid rgba(212, 175, 55, 0.22);
  pointer-events: none;
}
body.tm-body[data-tm-theme="chinese"] .tm-theme-motif::after {
  content: "锦";
  position: absolute;
  top: 12%;
  right: 10%;
  font-family: "Noto Serif SC", serif;
  font-size: 4.5rem;
  color: rgba(196, 30, 58, 0.28);
  line-height: 1;
}
body.tm-body[data-tm-theme="chinese"] .tm-seal {
  border-radius: 14px;
  border-color: #c41e3a;
  background: rgba(196, 30, 58, 0.85);
  color: #f3e9d8;
  transform: rotate(-6deg);
}
body.tm-body[data-tm-theme="chinese"] .tm-cover-brand,
body.tm-body[data-tm-theme="chinese"] .tm-browse-brand {
  font-family: "Noto Serif SC", "Cormorant Garamond", serif;
  letter-spacing: 0.16em;
}
body.tm-body[data-tm-theme="chinese"] .tm-cat.active {
  border-color: #d4af37;
  color: #d4af37;
}

/* ═══════════════════════════════════════════════════════════════════════════
   NEPALI · हिमाल · temple courtyard / mountain mist
   ═══════════════════════════════════════════════════════════════════════════ */
body.tm-body[data-tm-theme="nepali"] {
  --tm-gold: #E8A317;
  --tm-highlight: #E8A317;
  font-family: "Tiro Devanagari Hindi", "Jost", sans-serif;
  color: #1a120c;
  background: #F2EBE0;
}
body.tm-body[data-tm-theme="nepali"] .tm-spice,
body.tm-body[data-tm-theme="nepali"] .tm-seal-sparks,
body.tm-body[data-tm-theme="nepali"] .tm-cover-cta-icon { display: none !important; }
body.tm-body[data-tm-theme="nepali"] .tm-cover { background: #3D2B1F; }
body.tm-body[data-tm-theme="nepali"] .tm-cover-photo {
  filter: saturate(0.9) brightness(0.65) contrast(1.05);
}
body.tm-body[data-tm-theme="nepali"] .tm-cover-veil {
  background:
    linear-gradient(180deg, rgba(142,182,212,0.35) 0%, transparent 28%),
    linear-gradient(180deg, rgba(61,43,31,0.25) 40%, rgba(61,43,31,0.85) 100%);
}
/* Prayer-flag stripe */
body.tm-body[data-tm-theme="nepali"] .tm-theme-motif::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 10px;
  background: repeating-linear-gradient(
    90deg,
    #C8102E 0 20%,
    #E8A317 20% 40%,
    #1C6EA4 40% 60%,
    #2E8B57 60% 80%,
    #F5F0E6 80% 100%
  );
  opacity: 0.9;
}
body.tm-body[data-tm-theme="nepali"] .tm-theme-motif::after {
  content: "हिमाल";
  position: absolute;
  top: 16%;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Tiro Devanagari Hindi", serif;
  font-size: 1rem;
  letter-spacing: 0.4em;
  color: rgba(232, 163, 23, 0.55);
}
body.tm-body[data-tm-theme="nepali"] .tm-seal {
  width: 80px; height: 80px;
  border-radius: 50%;
  border: 3px solid #E8A317;
  background: #3D2B1F;
  color: #E8A317;
  transform: none;
  box-shadow: 0 0 0 8px rgba(232,163,23,0.12);
}
body.tm-body[data-tm-theme="nepali"] .tm-cover-brand {
  font-family: "Tiro Devanagari Hindi", serif;
  color: #F2EBE0;
  letter-spacing: 0.06em;
}
body.tm-body[data-tm-theme="nepali"] .tm-cover-kicker { color: #E8A317; }
body.tm-body[data-tm-theme="nepali"] .tm-tagline { color: rgba(242,235,224,0.7); }
body.tm-body[data-tm-theme="nepali"] .tm-cover-cta {
  background: #E8A317;
  color: #3D2B1F;
  border: 0;
  border-radius: 6px;
}
body.tm-body[data-tm-theme="nepali"] .tm-cover-cta-copy strong { color: #3D2B1F; }
body.tm-body[data-tm-theme="nepali"] .tm-cover-cta-copy small { color: rgba(61,43,31,0.7); }

body.tm-body[data-tm-theme="nepali"] .tm-browse,
body.tm-body[data-tm-theme="nepali"] .tm-cart-sheet {
  background:
    linear-gradient(180deg, #c5d9e8 0%, transparent 120px),
    #F2EBE0;
  color: #1a120c;
}
body.tm-body[data-tm-theme="nepali"] .tm-browse-brand {
  font-family: "Tiro Devanagari Hindi", serif;
  color: #3D2B1F;
}
body.tm-body[data-tm-theme="nepali"] .tm-cats {
  background: transparent;
  gap: 8px;
}
body.tm-body[data-tm-theme="nepali"] .tm-cat {
  background: #E8DFD0;
  border: 1px solid rgba(61,43,31,0.12);
  border-radius: 14px;
  color: #3D2B1F;
}
body.tm-body[data-tm-theme="nepali"] .tm-cat.active {
  background: #3D2B1F;
  color: #F2EBE0;
  border-color: #3D2B1F;
}
body.tm-body[data-tm-theme="nepali"] .tm-card {
  background: #E8DFD0;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(61,43,31,0.08);
  color: #1a120c;
}
body.tm-body[data-tm-theme="nepali"] .tm-card-img { border-radius: 12px; }
body.tm-body[data-tm-theme="nepali"] .tm-dock {
  background: #3D2B1F;
  color: #F2EBE0;
}
body.tm-body[data-tm-theme="nepali"] .tm-dock-cart { color: #F2EBE0; }
body.tm-body[data-tm-theme="nepali"] .tm-dock-checkout,
body.tm-body[data-tm-theme="nepali"] .tm-btn-primary {
  background: #E8A317;
  color: #3D2B1F;
  border-radius: 10px;
}
body.tm-body[data-tm-theme="nepali"] .tm-btn-secondary {
  background: #C8102E;
  color: #fff;
  border-radius: 10px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ITALIAN · Trattoria · paper menu / awning evening
   ═══════════════════════════════════════════════════════════════════════════ */
body.tm-body[data-tm-theme="italian"] {
  --tm-gold: #C45C26;
  --tm-highlight: #C45C26;
  font-family: "Source Sans 3", "Jost", sans-serif;
  color: #2C1810;
  background: #F7F1E6;
}
body.tm-body[data-tm-theme="italian"] .tm-spice,
body.tm-body[data-tm-theme="italian"] .tm-seal-sparks,
body.tm-body[data-tm-theme="italian"] .tm-cover-cta-icon,
body.tm-body[data-tm-theme="italian"] .tm-cover-bowl { display: none !important; }
body.tm-body[data-tm-theme="italian"] .tm-cover { background: #2C1810; }
body.tm-body[data-tm-theme="italian"] .tm-cover-photo {
  filter: saturate(1.05) brightness(0.6);
}
body.tm-body[data-tm-theme="italian"] .tm-cover-veil {
  background:
    linear-gradient(180deg, rgba(44,24,16,0.2) 0%, rgba(44,24,16,0.55) 55%, #2C1810 100%);
}
/* Awning stripe */
body.tm-body[data-tm-theme="italian"] .tm-theme-motif::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 28px;
  background: repeating-linear-gradient(
    90deg,
    #3D4A2E 0 28px,
    #C45C26 28px 56px
  );
}
body.tm-body[data-tm-theme="italian"] .tm-seal {
  width: auto;
  height: auto;
  min-width: 0;
  padding: 10px 18px;
  border-radius: 0;
  border: 1px solid rgba(247,241,230,0.35);
  background: transparent;
  color: #F7F1E6;
  transform: none;
  box-shadow: none;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 0.85rem;
  letter-spacing: 0.2em;
}
body.tm-body[data-tm-theme="italian"] .tm-seal-letter {
  font-size: inherit;
}
body.tm-body[data-tm-theme="italian"] .tm-cover-brand,
body.tm-body[data-tm-theme="italian"] .tm-cover-main {
  font-family: "Playfair Display", "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  color: #F7F1E6;
  letter-spacing: 0.02em;
  font-size: clamp(2rem, 8vw, 2.8rem);
}
body.tm-body[data-tm-theme="italian"] .tm-cover-kicker {
  font-family: "Source Sans 3", sans-serif;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #C45C26;
  font-size: 0.68rem;
}
body.tm-body[data-tm-theme="italian"] .tm-tagline {
  font-family: "Playfair Display", serif;
  font-style: italic;
  color: rgba(247,241,230,0.7);
}
body.tm-body[data-tm-theme="italian"] .tm-cover-cta {
  background: #C45C26;
  color: #F7F1E6;
  border: 0;
  border-radius: 2px;
  box-shadow: none;
}
body.tm-body[data-tm-theme="italian"] .tm-cover-cta-copy strong {
  font-family: "Playfair Display", serif;
  font-style: italic;
  color: #F7F1E6;
}
body.tm-body[data-tm-theme="italian"] .tm-cover-cta-copy small { color: rgba(247,241,230,0.75); }

body.tm-body[data-tm-theme="italian"] .tm-browse,
body.tm-body[data-tm-theme="italian"] .tm-cart-sheet {
  background:
    repeating-linear-gradient(-8deg, transparent, transparent 22px, rgba(196,92,38,0.035) 22px, rgba(196,92,38,0.035) 24px),
    #F7F1E6;
  color: #2C1810;
}
body.tm-body[data-tm-theme="italian"] .tm-browse-brand,
body.tm-body[data-tm-theme="italian"] .tm-brand-main {
  font-family: "Playfair Display", serif;
  font-style: italic;
  color: #3D4A2E;
}
body.tm-body[data-tm-theme="italian"] .tm-cats {
  background: #FFFAF2;
  border-bottom: 1px solid rgba(61,74,46,0.15);
}
body.tm-body[data-tm-theme="italian"] .tm-cat {
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: #6b5a4a;
  box-shadow: none;
}
body.tm-body[data-tm-theme="italian"] .tm-cat .tm-cat-icon,
body.tm-body[data-tm-theme="italian"] .tm-cat .tm-cat-count { display: none; }
body.tm-body[data-tm-theme="italian"] .tm-cat.active {
  color: #C45C26;
  border-bottom-color: #C45C26;
  background: transparent;
}
body.tm-body[data-tm-theme="italian"] .tm-section-title {
  font-family: "Playfair Display", serif;
  font-style: italic;
  color: #3D4A2E;
}
/* Paper menu rows */
body.tm-body[data-tm-theme="italian"] .tm-cards { gap: 0; }
body.tm-body[data-tm-theme="italian"] .tm-card {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  gap: 4px 12px;
  background: transparent;
  border: 0;
  border-bottom: 1px dotted rgba(61,74,46,0.25);
  border-radius: 0;
  box-shadow: none;
  padding: 14px 2px;
  color: #2C1810;
}
body.tm-body[data-tm-theme="italian"] .tm-card-img,
body.tm-body[data-tm-theme="italian"] .tm-card-ph {
  display: none;
}
body.tm-body[data-tm-theme="italian"] .tm-card-main { grid-column: 1; }
body.tm-body[data-tm-theme="italian"] .tm-card-name {
  font-family: "Playfair Display", serif;
  font-weight: 600;
  font-size: 1.15rem;
  color: #2C1810;
}
body.tm-body[data-tm-theme="italian"] .tm-card-price {
  grid-column: 2;
  grid-row: 1;
  font-family: "Source Sans 3", sans-serif;
  color: #C45C26;
  font-weight: 600;
}
body.tm-body[data-tm-theme="italian"] .tm-card-actions {
  grid-column: 1 / span 2;
  justify-self: end;
}
body.tm-body[data-tm-theme="italian"] .tm-dock {
  background: #3D4A2E;
  color: #F7F1E6;
}
body.tm-body[data-tm-theme="italian"] .tm-dock-cart { color: #F7F1E6; }
body.tm-body[data-tm-theme="italian"] .tm-dock-checkout,
body.tm-body[data-tm-theme="italian"] .tm-btn-primary {
  background: #C45C26;
  color: #fff;
  border-radius: 2px;
  font-family: "Playfair Display", serif;
  font-style: italic;
}
body.tm-body[data-tm-theme="italian"] .tm-btn-secondary {
  background: #3D4A2E;
  color: #F7F1E6;
  border-radius: 2px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   AMERICAN · Diner · chrome / cherry / ticket stub
   ═══════════════════════════════════════════════════════════════════════════ */
body.tm-body[data-tm-theme="american"] {
  --tm-gold: #C8102E;
  --tm-highlight: #C8102E;
  font-family: "Oswald", "Jost", sans-serif;
  color: #1A1A1A;
  background: #F5F0E6;
}
body.tm-body[data-tm-theme="american"] .tm-spice,
body.tm-body[data-tm-theme="american"] .tm-seal-sparks,
body.tm-body[data-tm-theme="american"] .tm-cover-bowl,
body.tm-body[data-tm-theme="american"] .tm-cover-script { display: none !important; }
body.tm-body[data-tm-theme="american"] .tm-cover { background: #1A1A1A; }
body.tm-body[data-tm-theme="american"] .tm-cover-photo {
  filter: contrast(1.15) saturate(1.1) brightness(0.55);
}
body.tm-body[data-tm-theme="american"] .tm-cover-veil {
  background:
    linear-gradient(180deg, rgba(26,26,26,0.3) 0%, rgba(26,26,26,0.2) 40%, rgba(26,26,26,0.88) 100%);
}
/* Chrome bar + checker whisper */
body.tm-body[data-tm-theme="american"] .tm-theme-motif::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 14px;
  background: linear-gradient(180deg, #e8eaee, #9aa0a8 45%, #c0c5ce 55%, #6b7078);
}
body.tm-body[data-tm-theme="american"] .tm-theme-motif::after {
  content: "";
  position: absolute;
  bottom: 18%;
  left: 10%;
  right: 10%;
  height: 8px;
  opacity: 0.2;
  background:
    repeating-linear-gradient(90deg, #fff 0 10px, #1A1A1A 10px 20px);
}
body.tm-body[data-tm-theme="american"] .tm-seal {
  width: 88px; height: 52px;
  border-radius: 4px;
  border: 2px solid #C8102E;
  background: #C8102E;
  color: #fff;
  transform: none;
  box-shadow: 0 4px 0 #8a0b1f, 0 8px 20px rgba(0,0,0,0.4);
  font-family: "Oswald", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.tm-body[data-tm-theme="american"] .tm-cover-brand,
body.tm-body[data-tm-theme="american"] .tm-cover-main {
  font-family: "Oswald", Impact, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #F5F0E6;
  font-size: clamp(2rem, 9vw, 3rem);
  font-weight: 700;
  line-height: 0.95;
}
body.tm-body[data-tm-theme="american"] .tm-cover-kicker {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #C8102E;
  border: 0;
}
body.tm-body[data-tm-theme="american"] .tm-tagline {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  color: rgba(245,240,230,0.65);
}
body.tm-body[data-tm-theme="american"] .tm-table-chip--cover {
  border-radius: 3px;
  background: #C8102E;
  border: 0;
  color: #fff;
  letter-spacing: 0.1em;
}
body.tm-body[data-tm-theme="american"] .tm-cover-cta {
  background: #C8102E;
  border: 2px solid #fff;
  border-radius: 4px;
  box-shadow: 0 4px 0 #8a0b1f;
}
body.tm-body[data-tm-theme="american"] .tm-cover-cta-icon svg path { stroke: #fff; }
body.tm-body[data-tm-theme="american"] .tm-cover-cta-copy strong {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
}
body.tm-body[data-tm-theme="american"] .tm-cover-cta-copy small { color: rgba(255,255,255,0.75); }

body.tm-body[data-tm-theme="american"] .tm-browse,
body.tm-body[data-tm-theme="american"] .tm-cart-sheet {
  background: #F5F0E6;
  color: #1A1A1A;
}
body.tm-body[data-tm-theme="american"] .tm-browse-head {
  background: #1A1A1A;
  color: #F5F0E6;
  padding-bottom: 14px;
  border-bottom: 4px solid #C8102E;
}
body.tm-body[data-tm-theme="american"] .tm-browse-kicker {
  color: rgba(245,240,230,0.55);
  text-transform: uppercase;
  letter-spacing: 0.2em;
}
body.tm-body[data-tm-theme="american"] .tm-browse-brand,
body.tm-body[data-tm-theme="american"] .tm-brand-main {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #F5F0E6;
}
body.tm-body[data-tm-theme="american"] .tm-browse-table {
  background: #C8102E;
  color: #fff;
  border: 0;
  border-radius: 3px;
}
body.tm-body[data-tm-theme="american"] .tm-cats {
  background: #1A1A1A;
  border-bottom: 1px solid rgba(192,197,206,0.2);
}
body.tm-body[data-tm-theme="american"] .tm-cat {
  border: 1px solid rgba(192,197,206,0.22);
  background: transparent;
  color: rgba(245,240,230,0.7);
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-family: "Oswald", sans-serif;
}
body.tm-body[data-tm-theme="american"] .tm-cat .tm-cat-icon { display: none; }
body.tm-body[data-tm-theme="american"] .tm-cat .tm-cat-count { opacity: 0.5; }
body.tm-body[data-tm-theme="american"] .tm-cat.active {
  background: linear-gradient(180deg, #e01535, #C8102E);
  color: #fff;
  border-color: #C8102E;
  box-shadow: 0 4px 12px rgba(200,16,46,0.35);
}
body.tm-body[data-tm-theme="american"] .tm-section-title {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #C8102E;
}
/* Ticket stub dishes */
body.tm-body[data-tm-theme="american"] .tm-cards { gap: 0; }
body.tm-body[data-tm-theme="american"] .tm-card {
  display: grid;
  grid-template-columns: 10px 68px 1fr auto;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 0;
  border-top: 1px dashed rgba(26,26,26,0.15);
  border-radius: 0;
  box-shadow: none;
  padding: 12px 12px 12px 0;
  color: #1A1A1A;
  position: relative;
}
body.tm-body[data-tm-theme="american"] .tm-card::before {
  content: "";
  width: 10px;
  height: 100%;
  background-image: radial-gradient(circle, #F5F0E6 2.2px, transparent 2.3px);
  background-size: 10px 10px;
  background-repeat: repeat-y;
  background-position: center;
  grid-column: 1;
}
body.tm-body[data-tm-theme="american"] .tm-card-img,
body.tm-body[data-tm-theme="american"] .tm-card-ph {
  width: 68px; height: 68px;
  border-radius: 4px;
  border: 2px solid #1A1A1A;
  grid-column: 2;
}
body.tm-body[data-tm-theme="american"] .tm-card-main { grid-column: 3; }
body.tm-body[data-tm-theme="american"] .tm-card-name {
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 1rem;
}
body.tm-body[data-tm-theme="american"] .tm-card-price {
  grid-column: 4;
  grid-row: 1;
  font-family: "Oswald", sans-serif;
  color: #C8102E;
  font-size: 1.15rem;
}
body.tm-body[data-tm-theme="american"] .tm-card-actions {
  grid-column: 3 / span 2;
  justify-self: end;
}
body.tm-body[data-tm-theme="american"] .tm-add {
  border-radius: 3px;
  border: 2px solid #1A1A1A;
  background: #fff;
}
body.tm-body[data-tm-theme="american"] .tm-dock {
  background: #1A1A1A;
  border-top: 4px solid #C8102E;
}
body.tm-body[data-tm-theme="american"] .tm-dock-cart { color: #F5F0E6; }
body.tm-body[data-tm-theme="american"] .tm-dock-checkout,
body.tm-body[data-tm-theme="american"] .tm-btn-primary {
  background: #C8102E;
  color: #fff;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-family: "Oswald", sans-serif;
}
body.tm-body[data-tm-theme="american"] .tm-btn-secondary {
  background: #1A1A1A;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 3px;
  text-transform: uppercase;
}
