:root {
  --black: #0f1115;
  --deep: #13171c;
  --surface: #191e24;
  --surface-strong: #20262d;
  --border: rgba(255, 255, 255, 0.08);
  --gold: #b08a57;
  --gold-light: #d8c3a2;
  --gold-soft: rgba(176, 138, 87, 0.16);
  --text: #f5efe6;
  --muted: #b8ac9a;
  --dim: #8c8478;
  --success: #6cb98f;
  --warning: #dbb26a;
  --font-display: 'Cormorant Garamond', serif;
  --font-body: 'Jost', sans-serif;
  --shadow-soft: 0 20px 50px rgba(0, 0, 0, 0.28);
  --shadow-card: 0 18px 42px rgba(0, 0, 0, 0.26);
  --shell: min(1180px, calc(100vw - 32px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 126px; }
body {
  margin: 0;
  background:
    radial-gradient(circle at top, var(--page-glow, rgba(176, 138, 87, 0.16)), transparent 28%),
    linear-gradient(180deg, var(--page-top, #0d1014) 0%, var(--black) 38%, var(--page-bottom, #0f1115) 100%);
  color: var(--text);
  font-family: var(--font-body);
  font-weight: 300;
  min-height: 100vh;
  transition: background 0.28s ease, color 0.28s ease;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }


a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(216, 195, 162, 0.18), 0 0 0 1px rgba(216, 195, 162, 0.46);
}


.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(11, 13, 16, 0.84);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(16px);
}
.site-header-inner {
  width: var(--shell);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 0;
}
.header-stack {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}
.breadcrumb-link {
  color: var(--muted);
  font-size: 0.82rem;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.breadcrumb-link:hover { color: var(--gold-light); }
.brand-link {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-width: 0;
}
.brand-logo {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(216, 195, 162, 0.55);
  box-shadow: 0 0 0 4px rgba(176, 138, 87, 0.1);
  flex-shrink: 0;
}
.brand-title {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2.8vw, 1.8rem);
  line-height: 1;
  color: var(--gold-light);
  letter-spacing: 0.04em;
}
.brand-subtitle {
  color: var(--muted);
  font-size: 0.84rem;
  margin-top: 0.22rem;
}
.lang-switcher {
  display: flex;
  gap: 0.34rem;
  align-self: flex-start;
}
.lang-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 36px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.76rem;
  letter-spacing: 0.12em;
  transition: 0.24s ease;
}
.lang-btn:hover,
.lang-btn.active {
  color: var(--gold-light);
  border-color: rgba(216, 195, 162, 0.32);
  background: rgba(176, 138, 87, 0.14);
}

.hero-shell {
  position: relative;
  min-height: clamp(420px, 62vh, 720px);
  display: flex;
  align-items: flex-end;
  background-position: center;
  background-size: cover;
}
.hero-tight { min-height: clamp(320px, 48vh, 520px); }
.hero-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 17, 21, 0.14), rgba(15, 17, 21, 0.18) 35%, rgba(15, 17, 21, 0.92) 100%);
}
.hero-shell-inner {
  position: relative;
  z-index: 1;
  width: var(--shell);
  margin: 0 auto;
  padding: 4rem 0 3rem;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--gold-light);
  text-transform: uppercase;
  letter-spacing: 0.17em;
  font-size: 0.72rem;
  margin-bottom: 0.75rem;
}
.hero-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 5.9rem);
  line-height: 0.9;
  letter-spacing: 0.02em;
  color: #f8f0e2;
  max-width: 10ch;
}
.hero-copy {
  max-width: 720px;
  margin: 1rem 0 0;
  color: #ded3c3;
  font-size: 1.02rem;
  line-height: 1.75;
}
.hero-actions,
.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.6rem;
}
.hero-meta-row {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.outline-chip,
.showcase-chip,
.metric-pill,
.tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}
.outline-chip {
  padding: 0.48rem 0.8rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: var(--gold-light);
  background: rgba(15, 17, 21, 0.42);
}
.button-primary,
.popup-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.9rem 1.25rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gold) 0%, #c8a56b 100%);
  color: #121111;
  font-weight: 600;
  box-shadow: 0 16px 30px rgba(176, 138, 87, 0.22);
}
.button-secondary,
.button-link.inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.9rem 1.25rem;
  border-radius: 999px;
  border: 1px solid rgba(216, 195, 162, 0.24);
  background: rgba(17, 20, 24, 0.58);
  color: var(--gold-light);
}
.button-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--gold-light);
  font-weight: 500;
}

