:root {
  --bg: #19110d;
  --surface: #241811;
  --surface-2: #332116;
  --paper: #fff4df;
  --paper-2: #ffe7bd;
  --muted: #caa879;
  --text: #fff6e6;
  --text-dark: #241811;
  --saffron: #e5651c;
  --turmeric: #f5b326;
  --chili: #9e2323;
  --leaf: #47763e;
  --line: rgba(255, 244, 223, 0.18);
  --shadow: 0 20px 60px rgba(0,0,0,.35);
  --radius-lg: 32px;
  --radius-md: 22px;
  --radius-sm: 14px;
  --container: min(1180px, calc(100% - 40px));
  --font-display: Georgia, 'Times New Roman', serif;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  background:
    radial-gradient(circle at top left, rgba(229,101,28,.2), transparent 34rem),
    radial-gradient(circle at 90% 20%, rgba(245,179,38,.14), transparent 32rem),
    var(--bg);
  color: var(--text);
  line-height: 1.6;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, video { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }
.skip-link { position:absolute; top:-100px; left:16px; background:var(--paper); color:var(--text-dark); padding:10px 14px; border-radius:10px; z-index:999; }
.skip-link:focus { top:16px; }
.container { width: var(--container); margin-inline: auto; }
.section { padding: 92px 0; position: relative; }
.section.compact { padding: 56px 0; }
.section-title { max-width: 760px; margin-bottom: 34px; }
.kicker { color: var(--turmeric); text-transform: uppercase; letter-spacing: .16em; font-size: .78rem; font-weight: 800; margin: 0 0 8px; }
h1, h2, h3 { line-height: 1.08; margin: 0; }
h1, h2 { font-family: var(--font-display); letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 8vw, 6.7rem); }
h2 { font-size: clamp(2.15rem, 4.5vw, 4.3rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.75rem); }
p { color: rgba(255,246,230,.82); }
.lead { font-size: clamp(1.05rem, 2vw, 1.25rem); color: rgba(255,246,230,.88); max-width: 720px; }
.text-dark, .text-dark p { color: var(--text-dark); }
.badge-row { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.badge { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:rgba(255,244,223,.08); padding:8px 12px; border-radius:999px; color:var(--paper); font-weight:700; font-size:.92rem; }
.badge::before { content:'✦'; color:var(--turmeric); }
.btn-row { display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-top:28px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:999px; padding:13px 21px; background:var(--turmeric); color:#2a1409; font-weight:900; cursor:pointer; box-shadow:0 14px 28px rgba(245,179,38,.2); transition:transform .2s, box-shadow .2s, background .2s; }
.btn:hover { transform:translateY(-2px); box-shadow:0 18px 36px rgba(245,179,38,.28); }
.btn.secondary { background:rgba(255,244,223,.08); color:var(--paper); border:1px solid var(--line); box-shadow:none; }
.btn.secondary:hover { background:rgba(255,244,223,.14); }
.btn.ghost { background:transparent; color:var(--turmeric); box-shadow:none; padding-inline:0; }
.topbar { border-bottom:1px solid var(--line); background:rgba(25,17,13,.82); backdrop-filter: blur(18px); position:sticky; top:0; z-index:99; }
.nav { width:var(--container); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:22px; min-height:86px; }
.logo { display:inline-flex; align-items:center; gap:12px; }
.logo img { width:184px; max-width:42vw; }
.nav-links { display:flex; align-items:center; gap:6px; }
.nav-links a { padding:10px 13px; border-radius:999px; color:rgba(255,246,230,.84); font-weight:800; font-size:.94rem; }
.nav-links a:hover, .nav-links a[aria-current='page'] { background:rgba(255,244,223,.1); color:var(--paper); }
.nav-actions { display:flex; align-items:center; gap:12px; }
.icon-btn { display:none; border:1px solid var(--line); background:rgba(255,244,223,.08); color:var(--paper); border-radius:14px; width:44px; height:44px; cursor:pointer; }
.hero { min-height: calc(100svh - 86px); display:grid; align-items:center; position:relative; overflow:hidden; }
.hero-media { position:absolute; inset:0; z-index:-2; }
.hero-media video, .hero-media img { width:100%; height:100%; object-fit:cover; filter:saturate(1.05) contrast(1.08); }
.hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(25,17,13,.94), rgba(25,17,13,.64) 46%, rgba(25,17,13,.18)), linear-gradient(0deg, rgba(25,17,13,.92), transparent 38%); }
.hero-content { width:var(--container); padding:84px 0 104px; }
.hero-card { max-width:840px; }
.hero .kicker { color:var(--paper-2); }
.hero-stats { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); max-width:730px; gap:14px; margin-top:34px; }
.stat { padding:16px; border:1px solid var(--line); background:rgba(255,244,223,.08); border-radius:20px; backdrop-filter: blur(10px); }
.stat strong { display:block; font-size:1.3rem; color:var(--turmeric); }
.stat span { color:rgba(255,246,230,.76); font-size:.95rem; }
.scroll-cue { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); color:var(--muted); font-size:.85rem; letter-spacing:.14em; text-transform:uppercase; }
.grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap:42px; align-items:center; }
.grid-3 { display:grid; grid-template-columns: repeat(3, 1fr); gap:22px; }
.grid-4 { display:grid; grid-template-columns: repeat(4, 1fr); gap:18px; }
.card { border:1px solid var(--line); background:linear-gradient(180deg, rgba(255,244,223,.09), rgba(255,244,223,.04)); border-radius:var(--radius-md); box-shadow: var(--shadow); overflow:hidden; }
.card-body { padding:24px; }
.card p { margin-bottom:0; }
.image-card { border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); }
.image-card img { width:100%; height:100%; object-fit:cover; min-height:420px; }
.category-card { position:relative; min-height:230px; overflow:hidden; border-radius:24px; border:1px solid var(--line); background:var(--surface); }
.category-card img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; opacity:.72; transition:transform .35s, opacity .35s; }
.category-card:hover img { transform:scale(1.05); opacity:.9; }
.category-card h3 { position:absolute; inset:auto 18px 18px; color:var(--paper); text-shadow:0 6px 22px rgba(0,0,0,.55); }
.feature-card { padding:24px; border-radius:24px; border:1px solid var(--line); background:rgba(255,244,223,.08); }
.feature-card .icon { width:50px; height:50px; display:grid; place-items:center; border-radius:16px; background:rgba(245,179,38,.16); color:var(--turmeric); font-size:1.55rem; margin-bottom:18px; }
.promo-band { background:linear-gradient(135deg, var(--saffron), var(--chili)); color:white; border-radius:var(--radius-lg); padding:42px; display:grid; grid-template-columns: 1.5fr .8fr; gap:24px; align-items:center; overflow:hidden; position:relative; }
.promo-band::after { content:''; position:absolute; width:320px; height:320px; border:40px solid rgba(255,255,255,.09); border-radius:50%; right:-80px; top:-120px; }
.promo-band p { color:rgba(255,255,255,.88); }
.promise { background:var(--paper); color:var(--text-dark); }
.promise p, .promise .lead { color:rgba(36,24,17,.74); }
.promise .kicker { color:var(--chili); }
.promise .feature-card { background:white; border-color:rgba(36,24,17,.12); box-shadow:0 14px 42px rgba(36,24,17,.08); }
.promise .feature-card p { color:rgba(36,24,17,.72); }
.faq-list { display:grid; gap:12px; }
.faq-item { border:1px solid var(--line); border-radius:20px; background:rgba(255,244,223,.07); overflow:hidden; }
.faq-trigger { width:100%; display:flex; justify-content:space-between; gap:20px; color:var(--paper); background:transparent; border:0; padding:19px 22px; text-align:left; font-weight:900; cursor:pointer; }
.faq-trigger span:last-child { color:var(--turmeric); }
.faq-content { display:none; padding:0 22px 20px; }
.faq-item.is-open .faq-content { display:block; }
.footer { background:#100b08; border-top:1px solid var(--line); padding:54px 0 28px; }
.footer-grid { display:grid; grid-template-columns: 1.35fr .8fr .8fr 1fr; gap:34px; }
.footer h3 { font-size:1.05rem; margin-bottom:12px; color:var(--turmeric); }
.footer ul { list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.footer a { color:rgba(255,246,230,.78); }
.footer a:hover { color:var(--paper); }
.footer-bottom { border-top:1px solid var(--line); margin-top:34px; padding-top:20px; display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; color:rgba(255,246,230,.62); font-size:.9rem; }
.floating-actions { position:fixed; right:18px; bottom:18px; display:grid; gap:10px; z-index:95; }
.float-btn { width:52px; height:52px; border-radius:18px; display:grid; place-items:center; background:var(--turmeric); color:#2a1409; font-weight:900; box-shadow:0 18px 34px rgba(0,0,0,.28); }
.float-btn.alt { background:var(--leaf); color:white; }
.page-hero { padding:72px 0 56px; background:linear-gradient(135deg, rgba(229,101,28,.22), transparent), var(--surface); border-bottom:1px solid var(--line); }
.breadcrumb { color:var(--muted); margin-bottom:18px; font-weight:700; }
.breadcrumb a { color:var(--paper); }
.menu-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px; margin:30px 0; }
.filter-group { display:flex; flex-wrap:wrap; gap:10px; }
.filter-btn { border:1px solid var(--line); background:rgba(255,244,223,.08); color:var(--paper); padding:10px 14px; border-radius:999px; cursor:pointer; font-weight:800; }
.filter-btn.is-active { background:var(--turmeric); color:#2a1409; }
.search-input, .form-field input, .form-field textarea, .form-field select { width:100%; border:1px solid var(--line); background:rgba(255,244,223,.08); color:var(--paper); border-radius:16px; padding:13px 15px; outline:none; }
.search-input { max-width:320px; }
.search-input:focus, .form-field input:focus, .form-field textarea:focus { border-color:rgba(245,179,38,.7); box-shadow:0 0 0 4px rgba(245,179,38,.12); }
.menu-section { margin:40px 0 54px; }
.menu-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.menu-card { border:1px solid var(--line); border-radius:22px; background:rgba(255,244,223,.07); padding:18px; display:grid; gap:12px; }
.menu-card-header { display:flex; justify-content:space-between; gap:16px; }
.menu-card h3 { font-size:1.1rem; }
.price { color:var(--turmeric); font-weight:950; white-space:nowrap; }
.tag-row { display:flex; flex-wrap:wrap; gap:8px; }
.tag { font-size:.76rem; padding:5px 8px; border-radius:999px; background:rgba(255,244,223,.09); color:var(--paper-2); font-weight:800; }
.note-box { border-left:4px solid var(--turmeric); background:rgba(245,179,38,.1); border-radius:0 18px 18px 0; padding:18px; color:rgba(255,246,230,.86); }
.contact-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:start; }
.info-list { display:grid; gap:14px; }
.info-item { padding:18px; border-radius:20px; border:1px solid var(--line); background:rgba(255,244,223,.07); }
.info-item strong { color:var(--turmeric); display:block; margin-bottom:4px; }
.form-card { padding:26px; border-radius:var(--radius-md); border:1px solid var(--line); background:rgba(255,244,223,.07); box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-field.full { grid-column:1 / -1; }
.form-field label { display:block; font-weight:800; margin-bottom:7px; }
.form-status { min-height:24px; margin-top:14px; color:var(--turmeric); font-weight:800; }
.map-placeholder { min-height:330px; border-radius:24px; overflow:hidden; position:relative; border:1px solid var(--line); background:linear-gradient(135deg, rgba(245,179,38,.16), rgba(71,118,62,.14)), var(--surface-2); display:grid; place-items:center; text-align:center; padding:28px; }
.map-placeholder::before { content:''; position:absolute; inset:28px; border:2px dashed rgba(255,244,223,.22); border-radius:22px; }
.map-placeholder div { position:relative; z-index:1; }
.timeline { display:grid; gap:18px; counter-reset: step; }
.timeline-item { display:grid; grid-template-columns:54px 1fr; gap:18px; align-items:start; }
.timeline-item::before { counter-increment:step; content:counter(step); width:48px; height:48px; display:grid; place-items:center; border-radius:16px; background:var(--turmeric); color:#2a1409; font-weight:950; }
.legal article { max-width:880px; }
.legal h2 { font-size:2rem; margin-top:34px; }
.legal p, .legal li { color:rgba(255,246,230,.8); }
@media (max-width: 980px) {
  .grid-2, .contact-layout, .promo-band { grid-template-columns: 1fr; }
  .grid-3, .menu-grid { grid-template-columns: repeat(2,1fr); }
  .grid-4 { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
  .nav-links { position:fixed; inset:86px 16px auto 16px; border:1px solid var(--line); background:rgba(25,17,13,.97); backdrop-filter: blur(18px); border-radius:24px; padding:16px; display:none; flex-direction:column; align-items:stretch; box-shadow:var(--shadow); }
  body.menu-open .nav-links { display:flex; }
  .nav-links a { padding:14px 16px; }
  .icon-btn { display:grid; place-items:center; }
  .nav-actions .btn { display:none; }
  .hero-stats { grid-template-columns:1fr; }
}
@media (max-width: 650px) {
  :root { --container: min(100% - 28px, 1180px); }
  .section { padding:64px 0; }
  .grid-3, .grid-4, .menu-grid, .footer-grid, .form-grid { grid-template-columns:1fr; }
  .form-field.full { grid-column:auto; }
  .hero-content { padding:64px 0 88px; }
  .btn-row, .menu-toolbar { align-items:stretch; }
  .btn, .search-input { width:100%; }
  .footer-bottom { display:grid; }
  .floating-actions { right:12px; bottom:12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
/* Bilingual language switcher */
.language-switch { display:inline-flex; align-items:center; gap:4px; padding:4px; border:1px solid var(--line); border-radius:999px; background:rgba(255,244,223,.07); }
.language-switch a { min-width:36px; text-align:center; padding:7px 9px; border-radius:999px; color:rgba(255,246,230,.78); font-weight:900; font-size:.82rem; }
.language-switch a.is-active { background:var(--turmeric); color:#2a1409; }
.logo img[src$="logo-anjappar.webp"] { width:190px; max-height:64px; object-fit:contain; }
@media (max-width: 980px) { .language-switch { margin-left:auto; } }
@media (max-width: 650px) { .logo img[src$="logo-anjappar.webp"] { width:150px; } .language-switch a { min-width:32px; padding:6px 8px; } }
/* =========================================================
   Desktop / laptop layout fix
   Keeps the mobile version unchanged, but makes 1024–1440px
   laptop screens cleaner: less oversized hero, safer header,
   balanced grids, and no navigation crowding.
   ========================================================= */
@media (min-width: 981px) {
  :root {
    --container: min(1120px, calc(100% - 64px));
  }
  .topbar {
    background: rgba(25,17,13,.92);
  }
  .nav {
    min-height: 78px;
    gap: 14px;
  }
  .logo img,
  .logo img[src$="logo-anjappar.webp"] {
    width: 162px;
    max-width: 22vw;
    max-height: 58px;
    object-fit: contain;
  }
  .nav-links {
    flex: 1 1 auto;
    justify-content: center;
    gap: 2px;
    min-width: 0;
  }
  .nav-links a {
    white-space: nowrap;
    padding: 8px 10px;
    font-size: .9rem;
  }
  .nav-actions {
    flex: 0 0 auto;
    gap: 8px;
  }
  .nav-actions .btn {
    padding: 10px 14px;
    font-size: .88rem;
    white-space: nowrap;
  }
  .language-switch a {
    min-width: 32px;
    padding: 6px 8px;
  }
  .hero {
    min-height: calc(100svh - 78px);
  }
  .hero-content {
    padding: 62px 0 76px;
  }
  .hero-card {
    max-width: 760px;
  }
  .hero h1 {
    max-width: 760px;
    font-size: clamp(3rem, 5.9vw, 5.9rem);
  }
  .hero .lead {
    max-width: 680px;
  }
  .hero-stats {
    max-width: 700px;
    gap: 12px;
  }
  .stat {
    padding: 14px;
  }
  .section {
    padding: 78px 0;
  }
  .section.compact {
    padding: 54px 0;
  }
  .grid-2 {
    gap: 34px;
  }
  .grid-3 {
    gap: 18px;
  }
  .image-card img {
    min-height: 360px;
    max-height: 520px;
  }
  .category-card {
    min-height: 205px;
  }
  .promo-band {
    padding: 36px;
  }
  .footer-grid {
    gap: 26px;
  }
}
/* Laptop/tablet-landscape header fix: use hamburger before nav becomes crowded. */
@media (min-width: 981px) and (max-width: 1180px) {
  .nav {
    min-height: 76px;
  }
  .nav-links {
    position: fixed;
    inset: 86px 24px auto 24px;
    max-width: 520px;
    margin-left: auto;
    border: 1px solid var(--line);
    background: rgba(25,17,13,.98);
    backdrop-filter: blur(18px);
    border-radius: 24px;
    padding: 16px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    box-shadow: var(--shadow);
    z-index: 120;
  }
  body.menu-open .nav-links {
    display: flex;
  }
  .nav-links a {
    padding: 14px 16px;
    font-size: .98rem;
  }
  .icon-btn {
    display: grid;
    place-items: center;
  }
  .nav-actions .btn {
    display: none;
  }
  .hero h1 {
    font-size: clamp(2.9rem, 6.6vw, 5.2rem);
  }
  .hero-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-grid {
    grid-template-columns: 1.2fr .8fr .8fr 1fr;
  }
}
/* Wider desktop: keep content elegant, not stretched. */
@media (min-width: 1441px) {
  :root {
    --container: min(1200px, calc(100% - 80px));
  }
  .hero-card {
    max-width: 880px;
  }
}
/* =========================================================
   LANGUAGE SWITCH FIX - active page red, inactive page black
   Applies the same style on German and English pages.
   Upload this complete file as: assets/css/styles.css
   ========================================================= */
.language-switch {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px !important;
  border: 1px solid rgba(255, 244, 223, 0.18) !important;
  border-radius: 999px !important;
  background: rgba(0, 0, 0, 0.32) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.language-switch a {
  min-width: 36px !important;
  text-align: center !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 244, 223, 0.14) !important;
  background: #1b120f !important;
  color: #fff6e6 !important;
  font-weight: 900 !important;
  font-size: .82rem !important;
  line-height: 1 !important;
}
.language-switch a:hover,
.language-switch a:focus-visible {
  background: #2a1a13 !important;
  color: #ffffff !important;
  outline: none !important;
}
.language-switch a.is-active,
.language-switch a[aria-current='page'] {
  background: #8f1d14 !important;
  color: #ffffff !important;
  border-color: #8f1d14 !important;
  box-shadow: 0 8px 18px rgba(143, 29, 20, .28) !important;
}
@media (max-width: 650px) {
  .language-switch a {
    min-width: 32px !important;
    padding: 6px 8px !important;
  }
}
/* === ANJAPPAR STUTTGART FIX: LANGUAGE SWITCH + MENU FILTERS === */
/* Active language: red. Inactive language: dark/black shade. */
.language-switch,
.topbar .language-switch,
.nav-actions .language-switch {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px !important;
  border: 1px solid rgba(27, 18, 15, 0.20) !important;
  border-radius: 999px !important;
  background: #fff7e8 !important;
}
.language-switch a,
.topbar .language-switch a,
.nav-actions .language-switch a {
  min-width: 36px !important;
  text-align: center !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #1b120f !important;
  border: 0 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
.language-switch a.is-active,
.topbar .language-switch a.is-active,
.nav-actions .language-switch a.is-active,
.language-switch a[aria-current="page"],
.topbar .language-switch a[aria-current="page"],
.nav-actions .language-switch a[aria-current="page"] {
  background: #8f1d14 !important;
  color: #ffffff !important;
  box-shadow: 0 6px 16px rgba(143, 29, 20, 0.22) !important;
}
/* Make menu category filters reliable on every browser/cache state. */
.menu-card.is-hidden,
.menu-card[hidden],
[hidden].menu-card {
  display: none !important;
}
.filter-btn {
  user-select: none;
}
.filter-btn.is-active,
.filter-btn[aria-pressed="true"] {
  background: #f5b326 !important;
  color: #2a1409 !important;
  border-color: #f5b326 !important;
}
.menu-toolbar {
  align-items: stretch;
}
@media (max-width: 700px) {
  .language-switch a,
  .topbar .language-switch a,
  .nav-actions .language-switch a {
    min-width: 32px !important;
    padding: 6px 8px !important;
  }
}
/* === STUTTGART PDF MENU UPDATE === */
.menu-section {
  margin: 34px 0 46px;
  scroll-margin-top: 110px;
}
.menu-section[hidden],
.menu-section.is-hidden {
  display: none !important;
}
.menu-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 0 0 14px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(255,244,223,.16);
}
.menu-section-title h2 {
  font-size: clamp(1.7rem, 3.4vw, 3rem);
}
.menu-section-title .item-count {
  color: var(--turmeric);
  font-weight: 900;
  white-space: nowrap;
}
.menu-card .item-no {
  color: var(--turmeric);
  font-weight: 900;
  font-size: .84rem;
  letter-spacing: .08em;
}
.menu-card .allergens {
  margin-top: 10px;
  color: rgba(255,246,230,.62);
  font-size: .82rem;
}
.menu-card-header h3 {
  font-size: clamp(1.05rem, 1.5vw, 1.34rem);
}
.menu-card-header .price {
  white-space: nowrap;
}
.menu-toolbar {
  position: sticky;
  top: 86px;
  z-index: 20;
  background: rgba(25,17,13,.94);
  backdrop-filter: blur(12px);
  padding: 12px;
  margin: 18px 0 28px;
  border: 1px solid rgba(255,244,223,.14);
  border-radius: 20px;
}
.filter-group {
  overflow-x: auto;
  padding-bottom: 4px;
}
.note-box.menu-source {
  border-color: rgba(245,179,38,.38);
}
@media (max-width: 900px) {
  .menu-toolbar {
    position: static;
  }
}
/* =========================================================
   ANJAPPAR STUTTGART SITE-WIDE CREAM/RED THEME 2026-06-20
   Match index page colours across all pages.
   ========================================================= */
:root{
  --bg:#fff7ea!important;
  --surface:#fffdf8!important;
  --surface-2:#f7ead2!important;
  --paper:#fff7ea!important;
  --paper-2:#f7ead2!important;
  --muted:#6f6258!important;
  --text:#1d120e!important;
  --text-dark:#1d120e!important;
  --saffron:#d89a2b!important;
  --turmeric:#fff3dc!important;
  --chili:#8f1d14!important;
  --leaf:#47763e!important;
  --line:rgba(29,18,14,.12)!important;
  --shadow:0 16px 45px rgba(52,26,13,.14)!important;
}
body{
  background:var(--bg)!important;
  color:var(--text)!important;
}
body::before{display:none!important;}
.topbar{
  background:rgba(255,247,234,.94)!important;
  backdrop-filter:blur(12px)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:none!important;
}
.nav{min-height:74px!important;}
.logo img,
.logo img[src$="logo-anjappar.webp"]{width:112px!important;max-height:58px!important;object-fit:contain!important;}
.nav-links a{color:var(--text)!important;font-weight:800!important;}
.nav-links a:hover,
.nav-links a.is-active{background:#fff1d6!important;color:var(--chili)!important;}
.nav-actions .btn,
.btn{
  background:var(--chili)!important;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(143,29,20,.22)!important;
}
.btn.secondary,
.btn.ghost{
  background:#fff3dc!important;
  color:var(--chili)!important;
  border:1px solid rgba(143,29,20,.18)!important;
  box-shadow:none!important;
}
.icon-btn{background:var(--chili)!important;color:#fff!important;}
.language-switch{
  background:#fffaf0!important;
  border:1px solid var(--line)!important;
}
.language-switch a{color:var(--text)!important;background:transparent!important;}
.language-switch a.is-active{background:var(--chili)!important;color:#fff!important;}
.lang-dropdown-toggle,
.lang-dropdown-menu{
  background:#fffaf0!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
}
.lang-dropdown-menu a:hover,
.lang-dropdown-menu a.active{background:#fff1d6!important;color:var(--chili)!important;}
.page-hero{
  background:radial-gradient(circle at top left, rgba(216,154,43,.22), transparent 34%),linear-gradient(135deg,#fff8ec 0%,#f8ead2 100%)!important;
  color:var(--text)!important;
  border-bottom:1px solid var(--line)!important;
}
.breadcrumb,
.breadcrumb a,
.lead,
p{color:#4f4037!important;}
.kicker,
.section-title .kicker,
.page-hero .kicker{color:var(--chili)!important;}
h1,h2,h3,h4,.section-title{color:var(--text)!important;}
.section,
.section.compact{
  background:var(--bg)!important;
  color:var(--text)!important;
}
.card,
.feature-card,
.form-card,
.info-item,
.note-box,
.menu-card,
.map-placeholder,
.faq-item,
.promo-band,
.image-card{
  background:#fffdf8!important;
  border:1px solid var(--line)!important;
  box-shadow:0 10px 28px rgba(52,26,13,.08)!important;
  color:var(--text)!important;
}
.image-card video,
.image-card img{background:#fffdf8!important;}
.menu-card h3,
.menu-card .price,
.info-item strong,
.card strong{color:var(--text)!important;}
.tag,
.badge,
.filter-btn{
  background:#fff3dc!important;
  color:var(--chili)!important;
  border:1px solid rgba(143,29,20,.18)!important;
}
.filter-btn.is-active,
.filter-btn:hover{
  background:var(--chili)!important;
  color:#fff!important;
}
.search-input,
input,
textarea,
select{
  background:#fffdf8!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
}
input::placeholder,
textarea::placeholder{color:#8a796d!important;}
.footer{
  background:#160d0a!important;
  color:#fff!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
.footer p,
.footer li,
.footer a{color:rgba(255,255,255,.72)!important;}
.footer h3{color:#ffd68b!important;}
.footer-bottom{color:rgba(255,255,255,.72)!important;border-top:1px solid rgba(255,255,255,.12)!important;}
.float-btn,
.floating-actions .float-btn{background:var(--chili)!important;color:#fff!important;}
.floating-actions .float-btn.alt{background:#fff3dc!important;color:var(--chili)!important;border:1px solid rgba(143,29,20,.18)!important;}
/* Light/dark two-tone like home page where feature sections exist */
.promise,
.feature-band,
section.promise{
  background:#1d120e!important;
  color:#fff!important;
}
.promise h2,.promise h3,.promise p,
.feature-band h2,.feature-band h3,.feature-band p,
section.promise h2,section.promise h3,section.promise p{color:#fff!important;}
.promise .kicker,.feature-band .kicker,section.promise .kicker{color:#ffd68b!important;}
@media (min-width:981px){
  .topbar{background:rgba(255,247,234,.94)!important;}
  .nav-links{background:transparent!important;}
}
@media (min-width:981px) and (max-width:1180px){
  .nav-links{background:#fffaf0!important;border:1px solid var(--line)!important;box-shadow:var(--shadow)!important;}
}
@media (max-width:980px){
  .nav-links{background:#fffaf0!important;border:1px solid var(--line)!important;box-shadow:var(--shadow)!important;}
}
/* NAV PAGE OPTION ACTIVE COLOUR FIX 2026-06-20
   Applies the same red/cream active option style to Startseite/Speisekarte/Über uns/Kontakt/Jobs and English pages. */
.nav-menu a.active,
.nav-menu a.is-active,
.nav-menu a[aria-current="page"],
.nav-links a.active,
.nav-links a.is-active,
.nav-links a[aria-current="page"]{
  background:#8f1d14!important;
  color:#fffaf0!important;
  border-color:#8f1d14!important;
  border-radius:999px!important;
  padding:8px 13px!important;
  box-shadow:0 10px 25px rgba(143,29,20,.18)!important;
}
.nav-menu a:hover,
.nav-links a:hover{
  background:#fff1d6!important;
  color:#8f1d14!important;
  border-radius:999px!important;
}
@media (max-width:760px){
  .nav-menu a.active,
  .nav-menu a.is-active,
  .nav-menu a[aria-current="page"],
  .nav-links a.active,
  .nav-links a.is-active,
  .nav-links a[aria-current="page"]{
    display:inline-flex!important;
  }
}
/* MENU CARD VISIBILITY + COLOUR FIX 2026-06-20
   Keeps the menu page light, makes dish numbers/allergens readable, and gives each dish card a clear accent colour. */
body .menu-section,
body .section.compact:has(.menu-toolbar),
body .section:has(.menu-grid){
  background:#fff7ea!important;
}
body .menu-grid{
  align-items:stretch!important;
}
body .menu-card{
  --card-accent:#8f1d14;
  --card-bg:#fffdf8;
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,var(--card-bg),#fffdf8)!important;
  border:1px solid rgba(143,29,20,.18)!important;
  border-left:7px solid var(--card-accent)!important;
  box-shadow:0 14px 34px rgba(52,26,13,.12)!important;
  color:#1d120e!important;
  min-height:280px!important;
}
body .menu-card::before{
  content:""!important;
  position:absolute!important;
  inset:0 0 auto 0!important;
  height:5px!important;
  background:var(--card-accent)!important;
  opacity:.9!important;
}
body .menu-card:nth-child(6n+1){--card-accent:#8f1d14;--card-bg:#fff7ea;}
body .menu-card:nth-child(6n+2){--card-accent:#c46a16;--card-bg:#fff3dc;}
body .menu-card:nth-child(6n+3){--card-accent:#2f6f45;--card-bg:#f3faef;}
body .menu-card:nth-child(6n+4){--card-accent:#7f3f98;--card-bg:#fbf3ff;}
body .menu-card:nth-child(6n+5){--card-accent:#a6422b;--card-bg:#fff1ec;}
body .menu-card:nth-child(6n){--card-accent:#0f6b78;--card-bg:#eefaff;}
body .menu-card .item-no{
  display:inline-flex!important;
  width:max-content!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--card-accent)!important;
  color:#fffaf0!important;
  border-radius:999px!important;
  padding:5px 11px!important;
  font-size:.82rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  box-shadow:0 8px 18px rgba(52,26,13,.14)!important;
}
body .menu-card-header h3,
body .menu-card h3{
  color:#1d120e!important;
  font-weight:950!important;
  line-height:1.16!important;
}
body .menu-card-header .price,
body .menu-card .price{
  color:#8f1d14!important;
  font-weight:950!important;
  background:#fff3dc!important;
  border:1px solid rgba(143,29,20,.16)!important;
  border-radius:999px!important;
  padding:5px 9px!important;
  align-self:start!important;
}
body .menu-card p{
  color:#4f4037!important;
  font-weight:500!important;
}
body .menu-card .tag{
  background:#fffaf0!important;
  color:var(--card-accent)!important;
  border:1px solid color-mix(in srgb, var(--card-accent) 38%, transparent)!important;
  font-weight:900!important;
}
body .menu-card .allergens{
  margin-top:auto!important;
  color:#5f5147!important;
  background:rgba(255,250,240,.76)!important;
  border:1px solid rgba(29,18,14,.10)!important;
  border-radius:12px!important;
  padding:8px 10px!important;
  font-size:.83rem!important;
  font-weight:750!important;
}
body .menu-section-title{
  border-bottom:1px solid rgba(143,29,20,.18)!important;
}
body .menu-section-title .item-count{
  background:#fff3dc!important;
  color:#8f1d14!important;
  border:1px solid rgba(143,29,20,.18)!important;
  border-radius:999px!important;
  padding:6px 10px!important;
}
@media (max-width:760px){
  body .menu-card{min-height:0!important;border-left-width:5px!important;}
  body .menu-card-header{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  body .menu-card-header .price{width:max-content!important;}
}
/* MENU NUMBER STRONG VISIBLE FINAL FIX 2026-06-20
   Stronger than previous menu card styles: clear number badge, always visible. */
html body main .menu-grid article.menu-card {
  position: relative !important;
  padding-top: 64px !important;
  overflow: visible !important;
}
html body main .menu-grid article.menu-card > .item-no {
  display: inline-flex !important;
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 50 !important;
  min-width: 58px !important;
  height: 34px !important;
  padding: 0 14px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #8f1d14 !important;
  color: #fff7ea !important;
  border: 2px solid #fff3dc !important;
  box-shadow: 0 8px 18px rgba(29,18,14,.28) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .05em !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}
html body main .menu-grid article.menu-card:nth-child(6n+1) > .item-no { background:#8f1d14 !important; }
html body main .menu-grid article.menu-card:nth-child(6n+2) > .item-no { background:#c46a16 !important; }
html body main .menu-grid article.menu-card:nth-child(6n+3) > .item-no { background:#2f6f45 !important; }
html body main .menu-grid article.menu-card:nth-child(6n+4) > .item-no { background:#7f3f98 !important; }
html body main .menu-grid article.menu-card:nth-child(6n+5) > .item-no { background:#a6422b !important; }
html body main .menu-grid article.menu-card:nth-child(6n) > .item-no { background:#0f6b78 !important; }
@media (max-width:640px){
  html body main .menu-grid article.menu-card { padding-top:58px !important; }
  html body main .menu-grid article.menu-card > .item-no { top:14px !important; left:14px !important; min-width:52px !important; height:32px !important; font-size:.95rem !important; }
}
/* FINAL MENU NUMBER + ICON VISIBILITY FIX 2026-06-20 */
body.menu-page main .menu-grid article.menu-card,
html body main .menu-grid article.menu-card {
  position: relative !important;
  padding-top: 78px !important;
  background: var(--card-bg, #fffaf0) !important;
  border: 2px solid color-mix(in srgb, var(--card-accent, #8f1d14) 28%, #ffffff) !important;
  border-left: 8px solid var(--card-accent, #8f1d14) !important;
  box-shadow: 0 14px 34px rgba(52,26,13,.12) !important;
  overflow: visible !important;
}
body.menu-page main .menu-grid article.menu-card:nth-child(6n+1),
html body main .menu-grid article.menu-card:nth-child(6n+1){--card-accent:#8f1d14;--card-bg:#fff7ea;}
body.menu-page main .menu-grid article.menu-card:nth-child(6n+2),
html body main .menu-grid article.menu-card:nth-child(6n+2){--card-accent:#c46a16;--card-bg:#fff1dd;}
body.menu-page main .menu-grid article.menu-card:nth-child(6n+3),
html body main .menu-grid article.menu-card:nth-child(6n+3){--card-accent:#2f6f45;--card-bg:#f3faef;}
body.menu-page main .menu-grid article.menu-card:nth-child(6n+4),
html body main .menu-grid article.menu-card:nth-child(6n+4){--card-accent:#7f3f98;--card-bg:#fbf3ff;}
body.menu-page main .menu-grid article.menu-card:nth-child(6n+5),
html body main .menu-grid article.menu-card:nth-child(6n+5){--card-accent:#a6422b;--card-bg:#fff0ea;}
body.menu-page main .menu-grid article.menu-card:nth-child(6n),
html body main .menu-grid article.menu-card:nth-child(6n){--card-accent:#0f6b78;--card-bg:#eefaff;}
body.menu-page main .menu-grid article.menu-card > .item-no,
html body main .menu-grid article.menu-card > .item-no,
body.menu-page main .menu-grid article.menu-card > .item-no.menu-number-strong,
html body main .menu-grid article.menu-card > .item-no.menu-number-strong {
  display: inline-flex !important;
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 99 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 82px !important;
  height: 38px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  background: var(--card-accent, #8f1d14) !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 10px 24px rgba(29,18,14,.28) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.12) !important;
}
body.menu-page main .menu-grid article.menu-card > .item-no .menu-no-label,
html body main .menu-grid article.menu-card > .item-no .menu-no-label {
  opacity: .92 !important;
  font-size: .78em !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
body.menu-page main .menu-grid article.menu-card .menu-card-header,
html body main .menu-grid article.menu-card .menu-card-header {
  margin-top: 0 !important;
}
body.menu-page main .menu-grid article.menu-card .allergens,
html body main .menu-grid article.menu-card .allergens {
  color: #5d473a !important;
  opacity: 1 !important;
  font-weight: 700 !important;
}
body.menu-page main .menu-grid article.menu-card .tag-row,
html body main .menu-grid article.menu-card .tag-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
body.menu-page main .menu-grid article.menu-card .tag,
html body main .menu-grid article.menu-card .tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  padding: 6px 11px 6px 8px !important;
  background: #fff7ea !important;
  color: #8f1d14 !important;
  border: 1px solid rgba(143,29,20,.30) !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  box-shadow: 0 6px 16px rgba(52,26,13,.08) !important;
}
body.menu-page main .menu-grid article.menu-card .tag-icon,
html body main .menu-grid article.menu-card .tag-icon {
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
}
body.menu-page .map-embed,
.map-embed {
  width: 100% !important;
  min-height: 360px !important;
  border: 0 !important;
  display: block !important;
}
.google-map-card {
  border-radius: 24px !important;
  overflow: hidden !important;
  border: 1px solid rgba(29,18,14,.12) !important;
  box-shadow: 0 14px 34px rgba(52,26,13,.12) !important;
  background: #fffaf0 !important;
}
.map-actions { padding: 14px 18px; background: #fffaf0; display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; color:#5d473a; }
.map-actions a { color:#8f1d14 !important; font-weight:900; }
@media (max-width: 640px) {
  html body main .menu-grid article.menu-card,
  body.menu-page main .menu-grid article.menu-card { padding-top: 72px !important; }
  html body main .menu-grid article.menu-card > .item-no,
  body.menu-page main .menu-grid article.menu-card > .item-no { top: 16px !important; left: 16px !important; min-width: 76px !important; height: 36px !important; font-size: .95rem !important; }
  body.menu-page main .menu-grid article.menu-card .tag-icon,
  html body main .menu-grid article.menu-card .tag-icon { width: 20px !important; height: 20px !important; }
}
/* MENU ATTRACTIVE CARD COLOUR FINAL 2026-06-20 */
body.menu-page {
  background: #fff7ea !important;
}
body.menu-page main,
body.menu-page .menu-section,
body.menu-page .section,
body.menu-page .menu-wrapper {
  background: #fff7ea !important;
}
body.menu-page .menu-grid,
html body main .menu-grid {
  gap: 22px !important;
}
body.menu-page main .menu-grid article.menu-card,
html body main .menu-grid article.menu-card {
  --accent: #8f1d14;
  --accent-soft: rgba(143, 29, 20, .11);
  position: relative !important;
  overflow: hidden !important;
  padding: 82px 22px 24px !important;
  min-height: 300px !important;
  background:
    linear-gradient(135deg, var(--accent-soft) 0%, rgba(255,255,255,.84) 42%, #fffdf8 100%) !important;
  border: 1px solid rgba(29,18,14,.13) !important;
  border-top: 8px solid var(--accent) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 32px rgba(52,26,13,.12) !important;
  color: #1d120e !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
body.menu-page main .menu-grid article.menu-card:hover,
html body main .menu-grid article.menu-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 22px 46px rgba(52,26,13,.18) !important;
  border-color: rgba(29,18,14,.20) !important;
}
body.menu-page main .menu-grid article.menu-card:nth-child(6n+1),
html body main .menu-grid article.menu-card:nth-child(6n+1) { --accent:#8f1d14; --accent-soft:rgba(143,29,20,.13); }
body.menu-page main .menu-grid article.menu-card:nth-child(6n+2),
html body main .menu-grid article.menu-card:nth-child(6n+2) { --accent:#c7641b; --accent-soft:rgba(199,100,27,.15); }
body.menu-page main .menu-grid article.menu-card:nth-child(6n+3),
html body main .menu-grid article.menu-card:nth-child(6n+3) { --accent:#0f766e; --accent-soft:rgba(15,118,110,.13); }
body.menu-page main .menu-grid article.menu-card:nth-child(6n+4),
html body main .menu-grid article.menu-card:nth-child(6n+4) { --accent:#9a3412; --accent-soft:rgba(154,52,18,.14); }
body.menu-page main .menu-grid article.menu-card:nth-child(6n+5),
html body main .menu-grid article.menu-card:nth-child(6n+5) { --accent:#7c2d12; --accent-soft:rgba(124,45,18,.14); }
body.menu-page main .menu-grid article.menu-card:nth-child(6n+6),
html body main .menu-grid article.menu-card:nth-child(6n+6) { --accent:#a16207; --accent-soft:rgba(161,98,7,.16); }
body.menu-page main .menu-grid article.menu-card > .item-no,
html body main .menu-grid article.menu-card > .item-no,
body.menu-page main .menu-grid article.menu-card .menu-number-strong,
html body main .menu-grid article.menu-card .menu-number-strong {
  display: inline-flex !important;
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 500 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 88px !important;
  height: 42px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  background: var(--accent) !important;
  color: #ffffff !important;
  border: 3px solid #fff7ea !important;
  box-shadow: 0 12px 24px rgba(29,18,14,.25) !important;
  font-size: 1.02rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-shadow: none !important;
}
body.menu-page main .menu-grid article.menu-card > .item-no *,
html body main .menu-grid article.menu-card > .item-no * {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.menu-page main .menu-grid article.menu-card > .item-no .menu-no-label,
html body main .menu-grid article.menu-card > .item-no .menu-no-label {
  font-size: .72em !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: rgba(255,255,255,.88) !important;
}
body.menu-page main .menu-grid article.menu-card .menu-card-header,
html body main .menu-grid article.menu-card .menu-card-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}
body.menu-page main .menu-grid article.menu-card h3,
html body main .menu-grid article.menu-card h3 {
  color: #1d120e !important;
  font-weight: 950 !important;
  line-height: 1.12 !important;
  margin: 0 !important;
}
body.menu-page main .menu-grid article.menu-card .price,
html body main .menu-grid article.menu-card .price {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: #fff7ea !important;
  color: var(--accent) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 38%, transparent) !important;
  box-shadow: 0 8px 18px rgba(52,26,13,.08) !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}
body.menu-page main .menu-grid article.menu-card p,
html body main .menu-grid article.menu-card p {
  color: #4f4037 !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}
body.menu-page main .menu-grid article.menu-card .tag-row,
html body main .menu-grid article.menu-card .tag-row {
  margin-top: 18px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
}
body.menu-page main .menu-grid article.menu-card .tag,
html body main .menu-grid article.menu-card .tag {
  background: #fffaf0 !important;
  color: var(--accent) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, transparent) !important;
  box-shadow: 0 8px 18px rgba(52,26,13,.07) !important;
  font-weight: 950 !important;
}
body.menu-page main .menu-grid article.menu-card .allergens,
html body main .menu-grid article.menu-card .allergens {
  color: #6b4a35 !important;
  opacity: 1 !important;
  font-weight: 800 !important;
  margin-top: 18px !important;
  background: rgba(255,250,240,.78) !important;
  border-left: 4px solid var(--accent) !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
}
@media (max-width: 640px) {
  body.menu-page main .menu-grid article.menu-card,
  html body main .menu-grid article.menu-card {
    min-height: 0 !important;
    padding: 78px 18px 20px !important;
    border-radius: 20px !important;
  }
  body.menu-page main .menu-grid article.menu-card > .item-no,
  html body main .menu-grid article.menu-card > .item-no {
    top: 16px !important;
    left: 16px !important;
    min-width: 82px !important;
    height: 40px !important;
    font-size: .98rem !important;
  }
  body.menu-page main .menu-grid article.menu-card .menu-card-header,
  html body main .menu-grid article.menu-card .menu-card-header {
    gap: 10px !important;
  }
}



/* MENU ATTRACTIVE CATEGORY IMAGE + COLOUR FINAL 2026-06-20 */
body.menu-page{
  background:#fff7ea!important;
}
body.menu-page .page-hero{
  background:linear-gradient(135deg,#fff7ea 0%,#f7ead2 100%)!important;
  color:#1d120e!important;
}
body.menu-page .section.compact,
body.menu-page .menu-section{
  background:#fff7ea!important;
}
body.menu-page .menu-toolbar{
  background:linear-gradient(135deg,#241811 0%,#3a2115 100%)!important;
  border:1px solid rgba(216,154,43,.25)!important;
  box-shadow:0 18px 45px rgba(52,26,13,.14)!important;
}
body.menu-page .filter-btn{
  background:#fff2d8!important;
  color:#8f1d14!important;
  border:1px solid rgba(143,29,20,.20)!important;
  box-shadow:0 8px 20px rgba(52,26,13,.10)!important;
}
body.menu-page .filter-btn.is-active,
body.menu-page .filter-btn[aria-pressed="true"]{
  background:#8f1d14!important;
  color:#fffaf0!important;
  border-color:#d89a2b!important;
}
body.menu-page .menu-section{
  margin-top:34px!important;
}
body.menu-page .menu-section-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  border-bottom:0!important;
  margin-bottom:14px!important;
}
body.menu-page .menu-section-title h2{
  color:#1d120e!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
}
body.menu-page .menu-section-title .item-count{
  background:#fff2d8!important;
  color:#8f1d14!important;
  border:1px solid rgba(143,29,20,.22)!important;
  border-radius:999px!important;
  font-weight:950!important;
  padding:8px 14px!important;
}
body.menu-page .menu-section-visual{
  position:relative!important;
  overflow:hidden!important;
  min-height:190px!important;
  border-radius:28px!important;
  margin:0 0 24px!important;
  box-shadow:0 22px 54px rgba(52,26,13,.20)!important;
  border:1px solid rgba(255,250,240,.65)!important;
  background:#241811!important;
}
body.menu-page .menu-section-visual img{
  width:100%!important;
  height:235px!important;
  max-height:235px!important;
  object-fit:cover!important;
  display:block!important;
  filter:saturate(1.08) contrast(1.05)!important;
  transform:scale(1.01)!important;
}
body.menu-page .menu-section-visual::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(29,18,14,.90),rgba(29,18,14,.48) 46%,rgba(29,18,14,.10))!important;
}
body.menu-page .menu-section-visual-copy{
  position:absolute!important;
  inset:auto auto 22px 26px!important;
  z-index:2!important;
  color:#fffaf0!important;
  max-width:560px!important;
}
body.menu-page .menu-section-visual-copy .visual-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  font-weight:950!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  font-size:.75rem!important;
  color:#ffd68b!important;
  margin-bottom:8px!important;
}
body.menu-page .menu-section-visual-copy .visual-kicker::before{
  content:""!important;
  width:34px!important;
  height:2px!important;
  background:#d89a2b!important;
  display:inline-block!important;
}
body.menu-page .menu-section-visual-copy h3{
  margin:0 0 6px!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(1.55rem,3.2vw,2.55rem)!important;
  line-height:1.02!important;
  color:#fffaf0!important;
  text-shadow:0 8px 28px rgba(0,0,0,.42)!important;
}
body.menu-page .menu-section-visual-copy p{
  margin:0!important;
  color:rgba(255,250,240,.88)!important;
  font-size:1rem!important;
  font-weight:600!important;
}
body.menu-page .menu-grid{
  gap:22px!important;
  align-items:stretch!important;
}
html body.menu-page main .menu-grid article.menu-card{
  --card-accent:#8f1d14;
  --card-soft:#fff3dc;
  --card-glow:rgba(143,29,20,.13);
  position:relative!important;
  overflow:hidden!important;
  min-height:330px!important;
  padding:82px 22px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  color:#1d120e!important;
  border:1px solid rgba(29,18,14,.10)!important;
  border-top:12px solid var(--card-accent)!important;
  border-left:0!important;
  background:
    radial-gradient(circle at 92% 15%, var(--card-glow), transparent 46%),
    linear-gradient(145deg,var(--card-soft) 0%,#fffdf8 55%,#fffaf0 100%)!important;
  box-shadow:0 18px 46px rgba(52,26,13,.15)!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}
html body.menu-page main .menu-grid article.menu-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 25px 60px rgba(52,26,13,.22)!important;
}
html body.menu-page main .menu-grid article.menu-card::before{
  content:""!important;
  position:absolute!important;
  right:-40px!important;
  top:-48px!important;
  width:150px!important;
  height:150px!important;
  border-radius:50%!important;
  background:color-mix(in srgb, var(--card-accent) 16%, transparent)!important;
  opacity:1!important;
}
html body.menu-page main .menu-grid article.menu-card:nth-child(8n+1){--card-accent:#9c1b16;--card-soft:#fff2ec;--card-glow:rgba(156,27,22,.16);}
html body.menu-page main .menu-grid article.menu-card:nth-child(8n+2){--card-accent:#c96510;--card-soft:#fff3dc;--card-glow:rgba(201,101,16,.17);}
html body.menu-page main .menu-grid article.menu-card:nth-child(8n+3){--card-accent:#0f766e;--card-soft:#effaf6;--card-glow:rgba(15,118,110,.16);}
html body.menu-page main .menu-grid article.menu-card:nth-child(8n+4){--card-accent:#7c3aed;--card-soft:#f8f0ff;--card-glow:rgba(124,58,237,.15);}
html body.menu-page main .menu-grid article.menu-card:nth-child(8n+5){--card-accent:#2f6f45;--card-soft:#f2faef;--card-glow:rgba(47,111,69,.17);}
html body.menu-page main .menu-grid article.menu-card:nth-child(8n+6){--card-accent:#b45309;--card-soft:#fff7e6;--card-glow:rgba(180,83,9,.17);}
html body.menu-page main .menu-grid article.menu-card:nth-child(8n+7){--card-accent:#be185d;--card-soft:#fff0f7;--card-glow:rgba(190,24,93,.15);}
html body.menu-page main .menu-grid article.menu-card:nth-child(8n){--card-accent:#0f6b78;--card-soft:#effaff;--card-glow:rgba(15,107,120,.16);}
html body.menu-page main .menu-grid article.menu-card > .item-no,
html body.menu-page main .menu-grid article.menu-card > .menu-number-strong{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  position:absolute!important;
  top:18px!important;
  left:20px!important;
  z-index:20!important;
  width:auto!important;
  min-width:94px!important;
  height:42px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:var(--card-accent)!important;
  color:#ffffff!important;
  border:3px solid #fffaf0!important;
  box-shadow:0 12px 25px rgba(29,18,14,.26)!important;
  font-size:.94rem!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
}
html body.menu-page main .menu-grid article.menu-card .menu-no-label{
  color:#fff!important;
  opacity:.95!important;
}
html body.menu-page main .menu-grid article.menu-card .menu-card-header{
  margin-top:0!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
}
html body.menu-page main .menu-grid article.menu-card h3{
  color:#1d120e!important;
  font-weight:950!important;
  font-size:1.22rem!important;
  line-height:1.14!important;
}
html body.menu-page main .menu-grid article.menu-card .price{
  flex:0 0 auto!important;
  color:var(--card-accent)!important;
  background:#fffaf0!important;
  border:1px solid color-mix(in srgb, var(--card-accent) 22%, transparent)!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font-weight:950!important;
  box-shadow:0 10px 28px rgba(52,26,13,.10)!important;
}
html body.menu-page main .menu-grid article.menu-card p{
  color:#4e4037!important;
  font-weight:560!important;
  font-size:1rem!important;
}
html body.menu-page main .menu-grid article.menu-card .tag{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content!important;
  color:var(--card-accent)!important;
  background:#fffaf0!important;
  border:1px solid color-mix(in srgb, var(--card-accent) 28%, transparent)!important;
  border-radius:999px!important;
  padding:6px 10px!important;
  font-weight:950!important;
}
html body.menu-page main .menu-grid article.menu-card .tag-icon{
  width:22px!important;
  height:22px!important;
  object-fit:contain!important;
}
html body.menu-page main .menu-grid article.menu-card .allergens{
  margin-top:auto!important;
  color:#493a31!important;
  background:rgba(255,250,240,.82)!important;
  border-left:5px solid var(--card-accent)!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  font-weight:850!important;
  opacity:1!important;
}
@media (max-width:760px){
  body.menu-page .menu-section-visual{min-height:145px!important;border-radius:20px!important;margin-bottom:18px!important;}
  body.menu-page .menu-section-visual img{height:170px!important;}
  body.menu-page .menu-section-visual::after{background:linear-gradient(90deg,rgba(29,18,14,.86),rgba(29,18,14,.32))!important;}
  body.menu-page .menu-section-visual-copy{left:18px!important;bottom:16px!important;right:18px!important;}
  body.menu-page .menu-section-visual-copy p{display:none!important;}
  html body.menu-page main .menu-grid article.menu-card{min-height:0!important;padding:76px 18px 18px!important;}
  html body.menu-page main .menu-grid article.menu-card .menu-card-header{display:grid!important;grid-template-columns:1fr!important;}
  html body.menu-page main .menu-grid article.menu-card .price{width:max-content!important;}
}

