/* Actual menu rows, images, option widgets and handlers remain in place. */
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-filtered { display: none !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section {
  --menu-card-img-mobile-size: 84px;
  max-width: 1040px; width: 100%; margin: 12px auto 24px !important; padding: 0 !important;
  border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important;
  scroll-margin-top: 116px;
}
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section :is(.menu-group, .menu-section) { margin: 0 !important; padding: 0 !important; background: transparent !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section h2 { color: var(--touch-ink) !important; text-align: left !important; font-size: 22px !important; line-height: 1.3; padding: 0 !important; margin: 18px 2px 12px !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section h2::after { display: none !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section :is(.menu-group, .menu-section) > h2,
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section > h2 {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: 0 !important; overflow: hidden !important;
  white-space: nowrap; clip-path: inset(50%);
}
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item {
  display: grid !important; grid-template-columns: 84px minmax(0, 1fr); align-items: start; gap: 12px;
  position: relative; width: 100% !important; min-height: 164px; height: auto !important;
  margin: 0 0 10px !important; padding: 12px !important; box-sizing: border-box;
  border: 1px solid var(--touch-line) !important; border-radius: 18px !important;
  background: var(--touch-surface) !important; box-shadow: none !important; overflow: visible; text-align: left !important;
}
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item::before { content: none !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section .menu-row.menu-item[hidden],
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section .menu-row.menu-item.hidden,
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section .menu-row.menu-item.touch-filtered { display: none !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item > .menu-img { position: static !important; width: 84px !important; height: 84px !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; border-radius: 13px !important; overflow: hidden; grid-column: 1; grid-row: 1; transform: none !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item > .menu-img img { position: static !important; width: 100% !important; height: 100% !important; object-fit: cover; transform: none !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item > .menu-content { display: flex !important; flex-direction: column; align-items: stretch !important; position: static !important; min-width: 0; min-height: 140px; width: auto !important; padding: 0 !important; grid-column: 2; grid-row: 1; text-align: left !important; }
/* Keep the complete title target outside the corner heart's 44px hit area. */
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item:has(.favorite-menu-btn) {
  --touch-favorite-clearance: 40px;
}
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item > .menu-content > :is(h3, .p-h3, .touch-product-title-trigger) {
  max-width: calc(100% - var(--touch-favorite-clearance, 0px));
  white-space: normal; overflow-wrap: anywhere;
}
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section .menu-content[data-touch-category-label]::before {
  content: attr(data-touch-category-label); display: block; margin-bottom: 3px;
  max-width: calc(100% - var(--touch-favorite-clearance, 0px));
  color: var(--touch-muted); font-size: 9px; font-weight: 650; letter-spacing: .7px;
  line-height: 1.25; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item :is(h3, .p-h3) { margin: 0 0 4px !important; padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; font-size: 15px !important; font-weight: 700; line-height: 1.35; text-align: left !important; color: var(--touch-ink) !important; overflow-wrap: anywhere; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item .ingredients { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 12px !important; line-height: 1.5; color: var(--touch-muted); margin: 4px 0 8px !important; text-align: left !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section .menu-note { color: var(--touch-muted); font-size: 12px; padding: 0 !important; margin: 0 2px 12px !important; text-align: left; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section .qty-box { position: static !important; transform: none !important; display: flex !important; justify-content: flex-end; align-self: flex-end; width: auto !important; background: transparent !important; padding: 0 !important; margin: auto 0 0 !important; gap: 6px; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item .favorite-menu-btn {
  position: absolute !important; z-index: 2; left: auto; right: 4px; top: 4px;
  width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
  background: radial-gradient(circle 14px at center, #fff 98%, transparent 100%) !important;
  color: #8f9189 !important; box-shadow: none !important;
}
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item .favorite-menu-btn svg { width: 18px; height: 18px; stroke-width: 1.5; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item .favorite-menu-btn.is-active { color: #b93830 !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section :is(button, select) { min-height: 44px; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section :is(.qty-plus, .qty-minus) { width: 44px !important; height: 44px !important; min-width: 44px; padding: 0 !important; border: 1px solid var(--touch-line); border-radius: 14px !important; font-size: 23px !important; background: #fcede9; color: #b93830; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section select { max-width: 100%; border: 1px solid var(--touch-line); border-radius: 10px; background: white; color: var(--touch-ink); font-size: 16px; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section .qty-box select { width: 48px; text-align: center; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section .nova-product-add { min-height: 44px; border: 0; border-radius: 14px; background: #fcede9; color: #b93830; padding: 10px 16px; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item.has-desktop-price-pill .qty-box .qty-plus[data-display-price] { width: 44px !important; min-width: 44px !important; height: 44px !important; padding: 0 !important; border-radius: 14px !important; background: #fcede9 !important; color: #b93830 !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item.has-desktop-price-pill .qty-box .qty-plus[data-display-price]::before { content: none !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) section.touch-menu-section .menu-row.menu-item.has-desktop-price-pill .qty-box .nova-product-add.add-button[data-display-price]::before { content: none !important; display: none !important; }
body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-card-price { position: absolute; left: 96px; bottom: 23px; max-width: calc(100% - 160px); color: var(--touch-ink); font-size: 14px; font-weight: 700; text-align: left; }
body:is([data-layout="mobile"], [data-layout="portrait"]) :is(.sauce-modal, .nova-product-dialog, .favorites-panel, .xbox-confirm-card) { border-radius: 24px; background: var(--touch-surface); color: var(--touch-ink); max-height: 90dvh; overflow-y: auto; scrollbar-width: none; }
body:is([data-layout="mobile"], [data-layout="portrait"]) :is(.sauce-modal, .nova-product-dialog, .favorites-panel, .xbox-confirm-card) :is(button, select, input:not([type="radio"]):not([type="checkbox"])) { min-height: 44px; }
@media (min-width: 700px) {
  body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section > .menu-group {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important; align-items: start;
  }
  body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section > .menu-group > :not(.menu-item) { grid-column: 1 / -1; }
  body:is([data-layout="mobile"], [data-layout="portrait"]) .touch-menu-section .menu-row.menu-item { margin-bottom: 0 !important; }
}