.section-shell,
.page-main {
  width: var(--shell);
  margin: 0 auto;
}
.section-shell { padding: 2.25rem 0 0; }
.section-heading {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-bottom: 1.35rem;
}
.section-heading.compact { margin-bottom: 0.5rem; }
.section-heading h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.6vw, 3.3rem);
  line-height: 0.95;
  color: #f3e8d7;
}
.section-heading p {
  margin: 0;
  color: var(--muted);
  max-width: 760px;
  line-height: 1.7;
}
.intro-band {
  padding-top: 1.8rem;
}
.soft-panel {
  padding-bottom: 0.4rem;
}

.outlet-grid,
.menu-card-grid,
.category-preview-grid,
.item-grid {
  display: grid;
  gap: 1.15rem;
  align-items: stretch;
}
.outlet-grid,
.menu-card-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.outlet-grid > *,
.menu-card-grid > * { grid-column: span 6; }
.category-preview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.item-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.showcase-card,
.menu-showcase-card,
.category-preview-card,
.item-card,
.legend-card {
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}
.showcase-card:hover,
.menu-showcase-card:hover,
.category-preview-card:hover,
.item-card:hover {
  transform: translateY(-4px);
  border-color: rgba(216, 195, 162, 0.22);
}

.showcase-card:active,
.menu-showcase-card:active,
.category-preview-card:active,
.item-card:active {
  transform: translateY(-1px) scale(0.995);
}

.showcase-card,
.menu-showcase-card,
.category-preview-card,
.item-card,
.legend-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.018));
  border: 1px solid var(--border);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.showcase-card,
.menu-showcase-card {
  display: grid;
  grid-template-columns: minmax(220px, 44%) 1fr;
}
.menu-showcase-card.is-featured {
  border-color: rgba(216, 195, 162, 0.22);
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(216, 195, 162, 0.08);
}
.showcase-media,
.menu-showcase-media,
.category-preview-media,
.item-media,
.category-thumb {
  position: relative;
  background: linear-gradient(180deg, rgba(176, 138, 87, 0.14), rgba(255,255,255,0.03));
  overflow: hidden;
}
.showcase-media,
.menu-showcase-media { min-height: 320px; }
.category-preview-media { aspect-ratio: 4 / 3; }
.item-media { aspect-ratio: 16 / 10; }
.category-thumb {
  width: 210px;
  height: 140px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.08);
  flex-shrink: 0;
}
.showcase-media img,
.menu-showcase-media img,
.category-preview-media img,
.item-media img,
.category-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.showcase-media.placeholder,
.menu-showcase-media.placeholder,
.category-preview-media.placeholder,
.item-media.placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
}
.media-placeholder {
  width: 94px;
  height: 94px;
  border-radius: 999px;
  border: 1px solid rgba(216, 195, 162, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold-light);
  background: rgba(17, 20, 24, 0.5);
  font-size: 1.6rem;
}
.showcase-chip {
  position: absolute;
  top: 1rem;
  left: 1rem;
  padding: 0.46rem 0.8rem;
  background: rgba(10, 11, 13, 0.7);
  color: var(--gold-light);
  border: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(10px);
}
.showcase-body,
.category-preview-body,
.item-body {
  padding: 1.25rem;
}

.category-preview-body {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  min-height: 100%;
}
.showcase-card .showcase-body,
.menu-showcase-card .showcase-body {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  min-height: 100%;
}
.showcase-card .card-actions,
.menu-showcase-card .card-actions {
  margin-top: auto;
}
.showcase-topline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.9rem;
}
.metric-pill {
  padding: 0.44rem 0.72rem;
  background: rgba(176, 138, 87, 0.12);
  color: var(--gold-light);
  border: 1px solid rgba(216, 195, 162, 0.1);
}

