/*
 * Restaurant page styles for all 10 designs — copied unchanged from the main app
 * (app/globals.css, from the "Public store: restaurant" comment to the end of the file).
 * Do not edit here: when the designs change in the app, copy that section again.
 * The active design is chosen by the data-store-design attribute set in app.js.
 */
/* Public store: restaurant — food-delivery style */
.store-page-restaurant {
  --bg: #fffaf5;
  --surface: #ffffff;
  --surface2: #faf3ea;
  --border: rgba(23, 23, 23, 0.07);
  --accent: #ff6b35;
  --accent2: #f0521e;
  --text: #1a1a1a;
  --muted: #7a746e;
  --shadow-sm: 0 1px 2px rgba(26, 18, 10, 0.04), 0 1px 1px rgba(26, 18, 10, 0.02);
  --shadow-md: 0 2px 8px rgba(26, 18, 10, 0.05), 0 6px 20px rgba(26, 18, 10, 0.05);
  --shadow-lg: 0 4px 12px rgba(26, 18, 10, 0.06), 0 16px 40px rgba(26, 18, 10, 0.08);
  --store-header-h: 3.75rem;
  min-height: 100vh;
  color: var(--text);
  background-color: var(--bg);
}

[data-store-type='restaurant'] {
  font-family: var(--font-ibm-arabic), var(--font-plus-jakarta), system-ui, sans-serif;
  line-height: 1.55;
  text-rendering: optimizeLegibility;
}

.store-page-restaurant .store-restaurant-menu-heading {
  font-family: var(--font-ibm-arabic), var(--font-plus-jakarta), system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.store-page-restaurant .store-emenu-kicker {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--accent2);
}

/* Sticky minimal header */
.store-page-restaurant .store-header-minimal {
  position: sticky;
  top: 0;
  z-index: 20;
  height: var(--store-header-h, 3.75rem);
  border-bottom: 1px solid transparent;
  background: color-mix(in srgb, var(--surface) 82%, transparent);
  backdrop-filter: saturate(1.4) blur(14px);
  -webkit-backdrop-filter: saturate(1.4) blur(14px);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.store-page-restaurant .store-header-minimal[data-compact='true'] {
  border-bottom-color: var(--border);
  box-shadow: 0 6px 20px rgba(26, 18, 10, 0.05);
}

.store-page-restaurant .store-header-brand {
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.store-page-restaurant .store-header-minimal[data-compact='false'] .store-header-brand {
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
}

.store-page-restaurant .store-header-minimal-inner {
  height: 100%;
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.store-page-restaurant .store-header-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  border-radius: 9999px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  transition: background 0.15s ease;
}

.store-page-restaurant .store-header-icon-btn:hover {
  background: var(--surface2);
}

.store-page-restaurant .store-header-icon-btn--accent {
  position: relative;
  border-color: transparent;
  background: var(--accent);
  color: var(--on-accent);
}

.store-page-restaurant .store-header-logo-placeholder {
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  border-radius: 0.75rem;
  border: 1px solid var(--border);
  background: var(--surface2);
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
}

.store-page-restaurant .store-header-name {
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.store-page-restaurant .store-header-sub {
  margin-top: 0.1rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--muted);
}

.store-page-restaurant .store-header-cart-badge {
  position: absolute;
  top: -0.35rem;
  inset-inline-end: -0.35rem;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.25rem;
  border-radius: 9999px;
  background: #fff;
  color: var(--accent2);
  font-size: 0.625rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--accent);
}

/* Main content — flat, no framed sheet */
.store-page-restaurant .store-emenu-main {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0.75rem 1rem 2.5rem;
}

/* Hero */
.store-page-restaurant .store-emenu-hero {
  position: relative;
  margin-bottom: 1.25rem;
  overflow: hidden;
  border-radius: 1.5rem;
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-md);
}

.store-page-restaurant .store-emenu-hero-banner {
  height: 7.5rem;
  background:
    radial-gradient(circle at 18% 120%, rgba(255, 255, 255, 0.28) 0 18%, transparent 19%),
    radial-gradient(circle at 88% -30%, rgba(255, 255, 255, 0.22) 0 26%, transparent 27%),
    radial-gradient(rgba(255, 255, 255, 0.16) 1.2px, transparent 1.6px) 0 0 / 16px 16px,
    linear-gradient(135deg, var(--accent) 0%, var(--accent2) 100%);
}

@media (min-width: 640px) {
  .store-page-restaurant .store-emenu-hero-banner {
    height: 9.5rem;
  }
}

/* Owner-uploaded cover photo replaces the default gradient. */
.store-page-restaurant .store-emenu-hero-banner--photo {
  height: 9.5rem;
  background: var(--surface2, var(--border));
}

.store-page-restaurant .store-emenu-hero-cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 640px) {
  .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 14rem;
  }
}

.store-page-restaurant .store-emenu-hero-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 1.25rem 1.25rem;
}

.store-page-restaurant .store-emenu-hero-logo {
  position: relative;
  width: 5.5rem;
  height: 5.5rem;
  margin-top: -2.75rem;
  border-radius: 1.5rem;
  object-fit: cover;
  background: var(--surface);
  border: 4px solid var(--surface);
  box-shadow: var(--shadow-lg);
}

.store-page-restaurant .store-emenu-hero-logo--ph {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent2);
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
}

.store-page-restaurant .store-emenu-hero-name {
  margin-top: 0.75rem;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--text);
}

.store-page-restaurant .store-emenu-hero-desc {
  max-width: 32rem;
  margin-top: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--muted);
}

.store-page-restaurant .store-emenu-hero-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.875rem;
}

.store-page-restaurant .store-emenu-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text);
  background: var(--surface2);
  border-radius: 9999px;
  transition: transform 0.12s ease, filter 0.15s ease;
}

.store-page-restaurant .store-emenu-chip svg {
  color: var(--accent2);
}

.store-page-restaurant .store-emenu-chip--action {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}

.store-page-restaurant .store-emenu-chip--whatsapp {
  color: #fff;
  background: #25d366;
}

.store-page-restaurant .store-emenu-chip--whatsapp svg {
  color: #fff;
}

.store-page-restaurant .store-social {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.store-page-restaurant .store-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 9999px;
  box-shadow: var(--shadow-sm);
  transition: transform 0.12s ease, color 0.15s ease, border-color 0.15s ease;
}

.store-page-restaurant .store-social-link:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.store-page-restaurant .store-social-link:active {
  transform: scale(0.94);
}

.store-page-restaurant button.store-emenu-chip:hover {
  filter: brightness(0.97);
}

.store-page-restaurant button.store-emenu-chip:active {
  transform: scale(0.96);
}

.store-page-restaurant .store-emenu-hint {
  font-size: 0.8125rem;
  color: var(--muted);
  margin-bottom: 1rem;
}

.store-page-restaurant .store-emenu-section-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: var(--text);
  margin: 1.75rem 0 0.875rem;
}

.store-page-restaurant .store-emenu-section-title::before {
  content: '';
  width: 0.3125rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: linear-gradient(180deg, var(--accent), var(--accent2));
}

.store-page-restaurant .store-emenu-section-count {
  padding: 0.125rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--muted);
  background: var(--surface2);
  border-radius: 9999px;
}

.store-page-restaurant .store-emenu-section-title:first-child {
  margin-top: 0.5rem;
}

.store-page-restaurant .store-emenu-search {
  width: 100%;
  border-radius: 9999px;
  border: 1px solid var(--border);
  background: var(--surface);
  padding: 0.875rem 0.875rem 0.875rem 2.5rem;
  font-size: 0.9375rem;
  color: var(--text);
  outline: none;
  box-shadow: var(--shadow-sm);
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.store-page-restaurant .store-emenu-search::placeholder {
  color: var(--muted);
}

.store-page-restaurant .store-emenu-search:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);
}

/* Pill category chips */
.store-page-restaurant .store-emenu-search::-webkit-search-cancel-button {
  display: none;
}

.store-page-restaurant .store-emenu-tabs-sticky {
  position: sticky;
  top: var(--store-header-h);
  z-index: 10;
  margin: 0 -1rem 0.5rem;
  padding: 0.625rem 1rem;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.store-page-restaurant .store-emenu-tabs-row {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 0.125rem;
}

.store-page-restaurant .store-emenu-tabs-row::-webkit-scrollbar {
  display: none;
}

.store-page-restaurant .store-emenu-tab {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.875rem 0.5rem 0.625rem;
  min-height: 2.375rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--muted);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 9999px;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(41, 23, 10, 0.04);
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease,
    box-shadow 0.15s ease, transform 0.12s ease;
}

.store-page-restaurant .store-emenu-tab:active {
  transform: scale(0.96);
}

.store-page-restaurant .store-emenu-tab[data-active='true'] {
  color: var(--on-accent);
  font-weight: 700;
  border-color: transparent;
  background: var(--accent2);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--accent) 28%, transparent);
}

.store-page-restaurant .store-emenu-tab-count {
  min-width: 1.375rem;
  padding: 0.0625rem 0.375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-align: center;
  border-radius: 9999px;
  background: var(--surface2);
  color: var(--muted);
}

.store-page-restaurant .store-emenu-tab[data-active='true'] .store-emenu-tab-count {
  background: rgba(255, 255, 255, 0.24);
  color: var(--on-accent);
}

.store-page-restaurant .store-emenu-badge {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--muted);
  border-radius: 9999px;
  background: var(--surface2);
}

.store-page-restaurant .store-emenu-badge[data-variant='warn'] {
  color: #a16207;
  background: #fef9c3;
}

.store-page-restaurant .store-emenu-badge[data-variant='danger'] {
  color: #b91c1c;
  background: #fee2e2;
}

.store-page-restaurant .store-emenu-badge[data-variant='ok'] {
  color: #12805c;
  background: #e2f5ec;
}

/* Dish cards — vertical with big image */
.store-page-restaurant .store-emenu-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.875rem;
}

@media (min-width: 640px) {
  .store-page-restaurant .store-emenu-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .store-page-restaurant .store-emenu-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.125rem;
  }
}

.store-page-restaurant .store-emenu-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: inherit;
  text-align: right;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

@media (hover: hover) {
  .store-page-restaurant .store-emenu-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--accent) 25%, var(--border));
    box-shadow: var(--shadow-lg);
  }

  .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img img {
    transform: scale(1.05);
  }
}

.store-page-restaurant .store-emenu-card:not(.store-emenu-card--unavailable):active {
  transform: scale(0.985);
  box-shadow: 0 2px 8px rgba(41, 23, 10, 0.06);
}

.store-page-restaurant .store-emenu-card--unavailable {
  opacity: 0.55;
  pointer-events: none;
}

.store-page-restaurant .store-emenu-card-media {
  display: block;
  width: 100%;
}

.store-page-restaurant .store-emenu-card-img {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--surface2);
}

.store-page-restaurant .store-emenu-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.store-page-restaurant .store-emenu-card-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: color-mix(in srgb, var(--accent) 55%, var(--muted));
  background:
    radial-gradient(color-mix(in srgb, var(--accent) 14%, transparent) 1px, transparent 1.5px) 0 0 / 14px 14px,
    linear-gradient(145deg, color-mix(in srgb, var(--accent) 10%, var(--surface2)), var(--surface2));
}

.store-page-restaurant .store-emenu-card-incart {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  padding: 0.2rem 0.55rem;
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--on-accent);
  border-radius: 9999px;
  background: var(--accent2);
  box-shadow: 0 4px 10px color-mix(in srgb, var(--accent) 35%, transparent);
}

.store-page-restaurant .store-emenu-card-badge {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  display: inline-block;
  padding: 0.2rem 0.55rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--muted);
  border-radius: 9999px;
  background: var(--surface);
  box-shadow: 0 2px 8px rgba(41, 23, 10, 0.08);
}

.store-page-restaurant .store-emenu-card-badge[data-variant='warn'] {
  color: #a16207;
  background: #fef9c3;
}

.store-page-restaurant .store-emenu-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0.75rem 0.875rem 0.875rem;
}

.store-page-restaurant .store-emenu-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: auto;
  padding-top: 0.75rem;
}

.store-page-restaurant .store-emenu-card-name {
  min-width: 0;
  font-size: 0.96875rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--text);
  line-height: 1.32;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.store-page-restaurant .store-emenu-card-add {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  border-radius: 0.875rem;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color: var(--on-accent);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--accent) 28%, transparent);
  transition: transform 0.12s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  filter: brightness(1.06);
}

.store-page-restaurant .store-emenu-card-add:not(:disabled):active {
  transform: scale(0.92);
}

.store-page-restaurant .store-emenu-card-add:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  box-shadow: none;
}

.store-page-restaurant .store-emenu-card-desc {
  margin-top: 0.35rem;
  font-size: 0.72rem;
  color: var(--muted);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.store-page-restaurant .store-emenu-card-price {
  min-width: 0;
  font-size: 0.9375rem;
  white-space: nowrap;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--accent2);
}

.store-page-restaurant .store-emenu-card-price--muted {
  color: var(--muted);
  font-weight: 600;
  font-size: 0.8125rem;
}

.store-page-restaurant .store-emenu-section {
  scroll-margin-top: calc(var(--store-header-h) + 3.75rem);
}

.store-page-restaurant .store-emenu-load-more-btn {
  width: 100%;
  margin-top: 1.25rem;
  padding: 0.875rem 1rem;
  min-height: 3rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--accent2);
  background: var(--surface);
  border: 1.5px solid color-mix(in srgb, var(--accent) 45%, transparent);
  border-radius: 9999px;
  box-shadow: 0 2px 8px rgba(23, 23, 23, 0.04);
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.store-page-restaurant .store-emenu-load-more-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}

/* Skeletons */
.store-page-restaurant .store-emenu-skeleton-search {
  height: 3rem;
  border-radius: 9999px;
  background: var(--surface2);
  animation: store-emenu-shimmer 1.2s ease-in-out infinite;
}

.store-page-restaurant .store-emenu-skeleton-logo {
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  border-radius: 0.75rem;
  background: var(--surface2);
  animation: store-emenu-shimmer 1.2s ease-in-out infinite;
}

.store-page-restaurant .store-emenu-skeleton-chip {
  animation: store-emenu-shimmer 1.2s ease-in-out infinite;
}

.store-page-restaurant .store-emenu-skeleton-tab {
  height: 2.375rem;
  width: 5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  background: var(--surface2);
  animation: store-emenu-shimmer 1.2s ease-in-out infinite;
}

.store-page-restaurant .store-emenu-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.875rem;
}

@media (min-width: 640px) {
  .store-page-restaurant .store-emenu-skeleton-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .store-page-restaurant .store-emenu-skeleton-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.store-page-restaurant .store-emenu-skeleton-card {
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 1.125rem;
  box-shadow: var(--shadow-sm);
}

.store-page-restaurant .store-emenu-skeleton-card-img {
  aspect-ratio: 1.05 / 1;
  background: var(--surface2);
  animation: store-emenu-shimmer 1.2s ease-in-out infinite;
}

.store-page-restaurant .store-emenu-skeleton-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.875rem;
}

.store-page-restaurant .store-emenu-skeleton-line {
  height: 0.75rem;
  border-radius: 0.25rem;
  background: var(--surface2);
  animation: store-emenu-shimmer 1.2s ease-in-out infinite;
}

.store-page-restaurant .store-emenu-skeleton-line--short {
  width: 55%;
}

/* Legacy aliases used in wallet/loading shells */
.store-page-restaurant .store-emenu-sheet {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  padding: 1rem;
}

@keyframes store-emenu-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* Catalog (non-restaurant) loading — uses .store-page-dark CSS variables */
.store-page-dark .store-catalog-loading-sheet {
  padding: 1.25rem 1.125rem 1.75rem;
  border-radius: 1.5rem;
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 10px 40px rgba(9, 11, 20, 0.35);
}

.store-page-dark .store-catalog-loading-kicker {
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  color: var(--muted);
}

.store-page-dark .store-catalog-skeleton-search {
  height: 2.5rem;
  border-radius: 0.75rem;
  background: linear-gradient(
    90deg,
    var(--surface2) 0%,
    rgba(129, 140, 248, 0.12) 50%,
    var(--surface2) 100%
  );
  background-size: 200% 100%;
  animation: store-emenu-shimmer 1.2s ease-in-out infinite;
}

.store-page-dark .store-catalog-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

.store-page-dark .store-catalog-skeleton-card {
  aspect-ratio: 3 / 4;
  border-radius: 1rem;
  border: 1px solid var(--border);
  background: var(--surface2);
  animation: store-emenu-shimmer 1.2s ease-in-out infinite;
}

@layer utilities {
  .text-balance {
    text-wrap: balance;
  }

  .scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .scrollbar-hide::-webkit-scrollbar {
    display: none;
  }

  /* Store page: warm background */
  .store-page-bg {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 50%, #f8fafc 100%);
    min-height: 100vh;
  }
}


/* ── Restaurant dish details (RestaurantProductModal) ── */
@keyframes store-dish-sheet-in {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

@keyframes store-dish-pop-in {
  from { opacity: 0; transform: translateY(12px) scale(0.97); }
  to { opacity: 1; transform: none; }
}

@keyframes store-dish-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.store-page-restaurant.store-dish-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  min-height: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: transparent;
}

.store-page-restaurant .store-dish-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 12, 6, 0.55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  animation: store-dish-fade-in 0.2s ease both;
}

.store-page-restaurant .store-dish-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: 92dvh;
  overflow: hidden;
  background: var(--surface);
  border-radius: 1.75rem 1.75rem 0 0;
  box-shadow: 0 -10px 40px rgba(20, 12, 6, 0.2);
  animation: store-dish-sheet-in 0.32s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.store-page-restaurant .store-dish-handle {
  position: absolute;
  top: 0.5rem;
  left: 50%;
  z-index: 3;
  width: 2.5rem;
  height: 0.3rem;
  transform: translateX(-50%);
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.store-page-restaurant .store-dish-close {
  position: absolute;
  top: 0.875rem;
  left: 0.875rem;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.95);
  color: var(--text);
  box-shadow: 0 4px 14px rgba(20, 12, 6, 0.18);
  transition: transform 0.12s ease;
}

.store-page-restaurant .store-dish-close:active {
  transform: scale(0.92);
}

.store-page-restaurant .store-dish-loading {
  display: flex;
  min-height: 320px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

/* Mobile: the whole body scrolls (image scrolls away), footer sticks to the bottom */
.store-page-restaurant .store-dish-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.store-page-restaurant .store-dish-media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--surface2);
}

.store-page-restaurant .store-dish-gallery {
  display: flex;
  width: 100%;
  height: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.store-page-restaurant .store-dish-gallery::-webkit-scrollbar {
  display: none;
}

.store-page-restaurant .store-dish-gallery img {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  scroll-snap-align: start;
  user-select: none;
}

.store-page-restaurant .store-dish-media-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: color-mix(in srgb, var(--accent) 55%, var(--muted));
  background:
    radial-gradient(color-mix(in srgb, var(--accent) 14%, transparent) 1px, transparent 1.5px) 0 0 / 16px 16px,
    linear-gradient(145deg, color-mix(in srgb, var(--accent) 12%, var(--surface2)), var(--surface2));
}

.store-page-restaurant .store-dish-status {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0.3rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 800;
  color: #fff;
  border-radius: 9999px;
  background: rgba(20, 12, 6, 0.75);
}

.store-page-restaurant .store-dish-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  transform: translateY(-50%);
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  box-shadow: 0 4px 12px rgba(20, 12, 6, 0.15);
}

@media (hover: hover) {
  .store-page-restaurant .store-dish-arrow {
    display: flex;
  }
}

.store-page-restaurant .store-dish-arrow--prev { left: 0.875rem; }
.store-page-restaurant .store-dish-arrow--next { right: 0.875rem; }

.store-page-restaurant .store-dish-dots {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  display: flex;
  gap: 0.375rem;
  padding: 0.3rem 0.5rem;
  transform: translateX(-50%);
  border-radius: 9999px;
  background: rgba(20, 12, 6, 0.3);
}

.store-page-restaurant .store-dish-dots button {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.55);
  transition: width 0.2s ease, background 0.2s ease;
}

.store-page-restaurant .store-dish-dots button[data-active='true'] {
  width: 1.125rem;
  background: #fff;
}

.store-page-restaurant .store-dish-details {
  display: flex;
  flex-direction: column;
}

.store-page-restaurant .store-dish-scroll {
  padding: 1.25rem 1.25rem 0.5rem;
}

.store-page-restaurant .store-dish-name {
  font-size: 1.375rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--text);
}

.store-page-restaurant .store-dish-price {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-top: 0.375rem;
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--accent2);
}

.store-page-restaurant .store-dish-price--muted {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--muted);
}

.store-page-restaurant .store-dish-price-old {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--muted);
  text-decoration: line-through;
}

.store-page-restaurant .store-dish-desc {
  margin-top: 0.75rem;
  font-size: 0.9rem;
  line-height: 1.7;
  color: var(--muted);
  white-space: pre-line;
}

.store-page-restaurant .store-dish-group {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--border);
}

.store-page-restaurant .store-dish-group-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.625rem;
}

.store-page-restaurant .store-dish-group-head h3 {
  font-size: 1rem;
  font-weight: 800;
  color: var(--text);
}

.store-page-restaurant .store-dish-group-head p {
  margin-top: 0.125rem;
  font-size: 0.75rem;
  color: var(--muted);
}

.store-page-restaurant .store-dish-tag {
  flex-shrink: 0;
  padding: 0.25rem 0.625rem;
  font-size: 0.6875rem;
  font-weight: 800;
  border-radius: 9999px;
  color: var(--muted);
  background: var(--surface2);
}

.store-page-restaurant .store-dish-tag[data-variant='required'] {
  color: var(--accent2);
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
}

.store-page-restaurant .store-dish-tag[data-variant='done'] {
  color: #12805c;
  background: #e2f5ec;
}

.store-page-restaurant .store-dish-options {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.store-page-restaurant .store-dish-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  min-height: 3.25rem;
  padding: 0.625rem 0.875rem;
  text-align: right;
  border: 1.5px solid var(--border);
  border-radius: 1rem;
  background: var(--surface);
  transition: border-color 0.15s ease, background 0.15s ease;
}

.store-page-restaurant .store-dish-option:hover {
  border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
}

.store-page-restaurant .store-dish-option[data-selected='true'] {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}

.store-page-restaurant .store-dish-option-mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid color-mix(in srgb, var(--muted) 55%, transparent);
  border-radius: 9999px;
  color: var(--on-accent);
  transition: border-color 0.15s ease, background 0.15s ease;
}

.store-page-restaurant .store-dish-option-mark[data-type='checkbox'] {
  border-radius: 0.375rem;
}

.store-page-restaurant .store-dish-option[data-selected='true'] .store-dish-option-mark {
  border-color: var(--accent2);
}

.store-page-restaurant .store-dish-option[data-selected='true'] .store-dish-option-mark[data-type='checkbox'] {
  background: var(--accent2);
}

.store-page-restaurant .store-dish-option-mark[data-type='radio'] > span {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 9999px;
  background: var(--accent2);
}

.store-page-restaurant .store-dish-option-label {
  flex: 1;
  min-width: 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--text);
}

.store-page-restaurant .store-dish-option-label small {
  display: block;
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--muted);
}

.store-page-restaurant .store-dish-option-price {
  flex-shrink: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--muted);
}


.store-page-restaurant .store-dish-footer {
  position: sticky;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.75rem;
  padding: 0.875rem 1.25rem max(0.875rem, env(safe-area-inset-bottom));
  border-top: 1px solid var(--border);
  background: var(--surface);
}

.store-page-restaurant .store-dish-stepper {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem;
  border-radius: 9999px;
  background: var(--surface2);
}

.store-page-restaurant .store-dish-stepper button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  background: var(--surface);
  color: var(--accent2);
  box-shadow: var(--shadow-sm);
  transition: transform 0.12s ease, opacity 0.15s ease;
}

.store-page-restaurant .store-dish-stepper button:not(:disabled):active {
  transform: scale(0.9);
}

