html[data-template^="menu-"] {
  --business-pattern: none;
  --industry-line: color-mix(in srgb, var(--surface-ink) 17%, transparent);
  --industry-panel: color-mix(in srgb, var(--surface) 96%, var(--surface-ink));
}
html[data-template^="menu-"][data-header] .top {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: end;
  min-height: clamp(220px,33vw,390px);
  padding: clamp(20px,4vw,54px) 0;
  --cover-ink: #fffaf3;
}
html[data-template^="menu-"][data-header=compact] .top { min-height: 195px; }
html[data-template^="menu-"] .top::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(270deg, #110a08eb, #140b0870 48%, #180c0710), var(--industry-cover, none) center 48% / cover;
}
html[dir=ltr][data-template^="menu-"] .top::before {
  background-image: linear-gradient(90deg,#110a08eb,#140b0870 48%,#180c0710), var(--industry-cover, none);
}
html[data-template^="menu-"] .top-inner { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; text-align: start; }
html[data-template^="menu-"] .top-copy { text-align: start; }
html[data-template^="menu-"] .top .brand { align-items: center; justify-content: start; }
html[data-template^="menu-"] .brand h1 { font-size: clamp(32px,6vw,65px); overflow-wrap: anywhere; }
html[data-template^="menu-"] .top .latin { display: none; }
html[data-template^="menu-"] .top .lead { margin: 8px 0 0; max-width: 46ch; }
html[data-template^="menu-"] .top-actions { justify-content: start; flex-wrap: wrap; margin: 0; }
html[data-template^="menu-"] .section-head { border-color: var(--industry-line); }
html[data-template^="menu-"] .item, html[data-template^="menu-"] .category-card { background: var(--industry-panel); box-shadow: none; }
html[data-template^="menu-"] .item-copy { flex: 1; }
html[data-template^="menu-"] .section { scroll-margin-top: 90px; }

html[data-template=menu-restaurant] .grid { gap: 13px; }
html[data-template=menu-restaurant] .item { border-radius: 16px; }
html[data-template=menu-restaurant][data-card=square] .product-photo { object-fit: cover; border-radius: 12px; }

html[data-template=menu-cafe] .top { border-radius: 0 0 30px 30px; }
html[data-template=menu-cafe] :is(.search-row,#menu) { width: min(850px, calc(100% - 30px)); }
html[data-template=menu-cafe] .cat { border-radius: 999px; }
html[data-template=menu-cafe] .grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
html[data-template=menu-cafe] .item { border-radius: 24px; }
html[data-template=menu-cafe][data-card=wide] .product-photo { border-radius: 50%; object-fit: contain; }

html[data-template=menu-coffee] :is(.search-row,#menu) { width: min(850px, calc(100% - 30px)); }
html[data-template=menu-coffee][data-card=wide] .grid { grid-template-columns: minmax(0,1fr); }
html[data-template=menu-coffee] .item { border-radius: 14px; }
html[data-template=menu-coffee] .price { background: transparent; color: var(--surface-ink); border-color: var(--industry-line); }
html[data-template=menu-coffee] .price small { opacity: .75; }

html[data-template=menu-bakery] .category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
html[data-template=menu-bakery] .category-card { display: grid; gap: 8px; justify-items: stretch; justify-content: stretch; text-align: start; border-radius: 24px 24px 12px 12px; }
html[data-template=menu-bakery] .category-copy { justify-items: start; }
html[data-template=menu-bakery] .category-icon,
html[data-template=menu-bakery] .category-icon img { width: 100%; height: clamp(74px,13vw,140px); object-fit: cover; border-radius: 15px; }
html[data-template=menu-bakery] .category-icon span { display: block; }

@media(max-width:650px){
  html[data-template^="menu-"] .top .brand { flex-direction: row; }
  html[data-template^="menu-"] .top-inner { width: calc(100% - 28px); }
  html[data-template^="menu-"] .top-actions { justify-content: start; }
  html[data-template^="menu-"] .top-actions .action { flex: 0 1 auto; }
  html[data-template^="menu-"] .top::before { background-position: 38% center; }
  html[data-template=menu-cafe] .grid { grid-template-columns: minmax(0,1fr); }
  html[data-template=menu-bakery] .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