.metric-pill.subtle {
  background: rgba(255, 255, 255, 0.04);
}
.showcase-body h3,
.category-preview-body h3,
.item-title,
.category-title,
.footer-brand,
.legend-title {
  margin: 0;
  font-family: var(--font-display);
  color: #f3e8d7;
}
.showcase-body h3,
.item-title { font-size: clamp(1.65rem, 3.3vw, 2.2rem); line-height: 1; }
.category-preview-body h3 { font-size: 1.45rem; }
.showcase-body p,
.category-preview-body p,
.item-description,
.category-description,
.footer-line {
  color: var(--muted);
  line-height: 1.72;
}
.feature-line {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  color: var(--text);
}
.feature-line.subtle { color: var(--muted); }
.feature-label {
  color: var(--gold-light);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
}


.category-preview-link {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.category-preview-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.category-preview-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--gold-light);
  font-size: 0.88rem;
  font-weight: 500;
}

.category-preview-link:hover .category-preview-cta,
.category-preview-link:focus-visible .category-preview-cta {
  color: var(--text);
}

.category-nav-wrap,
.menu-switcher-wrap {
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, rgba(17,20,24,0.94), rgba(17,20,24,0.78));
  border-top: 1px solid rgba(255,255,255,0.04);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.category-nav,
.menu-switcher {
  width: var(--shell);
  margin: 0 auto;
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  padding: 0.95rem 0;
  scrollbar-width: none;
}
.category-nav::-webkit-scrollbar,
.menu-switcher::-webkit-scrollbar { display: none; }
.category-nav a,
.menu-switcher-link {
  white-space: nowrap;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.02);
  color: var(--muted);
  padding: 0.7rem 0.95rem;
}
.category-nav a:hover,
.category-nav a.is-current,
.menu-switcher-link:hover,
.menu-switcher-link.active {
  color: var(--gold-light);
  border-color: rgba(216,195,162,0.24);
  background: rgba(176,138,87,0.12);
}
.menu-switcher-link {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.menu-switcher-link small {
  color: inherit;
  opacity: 0.76;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-main {
  padding: 1.8rem 0 4rem;
}
.category-section { margin-bottom: 1.9rem; }
.category-banner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.2rem;
  margin-bottom: 1rem;
}
.category-title {
  font-size: clamp(1.9rem, 4vw, 2.75rem);
  line-height: 0.95;
}
.item-card {
  display: grid;
  grid-template-columns: minmax(220px, 42%) 1fr;
}
.item-card.no-media {
  grid-template-columns: 1fr;
}
.item-card.no-media .item-body {
  padding: 1.35rem 1.4rem;
}
.item-badges {
  position: absolute;
  left: 0.9rem;
  right: 0.9rem;
  bottom: 0.9rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.tag {
  padding: 0.38rem 0.58rem;
  background: rgba(10, 11, 13, 0.72);
  border: 1px solid rgba(255,255,255,0.08);
  color: #f6efe1;
  gap: 0.35rem;
}
.tag.success { color: #d8f5e4; border-color: rgba(108,185,143,0.24); }
.tag.warning { color: #f4dfbf; border-color: rgba(219,178,106,0.28); }
.tag.neutral { color: #f6efe1; }
.item-badges-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1rem;
}
.item-body.is-text-only .item-header {
  align-items: flex-start;
}
.item-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.item-subtitle {
  color: var(--gold-light);
  margin-top: 0.3rem;
  font-size: 0.92rem;
}
.item-meta-stack {
  text-align: right;
  flex-shrink: 0;
}
.item-price {
  font-size: 1.22rem;
  color: var(--gold-light);
  font-weight: 600;
}
.item-duration {
  color: var(--dim);
  font-size: 0.82rem;
  margin-top: 0.3rem;
}
.item-footer-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1rem;
}
.service-window {
  color: var(--muted);
  font-size: 0.88rem;
}
.service-window span {
  color: var(--gold-light);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  margin-right: 0.35rem;
}
.allergen-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.allergen-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(176, 138, 87, 0.12);
  border: 1px solid rgba(216, 195, 162, 0.15);
  color: var(--gold-light);
  font-size: 0.75rem;
  font-weight: 600;
}
.legend-card {
  padding: 1.25rem;
  margin-top: 1.2rem;
}
.legend-title {
  font-size: 1.6rem;
  margin-bottom: 0.9rem;
}
.legend-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}
.legend-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--muted);
}