.store-page-restaurant .store-dish-stepper button:disabled {
  opacity: 0.35;
  box-shadow: none;
}

.store-page-restaurant .store-dish-stepper span {
  min-width: 1.75rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 800;
  color: var(--text);
}

.store-page-restaurant .store-dish-cta {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
  min-height: 3.25rem;
  padding: 0 0.625rem 0 1rem;
  font-size: 0.9375rem;
  font-weight: 800;
  white-space: nowrap;
  color: var(--on-accent);
  border-radius: 9999px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 8px 20px color-mix(in srgb, var(--accent) 32%, transparent);
  transition: transform 0.12s ease, filter 0.15s ease;
}

.store-page-restaurant .store-dish-cta:not(:disabled):hover {
  filter: brightness(1.05);
}

.store-page-restaurant .store-dish-cta:not(:disabled):active {
  transform: scale(0.98);
}

.store-page-restaurant .store-dish-cta:disabled {
  justify-content: center;
  background: var(--surface2);
  color: var(--muted);
  box-shadow: none;
}

.store-page-restaurant .store-dish-cta-total {
  padding: 0.25rem 0.625rem;
  font-size: 0.875rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.2);
}

/* Tablet+: centered dialog */
@media (min-width: 640px) {
  .store-page-restaurant.store-dish-overlay {
    align-items: center;
    padding: 1.5rem;
  }

  .store-page-restaurant .store-dish-panel {
    max-width: 32rem;
    max-height: 90dvh;
    border-radius: 1.75rem;
    box-shadow: 0 24px 60px rgba(20, 12, 6, 0.3);
    animation: store-dish-pop-in 0.25s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .store-page-restaurant .store-dish-handle {
    display: none;
  }
}

/* Desktop: image beside the details */
@media (min-width: 900px) {
  .store-page-restaurant .store-dish-panel {
    max-width: 56rem;
    max-height: min(40rem, 90dvh);
  }

  .store-page-restaurant .store-dish-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
  }

  .store-page-restaurant .store-dish-media {
    aspect-ratio: auto;
    height: 100%;
    min-height: 26rem;
  }

  .store-page-restaurant .store-dish-details {
    min-height: 0;
  }

  .store-page-restaurant .store-dish-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 1.75rem 1.75rem 1rem;
  }

  .store-page-restaurant .store-dish-name {
    padding-inline-end: 2.75rem;
  }

  .store-page-restaurant .store-dish-footer {
    position: static;
    margin-top: 0;
    padding: 1rem 1.75rem 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .store-page-restaurant .store-dish-panel,
  .store-page-restaurant .store-dish-backdrop {
    animation: none;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   Restaurant page designs (settings.storeDesign, see lib/storeDesign.ts).
   'classic' is the base .store-page-restaurant styling above; the designs
   below only override it.
   ══════════════════════════════════════════════════════════════════════ */

/* ── Design: menu — clean white list, dish photo beside the text ── */
[data-store-design='menu'] .store-page-restaurant {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface2: #f3f5f4;
  --border: rgba(17, 24, 39, 0.09);
  --accent: #0f9960;
  --accent2: #0a7a4d;
  --text: #121614;
  --muted: #6b7370;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-main {
  max-width: 56rem;
  padding-top: 0;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero {
  margin: 0 -1rem 1rem;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  box-shadow: none;
}

@media (min-width: 640px) {
  [data-store-design='menu'] .store-page-restaurant .store-emenu-hero {
    margin: 0 0 1.25rem;
    border: 1px solid var(--border);
    border-radius: 1rem;
  }
}

/* Hero: short cover strip, logo beside the name instead of stacked */
[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-banner {
  height: 5.5rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 7.5rem;
}

@media (min-width: 640px) {
  [data-store-design='menu'] .store-page-restaurant .store-emenu-hero-banner {
    height: 7rem;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 11rem;
  }
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 0.875rem;
  align-items: start;
  justify-items: start;
  text-align: start;
  padding: 0 1rem 1.125rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-logo {
  grid-row: 1 / span 2;
  width: 5rem;
  height: 5rem;
  margin-top: -1.5rem;
  border-radius: 1rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-name {
  margin-top: 0.625rem;
  font-size: 1.5rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-desc {
  grid-column: 2;
  margin-top: 0.125rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-chips {
  grid-column: 1 / -1;
  justify-content: flex-start;
}

[data-store-design='menu'] .store-page-restaurant .store-social {
  grid-column: 1 / -1;
  justify-content: flex-start;
}

/* Banners: separate rounded cards, the next one peeking in */
[data-store-design='menu'] .store-page-restaurant .store-banners-track {
  gap: 0.75rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}

[data-store-design='menu'] .store-page-restaurant .store-banner-slide {
  width: 86%;
  overflow: hidden;
  border-radius: 1rem;
  background: var(--surface2);
}

[data-store-design='menu'] .store-page-restaurant .store-banner-slide:only-child {
  width: 100%;
}

@media (min-width: 640px) {
  [data-store-design='menu'] .store-page-restaurant .store-banner-slide {
    width: 62%;
    aspect-ratio: 2.2 / 1;
  }

  [data-store-design='menu'] .store-page-restaurant .store-banner-slide:only-child {
    aspect-ratio: 3.4 / 1;
  }
}

[data-store-design='menu'] .store-page-restaurant .store-banner-title {
  top: 0.75rem;
  right: 0.75rem;
  bottom: auto;
  left: auto;
  max-width: calc(100% - 1.5rem);
  padding: 0.3rem 0.75rem;
  font-size: 0.75rem;
  color: var(--text);
  border-radius: 9999px;
  background: var(--surface);
  box-shadow: 0 2px 10px rgba(17, 24, 39, 0.18);
}

[data-store-design='menu'] .store-page-restaurant .store-banner-dots {
  justify-content: flex-start;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-chip {
  border-radius: 0.5rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-search {
  border-color: transparent;
  border-radius: 0.875rem;
  background: var(--surface2);
  box-shadow: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-search:focus {
  border-color: var(--accent);
  background: var(--surface);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 15%, transparent);
}

/* Underlined tabs instead of pills */
[data-store-design='menu'] .store-page-restaurant .store-emenu-tabs-sticky {
  padding: 0 1rem;
  border-bottom: 1px solid var(--border);
  background: color-mix(in srgb, var(--bg) 94%, transparent);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-tabs-row {
  gap: 1.375rem;
  padding-bottom: 0;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-tab {
  min-height: 2.875rem;
  padding: 0.75rem 0 0.625rem;
  font-size: 0.875rem;
  background: transparent;
  border: 0;
  border-bottom: 2.5px solid transparent;
  border-radius: 0;
  box-shadow: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  color: var(--text);
  background: transparent;
  border-bottom-color: var(--accent);
  box-shadow: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-tab-count,
[data-store-design='menu'] .store-page-restaurant .store-emenu-tab[data-active='true'] .store-emenu-tab-count {
  min-width: 0;
  padding: 0;
  font-weight: 600;
  background: transparent;
  color: var(--muted);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-section-title {
  margin: 1.5rem 0 0.25rem;
  font-size: 1.125rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-section-title::before {
  display: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-section-count {
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  background: transparent;
}

/* Dish rows: text first, photo at the end with the add button on its corner */
[data-store-design='menu'] .store-page-restaurant .store-emenu-list {
  grid-template-columns: 1fr;
  gap: 0;
}

@media (min-width: 768px) {
  [data-store-design='menu'] .store-page-restaurant .store-emenu-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 2rem;
  }
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card {
  flex-direction: row-reverse;
  gap: 0.875rem;
  padding: 0.875rem 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  box-shadow: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card:hover {
  transform: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-media {
  flex-shrink: 0;
  width: auto;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-img {
  width: 7rem;
  aspect-ratio: 1;
  border-radius: 0.875rem;
}

@media (min-width: 640px) {
  [data-store-design='menu'] .store-page-restaurant .store-emenu-card-img {
    width: 8rem;
  }
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-body {
  min-width: 0;
  padding: 0;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-footer {
  padding-top: 0.5rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-add {
  position: absolute;
  bottom: 1.25rem;
  inset-inline-end: 0.375rem;
  width: 2.125rem;
  height: 2.125rem;
  border-radius: 9999px;
  background: var(--surface);
  color: var(--accent2);
  box-shadow: 0 2px 10px rgba(17, 24, 39, 0.22);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card--unavailable .store-emenu-card-add {
  display: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-incart {
  top: 0.375rem;
  right: 0.375rem;
  bottom: auto;
  font-size: 0.625rem;
  box-shadow: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-badge {
  top: auto;
  bottom: 0.375rem;
  left: 0.375rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-load-more-btn {
  border-radius: 0.875rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-skeleton-search {
  border-radius: 0.875rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-skeleton-grid {
  grid-template-columns: 1fr;
  gap: 0;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-skeleton-card {
  display: flex;
  flex-direction: row-reverse;
  gap: 0.875rem;
  padding: 0.875rem 0;
  border: 0;
  border-bottom: 1px solid var(--border);
  border-radius: 0;
  box-shadow: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-skeleton-card-img {
  flex-shrink: 0;
  width: 7rem;
  aspect-ratio: 1;
  border-radius: 0.875rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-skeleton-card-body {
  flex: 1;
  justify-content: center;
  padding: 0;
}

[data-store-design='menu'] .store-page-restaurant .store-dish-panel {
  border-radius: 1.25rem 1.25rem 0 0;
}

@media (min-width: 640px) {
  [data-store-design='menu'] .store-page-restaurant .store-dish-panel {
    border-radius: 1.25rem;
  }
}

[data-store-design='menu'] .store-page-restaurant .store-dish-option {
  border-radius: 0.75rem;
}

[data-store-design='menu'] .store-page-restaurant .store-dish-cta {
  border-radius: 0.875rem;
  background: var(--accent2);
  box-shadow: none;
}

[data-store-design='menu'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
}

/* ── Design: noir — dark, gold accents, centered section titles ── */
[data-store-design='noir'] .store-page-restaurant {
  color-scheme: dark;
  --bg: #0f0e0c;
  --surface: #191714;
  --surface2: #24211d;
  --border: rgba(255, 244, 224, 0.1);
  --accent: #e0b25c;
  --accent2: #d2a047;
  --on-accent: #1a1509;
  --text: #f5efe4;
  --muted: #a69d8f;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 6px 20px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.5);
}

[data-store-design='noir'] .store-page-restaurant .store-header-minimal[data-compact='true'] {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero {
  border-radius: 1rem;
}

/* Hero: logo, name and chips sit on top of the cover photo */
[data-store-design='noir'] .store-page-restaurant .store-emenu-hero {
  display: grid;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero > * {
  grid-area: 1 / 1;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-body {
  position: relative;
  align-self: end;
  padding-top: 4.5rem;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-logo {
  margin-top: 0;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-cover {
  position: absolute;
  inset: 0;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-banner {
  height: auto;
  min-height: 13rem;
  background:
    radial-gradient(ellipse 80% 130% at 50% 0%, color-mix(in srgb, var(--accent) 34%, transparent), transparent 70%),
    var(--surface2);
}

/* Cover photo darkens toward the bottom so the name reads on top of it */
[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-banner--photo {
  position: relative;
  height: auto;
  min-height: 17rem;
  background: var(--surface2);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-banner--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 14, 12, 0.2) 0%, rgba(15, 14, 12, 0.72) 55%, var(--surface) 100%);
}

@media (min-width: 640px) {
  [data-store-design='noir'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: auto;
    min-height: 22rem;
  }
}

/* Banners: wide framed slides with a thin gold inner border */
[data-store-design='noir'] .store-page-restaurant .store-banners-track {
  border-color: color-mix(in srgb, var(--accent) 35%, transparent);
  border-radius: 0.5rem;
}

@media (min-width: 640px) {
  [data-store-design='noir'] .store-page-restaurant .store-banner-slide {
    aspect-ratio: 21 / 8;
  }
}

[data-store-design='noir'] .store-page-restaurant .store-banner-slide::after {
  content: '';
  position: absolute;
  inset: 0.5rem;
  border: 1px solid color-mix(in srgb, var(--accent) 60%, transparent);
  border-radius: 0.25rem;
  pointer-events: none;
}

[data-store-design='noir'] .store-page-restaurant .store-banner-title {
  padding-bottom: 1.25rem;
  font-size: 1rem;
  text-align: center;
}

[data-store-design='noir'] .store-page-restaurant .store-banner-dot {
  width: 1rem;
  height: 2px;
  border-radius: 0;
}

[data-store-design='noir'] .store-page-restaurant .store-banner-dot[data-active='true'] {
  width: 1.75rem;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-logo {
  border: 2px solid var(--accent);
  border-radius: 9999px;
  box-shadow: 0 0 0 5px var(--surface), var(--shadow-lg);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-name::after {
  content: '';
  display: block;
  width: 2.5rem;
  height: 2px;
  margin: 0.625rem auto 0;
  border-radius: 9999px;
  background: var(--accent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-chip {
  background: transparent;
  border: 1px solid var(--border);
  box-shadow: none;
}

[data-store-design='noir'] .store-page-restaurant .store-social-link {
  background: transparent;
  box-shadow: none;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-chip--action {
  border-color: color-mix(in srgb, var(--accent) 45%, transparent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-chip--whatsapp {
  border-color: transparent;
  background: #25d366;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-tab {
  background: transparent;
  box-shadow: none;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  background: var(--accent);
  box-shadow: none;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-tab[data-active='true'] .store-emenu-tab-count {
  background: rgba(0, 0, 0, 0.14);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-section-title {
  justify-content: center;
  gap: 0.875rem;
  margin: 2.25rem 0 1.125rem;
  font-size: 1.1875rem;
  color: var(--accent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::before,
[data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::after {
  content: '';
  flex: 1;
  width: auto;
  height: 1px;
  border-radius: 0;
  background: var(--border);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-section-count {
  display: none;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card {
  border-radius: 0.875rem;
  box-shadow: none;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-img {
  aspect-ratio: 1;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, rgba(15, 14, 12, 0.55));
  pointer-events: none;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-incart,
[data-store-design='noir'] .store-page-restaurant .store-emenu-card-badge {
  z-index: 1;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-price {
  color: var(--accent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-add {
  border: 1.5px solid var(--accent);
  border-radius: 9999px;
  background: transparent;
  color: var(--accent);
  box-shadow: none;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  background: var(--accent);
  color: var(--on-accent);
  filter: none;
}

/* White floating buttons keep dark icons on the dark theme */
[data-store-design='noir'] .store-page-restaurant .store-dish-close,
[data-store-design='noir'] .store-page-restaurant .store-dish-arrow {
  color: #1a1a1a;
}

/* Status colors written for light surfaces in the cart */
[data-store-design='noir'] .store-page-restaurant .text-emerald-700 {
  color: #6ee7b7;
}

[data-store-design='noir'] .store-page-restaurant .text-rose-600 {
  color: #fb7185;
}

/* Product page cards use a white inset highlight meant for light surfaces */
[data-store-design='noir'] .store-page-restaurant [class*='inset_0_1px_0_rgba(255,255,255'] {
  box-shadow: none;
}

/* ── Design: street — burger-joint poster: yellow, black outlines, hard shadows ── */
[data-store-design='street'] .store-page-restaurant {
  --bg: #ffd60a;
  --surface: #ffffff;
  --surface2: #fff3bf;
  --border: #111111;
  --accent: #e63946;
  --accent2: #111111;
  --text: #111111;
  --muted: #4a4a4a;
  --shadow-sm: 3px 3px 0 #111111;
  --shadow-md: 4px 4px 0 #111111;
  --shadow-lg: 6px 6px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 90%, transparent);
}

[data-store-design='street'] .store-page-restaurant .store-header-minimal[data-compact='true'] {
  box-shadow: none;
}

[data-store-design='street'] .store-page-restaurant .store-header-icon-btn {
  border: 2px solid #111111;
  border-radius: 0.5rem;
}

/* Hero: outlined poster card, tilted logo, name on a red label */
[data-store-design='street'] .store-page-restaurant .store-emenu-hero {
  overflow: visible;
  border: 2px solid #111111;
  border-radius: 0.75rem;
  box-shadow: var(--shadow-lg);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-banner {
  overflow: hidden;
  border-bottom: 2px solid #111111;
  border-radius: 0.625rem 0.625rem 0 0;
  background:
    radial-gradient(#111111 1.5px, transparent 2px) 0 0 / 14px 14px,
    var(--accent);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-banner--photo {
  background: var(--surface2);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-logo {
  transform: rotate(-5deg);
  border: 2px solid #111111;
  border-radius: 0.75rem;
  box-shadow: var(--shadow-sm);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-name {
  padding: 0.125rem 0.875rem 0.25rem;
  transform: rotate(-1.5deg);
  font-size: 1.625rem;
  font-weight: 900;
  color: #ffffff;
  background: var(--accent);
  border: 2px solid #111111;
  border-radius: 0.375rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-chip {
  background: var(--surface);
  border: 1.5px solid #111111;
  border-radius: 0.375rem;
  box-shadow: 2px 2px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-social-link {
  border: 1.5px solid #111111;
  border-radius: 0.375rem;
  box-shadow: 2px 2px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-chip svg {
  color: var(--accent);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-chip--whatsapp {
  background: #25d366;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-chip--whatsapp svg {
  color: #ffffff;
}

/* Banners: outlined with a hard shadow, title as a tilted sticker */
[data-store-design='street'] .store-page-restaurant .store-banners {
  padding: 0 6px 6px 0;
}

[data-store-design='street'] .store-page-restaurant .store-banners-track {
  border: 2px solid #111111;
  border-radius: 0.75rem;
  box-shadow: var(--shadow-lg);
}

[data-store-design='street'] .store-page-restaurant .store-banner-title {
  top: 0.75rem;
  right: 0.75rem;
  bottom: auto;
  left: auto;
  max-width: calc(100% - 1.5rem);
  padding: 0.25rem 0.75rem;
  transform: rotate(-3deg);
  font-size: 0.8125rem;
  font-weight: 900;
  color: #111111;
  background: var(--bg);
  border: 2px solid #111111;
  border-radius: 0.375rem;
}

[data-store-design='street'] .store-page-restaurant .store-banner-dot {
  height: 0.5rem;
  border: 1.5px solid #111111;
  border-radius: 0;
  background: var(--surface);
}

[data-store-design='street'] .store-page-restaurant .store-banner-dot[data-active='true'] {
  background: var(--accent);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-search {
  border: 2px solid #111111;
  border-radius: 0.5rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-search:focus {
  border-color: #111111;
  box-shadow: var(--shadow-md);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-tab {
  color: var(--text);
  font-weight: 800;
  border: 2px solid #111111;
  border-radius: 0.5rem;
  box-shadow: 2px 2px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  color: var(--on-accent);
  border-color: #111111;
  box-shadow: 2px 2px 0 var(--accent);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-section-title {
  font-size: 1.375rem;
  font-weight: 900;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-section-title::before {
  width: 0.875rem;
  height: 0.875rem;
  border: 2px solid #111111;
  border-radius: 0;
  background: var(--accent);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-section-count {
  color: var(--text);
  background: var(--surface);
  border: 1.5px solid #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-list {
  gap: 1rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card {
  border: 2px solid #111111;
  border-radius: 0.75rem;
  box-shadow: var(--shadow-md);
}

@media (hover: hover) {
  [data-store-design='street'] .store-page-restaurant .store-emenu-card:hover {
    transform: translate(-2px, -2px);
    border-color: #111111;
    box-shadow: var(--shadow-lg);
  }
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-img {
  border-bottom: 2px solid #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-name {
  font-weight: 900;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-price {
  padding: 0.0625rem 0.5rem;
  font-weight: 900;
  color: #111111;
  background: var(--bg);
  border: 1.5px solid #111111;
  border-radius: 0.375rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-price--muted {
  background: transparent;
  border-color: transparent;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-add {
  border: 2px solid #111111;
  border-radius: 0.5rem;
  background: var(--accent);
  box-shadow: 2px 2px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-load-more-btn {
  color: var(--text);
  border: 2px solid #111111;
  border-radius: 0.5rem;
  box-shadow: var(--shadow-sm);
}

[data-store-design='street'] .store-page-restaurant .store-dish-panel {
  border: 2px solid #111111;
  border-bottom: 0;
  border-radius: 1rem 1rem 0 0;
}

@media (min-width: 640px) {
  [data-store-design='street'] .store-page-restaurant .store-dish-panel {
    border-bottom: 2px solid #111111;
    border-radius: 1rem;
  }
}

[data-store-design='street'] .store-page-restaurant .store-dish-option {
  border-radius: 0.5rem;
}

[data-store-design='street'] .store-page-restaurant .store-dish-cta {
  border-radius: 0.5rem;
  background: var(--accent);
  border: 2px solid #111111;
  box-shadow: var(--shadow-sm);
}

[data-store-design='street'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
  box-shadow: none;
}

/* ── Design: garden — fresh-kitchen look: sage green, big photo tiles with text on the photo ── */
[data-store-design='garden'] .store-page-restaurant {
  --bg: #eef2e6;
  --surface: #fbfcf7;
  --surface2: #e2e9d6;
  --border: rgba(40, 60, 30, 0.12);
  --accent: #4f7a3a;
  --accent2: #3c6129;
  --text: #1f2a1a;
  --muted: #66735d;
}

/* Hero: very round card with the cover inset inside it, circle logo */
[data-store-design='garden'] .store-page-restaurant .store-emenu-hero {
  border: 0;
  border-radius: 2rem;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-hero-banner {
  margin: 0.625rem 0.625rem 0;
  overflow: hidden;
  border-radius: 1.5rem;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-hero-logo {
  border-radius: 9999px;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-hero-logo--ph {
  border-radius: 9999px;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-chip--action {
  border: 0;
  box-shadow: none;
  background: var(--surface2);
}

/* Banners: tall, very round, title in a frosted pill */
[data-store-design='garden'] .store-page-restaurant .store-banners-track {
  border: 0;
  border-radius: 2rem;
}

[data-store-design='garden'] .store-page-restaurant .store-banner-slide {
  aspect-ratio: 16 / 10;
}

@media (min-width: 640px) {
  [data-store-design='garden'] .store-page-restaurant .store-banner-slide {
    aspect-ratio: 5 / 2;
  }
}

[data-store-design='garden'] .store-page-restaurant .store-banner-title {
  right: auto;
  bottom: 0.875rem;
  left: 50%;
  width: max-content;
  max-width: 90%;
  padding: 0.375rem 1rem;
  transform: translateX(-50%);
  font-size: 0.8125rem;
  text-align: center;
  color: var(--text);
  background: rgba(255, 255, 255, 0.82);
  border-radius: 9999px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-search {
  border-color: transparent;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-tab {
  background: var(--surface2);
  border-color: transparent;
  box-shadow: none;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  background: var(--accent2);
  box-shadow: none;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-tab-count {
  background: var(--surface);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-section-title::before {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 0 9999px 0 9999px;
  background: var(--accent);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-list {
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  [data-store-design='garden'] .store-page-restaurant .store-emenu-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  [data-store-design='garden'] .store-page-restaurant .store-emenu-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card {
  border: 0;
  border-radius: 1.5rem;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-body {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 3rem 1rem 0.875rem;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(16, 24, 12, 0.82));
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-name {
  font-size: 1.0625rem;
  color: #ffffff;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-desc {
  -webkit-line-clamp: 1;
  color: rgba(255, 255, 255, 0.82);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-footer {
  padding-top: 0.5rem;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-price,
[data-store-design='garden'] .store-page-restaurant .store-emenu-card-price--muted {
  color: #ffffff;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-add {
  pointer-events: auto;
  border-radius: 9999px;
  background: #ffffff;
  color: var(--accent2);
  box-shadow: 0 4px 12px rgba(16, 24, 12, 0.3);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-incart {
  top: 0.75rem;
  right: 0.75rem;
  bottom: auto;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-badge {
  top: 0.75rem;
  left: 0.75rem;
}

[data-store-design='garden'] .store-page-restaurant .store-dish-panel {
  border-radius: 2rem 2rem 0 0;
}

@media (min-width: 640px) {
  [data-store-design='garden'] .store-page-restaurant .store-dish-panel {
    border-radius: 2rem;
  }
}

[data-store-design='garden'] .store-page-restaurant .store-dish-cta {
  background: var(--accent2);
}

[data-store-design='garden'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
}

/* ── street: diner details — halftone page, checkered strip, sticker prices, label titles ── */
[data-store-design='street'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image: radial-gradient(rgba(17, 17, 17, 0.09) 1.5px, transparent 2px);
  background-size: 18px 18px;
}

[data-store-design='street'] .store-page-restaurant {
  --store-header-h: 4.5rem;
}

[data-store-design='street'] .store-page-restaurant .store-header-minimal {
  height: 3.75rem;
  border-bottom: 2px solid #111111;
  background: var(--bg);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Checkered strip under the header */
[data-store-design='street'] .store-page-restaurant .store-header-minimal::after {
  content: '';
  position: absolute;
  top: calc(100% + 2px);
  right: 0;
  left: 0;
  height: 0.625rem;
  background: repeating-conic-gradient(#111111 0 25%, #ffffff 0 50%) 0 0 / 0.625rem 0.625rem;
  border-bottom: 2px solid #111111;
}

[data-store-design='street'] .store-page-restaurant .store-header-name {
  font-weight: 900;
}

[data-store-design='street'] .store-page-restaurant .store-header-icon-btn {
  box-shadow: 2px 2px 0 #111111;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
}

[data-store-design='street'] .store-page-restaurant .store-header-icon-btn:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-main {
  padding-top: 1.75rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero {
  margin-bottom: 1.75rem;
  border-width: 3px;
  border-radius: 1rem;
  box-shadow: 7px 7px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-banner {
  border-bottom-width: 3px;
  border-radius: 0.75rem 0.75rem 0 0;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-logo {
  width: 6rem;
  height: 6rem;
  margin-top: -3.25rem;
  border-width: 3px;
  border-radius: 1rem;
  box-shadow: 4px 4px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-name {
  margin-top: 1rem;
  padding: 0.25rem 1.125rem 0.375rem;
  font-size: 1.875rem;
  border-width: 3px;
  border-radius: 0.5rem;
  box-shadow: 4px 4px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-desc {
  margin-top: 0.875rem;
  font-weight: 600;
  color: var(--text);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-chips {
  margin-top: 1rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-chip {
  font-weight: 800;
  border-width: 2px;
}

[data-store-design='street'] .store-page-restaurant button.store-emenu-chip:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}

[data-store-design='street'] .store-page-restaurant .store-banners {
  margin-bottom: 1.25rem;
}

[data-store-design='street'] .store-page-restaurant .store-banners-track {
  border-width: 3px;
  border-radius: 1rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-search {
  font-weight: 700;
  box-shadow: var(--shadow-sm);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-tabs-sticky {
  padding-top: 0.875rem;
  padding-bottom: 0.75rem;
  background: var(--bg);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-tabs-row {
  gap: 0.625rem;
  padding: 0 0 0.25rem 0.25rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-tab:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  transform: rotate(-2deg);
  background: var(--accent);
  box-shadow: 3px 3px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-tab-count {
  color: #111111;
  background: var(--bg);
  border: 1.5px solid #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-tab[data-active='true'] .store-emenu-tab-count {
  color: #111111;
  background: #ffffff;
}

/* Section title as a tilted black label */
[data-store-design='street'] .store-page-restaurant .store-emenu-section-title {
  width: fit-content;
  margin: 2.25rem 0 1.125rem;
  padding: 0.25rem 1rem 0.375rem;
  transform: rotate(-1.5deg);
  color: #ffffff;
  background: #111111;
  border-radius: 0.5rem;
  box-shadow: 4px 4px 0 var(--accent);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-section-title::before {
  display: none;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-section-count {
  color: #111111;
  background: var(--bg);
  border: 0;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-list {
  gap: 1.125rem 1rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card {
  overflow: visible;
  border-width: 3px;
  border-radius: 1rem;
  box-shadow: 5px 5px 0 #111111;
}

@media (hover: hover) {
  [data-store-design='street'] .store-page-restaurant .store-emenu-card:hover {
    transform: translate(-2px, -2px) rotate(-0.6deg);
    box-shadow: 8px 8px 0 #111111;
  }
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card:not(.store-emenu-card--unavailable):active {
  transform: translate(3px, 3px);
  box-shadow: 2px 2px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-img {
  border-bottom-width: 3px;
  border-radius: 0.75rem 0.75rem 0 0;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-ph {
  color: #111111;
  background:
    radial-gradient(rgba(17, 17, 17, 0.35) 1px, transparent 1.5px) 0 0 / 9px 9px,
    var(--surface2);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-body {
  padding: 0.75rem 0.75rem 0.75rem;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-name {
  font-size: 1rem;
}

/* Price: sticker pinned on the photo corner */
[data-store-design='street'] .store-page-restaurant .store-emenu-card-price {
  position: absolute;
  top: -0.625rem;
  left: -0.5rem;
  z-index: 1;
  padding: 0.1875rem 0.625rem 0.25rem;
  transform: rotate(-6deg);
  font-size: 0.875rem;
  border-width: 2px;
  border-radius: 0.5rem;
  box-shadow: 2px 2px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-price--muted {
  color: #111111;
  background: #ffffff;
  border-color: #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-badge {
  top: 0.5rem;
  right: 0.5rem;
  left: auto;
  border: 1.5px solid #111111;
  box-shadow: none;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-incart {
  color: #ffffff;
  border: 1.5px solid #ffffff;
  box-shadow: none;
}

/* Add: full-width red bar */
[data-store-design='street'] .store-page-restaurant .store-emenu-card-add {
  width: 100%;
  height: 2.5rem;
  border-radius: 0.625rem;
  box-shadow: 3px 3px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  filter: none;
  background: #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-add:not(:disabled):active {
  transform: translate(3px, 3px);
  box-shadow: none;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-load-more-btn {
  font-weight: 900;
  border-width: 3px;
  box-shadow: var(--shadow-md);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-load-more-btn:hover:not(:disabled) {
  background: var(--surface2);
}

/* Dish sheet */
[data-store-design='street'] .store-page-restaurant .store-dish-panel {
  border-width: 3px;
}

[data-store-design='street'] .store-page-restaurant .store-dish-media {
  border-bottom: 3px solid #111111;
}

[data-store-design='street'] .store-page-restaurant .store-dish-close,
[data-store-design='street'] .store-page-restaurant .store-dish-arrow {
  border: 2px solid #111111;
  border-radius: 0.5rem;
  box-shadow: 2px 2px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-dish-name {
  font-weight: 900;
}

[data-store-design='street'] .store-page-restaurant .store-dish-price {
  width: fit-content;
  margin-top: 0.625rem;
  padding: 0.125rem 0.75rem 0.25rem;
  transform: rotate(-1.5deg);
  color: #111111;
  background: var(--bg);
  border: 2px solid #111111;
  border-radius: 0.5rem;
  box-shadow: 2px 2px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-dish-price--muted {
  background: #ffffff;
}

[data-store-design='street'] .store-page-restaurant .store-dish-desc {
  color: var(--text);
}

[data-store-design='street'] .store-page-restaurant .store-dish-group {
  border-top: 2px dashed #111111;
}

[data-store-design='street'] .store-page-restaurant .store-dish-tag {
  color: #111111;
  background: #ffffff;
  border: 1.5px solid #111111;
}

[data-store-design='street'] .store-page-restaurant .store-dish-tag[data-variant='required'] {
  color: #ffffff;
  background: var(--accent);
}

[data-store-design='street'] .store-page-restaurant .store-dish-option {
  border: 2px solid #111111;
}

[data-store-design='street'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  border-color: #111111;
  background: var(--bg);
  box-shadow: 3px 3px 0 #111111;
}

[data-store-design='street'] .store-page-restaurant .store-dish-option-mark {
  border-color: #111111;
  background: #ffffff;
}

[data-store-design='street'] .store-page-restaurant .store-dish-option-price {
  font-weight: 800;
  color: #111111;
}

[data-store-design='street'] .store-page-restaurant .store-dish-footer {
  border-top: 3px solid #111111;
}

[data-store-design='street'] .store-page-restaurant .store-dish-stepper {
  border: 2px solid #111111;
  border-radius: 0.625rem;
  background: #ffffff;
}

[data-store-design='street'] .store-page-restaurant .store-dish-stepper button {
  border-radius: 0.375rem;
  background: var(--bg);
  color: #111111;
  box-shadow: none;
}

[data-store-design='street'] .store-page-restaurant .store-dish-cta {
  border-radius: 0.625rem;
  font-weight: 900;
}

[data-store-design='street'] .store-page-restaurant .store-dish-cta:not(:disabled):active {
  transform: translate(3px, 3px);
  box-shadow: none;
}

[data-store-design='street'] .store-page-restaurant .store-dish-cta-total {
  color: #111111;
  background: var(--bg);
  border: 1.5px solid #111111;
  border-radius: 0.375rem;
}

/* ── street: animations ── */
@keyframes street-checker-run {
  to { background-position: 1.25rem 0; }
}

@keyframes street-drop-in {
  from { opacity: 0; transform: translateY(-18px) rotate(-1.5deg); }
  to { opacity: 1; transform: none; }
}

@keyframes street-logo-in {
  0% { opacity: 0; transform: translateY(-40px) rotate(14deg) scale(0.7); }
  60% { opacity: 1; transform: translateY(4px) rotate(-9deg) scale(1.05); }
  100% { opacity: 1; transform: rotate(-5deg); }
}

@keyframes street-logo-sway {
  0%, 100% { transform: rotate(-5deg); }
  50% { transform: rotate(-1.5deg) translateY(-2px); }
}

@keyframes street-stamp {
  0% { opacity: 0; transform: rotate(-9deg) scale(1.7); }
  60% { opacity: 1; transform: rotate(0deg) scale(0.94); }
  100% { opacity: 1; transform: rotate(-1.5deg) scale(1); }
}

@keyframes street-pop {
  0% { opacity: 0; transform: translateY(26px) rotate(2.5deg) scale(0.92); }
  70% { opacity: 1; transform: translateY(-3px) rotate(-0.6deg) scale(1.01); }
  100% { opacity: 1; transform: none; }
}

@keyframes street-chip-in {
  from { opacity: 0; transform: translateY(10px) scale(0.85); }
  to { opacity: 1; transform: none; }
}

@keyframes street-label-in {
  0% { opacity: 0; transform: translateX(40px) rotate(4deg); }
  70% { opacity: 1; transform: translateX(-4px) rotate(-3deg); }
  100% { opacity: 1; transform: rotate(-1.5deg); }
}

@keyframes street-tab-pop {
  0% { transform: rotate(0deg) scale(0.88); }
  60% { transform: rotate(-4deg) scale(1.08); }
  100% { transform: rotate(-2deg) scale(1); }
}

@keyframes street-sticker-wiggle {
  0%, 100% { transform: rotate(-6deg); }
  25% { transform: rotate(-12deg) scale(1.08); }
  75% { transform: rotate(1deg) scale(1.08); }
}

@keyframes street-sticker-sway {
  0%, 100% { transform: rotate(-3deg); }
  50% { transform: rotate(2deg); }
}

@keyframes street-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.12); }
}

@media (prefers-reduced-motion: no-preference) {
  /* Checkered strip scrolls like a marquee */
  [data-store-design='street'] .store-page-restaurant .store-header-minimal::after {
    animation: street-checker-run 0.9s linear infinite;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-hero {
    animation: street-drop-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-hero-logo {
    animation:
      street-logo-in 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s backwards,
      street-logo-sway 4s ease-in-out 1s infinite;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-hero-name {
    animation: street-stamp 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) 0.45s backwards;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-chip {
    animation: street-chip-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 0.7s backwards;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-chip:nth-child(2) { animation-delay: 0.78s; }
  [data-store-design='street'] .store-page-restaurant .store-emenu-chip:nth-child(3) { animation-delay: 0.86s; }
  [data-store-design='street'] .store-page-restaurant .store-emenu-chip:nth-child(4) { animation-delay: 0.94s; }

  [data-store-design='street'] .store-page-restaurant .store-banners {
    animation: street-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s backwards;
  }

  [data-store-design='street'] .store-page-restaurant .store-banner-title {
    animation: street-sticker-sway 3s ease-in-out infinite;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
    animation: street-tab-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  /* Dishes and section labels pop in */
  [data-store-design='street'] .store-page-restaurant .store-emenu-section-title {
    animation: street-label-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card {
    animation: street-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) backwards;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.07s; }
  [data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.14s; }
  [data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(4) { animation-delay: 0.21s; }
  [data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(5) { animation-delay: 0.28s; }
  [data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(n + 6) { animation-delay: 0.35s; }

  /* Where supported, play them as each one scrolls into view instead */
  @supports (animation-timeline: view()) {
    [data-store-design='street'] .store-page-restaurant .store-emenu-section-title,
    [data-store-design='street'] .store-page-restaurant .store-emenu-card {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: linear;
      animation-timeline: view();
      animation-range: entry 0% entry 85%;
    }
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-price {
    animation: street-sticker-wiggle 0.5s ease-in-out;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card-incart {
    animation: street-pulse 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card-add svg {
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover svg {
    transform: rotate(90deg) scale(1.2);
  }

  [data-store-design='street'] .store-page-restaurant .store-header-cart-badge {
    animation: street-pulse 1.6s ease-in-out infinite;
  }

  [data-store-design='street'] .store-page-restaurant .store-dish-price {
    animation: street-stamp 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.2s backwards;
  }

  [data-store-design='street'] .store-page-restaurant .store-dish-option[data-selected='true'] .store-dish-option-mark {
    animation: street-pulse 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
}

/* ── garden: upgrade — soft leafy page, frosted panels on the dish photos ── */
[data-store-design='garden'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image:
    radial-gradient(circle at 8% 6rem, rgba(79, 122, 58, 0.16), transparent 18rem),
    radial-gradient(circle at 96% 26rem, rgba(190, 212, 150, 0.55), transparent 20rem),
    radial-gradient(circle at 10% 60rem, rgba(190, 212, 150, 0.4), transparent 22rem);
  background-repeat: no-repeat;
}

[data-store-design='garden'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 72%, transparent);
  backdrop-filter: saturate(1.5) blur(18px);
  -webkit-backdrop-filter: saturate(1.5) blur(18px);
}

[data-store-design='garden'] .store-page-restaurant .store-header-minimal[data-compact='true'] {
  border-bottom-color: transparent;
  box-shadow: 0 8px 24px rgba(40, 60, 30, 0.08);
}

[data-store-design='garden'] .store-page-restaurant .store-header-icon-btn {
  border-color: transparent;
  box-shadow: 0 2px 10px rgba(40, 60, 30, 0.08);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-hero {
  margin-bottom: 1.5rem;
  box-shadow: 0 12px 36px rgba(40, 60, 30, 0.1);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-hero-banner {
  background:
    radial-gradient(circle at 20% 130%, rgba(255, 255, 255, 0.3) 0 22%, transparent 23%),
    radial-gradient(circle at 85% -40%, rgba(255, 255, 255, 0.22) 0 30%, transparent 31%),
    linear-gradient(135deg, #7aa35f 0%, var(--accent2) 100%);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 11rem;
  background: var(--surface2);
}

@media (min-width: 640px) {
  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 16rem;
  }
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-hero-logo {
  width: 6rem;
  height: 6rem;
  margin-top: -3rem;
  border-width: 5px;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent), 0 12px 28px rgba(40, 60, 30, 0.18);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-hero-name {
  font-size: 1.75rem;
}

/* Little leaf next to the name */
[data-store-design='garden'] .store-page-restaurant .store-emenu-hero-name::after {
  content: '';
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  margin-inline-start: 0.5rem;
  transform-origin: 100% 100%;
  border-radius: 0 9999px 0 9999px;
  background: linear-gradient(135deg, #8dbb6e, var(--accent2));
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-chip {
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-chip svg {
  color: var(--accent);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-chip--whatsapp {
  background: #25d366;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-chip--whatsapp svg {
  color: #ffffff;
}

[data-store-design='garden'] .store-page-restaurant .store-banners-track {
  box-shadow: 0 12px 32px rgba(40, 60, 30, 0.12);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-search {
  box-shadow: 0 4px 18px rgba(40, 60, 30, 0.07);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-tabs-sticky {
  background: color-mix(in srgb, var(--bg) 78%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-tab {
  background: var(--surface);
  transition: color 0.2s ease, background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  background: linear-gradient(135deg, #5f8f47, var(--accent2));
  box-shadow: 0 6px 16px rgba(60, 97, 41, 0.3);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-tab-count {
  background: var(--surface2);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-section-title {
  margin: 2rem 0 1rem;
  font-size: 1.375rem;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-section-title::before {
  width: 0.9375rem;
  height: 0.9375rem;
  transform-origin: 100% 100%;
  background: linear-gradient(135deg, #8dbb6e, var(--accent2));
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to left, color-mix(in srgb, var(--accent) 35%, transparent), transparent);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-section-count {
  color: var(--accent2);
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-list {
  gap: 1.125rem;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card {
  border-radius: 1.75rem;
  box-shadow: 0 8px 26px rgba(40, 60, 30, 0.1);
}

@media (hover: hover) {
  [data-store-design='garden'] .store-page-restaurant .store-emenu-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(40, 60, 30, 0.18);
  }
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-img {
  aspect-ratio: 5 / 4;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-img img {
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-ph {
  padding-bottom: 4rem;
  background:
    radial-gradient(circle at 15% 20%, rgba(255, 255, 255, 0.5), transparent 40%),
    linear-gradient(145deg, #dbe6c9, #bcd0a2);
}

/* Frosted panel floating on the photo */
[data-store-design='garden'] .store-page-restaurant .store-emenu-card-body {
  right: 0.5rem;
  bottom: 0.5rem;
  left: 0.5rem;
  padding: 0.625rem 0.875rem 0.625rem;
  background: rgba(251, 252, 247, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 1.25rem;
  box-shadow: 0 6px 20px rgba(16, 24, 12, 0.14);
  backdrop-filter: saturate(1.4) blur(12px);
  -webkit-backdrop-filter: saturate(1.4) blur(12px);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-name {
  font-size: 1rem;
  color: var(--text);
  -webkit-line-clamp: 1;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-desc {
  margin-top: 0.125rem;
  color: var(--muted);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-footer {
  padding-top: 0.375rem;
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-price {
  color: var(--accent2);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-price--muted {
  color: var(--muted);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-add {
  color: #ffffff;
  background: linear-gradient(135deg, #5f8f47, var(--accent2));
  box-shadow: 0 4px 12px rgba(60, 97, 41, 0.35);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-card-incart {
  background: rgba(251, 252, 247, 0.9);
  color: var(--accent2);
  box-shadow: 0 4px 12px rgba(16, 24, 12, 0.15);
}

[data-store-design='garden'] .store-page-restaurant .store-emenu-load-more-btn {
  border-color: transparent;
  box-shadow: 0 4px 18px rgba(40, 60, 30, 0.08);
}

/* Dish sheet */
[data-store-design='garden'] .store-page-restaurant .store-dish-close,
[data-store-design='garden'] .store-page-restaurant .store-dish-arrow {
  background: rgba(251, 252, 247, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

[data-store-design='garden'] .store-page-restaurant .store-dish-name {
  font-size: 1.5rem;
}

[data-store-design='garden'] .store-page-restaurant .store-dish-option {
  border-color: transparent;
  border-radius: 1.25rem;
  background: var(--surface2);
}

[data-store-design='garden'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
}

[data-store-design='garden'] .store-page-restaurant .store-dish-tag[data-variant='required'] {
  color: var(--accent2);
  background: color-mix(in srgb, var(--accent) 16%, var(--surface));
}

[data-store-design='garden'] .store-page-restaurant .store-dish-footer {
  border-top-color: transparent;
  box-shadow: 0 -8px 24px rgba(40, 60, 30, 0.06);
}

[data-store-design='garden'] .store-page-restaurant .store-dish-cta {
  background: linear-gradient(135deg, #5f8f47, var(--accent2));
  box-shadow: 0 8px 20px rgba(60, 97, 41, 0.32);
}

[data-store-design='garden'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
  box-shadow: none;
}

/* ── garden: animations — soft and slow ── */
@keyframes garden-rise {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: none; }
}

@keyframes garden-bloom {
  from { opacity: 0; transform: scale(0.6); }
  to { opacity: 1; transform: none; }
}

@keyframes garden-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@keyframes garden-leaf-sway {
  0%, 100% { transform: rotate(-8deg); }
  50% { transform: rotate(14deg); }
}

@keyframes garden-photo-settle {
  from { transform: scale(1.14); }
  to { transform: scale(1); }
}

@keyframes garden-panel-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

@keyframes garden-tab-in {
  from { transform: scale(0.92); }
  to { transform: none; }
}

@keyframes garden-pill-float {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-4px); }
}

@keyframes garden-ring {
  from { box-shadow: 0 0 0 0 rgba(79, 122, 58, 0.45); }
  to { box-shadow: 0 0 0 12px rgba(79, 122, 58, 0); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero {
    animation: garden-rise 0.8s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero-cover {
    animation: garden-photo-settle 1.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero-logo {
    animation:
      garden-bloom 0.7s cubic-bezier(0.34, 1.4, 0.64, 1) 0.25s backwards,
      garden-float 5s ease-in-out 1.2s infinite;
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero-name,
  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero-desc,
  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero-chips {
    animation: garden-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.4s backwards;
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero-desc { animation-delay: 0.5s; }
  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero-chips { animation-delay: 0.6s; }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-hero-name::after,
  [data-store-design='garden'] .store-page-restaurant .store-emenu-section-title::before {
    animation: garden-leaf-sway 3.5s ease-in-out infinite;
  }

  [data-store-design='garden'] .store-page-restaurant .store-banners {
    animation: garden-rise 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards;
  }

  [data-store-design='garden'] .store-page-restaurant .store-banner-title {
    animation: garden-pill-float 4s ease-in-out infinite;
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
    animation: garden-tab-in 0.3s cubic-bezier(0.34, 1.4, 0.64, 1);
  }

  /* Dishes rise in; the photo settles and the panel follows */
  [data-store-design='garden'] .store-page-restaurant .store-emenu-section-title {
    animation: garden-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-card {
    animation: garden-rise 0.8s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.08s; }
  [data-store-design='garden'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.16s; }
  [data-store-design='garden'] .store-page-restaurant .store-emenu-card:nth-child(4) { animation-delay: 0.24s; }
  [data-store-design='garden'] .store-page-restaurant .store-emenu-card:nth-child(n + 5) { animation-delay: 0.32s; }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-card-img img,
  [data-store-design='garden'] .store-page-restaurant .store-emenu-card-ph {
    animation: garden-photo-settle 1.4s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-card-body {
    animation: garden-panel-in 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.25s backwards;
  }

  @supports (animation-timeline: view()) {
    [data-store-design='garden'] .store-page-restaurant .store-emenu-section-title,
    [data-store-design='garden'] .store-page-restaurant .store-emenu-card,
    [data-store-design='garden'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='garden'] .store-page-restaurant .store-emenu-card-ph,
    [data-store-design='garden'] .store-page-restaurant .store-emenu-card-body {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: ease-out;
      animation-timeline: view();
      animation-range: entry 0% entry 90%;
    }

    [data-store-design='garden'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='garden'] .store-page-restaurant .store-emenu-card-ph {
      animation-range: entry 0% cover 45%;
    }
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
    animation: garden-ring 0.9s ease-out infinite;
  }

  [data-store-design='garden'] .store-page-restaurant .store-emenu-card-incart {
    animation: garden-bloom 0.4s cubic-bezier(0.34, 1.4, 0.64, 1);
  }

  [data-store-design='garden'] .store-page-restaurant .store-header-cart-badge {
    animation: garden-bloom 0.4s cubic-bezier(0.34, 1.4, 0.64, 1);
  }

  [data-store-design='garden'] .store-page-restaurant .store-dish-scroll > * {
    animation: garden-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.15s backwards;
  }

  [data-store-design='garden'] .store-page-restaurant .store-dish-option[data-selected='true'] .store-dish-option-mark {
    animation: garden-bloom 0.3s cubic-bezier(0.34, 1.4, 0.64, 1);
  }
}

/* ── noir: upgrade — gold glow, gilded name, fine gold frames ── */
[data-store-design='noir'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image:
    radial-gradient(ellipse 80% 26rem at 50% 0, rgba(224, 178, 92, 0.13), transparent 70%),
    radial-gradient(ellipse 60% 30rem at 100% 55rem, rgba(224, 178, 92, 0.05), transparent 70%);
  background-repeat: no-repeat;
}

[data-store-design='noir'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 70%, transparent);
  backdrop-filter: saturate(1.3) blur(18px);
  -webkit-backdrop-filter: saturate(1.3) blur(18px);
}

[data-store-design='noir'] .store-page-restaurant .store-header-minimal[data-compact='true'] {
  border-bottom-color: color-mix(in srgb, var(--accent) 28%, transparent);
}

[data-store-design='noir'] .store-page-restaurant .store-header-name {
  color: var(--accent);
}

[data-store-design='noir'] .store-page-restaurant .store-header-icon-btn {
  border-color: color-mix(in srgb, var(--accent) 30%, transparent);
  background: transparent;
}

[data-store-design='noir'] .store-page-restaurant .store-header-icon-btn--accent {
  background: linear-gradient(135deg, #f0cc85, var(--accent2));
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero {
  margin-bottom: 1.5rem;
  border-color: color-mix(in srgb, var(--accent) 28%, transparent);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}

/* Fine gold frame inside the hero */
[data-store-design='noir'] .store-page-restaurant .store-emenu-hero::after {
  content: '';
  grid-area: 1 / 1;
  z-index: 1;
  margin: 0.625rem;
  border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
  border-radius: 0.5rem;
  pointer-events: none;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-body {
  z-index: 2;
  padding-bottom: 1.75rem;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-logo {
  width: 6rem;
  height: 6rem;
}

/* Name in brushed gold */
[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-name {
  margin-top: 1rem;
  font-size: 2rem;
  color: transparent;
  background: linear-gradient(100deg, #f5efe4 0%, #e0b25c 35%, #fff3d1 50%, #e0b25c 65%, #f5efe4 100%) 0 0 / 250% 100%;
  -webkit-background-clip: text;
  background-clip: text;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-name::after {
  width: 4rem;
  height: 1px;
  margin-top: 0.75rem;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-hero-desc {
  color: color-mix(in srgb, var(--text) 80%, transparent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-chip {
  background: rgba(15, 14, 12, 0.45);
  border-color: color-mix(in srgb, var(--accent) 25%, transparent);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-chip svg {
  color: var(--accent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-chip--whatsapp {
  border-color: transparent;
  background: #25d366;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-chip--whatsapp svg {
  color: #ffffff;
}

[data-store-design='noir'] .store-page-restaurant .store-banners-track {
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-search {
  background: color-mix(in srgb, var(--surface) 80%, transparent);
  border-color: color-mix(in srgb, var(--accent) 18%, transparent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-search:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(224, 178, 92, 0.16), 0 0 24px rgba(224, 178, 92, 0.12);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-tabs-sticky {
  background: color-mix(in srgb, var(--bg) 78%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-tab {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--accent) 20%, transparent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  background: linear-gradient(135deg, #f0cc85, var(--accent2));
  box-shadow: 0 6px 20px rgba(224, 178, 92, 0.28);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-section-title {
  font-size: 1.3125rem;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::before {
  background: linear-gradient(to left, color-mix(in srgb, var(--accent) 60%, transparent), transparent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::after {
  background: linear-gradient(to right, color-mix(in srgb, var(--accent) 60%, transparent), transparent);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card {
  border-color: color-mix(in srgb, var(--accent) 14%, transparent);
  background: linear-gradient(180deg, var(--surface), #141210);
  transition: box-shadow 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s ease;
}

@media (hover: hover) {
  [data-store-design='noir'] .store-page-restaurant .store-emenu-card:hover {
    transform: translateY(-5px);
    border-color: color-mix(in srgb, var(--accent) 60%, transparent);
    box-shadow: 0 20px 44px rgba(0, 0, 0, 0.6), 0 0 28px rgba(224, 178, 92, 0.14);
  }
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-img img {
  transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Light sheen that sweeps across the photo */
[data-store-design='noir'] .store-page-restaurant .store-emenu-card-img::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  transform: translateX(-130%) skewX(-18deg);
  background: linear-gradient(90deg, transparent 30%, rgba(255, 236, 190, 0.26) 50%, transparent 70%);
  pointer-events: none;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-ph {
  color: color-mix(in srgb, var(--accent) 70%, transparent);
  background:
    radial-gradient(circle at 50% 35%, rgba(224, 178, 92, 0.16), transparent 60%),
    var(--surface2);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-name {
  font-size: 1rem;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-add {
  transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.12s ease;
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  box-shadow: 0 0 18px rgba(224, 178, 92, 0.45);
}

[data-store-design='noir'] .store-page-restaurant .store-emenu-load-more-btn {
  border-color: color-mix(in srgb, var(--accent) 50%, transparent);
  background: transparent;
  color: var(--accent);
}

/* Dish sheet */
[data-store-design='noir'] .store-page-restaurant .store-dish-panel {
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  border-bottom: 0;
}

@media (min-width: 640px) {
  [data-store-design='noir'] .store-page-restaurant .store-dish-panel {
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  }
}

[data-store-design='noir'] .store-page-restaurant .store-dish-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 65%, var(--surface));
  pointer-events: none;
}

[data-store-design='noir'] .store-page-restaurant .store-dish-name {
  font-size: 1.5rem;
}

[data-store-design='noir'] .store-page-restaurant .store-dish-price {
  color: var(--accent);
}

[data-store-design='noir'] .store-page-restaurant .store-dish-group {
  border-top-color: color-mix(in srgb, var(--accent) 18%, transparent);
}

[data-store-design='noir'] .store-page-restaurant .store-dish-option {
  border-width: 1px;
  background: var(--surface2);
}

[data-store-design='noir'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface2));
  box-shadow: 0 0 20px rgba(224, 178, 92, 0.14);
}

[data-store-design='noir'] .store-page-restaurant .store-dish-cta {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f0cc85, var(--accent2));
  box-shadow: 0 10px 28px rgba(224, 178, 92, 0.25);
}

[data-store-design='noir'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
  box-shadow: none;
}

/* ── noir: animations — slow reveals, moving gold light ── */
@keyframes noir-rise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: none; }
}

@keyframes noir-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes noir-unveil {
  from { opacity: 0; filter: blur(8px); transform: translateY(10px); }
  to { opacity: 1; filter: blur(0); transform: none; }
}

@keyframes noir-cover-settle {
  from { transform: scale(1.16); }
  to { transform: scale(1); }
}

@keyframes noir-logo-in {
  from { opacity: 0; transform: scale(0.7); }
  to { opacity: 1; transform: none; }
}

@keyframes noir-halo {
  0%, 100% { box-shadow: 0 0 0 5px var(--surface), 0 0 0 0 rgba(224, 178, 92, 0), 0 16px 40px rgba(0, 0, 0, 0.5); }
  50% { box-shadow: 0 0 0 5px var(--surface), 0 0 34px 4px rgba(224, 178, 92, 0.42), 0 16px 40px rgba(0, 0, 0, 0.5); }
}

@keyframes noir-gilt {
  from { background-position: 100% 0; }
  to { background-position: -150% 0; }
}

@keyframes noir-line-grow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes noir-sheen {
  from { transform: translateX(-130%) skewX(-18deg); }
  to { transform: translateX(130%) skewX(-18deg); }
}

@keyframes noir-card-in {
  from { opacity: 0; transform: translateY(30px) scale(0.96); }
  to { opacity: 1; transform: none; }
}

@keyframes noir-glow-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(224, 178, 92, 0.5); }
  50% { box-shadow: 0 0 0 6px rgba(224, 178, 92, 0); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='noir'] .store-page-restaurant .store-emenu-hero {
    animation: noir-fade 1s ease backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-hero-cover {
    animation: noir-cover-settle 2.4s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-hero::after {
    animation: noir-fade 1.2s ease 0.8s backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-hero-logo {
    animation:
      noir-logo-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.3s backwards,
      noir-halo 4.5s ease-in-out 1.4s infinite;
  }

  /* Gold light travels across the name */
  [data-store-design='noir'] .store-page-restaurant .store-emenu-hero-name {
    animation:
      noir-unveil 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.55s backwards,
      noir-gilt 6s linear 1.4s infinite;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-hero-name::after {
    animation: noir-line-grow 1s cubic-bezier(0.22, 1, 0.36, 1) 1s backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-hero-desc {
    animation: noir-unveil 1s cubic-bezier(0.22, 1, 0.36, 1) 0.8s backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-hero-chips {
    animation: noir-rise 0.9s cubic-bezier(0.22, 1, 0.36, 1) 1s backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-banners {
    animation: noir-rise 1s cubic-bezier(0.22, 1, 0.36, 1) 0.5s backwards;
  }

  /* Sheen passes over the active tab and the order button */
  [data-store-design='noir'] .store-page-restaurant .store-emenu-tab[data-active='true']::after,
  [data-store-design='noir'] .store-page-restaurant .store-dish-cta:not(:disabled)::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 30%, rgba(255, 255, 255, 0.5) 50%, transparent 70%);
    pointer-events: none;
    animation: noir-sheen 3.5s ease-in-out infinite;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
    animation: noir-fade 0.35s ease;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title {
    animation: noir-unveil 1s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::before,
  [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::after {
    animation: noir-line-grow 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::before {
    transform-origin: left center;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::after {
    transform-origin: right center;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-card {
    animation: noir-card-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.1s; }
  [data-store-design='noir'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.2s; }
  [data-store-design='noir'] .store-page-restaurant .store-emenu-card:nth-child(4) { animation-delay: 0.3s; }
  [data-store-design='noir'] .store-page-restaurant .store-emenu-card:nth-child(n + 5) { animation-delay: 0.4s; }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-card-img img {
    animation: noir-cover-settle 1.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-card-img::before {
    animation: noir-sheen 1.3s ease-out 0.6s backwards;
  }

  @supports (animation-timeline: view()) {
    [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title,
    [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::before,
    [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::after,
    [data-store-design='noir'] .store-page-restaurant .store-emenu-card,
    [data-store-design='noir'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='noir'] .store-page-restaurant .store-emenu-card-img::before {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: ease-out;
      animation-timeline: view();
      animation-range: entry 0% entry 100%;
    }

    [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::before,
    [data-store-design='noir'] .store-page-restaurant .store-emenu-section-title::after {
      animation-range: entry 40% cover 30%;
    }

    [data-store-design='noir'] .store-page-restaurant .store-emenu-card-img img {
      animation-range: entry 0% cover 45%;
    }

    [data-store-design='noir'] .store-page-restaurant .store-emenu-card-img::before {
      animation-timing-function: linear;
      animation-range: entry 60% cover 55%;
    }
  }

  @media (hover: hover) {
    [data-store-design='noir'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img img {
      transform: scale(1.08);
    }

    [data-store-design='noir'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img::before {
      animation: noir-sheen 0.9s ease-out;
    }
  }

  [data-store-design='noir'] .store-page-restaurant .store-emenu-card-incart {
    animation: noir-logo-in 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  }

  [data-store-design='noir'] .store-page-restaurant .store-header-cart-badge {
    animation: noir-glow-pulse 2.4s ease-in-out infinite;
  }

  [data-store-design='noir'] .store-page-restaurant .store-dish-scroll > * {
    animation: noir-unveil 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards;
  }

  [data-store-design='noir'] .store-page-restaurant .store-dish-scroll > *:nth-child(2) { animation-delay: 0.32s; }
  [data-store-design='noir'] .store-page-restaurant .store-dish-scroll > *:nth-child(n + 3) { animation-delay: 0.44s; }
}

/* ── menu: upgrade — crisper delivery-app look ── */
[data-store-design='menu'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--surface) 88%, transparent);
}

[data-store-design='menu'] .store-page-restaurant .store-header-minimal[data-compact='true'] {
  box-shadow: 0 1px 0 var(--border), 0 8px 24px rgba(17, 24, 39, 0.05);
}

[data-store-design='menu'] .store-page-restaurant .store-header-icon-btn {
  border-color: transparent;
  background: var(--surface2);
}

[data-store-design='menu'] .store-page-restaurant .store-header-icon-btn--accent {
  background: var(--accent);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero {
  overflow: visible;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-banner {
  position: relative;
  overflow: hidden;
}

@media (min-width: 640px) {
  [data-store-design='menu'] .store-page-restaurant .store-emenu-hero-banner {
    border-radius: 1rem 1rem 0 0;
  }
}

/* Soft shade at the foot of the cover so the logo stands off it */
[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-banner--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(17, 24, 39, 0.28));
  pointer-events: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-logo {
  width: 5.25rem;
  height: 5.25rem;
  margin-top: -1.75rem;
  border-radius: 1.25rem;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.16);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-hero-name {
  font-size: 1.625rem;
  letter-spacing: -0.02em;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-chip {
  color: var(--accent2);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  border-radius: 9999px;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-chip--action {
  color: var(--text);
  background: var(--surface);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-chip--whatsapp {
  color: #ffffff;
  background: #25d366;
}

[data-store-design='menu'] .store-page-restaurant .store-banner-slide {
  box-shadow: 0 6px 20px rgba(17, 24, 39, 0.1);
}

[data-store-design='menu'] .store-page-restaurant .store-banners-track {
  padding-bottom: 0.5rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-search {
  padding-top: 0.9375rem;
  padding-bottom: 0.9375rem;
  border-radius: 1rem;
}

/* Tabs: the underline is its own bar so it can slide in */
[data-store-design='menu'] .store-page-restaurant .store-emenu-tab {
  position: relative;
  font-weight: 600;
  transition: color 0.2s ease;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-tab::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -2.5px;
  left: 0;
  height: 3px;
  transform: scaleX(0);
  border-radius: 3px 3px 0 0;
  background: var(--accent);
  transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  font-weight: 800;
  border-bottom-color: transparent;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-tab[data-active='true']::after {
  transform: scaleX(1);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-tab[data-active='true'] .store-emenu-tab-count {
  color: var(--accent2);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-section-title {
  margin: 1.75rem 0 0.25rem;
  font-size: 1.25rem;
  letter-spacing: -0.02em;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-section-count::before {
  content: '· ';
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card {
  padding: 1rem 0;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

@media (hover: hover) {
  [data-store-design='menu'] .store-page-restaurant .store-emenu-card:hover {
    border-color: transparent;
    border-radius: 0.75rem;
    background: var(--surface2);
    box-shadow: 0.625rem 0 0 var(--surface2), -0.625rem 0 0 var(--surface2);
  }
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card:not(.store-emenu-card--unavailable):active {
  transform: scale(0.99);
  box-shadow: none;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-img {
  width: 7.25rem;
  border-radius: 1rem;
  box-shadow: 0 4px 14px rgba(17, 24, 39, 0.1);
  transition: box-shadow 0.25s ease;
}

@media (min-width: 640px) {
  [data-store-design='menu'] .store-page-restaurant .store-emenu-card-img {
    width: 8.25rem;
  }
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-name {
  font-size: 1rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-desc {
  font-size: 0.78125rem;
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-price {
  color: var(--text);
}

/* Add: solid green button with a white ring */
[data-store-design='menu'] .store-page-restaurant .store-emenu-card-add {
  bottom: 1.25rem;
  inset-inline-end: 0.25rem;
  width: 2.375rem;
  height: 2.375rem;
  color: #ffffff;
  background: var(--accent);
  border: 3px solid var(--surface);
  box-shadow: 0 4px 12px rgba(15, 153, 96, 0.35);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  filter: none;
  background: var(--accent2);
}

/* Dish already in the cart: green ring on its photo */
[data-store-design='menu'] .store-page-restaurant .store-emenu-card:has(.store-emenu-card-incart) .store-emenu-card-img {
  box-shadow: 0 0 0 2.5px var(--surface), 0 0 0 5px var(--accent);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-card-incart {
  background: var(--accent);
}

[data-store-design='menu'] .store-page-restaurant .store-emenu-load-more-btn {
  margin-top: 1.5rem;
  color: var(--accent2);
  border-color: transparent;
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  box-shadow: none;
}

/* Dish sheet */
[data-store-design='menu'] .store-page-restaurant .store-dish-name {
  letter-spacing: -0.02em;
}

[data-store-design='menu'] .store-page-restaurant .store-dish-price {
  color: var(--text);
}

[data-store-design='menu'] .store-page-restaurant .store-dish-option {
  border-width: 1px;
}

[data-store-design='menu'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
  box-shadow: inset 0 0 0 1px var(--accent);
}

[data-store-design='menu'] .store-page-restaurant .store-dish-stepper {
  border-radius: 0.875rem;
}

[data-store-design='menu'] .store-page-restaurant .store-dish-stepper button {
  border-radius: 0.625rem;
}

[data-store-design='menu'] .store-page-restaurant .store-dish-cta {
  background: var(--accent);
  box-shadow: 0 8px 20px rgba(15, 153, 96, 0.28);
}

[data-store-design='menu'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
  box-shadow: none;
}

[data-store-design='menu'] .store-page-restaurant .store-dish-cta-total {
  border-radius: 0.5rem;
}

/* ── menu: animations — quick and snappy ── */
@keyframes menu-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes menu-slide-up {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

@keyframes menu-slide-side {
  from { opacity: 0; transform: translateX(24px); }
  to { opacity: 1; transform: none; }
}

@keyframes menu-pop {
  0% { opacity: 0; transform: scale(0.4); }
  70% { opacity: 1; transform: scale(1.12); }
  100% { opacity: 1; transform: none; }
}

@keyframes menu-photo-in {
  from { opacity: 0; transform: scale(0.82); }
  to { opacity: 1; transform: none; }
}

@keyframes menu-cover-settle {
  from { transform: scale(1.1); }
  to { transform: scale(1); }
}

@keyframes menu-ring {
  from { box-shadow: 0 0 0 0 rgba(15, 153, 96, 0.5); }
  to { box-shadow: 0 0 0 10px rgba(15, 153, 96, 0); }
}

@keyframes menu-bump {
  0%, 100% { transform: scale(1); }
  40% { transform: scale(1.25); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='menu'] .store-page-restaurant .store-emenu-hero-banner {
    animation: menu-fade 0.4s ease backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-hero-cover {
    animation: menu-cover-settle 1.1s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-hero-logo {
    animation: menu-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) 0.12s backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-hero-name {
    animation: menu-slide-side 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0.22s backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-hero-desc {
    animation: menu-slide-side 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0.28s backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-chip {
    animation: menu-pop 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 0.34s backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-chip:nth-child(2) { animation-delay: 0.4s; }
  [data-store-design='menu'] .store-page-restaurant .store-emenu-chip:nth-child(3) { animation-delay: 0.46s; }
  [data-store-design='menu'] .store-page-restaurant .store-emenu-chip:nth-child(4) { animation-delay: 0.52s; }

  /* Banner cards slide in from the side one after another */
  [data-store-design='menu'] .store-page-restaurant .store-banner-slide {
    animation: menu-slide-side 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.25s backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-banner-slide:nth-child(2) { animation-delay: 0.33s; }
  [data-store-design='menu'] .store-page-restaurant .store-banner-slide:nth-child(n + 3) { animation-delay: 0.41s; }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-tab {
    animation: menu-slide-up 0.35s cubic-bezier(0.22, 1, 0.36, 1) 0.3s backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-tab:nth-child(2) { animation-delay: 0.34s; }
  [data-store-design='menu'] .store-page-restaurant .store-emenu-tab:nth-child(3) { animation-delay: 0.38s; }
  [data-store-design='menu'] .store-page-restaurant .store-emenu-tab:nth-child(n + 4) { animation-delay: 0.42s; }

  /* Rows slide up; the photo scales in and the add button pops after it */
  [data-store-design='menu'] .store-page-restaurant .store-emenu-section-title {
    animation: menu-slide-side 0.4s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-card {
    animation: menu-slide-up 0.4s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.05s; }
  [data-store-design='menu'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.1s; }
  [data-store-design='menu'] .store-page-restaurant .store-emenu-card:nth-child(4) { animation-delay: 0.15s; }
  [data-store-design='menu'] .store-page-restaurant .store-emenu-card:nth-child(n + 5) { animation-delay: 0.2s; }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-card-img {
    animation: menu-photo-in 0.45s cubic-bezier(0.34, 1.4, 0.64, 1) 0.1s backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-card-add {
    animation: menu-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s backwards;
  }

  @supports (animation-timeline: view()) {
    [data-store-design='menu'] .store-page-restaurant .store-emenu-section-title,
    [data-store-design='menu'] .store-page-restaurant .store-emenu-card,
    [data-store-design='menu'] .store-page-restaurant .store-emenu-card-img,
    [data-store-design='menu'] .store-page-restaurant .store-emenu-card-add {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: ease-out;
      animation-timeline: view();
      animation-range: entry 0% entry 80%;
    }

    [data-store-design='menu'] .store-page-restaurant .store-emenu-card-img {
      animation-range: entry 10% entry 100%;
    }

    [data-store-design='menu'] .store-page-restaurant .store-emenu-card-add {
      animation-range: entry 60% cover 30%;
    }
  }

  @media (hover: hover) {
    [data-store-design='menu'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img img {
      transform: scale(1.07);
    }

    [data-store-design='menu'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
      animation: menu-ring 0.8s ease-out infinite;
    }
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-card-add svg {
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-card-add:not(:disabled):active svg {
    transform: rotate(90deg);
  }

  [data-store-design='menu'] .store-page-restaurant .store-emenu-card-incart {
    animation: menu-pop 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  [data-store-design='menu'] .store-page-restaurant .store-header-cart-badge {
    animation: menu-bump 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  [data-store-design='menu'] .store-page-restaurant .store-dish-scroll > * {
    animation: menu-slide-up 0.35s cubic-bezier(0.22, 1, 0.36, 1) 0.1s backwards;
  }

  [data-store-design='menu'] .store-page-restaurant .store-dish-scroll > *:nth-child(2) { animation-delay: 0.16s; }
  [data-store-design='menu'] .store-page-restaurant .store-dish-scroll > *:nth-child(n + 3) { animation-delay: 0.22s; }

  [data-store-design='menu'] .store-page-restaurant .store-dish-option[data-selected='true'] .store-dish-option-mark {
    animation: menu-bump 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
}

/* ── classic: upgrade — warmer glow, softer depth (scoped so other designs keep the plain base) ── */
[data-store-design='classic'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image:
    radial-gradient(ellipse 85% 24rem at 50% 0, rgba(255, 107, 53, 0.1), transparent 70%),
    radial-gradient(circle at 0 44rem, rgba(255, 190, 120, 0.16), transparent 20rem);
  background-repeat: no-repeat;
}

[data-store-design='classic'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 78%, transparent);
  backdrop-filter: saturate(1.5) blur(18px);
  -webkit-backdrop-filter: saturate(1.5) blur(18px);
}

[data-store-design='classic'] .store-page-restaurant .store-header-icon-btn {
  box-shadow: var(--shadow-sm);
}

[data-store-design='classic'] .store-page-restaurant .store-header-icon-btn--accent {
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 6px 16px rgba(255, 107, 53, 0.32);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-hero {
  margin-bottom: 1.5rem;
  border-color: transparent;
  border-radius: 1.75rem;
  box-shadow: 0 2px 6px rgba(26, 18, 10, 0.04), 0 18px 44px rgba(120, 60, 20, 0.1);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-hero-banner {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 120%, rgba(255, 255, 255, 0.3) 0 18%, transparent 19%),
    radial-gradient(circle at 88% -30%, rgba(255, 255, 255, 0.24) 0 26%, transparent 27%),
    radial-gradient(rgba(255, 255, 255, 0.18) 1.2px, transparent 1.6px) 0 0 / 16px 16px,
    linear-gradient(120deg, #ff8a4c 0%, var(--accent) 45%, var(--accent2) 100%);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 10.5rem;
  background: var(--surface2);
}

@media (min-width: 640px) {
  [data-store-design='classic'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 15rem;
  }
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-hero-banner--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(60, 25, 5, 0.3));
  pointer-events: none;
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-hero-logo {
  width: 6rem;
  height: 6rem;
  margin-top: -3rem;
  border-radius: 1.75rem;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 40%, transparent), 0 14px 30px rgba(120, 60, 20, 0.2);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-hero-name {
  margin-top: 0.875rem;
  font-size: 1.75rem;
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-hero-chips {
  margin-top: 1rem;
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-chip {
  background: color-mix(in srgb, var(--accent) 9%, var(--surface));
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-chip--action {
  background: var(--surface);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-chip--whatsapp {
  background: #25d366;
}

[data-store-design='classic'] .store-page-restaurant .store-banners-track {
  border-color: transparent;
  border-radius: 1.5rem;
  box-shadow: 0 14px 34px rgba(120, 60, 20, 0.12);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-search {
  border-color: transparent;
  box-shadow: 0 2px 6px rgba(26, 18, 10, 0.04), 0 8px 22px rgba(120, 60, 20, 0.07);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-search:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(255, 107, 53, 0.14), 0 8px 22px rgba(120, 60, 20, 0.07);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-tabs-sticky {
  background: color-mix(in srgb, var(--bg) 80%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-tab {
  border-color: transparent;
  box-shadow: 0 2px 8px rgba(120, 60, 20, 0.07);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  background: linear-gradient(135deg, #ff8a4c, var(--accent2));
  box-shadow: 0 8px 18px rgba(255, 107, 53, 0.35);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-section-title {
  font-size: 1.375rem;
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-section-title::before {
  width: 0.375rem;
  height: 1.375rem;
  transform-origin: center bottom;
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-section-count {
  color: var(--accent2);
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-list {
  gap: 1rem;
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-card {
  border-color: transparent;
  border-radius: 1.5rem;
  box-shadow: 0 1px 3px rgba(26, 18, 10, 0.04), 0 10px 26px rgba(120, 60, 20, 0.08);
  transition: box-shadow 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease;
}

@media (hover: hover) {
  [data-store-design='classic'] .store-page-restaurant .store-emenu-card:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: 0 4px 10px rgba(26, 18, 10, 0.05), 0 24px 48px rgba(120, 60, 20, 0.16);
  }
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-card-img {
  margin: 0.375rem 0.375rem 0;
  border-radius: 1.25rem;
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-card-img img {
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Dish already in the cart: orange ring on the card */
[data-store-design='classic'] .store-page-restaurant .store-emenu-card:has(.store-emenu-card-incart) {
  box-shadow: 0 0 0 2px var(--accent), 0 10px 26px rgba(255, 107, 53, 0.18);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-card-add {
  width: 2.375rem;
  height: 2.375rem;
  border-radius: 9999px;
  box-shadow: 0 6px 14px rgba(255, 107, 53, 0.38);
}

[data-store-design='classic'] .store-page-restaurant .store-emenu-load-more-btn {
  border-color: transparent;
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  box-shadow: none;
}

[data-store-design='classic'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  box-shadow: 0 6px 16px rgba(255, 107, 53, 0.12);
}

[data-store-design='classic'] .store-page-restaurant .store-dish-cta {
  position: relative;
  overflow: hidden;
}

/* ── classic: animations — warm and friendly, light bounce ── */
@keyframes classic-rise {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: none; }
}

@keyframes classic-pop {
  0% { opacity: 0; transform: scale(0.5); }
  70% { opacity: 1; transform: scale(1.08); }
  100% { opacity: 1; transform: none; }
}

@keyframes classic-settle {
  from { transform: scale(1.12); }
  to { transform: scale(1); }
}

@keyframes classic-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes classic-bar-grow {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

@keyframes classic-ride {
  0%, 80%, 100% { transform: translateX(0) rotate(0deg); }
  86% { transform: translateX(-3px) rotate(-8deg); }
  93% { transform: translateX(2px) rotate(5deg); }
}

@keyframes classic-banner-drift {
  from { background-position: 0 0, 0 0, 0 0, 0 0; }
  to { background-position: 0 0, 0 0, 32px 32px, 0 0; }
}

@keyframes classic-shine {
  0%, 70% { transform: translateX(-130%) skewX(-18deg); }
  100% { transform: translateX(130%) skewX(-18deg); }
}

@keyframes classic-bump {
  0%, 100% { transform: scale(1); }
  40% { transform: scale(1.22); }
}

@keyframes classic-wobble {
  0%, 100% { transform: rotate(0deg); }
  30% { transform: rotate(-14deg) scale(1.1); }
  65% { transform: rotate(10deg) scale(1.1); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='classic'] .store-page-restaurant .store-emenu-hero {
    animation: classic-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-hero-cover {
    animation: classic-settle 1.4s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  /* Stores without a cover photo: the dotted pattern drifts slowly */
  [data-store-design='classic'] .store-page-restaurant .store-emenu-hero-banner:not(.store-emenu-hero-banner--photo) {
    animation: classic-banner-drift 6s linear infinite;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-hero-logo {
    animation:
      classic-pop 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.2s backwards,
      classic-float 4.5s ease-in-out 1.2s infinite;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-hero-name {
    animation: classic-rise 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.35s backwards;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-hero-desc {
    animation: classic-rise 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.43s backwards;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-chip {
    animation: classic-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s backwards;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-chip:nth-child(2) { animation-delay: 0.58s; }
  [data-store-design='classic'] .store-page-restaurant .store-emenu-chip:nth-child(3) { animation-delay: 0.66s; }
  [data-store-design='classic'] .store-page-restaurant .store-emenu-chip:nth-child(4) { animation-delay: 0.74s; }

  /* Chip icons give a little wiggle every few seconds */
  [data-store-design='classic'] .store-page-restaurant .store-emenu-chip svg {
    animation: classic-ride 5s ease-in-out 1.5s infinite;
  }

  [data-store-design='classic'] .store-page-restaurant .store-banners {
    animation: classic-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.3s backwards;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
    animation: classic-bump 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-section-title {
    animation: classic-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-section-title::before {
    animation: classic-bar-grow 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.2s backwards;
  }

  /* Cards rise in, the photo settles, then the add button pops */
  [data-store-design='classic'] .store-page-restaurant .store-emenu-card {
    animation: classic-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.07s; }
  [data-store-design='classic'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.14s; }
  [data-store-design='classic'] .store-page-restaurant .store-emenu-card:nth-child(4) { animation-delay: 0.21s; }
  [data-store-design='classic'] .store-page-restaurant .store-emenu-card:nth-child(n + 5) { animation-delay: 0.28s; }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-card-img img {
    animation: classic-settle 1.1s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-card-add {
    animation: classic-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) 0.35s backwards;
  }

  @supports (animation-timeline: view()) {
    [data-store-design='classic'] .store-page-restaurant .store-emenu-section-title,
    [data-store-design='classic'] .store-page-restaurant .store-emenu-section-title::before,
    [data-store-design='classic'] .store-page-restaurant .store-emenu-card,
    [data-store-design='classic'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='classic'] .store-page-restaurant .store-emenu-card-add {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: ease-out;
      animation-timeline: view();
      animation-range: entry 0% entry 90%;
    }

    [data-store-design='classic'] .store-page-restaurant .store-emenu-card-img img {
      animation-range: entry 0% cover 40%;
    }

    [data-store-design='classic'] .store-page-restaurant .store-emenu-card-add {
      animation-range: entry 70% cover 35%;
    }
  }

  @media (hover: hover) {
    [data-store-design='classic'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img img {
      transform: scale(1.08);
    }

    [data-store-design='classic'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover svg {
      animation: classic-wobble 0.5s ease-in-out;
    }
  }

  [data-store-design='classic'] .store-page-restaurant .store-emenu-card-incart {
    animation: classic-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  [data-store-design='classic'] .store-page-restaurant .store-header-cart-badge {
    animation: classic-bump 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  /* A soft shine crosses the order button now and then */
  [data-store-design='classic'] .store-page-restaurant .store-dish-cta:not(:disabled)::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 30%, rgba(255, 255, 255, 0.4) 50%, transparent 70%);
    pointer-events: none;
    animation: classic-shine 4s ease-in-out infinite;
  }

  [data-store-design='classic'] .store-page-restaurant .store-dish-scroll > * {
    animation: classic-rise 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.12s backwards;
  }

  [data-store-design='classic'] .store-page-restaurant .store-dish-scroll > *:nth-child(2) { animation-delay: 0.2s; }
  [data-store-design='classic'] .store-page-restaurant .store-dish-scroll > *:nth-child(n + 3) { animation-delay: 0.28s; }

  [data-store-design='classic'] .store-page-restaurant .store-dish-option[data-selected='true'] .store-dish-option-mark {
    animation: classic-bump 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
}

/* ── Design: bistro — modern café: warm beige, coffee brown, soft cards with large photos ── */
[data-store-design='bistro'] .store-page-restaurant {
  --bg: #f4ede4;
  --surface: #fffaf3;
  --surface2: #ebe0d2;
  --border: rgba(74, 52, 38, 0.12);
  --accent: #8a5a3c;
  --accent2: #5c3a25;
  --text: #2e221b;
  --muted: #85736a;
  --shadow-sm: 0 1px 2px rgba(74, 52, 38, 0.05);
  --shadow-md: 0 8px 24px rgba(74, 52, 38, 0.08);
  --shadow-lg: 0 18px 44px rgba(74, 52, 38, 0.14);
}

[data-store-design='bistro'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 80%, transparent);
}

[data-store-design='bistro'] .store-page-restaurant .store-header-minimal[data-compact='true'] {
  border-bottom-color: transparent;
  box-shadow: 0 8px 24px rgba(74, 52, 38, 0.07);
}

[data-store-design='bistro'] .store-page-restaurant .store-header-icon-btn {
  border-color: transparent;
  background: var(--surface);
}

[data-store-design='bistro'] .store-page-restaurant .store-header-icon-btn--accent {
  background: var(--accent2);
}

[data-store-design='bistro'] .store-page-restaurant .store-header-cart-badge {
  border-color: var(--accent2);
}

/* Hero: large rounded cover with an info card floating over its lower edge */
[data-store-design='bistro'] .store-page-restaurant .store-emenu-hero {
  overflow: visible;
  margin-bottom: 1.5rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-banner {
  height: 9rem;
  overflow: hidden;
  border-radius: 1.75rem;
  background:
    radial-gradient(circle at 80% -20%, rgba(255, 255, 255, 0.2) 0 30%, transparent 31%),
    linear-gradient(135deg, #b58863, var(--accent2));
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 12.5rem;
  background: var(--surface2);
}

@media (min-width: 640px) {
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-banner {
    height: 12rem;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 19rem;
  }
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-body {
  position: relative;
  max-width: 34rem;
  margin: -3.5rem 1rem 0;
  padding: 0 1.25rem 1.25rem;
  background: var(--surface);
  border-radius: 1.5rem;
  box-shadow: var(--shadow-lg);
}

@media (min-width: 640px) {
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-body {
    margin-right: auto;
    margin-left: auto;
  }
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-logo {
  width: 5rem;
  height: 5rem;
  margin-top: -2.5rem;
  border-radius: 9999px;
  box-shadow: var(--shadow-md);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-logo--ph {
  color: var(--accent);
  background: var(--surface2);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-name {
  margin-top: 0.625rem;
  font-size: 1.5rem;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-chip {
  font-weight: 600;
  color: var(--accent2);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-chip svg {
  color: var(--accent);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-chip--action {
  border-color: transparent;
  box-shadow: none;
  background: var(--surface2);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-chip--whatsapp {
  color: #ffffff;
  background: #25d366;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-chip--whatsapp svg {
  color: #ffffff;
}

/* Banners: soft rounded, caption in a cream label */
[data-store-design='bistro'] .store-page-restaurant .store-banners-track {
  border: 0;
  border-radius: 1.5rem;
  box-shadow: var(--shadow-md);
}

[data-store-design='bistro'] .store-page-restaurant .store-banner-title {
  right: 0.75rem;
  bottom: 0.75rem;
  left: auto;
  max-width: calc(100% - 1.5rem);
  padding: 0.375rem 0.875rem;
  font-size: 0.8125rem;
  color: var(--accent2);
  background: var(--surface);
  border-radius: 0.875rem;
}

[data-store-design='bistro'] .store-page-restaurant .store-banner-dot[data-active='true'] {
  background: var(--accent2);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-search {
  border-color: transparent;
  box-shadow: var(--shadow-sm);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-search:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(138, 90, 60, 0.14);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-tabs-sticky {
  background: color-mix(in srgb, var(--bg) 86%, transparent);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-tab {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  transition: color 0.2s ease, background 0.25s ease;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  background: var(--accent2);
  box-shadow: none;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-tab-count {
  background: var(--surface2);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-section-title {
  margin: 2rem 0 0.875rem;
  font-size: 1.3125rem;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-section-title::before {
  width: 1.25rem;
  height: 2px;
  background: var(--accent);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-section-count {
  color: var(--muted);
  background: transparent;
  padding: 0;
  font-size: 0.8125rem;
}

/* Dishes: wide cards, big photo on the side */
[data-store-design='bistro'] .store-page-restaurant .store-emenu-list {
  grid-template-columns: 1fr;
  gap: 0.875rem;
}

@media (min-width: 768px) {
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card {
  flex-direction: row;
  border: 0;
  border-radius: 1.5rem;
  box-shadow: var(--shadow-sm), var(--shadow-md);
  transition: box-shadow 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) {
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
  }
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-media {
  flex-shrink: 0;
  width: 8.5rem;
  padding: 0.5rem;
}

@media (min-width: 400px) {
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-card-media {
    width: 9.5rem;
  }
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-img {
  height: 100%;
  min-height: 7.5rem;
  aspect-ratio: auto;
  border-radius: 1.125rem;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-img img {
  position: absolute;
  inset: 0;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-ph {
  color: var(--accent);
  background: linear-gradient(145deg, #efe4d5, #e0d0bc);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-incart {
  right: 0.375rem;
  bottom: 0.375rem;
  font-size: 0.625rem;
  box-shadow: none;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-badge {
  top: 0.375rem;
  left: 0.375rem;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-body {
  min-width: 0;
  padding: 0.875rem 0.25rem 0.75rem 1rem;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-name {
  font-size: 1.03125rem;
  font-weight: 700;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-price {
  color: var(--accent2);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-card-add {
  border-radius: 9999px;
  background: var(--accent2);
  box-shadow: 0 4px 12px rgba(92, 58, 37, 0.28);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-load-more-btn {
  color: var(--accent2);
  border-color: transparent;
  box-shadow: var(--shadow-sm);
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-skeleton-grid {
  grid-template-columns: 1fr;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-skeleton-card {
  display: flex;
  border: 0;
  border-radius: 1.5rem;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-skeleton-card-img {
  flex-shrink: 0;
  width: 8.5rem;
  aspect-ratio: 1;
}

[data-store-design='bistro'] .store-page-restaurant .store-emenu-skeleton-card-body {
  flex: 1;
  justify-content: center;
}

/* Dish sheet */
[data-store-design='bistro'] .store-page-restaurant .store-dish-option {
  border-color: transparent;
  background: var(--surface2);
}

[data-store-design='bistro'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
}

[data-store-design='bistro'] .store-page-restaurant .store-dish-tag[data-variant='required'] {
  color: var(--accent2);
}

[data-store-design='bistro'] .store-page-restaurant .store-dish-footer {
  border-top-color: transparent;
  box-shadow: 0 -8px 24px rgba(74, 52, 38, 0.06);
}

[data-store-design='bistro'] .store-page-restaurant .store-dish-cta {
  background: var(--accent2);
  box-shadow: 0 8px 20px rgba(92, 58, 37, 0.25);
}

[data-store-design='bistro'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
  box-shadow: none;
}

/* ── bistro: animations — calm ── */
@keyframes bistro-rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

@keyframes bistro-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes bistro-settle {
  from { transform: scale(1.1); }
  to { transform: scale(1); }
}

@keyframes bistro-pop {
  from { opacity: 0; transform: scale(0.7); }
  to { opacity: 1; transform: none; }
}

@keyframes bistro-dash-grow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-banner {
    animation: bistro-fade 0.7s ease backwards;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-cover {
    animation: bistro-settle 1.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-body {
    animation: bistro-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-logo {
    animation: bistro-pop 0.6s cubic-bezier(0.34, 1.4, 0.64, 1) 0.45s backwards;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-name,
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-desc,
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-chips {
    animation: bistro-fade 0.7s ease 0.6s backwards;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-hero-chips {
    animation-delay: 0.75s;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-banners {
    animation: bistro-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.35s backwards;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
    animation: bistro-fade 0.3s ease;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-section-title {
    animation: bistro-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-section-title::before {
    transform-origin: right center;
    animation: bistro-dash-grow 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.25s backwards;
  }

  /* Cards rise in while the photo settles */
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-card {
    animation: bistro-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.08s; }
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.16s; }
  [data-store-design='bistro'] .store-page-restaurant .store-emenu-card:nth-child(n + 4) { animation-delay: 0.24s; }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-card-img img {
    animation: bistro-settle 1.3s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  @supports (animation-timeline: view()) {
    [data-store-design='bistro'] .store-page-restaurant .store-emenu-section-title,
    [data-store-design='bistro'] .store-page-restaurant .store-emenu-section-title::before,
    [data-store-design='bistro'] .store-page-restaurant .store-emenu-card,
    [data-store-design='bistro'] .store-page-restaurant .store-emenu-card-img img {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: ease-out;
      animation-timeline: view();
      animation-range: entry 0% entry 90%;
    }

    [data-store-design='bistro'] .store-page-restaurant .store-emenu-card-img img {
      animation-range: entry 0% cover 40%;
    }
  }

  @media (hover: hover) {
    [data-store-design='bistro'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img img {
      transform: scale(1.07);
    }
  }

  [data-store-design='bistro'] .store-page-restaurant .store-emenu-card-incart,
  [data-store-design='bistro'] .store-page-restaurant .store-header-cart-badge {
    animation: bistro-pop 0.4s cubic-bezier(0.34, 1.4, 0.64, 1);
  }

  [data-store-design='bistro'] .store-page-restaurant .store-dish-scroll > * {
    animation: bistro-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.12s backwards;
  }

  [data-store-design='bistro'] .store-page-restaurant .store-dish-scroll > *:nth-child(n + 2) { animation-delay: 0.22s; }
}

/* ══ Design: marine — sea-side: white, navy and turquoise, dishes served on round plates ══ */
[data-store-design='marine'] .store-page-restaurant {
  --bg: #f3f9fb;
  --surface: #ffffff;
  --surface2: #e4f1f5;
  --border: rgba(11, 42, 74, 0.1);
  --accent: #0e94a6;
  --accent2: #0b2a4a;
  --text: #0b2238;
  --muted: #5f7486;
  --shadow-sm: 0 1px 2px rgba(11, 42, 74, 0.05);
  --shadow-md: 0 8px 24px rgba(11, 42, 74, 0.08);
  --shadow-lg: 0 18px 44px rgba(11, 42, 74, 0.14);
}

[data-store-design='marine'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image: radial-gradient(ellipse 90% 22rem at 50% 0, rgba(14, 148, 166, 0.14), transparent 70%);
  background-repeat: no-repeat;
}

[data-store-design='marine'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 80%, transparent);
}

[data-store-design='marine'] .store-page-restaurant .store-header-icon-btn {
  border-color: transparent;
}

[data-store-design='marine'] .store-page-restaurant .store-header-icon-btn--accent {
  background: var(--accent2);
}

[data-store-design='marine'] .store-page-restaurant .store-header-cart-badge {
  border-color: var(--accent);
  color: var(--accent2);
}

/* Hero: cover ends in a wave, content aligned to the start */
[data-store-design='marine'] .store-page-restaurant .store-emenu-hero {
  border: 0;
  border-radius: 1.5rem;
  box-shadow: var(--shadow-lg);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner {
  position: relative;
  height: 8rem;
  background: linear-gradient(135deg, #25c0d4, var(--accent2));
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 11.5rem;
  background: var(--surface2);
}

@media (min-width: 640px) {
  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 17rem;
  }
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 0.875rem;
  background: radial-gradient(ellipse 1.25rem 0.875rem at 50% 100%, var(--surface) 97%, transparent 100%) 0 100% / 2.5rem 0.875rem repeat-x;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-body {
  align-items: flex-start;
  text-align: start;
  padding: 0 1.25rem 1.25rem;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-logo {
  margin-top: -3rem;
  border-radius: 9999px;
  box-shadow: 0 0 0 3px var(--accent), var(--shadow-lg);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-name {
  color: var(--accent2);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-chips {
  justify-content: flex-start;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-chip {
  color: var(--accent2);
  background: var(--surface2);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-chip svg {
  color: var(--accent);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-chip--action {
  background: var(--surface);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-chip--whatsapp {
  color: #ffffff;
  background: #25d366;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-chip--whatsapp svg {
  color: #ffffff;
}

/* Banners: navy glass strip along the bottom */
[data-store-design='marine'] .store-page-restaurant .store-banners-track {
  border: 0;
  border-radius: 1.25rem;
  box-shadow: var(--shadow-md);
}

[data-store-design='marine'] .store-page-restaurant .store-banner-title {
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  background: rgba(11, 42, 74, 0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-search {
  border-color: transparent;
  box-shadow: var(--shadow-md);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-search:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(14, 148, 166, 0.16);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-tab {
  color: var(--accent2);
  background: var(--surface2);
  border-color: transparent;
  box-shadow: none;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  color: #ffffff;
  background: var(--accent2);
  box-shadow: 0 6px 16px rgba(11, 42, 74, 0.25);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-tab-count {
  background: var(--surface);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-section-title {
  margin: 2.25rem 0 1rem;
  color: var(--accent2);
  text-decoration: underline wavy var(--accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.5rem;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-section-title::before {
  display: none;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-section-count {
  display: inline-block;
}

/* Plates: round photo rising out of the top of each card */
[data-store-design='marine'] .store-page-restaurant .store-emenu-list {
  gap: 3.5rem 0.875rem;
  padding-top: 2.75rem;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card {
  overflow: visible;
  border: 0;
  border-radius: 1.5rem;
  box-shadow: var(--shadow-md);
}

@media (hover: hover) {
  [data-store-design='marine'] .store-page-restaurant .store-emenu-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
  }
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-media {
  width: 78%;
  margin: -2.75rem auto 0;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-img {
  aspect-ratio: 1;
  border: 4px solid var(--surface);
  border-radius: 9999px;
  box-shadow: 0 10px 24px rgba(11, 42, 74, 0.2);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-ph {
  background: linear-gradient(145deg, #d9eef3, #b9dde6);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-incart {
  right: 50%;
  bottom: 0.375rem;
  transform: translateX(50%);
  white-space: nowrap;
  background: var(--accent2);
  box-shadow: none;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-badge {
  top: auto;
  bottom: 0.375rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-body {
  padding: 0.625rem 0.75rem 0.875rem;
  text-align: center;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-footer {
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 0.5rem;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-price {
  color: var(--accent2);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-add {
  width: 100%;
  height: 2.25rem;
  border: 1.5px solid var(--accent);
  border-radius: 9999px;
  background: transparent;
  color: var(--accent);
  box-shadow: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.12s ease;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  filter: none;
  background: var(--accent);
  color: #ffffff;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-load-more-btn {
  margin-top: 2rem;
  color: var(--accent2);
}

[data-store-design='marine'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}

[data-store-design='marine'] .store-page-restaurant .store-dish-price {
  color: var(--accent);
}

[data-store-design='marine'] .store-page-restaurant .store-dish-cta {
  background: var(--accent2);
  box-shadow: 0 8px 20px rgba(11, 42, 74, 0.28);
}

[data-store-design='marine'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
  box-shadow: none;
}

@keyframes marine-rise {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}

@keyframes marine-wave {
  to { background-position: 2.5rem 100%; }
}

@keyframes marine-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@keyframes marine-plate {
  from { opacity: 0; transform: rotate(-40deg) scale(0.7); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero {
    animation: marine-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  /* The wave under the cover keeps rolling */
  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner::after {
    animation: marine-wave 3s linear infinite;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-logo {
    animation:
      marine-plate 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards,
      marine-bob 4s ease-in-out 1.2s infinite;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-name,
  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-desc,
  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-chips {
    animation: marine-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.4s backwards;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-chips {
    animation-delay: 0.55s;
  }

  [data-store-design='marine'] .store-page-restaurant .store-banners {
    animation: marine-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.3s backwards;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-section-title {
    animation: marine-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  /* Card rises, the plate turns into place */
  [data-store-design='marine'] .store-page-restaurant .store-emenu-card {
    animation: marine-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.08s; }
  [data-store-design='marine'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.16s; }
  [data-store-design='marine'] .store-page-restaurant .store-emenu-card:nth-child(n + 4) { animation-delay: 0.24s; }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-card-img {
    animation: marine-plate 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.15s backwards;
  }

  @supports (animation-timeline: view()) {
    [data-store-design='marine'] .store-page-restaurant .store-emenu-section-title,
    [data-store-design='marine'] .store-page-restaurant .store-emenu-card,
    [data-store-design='marine'] .store-page-restaurant .store-emenu-card-img {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: ease-out;
      animation-timeline: view();
      animation-range: entry 0% entry 90%;
    }

    [data-store-design='marine'] .store-page-restaurant .store-emenu-card-img {
      animation-range: entry 0% cover 35%;
    }
  }

  @media (hover: hover) {
    [data-store-design='marine'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img {
      transform: rotate(8deg) scale(1.05);
    }
  }

  [data-store-design='marine'] .store-page-restaurant .store-header-cart-badge {
    animation: marine-bob 2.5s ease-in-out infinite;
  }

  [data-store-design='marine'] .store-page-restaurant .store-dish-scroll > * {
    animation: marine-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.12s backwards;
  }
}

/* ══ Design: grill — charcoal and flame: dark, red-orange, slanted cuts ══ */
[data-store-design='grill'] .store-page-restaurant {
  color-scheme: dark;
  --bg: #17120f;
  --surface: #211a16;
  --surface2: #2e241e;
  --border: rgba(255, 200, 150, 0.1);
  --accent: #ff4d2e;
  --accent2: #ff6a3d;
  --text: #fff3ea;
  --muted: #b3a196;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 18px 44px rgba(0, 0, 0, 0.55);
}

[data-store-design='grill'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image: radial-gradient(ellipse 85% 22rem at 50% 0, rgba(255, 77, 46, 0.18), transparent 70%);
  background-repeat: no-repeat;
}

[data-store-design='grill'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 78%, transparent);
}

[data-store-design='grill'] .store-page-restaurant .store-header-minimal[data-compact='true'] {
  border-bottom-color: color-mix(in srgb, var(--accent) 40%, transparent);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

[data-store-design='grill'] .store-page-restaurant .store-header-icon-btn {
  border-radius: 0.5rem;
  background: var(--surface2);
}

[data-store-design='grill'] .store-page-restaurant .store-header-icon-btn--accent {
  background: linear-gradient(135deg, #ff8a2e, #e2341d);
}

[data-store-design='grill'] .store-page-restaurant .store-header-cart-badge {
  color: #e2341d;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-main {
  padding-top: 0;
}

/* Hero: full-bleed cover cut on a slant, big name aligned to the start */
[data-store-design='grill'] .store-page-restaurant .store-emenu-hero {
  overflow: visible;
  margin: 0 -1rem 1.25rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

@media (min-width: 640px) {
  [data-store-design='grill'] .store-page-restaurant .store-emenu-hero {
    margin: 0 0 1.5rem;
  }
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-banner {
  position: relative;
  height: 9rem;
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);
  background: linear-gradient(135deg, #ff8a2e, #e2341d 55%, #6e1206);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 13.5rem;
  background: var(--surface2);
}

@media (min-width: 640px) {
  [data-store-design='grill'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 20rem;
  }
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-banner--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(23, 18, 15, 0.1), rgba(23, 18, 15, 0.6));
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-body {
  align-items: flex-start;
  text-align: start;
  padding: 0 1.25rem 0.25rem;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-logo {
  margin-top: -4rem;
  border: 3px solid var(--accent);
  border-radius: 0.875rem;
  box-shadow: 0 0 28px rgba(255, 77, 46, 0.5);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-name {
  margin-top: 0.875rem;
  font-size: 2.125rem;
  font-weight: 900;
  line-height: 1.15;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-name::after {
  content: '';
  display: block;
  width: 4.5rem;
  height: 5px;
  margin-top: 0.5rem;
  clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%);
  background: linear-gradient(90deg, #ffb02e, #ff4d2e, #ffb02e, #ff4d2e) 0 0 / 300% 100%;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-chips {
  justify-content: flex-start;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-chip {
  padding-right: 1rem;
  padding-left: 1rem;
  border: 0;
  border-radius: 0;
  background: var(--surface2);
  box-shadow: none;
  clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0 100%);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-chip svg {
  color: var(--accent2);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-chip--whatsapp {
  background: #25d366;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-chip--whatsapp svg {
  color: #ffffff;
}

/* Banners: red base line, title on a slanted red tag */
[data-store-design='grill'] .store-page-restaurant .store-banners-track {
  border: 0;
  border-bottom: 4px solid var(--accent);
  border-radius: 0.75rem;
  box-shadow: var(--shadow-md);
}

[data-store-design='grill'] .store-page-restaurant .store-banner-title {
  top: 0.75rem;
  right: 0;
  bottom: auto;
  left: auto;
  max-width: 80%;
  padding: 0.3rem 1rem 0.3rem 1.5rem;
  font-weight: 900;
  background: var(--accent);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0.75rem 100%);
}

[data-store-design='grill'] .store-page-restaurant .store-banner-dot {
  width: 1rem;
  height: 3px;
  border-radius: 0;
}

[data-store-design='grill'] .store-page-restaurant .store-banner-dot[data-active='true'] {
  width: 1.75rem;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-search {
  border-radius: 0.5rem;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-search:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(255, 77, 46, 0.18), 0 0 24px rgba(255, 77, 46, 0.15);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-tab {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  color: var(--text);
  font-weight: 700;
  background: var(--surface2);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(0.625rem 0, 100% 0, calc(100% - 0.625rem) 100%, 0 100%);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  color: #ffffff;
  background: linear-gradient(135deg, #ff8a2e, #e2341d);
  box-shadow: none;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-tab-count {
  background: rgba(255, 255, 255, 0.08);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-section-title {
  font-size: 1.5rem;
  font-weight: 900;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-section-title::before {
  width: 0.5rem;
  height: 1.5rem;
  transform: skewX(-14deg);
  transform-origin: center bottom;
  border-radius: 0;
  background: linear-gradient(180deg, #ffb02e, #ff4d2e);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card {
  border-color: transparent;
  border-radius: 0.75rem;
  box-shadow: var(--shadow-md);
  transition: box-shadow 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease;
}

@media (hover: hover) {
  [data-store-design='grill'] .store-page-restaurant .store-emenu-card:hover {
    transform: translateY(-5px);
    border-color: var(--accent);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.55), 0 0 26px rgba(255, 77, 46, 0.25);
  }
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-img {
  aspect-ratio: 1;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-ph {
  color: var(--accent2);
  background:
    radial-gradient(circle at 50% 110%, rgba(255, 77, 46, 0.3), transparent 60%),
    var(--surface2);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-name {
  font-weight: 800;
}

/* Price on a slanted red tag */
[data-store-design='grill'] .store-page-restaurant .store-emenu-card-price {
  padding: 0.125rem 0.75rem 0.1875rem 0.625rem;
  color: #ffffff;
  background: linear-gradient(135deg, #ff6a3d, #e2341d);
  clip-path: polygon(0.4rem 0, 100% 0, calc(100% - 0.4rem) 100%, 0 100%);
  transform-origin: right center;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-price--muted {
  color: var(--muted);
  background: var(--surface2);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-add {
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #ff8a2e, #e2341d);
  box-shadow: 0 0 16px rgba(255, 77, 46, 0.4);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-load-more-btn {
  color: var(--accent2);
  border-radius: 0.5rem;
  background: transparent;
}

[data-store-design='grill'] .store-page-restaurant .store-dish-panel {
  border-top: 4px solid var(--accent);
}

[data-store-design='grill'] .store-page-restaurant .store-dish-close,
[data-store-design='grill'] .store-page-restaurant .store-dish-arrow {
  color: #1a1a1a;
  border-radius: 0.5rem;
}

[data-store-design='grill'] .store-page-restaurant .store-dish-name {
  font-weight: 900;
}

[data-store-design='grill'] .store-page-restaurant .store-dish-option {
  border-width: 1px;
  border-radius: 0.5rem;
  background: var(--surface2);
}

[data-store-design='grill'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  background: color-mix(in srgb, var(--accent) 12%, var(--surface2));
}

[data-store-design='grill'] .store-page-restaurant .store-dish-stepper {
  border-radius: 0.5rem;
}

[data-store-design='grill'] .store-page-restaurant .store-dish-stepper button {
  border-radius: 0.375rem;
}

[data-store-design='grill'] .store-page-restaurant .store-dish-cta {
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #ff8a2e, #e2341d);
  box-shadow: 0 0 24px rgba(255, 77, 46, 0.35);
}

[data-store-design='grill'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
  box-shadow: none;
}

[data-store-design='grill'] .store-page-restaurant .text-emerald-700 {
  color: #6ee7b7;
}

[data-store-design='grill'] .store-page-restaurant .text-rose-600 {
  color: #fb7185;
}

[data-store-design='grill'] .store-page-restaurant [class*='inset_0_1px_0_rgba(255,255,255'] {
  box-shadow: none;
}

@keyframes grill-rise {
  from { opacity: 0; transform: translateY(26px); }
  to { opacity: 1; transform: none; }
}

@keyframes grill-slam {
  0% { opacity: 0; transform: translateX(48px); }
  70% { opacity: 1; transform: translateX(-4px); }
  100% { opacity: 1; transform: none; }
}

@keyframes grill-flame {
  to { background-position: 150% 0; }
}

@keyframes grill-ember {
  0%, 100% { box-shadow: 0 0 18px rgba(255, 77, 46, 0.35); }
  50% { box-shadow: 0 0 36px rgba(255, 122, 46, 0.75); }
}

@keyframes grill-sear {
  from { transform: scale(1); }
  to { transform: scale(1.1); }
}

@keyframes grill-tag {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes grill-flicker {
  0%, 100% { transform: skewX(-14deg) scaleY(1); }
  40% { transform: skewX(-8deg) scaleY(1.18); }
  70% { transform: skewX(-18deg) scaleY(0.9); }
}

@media (prefers-reduced-motion: no-preference) {
  /* Cover keeps pushing in slowly, like heat haze */
  [data-store-design='grill'] .store-page-restaurant .store-emenu-hero-cover {
    animation: grill-sear 14s ease-in-out infinite alternate;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-hero-logo {
    animation:
      grill-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.15s backwards,
      grill-ember 2.6s ease-in-out 0.8s infinite;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-hero-name {
    animation: grill-slam 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.3s backwards;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-hero-name::after {
    animation: grill-flame 2.2s linear infinite;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-hero-desc {
    animation: grill-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.42s backwards;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-chip {
    animation: grill-slam 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0.5s backwards;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-chip:nth-child(2) { animation-delay: 0.57s; }
  [data-store-design='grill'] .store-page-restaurant .store-emenu-chip:nth-child(3) { animation-delay: 0.64s; }
  [data-store-design='grill'] .store-page-restaurant .store-emenu-chip:nth-child(4) { animation-delay: 0.71s; }

  [data-store-design='grill'] .store-page-restaurant .store-banners {
    animation: grill-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.3s backwards;
  }

  [data-store-design='grill'] .store-page-restaurant .store-header-icon-btn--accent {
    animation: grill-ember 2.6s ease-in-out infinite;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-section-title {
    animation: grill-slam 0.5s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-section-title::before {
    animation: grill-flicker 1.4s ease-in-out infinite;
  }

  /* Cards rise in; the price tag shoots out */
  [data-store-design='grill'] .store-page-restaurant .store-emenu-card {
    animation: grill-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.07s; }
  [data-store-design='grill'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.14s; }
  [data-store-design='grill'] .store-page-restaurant .store-emenu-card:nth-child(n + 4) { animation-delay: 0.21s; }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-card-price {
    animation: grill-tag 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0.35s backwards;
  }

  @supports (animation-timeline: view()) {
    [data-store-design='grill'] .store-page-restaurant .store-emenu-section-title,
    [data-store-design='grill'] .store-page-restaurant .store-emenu-card,
    [data-store-design='grill'] .store-page-restaurant .store-emenu-card-price {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: ease-out;
      animation-timeline: view();
      animation-range: entry 0% entry 90%;
    }

    [data-store-design='grill'] .store-page-restaurant .store-emenu-card-price {
      animation-range: entry 60% cover 30%;
    }
  }

  @media (hover: hover) {
    [data-store-design='grill'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img img {
      transform: scale(1.1);
    }

    [data-store-design='grill'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
      animation: grill-ember 1s ease-in-out infinite;
    }
  }

  [data-store-design='grill'] .store-page-restaurant .store-dish-cta:not(:disabled) {
    animation: grill-ember 2.6s ease-in-out infinite;
  }

  [data-store-design='grill'] .store-page-restaurant .store-dish-scroll > * {
    animation: grill-rise 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.12s backwards;
  }
}

/* ══ Design: sweet — pastry shop: pastel pink, scalloped edges, candy-coloured cards ══ */
[data-store-design='sweet'] .store-page-restaurant {
  --bg: #fff5f7;
  --surface: #ffffff;
  --surface2: #ffe6ec;
  --border: rgba(214, 90, 130, 0.14);
  --accent: #f0679a;
  --accent2: #d94a82;
  --text: #4a2a36;
  --muted: #9a7582;
  --shadow-sm: 0 1px 2px rgba(217, 74, 130, 0.06);
  --shadow-md: 0 8px 24px rgba(217, 74, 130, 0.1);
  --shadow-lg: 0 18px 44px rgba(217, 74, 130, 0.16);
}

/* Confetti dots on the page */
[data-store-design='sweet'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image:
    radial-gradient(#ffd1dc 2px, transparent 2.5px),
    radial-gradient(#cdeedd 2px, transparent 2.5px),
    radial-gradient(#ffe7a8 2px, transparent 2.5px);
  background-position: 0 0, 14px 20px, 30px 8px;
  background-size: 44px 44px;
}

[data-store-design='sweet'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 84%, transparent);
}

[data-store-design='sweet'] .store-page-restaurant .store-header-icon-btn {
  border-color: transparent;
}

/* Hero: scalloped edge under the cover, logo in a dashed ring */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero {
  border: 0;
  border-radius: 2rem;
  box-shadow: var(--shadow-lg);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-banner {
  position: relative;
  height: 8rem;
  background: linear-gradient(135deg, #ffb3c7, #f0679a 55%, #c9a7f5);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 11rem;
  background: var(--surface2);
}

@media (min-width: 640px) {
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 15.5rem;
  }
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-banner::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 0.625rem;
  background: radial-gradient(circle at 50% 100%, var(--surface) 0.5rem, transparent 0.53rem) 0 100% / 1rem 0.625rem repeat-x;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-logo {
  border-radius: 9999px;
  outline: 2px dashed var(--accent);
  outline-offset: 3px;
  box-shadow: var(--shadow-md);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-name {
  margin-top: 1rem;
  font-size: 1.75rem;
  color: var(--accent2);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip {
  color: var(--accent2);
  background: var(--surface2);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip svg {
  color: var(--accent);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip--action {
  background: var(--surface);
  border: 1.5px dashed color-mix(in srgb, var(--accent) 50%, transparent);
  box-shadow: none;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip--whatsapp {
  color: #ffffff;
  background: #25d366;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip--whatsapp svg {
  color: #ffffff;
}

/* Banners: dashed pink ring around a very round slide, title in a pink pill on top */
[data-store-design='sweet'] .store-page-restaurant .store-banners {
  padding: 6px;
}

[data-store-design='sweet'] .store-page-restaurant .store-banners-track {
  border: 0;
  border-radius: 2rem;
  outline: 2px dashed color-mix(in srgb, var(--accent) 60%, transparent);
  outline-offset: 4px;
}

[data-store-design='sweet'] .store-page-restaurant .store-banner-title {
  top: 0.75rem;
  right: auto;
  bottom: auto;
  left: 50%;
  width: max-content;
  max-width: 85%;
  padding: 0.3rem 1rem;
  transform: translateX(-50%);
  font-size: 0.8125rem;
  text-align: center;
  background: var(--accent);
  border-radius: 9999px;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-search {
  border: 1.5px dashed color-mix(in srgb, var(--accent) 45%, transparent);
  box-shadow: none;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-search:focus {
  border-style: solid;
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(240, 103, 154, 0.14);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-tab {
  color: var(--accent2);
  border: 1.5px dashed color-mix(in srgb, var(--accent) 45%, transparent);
  box-shadow: none;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  color: #ffffff;
  background: var(--accent);
  border-style: solid;
  border-color: transparent;
  box-shadow: 0 6px 16px rgba(240, 103, 154, 0.35);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-tab-count {
  color: var(--accent2);
}

/* Section title led by three candy dots */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title::before {
  width: 0.5rem;
  height: 0.5rem;
  margin-inline-end: 1.625rem;
  border-radius: 9999px;
  background: #f0679a;
  box-shadow: -0.75rem 0 0 #8fd6b6, -1.5rem 0 0 #ffd166;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-section-count {
  color: var(--accent2);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-list {
  gap: 1rem;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card {
  border: 0;
  border-radius: 1.75rem;
  background: #ffe9ef;
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card:nth-child(4n + 2) { background: #e3f6ec; }
[data-store-design='sweet'] .store-page-restaurant .store-emenu-card:nth-child(4n + 3) { background: #fff4d2; }
[data-store-design='sweet'] .store-page-restaurant .store-emenu-card:nth-child(4n + 4) { background: #efe9ff; }

@media (hover: hover) {
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card:hover {
    transform: translateY(-5px) rotate(-1.5deg);
    box-shadow: var(--shadow-lg);
  }
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-img {
  margin: 0.5rem 0.5rem 0;
  aspect-ratio: 1;
  border-radius: 1.375rem;
  background: rgba(255, 255, 255, 0.6);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-ph {
  color: var(--accent);
  background: rgba(255, 255, 255, 0.6);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-price {
  color: var(--accent2);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-add {
  border-radius: 9999px;
  background: #ffffff;
  color: var(--accent2);
  box-shadow: 0 4px 10px rgba(217, 74, 130, 0.25);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  filter: none;
  background: var(--accent);
  color: #ffffff;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-load-more-btn {
  border: 1.5px dashed var(--accent);
  box-shadow: none;
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-panel {
  border-radius: 2rem 2rem 0 0;
}

@media (min-width: 640px) {
  [data-store-design='sweet'] .store-page-restaurant .store-dish-panel {
    border-radius: 2rem;
  }
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-name {
  color: var(--accent2);
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-option {
  border-color: transparent;
  border-radius: 1.25rem;
  background: var(--surface2);
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  border-color: var(--accent);
  background: var(--surface);
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-cta {
  background: linear-gradient(135deg, #f58fb3, var(--accent2));
  box-shadow: 0 8px 20px rgba(217, 74, 130, 0.3);
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
  box-shadow: none;
}

@keyframes sweet-rise {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}

@keyframes sweet-jelly {
  0% { opacity: 0; transform: scale(0.3); }
  50% { opacity: 1; transform: scale(1.14, 0.88); }
  70% { transform: scale(0.94, 1.07); }
  85% { transform: scale(1.03, 0.98); }
  100% { opacity: 1; transform: none; }
}

@keyframes sweet-wiggle {
  0%, 100% { transform: rotate(-4deg); }
  50% { transform: rotate(4deg); }
}

@keyframes sweet-dots {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes sweet-pop {
  from { opacity: 0; transform: translateY(22px) scale(0.85); }
  to { opacity: 1; transform: none; }
}

@keyframes sweet-squish {
  0%, 100% { transform: none; }
  40% { transform: scale(1.2, 0.85); }
  70% { transform: scale(0.9, 1.12); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-hero {
    animation: sweet-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-logo {
    animation:
      sweet-jelly 0.8s ease-out 0.2s backwards,
      sweet-wiggle 3.5s ease-in-out 1.2s infinite;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-name {
    animation: sweet-jelly 0.7s ease-out 0.4s backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-desc {
    animation: sweet-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.5s backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-chip {
    animation: sweet-jelly 0.6s ease-out 0.6s backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(2) { animation-delay: 0.7s; }
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(3) { animation-delay: 0.8s; }
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(4) { animation-delay: 0.9s; }

  [data-store-design='sweet'] .store-page-restaurant .store-banners {
    animation: sweet-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.3s backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
    animation: sweet-squish 0.45s ease-out;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title {
    animation: sweet-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title::before {
    animation: sweet-dots 1.2s ease-in-out infinite;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card {
    animation: sweet-jelly 0.7s ease-out backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.08s; }
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.16s; }
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card:nth-child(n + 4) { animation-delay: 0.24s; }

  @supports (animation-timeline: view()) {
    [data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title,
    [data-store-design='sweet'] .store-page-restaurant .store-emenu-card {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: ease-out;
      animation-timeline: view();
      animation-range: entry 0% entry 90%;
    }

    [data-store-design='sweet'] .store-page-restaurant .store-emenu-card {
      animation-name: sweet-pop;
    }
  }

  @media (hover: hover) {
    [data-store-design='sweet'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img img {
      transform: scale(1.08) rotate(2deg);
    }

    [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
      animation: sweet-squish 0.5s ease-out;
    }
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-incart,
  [data-store-design='sweet'] .store-page-restaurant .store-header-cart-badge {
    animation: sweet-jelly 0.6s ease-out;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-dish-scroll > * {
    animation: sweet-rise 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.12s backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-dish-option[data-selected='true'] .store-dish-option-mark {
    animation: sweet-squish 0.4s ease-out;
  }
}

/* ── grill: upgrade — fire-gradient titles, grill marks, rising embers ── */
[data-store-design='grill'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image:
    radial-gradient(ellipse 85% 22rem at 50% 0, rgba(255, 77, 46, 0.2), transparent 70%),
    repeating-linear-gradient(115deg, rgba(255, 255, 255, 0.018) 0 2px, transparent 2px 22px);
  background-repeat: no-repeat, repeat;
}

[data-store-design='grill'] .store-page-restaurant .store-header-name {
  font-weight: 900;
}

/* Embers drifting up over the hero */
[data-store-design='grill'] .store-page-restaurant .store-emenu-hero::before {
  content: '';
  position: absolute;
  inset: 0 0 -1rem;
  z-index: 1;
  opacity: 0.75;
  pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(255, 176, 46, 0.95) 0 1.5px, transparent 2.5px),
    radial-gradient(circle, rgba(255, 106, 61, 0.9) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(255, 214, 140, 0.9) 0 1px, transparent 2px);
  background-position: 30px 0, 110px 0, 70px 0;
  background-size: 200px 300px, 260px 420px, 180px 360px;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 35%, #000 80%, transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 35%, #000 80%, transparent 100%);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-body {
  position: relative;
  z-index: 2;
}

/* Grill marks across the cover */
[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: repeating-linear-gradient(115deg, rgba(0, 0, 0, 0.22) 0 6px, transparent 6px 46px);
  mix-blend-mode: multiply;
  pointer-events: none;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-logo {
  width: 6rem;
  height: 6rem;
  margin-top: -4.25rem;
}

/* Name and section titles painted in fire */
[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-name {
  font-size: 2.375rem;
  color: transparent;
  background: linear-gradient(180deg, #fff3ea 30%, #ffb02e 70%, #ff4d2e 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-hero-name::after {
  width: 6rem;
  height: 6px;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-chip {
  font-weight: 800;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-search {
  border-color: color-mix(in srgb, var(--accent) 22%, transparent);
  background: var(--surface);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-tabs-sticky {
  background: color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  background: linear-gradient(110deg, #ffb02e, #ff4d2e, #e2341d, #ff4d2e, #ffb02e) 0 0 / 300% 100%;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-tab[data-active='true'] .store-emenu-tab-count {
  background: rgba(0, 0, 0, 0.22);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-section-title {
  margin: 2rem 0 1rem;
  font-size: 1.625rem;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-section-title::after {
  content: '';
  flex: 1;
  height: 2px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 6px) 100%, 0 100%);
  background: linear-gradient(to left, color-mix(in srgb, var(--accent) 70%, transparent), transparent);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-section-count {
  color: #ffffff;
  background: linear-gradient(135deg, #ff6a3d, #e2341d);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-list {
  gap: 1rem 0.875rem;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card {
  background: linear-gradient(180deg, #2a201a, var(--surface));
  border-color: rgba(255, 200, 150, 0.08);
}

/* Dish already in the cart: burning edge */
[data-store-design='grill'] .store-page-restaurant .store-emenu-card:has(.store-emenu-card-incart) {
  border-color: var(--accent);
  box-shadow: 0 0 22px rgba(255, 77, 46, 0.35);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-img {
  position: relative;
}

/* Hot sheen that sweeps the photo */
[data-store-design='grill'] .store-page-restaurant .store-emenu-card-img::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  transform: translateX(-130%) skewX(-20deg);
  background: linear-gradient(90deg, transparent 30%, rgba(255, 160, 80, 0.4) 50%, transparent 70%);
  pointer-events: none;
}

/* Glow rising from the bottom of the photo */
[data-store-design='grill'] .store-page-restaurant .store-emenu-card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(226, 52, 29, 0.38));
  pointer-events: none;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-incart,
[data-store-design='grill'] .store-page-restaurant .store-emenu-card-badge {
  z-index: 2;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-incart {
  background: linear-gradient(135deg, #ff8a2e, #e2341d);
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-body {
  padding-top: 0.5rem;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-name {
  font-size: 1.03125rem;
  font-weight: 900;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-price {
  padding: 0.25rem 0.875rem 0.3125rem 0.75rem;
  font-size: 1rem;
  font-weight: 900;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-card-add {
  width: 2.5rem;
  height: 2.5rem;
  background: linear-gradient(135deg, #ffb02e, #ff4d2e, #e2341d) 0 0 / 200% 200%;
}

[data-store-design='grill'] .store-page-restaurant .store-emenu-load-more-btn {
  border: 2px solid var(--accent);
  font-weight: 900;
}

[data-store-design='grill'] .store-page-restaurant .store-dish-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 60%, var(--surface));
  pointer-events: none;
}

[data-store-design='grill'] .store-page-restaurant .store-dish-name {
  font-size: 1.625rem;
  color: transparent;
  background: linear-gradient(180deg, #fff3ea 35%, #ffb02e 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

[data-store-design='grill'] .store-page-restaurant .store-dish-price {
  width: fit-content;
  margin-top: 0.625rem;
  padding: 0.1875rem 1rem 0.3125rem 0.875rem;
  color: #ffffff;
  background: linear-gradient(135deg, #ff6a3d, #e2341d);
  clip-path: polygon(0.5rem 0, 100% 0, calc(100% - 0.5rem) 100%, 0 100%);
}

[data-store-design='grill'] .store-page-restaurant .store-dish-price--muted {
  color: var(--muted);
  background: var(--surface2);
}

[data-store-design='grill'] .store-page-restaurant .store-dish-price-old {
  color: rgba(255, 255, 255, 0.75);
}

[data-store-design='grill'] .store-page-restaurant .store-dish-group {
  border-top-color: color-mix(in srgb, var(--accent) 25%, transparent);
}

[data-store-design='grill'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  border-color: var(--accent);
  box-shadow: 0 0 18px rgba(255, 77, 46, 0.22);
}

[data-store-design='grill'] .store-page-restaurant .store-dish-cta {
  font-weight: 900;
  background: linear-gradient(110deg, #ffb02e, #ff4d2e, #e2341d, #ff4d2e, #ffb02e) 0 0 / 300% 100%;
}

[data-store-design='grill'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
}

/* ── grill: more animation ── */
@keyframes grill-embers {
  from { background-position: 30px 0, 110px 0, 70px 0; }
  to { background-position: 30px -300px, 110px -420px, 70px -360px; }
}

@keyframes grill-fire-run {
  to { background-position: 300% 0; }
}

@keyframes grill-heat {
  0%, 100% { background-position: 0 0; }
  50% { background-position: 100% 100%; }
}

@keyframes grill-sizzle {
  from { transform: translateX(-130%) skewX(-20deg); }
  to { transform: translateX(130%) skewX(-20deg); }
}

@keyframes grill-photo-in {
  from { transform: scale(1.18); filter: brightness(1.5) saturate(1.3); }
  to { transform: scale(1); filter: none; }
}

@keyframes grill-line {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes grill-stamp {
  0% { opacity: 0; transform: scale(1.6) rotate(-6deg); }
  70% { opacity: 1; transform: scale(0.96); }
  100% { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='grill'] .store-page-restaurant .store-emenu-hero::before {
    animation: grill-embers 9s linear infinite;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-hero-banner {
    animation: grill-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  /* Flame runs through the active tab and the order button */
  [data-store-design='grill'] .store-page-restaurant .store-emenu-tab[data-active='true'],
  [data-store-design='grill'] .store-page-restaurant .store-dish-cta:not(:disabled) {
    animation: grill-fire-run 4s linear infinite;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-card-add {
    animation: grill-heat 3s ease-in-out infinite;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-section-title::after {
    transform-origin: right center;
    animation: grill-line 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards;
  }

  /* Photo flashes hot as it lands, then a sizzle sweeps across */
  [data-store-design='grill'] .store-page-restaurant .store-emenu-card-img img {
    animation: grill-photo-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-card-img::before {
    animation: grill-sizzle 0.9s ease-out 0.4s backwards;
  }

  @supports (animation-timeline: view()) {
    [data-store-design='grill'] .store-page-restaurant .store-emenu-section-title::after,
    [data-store-design='grill'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='grill'] .store-page-restaurant .store-emenu-card-img::before {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: linear;
      animation-timeline: view();
      animation-range: entry 0% cover 35%;
    }

    [data-store-design='grill'] .store-page-restaurant .store-emenu-card-img::before {
      animation-range: entry 50% cover 55%;
    }
  }

  @media (hover: hover) {
    [data-store-design='grill'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img::before {
      animation: grill-sizzle 0.8s ease-out;
    }
  }

  [data-store-design='grill'] .store-page-restaurant .store-emenu-card-incart {
    animation: grill-stamp 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  }

  [data-store-design='grill'] .store-page-restaurant .store-header-cart-badge {
    animation: grill-stamp 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  }

  [data-store-design='grill'] .store-page-restaurant .store-dish-price {
    transform-origin: right center;
    animation: grill-tag 0.4s cubic-bezier(0.22, 1, 0.36, 1) 0.3s backwards;
  }

  [data-store-design='grill'] .store-page-restaurant .store-dish-option[data-selected='true'] .store-dish-option-mark {
    animation: grill-stamp 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  }
}

/* Dish cards clip their content (overflow: hidden), which makes each card its own
   scroll container: a plain view() timeline on anything inside it would never
   advance. Those inner pieces follow the card's own timeline instead. */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .store-page-restaurant .store-emenu-card {
      view-timeline: --dish-card block;
    }

    [data-store-design='classic'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='classic'] .store-page-restaurant .store-emenu-card-add,
    [data-store-design='noir'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='noir'] .store-page-restaurant .store-emenu-card-img::before,
    [data-store-design='garden'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='garden'] .store-page-restaurant .store-emenu-card-ph,
    [data-store-design='garden'] .store-page-restaurant .store-emenu-card-body,
    [data-store-design='bistro'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='grill'] .store-page-restaurant .store-emenu-card-price,
    [data-store-design='grill'] .store-page-restaurant .store-emenu-card-img img,
    [data-store-design='grill'] .store-page-restaurant .store-emenu-card-img::before {
      animation-timeline: --dish-card;
    }
  }
}

/* ── marine: upgrade — deeper water tones, layered waves, rimmed plates ── */
[data-store-design='marine'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image:
    radial-gradient(ellipse 90% 22rem at 50% 0, rgba(14, 148, 166, 0.18), transparent 70%),
    linear-gradient(180deg, transparent 60%, rgba(14, 148, 166, 0.08));
  background-repeat: no-repeat;
}

[data-store-design='marine'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 74%, transparent);
  backdrop-filter: saturate(1.5) blur(18px);
  -webkit-backdrop-filter: saturate(1.5) blur(18px);
}

[data-store-design='marine'] .store-page-restaurant .store-header-name {
  color: var(--accent2);
}

[data-store-design='marine'] .store-page-restaurant .store-header-icon-btn--accent {
  background: linear-gradient(135deg, #14507a, var(--accent2));
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero {
  margin-bottom: 1.5rem;
}

/* Sea-blue wash over the foot of the cover, then two wave layers */
[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner {
  overflow: hidden;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 12.5rem;
}

@media (min-width: 640px) {
  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 18rem;
  }
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse 1.75rem 1.125rem at 50% 100%, rgba(37, 192, 212, 0.55) 97%, transparent 100%) 0.875rem 100% / 3.5rem 1.125rem repeat-x,
    linear-gradient(180deg, transparent 45%, rgba(11, 42, 74, 0.45));
  pointer-events: none;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner::after {
  z-index: 2;
}

/* Bubbles rising through the hero */
[data-store-design='marine'] .store-page-restaurant .store-emenu-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  pointer-events: none;
  background-image:
    radial-gradient(circle, transparent 3px, rgba(255, 255, 255, 0.75) 3px 4px, transparent 4.5px),
    radial-gradient(circle, transparent 2px, rgba(37, 192, 212, 0.7) 2px 3px, transparent 3.5px),
    radial-gradient(circle, transparent 5px, rgba(255, 255, 255, 0.5) 5px 6px, transparent 6.5px);
  background-position: 40px 0, 130px 0, 90px 0;
  background-size: 190px 280px, 240px 360px, 300px 440px;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 25%, #000 55%, transparent 75%);
  mask-image: linear-gradient(180deg, transparent 0, #000 25%, #000 55%, transparent 75%);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-body {
  position: relative;
  z-index: 4;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-logo {
  width: 6rem;
  height: 6rem;
  margin-top: -3.5rem;
  box-shadow: 0 0 0 3px var(--accent), 0 0 0 8px rgba(14, 148, 166, 0.16), var(--shadow-lg);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-hero-name {
  font-size: 1.75rem;
  color: transparent;
  background: linear-gradient(120deg, var(--accent2) 30%, #14507a 55%, var(--accent) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-chip {
  background: linear-gradient(180deg, #eef7fa, var(--surface2));
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-chip--action {
  background: var(--surface);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-chip--whatsapp {
  background: #25d366;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-tabs-sticky {
  background: color-mix(in srgb, var(--bg) 80%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-tab {
  position: relative;
  overflow: hidden;
  transition: color 0.2s ease, background 0.25s ease, transform 0.12s ease;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  background: linear-gradient(135deg, #14507a, var(--accent2));
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-tab[data-active='true'] .store-emenu-tab-count {
  color: var(--accent2);
  background: #7fe0ec;
}

/* Section title led by two bubbles */
[data-store-design='marine'] .store-page-restaurant .store-emenu-section-title {
  font-size: 1.375rem;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-section-title::before {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  margin-inline-end: 0.75rem;
  border: 2px solid var(--accent);
  border-radius: 9999px;
  background: transparent;
  box-shadow: -0.8125rem 0.3125rem 0 -0.21875rem var(--accent);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-section-count {
  color: var(--accent2);
  background: var(--surface2);
}

/* Cards: pale water at the foot, plate with a turquoise rim */
[data-store-design='marine'] .store-page-restaurant .store-emenu-card {
  background: linear-gradient(180deg, var(--surface) 55%, #eaf6f9);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0.75rem;
  border-radius: 0 0 1.5rem 1.5rem;
  background: radial-gradient(ellipse 0.875rem 0.625rem at 50% 100%, rgba(14, 148, 166, 0.2) 97%, transparent 100%) 0 100% / 1.75rem 0.625rem repeat-x;
  pointer-events: none;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-img {
  outline: 1.5px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 3px;
  box-shadow: 0 14px 26px -6px rgba(11, 42, 74, 0.32);
}

/* Dish already in the cart: solid rim */
[data-store-design='marine'] .store-page-restaurant .store-emenu-card:has(.store-emenu-card-incart) .store-emenu-card-img {
  outline: 3px solid var(--accent);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-name {
  color: var(--accent2);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-body {
  padding-bottom: 1.125rem;
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-card-add {
  position: relative;
  z-index: 1;
  background: var(--surface);
}

[data-store-design='marine'] .store-page-restaurant .store-emenu-load-more-btn {
  border-color: transparent;
  background: var(--surface2);
  box-shadow: none;
}

/* Dish sheet: wave between the photo and the details */
[data-store-design='marine'] .store-page-restaurant .store-dish-media::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 0.875rem;
  background: radial-gradient(ellipse 1.25rem 0.875rem at 50% 100%, var(--surface) 97%, transparent 100%) 0 100% / 2.5rem 0.875rem repeat-x;
  pointer-events: none;
}

[data-store-design='marine'] .store-page-restaurant .store-dish-name {
  color: var(--accent2);
}

[data-store-design='marine'] .store-page-restaurant .store-dish-option {
  border-color: transparent;
  background: var(--surface2);
}

[data-store-design='marine'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  border-color: var(--accent);
  box-shadow: 0 6px 18px rgba(14, 148, 166, 0.16);
}

[data-store-design='marine'] .store-page-restaurant .store-dish-cta {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #14507a, var(--accent2));
}

[data-store-design='marine'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
}

/* ── marine: more animation ── */
@keyframes marine-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes marine-bubbles {
  from { background-position: 40px 0, 130px 0, 90px 0; }
  to { background-position: 40px -280px, 130px -360px, 90px -440px; }
}

@keyframes marine-wave-back {
  from { background-position: 0.875rem 100%, 0 0; }
  to { background-position: -2.625rem 100%, 0 0; }
}

@keyframes marine-ripple {
  0% { box-shadow: 0 0 0 3px var(--accent), 0 0 0 4px rgba(14, 148, 166, 0.45), 0 18px 44px rgba(11, 42, 74, 0.14); }
  100% { box-shadow: 0 0 0 3px var(--accent), 0 0 0 18px rgba(14, 148, 166, 0), 0 18px 44px rgba(11, 42, 74, 0.14); }
}

@keyframes marine-drift {
  to { background-position: 1.75rem 100%; }
}

@keyframes marine-bubble-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes marine-glint {
  0%, 65% { transform: translateX(-130%) skewX(-18deg); }
  100% { transform: translateX(130%) skewX(-18deg); }
}

@keyframes marine-splash {
  0% { transform: scale(0.9); }
  60% { transform: scale(1.06); }
  100% { transform: none; }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero::before {
    animation: marine-bubbles 11s linear infinite;
  }

  /* Back wave rolls the other way, slower than the front one */
  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-banner::before {
    animation: marine-wave-back 5s linear infinite;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-cover {
    animation: marine-bob 9s ease-in-out infinite;
    scale: 1.06;
  }

  /* Ripple spreading out from the logo */
  [data-store-design='marine'] .store-page-restaurant .store-emenu-hero-logo {
    animation:
      marine-plate 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards,
      marine-bob 4s ease-in-out 1.2s infinite,
      marine-ripple 2.6s ease-out 1.2s infinite;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-chip {
    animation: marine-rise 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.55s backwards;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-chip:nth-child(2) { animation-delay: 0.63s; }
  [data-store-design='marine'] .store-page-restaurant .store-emenu-chip:nth-child(3) { animation-delay: 0.71s; }
  [data-store-design='marine'] .store-page-restaurant .store-emenu-chip:nth-child(4) { animation-delay: 0.79s; }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
    animation: marine-splash 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  /* Light glints across the active tab and the order button */
  [data-store-design='marine'] .store-page-restaurant .store-emenu-tab[data-active='true']::after,
  [data-store-design='marine'] .store-page-restaurant .store-dish-cta:not(:disabled)::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 30%, rgba(127, 224, 236, 0.5) 50%, transparent 70%);
    pointer-events: none;
    animation: marine-glint 4s ease-in-out infinite;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-section-title::before {
    animation: marine-bubble-bob 2.4s ease-in-out infinite;
  }

  /* Water at the foot of each card drifts */
  [data-store-design='marine'] .store-page-restaurant .store-emenu-card::after {
    animation: marine-drift 2.5s linear infinite;
  }

  [data-store-design='marine'] .store-page-restaurant .store-emenu-card-add:not(:disabled):active {
    animation: marine-splash 0.3s ease-out;
  }

  /* Opacity only: the badge is centred with a transform */
  [data-store-design='marine'] .store-page-restaurant .store-emenu-card-incart {
    animation: marine-fade 0.4s ease;
  }

  [data-store-design='marine'] .store-page-restaurant .store-dish-media::after {
    animation: marine-wave 3s linear infinite;
  }

  [data-store-design='marine'] .store-page-restaurant .store-dish-scroll > *:nth-child(2) { animation-delay: 0.2s; }
  [data-store-design='marine'] .store-page-restaurant .store-dish-scroll > *:nth-child(n + 3) { animation-delay: 0.28s; }

  [data-store-design='marine'] .store-page-restaurant .store-dish-option[data-selected='true'] .store-dish-option-mark {
    animation: marine-splash 0.3s ease-out;
  }
}

/* ── sweet: upgrade — icing edges, candy stripes, falling sprinkles ── */
[data-store-design='sweet'] .store-page-restaurant:not(.store-dish-overlay) {
  background-image:
    radial-gradient(ellipse 90% 22rem at 50% 0, rgba(240, 103, 154, 0.16), transparent 70%),
    radial-gradient(#ffd1dc 2px, transparent 2.5px),
    radial-gradient(#cdeedd 2px, transparent 2.5px),
    radial-gradient(#ffe7a8 2px, transparent 2.5px);
  background-position: 0 0, 0 0, 14px 20px, 30px 8px;
  background-size: auto, 44px 44px, 44px 44px, 44px 44px;
  background-repeat: no-repeat, repeat, repeat, repeat;
}

[data-store-design='sweet'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 76%, transparent);
  backdrop-filter: saturate(1.5) blur(18px);
  -webkit-backdrop-filter: saturate(1.5) blur(18px);
}

[data-store-design='sweet'] .store-page-restaurant .store-header-name {
  color: var(--accent2);
}

[data-store-design='sweet'] .store-page-restaurant .store-header-icon-btn--accent {
  background: linear-gradient(135deg, #f58fb3, var(--accent2));
  box-shadow: 0 6px 16px rgba(217, 74, 130, 0.3);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero {
  margin-bottom: 1.5rem;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-banner {
  overflow: hidden;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 12rem;
}

@media (min-width: 640px) {
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 17rem;
  }
}

/* Pink glaze over the foot of the cover */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 50%, rgba(240, 103, 154, 0.38));
  pointer-events: none;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-banner::after {
  z-index: 2;
  height: 0.75rem;
  background: radial-gradient(circle at 50% 100%, var(--surface) 0.625rem, transparent 0.66rem) 0 100% / 1.25rem 0.75rem repeat-x;
}

/* Sprinkles falling through the hero */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  pointer-events: none;
  background-image:
    radial-gradient(ellipse 4px 2px, #f0679a 98%, transparent),
    radial-gradient(ellipse 2px 4px, #8fd6b6 98%, transparent),
    radial-gradient(ellipse 4px 2px, #ffd166 98%, transparent),
    radial-gradient(ellipse 2px 4px, #c9a7f5 98%, transparent);
  background-position: 20px 0, 90px 0, 150px 0, 60px 0;
  background-size: 170px 240px, 210px 300px, 250px 360px, 290px 420px;
  -webkit-mask-image: linear-gradient(180deg, #000 0, #000 45%, transparent 70%);
  mask-image: linear-gradient(180deg, #000 0, #000 45%, transparent 70%);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-body {
  position: relative;
  z-index: 4;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-logo {
  width: 6rem;
  height: 6rem;
  margin-top: -3rem;
  border-width: 5px;
  box-shadow: 0 0 0 9px rgba(240, 103, 154, 0.14), var(--shadow-md);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-name {
  margin-top: 1.125rem;
  font-size: 1.875rem;
  color: transparent;
  background: linear-gradient(100deg, #d94a82 0%, #f0679a 30%, #b68cf0 55%, #f0679a 80%, #d94a82 100%) 0 0 / 250% 100%;
  -webkit-background-clip: text;
  background-clip: text;
}

/* Chips in different candy colours */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(4n + 2) {
  color: #2f7d5c;
  background: #dff5ea;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(4n + 2) svg {
  color: #3fa57a;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(4n + 3) {
  color: #8a6400;
  background: #fff1c9;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(4n + 3) svg {
  color: #c99700;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip.store-emenu-chip--whatsapp {
  color: #ffffff;
  background: #25d366;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-chip.store-emenu-chip--whatsapp svg {
  color: #ffffff;
}

[data-store-design='sweet'] .store-page-restaurant .store-banners-track {
  box-shadow: var(--shadow-md);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-search {
  background: var(--surface);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-tabs-sticky {
  background: color-mix(in srgb, var(--bg) 80%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-tab {
  background: var(--surface);
}

/* Active tab: candy stripes */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  background: repeating-linear-gradient(-45deg, #f0679a 0 10px, #f58fb3 10px 20px) 0 0 / 28.28px 100%;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-tab[data-active='true'] .store-emenu-tab-count {
  color: var(--accent2);
  background: #ffffff;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title {
  margin: 2rem 0 1rem;
  font-size: 1.375rem;
  color: var(--accent2);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title::before {
  width: 0.5625rem;
  height: 0.5625rem;
  margin-inline-end: 1.875rem;
  box-shadow: -0.875rem 0 0 #8fd6b6, -1.75rem 0 0 #ffd166;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title::after {
  content: '';
  flex: 1;
  height: 0;
  border-top: 2px dashed color-mix(in srgb, var(--accent) 35%, transparent);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-section-count {
  background: var(--surface);
}

/* Cards: each keeps its candy colour in a variable so the lace edge can match it */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-card {
  --card-bg: #ffe9ef;
  --card-ink: #d94a82;
  background: var(--card-bg);
  border-radius: 2rem;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card:nth-child(4n + 2) {
  --card-bg: #e3f6ec;
  --card-ink: #2f8f68;
  background: var(--card-bg);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card:nth-child(4n + 3) {
  --card-bg: #fff4d2;
  --card-ink: #b98300;
  background: var(--card-bg);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card:nth-child(4n + 4) {
  --card-bg: #efe9ff;
  --card-ink: #7b55c7;
  background: var(--card-bg);
}

/* Dish already in the cart: dashed ring */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-card:has(.store-emenu-card-incart) {
  outline: 2.5px dashed var(--card-ink);
  outline-offset: -2.5px;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-img {
  border-radius: 1.5rem;
}

/* Lace edge along the foot of the photo */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-img::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 0.5rem;
  background: radial-gradient(circle at 50% 100%, var(--card-bg) 0.375rem, transparent 0.4rem) 0 100% / 0.75rem 0.5rem repeat-x;
  pointer-events: none;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-ph {
  color: var(--card-ink);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-incart {
  bottom: 0.875rem;
  background: var(--card-ink);
  box-shadow: none;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-body {
  padding-top: 0.5rem;
}

/* Price in a white pill tinted with the card's colour */
[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-price {
  padding: 0.125rem 0.625rem;
  font-size: 0.875rem;
  color: var(--card-ink);
  background: #ffffff;
  border-radius: 9999px;
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-price--muted {
  color: var(--muted);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-add {
  width: 2.375rem;
  height: 2.375rem;
  color: #ffffff;
  background: var(--card-ink);
  border: 3px solid #ffffff;
  box-shadow: 0 4px 12px rgba(74, 42, 54, 0.18);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  background: var(--accent2);
}

[data-store-design='sweet'] .store-page-restaurant .store-emenu-load-more-btn {
  color: var(--accent2);
  background: var(--surface);
}

/* Dish sheet */
[data-store-design='sweet'] .store-page-restaurant .store-dish-media::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 0.75rem;
  background: radial-gradient(circle at 50% 100%, var(--surface) 0.625rem, transparent 0.66rem) 0 100% / 1.25rem 0.75rem repeat-x;
  pointer-events: none;
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-name {
  font-size: 1.5rem;
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-price {
  width: fit-content;
  padding: 0.125rem 0.875rem;
  color: var(--accent2);
  background: var(--surface2);
  border-radius: 9999px;
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-group {
  border-top: 2px dashed color-mix(in srgb, var(--accent) 30%, transparent);
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-tag[data-variant='required'] {
  color: #ffffff;
  background: var(--accent);
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-option[data-selected='true'] {
  box-shadow: 0 6px 18px rgba(240, 103, 154, 0.2);
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-stepper button {
  color: var(--accent2);
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-cta {
  background: repeating-linear-gradient(-45deg, #e2558c 0 12px, #ee6f9f 12px 24px) 0 0 / 33.94px 100%;
}

[data-store-design='sweet'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
}

/* ── sweet: more animation ── */
@keyframes sweet-sprinkles {
  from { background-position: 20px 0, 90px 0, 150px 0, 60px 0; }
  to { background-position: 20px 240px, 90px 300px, 150px 360px, 60px 420px; }
}

@keyframes sweet-stripes {
  to { background-position: 28.28px 0; }
}

@keyframes sweet-stripes-wide {
  to { background-position: 33.94px 0; }
}

@keyframes sweet-shimmer {
  to { background-position: -250% 0; }
}

@keyframes sweet-halo {
  0%, 100% { box-shadow: 0 0 0 9px rgba(240, 103, 154, 0.14), 0 8px 24px rgba(217, 74, 130, 0.1); }
  33% { box-shadow: 0 0 0 13px rgba(143, 214, 182, 0.28), 0 8px 24px rgba(217, 74, 130, 0.1); }
  66% { box-shadow: 0 0 0 9px rgba(255, 209, 102, 0.3), 0 8px 24px rgba(217, 74, 130, 0.1); }
}

@keyframes sweet-photo-in {
  from { opacity: 0; transform: scale(0.8) rotate(-8deg); }
  to { opacity: 1; transform: none; }
}

@keyframes sweet-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@keyframes sweet-heartbeat {
  0%, 100% { transform: scale(1); }
  15% { transform: scale(1.18); }
  30% { transform: scale(1); }
  45% { transform: scale(1.12); }
}

@keyframes sweet-dash-grow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-hero::before {
    animation: sweet-sprinkles 8s linear infinite;
  }

  /* Logo: jelly in, then wiggle while its halo cycles through candy colours */
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-logo {
    animation:
      sweet-jelly 0.8s ease-out 0.2s backwards,
      sweet-wiggle 3.5s ease-in-out 1.2s infinite,
      sweet-halo 4.5s ease-in-out 1.2s infinite;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-hero-name {
    animation:
      sweet-jelly 0.7s ease-out 0.4s backwards,
      sweet-shimmer 5s linear 1.2s infinite;
  }

  /* Chips keep floating gently, each on its own beat */
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-chip {
    animation:
      sweet-jelly 0.6s ease-out 0.6s backwards,
      sweet-float 3s ease-in-out 1.6s infinite;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(2) { animation-delay: 0.7s, 2s; }
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(3) { animation-delay: 0.8s, 2.4s; }
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-chip:nth-child(4) { animation-delay: 0.9s, 2.8s; }

  /* Candy stripes keep sliding on the active tab and the order button */
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
    animation:
      sweet-squish 0.45s ease-out,
      sweet-stripes 1.2s linear infinite;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-dish-cta:not(:disabled) {
    animation: sweet-stripes-wide 1.2s linear infinite;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title::after {
    transform-origin: right center;
    animation: sweet-dash-grow 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.2s backwards;
  }

  /* Photo twirls in, price and add button pop after it */
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-img {
    animation: sweet-photo-in 0.7s cubic-bezier(0.34, 1.4, 0.64, 1) 0.1s backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-price {
    animation: sweet-jelly 0.6s ease-out 0.3s backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-add {
    animation: sweet-jelly 0.6s ease-out 0.4s backwards;
  }

  @supports (animation-timeline: view()) {
    [data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title::after,
    [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-img,
    [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-price,
    [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-add {
      animation-duration: 1ms;
      animation-delay: 0s;
      animation-timing-function: linear;
      animation-timeline: --dish-card;
      animation-range: entry 20% cover 35%;
    }

    [data-store-design='sweet'] .store-page-restaurant .store-emenu-section-title::after {
      animation-timeline: view();
      animation-range: entry 0% cover 30%;
    }

    [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-price {
      animation-range: entry 60% cover 40%;
    }

    [data-store-design='sweet'] .store-page-restaurant .store-emenu-card-add {
      animation-range: entry 70% cover 45%;
    }
  }

  /* In-cart dishes: the add button beats like a heart */
  [data-store-design='sweet'] .store-page-restaurant .store-emenu-card:has(.store-emenu-card-incart) .store-emenu-card-add {
    animation: sweet-heartbeat 1.6s ease-in-out infinite;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-dish-price {
    animation: sweet-jelly 0.6s ease-out 0.25s backwards;
  }

  [data-store-design='sweet'] .store-page-restaurant .store-dish-scroll > *:nth-child(n + 3) { animation-delay: 0.24s; }
}

/* ── street: second upgrade — sticker-wall cards, caution stripes ── */
[data-store-design='street'] .store-page-restaurant .store-emenu-hero-body {
  position: relative;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-logo {
  z-index: 1;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-name,
[data-store-design='street'] .store-page-restaurant .store-emenu-hero-desc,
[data-store-design='street'] .store-page-restaurant .store-emenu-hero-chips {
  position: relative;
  z-index: 1;
}

/* Halftone dots printed over the foot of the cover */
[data-store-design='street'] .store-page-restaurant .store-emenu-hero-banner {
  position: relative;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-hero-banner--photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(rgba(17, 17, 17, 0.55) 1.5px, transparent 2px) 0 0 / 8px 8px;
  -webkit-mask-image: linear-gradient(180deg, transparent 45%, #000 100%);
  mask-image: linear-gradient(180deg, transparent 45%, #000 100%);
  pointer-events: none;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-search {
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-search:focus {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 #111111;
}

/* Star riding at the end of each section label */
[data-store-design='street'] .store-page-restaurant .store-emenu-section-title::after {
  content: '★';
  margin-inline-start: 0.125rem;
  font-size: 1.125rem;
  line-height: 1;
  color: #ffd60a;
}

/* Cards pinned up slightly crooked, like stickers on a wall */
[data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(odd) {
  transform: rotate(-0.8deg);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(even) {
  transform: rotate(0.8deg);
}

@media (hover: hover) {
  [data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(n):hover {
    transform: translate(-2px, -3px) rotate(0deg) scale(1.02);
  }
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(n):not(.store-emenu-card--unavailable):active {
  transform: translate(3px, 3px);
}

/* Dish already in the cart: red shadow and a black add bar */
[data-store-design='street'] .store-page-restaurant .store-emenu-card:has(.store-emenu-card-incart) {
  box-shadow: 5px 5px 0 var(--accent);
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card:has(.store-emenu-card-incart) .store-emenu-card-add {
  background: #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-incart {
  background: var(--accent);
  border-color: #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-ph {
  background:
    repeating-conic-gradient(from 0deg at 50% 120%, rgba(17, 17, 17, 0.07) 0 6deg, transparent 6deg 12deg),
    radial-gradient(rgba(17, 17, 17, 0.35) 1px, transparent 1.5px) 0 0 / 9px 9px,
    var(--surface2);
}

/* Add bar: caution stripes appear on hover */
[data-store-design='street'] .store-page-restaurant .store-emenu-card-add {
  position: relative;
  overflow: hidden;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-add::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  background: repeating-linear-gradient(-45deg, #111111 0 8px, #ffd60a 8px 16px) 0 0 / 22.63px 100%;
  transition: opacity 0.15s ease;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-add svg {
  position: relative;
  z-index: 1;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  background: #111111;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover::before {
  opacity: 1;
}

[data-store-design='street'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover svg {
  padding: 2px;
  border-radius: 4px;
  background: #111111;
}

[data-store-design='street'] .store-page-restaurant .store-header-icon-btn--accent {
  border-color: #111111;
}

/* Dish sheet */
[data-store-design='street'] .store-page-restaurant .store-dish-option {
  transition: transform 0.1s ease, box-shadow 0.1s ease, background 0.15s ease;
}

[data-store-design='street'] .store-page-restaurant .store-dish-option:active {
  transform: translate(2px, 2px);
  box-shadow: none;
}

[data-store-design='street'] .store-page-restaurant .store-dish-stepper button:not(:disabled):active {
  transform: translate(1px, 1px);
}

[data-store-design='street'] .store-page-restaurant .store-dish-cta {
  position: relative;
  overflow: hidden;
}

[data-store-design='street'] .store-page-restaurant .store-dish-cta > * {
  position: relative;
  z-index: 1;
}

/* ── street: more animation ── */
@keyframes street-shake {
  0%, 88%, 100% { transform: rotate(-1.5deg); }
  90% { transform: rotate(-4deg) scale(1.05); }
  93% { transform: rotate(2deg) scale(1.05); }
  96% { transform: rotate(-3deg) scale(1.03); }
}

@keyframes street-sticker-idle {
  0%, 100% { transform: rotate(-6deg); }
  50% { transform: rotate(-2deg) translateY(-1px); }
}

@keyframes street-stripes {
  to { background-position: 22.63px 0; }
}

@keyframes street-star {
  0%, 100% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.3); }
}

@keyframes street-plus-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.35); }
}

@keyframes street-shine {
  0%, 70% { transform: translateX(-140%) skewX(-20deg); }
  100% { transform: translateX(140%) skewX(-20deg); }
}

@keyframes street-jiggle {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-6deg); }
  75% { transform: rotate(6deg); }
}

@keyframes street-chip-hop {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@media (prefers-reduced-motion: no-preference) {
  /* Name label: stamps in, then rattles every few seconds */
  [data-store-design='street'] .store-page-restaurant .store-emenu-hero-name {
    animation:
      street-stamp 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) 0.45s backwards,
      street-shake 6s ease-in-out 2s infinite;
  }

  /* Chips hop one after another */
  [data-store-design='street'] .store-page-restaurant .store-emenu-chip {
    animation:
      street-chip-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) 0.7s backwards,
      street-chip-hop 2.4s ease-in-out 1.6s infinite;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-chip:nth-child(2) { animation-delay: 0.78s, 1.9s; }
  [data-store-design='street'] .store-page-restaurant .store-emenu-chip:nth-child(3) { animation-delay: 0.86s, 2.2s; }
  [data-store-design='street'] .store-page-restaurant .store-emenu-chip:nth-child(4) { animation-delay: 0.94s, 2.5s; }

  [data-store-design='street'] .store-page-restaurant .store-emenu-section-title::after {
    display: inline-block;
    animation: street-star 3s ease-in-out infinite;
  }

  /* Price stickers sway on their pin */
  [data-store-design='street'] .store-page-restaurant .store-emenu-card-price {
    animation: street-sticker-idle 3.2s ease-in-out infinite;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card:nth-child(even) .store-emenu-card-price {
    animation-delay: -1.6s;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card-add svg {
    animation: street-plus-pulse 1.8s ease-in-out infinite;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover::before {
    animation: street-stripes 0.5s linear infinite;
  }

  [data-store-design='street'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover svg {
    animation: none;
  }

  @media (hover: hover) {
    [data-store-design='street'] .store-page-restaurant .store-header-icon-btn:hover svg,
    [data-store-design='street'] .store-page-restaurant .store-emenu-tab:not([data-active='true']):hover {
      animation: street-jiggle 0.35s ease-in-out;
    }

    [data-store-design='street'] .store-page-restaurant .store-emenu-card:hover .store-emenu-card-img img {
      transform: scale(1.1) rotate(-2deg);
    }
  }

  /* Shine crossing the order button */
  [data-store-design='street'] .store-page-restaurant .store-dish-cta:not(:disabled)::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 30%, rgba(255, 255, 255, 0.55) 50%, transparent 70%);
    pointer-events: none;
    animation: street-shine 3s ease-in-out infinite;
  }

  [data-store-design='street'] .store-page-restaurant .store-dish-name {
    animation: street-drop-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s backwards;
  }

  [data-store-design='street'] .store-page-restaurant .store-dish-option {
    animation: street-chip-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) 0.25s backwards;
  }

  [data-store-design='street'] .store-page-restaurant .store-dish-option:nth-child(2) { animation-delay: 0.31s; }
  [data-store-design='street'] .store-page-restaurant .store-dish-option:nth-child(3) { animation-delay: 0.37s; }
  [data-store-design='street'] .store-page-restaurant .store-dish-option:nth-child(n + 4) { animation-delay: 0.43s; }

  [data-store-design='street'] .store-page-restaurant .store-dish-option[data-selected='true'] {
    animation: street-tab-pop-flat 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  [data-store-design='street'] .store-page-restaurant .store-dish-stepper span {
    display: inline-block;
    animation: street-plus-pulse 0.25s ease-out;
  }
}

@keyframes street-tab-pop-flat {
  0% { transform: scale(0.96); }
  60% { transform: scale(1.03); }
  100% { transform: none; }
}

/* The order button's border and bold text leave less room: tighten it so the total fits */
[data-store-design='street'] .store-page-restaurant .store-dish-cta {
  gap: 0.375rem;
  padding: 0 0.5rem 0 0.625rem;
  font-size: 0.875rem;
}

[data-store-design='street'] .store-page-restaurant .store-dish-cta-total {
  padding: 0.1875rem 0.4375rem;
  font-size: 0.8125rem;
}

[data-store-design='street'] .store-page-restaurant .store-dish-footer {
  gap: 0.5rem;
}

/* grill: the photo's slanted cut clips its bottom corner, so the in-cart badge sits at the top */
[data-store-design='grill'] .store-page-restaurant .store-emenu-card-incart {
  top: 0.5rem;
  bottom: auto;
}

/* ══ Design: restora — the landing-page example: cream, brand orange, cover with emoji, dishes as compact rows ══ */
[data-store-design='restora'] .store-page-restaurant {
  --bg: #fff8f2;
  --surface: #ffffff;
  --surface2: #fff1e6;
  --border: rgba(23, 23, 23, 0.1);
  --accent: #ff6b35;
  --accent2: #f0521e;
  --text: #171717;
  --muted: #7d7873;
  --shadow-sm: 0 1px 2px rgba(23, 23, 23, 0.04);
  --shadow-md: 0 6px 18px rgba(23, 23, 23, 0.07);
  --shadow-lg: 0 16px 40px rgba(23, 23, 23, 0.1);
}

[data-store-design='restora'] .store-page-restaurant .store-header-minimal {
  background: color-mix(in srgb, var(--bg) 85%, transparent);
}

[data-store-design='restora'] .store-page-restaurant .store-header-minimal[data-compact='true'] {
  border-bottom-color: var(--border);
  box-shadow: var(--shadow-sm);
}

[data-store-design='restora'] .store-page-restaurant .store-header-icon-btn--accent {
  background: var(--accent);
  box-shadow: 0 2px 8px rgba(255, 107, 53, 0.3);
}

/* Hero: orange cover, logo tile overlapping its edge, details aligned to the start */
[data-store-design='restora'] .store-page-restaurant .store-emenu-hero {
  overflow: visible;
  margin-bottom: 1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-hero-banner {
  position: relative;
  height: 8rem;
  overflow: hidden;
  border-radius: 1.75rem;
  background: linear-gradient(135deg, #ff6b35, #ce4318);
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-hero-banner:not(.store-emenu-hero-banner--photo)::before {
  content: '🍕  🍔  🥗  🍰';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  word-spacing: 1.25rem;
  white-space: nowrap;
  opacity: 0.25;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-hero-banner--photo {
  height: 11rem;
  background: var(--surface2);
}

@media (min-width: 640px) {
  [data-store-design='restora'] .store-page-restaurant .store-emenu-hero-banner {
    height: 10rem;
  }

  [data-store-design='restora'] .store-page-restaurant .store-emenu-hero-banner--photo {
    height: 16rem;
  }
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-hero-body {
  align-items: flex-start;
  text-align: start;
  padding: 0 0.25rem;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-hero-logo {
  width: 4.5rem;
  height: 4.5rem;
  margin-top: -2.25rem;
  margin-inline-start: 0.75rem;
  border: 4px solid var(--bg);
  border-radius: 1.125rem;
  box-shadow: var(--shadow-md);
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-hero-logo--ph {
  color: var(--accent);
  background: var(--surface);
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-hero-name {
  font-size: 1.375rem;
  font-weight: 700;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-hero-desc {
  margin-top: 0.125rem;
}

/* Info card: details as rows with orange icons, call / WhatsApp as pills underneath */
[data-store-design='restora'] .store-page-restaurant .store-emenu-hero-chips {
  justify-content: flex-start;
  width: 100%;
  gap: 0.625rem;
  margin-top: 1rem;
  padding: 0.875rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 1rem;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-chip {
  flex: 1 1 100%;
  gap: 0.625rem;
  min-height: 0;
  padding: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: color-mix(in srgb, var(--text) 75%, transparent);
  background: transparent;
  border-radius: 0;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-chip svg {
  width: 1rem;
  height: 1rem;
  color: var(--accent);
}

[data-store-design='restora'] .store-page-restaurant button.store-emenu-chip {
  flex: 0 0 auto;
  gap: 0.375rem;
  min-height: 2.25rem;
  padding: 0.375rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 9999px;
  box-shadow: none;
}

[data-store-design='restora'] .store-page-restaurant button.store-emenu-chip--whatsapp {
  color: #ffffff;
  background: #25d366;
  border-color: transparent;
}

[data-store-design='restora'] .store-page-restaurant button.store-emenu-chip--whatsapp svg {
  color: #ffffff;
}

[data-store-design='restora'] .store-page-restaurant .store-banners-track {
  border-radius: 1.25rem;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-search {
  box-shadow: none;
}

/* Category pills */
[data-store-design='restora'] .store-page-restaurant .store-emenu-tabs-sticky {
  border-block: 1px solid rgba(23, 23, 23, 0.05);
  background: color-mix(in srgb, var(--bg) 95%, transparent);
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-tab {
  min-height: 2rem;
  padding: 0.375rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 500;
  box-shadow: none;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-tab[data-active='true'] {
  color: #ffffff;
  background: var(--accent);
  border-color: transparent;
  box-shadow: 0 1px 2px rgba(255, 107, 53, 0.25);
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-tab-count {
  display: none;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-section-title {
  margin: 1.5rem 0 0.625rem;
  font-size: 1rem;
  font-weight: 700;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-section-title::before {
  display: none;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-section-count {
  padding: 0;
  font-weight: 500;
  background: transparent;
}

/* Dishes: one compact row each — photo tile, text, round add button */
[data-store-design='restora'] .store-page-restaurant .store-emenu-list {
  grid-template-columns: 1fr;
  gap: 0.625rem;
}

@media (min-width: 768px) {
  [data-store-design='restora'] .store-page-restaurant .store-emenu-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card {
  flex-direction: row;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem;
  border-radius: 1rem;
  box-shadow: none;
}

@media (hover: hover) {
  [data-store-design='restora'] .store-page-restaurant .store-emenu-card:hover {
    transform: none;
    border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
    box-shadow: var(--shadow-md);
  }
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-media {
  flex-shrink: 0;
  width: 5rem;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-img {
  aspect-ratio: 1;
  border-radius: 0.75rem;
  background: #ffe9dc;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-ph {
  color: var(--accent);
  background: #ffe9dc;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-ph svg {
  width: 1.75rem;
  height: 1.75rem;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-incart {
  right: 0.25rem;
  bottom: 0.25rem;
  left: 0.25rem;
  padding: 0.125rem 0.25rem;
  font-size: 0.5625rem;
  text-align: center;
  white-space: nowrap;
  background: var(--accent);
  box-shadow: none;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-badge {
  top: 0.25rem;
  left: 0.25rem;
  padding: 0.125rem 0.375rem;
  font-size: 0.5625rem;
}

/* The footer's price joins the text column; its add button sits beside the whole column */
[data-store-design='restora'] .store-page-restaurant .store-emenu-card-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  column-gap: 0.75rem;
  min-width: 0;
  padding: 0;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-body > * {
  grid-column: 1;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-footer {
  display: contents;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-name {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-desc {
  margin-top: 0.125rem;
  font-size: 0.75rem;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-price {
  grid-column: 1;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  font-weight: 700;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-add {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  border-radius: 9999px;
  background: var(--accent);
  box-shadow: 0 1px 3px rgba(255, 107, 53, 0.3);
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-card-add:not(:disabled):hover {
  filter: none;
  background: var(--accent2);
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-load-more-btn {
  color: var(--accent2);
  box-shadow: none;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-skeleton-grid {
  grid-template-columns: 1fr;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-skeleton-card {
  display: flex;
  align-items: center;
  padding: 0.625rem;
  border-radius: 1rem;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-skeleton-card-img {
  flex-shrink: 0;
  width: 5rem;
  aspect-ratio: 1;
  border-radius: 0.75rem;
}

[data-store-design='restora'] .store-page-restaurant .store-emenu-skeleton-card-body {
  flex: 1;
  justify-content: center;
}

/* Dish sheet */
[data-store-design='restora'] .store-page-restaurant .store-dish-cta {
  border-radius: 1rem;
  background: var(--accent);
  box-shadow: 0 8px 20px rgba(255, 107, 53, 0.3);
}

[data-store-design='restora'] .store-page-restaurant .store-dish-cta:disabled {
  background: var(--surface2);
  box-shadow: none;
}

/* ── restora: animations — same gentle rise as the landing page ── */
@media (prefers-reduced-motion: no-preference) {
  [data-store-design='restora'] .store-page-restaurant .store-emenu-hero-banner {
    animation: restora-fade-in 0.7s ease backwards;
  }

  [data-store-design='restora'] .store-page-restaurant .store-emenu-hero-body {
    animation: restora-fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.1s backwards;
  }

  [data-store-design='restora'] .store-page-restaurant .store-emenu-card {
    animation: restora-fade-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
  }

  [data-store-design='restora'] .store-page-restaurant .store-emenu-card:nth-child(2) { animation-delay: 0.06s; }
  [data-store-design='restora'] .store-page-restaurant .store-emenu-card:nth-child(3) { animation-delay: 0.12s; }
  [data-store-design='restora'] .store-page-restaurant .store-emenu-card:nth-child(n + 4) { animation-delay: 0.18s; }
}

/* ══ Plain menu (settings.plainMenu): any design without logo, cover photo or promo banners ══ */
[data-store-plain='true'] .store-page-restaurant .store-header-brand img,
[data-store-plain='true'] .store-page-restaurant .store-header-logo-placeholder,
[data-store-plain='true'] .store-page-restaurant .store-emenu-hero-banner,
[data-store-plain='true'] .store-page-restaurant .store-emenu-hero-logo,
[data-store-plain='true'] .store-page-restaurant .store-banners {
  display: none !important;
}

/* The body no longer hangs under a cover, so it gets its own top spacing */
[data-store-plain='true'] .store-page-restaurant .store-emenu-hero-body {
  margin-top: 0 !important;
  padding-top: 1.5rem !important;
}

[data-store-plain='true'] .store-page-restaurant .store-emenu-hero-name {
  margin-top: 0 !important;
}