.empty-state {
  width: var(--shell);
  margin: 2rem auto 4rem;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  border-radius: 28px;
  border: 1px dashed rgba(216, 195, 162, 0.16);
  background: rgba(255,255,255,0.015);
  color: var(--muted);
}
.empty-icon {
  width: 74px;
  height: 74px;
  border-radius: 999px;
  background: rgba(176, 138, 87, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold-light);
  font-size: 1.3rem;
}

.popup-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(5, 7, 10, 0.72);
  display: grid;
  place-items: center;
  padding: 1rem;
  backdrop-filter: blur(6px);
}
.popup-card {
  position: relative;
  width: min(540px, 100%);
  background: linear-gradient(180deg, rgba(28,32,38,0.98), rgba(17,20,24,0.98));
  border: 1px solid rgba(216, 195, 162, 0.14);
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.42);
}
.popup-close {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: rgba(11, 13, 16, 0.7);
  color: var(--text);
  cursor: pointer;
}
.popup-image {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.popup-body { padding: 1.2rem; }
.popup-eyebrow {
  color: var(--gold-light);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.72rem;
}
.popup-title {
  margin: 0.55rem 0;
  font-family: var(--font-display);
  font-size: 2rem;
}
.popup-text {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}
.popup-button { margin-top: 1rem; }

.site-footer {
  width: var(--shell);
  margin: 2rem auto 0;
  padding: 0 0 2rem;
}
.site-footer-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.018));
  border: 1px solid var(--border);
  border-radius: 28px;
  box-shadow: var(--shadow-card);
  padding: 1.35rem;
}
.site-footer-top {
  display: grid;
  grid-template-columns: minmax(240px, 0.95fr) minmax(0, 1.35fr);
  gap: 1.15rem;
  align-items: start;
}
.site-footer-brand-block {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.footer-brand {
  font-size: 1.6rem;
  margin-bottom: 0.2rem;
}
.footer-summary {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
  max-width: 32ch;
}
.footer-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}
.footer-contact-card {
  min-height: 78px;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.95rem 1rem;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  color: inherit;
}
.footer-contact-card.is-static {
  cursor: default;
}
.footer-contact-icon {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(176, 138, 87, 0.12);
  border: 1px solid rgba(216, 195, 162, 0.14);
  color: var(--gold-light);
}
.footer-contact-value {
  color: var(--muted);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.site-footer-bottom {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}


.footer-contact-card,
.button-primary,
.button-secondary,
.button-link.inline-link,
.menu-switcher-link,
.category-nav a,
.lang-btn,
.theme-toggle {
  transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
}

.footer-contact-card:hover,
.button-primary:hover,
.button-secondary:hover,
.button-link.inline-link:hover,
.menu-switcher-link:hover,
.category-nav a:hover,
.lang-btn:hover,
.theme-toggle:hover {
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}
.footer-note {
  color: var(--dim);
}
.footer-mini-link {
  color: var(--gold-light);
  font-weight: 500;
}
.footer-mini-link:hover {
  color: var(--text);
}

@media (max-width: 980px) {
  .outlet-grid,
  .menu-card-grid,
  .item-grid,
  .legend-grid,
  .category-preview-grid {
    grid-template-columns: 1fr;
  }
  .outlet-grid > *,
  .menu-card-grid > * {
    grid-column: 1 / -1;
  }
  .showcase-card,
  .menu-showcase-card,
  .item-card {
    grid-template-columns: 1fr;
  }
  .item-card.no-media {
    grid-template-columns: 1fr;
  }
  .showcase-media,
  .menu-showcase-media { min-height: 260px; }
  .menu-showcase-media { max-height: 320px; }
  .category-banner {
    flex-direction: column;
    align-items: stretch;
  }
  .category-thumb {
    width: 100%;
    height: 180px;
  }
}

@media (max-width: 980px) {
  .site-footer-top {
    grid-template-columns: 1fr;
  }
  .footer-contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  :root { --shell: min(100vw - 24px, 100%); }
  html { scroll-padding-top: 148px; }
  .site-header-inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.85rem;
  }
  .lang-switcher { align-self: stretch; }
  .hero-shell-inner { padding: 3.4rem 0 2.2rem; }
  .hero-title { max-width: 100%; }
  .showcase-card,
  .menu-showcase-card,
  .item-card,
  .category-preview-card,
  .legend-card {
    border-radius: 22px;
  }
  .showcase-body,
  .item-body,
  .category-preview-body,
  .legend-card,
  .popup-body { padding: 1rem; }
  .showcase-media,
  .menu-showcase-media { min-height: 210px; max-height: 250px; }
  .item-media { aspect-ratio: 16 / 9; }
  .showcase-topline { gap: 0.4rem; }
  .site-footer-card { padding: 1rem; }
  .site-footer-bottom { align-items: flex-start; }
  .metric-pill,
  .tag,
  .allergen-badge { transform: translateZ(0); }
  .item-title { line-height: 1.06; }
  .item-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .item-meta-stack { text-align: left; }
  .item-footer-row { align-items: flex-start; }
}

@media (max-width: 720px) {
  .hero-actions,
  .card-actions {
    width: 100%;
  }

  .hero-actions .button-primary,
  .hero-actions .button-secondary,
  .card-actions .button-primary,
  .card-actions .button-secondary,
  .card-actions .button-link.inline-link {
    flex: 1 1 100%;
    width: 100%;
  }

  .category-preview-meta {
    align-items: flex-start;
  }
}


.header-controls {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.theme-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-width: 66px;
  height: 38px;
  padding: 0 0.7rem;
  border-radius: 999px;
  border: 1px solid rgba(216, 195, 162, 0.28);
  background: rgba(17, 20, 24, 0.58);
  color: var(--gold-light);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
  cursor: pointer;
  transition: 0.24s ease;
}
.theme-toggle::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(216, 195, 162, 0.32), rgba(176, 138, 87, 0.55));
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
  transition: transform 0.24s ease, background 0.24s ease;
}
.theme-toggle:hover {
  transform: translateY(-1px);
  border-color: rgba(216, 195, 162, 0.42);
}
.theme-icon {
  position: relative;
  z-index: 1;
  font-size: 0.88rem;
  width: 14px;
  text-align: center;
  transition: opacity 0.24s ease, transform 0.24s ease, color 0.24s ease;
}
html[data-theme='dark'] .theme-icon-sun,
html[data-theme='light'] .theme-icon-moon {
  opacity: 0.38;
  transform: scale(0.9);
}
html[data-theme='dark'] .theme-icon-moon,
html[data-theme='light'] .theme-icon-sun {
  opacity: 1;
  transform: scale(1);
}
html[data-theme='dark'] .theme-toggle::after {
  transform: translateX(30px);
}
html[data-theme='light'] .theme-toggle::after {
  transform: translateX(0);
  background: linear-gradient(135deg, rgba(255, 244, 221, 0.9), rgba(229, 188, 108, 0.72));
}

html[data-theme='light'] {
  --black: #f6efe6;
  --deep: #f3ebdf;
  --surface: #fffaf2;
  --surface-strong: #efe3d3;
  --border: rgba(91, 71, 48, 0.12);
  --gold-soft: rgba(176, 138, 87, 0.12);
  --text: #2e2319;
  --muted: #6f6254;
  --dim: #8e7d6b;
  --success: #3f8d67;
  --warning: #b17a2d;
  --page-glow: rgba(176, 138, 87, 0.10);
  --page-top: #fbf5ed;
  --page-bottom: #f2e8da;
}

html[data-theme='light'] body {
  color: var(--text);
}

html[data-theme='light'] .site-header {
  background: rgba(250, 244, 235, 0.88);
  border-bottom-color: rgba(91, 71, 48, 0.08);
}

html[data-theme='light'] .brand-title,
html[data-theme='light'] .section-heading h2,
html[data-theme='light'] .hero-title,
html[data-theme='light'] .footer-brand,
html[data-theme='light'] .category-title,
html[data-theme='light'] .item-title,
html[data-theme='light'] .showcase-body h3,
html[data-theme='light'] .category-preview-body h3,
html[data-theme='light'] .menu-switcher-link.active span {
  color: #45311c;
}

html[data-theme='light'] .hero-shell::after {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.16), rgba(248, 242, 233, 0.35) 35%, rgba(245, 237, 227, 0.92) 100%);
}

html[data-theme='light'] .hero-copy,
html[data-theme='light'] .section-heading p,
html[data-theme='light'] .showcase-body p,
html[data-theme='light'] .brand-subtitle,
html[data-theme='light'] .breadcrumb-link,
html[data-theme='light'] .feature-line,
html[data-theme='light'] .item-description,
html[data-theme='light'] .category-description,
html[data-theme='light'] .footer-line,
html[data-theme='light'] .footer-note,
html[data-theme='light'] .slot-helper,
html[data-theme='light'] .helper-text,
html[data-theme='light'] .item-duration {
  color: var(--muted);
}

html[data-theme='light'] .showcase-card,
html[data-theme='light'] .menu-showcase-card,
html[data-theme='light'] .item-card,
html[data-theme='light'] .category-preview-card,
html[data-theme='light'] .category-banner,
html[data-theme='light'] .menu-switcher-wrap,
html[data-theme='light'] .category-nav-wrap,
html[data-theme='light'] .site-footer-card,
html[data-theme='light'] .soft-panel,
html[data-theme='light'] .promo-card,
html[data-theme='light'] .empty-state {
  background: rgba(255, 250, 242, 0.88);
  border-color: rgba(91, 71, 48, 0.10);
  box-shadow: 0 16px 36px rgba(92, 68, 38, 0.08);
}

html[data-theme='light'] .showcase-media.placeholder,
html[data-theme='light'] .menu-showcase-media.placeholder,
html[data-theme='light'] .category-preview-media.placeholder,
html[data-theme='light'] .media-placeholder {
  background: linear-gradient(180deg, rgba(235, 224, 209, 0.92), rgba(246, 239, 229, 0.96));
  color: #7d6645;
}

html[data-theme='light'] .outline-chip,
html[data-theme='light'] .showcase-chip,
html[data-theme='light'] .metric-pill,
html[data-theme='light'] .tag.neutral,
html[data-theme='light'] .lang-btn,
html[data-theme='light'] .theme-toggle,
html[data-theme='light'] .button-secondary,
html[data-theme='light'] .button-link.inline-link,
html[data-theme='light'] .menu-switcher-link,
html[data-theme='light'] .category-nav a,
html[data-theme='light'] .footer-contact-card {
  background: rgba(255, 247, 237, 0.86);
  color: #6f542f;
  border-color: rgba(176, 138, 87, 0.24);
}

html[data-theme='light'] .tag.success {
  background: rgba(76, 160, 112, 0.10);
  color: #2c6a4d;
  border-color: rgba(76, 160, 112, 0.22);
}

html[data-theme='light'] .tag.warning {
  background: rgba(194, 133, 42, 0.10);
  color: #8a5c13;
  border-color: rgba(194, 133, 42, 0.20);
}

html[data-theme='light'] .button-primary,
html[data-theme='light'] .popup-button {
  color: #1b150f;
  box-shadow: 0 14px 24px rgba(176, 138, 87, 0.16);
}

html[data-theme='light'] a:focus-visible,
html[data-theme='light'] button:focus-visible,
html[data-theme='light'] [role="button"]:focus-visible {
  box-shadow: 0 0 0 3px rgba(176, 138, 87, 0.14), 0 0 0 1px rgba(120, 83, 33, 0.32);
}

html[data-theme='light'] .footer-contact-icon {
  background: rgba(176, 138, 87, 0.10);
  border-color: rgba(176, 138, 87, 0.18);
  color: #8b6532;
}
html[data-theme='light'] .site-footer-bottom {
  border-top-color: rgba(91, 71, 48, 0.10);
}

html[data-theme='light'] .item-price {
  color: #8c6230;
}

html[data-theme='light'] .item-card.no-media .item-body,
html[data-theme='light'] .item-body.is-text-only {
  background: transparent;
}

@media (max-width: 780px) {
  .site-header-inner {
    position: relative;
    padding-right: 84px;
  }

  .header-controls {
    width: 100%;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .theme-toggle {
    position: absolute;
    top: 0.95rem;
    right: max(0px, env(safe-area-inset-right));
    z-index: 2;
  }

  .lang-switcher {
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
  }
}
