/* Signature theme layout — scoped; does not alter sea / premium-dark */

.sig-only {
  display: none !important;
}

[data-restaurant-theme="signature"] {
  --sig-link: var(--sig-sea-500, #2f8198);
}

[data-restaurant-theme="signature"] .content-page a,
[data-restaurant-theme="signature"] .subpage__body a:not(.sig-hero-cta):not([class*="btn"]):not([class*="pill"]):not([class*="nav"]),
[data-restaurant-theme="signature"] .catalog-intro a,
[data-restaurant-theme="signature"] .home-section a:not(.sig-hero-cta):not([class*="btn"]):not([class*="card"]):not([class*="pill"]),
[data-restaurant-theme="signature"] .sig-text-link {
  color: var(--sig-link);
}

/* Do NOT use a blanket .sig-only.sig-flex { display:flex !important }
   — it overrides mobile hiding of .sig-desktop-aside (P0 §19). */
[data-restaurant-theme="signature"] .sig-only:not(.sig-desktop-nav):not(.sig-desktop-aside):not(.sig-flex):not(.sig-grid):not(.home-strip__item):not(.sig-strip-icon):not(.home-section):not(.page-hero):not(.catalog-intro) {
  display: block !important;
}

[data-restaurant-theme="signature"] .sig-only.page-hero,
[data-restaurant-theme="signature"] .sig-only.catalog-intro {
  display: flex !important;
}

[data-restaurant-theme="signature"] .sig-only.sig-grid {
  display: grid !important;
}

[data-restaurant-theme="signature"] .home-strip__item.sig-only {
  display: flex !important;
}

[data-restaurant-theme="signature"] .home-strip__item .sig-strip-icon.sig-only {
  display: block !important;
}

[data-restaurant-theme="signature"] .home-section.sig-only {
  display: block !important;
}

/* Desktop chrome: hidden below 768, flex from 768+ */
[data-restaurant-theme="signature"] .sig-desktop-nav,
[data-restaurant-theme="signature"] .sig-desktop-aside,
[data-restaurant-theme="signature"] .sig-cart-pill {
  display: none !important;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .sig-desktop-nav,
  [data-restaurant-theme="signature"] .sig-desktop-aside {
    display: flex !important;
  }

  [data-restaurant-theme="signature"] .sig-cart-pill {
    display: inline-flex !important;
  }
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .home-topbar .topbar__actions {
    display: flex !important;
  }
}

[data-restaurant-theme="signature"] .sig-hide {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-hide-when-signature {
  display: none !important;
}

/* Sea/premium: events block keeps classic padding; signature uses combo grid */
html:not([data-restaurant-theme="signature"]) .sig-combo {
  margin-top: 28px;
  padding: 36px 0 40px;
}

html:not([data-restaurant-theme="signature"]) .sig-combo .signature-container,
html:not([data-restaurant-theme="signature"]) .sig-combo__grid {
  width: 100%;
  display: block;
  margin: 0;
}

html:not([data-restaurant-theme="signature"]) .sig-combo .home-section__head {
  padding-inline: 20px;
}

html:not([data-restaurant-theme="signature"]) .sig-combo .home-rail {
  padding-inline: 20px;
}

html:not([data-restaurant-theme="signature"]) .home-section--categories .signature-container,
html:not([data-restaurant-theme="signature"]) .home-section--popular .signature-container,
html:not([data-restaurant-theme="signature"]) .home-footer .signature-container {
  width: 100%;
  margin: 0;
  padding: 0;
}

html:not([data-restaurant-theme="signature"]) .home-section--categories,
html:not([data-restaurant-theme="signature"]) .home-section--popular {
  padding-left: 16px;
  padding-right: 16px;
}

/* —— Full-bleed shell (signature only, all viewports) —— */
[data-restaurant-theme="signature"] body {
  padding: 0;
  gap: 0;
  justify-content: stretch;
  align-items: stretch;
  background: var(--sig-page);
  overflow-x: hidden;
  max-width: 100vw;
}

[data-restaurant-theme="signature"],
[data-restaurant-theme="signature"] html {
  overflow-x: hidden;
  max-width: 100%;
}

[data-restaurant-theme="signature"] .desktop-hint {
  display: none;
}

[data-restaurant-theme="signature"] .phone-frame {
  width: 100% !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .phone-frame .view-home .home-section--popular .home-section__link {
    margin-top: 16px;
  }
}

[data-restaurant-theme="signature"] .app {
  overflow: hidden;
  height: 100%;
}

[data-restaurant-theme="signature"] .app.is-home {
  touch-action: pan-y;
}

[data-restaurant-theme="signature"] .app.is-video {
  touch-action: none;
}

[data-restaurant-theme="signature"] .app.is-catalog {
  touch-action: pan-y;
}

[data-restaurant-theme="signature"] .app.is-video .reel {
  touch-action: pan-x pinch-zoom;
}

[data-restaurant-theme="signature"] .view-home,
[data-restaurant-theme="signature"] .view-catalog,
[data-restaurant-theme="signature"] .view-events,
[data-restaurant-theme="signature"] .view-event,
[data-restaurant-theme="signature"] .subpage.is-open {
  scrollbar-width: none;
}

[data-restaurant-theme="signature"] .view-home::-webkit-scrollbar,
[data-restaurant-theme="signature"] .view-catalog::-webkit-scrollbar,
[data-restaurant-theme="signature"] .view-events::-webkit-scrollbar,
[data-restaurant-theme="signature"] .view-event::-webkit-scrollbar,
[data-restaurant-theme="signature"] .subpage.is-open::-webkit-scrollbar {
  display: none;
}

/* Same containing block on every page — no transform offset for absolute chrome. */
[data-restaurant-theme="signature"] .view-home,
[data-restaurant-theme="signature"] .view-catalog,
[data-restaurant-theme="signature"] .view-events,
[data-restaurant-theme="signature"] .view-event,
[data-restaurant-theme="signature"] .subpage,
[data-restaurant-theme="signature"] .subpage.is-open {
  transform: none !important;
}

[data-restaurant-theme="signature"] .view-home {
  width: 100%;
  height: 100%;
  overflow-x: clip;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

@media (min-width: 768px) {
  /* desktop-specific tweaks kept below if needed */
}

.signature-container {
  width: 100%;
}

[data-restaurant-theme="signature"] .signature-container {
  width: min(100% - 96px, 1344px);
  margin-inline: auto;
}

.sig-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

@media (max-width: 1280px) {
  [data-restaurant-theme="signature"] .signature-container {
    width: min(100% - 80px, 1344px);
  }

  [data-restaurant-theme="signature"] .home-topbar > .signature-container,
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header > .signature-container {
    width: min(100% - 80px, 1344px);
  }
}

@media (max-width: 1024px) {
  [data-restaurant-theme="signature"] .signature-container {
    width: min(100% - 64px, 1344px);
  }

  [data-restaurant-theme="signature"] .home-topbar > .signature-container,
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header > .signature-container {
    width: min(100% - 64px, 1344px);
  }
}

@media (max-width: 768px) {
  [data-restaurant-theme="signature"] .signature-container {
    width: min(100% - 48px, 1344px);
  }
}

@media (max-width: 390px) {
  [data-restaurant-theme="signature"] .signature-container {
    width: min(100% - 32px, 1344px);
  }
}

/* —— Header —— */
[data-restaurant-theme="signature"] .home-topbar,
[data-restaurant-theme="signature"] .view-catalog > .catalog-header,
[data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header,
[data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  box-sizing: border-box;
  width: 100%;
  min-height: 64px;
  padding: calc(env(safe-area-inset-top, 0px) + 10px) 16px 10px;
  margin: 0;
  background: transparent;
  box-shadow: none;
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-header,
[data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header,
[data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header {
  z-index: 80;
  isolation: isolate;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-restaurant-theme="signature"] .home-topbar.is-solid,
[data-restaurant-theme="signature"] .view-catalog > .catalog-header.is-solid,
[data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header.is-solid,
[data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header.is-solid {
  background: rgba(5, 40, 63, 0.55);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  box-shadow: 0 1px 0 var(--sig-border-dark);
}

[data-restaurant-theme="signature"] .home-topbar .brand,
[data-restaurant-theme="signature"] .catalog-header .brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--sig-text-on-dark);
  text-decoration: none;
  max-width: 132px;
}

[data-restaurant-theme="signature"] .home-topbar .brand__mark,
[data-restaurant-theme="signature"] .catalog-header .brand__mark {
  display: block;
  width: auto;
  height: 40px;
  max-width: 120px;
  color: inherit;
  filter: none;
}

[data-restaurant-theme="signature"] .sig-footer-brand .brand__mark {
  filter: none;
}

[data-restaurant-theme="signature"] .home-topbar .brand .brand__text,
[data-restaurant-theme="signature"] .catalog-header .brand .brand__text {
  display: none;
}

[data-restaurant-theme="signature"] .home-topbar .brand.is-logo-fallback .brand__text,
[data-restaurant-theme="signature"] .catalog-header .brand.is-logo-fallback .brand__text {
  display: inline;
  color: var(--sig-text-on-dark);
  font-size: 15px;
  letter-spacing: 0.18em;
}

[data-restaurant-theme="signature"] .home-topbar .brand.is-logo-fallback .brand__mark,
[data-restaurant-theme="signature"] .catalog-header .brand.is-logo-fallback .brand__mark {
  display: none !important;
}

[data-restaurant-theme="signature"] .home-topbar .brand__text,
[data-restaurant-theme="signature"] .catalog-header .brand__text {
  color: var(--sig-text-on-dark);
  font-size: 15px;
  letter-spacing: 0.18em;
}

[data-restaurant-theme="signature"] .home-hero__actions .btn-ghost {
  display: none;
}

[data-restaurant-theme="signature"] .home-topbar.is-solid .brand__text,
[data-restaurant-theme="signature"] .home-topbar.is-solid .icon-btn {
  color: var(--sig-text-on-dark);
}

[data-restaurant-theme="signature"] .home-topbar.is-solid .icon-btn {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--sig-border-dark);
  box-shadow: none;
}

[data-restaurant-theme="signature"] .sig-desktop-nav {
  display: none;
  align-items: center;
  gap: clamp(10px, 1.1vw, 18px);
  margin-left: clamp(12px, 2.5vw, 40px);
  min-width: 0;
}

[data-restaurant-theme="signature"] .sig-desktop-nav a {
  position: relative;
  color: var(--sig-text-on-dark);
  text-decoration: none;
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
  opacity: 0.92;
  white-space: nowrap;
}

[data-restaurant-theme="signature"] .sig-desktop-nav a.is-active::after,
[data-restaurant-theme="signature"] .sig-desktop-nav a:focus-visible::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 20px;
  height: 2px;
  transform: translateX(-50%);
  background: var(--sig-sand-400);
}

[data-restaurant-theme="signature"] .sig-desktop-aside {
  display: none;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  flex: 0 0 auto;
}

[data-restaurant-theme="signature"] .sig-desktop-aside__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  color: var(--sig-text-on-dark);
  white-space: nowrap;
}

[data-restaurant-theme="signature"] .sig-desktop-aside__meta a {
  color: inherit;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.2;
}

[data-restaurant-theme="signature"] .sig-desktop-aside__meta span {
  font-size: 12px;
  opacity: 0.72;
}

[data-restaurant-theme="signature"] .sig-messenger-links {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

[data-restaurant-theme="signature"] .sig-messenger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 8px 20px rgba(3, 23, 38, 0.14);
  transition:
    transform var(--sig-motion-fast) var(--sig-ease),
    box-shadow var(--sig-motion-fast) var(--sig-ease);
}

[data-restaurant-theme="signature"] .sig-messenger img {
  display: block;
  width: 20px;
  height: 20px;
  object-fit: contain;
}

[data-restaurant-theme="signature"] .sig-messenger:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(3, 23, 38, 0.18);
}

[data-restaurant-theme="signature"] .sig-messenger:active {
  transform: scale(0.96);
}

[data-restaurant-theme="signature"] .sig-cart-pill {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 146px;
  height: 40px;
  min-height: 40px;
  border-radius: 22px;
  border: 0;
  background: linear-gradient(90deg, var(--sig-sand-500), var(--sig-sand-300));
  color: var(--sig-navy-950);
  font-family: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  position: relative;
  box-shadow: var(--sig-shadow-floating);
  transition:
    transform var(--sig-motion-fast) var(--sig-ease),
    box-shadow var(--sig-motion-fast) var(--sig-ease);
}

[data-restaurant-theme="signature"] .sig-cart-icon {
  flex: 0 0 auto;
  display: block;
}

[data-restaurant-theme="signature"] .sig-cart-pill:hover {
  transform: translateY(-2px);
  box-shadow: var(--sig-shadow-floating);
}

[data-restaurant-theme="signature"] .sig-cart-pill:active {
  transform: scale(0.985);
}

[data-restaurant-theme="signature"] .sig-cart-pill .cart-badge {
  position: static;
  min-width: 20px;
  height: 20px;
  margin: 0;
  border: 0;
  box-shadow: none;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .home-topbar,
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header,
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header,
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    min-height: 77px;
    height: 77px;
    padding: 0;
    margin: 0;
  }

  [data-restaurant-theme="signature"] .home-topbar > .signature-container,
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .catalog-header > .signature-container {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    min-height: 77px;
    height: 77px;
    width: min(100% - 96px, 1344px);
    margin-inline: auto;
    gap: 12px;
    padding: 0;
    box-sizing: border-box;
  }

  [data-restaurant-theme="signature"] .home-topbar .brand,
  [data-restaurant-theme="signature"] .catalog-header .brand {
    max-width: 176px;
  }

  [data-restaurant-theme="signature"] .home-topbar .brand__mark,
  [data-restaurant-theme="signature"] .catalog-header .brand__mark {
    height: 61px;
    max-width: 176px;
  }

  [data-restaurant-theme="signature"] .home-topbar .topbar__actions,
  [data-restaurant-theme="signature"] .catalog-header .topbar__actions {
    display: none !important;
  }
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .home-topbar,
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header,
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header,
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header {
    padding: calc(env(safe-area-inset-top, 0px) + 10px) 16px 10px;
  }

  [data-restaurant-theme="signature"] .home-topbar > .signature-container,
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header > .signature-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  [data-restaurant-theme="signature"] .home-topbar .brand {
    max-width: 132px;
    min-width: 0;
  }

  [data-restaurant-theme="signature"] .home-topbar .brand__mark {
    height: 40px;
    max-width: 132px;
  }

  [data-restaurant-theme="signature"] .home-topbar .topbar__actions {
    display: flex !important;
    gap: 10px;
    flex: 0 0 auto;
  }

  [data-restaurant-theme="signature"] .home-topbar .topbar__actions .icon-btn {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
  }

  [data-restaurant-theme="signature"] .home-topbar .topbar__actions #homeCartBtn {
    display: none;
  }

  [data-restaurant-theme="signature"] .fs-menu__header .topbar__actions #fsCartBtn {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1179px) {
  [data-restaurant-theme="signature"] .sig-desktop-nav,
  [data-restaurant-theme="signature"] .sig-desktop-aside,
  [data-restaurant-theme="signature"] .sig-cart-pill {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .home-topbar .topbar__actions,
  [data-restaurant-theme="signature"] .catalog-header .topbar__actions {
    display: flex !important;
    gap: 10px;
  }

  [data-restaurant-theme="signature"] .home-topbar > .signature-container,
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .catalog-header > .signature-container {
    grid-template-columns: auto auto;
    justify-content: space-between;
    width: min(100% - 48px, 1344px);
  }

  [data-restaurant-theme="signature"] .home-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline: 32px;
  }

  [data-restaurant-theme="signature"] .sig-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
  }

  [data-restaurant-theme="signature"] .sig-map-block {
    width: 100%;
    margin-left: 0;
  }
}

/* —— Hero —— */
[data-restaurant-theme="signature"] .home-hero {
  margin-top: 0;
  min-height: min(92dvh, 720px);
  padding: 0;
  justify-content: flex-end;
  overflow: hidden;
}

[data-restaurant-theme="signature"] .home-scroll-hint {
  position: relative;
  z-index: 4;
  margin: 0 auto calc(env(safe-area-inset-bottom, 0px) + 52px);
  transform: translateY(-30px);
}

[data-restaurant-theme="signature"] .home-hero__media {
  display: none;
}

[data-restaurant-theme="signature"] .home-hero__content {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-hero-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block !important;
}

[data-restaurant-theme="signature"] .sig-hero-slider[hidden] {
  display: block !important;
}

[data-restaurant-theme="signature"] .sig-hero-slider__viewport {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

[data-restaurant-theme="signature"] .sig-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
  pointer-events: none;
  transition:
    opacity 920ms cubic-bezier(0.22, 1, 0.36, 1),
    visibility 920ms cubic-bezier(0.22, 1, 0.36, 1);
}

[data-restaurant-theme="signature"] .sig-hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 2;
}

[data-restaurant-theme="signature"] .sig-hero-slide.is-leaving {
  opacity: 0;
  visibility: visible;
  z-index: 1;
  pointer-events: none;
}

[data-restaurant-theme="signature"] .sig-hero-slide__media,
[data-restaurant-theme="signature"] .sig-hero-slide__media img,
[data-restaurant-theme="signature"] .sig-hero-slide__media video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

[data-restaurant-theme="signature"] .sig-hero-slide__media {
  z-index: 0;
  overflow: hidden;
}

[data-restaurant-theme="signature"] .sig-hero-slide__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3, 28, 46, 0.72) 0%, rgba(3, 28, 46, 0.34) 48%, rgba(3, 28, 46, 0.12) 76%),
    linear-gradient(180deg, rgba(3, 23, 38, 0.28) 0%, rgba(3, 23, 38, 0.04) 46%, rgba(3, 23, 38, 0.52) 100%);
}

[data-restaurant-theme="signature"] .sig-hero-slide__media img,
[data-restaurant-theme="signature"] .sig-hero-slide__media video {
  object-fit: cover;
  object-position: 58% 56%;
  transform: scale(1.1) translate3d(18px, 0, 0);
  transform-origin: center center;
  transition: transform 1100ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

[data-restaurant-theme="signature"] .sig-hero-slide.is-from-prev .sig-hero-slide__media img,
[data-restaurant-theme="signature"] .sig-hero-slide.is-from-prev .sig-hero-slide__media video {
  transform: scale(1.1) translate3d(-18px, 0, 0);
}

[data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-slide__media img,
[data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-slide__media video {
  transform: scale(1.02) translate3d(0, 0, 0);
  animation: sig-hero-ken 7.2s cubic-bezier(0.22, 1, 0.36, 1) 0.35s both;
}

[data-restaurant-theme="signature"] .sig-hero-slide.is-leaving .sig-hero-slide__media img,
[data-restaurant-theme="signature"] .sig-hero-slide.is-leaving .sig-hero-slide__media video {
  transform: scale(1.08) translate3d(0, 0, 0);
  animation: none;
}

[data-restaurant-theme="signature"] .sig-hero-slide:nth-child(2) .sig-hero-slide__media img {
  object-position: 42% 48%;
}

[data-restaurant-theme="signature"] .sig-hero-slide--video .sig-hero-slide__media video {
  object-position: 50% 42%;
  background: #031726;
}

@keyframes sig-hero-ken {
  from { transform: scale(1.02) translate3d(0, 0, 0); }
  to { transform: scale(1.08) translate3d(0, 0, 0); }
}

[data-restaurant-theme="signature"] .sig-hero-slider > .home-hero__overlay {
  display: none;
}

[data-restaurant-theme="signature"] .home-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3, 28, 46, 0.78) 0%, rgba(3, 28, 46, 0.42) 47%, rgba(3, 28, 46, 0.18) 74%),
    linear-gradient(180deg, rgba(3, 23, 38, 0.34) 0%, rgba(3, 23, 38, 0.05) 48%, rgba(3, 23, 38, 0.58) 100%);
}

[data-restaurant-theme="signature"] .sig-hero-slide__copy {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  box-sizing: border-box;
  padding: 0 16px calc(env(safe-area-inset-bottom, 0px) + 56px);
  max-width: none;
  color: #ffffff;
  text-shadow: 0 1px 18px rgba(3, 23, 38, 0.35);
  opacity: 0;
  transform: none;
  pointer-events: none;
  transition: opacity 620ms cubic-bezier(0.22, 1, 0.36, 1);
}

[data-restaurant-theme="signature"] .sig-hero-slide__copy > * {
  max-width: 620px;
  pointer-events: auto;
}

[data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-slide__copy {
  opacity: 1;
  transition-delay: 220ms;
}

[data-restaurant-theme="signature"] .sig-hero-slide.is-leaving .sig-hero-slide__copy {
  opacity: 0;
  transition-delay: 0ms;
  transition-duration: 380ms;
}

[data-restaurant-theme="signature"] .sig-hero-slide.is-active .home-hero__eyebrow,
[data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-offer h1,
[data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-offer p,
[data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-cta {
  animation: sig-hero-copy-in 720ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

[data-restaurant-theme="signature"] .sig-hero-slide.is-active .home-hero__eyebrow { animation-delay: 240ms; }
[data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-offer h1 { animation-delay: 320ms; }
[data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-offer p { animation-delay: 400ms; }
[data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-cta { animation-delay: 480ms; }

@keyframes sig-hero-copy-in {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-restaurant-theme="signature"] .sig-hero-slide,
  [data-restaurant-theme="signature"] .sig-hero-slide__media img,
  [data-restaurant-theme="signature"] .sig-hero-slide__media video,
  [data-restaurant-theme="signature"] .sig-hero-slide__copy {
    transition-duration: 1ms !important;
    animation: none !important;
  }

  [data-restaurant-theme="signature"] .sig-hero-slide__media img,
  [data-restaurant-theme="signature"] .sig-hero-slide__media video {
    transform: none !important;
  }

  [data-restaurant-theme="signature"] .sig-hero-slide.is-active .home-hero__eyebrow,
  [data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-offer h1,
  [data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-offer p,
  [data-restaurant-theme="signature"] .sig-hero-slide.is-active .sig-hero-cta {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}

[data-restaurant-theme="signature"] .home-hero__eyebrow {
  font-size: 14px;
  letter-spacing: 0.28em;
  color: var(--sig-sand-400);
}

[data-restaurant-theme="signature"] .home-hero__title {
  display: none;
}

[data-restaurant-theme="signature"] .brand--hero-lockup {
  display: block;
  width: min(100%, 500px);
  max-width: none;
  max-height: none;
  margin: 6px 0 14px;
}

[data-restaurant-theme="signature"] .sig-hero-offer {
  margin: 12px 0 0;
}

[data-restaurant-theme="signature"] .sig-hero-offer h1 {
  max-width: 720px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(34px, 4.15vw, 60px);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

[data-restaurant-theme="signature"] .sig-hero-offer h1 span,
[data-restaurant-theme="signature"] .sig-hero-offer p span {
  display: block;
  white-space: nowrap;
  color: inherit;
}

[data-restaurant-theme="signature"] .sig-hero-offer p {
  max-width: 520px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 17px;
  line-height: 1.55;
}

[data-restaurant-theme="signature"] .sig-hero-offer p.sig-hero-offer__yellow,
[data-restaurant-theme="signature"] .sig-hero-offer__yellow {
  color: var(--sig-sand-400, #e8c77e);
}

[data-restaurant-theme="signature"] a.sig-hero-cta {
  text-decoration: none;
  box-sizing: border-box;
}

[data-restaurant-theme="signature"] .sig-hero-cta {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: min(100%, 282px);
  min-height: 54px;
  margin-top: 28px;
  padding: 0 18px;
  border: 0;
  border-radius: 35px;
  background: linear-gradient(90deg, var(--sig-sand-500), var(--sig-sand-300));
  color: var(--sig-btn-fg, var(--sig-navy-950));
  font-family: inherit;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: var(--sig-shadow-floating);
  text-shadow: none;
  transition:
    transform var(--sig-motion-fast) var(--sig-ease),
    box-shadow var(--sig-motion-fast) var(--sig-ease);
}

[data-restaurant-theme="signature"] .sig-hero-cta--browse {
  width: min(100%, 300px);
}

[data-restaurant-theme="signature"] .sig-hero-cta:hover {
  transform: translateY(-2px);
}

[data-restaurant-theme="signature"] .sig-hero-cta:active {
  transform: scale(0.985);
}

[data-restaurant-theme="signature"] .sig-hero-cta svg {
  flex: 0 0 auto;
}

[data-restaurant-theme="signature"] .brand--hero-lockup .brand__mark {
  display: block;
  width: min(100%, 420px);
  max-height: 120px;
  height: auto;
  filter: none;
}

[data-restaurant-theme="signature"] .brand--hero-lockup.is-logo-fallback .brand__mark {
  display: none !important;
}

[data-restaurant-theme="signature"] .brand--hero-lockup .brand__text {
  display: none;
  margin: 0;
  color: var(--sig-text-on-dark);
  font-size: clamp(40px, 9vw, 56px);
  font-weight: 700;
  letter-spacing: 0.06em;
}

[data-restaurant-theme="signature"] .brand--hero-lockup.is-logo-fallback .brand__text {
  display: block;
}

[data-restaurant-theme="signature"] .home-hero__place {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
  color: #ffffff;
}

[data-restaurant-theme="signature"] .home-hero__cuisine {
  font-size: 15px;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.9);
}

[data-restaurant-theme="signature"] .home-hero__actions {
  display: none !important;
}

[data-restaurant-theme="signature"] .home-hero__lead.sig-hide {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-hero-slider__controls {
  position: absolute;
  left: auto;
  right: max(48px, calc((100% - 1344px) / 2));
  bottom: 22px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  transform: none;
}

[data-restaurant-theme="signature"] .sig-hero-slider__nav {
  appearance: none;
  position: static;
  top: auto;
  left: auto;
  right: auto;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 50%;
  background: rgba(5, 40, 63, 0.42);
  color: #fff;
  cursor: pointer;
  opacity: 0.92;
  transform: none;
  transition:
    opacity var(--sig-motion-fast, 160ms) var(--sig-ease, ease),
    background var(--sig-motion-fast, 160ms) var(--sig-ease, ease),
    border-color var(--sig-motion-fast, 160ms) var(--sig-ease, ease);
}

[data-restaurant-theme="signature"] .sig-hero-slider__nav svg {
  width: 16px;
  height: 16px;
}

[data-restaurant-theme="signature"] .sig-hero-slider__nav--prev,
[data-restaurant-theme="signature"] .sig-hero-slider__nav--next {
  left: auto;
  right: auto;
}

[data-restaurant-theme="signature"] .sig-hero-slider__nav:hover,
[data-restaurant-theme="signature"] .sig-hero-slider__nav:focus-visible {
  background: rgba(5, 40, 63, 0.72);
  border-color: rgba(255, 255, 255, 0.72);
  opacity: 1;
}

[data-restaurant-theme="signature"] .sig-hero-slider__dots {
  position: static;
  left: auto;
  bottom: auto;
  z-index: 4;
  display: flex;
  gap: 8px;
  transform: none;
}

[data-restaurant-theme="signature"] .sig-hero-slider__dots button {
  appearance: none;
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(249, 252, 253, 0.38);
  cursor: pointer;
  transition:
    transform var(--sig-motion-fast, 160ms) var(--sig-ease, ease),
    background var(--sig-motion-fast, 160ms) var(--sig-ease, ease);
}

[data-restaurant-theme="signature"] .sig-hero-slider__dots button.is-active {
  background: var(--sig-sand-400, #c9a66b);
  transform: scale(1.2);
}

@media (hover: none) {
  [data-restaurant-theme="signature"] .sig-hero-slider__nav {
    opacity: 0.92;
  }
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .home-hero {
    min-height: 635px;
    padding: 0;
    justify-content: center;
  }

  [data-restaurant-theme="signature"] .sig-hero-slide__copy {
    justify-content: center;
    align-items: flex-start;
    padding: 48px max(48px, calc((100% - 1344px) / 2)) 72px;
  }

  [data-restaurant-theme="signature"] .sig-hero-slider__controls {
    right: max(48px, calc((100% - 1344px) / 2));
  }

  [data-restaurant-theme="signature"] .sig-hero-slide__copy > * {
    max-width: min(52vw, 720px);
  }

  [data-restaurant-theme="signature"] .sig-hero-slide__copy .sig-hero-cta {
    width: auto;
    max-width: none;
  }

  [data-restaurant-theme="signature"] .brand--hero-lockup .brand__mark {
    width: min(100%, 500px);
    max-height: 165px;
  }

  [data-restaurant-theme="signature"] .brand--hero-lockup.is-logo-fallback .brand__text {
    font-size: clamp(72px, 8vw, 120px);
  }

  [data-restaurant-theme="signature"] .home-hero__eyebrow {
    font-size: 18px;
    letter-spacing: 5px;
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] .home-hero__place {
    font-size: 20px;
    letter-spacing: 5px;
    white-space: normal;
  }

  [data-restaurant-theme="signature"] .home-hero__cuisine {
    font-size: 20px;
  }

  [data-restaurant-theme="signature"] .home-scroll-hint {
    display: none;
  }
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .home-hero {
    padding-top: 0;
    min-height: min(92dvh, 720px);
  }

  [data-restaurant-theme="signature"] .sig-hero-slide__copy {
    max-width: none;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding-inline: 20px;
  }

  [data-restaurant-theme="signature"] .sig-hero-slide__copy > * {
    max-width: 100%;
    width: 100%;
  }

  [data-restaurant-theme="signature"] .sig-hero-slide__copy > .sig-hero-cta {
    width: auto;
    max-width: min(100%, 300px);
    margin-inline: auto;
  }

  [data-restaurant-theme="signature"] .sig-hero-offer,
  [data-restaurant-theme="signature"] .sig-hero-offer h1,
  [data-restaurant-theme="signature"] .sig-hero-offer p,
  [data-restaurant-theme="signature"] .home-hero__eyebrow {
    text-align: center;
  }

  [data-restaurant-theme="signature"] .sig-hero-cta {
    margin-inline: auto;
  }

  [data-restaurant-theme="signature"] .brand--hero-lockup .brand__mark {
    width: min(100%, 280px);
    max-height: 88px;
  }

  [data-restaurant-theme="signature"] .sig-hero-offer {
    margin: 8px 0 0;
  }

  [data-restaurant-theme="signature"] .sig-hero-offer h1 {
    font-size: clamp(29px, 8.2vw, 34px);
    line-height: 1.04;
  }

  [data-restaurant-theme="signature"] .sig-hero-offer p {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.45;
  }

  [data-restaurant-theme="signature"] .home-hero__eyebrow {
    font-size: 11px;
    letter-spacing: 3px;
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] .sig-hero-slider__controls {
    display: none;
  }
}

/* —— Info strip —— */
[data-restaurant-theme="signature"] .home-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin-inline: 0;
  box-sizing: border-box;
  background: rgba(249, 251, 252, 0.97);
  border-top: 1px solid var(--sig-border);
  border-bottom: 0;
  min-height: 0;
  overflow: visible;
  padding: 12px 16px;
}

[data-restaurant-theme="signature"] .home-strip::-webkit-scrollbar {
  display: none;
}

[data-restaurant-theme="signature"] .home-strip__item {
  flex: none;
  width: auto;
  min-width: 0;
  scroll-snap-align: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 0;
  padding: 10px 6px;
  background: transparent;
  border: 0;
  border-radius: 0;
  text-align: center;
  cursor: default;
  pointer-events: none;
  user-select: none;
}

[data-restaurant-theme="signature"] .home-strip .home-strip__item.sig-only {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

[data-restaurant-theme="signature"] .home-strip__item:last-child {
  border-right: 0;
}

[data-restaurant-theme="signature"] .home-strip__item .sig-strip-icon,
[data-restaurant-theme="signature"] .home-strip__item .sig-strip-icon.sig-only {
  display: block !important;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  margin: 0 auto;
  color: var(--sig-navy-900);
}

[data-restaurant-theme="signature"] .home-strip__item strong {
  font-size: 13px;
  font-weight: 650;
  line-height: 1.25;
  text-align: center;
}

[data-restaurant-theme="signature"] .home-strip__item > span {
  display: grid;
  gap: 4px;
  min-width: 0;
  width: 100%;
  justify-items: center;
  text-align: center;
}

[data-restaurant-theme="signature"] .home-strip__item > span > span {
  font-size: 12px;
  font-weight: 450;
  line-height: 1.35;
  display: block;
  overflow: visible;
  text-align: center;
}

[data-restaurant-theme="signature"] .home-strip__item .home-strip__note {
  font-size: 11px;
  opacity: 0.78;
  display: block;
  overflow: visible;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .home-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    min-height: 108px;
    overflow: visible;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 0 max(48px, calc((100% - 1344px) / 2));
    box-sizing: border-box;
  }

  [data-restaurant-theme="signature"] .home-strip__item {
    flex: none;
    width: auto;
    min-height: 108px;
    height: 100%;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    justify-content: stretch;
    column-gap: 14px;
    row-gap: 0;
    padding: 16px 22px;
    border: 0;
    border-right: 1px solid var(--sig-border);
    border-radius: 0;
    text-align: left;
    cursor: default;
    pointer-events: none;
  }

  [data-restaurant-theme="signature"] .home-strip .home-strip__item.sig-only {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    justify-content: stretch;
    flex-direction: unset;
    column-gap: 14px;
    padding: 16px 22px;
  }

  [data-restaurant-theme="signature"] .home-strip__item:last-child {
    border-right: 0;
    padding: 16px 22px;
  }

  [data-restaurant-theme="signature"] .home-strip__item .sig-strip-icon,
  [data-restaurant-theme="signature"] .home-strip__item .sig-strip-icon.sig-only {
    display: block !important;
    width: 40px;
    height: 40px;
    margin: 0;
    flex: none;
    align-self: center;
  }

  [data-restaurant-theme="signature"] .home-strip__item strong {
    display: block;
    margin: 0;
    font-size: 15px;
    line-height: 1.25;
    text-align: left;
  }

  [data-restaurant-theme="signature"] .home-strip__item > span {
    display: grid;
    gap: 4px;
    min-width: 0;
    width: 100%;
    justify-items: start;
    align-content: center;
    text-align: left;
    padding-top: 0;
  }

  [data-restaurant-theme="signature"] .home-strip__item > span > span {
    font-size: 12px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: left;
  }

  [data-restaurant-theme="signature"] .home-strip__item .home-strip__note {
    font-size: 11px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* —— Sections / rails —— */
[data-restaurant-theme="signature"] .home-section {
  background: #fff;
  padding: 36px 0 8px;
}

[data-restaurant-theme="signature"] .home-section > .signature-container,
[data-restaurant-theme="signature"] .home-section .signature-container {
  padding-inline: 0;
}

@media (max-width: 1280px) and (min-width: 768px) {
  [data-restaurant-theme="signature"] .home-strip {
    padding-inline: 40px;
  }

  [data-restaurant-theme="signature"] .sig-hero-slider__controls {
    right: 40px;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  [data-restaurant-theme="signature"] .home-strip {
    padding-inline: 32px;
  }

  [data-restaurant-theme="signature"] .sig-hero-slider__controls {
    right: 32px;
  }
}

@media (max-width: 768px) {
  [data-restaurant-theme="signature"] .home-strip {
    padding-inline: 24px;
  }
}

@media (max-width: 390px) {
  [data-restaurant-theme="signature"] .home-strip {
    padding-inline: 16px;
  }
}

[data-restaurant-theme="signature"] .home-section--popular {
  overflow: visible;
}

[data-restaurant-theme="signature"] .home-section--popular .signature-container {
  overflow: visible;
}

[data-restaurant-theme="signature"] .home-rail-wrap--popular {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: visible;
}

[data-restaurant-theme="signature"] #homePopularRail.home-rail {
  display: flex;
  align-items: stretch;
  gap: 12px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 28px max(48px, calc((100% - 1344px) / 2)) 44px;
  box-sizing: border-box;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  touch-action: pan-x pan-y;
  scroll-padding-inline: max(48px, calc((100% - 1344px) / 2));
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    /* Room for card shadow (overflow-x:auto clips otherwise); neg margin keeps link gap. */
    padding-bottom: 24px;
    margin-bottom: -24px;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card,
  [data-restaurant-theme="signature"] #homePopularRail .dish-card {
    margin-block: 8px 0;
  }

  [data-restaurant-theme="signature"] #homePopularRail.home-rail:has(.catalog-card__variations.is-open) {
    overflow: visible;
  }
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    scroll-snap-type: none;
  }
}

[data-restaurant-theme="signature"] #homePopularRail.home-rail::-webkit-scrollbar {
  display: none;
}

[data-restaurant-theme="signature"] #homePopularRail .catalog-card {
  position: relative;
  overflow: visible;
}

[data-restaurant-theme="signature"] #homePopularRail .catalog-card:has(.catalog-card__variations.is-open) {
  z-index: 60;
}

[data-restaurant-theme="signature"] #homePopularRail .catalog-card__body,
[data-restaurant-theme="signature"] #homePopularRail .catalog-card__footer,
[data-restaurant-theme="signature"] #homePopularRail .catalog-card__order {
  overflow: visible;
}

[data-restaurant-theme="signature"] #homePopularRail .catalog-card__variations {
  position: relative;
  z-index: 5;
}

[data-restaurant-theme="signature"] #homePopularRail .catalog-card__var-menu {
  position: absolute;
  left: 0;
  right: auto;
  top: calc(100% + 6px);
  bottom: auto;
  z-index: 40;
  width: max-content;
  min-width: 100%;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__var-menu {
    top: auto;
    bottom: calc(100% + 6px);
  }
}

[data-restaurant-theme="signature"] .home-section--popular:has(.catalog-card__variations.is-open),
[data-restaurant-theme="signature"] .home-rail-wrap--popular:has(.catalog-card__variations.is-open),
[data-restaurant-theme="signature"] #homePopularRail.home-rail:has(.catalog-card__variations.is-open) {
  overflow: visible !important;
}

[data-restaurant-theme="signature"] #homePopularRail .catalog-card,
[data-restaurant-theme="signature"] #homePopularRail .dish-card {
  margin-block: 8px;
  flex: 0 0 min(78%, 280px);
  width: min(78%, 280px);
  scroll-snap-align: start;
}

[data-restaurant-theme="signature"] .home-section__head {
  padding-inline: 0;
  margin-bottom: 20px;
  align-items: center;
}

[data-restaurant-theme="signature"] .home-section__title {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: clamp(26px, 4vw, 34px);
  font-weight: 700;
  color: var(--sig-text);
}

[data-restaurant-theme="signature"] .home-section__title .sig-wave-icon,
[data-restaurant-theme="signature"] .home-section__title .sig-star-icon {
  flex: 0 0 auto;
  color: var(--sig-navy-800);
}

[data-restaurant-theme="signature"] .home-section__link,
[data-restaurant-theme="signature"] a.home-section__link,
[data-restaurant-theme="signature"] a.home-section__link--download {
  color: var(--sig-link, var(--sig-sea-500, #2f8198));
  font-weight: 550;
}

[data-restaurant-theme="signature"] .home-section__link--download {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.01em;
}

[data-restaurant-theme="signature"] .home-section__link--download svg {
  flex: 0 0 auto;
  color: inherit;
}

[data-restaurant-theme="signature"] .home-section__link--download:hover,
[data-restaurant-theme="signature"] a.home-section__link--download:hover {
  color: var(--sig-navy-800);
}

[data-restaurant-theme="signature"] .home-rail {
  gap: 12px;
  padding: 4px 0 12px;
  margin: 0;
  touch-action: pan-x pan-y;
  overscroll-behavior-y: auto;
}

[data-restaurant-theme="signature"] .view-home .home-rail > *,
[data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail > * {
  touch-action: inherit;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .home-section--lunch {
    padding-top: 40px;
  }

  [data-restaurant-theme="signature"] .view-home .home-section__title {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0 0 14px;
    font-size: 22px;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] .view-home .home-section__title .sig-wave-icon {
    width: 40px;
    height: 24px;
  }

  [data-restaurant-theme="signature"] .view-home .home-section__title .sig-star-icon {
    width: 28px;
    height: 28px;
  }

  [data-restaurant-theme="signature"] .home-section--categories .signature-container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  [data-restaurant-theme="signature"] .home-section--categories,
  [data-restaurant-theme="signature"] .home-section--popular,
  [data-restaurant-theme="signature"] .home-section--menu-pages,
  [data-restaurant-theme="signature"] .home-section--menu-pages.sig-only {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
  }

  [data-restaurant-theme="signature"] .home-section--categories > .signature-container,
  [data-restaurant-theme="signature"] .home-section--categories .home-section__head,
  [data-restaurant-theme="signature"] .home-section--popular > .signature-container,
  [data-restaurant-theme="signature"] .home-section--popular .home-section__head,
  [data-restaurant-theme="signature"] .home-section--menu-pages > .signature-container,
  [data-restaurant-theme="signature"] .home-section--menu-pages .home-section__head {
    display: contents;
  }

  [data-restaurant-theme="signature"] .home-section--categories .home-section__title,
  [data-restaurant-theme="signature"] .home-section--popular .home-section__title,
  [data-restaurant-theme="signature"] .home-section--menu-pages .home-section__title {
    order: 1;
  }

  [data-restaurant-theme="signature"] .home-section--menu-pages .home-rail-wrap--menu-pages,
  [data-restaurant-theme="signature"] .home-section--categories .home-rail-wrap--categories,
  [data-restaurant-theme="signature"] .home-section--popular .home-rail-wrap--popular {
    order: 2;
    width: 100%;
    min-width: 0;
    max-width: none;
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .home-section--categories .home-section__link,
  [data-restaurant-theme="signature"] .home-section--popular .home-section__link,
  [data-restaurant-theme="signature"] .home-section--menu-pages .home-section__link,
  [data-restaurant-theme="signature"] .home-section--menu-pages .home-section__link--download {
    order: 3;
    align-self: center;
    justify-self: center;
    margin: 16px auto 0;
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    font-size: 14px;
    font-weight: 550;
    color: var(--sig-link, var(--sig-sea-500, #2f8198));
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    position: relative;
    z-index: 5;
  }

  [data-restaurant-theme="signature"] .home-section--popular .home-section__link {
    margin-top: 16px;
  }

  [data-restaurant-theme="signature"] .home-section--menu-pages .home-section__link--download {
    margin-top: 24px;
  }

  [data-restaurant-theme="signature"] .sig-combo {
    display: flex;
    flex-direction: column;
  }

  [data-restaurant-theme="signature"] .sig-combo > .signature-container,
  [data-restaurant-theme="signature"] .sig-combo .sig-events,
  [data-restaurant-theme="signature"] .sig-combo .sig-events-head {
    display: contents;
  }

  [data-restaurant-theme="signature"] .sig-combo .home-section__title {
    order: 1;
    color: var(--sig-text-on-dark);
  }

  [data-restaurant-theme="signature"] .sig-combo .home-section__title .sig-wave-icon {
    color: #fff;
  }

  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail {
    order: 2;
  }

  [data-restaurant-theme="signature"] .sig-combo .home-section__link {
    order: 3;
    align-self: center;
    margin: 14px auto 0;
    color: var(--sig-sand-400);
  }

  [data-restaurant-theme="signature"] .sig-combo .home-empty {
    order: 4;
  }

  [data-restaurant-theme="signature"] #homeCategoryRail.home-rail {
    display: flex;
    width: 100%;
    max-width: none;
    min-width: 0;
    gap: 12px;
    box-sizing: border-box;
    padding: 4px 16px 12px;
    scroll-padding-inline: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    cursor: grab;
  }

  [data-restaurant-theme="signature"] #homeCategoryRail.home-rail.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    scroll-behavior: auto;
  }

  [data-restaurant-theme="signature"] #homeCategoryRail .cat-card {
    flex: 0 0 148px;
    width: 148px;
    max-width: none;
    height: 190px;
    scroll-snap-align: start;
    touch-action: pan-x pan-y;
    -webkit-user-drag: none;
  }
}

@media (max-width: 768px) and (min-width: 391px) {
  [data-restaurant-theme="signature"] #homeCategoryRail.home-rail {
    padding-inline: 24px;
    scroll-padding-inline: 24px;
  }
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .home-section--categories {
    padding: 48px 0 24px;
    min-height: 0;
  }

  [data-restaurant-theme="signature"] .home-section--popular {
    padding: 28px 0 28px;
    min-height: 0;
  }

  [data-restaurant-theme="signature"] #homeCategoryRail.home-rail {
    display: flex !important;
    gap: 16px;
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    scroll-snap-type: none;
    scroll-behavior: auto;
    scroll-padding-inline: max(48px, calc((100% - 1344px) / 2));
    padding: 4px max(48px, calc((100% - 1344px) / 2)) 12px;
    margin: 0;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
  }

  [data-restaurant-theme="signature"] #catalogCategoryRail.home-rail {
    display: flex !important;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    padding: 4px 0 12px;
    margin: 0;
    scrollbar-width: none;
  }

  [data-restaurant-theme="signature"] #homeCategoryRail.home-rail::-webkit-scrollbar,
  [data-restaurant-theme="signature"] #catalogCategoryRail.home-rail::-webkit-scrollbar {
    display: none;
  }

  [data-restaurant-theme="signature"] #homeCategoryRail .cat-card {
    flex: 0 0 calc((100% - 80px) / 6);
    width: calc((100% - 80px) / 6);
    height: 260px;
    scroll-snap-align: start;
  }

  [data-restaurant-theme="signature"] #catalogCategoryRail .cat-card {
    flex: 0 0 calc((100% - 80px) / 6);
    width: calc((100% - 80px) / 6);
    height: 260px;
    scroll-snap-align: start;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--categories {
    position: relative;
    overflow: visible;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  [data-restaurant-theme="signature"] .sig-menu-gallery-wrap {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--popular {
    position: relative;
    overflow: visible;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  [data-restaurant-theme="signature"] .view-home #homePhotosRail.home-rail {
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    scroll-snap-type: none;
  }

  [data-restaurant-theme="signature"] .view-home #homeMenuPagesRail.home-rail {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: max(48px, calc((100% - 1344px) / 2));
    padding: 12px 0 20px;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages {
    padding-inline: max(48px, calc((100% - 1344px) / 2));
  }

  [data-restaurant-theme="signature"] #homeMenuPagesRail .sig-menu-page {
    flex: 0 0 calc((100% - 48px) / 4);
    width: calc((100% - 48px) / 4);
    max-width: none;
  }

  [data-restaurant-theme="signature"] #homePopularRail.home-rail,
  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    scroll-snap-type: none;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--categories .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-section--popular .home-rail-wrap .sig-rail-arrow,
  [data-restaurant-theme="signature"] .view-home .home-rail-wrap--photos .sig-rail-arrow,
  [data-restaurant-theme="signature"] .sig-combo .home-rail-wrap .sig-rail-arrow {
    display: none !important;
  }

  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    display: flex;
    align-items: stretch;
    gap: 20px;
    scroll-padding-inline: max(48px, calc((100% - 1344px) / 2));
    padding: 4px max(48px, calc((100% - 1344px) / 2)) 12px;
    margin: 0;
  }

  [data-restaurant-theme="signature"] #homePopularRail .dish-card,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - 60px) / 4);
    width: calc((100% - 60px) / 4);
    max-width: none;
    height: auto;
    align-self: stretch;
    margin-block: 0;
  }

  [data-restaurant-theme="signature"] #homeMenuGallery.sig-menu-gallery {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    padding: 4px 2px 16px;
    margin: 0;
    scrollbar-width: none;
  }

  [data-restaurant-theme="signature"] #homeMenuGallery.sig-menu-gallery::-webkit-scrollbar {
    display: none;
  }

  [data-restaurant-theme="signature"] .sig-menu-page {
    flex: 0 0 calc((100% - 48px) / 4);
    width: calc((100% - 48px) / 4);
    max-width: none;
    scroll-snap-align: start;
  }
}

/* Category cards */
[data-restaurant-theme="signature"] .home-rail-wrap--categories {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: visible;
}

[data-restaurant-theme="signature"] #homeCategoryRail,
[data-restaurant-theme="signature"] #catalogCategoryRail {
  display: flex;
  gap: 12px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] #homeCategoryRail {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
  }
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] #homeCategoryRail {
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    scroll-snap-type: none;
    scroll-behavior: auto;
  }
}

[data-restaurant-theme="signature"] #catalogCategoryRail {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}

[data-restaurant-theme="signature"] #homeCategoryRail::-webkit-scrollbar,
[data-restaurant-theme="signature"] #catalogCategoryRail::-webkit-scrollbar {
  display: none;
}

[data-restaurant-theme="signature"] .sig-menu-gallery-wrap,
[data-restaurant-theme="signature"] .sig-menu-gallery-wrap.sig-only,
[data-restaurant-theme="signature"] #homeMenuGallery {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-menu-page {
  appearance: none;
  flex: 0 0 min(56vw, 220px);
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  scroll-snap-align: start;
}

[data-restaurant-theme="signature"] .sig-menu-page__media {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  border-radius: 14px;
  background: center / cover no-repeat #f4f0e8;
  box-shadow: var(--sig-shadow-card);
  transition: transform var(--sig-motion-base) var(--sig-ease);
}

[data-restaurant-theme="signature"] .sig-menu-page:hover .sig-menu-page__media {
  transform: translateY(-3px) scale(1.01);
}

[data-restaurant-theme="signature"] .sig-menu-page__label {
  display: none !important;
}

/* Home photo gallery + A4 menu pages */
[data-restaurant-theme="signature"] .home-section--photos {
  padding-top: 8px;
  padding-bottom: 12px;
}

[data-restaurant-theme="signature"] .home-section--menu-pages {
  padding-top: 28px;
  padding-bottom: 40px;
}

[data-restaurant-theme="signature"] .home-rail-wrap--photos {
  position: relative;
  overflow: hidden;
}

[data-restaurant-theme="signature"] .home-rail-wrap--menu-pages {
  position: relative;
  overflow: visible;
  box-sizing: border-box;
}

[data-restaurant-theme="signature"] .home-rail-wrap--menu-pages #homeMenuPagesRail.home-rail {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

[data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow {
  position: absolute;
  top: 50%;
  z-index: 5;
  margin-top: -24px;
}

[data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow--prev {
  left: 12px;
}

[data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow--next {
  right: 12px;
}

[data-restaurant-theme="signature"] #homePhotosRail.home-rail,
[data-restaurant-theme="signature"] #homeMenuPagesRail.home-rail {
  display: flex;
  align-items: stretch;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  padding-block: 8px 16px;
  margin: 0;
  scrollbar-width: none;
}

[data-restaurant-theme="signature"] #homeMenuPagesRail.home-rail {
  padding-block: 12px 20px;
}

[data-restaurant-theme="signature"] #homePhotosRail.home-rail::-webkit-scrollbar,
[data-restaurant-theme="signature"] #homeMenuPagesRail.home-rail::-webkit-scrollbar {
  display: none;
}

[data-restaurant-theme="signature"] .home-photo-card {
  appearance: none;
  position: relative;
  flex: 0 0 calc((100% - 48px) / 4);
  width: calc((100% - 48px) / 4);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #d7e2e8;
  cursor: pointer;
  scroll-snap-align: start;
  aspect-ratio: 4 / 3;
}

[data-restaurant-theme="signature"] .home-photo-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 480ms var(--sig-ease);
}

[data-restaurant-theme="signature"] .home-photo-card:hover img {
  transform: scale(1.04);
}

[data-restaurant-theme="signature"] .home-photo-card__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 28px 14px 12px;
  background: linear-gradient(transparent, rgba(3, 23, 38, 0.72));
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
}

[data-restaurant-theme="signature"] #homeMenuPagesRail .sig-menu-page {
  flex: 0 0 calc((100% - 48px) / 4);
  width: calc((100% - 48px) / 4);
  max-width: none;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .home-rail-wrap--photos .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow {
    opacity: 0;
    pointer-events: none;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--photos:hover .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--photos:focus-within .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages:hover .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages:focus-within .sig-rail-arrow {
    opacity: 1;
    pointer-events: auto;
  }
}

@media (max-width: 900px) and (min-width: 768px) {
  [data-restaurant-theme="signature"] .home-photo-card {
    flex-basis: calc((100% - 32px) / 3);
    width: calc((100% - 32px) / 3);
  }
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] #homeMenuPagesRail .sig-menu-page {
    flex-basis: calc((100% - 32px) / 3);
    width: calc((100% - 32px) / 3);
  }
}

@media (max-width: 640px) {
  [data-restaurant-theme="signature"] .home-photo-card,
  [data-restaurant-theme="signature"] #homeMenuPagesRail .sig-menu-page {
    flex-basis: calc((100% - 16px) / 2);
    width: calc((100% - 16px) / 2);
  }
}

[data-restaurant-theme="signature"] .cat-card {
  flex: 0 0 154px;
  height: 198px;
  border-radius: 12px;
  isolation: isolate;
}

[data-restaurant-theme="signature"] .cat-card--feature {
  display: none;
}

[data-restaurant-theme="signature"] .cat-card::after {
  background: linear-gradient(180deg, transparent 58%, rgba(5, 40, 63, 0.92) 100%);
}

[data-restaurant-theme="signature"] .cat-card__icon {
  position: absolute;
  left: 50% !important;
  right: auto !important;
  bottom: 52px !important;
  z-index: 2;
  width: 48px !important;
  height: 48px !important;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  background: rgba(5, 40, 63, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  overflow: visible;
  text-align: center;
  font-size: 0;
  line-height: 0;
  box-sizing: border-box;
}

[data-restaurant-theme="signature"] .cat-card__icon svg {
  width: 24px;
  height: 24px;
  display: block;
}

[data-restaurant-theme="signature"] .cat-card > span:not(.cat-card__icon) {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 14px;
  z-index: 2;
  text-align: center;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .cat-card {
    flex: none;
    width: auto;
    min-width: 0;
    height: 260px;
    transition:
      transform var(--sig-motion-base) var(--sig-ease);
  }

  [data-restaurant-theme="signature"] .cat-card:hover {
    transform: translateY(-3px);
  }

  [data-restaurant-theme="signature"] .cat-card:hover::before {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    background-size: cover;
    background-position: center;
    transform: scale(1.035);
    transition: transform var(--sig-motion-base) var(--sig-ease);
    z-index: -1;
  }
}

@media (max-width: 1100px) and (min-width: 768px) {
  [data-restaurant-theme="signature"] #catalogCategoryRail .cat-card {
    flex: 0 0 calc((100% - 64px) / 5);
    width: calc((100% - 64px) / 5);
  }
}

@media (max-width: 900px) and (min-width: 768px) {
  [data-restaurant-theme="signature"] #catalogCategoryRail .cat-card {
    flex: 0 0 calc((100% - 48px) / 4);
    width: calc((100% - 48px) / 4);
    height: 230px;
  }
}

/* Popular dishes */
[data-restaurant-theme="signature"] .dish-card {
  display: flex;
  flex-direction: column;
  flex: 0 0 min(270px, 78vw);
  align-self: stretch;
  height: auto;
  min-height: 344px;
  border-radius: 14px;
  border: 0;
  box-shadow: var(--sig-shadow-card);
}

[data-restaurant-theme="signature"] .dish-card__media {
  position: relative;
  aspect-ratio: 250 / 170;
  border-radius: 14px 14px 0 0;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
}

[data-restaurant-theme="signature"] .dish-card__preview {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.04);
  transition:
    opacity 240ms var(--sig-ease),
    transform 700ms var(--sig-ease);
  pointer-events: none;
}

[data-restaurant-theme="signature"] .dish-card__media.is-previewing .dish-card__preview {
  opacity: 1;
  transform: scale(1);
}

[data-restaurant-theme="signature"] .dish-card__name {
  font-size: 15px;
  font-weight: 650;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

[data-restaurant-theme="signature"] .dish-card__info {
  min-width: 0;
}

[data-restaurant-theme="signature"] .dish-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  min-height: 0;
}

[data-restaurant-theme="signature"] .dish-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}

[data-restaurant-theme="signature"] .dish-card__description {
  margin: 7px 0 0;
  color: var(--sig-text-muted);
  font-size: 12px;
  line-height: 18px;
  max-height: 36px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

[data-restaurant-theme="signature"] .dish-card__meta {
  font-size: 12px;
  color: var(--sig-text-muted);
}

[data-restaurant-theme="signature"] .dish-card__price {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

[data-restaurant-theme="signature"] .dish-card__actions {
  min-width: 38px;
  min-height: 38px;
}

[data-restaurant-theme="signature"] .dish-card__add {
  width: 38px;
  height: 38px;
  background: var(--sig-navy-800);
}

[data-restaurant-theme="signature"] .sig-rail-arrow {
  display: none;
}

[data-restaurant-theme="signature"] #app .sig-rail-arrow.sig-only {
  display: none !important;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .dish-card {
    flex: none;
    width: 100%;
    max-width: none;
  }

  [data-restaurant-theme="signature"] .sig-rail-arrow {
    display: none;
    place-items: center;
    position: absolute;
    top: 42%;
    z-index: 3;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid var(--sig-navy-800);
    background: #fff;
    color: var(--sig-navy-800);
    cursor: pointer;
    box-shadow: var(--sig-shadow-card);
    transition: transform var(--sig-motion-fast) var(--sig-ease);
  }

  [data-restaurant-theme="signature"] #app .sig-rail-arrow.sig-only {
    display: grid !important;
  }

  /* Home rails: static grid on PC — no carousel arrows (overrides #app rule above). */
  [data-restaurant-theme="signature"] #app .home-rail-wrap--categories .sig-rail-arrow.sig-only,
  [data-restaurant-theme="signature"] #app .home-section--popular .home-rail-wrap .sig-rail-arrow.sig-only,
  [data-restaurant-theme="signature"] #app .home-rail-wrap--photos .sig-rail-arrow.sig-only,
  [data-restaurant-theme="signature"] #app .sig-combo .home-rail-wrap .sig-rail-arrow.sig-only {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  [data-restaurant-theme="signature"] .home-section--popular .home-rail-wrap .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--categories .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--photos .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow,
  [data-restaurant-theme="signature"] .sig-menu-gallery-wrap .sig-rail-arrow {
    top: 42%;
    opacity: 0;
    pointer-events: none;
    transition:
      opacity var(--sig-motion-fast) var(--sig-ease),
      transform var(--sig-motion-fast) var(--sig-ease);
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--categories .sig-rail-arrow {
    top: 50%;
    margin-top: -24px;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--photos .sig-rail-arrow {
    top: 50%;
    margin-top: -24px;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow {
    position: absolute;
    top: 50%;
    margin-top: -24px;
    z-index: 5;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow--prev {
    left: max(20px, calc((100% - 1344px) / 2 + 8px));
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow--next {
    right: max(20px, calc((100% - 1344px) / 2 + 8px));
  }

  [data-restaurant-theme="signature"] .sig-menu-gallery-wrap .sig-rail-arrow {
    top: 46%;
  }

  [data-restaurant-theme="signature"] .home-section--popular .home-rail-wrap:hover .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-section--popular .home-rail-wrap:focus-within .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--categories:hover .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--categories:focus-within .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--photos:hover .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--photos:focus-within .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages:hover .sig-rail-arrow,
  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages:focus-within .sig-rail-arrow,
  [data-restaurant-theme="signature"] .sig-menu-gallery-wrap:hover .sig-rail-arrow,
  [data-restaurant-theme="signature"] .sig-menu-gallery-wrap:focus-within .sig-rail-arrow {
    opacity: 1;
    pointer-events: auto;
  }

  [data-restaurant-theme="signature"] .sig-rail-arrow:hover {
    transform: scale(1.04);
  }

  [data-restaurant-theme="signature"] .sig-rail-arrow--prev {
    left: 4px;
  }

  [data-restaurant-theme="signature"] .sig-rail-arrow--next {
    right: 4px;
  }
}

/* —— Desktop classic catalog —— */
[data-restaurant-theme="signature"] .view-catalog {
  background: #f7fafb;
  color: var(--sig-text);
  transform: none !important;
}

/* Fallback only (non-page chrome). Page headers share .home-topbar absolute rules above. */
[data-restaurant-theme="signature"] .catalog-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  box-sizing: border-box;
  width: 100%;
  min-height: 64px;
  padding: calc(env(safe-area-inset-top, 0px) + 10px) 16px 10px;
  margin: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-restaurant-theme="signature"] .catalog-main { padding-top: 28px; padding-bottom: 48px; }
[data-restaurant-theme="signature"] .catalog-categories {
  display: none !important;
}
[data-restaurant-theme="signature"] .catalog-intro {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  min-height: 224px;
  padding: 36px 40px;
  border-radius: 24px;
  overflow: hidden;
  color: #fff;
  background: #05283f;
}

[data-restaurant-theme="signature"] .catalog-intro__media,
[data-restaurant-theme="signature"] .catalog-intro__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

[data-restaurant-theme="signature"] .catalog-intro__media img {
  object-fit: cover;
  object-position: center 42%;
}

[data-restaurant-theme="signature"] .catalog-intro__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(105deg, rgba(3, 28, 46, 0.88) 0%, rgba(5, 40, 63, 0.62) 48%, rgba(5, 40, 63, 0.34) 100%),
    linear-gradient(180deg, rgba(3, 23, 38, 0.18) 0%, rgba(3, 23, 38, 0.55) 100%);
}

[data-restaurant-theme="signature"] .catalog-intro__copy,
[data-restaurant-theme="signature"] .catalog-video-link {
  position: relative;
  z-index: 2;
}

[data-restaurant-theme="signature"] .catalog-intro__eyebrow { margin: 0 0 10px; color: var(--sig-sand-300); font-size: 12px; font-weight: 650; letter-spacing: .18em; text-transform: uppercase; }
[data-restaurant-theme="signature"] .catalog-intro h1 { margin: 0; font-size: clamp(38px, 4vw, 58px); line-height: 1.05; }
[data-restaurant-theme="signature"] .catalog-intro__copy > p:last-child,
[data-restaurant-theme="signature"] .catalog-intro__copy p:last-child { max-width: 650px; margin: 14px 0 0; color: rgba(255,255,255,.86); line-height: 1.55; }
[data-restaurant-theme="signature"] .catalog-video-link { flex: 0 0 auto; min-height: 52px; padding: 0 22px; border: 1px solid rgba(255,255,255,.55); border-radius: 28px; background: rgba(255,255,255,.1); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
[data-restaurant-theme="signature"] .catalog-video-link__icon { margin-right: 10px; color: var(--sig-sand-300); }

/* Catalog + content page heroes: shared short full-bleed banner */
[data-restaurant-theme="signature"] .view-catalog > .catalog-intro,
[data-restaurant-theme="signature"] .view-events > .page-hero,
[data-restaurant-theme="signature"] .subpage__body > .page-hero {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
  min-height: min(34dvh, 310px);
  margin: 0;
  padding: 96px 0 36px;
  border-radius: 0;
  background: #031726;
  overflow: hidden;
  color: #fff;
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-intro {
  margin: 0;
}

[data-restaurant-theme="signature"] .view-events > .page-hero {
  margin: 0 0 36px;
}

[data-restaurant-theme="signature"] .subpage__body > .page-hero {
  margin: 0 0 36px;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .view-catalog > .catalog-intro,
  [data-restaurant-theme="signature"] .view-events > .page-hero,
  [data-restaurant-theme="signature"] .subpage__body > .page-hero {
    margin: 0 0 36px;
    padding: 96px 0 36px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-main {
    padding-top: 0;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-bar {
    margin-top: 0;
  }
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-intro .catalog-intro__media,
[data-restaurant-theme="signature"] .view-events > .page-hero .catalog-intro__media,
[data-restaurant-theme="signature"] .subpage__body > .page-hero .catalog-intro__media {
  z-index: 0;
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-intro .catalog-intro__media img,
[data-restaurant-theme="signature"] .view-events > .page-hero .catalog-intro__media img,
[data-restaurant-theme="signature"] .subpage__body > .page-hero .catalog-intro__media img {
  object-fit: cover;
  object-position: 58% 56%;
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-intro .catalog-intro__veil,
[data-restaurant-theme="signature"] .view-events > .page-hero .catalog-intro__veil,
[data-restaurant-theme="signature"] .subpage__body > .page-hero .catalog-intro__veil {
  background:
    linear-gradient(180deg, rgba(3, 23, 38, 0.55) 0%, rgba(3, 23, 38, 0.12) 22%, rgba(3, 23, 38, 0.04) 46%, rgba(3, 23, 38, 0.52) 100%),
    linear-gradient(90deg, rgba(3, 28, 46, 0.72) 0%, rgba(3, 28, 46, 0.34) 48%, rgba(3, 28, 46, 0.12) 76%);
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-intro .catalog-intro__copy,
[data-restaurant-theme="signature"] .view-events > .page-hero .catalog-intro__copy,
[data-restaurant-theme="signature"] .subpage__body > .page-hero .catalog-intro__copy {
  width: min(100% - 96px, 1344px);
  margin-inline: auto;
  padding: 0;
  text-align: left;
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-intro .catalog-intro__eyebrow,
[data-restaurant-theme="signature"] .view-events > .page-hero .catalog-intro__eyebrow,
[data-restaurant-theme="signature"] .subpage__body > .page-hero .catalog-intro__eyebrow {
  display: none;
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-intro h1,
[data-restaurant-theme="signature"] .view-events > .page-hero h1,
[data-restaurant-theme="signature"] .subpage__body > .page-hero h1 {
  max-width: 18ch;
  margin-inline: 0;
  font-family: var(--sig-font-display, inherit);
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 700;
  text-align: left;
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-intro .catalog-intro__copy > p:last-child,
[data-restaurant-theme="signature"] .view-events > .page-hero .catalog-intro__copy > p:last-child,
[data-restaurant-theme="signature"] .subpage__body > .page-hero .catalog-intro__copy > p:last-child {
  max-width: 540px;
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  color: rgba(255, 255, 255, 0.86);
}

[data-restaurant-theme="signature"] .catalog-filters-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 34px 0 38px;
}
[data-restaurant-theme="signature"] .catalog-filters-rail {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
[data-restaurant-theme="signature"] .catalog-filters {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  gap: 8px;
  margin: 0;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: pan-x;
  cursor: grab;
}
[data-restaurant-theme="signature"] .catalog-filters-arrows {
  display: none;
}
[data-restaurant-theme="signature"] .catalog-filters-arrow {
  display: none;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .catalog-filters-rail .catalog-filters {
    padding-right: 8px;
    mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 28px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 28px), transparent 100%);
  }

  [data-restaurant-theme="signature"] #app .catalog-filters-arrows.sig-only {
    display: flex !important;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
  }

  [data-restaurant-theme="signature"] #app .catalog-filters-rail .catalog-filters-arrow {
    display: grid !important;
    position: static;
    top: auto;
    right: auto;
    left: auto;
    margin: 0;
    width: 40px;
    height: 40px;
    opacity: 1;
    pointer-events: auto;
    box-shadow: 0 6px 18px rgba(3, 28, 46, 0.12);
  }

  [data-restaurant-theme="signature"] #app .catalog-filters-rail .catalog-filters-arrow.is-disabled {
    opacity: 0.35;
    pointer-events: none;
    cursor: default;
  }
}
[data-restaurant-theme="signature"] .catalog-filters.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
}
[data-restaurant-theme="signature"] .catalog-filters::-webkit-scrollbar { display: none; }
[data-restaurant-theme="signature"] .catalog-filters button {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--sig-border);
  border-radius: 24px;
  background: #fff;
  color: var(--sig-text);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
[data-restaurant-theme="signature"] .catalog-filters button.is-active { border-color: var(--sig-navy-800); background: var(--sig-navy-800); color: #fff; }

[data-restaurant-theme="signature"] .catalog-filters-tools {
  position: relative;
  flex: 0 0 auto;
}
[data-restaurant-theme="signature"] .catalog-filters-toggle {
  position: relative;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--sig-border);
  border-radius: 50%;
  background: #fff;
  color: var(--sig-navy-800);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}
[data-restaurant-theme="signature"] .catalog-filters-toggle.is-active,
[data-restaurant-theme="signature"] .catalog-filters-toggle[aria-expanded="true"] {
  background: var(--sig-navy-800);
  border-color: var(--sig-navy-800);
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  [data-restaurant-theme="signature"] .catalog-filters-toggle:hover {
    background: var(--sig-navy-800);
    border-color: var(--sig-navy-800);
    color: #fff;
  }
}
[data-restaurant-theme="signature"] .catalog-filters-toggle__dot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--sig-sand-300, #d4b483);
  box-shadow: 0 0 0 2px #fff;
}
[data-restaurant-theme="signature"] .catalog-filters-toggle.is-active .catalog-filters-toggle__dot {
  box-shadow: 0 0 0 2px var(--sig-navy-800);
}
[data-restaurant-theme="signature"] .catalog-filters-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 30;
  width: min(320px, calc(100vw - 48px));
  padding: 16px;
  border: 1px solid var(--sig-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(5, 40, 63, 0.14);
}
[data-restaurant-theme="signature"] .catalog-filters-panel[hidden] {
  display: none;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__backdrop,
[data-restaurant-theme="signature"] .catalog-filters-panel__close {
  display: none;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__sheet,
[data-restaurant-theme="signature"] .catalog-filters-panel__head {
  display: contents;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__title {
  margin: 0 0 12px;
  color: var(--sig-navy-800);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: #fff;
  color: var(--sig-text);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: box-shadow 0.15s ease, filter 0.15s ease, transform 0.15s ease;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip--popular {
  background: #ffe8c7;
  color: #8a4b00;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip--new {
  background: #d8f3ff;
  color: #0a5f86;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip--sale {
  background: #ffe0e0;
  color: #a11010;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip--vegan {
  background: #e2f6df;
  color: #1f6b2d;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip--spicy {
  background: #ffe6d4;
  color: #b03d00;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip--recommend {
  background: #e8e4ff;
  color: #4330a3;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip--chef {
  background: #05283f;
  color: #f4d7a4;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip.is-active {
  box-shadow: inset 0 0 0 2px currentColor;
  filter: saturate(1.05);
}
[data-restaurant-theme="signature"] .catalog-filters-panel__chip--chef.is-active {
  box-shadow: inset 0 0 0 2px #f4d7a4;
}
[data-restaurant-theme="signature"] .catalog-filters-panel__reset {
  margin-top: 14px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--sig-text-muted);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}
[data-restaurant-theme="signature"] .catalog-result-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
[data-restaurant-theme="signature"] .catalog-result-head__left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}
[data-restaurant-theme="signature"] .catalog-result-head__tools {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  margin-left: auto;
}
[data-restaurant-theme="signature"] .catalog-result-head__title-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
  min-width: 0;
}
[data-restaurant-theme="signature"] .catalog-result-head h2 { margin: 0; font-size: 30px; }
[data-restaurant-theme="signature"] .catalog-result-head__title-row > span { color: var(--sig-text-muted); font-size: 14px; white-space: nowrap; }

[data-restaurant-theme="signature"] .catalog-active-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
[data-restaurant-theme="signature"] .catalog-active-filters[hidden] {
  display: none !important;
}
[data-restaurant-theme="signature"] .catalog-active-filters__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 10px 0 12px;
  border: 1px solid rgba(5, 40, 63, 0.14);
  border-radius: 999px;
  background: #fff;
  color: var(--sig-navy-800);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
[data-restaurant-theme="signature"] .catalog-active-filters__chip:hover {
  background: var(--sig-navy-800);
  border-color: var(--sig-navy-800);
  color: #fff;
}
[data-restaurant-theme="signature"] .catalog-active-filters__x {
  margin-left: 2px;
  font-size: 16px;
  line-height: 1;
  opacity: 0.7;
}
[data-restaurant-theme="signature"] .catalog-active-filters__clear {
  padding: 0;
  border: 0;
  background: none;
  color: var(--sig-text-muted);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .catalog-view-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--sig-border, rgba(5,40,63,.12));
  border-radius: 999px;
  background: #fff;
}
[data-restaurant-theme="signature"] .catalog-view-switch__btn {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--sig-text-muted);
  cursor: pointer;
}
[data-restaurant-theme="signature"] .catalog-view-switch__btn.is-active {
  background: var(--sig-navy-800);
  color: #fff;
}
[data-restaurant-theme="signature"] .catalog-view-switch__btn:hover:not(.is-active) {
  color: var(--sig-navy-800);
  background: rgba(5, 40, 63, 0.06);
}

[data-restaurant-theme="signature"] .catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="grid3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="grid2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__play {
  display: none !important;
}

[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card.is-video-playing .catalog-card__play {
  display: none !important;
}

[data-restaurant-theme="signature"] .view-catalog.is-catalog-video .catalog-result-head {
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + 58px);
  z-index: 24;
  margin: 0 0 14px;
  padding: 10px 0 12px;
  background: linear-gradient(180deg, rgba(247, 250, 251, 0.97) 70%, rgba(247, 250, 251, 0.88) 100%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

[data-restaurant-theme="signature"] .view-catalog.is-catalog-video .catalog-filters-bar {
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + 58px);
  z-index: 25;
  margin-bottom: 0;
  padding-top: 4px;
  padding-bottom: 8px;
  background: linear-gradient(180deg, rgba(247, 250, 251, 0.98) 65%, rgba(247, 250, 251, 0.9) 100%);
}

[data-restaurant-theme="signature"] .view-catalog.is-catalog-video .catalog-result-head {
  top: calc(env(safe-area-inset-top, 0px) + 110px);
}

[data-restaurant-theme="signature"] .catalog-view-switch__btn--mobile {
  display: none;
}

[data-restaurant-theme="signature"] .catalog-more {
  display: flex;
  justify-content: center;
  margin: 36px 0 8px;
}
[data-restaurant-theme="signature"] .catalog-more[hidden] {
  display: none;
}
[data-restaurant-theme="signature"] .catalog-more__btn {
  min-width: 200px;
  padding: 14px 28px;
  border: 1px solid rgba(5, 40, 63, 0.18);
  border-radius: 999px;
  background: #fff;
  color: var(--sig-navy-800);
  font-family: var(--sig-font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
[data-restaurant-theme="signature"] .catalog-more__btn:hover {
  background: var(--sig-navy-800);
  border-color: var(--sig-navy-800);
  color: #fff;
}
[data-restaurant-theme="signature"] .catalog-more__btn.is-loading {
  pointer-events: none;
  opacity: 0.72;
}

@keyframes catalogCardReveal {
  from {
    opacity: 0;
    transform: translateY(28px) scale(0.96);
    filter: blur(4px);
  }
  60% {
    opacity: 1;
    filter: blur(0);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

[data-restaurant-theme="signature"] .catalog-card.is-revealing {
  animation: catalogCardReveal 560ms cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--reveal-delay, 0ms);
}

[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card.is-revealing {
  animation-name: catalogVideoCardReveal;
}

@keyframes catalogVideoCardReveal {
  from {
    opacity: 0;
    transform: translateY(24px) scale(0.94);
    filter: blur(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-restaurant-theme="signature"] .catalog-card.is-revealing {
    animation: none;
  }
}

[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card {
  position: relative;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  border: 0;
  border-radius: 22px;
  background: #031726;
  box-shadow: 0 16px 40px rgba(5, 40, 63, 0.18);
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card:hover {
  transform: translateY(-3px);
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__media {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 22px;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__tags {
  z-index: 3;
}

[data-restaurant-theme="signature"] .catalog-card__tags {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: calc(100% - 24px);
  pointer-events: none;
}
[data-restaurant-theme="signature"] .catalog-card__tag {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--sig-navy-950);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 6px 16px rgba(3, 23, 38, 0.12);
}
[data-restaurant-theme="signature"] .catalog-card__tag svg {
  flex: 0 0 auto;
  display: block;
}
[data-restaurant-theme="signature"] .catalog-card__tag--popular {
  background: #ffe8c7;
  color: #8a4b00;
}
[data-restaurant-theme="signature"] .catalog-card__tag--new {
  background: #d8f3ff;
  color: #0a5f86;
}
[data-restaurant-theme="signature"] .catalog-card__tag--sale {
  background: #ffe0e0;
  color: #a11010;
}
[data-restaurant-theme="signature"] .catalog-card__tag--vegan {
  background: #e2f6df;
  color: #1f6b2d;
}
[data-restaurant-theme="signature"] .catalog-card__tag--spicy {
  background: #ffe6d4;
  color: #b03d00;
}
[data-restaurant-theme="signature"] .catalog-card__tag--recommend {
  background: #e8e4ff;
  color: #4330a3;
}
[data-restaurant-theme="signature"] .catalog-card__tag--chef {
  background: #05283f;
  color: #f4d7a4;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0;
  min-height: 0;
  padding: 56px 18px 14px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(3, 23, 38, 0.28) 28%,
    rgba(3, 23, 38, 0.78) 68%,
    rgba(3, 23, 38, 0.94) 100%
  );
  color: #fff;
  pointer-events: none;
}

[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__body > * {
  pointer-events: auto;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__title-row {
  align-items: flex-end;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card h3 {
  color: #fff;
  font-size: 18px;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__title-row span {
  color: rgba(255, 255, 255, 0.78);
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__body > p {
  min-height: 0;
  height: auto;
  margin: 8px 0;
  color: rgba(255, 255, 255, 0.82);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__footer {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 6px;
  padding-top: 0;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__order {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: auto;
  margin-left: auto;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__variations {
  width: auto;
  max-width: none;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__footer strong {
  color: #fff;
  font-size: 22px;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__price s,
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__footer [data-catalog-old-price] {
  color: rgba(255, 255, 255, 0.55);
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__price.has-sale strong {
  color: #ff5a9a;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__add {
  background: linear-gradient(90deg, var(--sig-sand-500), var(--sig-sand-300));
  color: var(--sig-navy-950);
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__qty {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__qty button {
  color: #fff;
}
[data-restaurant-theme="signature"] .catalog-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: visible;
  border: 1px solid rgba(5,40,63,.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(5,40,63,.08);
  transition: transform var(--sig-motion-base) var(--sig-ease), box-shadow var(--sig-motion-base) var(--sig-ease);
}
@media (hover: hover) and (pointer: fine) {
  [data-restaurant-theme="signature"] .catalog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(5,40,63, 0.14);
  }
}
[data-restaurant-theme="signature"] .catalog-card__media { position: relative; display: block; width: 100%; aspect-ratio: 4/3; overflow: hidden; border: 0; border-radius: 17px 17px 0 0; background-size: cover; background-position: center; cursor: pointer; flex: 0 0 auto; }
[data-restaurant-theme="signature"] .catalog-card__preview { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.025); transition: opacity 240ms var(--sig-ease), transform 700ms var(--sig-ease); pointer-events: none; }
[data-restaurant-theme="signature"] .catalog-card__media.is-previewing .catalog-card__preview { opacity: 1; transform: scale(1); }
[data-restaurant-theme="signature"] .catalog-card__play { position: absolute; right: 14px; bottom: 14px; z-index: 2; width: 38px; height: 38px; display: grid; place-items: center; padding-left: 2px; border-radius: 50%; background: rgba(5,40,63,.86); color: #fff; font-size: 12px; transition: opacity 180ms var(--sig-ease), transform 180ms var(--sig-ease); }
[data-restaurant-theme="signature"] .catalog-card__media.is-previewing .catalog-card__play { opacity: 0; transform: scale(.82); }
[data-restaurant-theme="signature"] .catalog-card__body {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 16px 18px 16px;
  min-height: 0;
}
[data-restaurant-theme="signature"] .catalog-card__title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  min-height: 0;
}
[data-restaurant-theme="signature"] .catalog-card h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
[data-restaurant-theme="signature"] .catalog-card__title-row span { flex: 0 0 auto; color: var(--sig-text-muted); font-size: 12px; line-height: 1.3; }
[data-restaurant-theme="signature"] .catalog-card__body > p {
  height: 40px;
  margin: 4px 0 0;
  color: var(--sig-text-muted);
  font-size: 13px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
[data-restaurant-theme="signature"] .catalog-card__footer {
  margin-top: auto;
  padding-top: 12px;
  min-height: 40px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 10px;
}
[data-restaurant-theme="signature"] .catalog-card__order {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}
[data-restaurant-theme="signature"] .catalog-card__order .catalog-card__qty {
  margin-left: auto;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 102px;
  min-width: 102px;
  height: 40px;
  min-height: 40px;
  justify-content: center;
}

[data-restaurant-theme="signature"] .view-catalog .catalog-card__order .catalog-card__add {
  margin-left: auto;
  flex: 0 0 40px;
  box-sizing: border-box;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
  border-radius: 50%;
  gap: 0;
  justify-content: center;
}

[data-restaurant-theme="signature"] .view-catalog .catalog-card__add span {
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
}
[data-restaurant-theme="signature"] .catalog-card__price {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}
[data-restaurant-theme="signature"] .catalog-card__price s,
[data-restaurant-theme="signature"] .catalog-card__footer [data-catalog-old-price] {
  color: var(--sig-text-muted);
  font-size: 12px;
  font-weight: 500;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
[data-restaurant-theme="signature"] .catalog-card__price.has-sale strong,
[data-restaurant-theme="signature"] .catalog-card__footer .has-sale [data-catalog-price] {
  color: #d4145c;
}
[data-restaurant-theme="signature"] .catalog-card__price.has-promo .promo-price-new,
[data-restaurant-theme="signature"] .catalog-card__var-price.has-promo .promo-price-new,
[data-restaurant-theme="signature"] .slide__price .promo-price-new,
[data-restaurant-theme="signature"] .dish-card__price .promo-price-new,
[data-restaurant-theme="signature"] .dish-modal__price .promo-price-new {
  color: inherit;
  font-weight: 700;
}

[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__price.has-promo .promo-price-new,
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__var-price.has-promo .promo-price-new {
  color: #fff;
}

[data-restaurant-theme="signature"] .catalog-card__footer > strong {
  color: var(--sig-navy-800, #05283f);
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__footer > strong {
  color: #fff;
}
[data-restaurant-theme="signature"] .catalog-card__price.has-promo .promo-price-old,
[data-restaurant-theme="signature"] .catalog-card__var-price.has-promo .promo-price-old,
[data-restaurant-theme="signature"] .slide__price .promo-price-old,
[data-restaurant-theme="signature"] .dish-card__price .promo-price-old {
  color: var(--sig-text-muted, #5a7180);
  font-size: 0.85em;
  font-weight: 500;
  text-decoration: line-through;
}
[data-restaurant-theme="signature"] .catalog-card__var-price.has-promo {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
}
[data-restaurant-theme="signature"] .slide__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
}
[data-restaurant-theme="signature"] .catalog-card__variations {
  position: relative;
  z-index: 4;
  margin: 0;
  width: 100%;
  max-width: 168px;
  flex: 1 1 auto;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) {
    overflow: visible;
    align-items: start;
  }

  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card {
    position: relative;
    z-index: 1;
  }

  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:hover,
  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:focus-within,
  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:has(.is-open),
  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card.is-order-pinned {
    z-index: 40;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: none;
    filter: drop-shadow(0 16px 28px rgba(5, 40, 63, 0.18));
  }

  /* Footer was position:relative → order CB = inset content width (appendix).
     Static footer → CB = .catalog-card__body (full card width). */
  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__footer {
    position: static;
  }

  /* Out of flow → row/section don't jump; still looks like one card. */
  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__order {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% - 10px);
    z-index: 2;
    width: auto;
    margin: 0;
    padding: 4px 18px 14px;
    box-sizing: border-box;
    background: #fff;
    border: 0;
    border-radius: 0 0 18px 18px;
    box-shadow: none;
  }

  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:hover .catalog-card__order,
  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:focus-within .catalog-card__order,
  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:has(.is-open) .catalog-card__order,
  [data-restaurant-theme="signature"] .catalog-grid:not([data-catalog-layout="video"]) .catalog-card.is-order-pinned .catalog-card__order {
    display: flex;
  }

  /* Catalog: plus stays on the price row, not in a hover appendix. */
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__footer {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__order,
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:hover .catalog-card__order,
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:focus-within .catalog-card__order,
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card.is-order-pinned .catalog-card__order {
    display: flex;
    position: static;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    flex: 0 0 auto;
    justify-content: flex-end;
    align-items: center;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:hover,
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card:focus-within,
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card.is-order-pinned {
    border-bottom-left-radius: 18px;
    border-bottom-right-radius: 18px;
    filter: none;
  }

  [data-restaurant-theme="signature"] .catalog-card__variations {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
}

/* Popular home PC: buttons only on hover; no layout jump; one card shape. */
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  [data-restaurant-theme="signature"] .home-section--popular,
  [data-restaurant-theme="signature"] .home-section--popular .home-rail-wrap--popular,
  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    overflow: visible !important;
  }

  [data-restaurant-theme="signature"] .home-section--popular:has(.catalog-card:hover) {
    position: relative;
    z-index: 8;
  }

  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    align-items: stretch;
    overflow: visible !important;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card {
    position: relative;
    z-index: 1;
    overflow: visible;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card:hover,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card:focus-within,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card.is-order-pinned {
    z-index: 50;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: none;
    filter: drop-shadow(0 16px 28px rgba(5, 40, 63, 0.18));
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card:has(.catalog-card__variations.is-open) {
    z-index: 60;
  }

  /* Same appendix fix as catalog-grid: don't let footer shrink the order CB. */
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__footer {
    position: static;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__order {
    display: none !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% - 10px) !important;
    z-index: 2;
    width: auto;
    margin: 0;
    padding: 4px 18px 14px;
    box-sizing: border-box;
    background: #fff;
    border: 0;
    border-radius: 0 0 18px 18px;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card:hover .catalog-card__order,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card:focus-within .catalog-card__order,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card.is-order-pinned .catalog-card__order,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card:has(.catalog-card__variations.is-open) .catalog-card__order {
    display: flex !important;
  }

  /* PC: weight menu opens upward over the card. */
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__variations {
    position: relative;
    z-index: 5;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__var-menu {
    bottom: calc(100% + 6px);
    top: auto;
    z-index: 30;
  }
}
[data-restaurant-theme="signature"] .catalog-card__var-toggle {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 40px;
  padding: 0 34px 0 12px;
  border: 1px solid rgba(5, 40, 63, 0.18);
  border-radius: 10px;
  background: #fff;
  color: var(--sig-navy-800);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
  position: relative;
}
[data-restaurant-theme="signature"] .catalog-card__var-static {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  box-sizing: border-box;
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sig-text-muted, rgba(5, 40, 63, 0.55));
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
[data-restaurant-theme="signature"] .catalog-card__var-toggle::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.7;
  pointer-events: none;
}
[data-restaurant-theme="signature"] .catalog-card__variations.is-open .catalog-card__var-toggle {
  border-color: var(--sig-navy-800);
}
[data-restaurant-theme="signature"] .catalog-card__variations.is-open .catalog-card__var-toggle::after {
  margin-top: -2px;
  transform: rotate(225deg);
}
[data-restaurant-theme="signature"] .catalog-card:has(.catalog-card__variations.is-open),
[data-restaurant-theme="signature"] .catalog-card:has(.catalog-card__variations.is-open) .catalog-card__body,
[data-restaurant-theme="signature"] .catalog-card:has(.catalog-card__variations.is-open) .catalog-card__footer,
[data-restaurant-theme="signature"] .catalog-card:has(.catalog-card__variations.is-open) .catalog-card__order,
[data-restaurant-theme="signature"] .catalog-card:has(.catalog-card__variations.is-open) .catalog-card__variations {
  overflow: visible !important;
}

[data-restaurant-theme="signature"] .catalog-card:has(.catalog-card__variations.is-open) {
  position: relative;
  z-index: 50;
}
[data-restaurant-theme="signature"] .catalog-card__var-menu {
  position: absolute;
  left: 0;
  right: auto;
  top: calc(100% + 6px);
  bottom: auto;
  z-index: 50;
  width: max-content;
  min-width: 100%;
  max-width: min(320px, 92vw);
  margin: 0;
  padding: 8px;
  list-style: none;
  border: 1px solid rgba(5, 40, 63, 0.12);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(5, 40, 63, 0.14);
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .catalog-card__var-menu {
    top: auto;
    bottom: calc(100% + 6px);
  }
}
[data-restaurant-theme="signature"] .catalog-card__var-menu[hidden] {
  display: none !important;
}
[data-restaurant-theme="signature"] .catalog-card__var-menu li + li {
  margin-top: 4px;
}
[data-restaurant-theme="signature"] .catalog-card__var {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--sig-navy-800);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  white-space: nowrap;
}
[data-restaurant-theme="signature"] .catalog-card__var-unit,
[data-restaurant-theme="signature"] .catalog-card__var-price {
  white-space: nowrap;
  flex: 0 0 auto;
}
[data-restaurant-theme="signature"] .catalog-card__var.is-active {
  background: rgba(5, 40, 63, 0.07);
}

@media (hover: hover) and (pointer: fine) {
  [data-restaurant-theme="signature"] .catalog-card__var:hover {
    background: rgba(5, 40, 63, 0.07);
  }
}

@media (hover: none), (pointer: coarse) {
  [data-restaurant-theme="signature"] .catalog-card__var:hover:not(.is-active) {
    background: transparent;
  }
}
[data-restaurant-theme="signature"] .catalog-card__var-price {
  color: var(--sig-text-muted);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
[data-restaurant-theme="signature"] .catalog-card__var.is-active .catalog-card__var-price {
  color: var(--sig-navy-800);
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__variations {
  position: relative;
  z-index: 5;
  max-width: 150px;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__var-toggle {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
  backdrop-filter: blur(8px);
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__var-menu {
  background: rgba(8, 28, 42, 0.96);
  border-color: rgba(255, 255, 255, 0.14);
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__var {
  color: #fff;
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__var.is-active {
  background: rgba(255, 255, 255, 0.12);
}
@media (hover: hover) and (pointer: fine) {
  [data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__var:hover {
    background: rgba(255, 255, 255, 0.12);
  }
}
[data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] .catalog-card__var-price {
  color: rgba(255, 255, 255, 0.72);
}
[data-restaurant-theme="signature"] .catalog-card__footer strong { font-size: 20px; }
[data-restaurant-theme="signature"] .catalog-card__add { min-height: 40px; padding: 0 12px; border: 0; border-radius: 22px; background: var(--sig-navy-800); color: #fff; font: inherit; font-size: 13px; font-weight: 650; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
[data-restaurant-theme="signature"] .catalog-card__add span { font-size: 18px; font-weight: 500; line-height: 1; }
[data-restaurant-theme="signature"] .catalog-card__add[hidden] { display: none !important; }
[data-restaurant-theme="signature"] .catalog-card__qty { height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 0; border: 1px solid var(--sig-border); border-radius: 22px; flex: 0 0 auto; margin-left: auto; box-sizing: border-box; }
[data-restaurant-theme="signature"] .catalog-card__qty[hidden] { display: none !important; }
[data-restaurant-theme="signature"] .catalog-card__qty button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 100%;
  flex: 0 0 34px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sig-navy-800);
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}
[data-restaurant-theme="signature"] .catalog-card__qty span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

[data-restaurant-theme="signature"] .app__stage .topbar .brand__mark,
[data-restaurant-theme="signature"] .fs-menu__header .brand__mark {
  display: block !important;
  width: auto;
  height: 44px;
  max-width: 138px;
}

[data-restaurant-theme="signature"] .app__stage .topbar .brand__text,
[data-restaurant-theme="signature"] .fs-menu__header .brand__text {
  display: none;
}

[data-restaurant-theme="signature"] .fs-menu__scrim {
  background: var(--sig-navy-800, #05283f);
  opacity: 1;
}

[data-restaurant-theme="signature"] .fs-menu__content {
  background: var(--sig-navy-800, #05283f);
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .fs-menu__footer,
  [data-restaurant-theme="signature"] #fsFooter {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .fs-menu__body {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 16px);
  }
}

[data-restaurant-theme="signature"] .fs-nav__item,
[data-restaurant-theme="signature"] .fs-nav__item.is-active {
  min-height: 42px;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
}

[data-restaurant-theme="signature"] .fs-nav__item.fs-nav__item--sub.is-active {
  color: #ffb66e !important;
}

[data-restaurant-theme="signature"] .fs-nav__item > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1180px) and (min-width: 768px) {
  [data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="grid4"],
  [data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) and (min-width: 768px) {
  [data-restaurant-theme="signature"] .view-catalog > .catalog-intro,
  [data-restaurant-theme="signature"] .view-events > .page-hero,
  [data-restaurant-theme="signature"] .subpage__body > .page-hero {
    min-height: min(28dvh, 260px);
    padding: 88px 0 28px;
  }
  [data-restaurant-theme="signature"] .view-catalog > .catalog-intro .catalog-intro__copy,
  [data-restaurant-theme="signature"] .view-events > .page-hero .catalog-intro__copy,
  [data-restaurant-theme="signature"] .subpage__body > .page-hero .catalog-intro__copy {
    width: min(100% - 64px, 1344px);
  }
  [data-restaurant-theme="signature"] .home-topbar > .signature-container,
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header > .signature-container,
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header > .signature-container {
    width: min(100% - 64px, 1344px);
  }
  [data-restaurant-theme="signature"] .sig-desktop-aside__meta {
    display: none;
  }
  [data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="grid3"],
  [data-restaurant-theme="signature"] .catalog-grid[data-catalog-layout="video"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  /* Same absolute overlay chrome as home — no jump between pages. */
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header {
    display: block !important;
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 80;
    isolation: isolate;
    box-sizing: border-box;
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    margin: 0;
    padding: calc(env(safe-area-inset-top, 0px) + 10px) 16px 10px;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header.is-solid {
    background: rgba(5, 40, 63, 0.94);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px) saturate(1.15);
    -webkit-backdrop-filter: blur(12px) saturate(1.15);
  }

  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome.catalog-header > .signature-container {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    max-width: none;
    min-height: 0 !important;
    height: auto !important;
    margin: 0;
    padding: 0;
    grid-template-columns: none;
  }

  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome .sig-desktop-nav,
  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome .sig-desktop-aside {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome .brand {
    max-width: 132px;
    min-width: 0;
  }

  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome .brand__mark {
    height: 40px !important;
    max-width: 132px !important;
    filter: brightness(0) invert(1);
  }

  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome .brand__text {
    color: #fff;
  }

  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome .topbar__actions {
    display: flex !important;
    gap: 10px;
    flex: 0 0 auto;
  }

  [data-restaurant-theme="signature"] .view-events > .sig-events-chrome .topbar__actions .icon-btn {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
  }

  /* Hero starts at top; absolute header overlays it. */
  [data-restaurant-theme="signature"] .view-events > .page-hero,
  [data-restaurant-theme="signature"] .view-events > .events-intro.page-hero {
    display: flex !important;
    margin: 0 0 20px !important;
    min-height: min(34dvh, 280px);
    padding: calc(env(safe-area-inset-top, 0px) + 72px) 0 22px;
  }

  [data-restaurant-theme="signature"] .view-events > .page-hero .catalog-intro__copy,
  [data-restaurant-theme="signature"] .view-events > .events-intro .catalog-intro__copy {
    width: min(100% - 32px, 1344px);
    margin-inline: auto;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .view-events > .page-hero h1,
  [data-restaurant-theme="signature"] .view-events > .events-intro h1 {
    margin-inline: auto;
    font-size: clamp(26px, 7vw, 34px);
    text-align: center;
  }

  [data-restaurant-theme="signature"] .view-events > .page-hero .catalog-intro__copy > p:last-child,
  [data-restaurant-theme="signature"] .view-events > .events-intro .catalog-intro__copy > p:last-child {
    margin: 10px auto 0;
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .view-catalog {
    display: flex !important;
    flex-direction: column;
    position: absolute;
    inset: 0;
    z-index: 31;
    overflow-x: clip;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #f7fafb;
    transform: none !important;
    overscroll-behavior: contain;
    touch-action: pan-y;
  }

  [data-restaurant-theme="signature"] .app.is-catalog .view-catalog {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  /* Same absolute overlay chrome as home — no jump between pages. */
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header {
    display: block !important;
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 80;
    box-sizing: border-box;
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    margin: 0;
    padding: calc(env(safe-area-inset-top, 0px) + 10px) 16px 10px;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header.is-solid {
    background: rgba(5, 40, 63, 0.94);
    box-shadow: none;
    backdrop-filter: blur(12px) saturate(1.15);
    -webkit-backdrop-filter: blur(12px) saturate(1.15);
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header > .signature-container {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    max-width: none;
    min-height: 0 !important;
    height: auto !important;
    margin: 0;
    padding: 0;
    grid-template-columns: none;
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header .sig-desktop-nav,
  [data-restaurant-theme="signature"] .view-catalog > .catalog-header .sig-desktop-aside {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header .brand {
    max-width: 132px;
    min-width: 0;
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header .brand__mark {
    height: 40px !important;
    max-width: 132px !important;
    filter: brightness(0) invert(1);
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header .brand__text {
    color: #fff;
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header .topbar__actions {
    display: flex !important;
    gap: 10px;
    flex: 0 0 auto;
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header .topbar__actions .icon-btn {
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header .topbar__actions [data-open-cart] {
    display: none;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-toggle {
    display: none;
  }

  /* Hero starts at top; absolute header overlays it. */
  [data-restaurant-theme="signature"] .view-catalog > .catalog-intro {
    margin: 0 !important;
    min-height: min(34dvh, 280px);
    padding: calc(env(safe-area-inset-top, 0px) + 72px) 0 22px;
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-intro .catalog-intro__copy {
    width: min(100% - 32px, 1344px);
    margin-inline: auto;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-intro h1 {
    margin-inline: auto;
    font-size: clamp(26px, 7vw, 34px);
    text-align: center;
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-intro .catalog-intro__copy > p:last-child {
    margin: 10px auto 0;
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 28px);
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-bar {
    position: static;
    top: auto;
    z-index: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 18px 0 14px;
    padding: 0;
    background: transparent;
    border: 0;
    border-bottom: none;
    box-shadow: none;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin: 0 -16px;
    padding: 0 16px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters::-webkit-scrollbar {
    display: none;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters button {
    min-height: 40px;
    padding: 0 14px;
    font-size: 13px;
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-result-head {
    position: relative;
    z-index: 6;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px 12px;
    margin: 10px 0 14px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-result-head__left {
    flex: 1 1 auto;
    min-width: 0;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-result-head__tools {
    align-self: flex-start;
    margin-left: auto;
    margin-top: -2px;
    gap: 8px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-tools {
    position: static;
    flex: 0 0 auto;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-panel:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-panel__backdrop {
    display: block;
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(5, 40, 63, 0.48);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    cursor: pointer;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-panel__sheet {
    display: block;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    padding: 16px 16px calc(20px + env(safe-area-inset-bottom, 0px));
    border-radius: 16px 16px 0 0;
    background: #fff;
    box-shadow: 0 -12px 40px rgba(5, 40, 63, 0.18);
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-panel__title {
    margin: 0;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-filters-panel__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--sig-navy-800, #05283f);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-result-head h2 {
    font-size: 20px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-result-head__title-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-result-head__title-row > span {
    font-size: 12px;
    line-height: 1.3;
  }

  [data-restaurant-theme="signature"] .catalog-view-switch__btn--pc {
    display: none;
  }

  [data-restaurant-theme="signature"] .catalog-view-switch__btn--mobile,
  [data-restaurant-theme="signature"] .catalog-view-switch__btn[data-catalog-view="video"] {
    display: grid;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid,
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="grid4"],
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="grid3"],
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="grid2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    gap: 16px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: auto;
    aspect-ratio: 3 / 4;
    min-height: 0;
    overflow: hidden;
    border-radius: 20px;
    justify-self: stretch;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__body {
    bottom: 0;
    min-height: 0;
    padding: 48px 16px 12px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    border-radius: 20px;
  }

  [data-restaurant-theme="signature"] .view-catalog.is-catalog-video .catalog-filters-bar {
    top: calc(env(safe-area-inset-top, 0px) + 56px);
  }

  [data-restaurant-theme="signature"] .view-catalog.is-catalog-video .catalog-result-head {
    top: calc(env(safe-area-inset-top, 0px) + 104px);
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__body > p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__title-row span {
    display: inline;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__qty span {
    color: #fff;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card {
    position: relative;
    z-index: 1;
    min-width: 0;
    height: 100%;
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card:has(.catalog-card__variations.is-open) {
    z-index: 40;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__media {
    aspect-ratio: 1 / 1;
    border-radius: 16px 16px 0 0;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card h3 {
    font-size: 14px;
    min-height: 0;
    margin: 0;
    -webkit-line-clamp: 2;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__title-row {
    min-height: 0;
    margin: 0;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__title-row span {
    display: none;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__body {
    flex: 1 1 auto;
    padding: 10px 10px 12px;
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__body > p {
    display: -webkit-box;
    height: auto;
    max-height: 2.7em;
    margin: 6px 0 0;
    font-size: 11px;
    line-height: 1.35;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__footer {
    margin-top: auto;
    padding-top: 8px;
    min-height: 0;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__order {
    display: flex;
    position: static;
    width: auto;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    background: transparent;
    align-items: center;
    justify-content: flex-end;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__footer > strong,
  [data-restaurant-theme="signature"] .view-catalog .catalog-card__footer > .catalog-card__price {
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 32px;
    order: 1;
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__footer > .catalog-card__price.has-sale,
  [data-restaurant-theme="signature"] .view-catalog .catalog-card__footer > .catalog-card__price.has-promo {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: center;
    gap: 1px;
    flex: 1 1 auto;
    white-space: normal;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__footer strong,
  [data-restaurant-theme="signature"] .view-catalog .catalog-card__price strong {
    font-size: 14px;
    line-height: 1.15;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__price.has-sale strong {
    font-size: 14px;
    line-height: 1.15;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__price s,
  [data-restaurant-theme="signature"] .view-catalog .catalog-card__footer [data-catalog-old-price] {
    font-size: 10px;
    line-height: 1.1;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__order {
    display: contents !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__variations {
    position: relative;
    order: 2;
    flex: 0 1 auto;
    max-width: none;
    width: auto;
    min-width: 74px;
    margin-left: auto;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__variations--static {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    order: 2;
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: none;
    margin-left: auto;
    min-height: 0;
    height: auto;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__var-menu {
    left: auto;
    right: 0;
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    width: max-content;
    min-width: 100%;
    max-width: min(220px, 70vw);
    z-index: 80 !important;
  }

  [data-restaurant-theme="signature"] .view-catalog [data-var-dropdown].is-open .catalog-card__var-menu,
  [data-restaurant-theme="signature"] #homePopularRail [data-var-dropdown].is-open .catalog-card__var-menu {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    z-index: 1101 !important;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__media,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__media {
    z-index: 0;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-card__body,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__body {
    position: relative;
    z-index: 2;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__add {
    order: 3;
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    margin-top: 0;
    margin-left: 8px;
    padding: 0;
    border-radius: 50%;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__qty {
    order: 3;
    flex: 0 0 auto;
    width: auto;
    min-width: 88px;
    margin-top: 0;
    margin-left: 8px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__var-toggle {
    width: auto;
    max-width: 100%;
    min-width: 74px;
    min-height: 32px;
    height: 32px;
    padding: 0 22px 0 10px;
    font-size: 11px;
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__var-toggle [data-var-current] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__var-toggle::after {
    right: 7px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid:not([data-catalog-layout="video"]) .catalog-card__var-static {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    min-height: 32px;
    height: 32px;
    padding: 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    color: var(--sig-text-muted, rgba(5, 40, 63, 0.55));
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__order {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    width: auto;
    margin-left: auto;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__variations {
    max-width: none;
    width: auto;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__footer {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__footer > .catalog-card__price,
  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__footer > strong {
    order: 1;
    margin-right: auto;
    flex: 0 1 auto;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__order {
    order: 2;
    margin-left: auto;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-grid[data-catalog-layout="video"] .catalog-card__add {
    order: 0;
    margin-left: 0;
    flex: 0 0 40px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-more {
    margin: 24px 0 8px;
  }

  [data-restaurant-theme="signature"] .view-catalog .catalog-more__btn {
    min-width: 0;
    width: 100%;
    max-width: 280px;
  }

  [data-restaurant-theme="signature"] .view-catalog .site-footer,
  [data-restaurant-theme="signature"] .view-catalog [data-site-footer] {
    padding-inline: 16px;
  }

  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    display: flex;
    align-items: stretch;
    gap: 12px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    padding: 4px 16px 24px;
    margin: 0 0 -24px;
    scroll-padding-inline: 16px;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card,
  [data-restaurant-theme="signature"] #homePopularRail .dish-card {
    display: flex;
    flex-direction: column;
    flex: 0 0 min(78%, 280px);
    width: min(78%, 280px);
    align-self: stretch;
    scroll-snap-align: start;
    overflow: visible;
  }

  /* Popular cards: same price / portion / + row as catalog tiles. */
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__footer {
    margin-top: auto;
    padding-top: 8px;
    min-height: 0;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    overflow: visible;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__footer > strong,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__footer > .catalog-card__price {
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 32px;
    order: 1;
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__footer strong {
    font-size: 14px;
    line-height: 1.15;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card .catalog-card__order {
    display: contents !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__variations,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__variations--static {
    position: relative;
    z-index: 5;
    order: 2;
    flex: 0 1 auto;
    width: auto;
    min-width: 0;
    max-width: none;
    margin-left: auto;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__variations--static {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    min-height: 0;
    height: auto;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__var-toggle {
    width: auto;
    max-width: 100%;
    min-width: 74px;
    min-height: 32px;
    height: 32px;
    padding: 0 22px 0 10px;
    font-size: 11px;
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__var-static {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    min-height: 32px;
    height: 32px;
    padding: 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__add {
    order: 3;
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    margin-top: 0;
    margin-left: 8px;
    padding: 0;
    border-radius: 50%;
    font-size: 0;
    line-height: 0;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__add span {
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__qty {
    order: 3;
    flex: 0 0 auto;
    width: auto;
    min-width: 88px;
    margin-top: 0;
    margin-left: 8px;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card:has(.catalog-card__variations.is-open) {
    z-index: 50;
    position: relative;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__body,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__order {
    overflow: visible;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__var-menu {
    top: calc(100% + 6px) !important;
    bottom: auto !important;
    left: auto;
    right: 0;
    z-index: 80 !important;
  }

  [data-restaurant-theme="signature"] .home-section--popular:has(.catalog-card__variations.is-open),
  [data-restaurant-theme="signature"] .home-rail-wrap--popular:has(.catalog-card__variations.is-open),
  [data-restaurant-theme="signature"] #homePopularRail.home-rail:has(.catalog-card__variations.is-open) {
    overflow: visible !important;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--popular {
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .home-section--popular {
    overflow: visible;
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card:hover,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card:active {
    transform: none;
    box-shadow: 0 10px 30px rgba(5, 40, 63, 0.08);
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card {
    transition: box-shadow var(--sig-motion-base) var(--sig-ease);
  }

  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__preview,
  [data-restaurant-theme="signature"] #homePopularRail .catalog-card__media.is-previewing .catalog-card__preview {
    transform: none;
  }

  [data-restaurant-theme="signature"] .home-section--menu-pages,
  [data-restaurant-theme="signature"] .home-section--menu-pages .signature-container {
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages {
    padding-inline: 0;
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow {
    width: 40px;
    height: 40px;
    margin-top: -20px;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow--prev {
    left: 8px;
  }

  [data-restaurant-theme="signature"] .home-rail-wrap--menu-pages .sig-rail-arrow--next {
    right: 8px;
  }

  /* Shadow on .sig-menu-page__media is 0 12px 32px — needs ~48px below.
     overflow-x:auto also clips Y, so pad inside; equal neg margin keeps PDF link put. */
  [data-restaurant-theme="signature"] #homeMenuPagesRail.home-rail {
    max-width: none;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 12px 16px 48px;
    margin: -12px 0 -48px;
    scroll-padding-inline: 16px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
  }

  [data-restaurant-theme="signature"] #homeMenuPagesRail .sig-menu-page {
    flex: 0 0 min(72%, 240px);
    width: min(72%, 240px);
    scroll-snap-align: start;
  }

  [data-restaurant-theme="signature"] .view-home #homePopularRail.home-rail,
  [data-restaurant-theme="signature"] .view-home #homeCategoryRail.home-rail,
  [data-restaurant-theme="signature"] .view-home #homePhotosRail.home-rail,
  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
  }

  [data-restaurant-theme="signature"] .view-home #homeMenuPagesRail.home-rail {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
  }

  [data-restaurant-theme="signature"] #homeCategoryRail .cat-card {
    touch-action: pan-x pan-y;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-map {
    min-height: 220px;
    height: 220px;
  }
}

@media (max-width: 390px) {
  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    padding-inline: 16px;
    scroll-padding-inline: 16px;
  }

  [data-restaurant-theme="signature"] #homeMenuPagesRail.home-rail {
    padding-inline: 16px;
    scroll-padding-inline: 16px;
  }
}

@media (max-width: 768px) and (min-width: 391px) {
  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    padding-inline: 24px;
    scroll-padding-inline: 24px;
  }

  [data-restaurant-theme="signature"] #homeMenuPagesRail.home-rail {
    padding-inline: 24px;
    scroll-padding-inline: 24px;
  }
}

@media (max-width: 1024px) and (min-width: 769px) {
  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    padding-inline: 32px;
    scroll-padding-inline: 32px;
  }
}

@media (max-width: 1280px) and (min-width: 1025px) {
  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    padding-inline: 40px;
    scroll-padding-inline: 40px;
  }
}

/* —— Combined lunch + events —— */
[data-restaurant-theme="signature"] .sig-combo {
  margin-top: 0;
  padding: 36px 0 40px;
  overflow: visible;
  background:
    linear-gradient(180deg, rgba(7, 52, 81, 0.92), rgba(7, 52, 81, 0.96)),
    center / cover no-repeat url("../../signature-theme/assets/images/navy-water-texture.webp");
  color: var(--sig-text-on-dark);
}

[data-restaurant-theme="signature"] .sig-combo__grid {
  display: grid;
  gap: 28px;
  overflow: visible;
}

[data-restaurant-theme="signature"] .sig-lunch {
  position: relative;
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  height: 200px;
  min-height: 0;
  border-radius: 16px;
  overflow: hidden;
  background: var(--sig-lunch-card-bg, rgba(5, 40, 63, 0.55));
  border: 0;
  color: var(--sig-text-on-dark);
}

[data-restaurant-theme="signature"] .home-section--lunch {
  padding: 8px 0 36px;
  overflow: visible;
}

[data-restaurant-theme="signature"] .home-section--lunch > .signature-container {
  padding-inline: 0;
  overflow: visible;
}

[data-restaurant-theme="signature"] .sig-lunch__media {
  min-height: 180px;
  background: center / cover no-repeat
    url("../../signature-theme/assets/images/lunch-special.webp");
}

[data-restaurant-theme="signature"] .sig-lunch__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 22px 20px;
  background: var(--sig-lunch-body-bg, linear-gradient(90deg, rgba(5, 40, 63, 0.2), rgba(5, 40, 63, 0.88)));
}

[data-restaurant-theme="signature"] .sig-lunch__script {
  margin: 0;
  font-family: var(--font-script);
  font-style: italic;
  font-size: 22px;
  font-weight: 500;
  color: var(--sig-sand-400);
  line-height: 1.2;
}

[data-restaurant-theme="signature"] .sig-lunch__time {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
}

[data-restaurant-theme="signature"] .sig-lunch__price {
  margin: 0 0 8px;
  font-size: 16px;
  color: rgba(249, 252, 253, 0.78);
}

[data-restaurant-theme="signature"] .sig-lunch .btn-sand {
  width: min(100%, 214px);
  min-height: 52px;
  border-radius: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

[data-restaurant-theme="signature"] .sig-lunch .btn-sand svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}

[data-restaurant-theme="signature"] .sig-combo .home-section__title .sig-wave-icon {
  color: #fff !important;
}

[data-restaurant-theme="signature"] .sig-events-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

[data-restaurant-theme="signature"] .sig-events-head h2 {
  margin: 0;
  font-size: clamp(26px, 4vw, 34px);
  font-weight: 700;
  color: var(--sig-text-on-dark);
}

[data-restaurant-theme="signature"] .sig-events-head .home-section__link {
  color: var(--sig-sand-400);
  font-size: 14px;
  font-weight: 550;
}

[data-restaurant-theme="signature"] .sig-events {
  overflow: visible;
}

[data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
  display: flex;
  gap: 20px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 max(48px, calc((100% - 1344px) / 2)) 8px;
  box-sizing: border-box;
  overscroll-behavior-x: contain;
  overscroll-behavior-y: auto;
  touch-action: pan-x pan-y;
  scroll-padding-inline: max(48px, calc((100% - 1344px) / 2));
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: none;
  }
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    scroll-snap-type: none;
  }
}

@media (max-width: 1280px) {
  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    padding-inline: 40px;
    scroll-padding-inline: 40px;
  }
}

@media (max-width: 1024px) {
  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    padding-inline: 32px;
    scroll-padding-inline: 32px;
  }
}

@media (max-width: 768px) {
  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    padding-inline: 24px;
    scroll-padding-inline: 24px;
  }
}

@media (max-width: 390px) {
  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    padding-inline: 16px;
    scroll-padding-inline: 16px;
  }
}

[data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail::-webkit-scrollbar {
  display: none;
}

[data-restaurant-theme="signature"] .sig-combo .event-card {
  position: relative;
  flex: 0 0 min(78vw, 420px);
  scroll-snap-align: start;
  height: 280px;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 16px;
  background: #031726;
  border: 0;
  overflow: hidden;
  isolation: isolate;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  flex: none;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border: 0;
  border-radius: inherit;
  background-size: cover !important;
  background-position: center !important;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3, 23, 38, 0.12) 0%, rgba(3, 23, 38, 0.28) 36%, rgba(3, 23, 38, 0.78) 72%, rgba(3, 23, 38, 0.94) 100%);
  pointer-events: none;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__body {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 16px 16px;
  min-height: 0;
  background: transparent;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__when {
  margin: 0;
  color: var(--sig-sand-300, #e8c48a);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  min-height: 0;
  flex: none;
  color: rgba(249, 252, 253, 0.82);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__actions {
  position: static;
  left: auto;
  bottom: auto;
  margin: 10px 0 0;
  display: flex;
  align-items: center;
  align-self: flex-start;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__actions .btn-sand {
  width: auto;
  min-width: 0;
  height: 36px;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 18px;
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__status {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(249, 252, 253, 0.7);
}

[data-restaurant-theme="signature"] .sig-combo .pill {
  background: var(--sig-sand-400);
  color: var(--sig-navy-950);
}

[data-restaurant-theme="signature"] .sig-combo .pill--warn {
  background: rgba(207, 80, 72, 0.55);
  color: #fff9f3;
}

[data-restaurant-theme="signature"] .sig-combo .btn-link {
  color: rgba(249, 252, 253, 0.78);
}

[data-restaurant-theme="signature"] .sig-combo .home-empty {
  margin: 0;
  border-color: rgba(255, 255, 255, 0.28);
  color: rgba(249, 252, 253, 0.78);
}

@media (min-width: 900px) {
  [data-restaurant-theme="signature"] .sig-combo {
    padding: 40px 0 48px;
    min-height: 0;
    height: auto;
  }

  [data-restaurant-theme="signature"] .sig-combo > .signature-container {
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .sig-combo__grid {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: stretch;
    min-height: 0;
    max-height: none;
  }

  [data-restaurant-theme="signature"] .home-section--lunch {
    padding: 12px 0 56px;
  }

  [data-restaurant-theme="signature"] .sig-lunch {
    display: grid !important;
    grid-template-columns: 1.55fr 1fr;
    width: 100%;
    height: 220px;
    min-height: 220px;
    max-height: 220px;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 18px 46px rgba(1, 20, 34, 0.12);
  }

  [data-restaurant-theme="signature"] .sig-lunch__body {
    padding: 28px 32px;
    gap: 10px;
    justify-content: center;
  }

  [data-restaurant-theme="signature"] .sig-lunch__script {
    font-size: 28px;
  }

  [data-restaurant-theme="signature"] .sig-lunch__script br {
    display: none;
  }

  [data-restaurant-theme="signature"] .sig-lunch__time {
    font-size: 22px;
  }

  [data-restaurant-theme="signature"] .sig-lunch__price {
    font-size: 16px;
    margin-bottom: 8px;
  }

  [data-restaurant-theme="signature"] .sig-lunch .btn-sand {
    min-height: 48px;
  }

  [data-restaurant-theme="signature"] .sig-events {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0;
    border-left: 0;
  }

  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    display: flex;
    grid-template-columns: none;
    gap: 20px;
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    scroll-snap-type: none;
  }

  [data-restaurant-theme="signature"] .sig-combo .event-card {
    flex: 0 0 calc((100% - 20px) / 2);
    width: calc((100% - 20px) / 2);
    height: 340px;
    min-height: 340px;
    max-height: none;
  }

  [data-restaurant-theme="signature"] .sig-events-head {
    margin-bottom: 16px;
  }

  [data-restaurant-theme="signature"] .sig-combo .event-card__media {
    flex: none;
    height: 100%;
  }

  [data-restaurant-theme="signature"] .sig-combo .event-card__body {
    padding: 26px 22px 22px;
    gap: 8px;
  }

  [data-restaurant-theme="signature"] .sig-combo .event-card__title {
    font-size: 22px;
  }

  [data-restaurant-theme="signature"] .sig-combo .event-card__text {
    font-size: 14px;
    line-height: 1.4;
    min-height: 0;
    flex: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .home-section--lunch {
    padding: 40px 0 36px;
  }

  [data-restaurant-theme="signature"] .sig-lunch {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
    box-shadow: 0 14px 36px rgba(1, 20, 34, 0.1);
  }

  [data-restaurant-theme="signature"] .sig-lunch__media {
    min-height: 168px;
    height: 180px;
    border-radius: 16px 16px 0 0;
  }

  [data-restaurant-theme="signature"] .sig-lunch__body {
    padding: 16px 14px;
    gap: 4px;
    align-items: center;
    text-align: center;
    border-radius: 0 0 16px 16px;
    background: var(
      --sig-lunch-body-bg-mobile,
      linear-gradient(
        180deg,
        rgba(5, 40, 63, 0.55) 0%,
        rgba(5, 40, 63, 0.88) 42%,
        rgba(5, 40, 63, 0.94) 100%
      )
    );
  }

  [data-restaurant-theme="signature"] .sig-lunch__script {
    font-size: 18px;
  }

  [data-restaurant-theme="signature"] .sig-lunch__script br {
    display: none;
  }

  [data-restaurant-theme="signature"] .sig-lunch__time {
    font-size: 16px;
  }

  [data-restaurant-theme="signature"] .sig-lunch__price {
    font-size: 13px;
    margin-bottom: 4px;
  }

  [data-restaurant-theme="signature"] .sig-lunch .btn-sand {
    min-height: 40px;
    width: auto;
    max-width: 100%;
    align-self: center;
    margin-inline: auto;
  }
}

/* —— Footer —— */
html:not([data-restaurant-theme="signature"]) .site-footer:not(.site-footer--home) {
  display: none !important;
}

[data-restaurant-theme="signature"] .home-footer,
[data-restaurant-theme="signature"] .site-footer {
  text-align: left;
  padding: 34px 0 20px;
  background:
    linear-gradient(180deg, rgba(5, 40, 63, 0.94), rgba(5, 40, 63, 0.98)),
    center / cover no-repeat url("../../signature-theme/assets/images/navy-water-texture.webp");
  color: var(--sig-text-on-dark);
  border-top: 0;
}

[data-restaurant-theme="signature"] .view-catalog > .site-footer,
[data-restaurant-theme="signature"] .view-events > .site-footer,
[data-restaurant-theme="signature"] .view-event > .site-footer,
[data-restaurant-theme="signature"] .subpage > .site-footer,
[data-restaurant-theme="signature"] .view-home > .site-footer,
[data-restaurant-theme="signature"] .view-home > .home-footer {
  width: 100%;
  margin-top: auto;
  flex: 0 0 auto;
}

/* Keep footer at the bottom of short pages.
   Do NOT let flex-shrink crush home/catalog sections (rails would overflow
   and overlap the next block). */
[data-restaurant-theme="signature"] .view-home,
[data-restaurant-theme="signature"] .view-catalog,
[data-restaurant-theme="signature"] .view-events,
[data-restaurant-theme="signature"] .view-event,
[data-restaurant-theme="signature"] .subpage,
[data-restaurant-theme="signature"] .subpage.is-open {
  display: flex !important;
  flex-direction: column;
  min-height: 100%;
  box-sizing: border-box;
  overflow-x: clip;
  overflow-y: auto;
}

[data-restaurant-theme="signature"] .view-home > *,
[data-restaurant-theme="signature"] .view-catalog > *,
[data-restaurant-theme="signature"] .view-events > *,
[data-restaurant-theme="signature"] .view-event > *,
[data-restaurant-theme="signature"] .subpage > * {
  flex-shrink: 0;
}

[data-restaurant-theme="signature"] .view-catalog > .catalog-main,
[data-restaurant-theme="signature"] .view-events > .events-main,
[data-restaurant-theme="signature"] .view-event > .event-detail,
[data-restaurant-theme="signature"] .subpage > .subpage__body {
  flex: 1 0 auto;
}

/* Events list mobile: use sig-events-chrome over page-hero (same as home), not events-hero--mobile */
[data-restaurant-theme="signature"] .view-events .events-hero--mobile {
  display: none !important;
}

[data-restaurant-theme="signature"] .view-events {
  background: #f7fafb;
  color: var(--sig-text);
}

[data-restaurant-theme="signature"] .events-main.catalog-main {
  padding-top: 0;
  padding-bottom: 48px;
}

[data-restaurant-theme="signature"] .events-intro {
  margin-bottom: 0;
}

[data-restaurant-theme="signature"] .view-events .events-filters {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  padding: 0;
  min-width: 0;
  width: auto;
  max-width: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  touch-action: pan-x;
  position: static !important;
  top: auto !important;
  z-index: auto;
  background: transparent;
  border: 0;
  box-shadow: none;
}

[data-restaurant-theme="signature"] .view-events .events-filters::-webkit-scrollbar {
  display: none;
}

[data-restaurant-theme="signature"] .view-events .events-filters button {
  appearance: none;
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid var(--sig-border);
  border-radius: 24px;
  background: #fff;
  color: var(--sig-text);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .view-events .events-filters button.is-active {
  border-color: var(--sig-navy-800);
  background: var(--sig-navy-800);
  color: #fff;
}

[data-restaurant-theme="signature"] .view-events .events-list,
[data-restaurant-theme="signature"] .view-events .events-archive {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
}

[data-restaurant-theme="signature"] .view-events .events-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: none;
  margin: 8px 0 28px;
  padding: 40px 28px;
  border-radius: 20px;
  border: 1px solid rgba(5, 40, 63, 0.1);
  background: rgba(255, 255, 255, 0.72);
  text-align: center;
}

[data-restaurant-theme="signature"] .view-events .events-empty[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .view-events .events-empty strong {
  display: block;
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .view-events .events-empty p {
  margin: 0;
  max-width: 36ch;
  font-size: 14px;
  line-height: 1.5;
  color: var(--sig-text-muted, rgba(5, 40, 63, 0.62));
}

[data-restaurant-theme="signature"] .view-events .events-empty .btn-sand {
  margin-top: 6px;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 146px;
  height: 40px;
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 22px;
  background: linear-gradient(90deg, var(--sig-sand-500), var(--sig-sand-300));
  color: var(--sig-navy-950);
  font-family: inherit;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  cursor: pointer;
  box-shadow: var(--sig-shadow-floating);
}

[data-restaurant-theme="signature"] .view-events .events-list,
[data-restaurant-theme="signature"] .view-events .events-archive {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

[data-restaurant-theme="signature"] .view-events .events-list {
  padding-bottom: 12px;
}

[data-restaurant-theme="signature"] .view-events .events-archive {
  padding-top: 28px;
}

[data-restaurant-theme="signature"] .view-events .events-archive > h2 {
  margin: 0 0 4px;
}

[data-restaurant-theme="signature"] .view-events .events-list-card {
  margin-top: 0 !important;
  height: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  column-gap: 20px;
  align-items: stretch;
  min-width: 0;
  border-radius: 22px;
  border: 1px solid rgba(5, 40, 63, 0.08);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 40px rgba(5, 40, 63, 0.08);
  overflow: hidden;
}

[data-restaurant-theme="signature"] .view-events .events-list-card--rich,
[data-restaurant-theme="signature"] .view-events .events-list-card--gallery {
  grid-column: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  column-gap: 20px;
  align-items: stretch;
}

[data-restaurant-theme="signature"] .view-events .events-list-card .events-list-card__media-block,
[data-restaurant-theme="signature"] .view-events .events-list-card--rich .events-list-card__media-block,
[data-restaurant-theme="signature"] .view-events .events-list-card--gallery .events-list-card__media-block {
  height: auto;
  padding: 14px 0 14px 14px;
  gap: 10px;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__media-block--slider {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: auto;
}

[data-restaurant-theme="signature"] .view-events .events-list-card .events-list-card__media,
[data-restaurant-theme="signature"] .view-events .events-list-card--rich .events-list-card__media,
[data-restaurant-theme="signature"] .view-events .events-list-card--gallery .events-list-card__media {
  flex: 0 0 auto;
  width: 100%;
  min-height: 0;
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
}

[data-restaurant-theme="signature"] .view-events .events-list-card .events-list-card__slider,
[data-restaurant-theme="signature"] .view-events .events-list-card--rich .events-list-card__slider,
[data-restaurant-theme="signature"] .view-events .events-list-card--gallery .events-list-card__slider {
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  border-radius: 16px;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__media {
  background-size: cover;
  background-position: center;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__thumb {
  border-radius: 12px;
  background-size: cover;
  background-position: center;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 22px 22px 18px 8px;
}

[data-restaurant-theme="signature"] .view-events .events-list-card--rich .events-list-card__body,
[data-restaurant-theme="signature"] .view-events .events-list-card--gallery .events-list-card__body {
  padding: 22px 22px 18px 8px;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__meta-row {
  margin-bottom: 8px;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__type {
  background: rgba(5, 40, 63, 0.07);
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .view-events .events-list-card__type-icon {
  color: var(--sig-sea-600, #2f6f8f);
}

[data-restaurant-theme="signature"] .view-events .events-list-card__when {
  color: var(--sig-sea-600, #2f6f8f);
}

[data-restaurant-theme="signature"] .view-events .events-list-card__title {
  color: var(--sig-navy-900, #05283f);
  font-size: 22px;
  line-height: 1.2;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__text {
  color: rgba(5, 40, 63, 0.72);
}

[data-restaurant-theme="signature"] .view-events .events-list-card__detail {
  color: rgba(5, 40, 63, 0.62);
  -webkit-line-clamp: 5;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__place {
  margin-top: auto;
  margin-bottom: 14px;
  color: rgba(5, 40, 63, 0.55);
}

[data-restaurant-theme="signature"] .view-events .events-list-card__place-icon {
  color: var(--sig-sea-600, #2f6f8f);
}

[data-restaurant-theme="signature"] .view-events .events-list-card__actions {
  margin-top: auto;
  align-items: center;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__actions .btn-sand,
[data-restaurant-theme="signature"] .view-events .events-list-card__cta.btn-sand,
[data-restaurant-theme="signature"] .view-event .event-book-bar .btn-sand {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto;
  min-width: 146px;
  height: 40px;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 22px;
  border: 0;
  background: linear-gradient(90deg, var(--sig-sand-500), var(--sig-sand-300));
  color: var(--sig-navy-950);
  font-family: inherit;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  box-shadow: var(--sig-shadow-floating);
  transition:
    transform var(--sig-motion-fast) var(--sig-ease),
    box-shadow var(--sig-motion-fast) var(--sig-ease);
}

[data-restaurant-theme="signature"] .view-events .events-list-card__actions .btn-sand:hover,
[data-restaurant-theme="signature"] .view-events .events-list-card__cta.btn-sand:hover,
[data-restaurant-theme="signature"] .view-event .event-book-bar .btn-sand:hover {
  transform: translateY(-2px);
  box-shadow: var(--sig-shadow-floating);
}

[data-restaurant-theme="signature"] .view-events .events-list-card__actions .btn-sand:active,
[data-restaurant-theme="signature"] .view-events .events-list-card__cta.btn-sand:active,
[data-restaurant-theme="signature"] .view-event .event-book-bar .btn-sand:active {
  transform: scale(0.985);
}

[data-restaurant-theme="signature"] .view-events .events-list-card__actions .btn-outline {
  min-height: 40px;
  height: 40px;
  padding: 0 16px;
  border-radius: 22px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
}

@media (max-width: 900px) {
  [data-restaurant-theme="signature"] .view-events .events-list-card,
  [data-restaurant-theme="signature"] .view-events .events-list-card--rich,
  [data-restaurant-theme="signature"] .view-events .events-list-card--gallery {
    grid-template-columns: 1fr;
    column-gap: 0;
  }

  [data-restaurant-theme="signature"] .view-events .events-list-card .events-list-card__media-block,
  [data-restaurant-theme="signature"] .view-events .events-list-card--rich .events-list-card__media-block,
  [data-restaurant-theme="signature"] .view-events .events-list-card--gallery .events-list-card__media-block {
    padding: 12px 12px 0;
  }

  [data-restaurant-theme="signature"] .view-events .events-list-card .events-list-card__media,
  [data-restaurant-theme="signature"] .view-events .events-list-card--rich .events-list-card__media,
  [data-restaurant-theme="signature"] .view-events .events-list-card--gallery .events-list-card__media,
  [data-restaurant-theme="signature"] .view-events .events-list-card .events-list-card__slider,
  [data-restaurant-theme="signature"] .view-events .events-list-card--rich .events-list-card__slider,
  [data-restaurant-theme="signature"] .view-events .events-list-card--gallery .events-list-card__slider {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  [data-restaurant-theme="signature"] .view-events .events-list-card .events-list-card__body,
  [data-restaurant-theme="signature"] .view-events .events-list-card--rich .events-list-card__body,
  [data-restaurant-theme="signature"] .view-events .events-list-card--gallery .events-list-card__body {
    padding: 16px;
  }
}

[data-restaurant-theme="signature"] .view-events .events-status-tag,
[data-restaurant-theme="signature"] .view-event .events-status-tag {
  border-color: rgba(5, 40, 63, 0.12);
  background: rgba(5, 40, 63, 0.06);
  color: var(--sig-navy-800, #05283f);
  opacity: 0.72;
}

[data-restaurant-theme="signature"] .view-event .event-book-bar .events-status-tag {
  min-height: 40px;
  height: 40px;
  padding-inline: 18px;
  flex-shrink: 0;
}

[data-restaurant-theme="signature"] .booking-sheet__panel {
  background: #fff;
}

/* Shared custom select — same language as catalog variation dropdown */
.sig-select {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
}

.sig-select__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

.sig-select__toggle {
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 46px;
  padding: 0 40px 0 12px;
  border: 1px solid rgba(5, 40, 63, 0.18);
  border-radius: 12px;
  background: var(--color-surface-soft, #f4f7f8);
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  position: relative;
}

.sig-select__toggle::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.7;
  pointer-events: none;
}

.sig-select.is-open .sig-select__toggle {
  border-color: var(--sig-navy-800, #05283f);
  background: #fff;
}

.sig-select.is-open .sig-select__toggle::after {
  margin-top: -2px;
  transform: rotate(225deg);
}

.sig-select__menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 20;
  margin: 0;
  padding: 8px;
  list-style: none;
  border: 1px solid rgba(5, 40, 63, 0.12);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(5, 40, 63, 0.14);
}

.sig-select__menu[hidden] {
  display: none !important;
}

.sig-select__menu li + li {
  margin-top: 4px;
}

.sig-select__option {
  appearance: none;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 40px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
}

.sig-select__option:hover,
.sig-select__option.is-active {
  background: rgba(5, 40, 63, 0.07);
}

[data-restaurant-theme="signature"] .booking-sheet .sig-select__toggle {
  background: var(--color-surface-soft, #edf3f5);
  border-radius: 12px;
  border-color: var(--color-border, rgba(5, 40, 63, 0.12));
}

[data-restaurant-theme="signature"] .booking-sheet .sig-select.is-open .sig-select__toggle {
  background: #fff;
  border-color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .booking-sheet .sig-select {
  z-index: 5;
}

[data-restaurant-theme="signature"] .booking-sheet .sig-select__menu {
  top: calc(100% + 6px);
  bottom: auto;
}

[data-restaurant-theme="signature"] .booking-sheet__panel:has(.sig-select.is-open) {
  overflow: visible;
}

@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .booking-sheet__actions .btn-sand {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: linear-gradient(90deg, var(--sig-sand-500), var(--sig-sand-300));
    color: var(--sig-navy-950);
    box-shadow: var(--sig-shadow-floating);
  }

  [data-restaurant-theme="signature"] .booking-sheet__actions .btn-outline {
    border-color: rgba(5, 40, 63, 0.22);
    color: var(--sig-navy-800, #05283f);
  }
}

[data-restaurant-theme="signature"] .view-events .events-list-card--past {
  opacity: 0.92;
}

[data-restaurant-theme="signature"] .view-events .events-list-card__media {
  background-color: var(--sig-navy-800, #05283f);
  background-position: center;
  background-repeat: no-repeat;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .view-events .events-list,
  [data-restaurant-theme="signature"] .view-events .events-archive {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (min-width: 768px) {
  /* Keep events chrome on the shared absolute grid (do not switch to relative). */
  [data-restaurant-theme="signature"] .sig-events-chrome.catalog-header {
    display: block !important;
  }

  [data-restaurant-theme="signature"] .events-main.catalog-main {
    width: min(100% - 96px, 1344px);
    margin-inline: auto;
    padding: 0 0 48px;
  }

  [data-restaurant-theme="signature"] .view-events .events-filters {
    position: static;
    background: transparent;
  }

  [data-restaurant-theme="signature"] .view-event .event-detail-body {
    padding-bottom: 28px;
  }

  [data-restaurant-theme="signature"] .view-event .event-book-bar {
    position: relative;
    margin-top: 8px;
  }
}

@media (max-width: 767px) {
  /* Keep events page-hero on mobile (mirror catalog / home chrome). */
  [data-restaurant-theme="signature"] .view-events .events-hero--mobile {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home {
    text-align: center;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-grid {
    justify-items: center;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-brand,
  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-brand .brand__mark {
    margin-inline: auto;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-contact-line {
    justify-content: center;
    justify-items: center;
    width: fit-content;
    max-width: min(280px, 100%);
    margin-inline: auto;
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 8px;
    row-gap: 0;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-contact-line > a,
  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-contact-line > span:not(.sig-contact-line__icon) {
    min-width: 0;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-map-block {
    width: min(100%, 320px);
    margin-inline: auto;
    align-items: stretch;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-col .sig-map__route {
    width: 100%;
    align-self: stretch;
    margin-inline: 0;
    margin-top: 8px;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-social {
    justify-content: center;
  }
}

[data-restaurant-theme="signature"] .sig-footer-grid {
  display: grid;
  gap: 24px;
}

[data-restaurant-theme="signature"] .sig-footer-brand .brand__mark {
  height: 82px;
  width: auto;
  max-width: 230px;
  color: var(--sig-text-on-dark);
  filter: none;
}

[data-restaurant-theme="signature"] .sig-footer-brand p {
  margin: 8px 0 0;
  font-family: var(--font-script);
  font-style: italic;
  font-size: 17px;
  color: rgba(249, 252, 253, 0.72);
}

[data-restaurant-theme="signature"] .sig-social {
  display: flex;
  gap: 10px;
  margin-top: 0;
}

[data-restaurant-theme="signature"] .sig-social a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--sig-border-dark);
  color: var(--sig-text-on-dark);
  text-decoration: none;
}

[data-restaurant-theme="signature"] .sig-footer-col h3 {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 650;
}

[data-restaurant-theme="signature"] .sig-footer-col p,
[data-restaurant-theme="signature"] .sig-footer-col a {
  margin: 0 0 10px;
  display: block;
  color: rgba(249, 252, 253, 0.78);
  font-size: 14px;
  text-decoration: none;
  line-height: 1.45;
}

[data-restaurant-theme="signature"] .sig-footer-col a:hover {
  color: var(--sig-sand-400);
}

[data-restaurant-theme="signature"] .sig-map-block {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  width: min(100%, 420px);
  margin-left: auto;
}

[data-restaurant-theme="signature"] .sig-map {
  position: relative;
  width: 100%;
  min-height: 150px;
  border-radius: 16px;
  overflow: hidden;
  background: #d7e0e6;
  border: 1px solid rgba(255, 255, 255, 0.45);
}

[data-restaurant-theme="signature"] .sig-map__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: saturate(0.92) contrast(1.02);
}

/* Full map width; label/icon stay centered */
[data-restaurant-theme="signature"] .sig-map-block > .sig-map__route,
[data-restaurant-theme="signature"] .sig-footer-col .sig-map__route {
  position: static;
  appearance: none;
  border: 0;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none;
  align-self: stretch;
  height: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0 14px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--color-sand-500), var(--color-sand-400));
  color: var(--color-text-on-sand);
  font-family: inherit;
  font-size: 12px;
  line-height: 1;
  font-weight: 650;
  white-space: nowrap;
  flex: 0 0 auto;
  cursor: pointer;
  text-decoration: none;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 8px;
  box-shadow: 0 8px 22px rgba(1, 20, 34, 0.28);
  transition:
    transform var(--sig-motion-fast) var(--sig-ease),
    background var(--sig-motion-fast) var(--sig-ease);
}

[data-restaurant-theme="signature"] .sig-footer-col .sig-map__route:hover {
  transform: translateY(-1px);
  background: linear-gradient(135deg, var(--color-sand-500), var(--color-sand-400));
  color: var(--color-text-on-sand);
}

[data-restaurant-theme="signature"] .sig-map__route svg,
[data-restaurant-theme="signature"] .sig-map__route span {
  display: block;
  line-height: 1;
}

[data-restaurant-theme="signature"] .sig-map__route svg {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

[data-restaurant-theme="signature"] .sig-footer-bottom {
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  color: rgba(249, 252, 253, 0.55);
}

[data-restaurant-theme="signature"] .sig-footer-bottom a {
  color: inherit;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-bottom,
  [data-restaurant-theme="signature"] .home-footer .sig-footer-bottom,
  [data-restaurant-theme="signature"] .site-footer .sig-footer-bottom,
  [data-restaurant-theme="signature"] #app .sig-footer-bottom.sig-only.sig-flex {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px;
    width: 100%;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-bottom > span,
  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-bottom > a,
  [data-restaurant-theme="signature"] .home-footer .sig-footer-bottom > span,
  [data-restaurant-theme="signature"] .home-footer .sig-footer-bottom > a,
  [data-restaurant-theme="signature"] .site-footer .sig-footer-bottom > span,
  [data-restaurant-theme="signature"] .site-footer .sig-footer-bottom > a,
  [data-restaurant-theme="signature"] .home-footer .sig-footer-bottom > .sig-social,
  [data-restaurant-theme="signature"] .site-footer .sig-footer-bottom > .sig-social {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin: 0;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-bottom > span,
  [data-restaurant-theme="signature"] .home-footer .sig-footer-bottom > span,
  [data-restaurant-theme="signature"] .site-footer .sig-footer-bottom > span,
  [data-restaurant-theme="signature"] .home-footer.site-footer--home .sig-footer-bottom > a,
  [data-restaurant-theme="signature"] .home-footer .sig-footer-bottom > a,
  [data-restaurant-theme="signature"] .site-footer .sig-footer-bottom > a {
    display: block;
  }

  [data-restaurant-theme="signature"] .home-footer .sig-map-block,
  [data-restaurant-theme="signature"] .site-footer .sig-map-block {
    width: min(100%, 320px);
    margin-inline: auto;
    align-items: stretch;
  }

  [data-restaurant-theme="signature"] .home-footer .sig-map-block > .sig-map__route,
  [data-restaurant-theme="signature"] .site-footer .sig-map-block > .sig-map__route,
  [data-restaurant-theme="signature"] .home-footer .sig-footer-col .sig-map__route,
  [data-restaurant-theme="signature"] .site-footer .sig-footer-col .sig-map__route {
    width: 100% !important;
    align-self: stretch;
    margin-inline: 0;
    margin-top: 8px;
  }
}

[data-restaurant-theme="signature"] .home-footer .theme-switch {
  display: none;
}

[data-restaurant-theme="signature"] .home-footer .theme-switch button {
  color: rgba(249, 252, 253, 0.7);
}

@media (min-width: 900px) {
  [data-restaurant-theme="signature"] .sig-footer-grid {
    grid-template-columns: minmax(190px, 1.1fr) minmax(210px, 1.2fr) minmax(130px, .75fr) minmax(250px, 1.4fr);
    gap: clamp(20px, 3vw, 44px);
    align-items: start;
  }

  [data-restaurant-theme="signature"] .sig-map-block {
    width: min(100%, 420px);
  }

  [data-restaurant-theme="signature"] .sig-map {
    width: 100%;
    height: 156px;
    min-height: 156px;
  }

  [data-restaurant-theme="signature"] .home-footer {
    max-height: none;
  }

  [data-restaurant-theme="signature"] .sig-footer-bottom {
    margin-top: 22px;
    padding-top: 14px;
  }

  [data-restaurant-theme="signature"] .sig-footer-brand .brand__mark {
    height: 88px;
    max-width: 240px;
  }

  [data-restaurant-theme="signature"] .sig-footer-col h3 {
    margin-bottom: 12px;
  }

  [data-restaurant-theme="signature"] .sig-footer-col p,
  [data-restaurant-theme="signature"] .sig-footer-col a {
    margin-bottom: 8px;
  }
}

@media (min-width: 900px) and (max-width: 1100px) {
  [data-restaurant-theme="signature"] .sig-lunch .btn-sand {
    padding-inline: 12px;
    font-size: 12px;
    white-space: nowrap;
  }
}

[data-restaurant-theme="signature"] .sig-contact-line {
  display: grid !important;
  grid-template-columns: 20px 1fr;
  align-items: start;
  gap: 8px;
}

[data-restaurant-theme="signature"] .sig-contact-line__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  color: var(--sig-sand-500, #c4a574);
}

[data-restaurant-theme="signature"] .sig-contact-line__icon svg {
  display: block;
  flex: 0 0 auto;
}

[data-restaurant-theme="signature"] #app .sig-lunch {
  display: grid !important;
}

[data-restaurant-theme="signature"] #app .sig-footer-bottom.sig-only.sig-flex {
  display: flex !important;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__actions .btn-link,
[data-restaurant-theme="signature"] .sig-combo .event-card__body > p:has(.pill) {
  display: none;
}

[data-restaurant-theme="signature"] .sig-combo .event-card__body .pill {
  display: none;
}

/* —— Loading / empty / error rails —— */
[data-restaurant-theme="signature"] .sig-rail-state {
  width: 100%;
  min-height: 120px;
  border-radius: var(--sig-radius-md);
  border: 1px dashed var(--sig-border);
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 24px;
  text-align: center;
  color: var(--sig-text-muted);
  background: var(--sig-surface-muted);
}

[data-restaurant-theme="signature"] .sig-rail-state--error {
  border-color: rgba(207, 80, 72, 0.35);
  color: var(--sig-error);
}

[data-restaurant-theme="signature"] .sig-rail-state button {
  appearance: none;
  border: 0;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 20px;
  background: var(--sig-navy-800);
  color: #fff;
  font-family: inherit;
  font-weight: 600;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .sig-skeleton {
  display: flex;
  gap: 12px;
  overflow: hidden;
}

[data-restaurant-theme="signature"] .sig-skeleton__card {
  flex: 0 0 154px;
  height: 198px;
  border-radius: 12px;
  background: linear-gradient(
    90deg,
    var(--sig-surface-muted) 0%,
    #f7fafb 45%,
    var(--sig-surface-muted) 100%
  );
  background-size: 200% 100%;
  animation: sigShimmer 1.2s linear infinite;
}

@keyframes sigShimmer {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: -100% 0;
  }
}

/* Decorative wave mask utility */
[data-restaurant-theme="signature"] .sig-wave-mask {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 32'%3E%3Cpath fill='black' d='M0 18c6-8 12-8 18 0s12 8 18 0 12-8 16-4v18H0V18Z'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 32'%3E%3Cpath fill='black' d='M0 18c6-8 12-8 18 0s12 8 18 0 12-8 16-4v18H0V18Z'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

/* Motion */
[data-restaurant-theme="signature"] .sig-reveal {
  opacity: 0;
  transform: translateY(12px);
  transition:
    opacity var(--sig-motion-screen) var(--sig-ease),
    transform var(--sig-motion-screen) var(--sig-ease);
}

[data-restaurant-theme="signature"] .sig-reveal.is-in {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-restaurant-theme="signature"] .sig-reveal,
  [data-restaurant-theme="signature"] .sig-skeleton__card,
  [data-restaurant-theme="signature"] .cat-card,
  [data-restaurant-theme="signature"] .sig-cart-pill,
  [data-restaurant-theme="signature"] .sig-rail-arrow {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* —— Dish modal —— */
[data-restaurant-theme="signature"] .dish-card__body {
  cursor: pointer;
}

[data-restaurant-theme="signature"] .catalog-card__body[data-open-dish] {
  cursor: pointer;
}

[data-restaurant-theme="signature"] .catalog-card__footer {
  position: relative;
  z-index: 2;
}

[data-restaurant-theme="signature"] .dish-card__actions {
  position: relative;
  z-index: 2;
}

[data-restaurant-theme="signature"] .dish-modal {
  position: absolute;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity var(--sig-motion-base) var(--sig-ease),
    visibility var(--sig-motion-base) var(--sig-ease);
}

[data-restaurant-theme="signature"] .dish-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

[data-restaurant-theme="signature"] .dish-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: rgba(3, 23, 38, 0.62);
  cursor: pointer;
}

[data-restaurant-theme="signature"] .dish-modal__panel {
  position: relative;
  z-index: 1;
  width: min(100%, 920px);
  max-height: min(90dvh, 720px);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  overflow: visible;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(1, 20, 34, 0.35);
  transform: translateY(12px) scale(0.98);
  transition: transform var(--sig-motion-base) var(--sig-ease);
}

[data-restaurant-theme="signature"] .dish-modal.is-open .dish-modal__panel {
  transform: none;
}

[data-restaurant-theme="signature"] .dish-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--sig-navy-950);
  cursor: pointer;
}

[data-restaurant-theme="signature"] .dish-modal__media {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  background: center / cover no-repeat #d7e2e8;
  border-radius: 24px 0 0 24px;
}

[data-restaurant-theme="signature"] .dish-modal__video {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 480ms var(--sig-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    visibility 480ms var(--sig-ease, cubic-bezier(0.22, 1, 0.36, 1));
}

[data-restaurant-theme="signature"] .dish-modal__media.is-playing-video .dish-modal__video {
  opacity: 1;
  visibility: visible;
}

[data-restaurant-theme="signature"] .dish-modal__preview-timer {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 3;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(5, 40, 63, 0.42);
  color: #fff;
  box-shadow:
    0 8px 24px rgba(3, 23, 38, 0.28),
    inset 0 0 0 1px rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  opacity: 0;
  transform: scale(0.86);
  transition: opacity 280ms var(--sig-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    transform 320ms var(--sig-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    background 200ms ease;
}

[data-restaurant-theme="signature"] .dish-modal__preview-timer[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .dish-modal__media.is-counting .dish-modal__preview-timer {
  opacity: 1;
  transform: scale(1);
}

[data-restaurant-theme="signature"] .dish-modal__preview-timer:hover,
[data-restaurant-theme="signature"] .dish-modal__preview-timer:focus-visible {
  background: rgba(5, 40, 63, 0.62);
  outline: none;
}

[data-restaurant-theme="signature"] .dish-modal__preview-timer-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

[data-restaurant-theme="signature"] .dish-modal__preview-timer-track {
  stroke: rgba(255, 255, 255, 0.22);
  stroke-width: 2.4;
}

[data-restaurant-theme="signature"] .dish-modal__preview-timer-arc {
  stroke: var(--sig-sand-300, #d4b483);
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-dasharray: 100;
  stroke-dashoffset: 0;
  filter: drop-shadow(0 0 4px rgba(212, 180, 131, 0.45));
}

[data-restaurant-theme="signature"] .dish-modal__media.is-counting .dish-modal__preview-timer-arc {
  animation: dishModalTimerDrain 5s linear forwards;
}

[data-restaurant-theme="signature"] .dish-modal__preview-timer-core {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--sig-sand-500, #c9a66b), var(--sig-sand-300, #d4b483));
  color: var(--sig-navy-950, #031726);
  box-shadow: 0 4px 12px rgba(3, 23, 38, 0.22);
}

[data-restaurant-theme="signature"] .dish-modal__preview-timer-core svg {
  display: block;
  margin-left: 1px;
}

@keyframes dishModalTimerDrain {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: 100;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-restaurant-theme="signature"] .dish-modal__media.is-counting .dish-modal__preview-timer-arc {
    animation: none;
    stroke-dashoffset: 100;
  }

  [data-restaurant-theme="signature"] .dish-modal__video {
    transition: none;
  }

  [data-restaurant-theme="signature"] .dish-modal__preview-timer {
    transition: none;
  }
}

[data-restaurant-theme="signature"] .dish-modal__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 28px 28px 24px;
  overflow: auto;
}

[data-restaurant-theme="signature"] .dish-modal__body:has(.catalog-card__variations.is-open) {
  overflow: visible;
}

[data-restaurant-theme="signature"] .dish-modal__category {
  margin: 0;
  color: var(--sig-sea-500, #2a7a9b);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

[data-restaurant-theme="signature"] .dish-modal__title {
  margin: 0;
  color: var(--sig-text);
  font-size: clamp(22px, 2.2vw, 26px);
  line-height: 1.2;
}

[data-restaurant-theme="signature"] .dish-modal__description {
  margin: 0;
  color: var(--sig-text-muted);
  font-size: 14px;
  line-height: 1.45;
}

[data-restaurant-theme="signature"] .dish-modal__variations .catalog-card__variations {
  width: auto;
  max-width: none;
}

[data-restaurant-theme="signature"] .dish-modal__variations .catalog-card__var-toggle {
  width: auto;
  min-width: 0;
  max-width: none;
  white-space: nowrap;
  padding-right: 32px;
}

[data-restaurant-theme="signature"] .dish-modal__variations .catalog-card__var-toggle [data-var-current] {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

/* Open upward so the modal body doesn't grow/jump.
   Width follows the longest option (label + price), not only the toggle. */
[data-restaurant-theme="signature"] .dish-modal__variations .catalog-card__var-menu {
  top: auto;
  bottom: calc(100% + 6px);
  left: 0;
  right: auto;
  width: max-content;
  min-width: 100%;
  max-width: min(320px, 92vw);
  z-index: 20;
}

[data-restaurant-theme="signature"] .dish-modal__variations .catalog-card__var {
  white-space: nowrap;
  gap: 20px;
}

[data-restaurant-theme="signature"] .catalog-card__var-sheet-scrim,
[data-restaurant-theme="signature"] .catalog-card__var-sheet-head,
[data-restaurant-theme="signature"] .dish-modal__var-sheet-scrim,
[data-restaurant-theme="signature"] .dish-modal__var-sheet-head {
  display: none;
}

@keyframes dishVarSheetIn {
  from {
    transform: translateY(110%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes dishVarSheetScrimIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-restaurant-theme="signature"] [data-var-dropdown].is-open .catalog-card__var-menu,
  [data-restaurant-theme="signature"] [data-var-dropdown].is-open .catalog-card__var-sheet-scrim {
    animation: none;
  }
}

[data-restaurant-theme="signature"] .dish-modal__footer {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 18px;
  min-width: 0;
}

[data-restaurant-theme="signature"] .dish-modal__weight {
  margin: 0;
  color: var(--sig-text-muted);
  font-size: 12px;
  flex: 0 0 auto;
}

[data-restaurant-theme="signature"] .dish-modal__weight[hidden],
[data-restaurant-theme="signature"] .dish-modal__variations[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .dish-modal__variations {
  margin: 0;
  width: auto;
  max-width: none;
  flex: 0 0 auto;
  min-width: 0;
  position: relative;
  z-index: 6;
}

[data-restaurant-theme="signature"] .dish-modal__price-wrap {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  flex: 1 1 auto;
  min-width: 0;
  margin-right: 0;
}

[data-restaurant-theme="signature"] .dish-modal__add,
[data-restaurant-theme="signature"] .dish-modal__qty {
  flex: 0 0 auto;
}

[data-restaurant-theme="signature"] .dish-modal__old-price {
  color: var(--sig-text-muted);
  font-size: 15px;
  font-weight: 500;
  text-decoration: line-through;
}

[data-restaurant-theme="signature"] .dish-modal__price {
  font-size: 22px;
  color: var(--sig-text);
}

[data-restaurant-theme="signature"] .dish-modal__price-wrap:has(.dish-modal__old-price:not([hidden])) .dish-modal__price {
  color: #d4145c;
}

[data-restaurant-theme="signature"] .dish-modal__add {
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 22px;
  background: var(--sig-navy-800);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .dish-modal__qty {
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid var(--sig-border);
  border-radius: 22px;
  background: #fff;
  color: var(--sig-navy-800);
  box-sizing: border-box;
}

[data-restaurant-theme="signature"] .dish-modal__qty[hidden],
[data-restaurant-theme="signature"] .dish-modal__add[hidden] {
  display: none;
}

[data-restaurant-theme="signature"] .dish-modal__qty button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .dish-modal__qty span,
[data-restaurant-theme="signature"] #dishModalQtyValue {
  min-width: 28px;
  text-align: center;
  color: var(--sig-navy-800);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

/* Event modal — same shell as dish modal, gallery + details */
[data-restaurant-theme="signature"] .event-modal__media {
  background-color: #d7e2e8;
  background-image: none;
}

[data-restaurant-theme="signature"] .event-modal__slides {
  position: absolute;
  inset: 0;
}

[data-restaurant-theme="signature"] .event-modal__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  background: center / cover no-repeat #c5d3dc;
  opacity: 0;
  transition: opacity var(--sig-motion-base) var(--sig-ease);
  pointer-events: none;
}

[data-restaurant-theme="signature"] .event-modal__slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

[data-restaurant-theme="signature"] .event-modal__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--sig-navy-950);
  transform: translateY(-50%);
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(3, 23, 38, 0.16);
}

[data-restaurant-theme="signature"] .event-modal__nav[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .event-modal__nav--prev {
  left: 12px;
}

[data-restaurant-theme="signature"] .event-modal__nav--next {
  right: 12px;
}

[data-restaurant-theme="signature"] .event-modal__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 6px;
  pointer-events: none;
}

[data-restaurant-theme="signature"] .event-modal__dots[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .event-modal__dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  pointer-events: auto;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .event-modal__dot.is-active {
  background: #fff;
  box-shadow: 0 0 0 1px rgba(3, 23, 38, 0.12);
}

[data-restaurant-theme="signature"] .event-modal__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
}

[data-restaurant-theme="signature"] .event-modal__when {
  margin: 0;
  color: var(--sig-text-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

[data-restaurant-theme="signature"] .event-modal__description {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

[data-restaurant-theme="signature"] .event-modal__description p {
  margin: 0;
}

[data-restaurant-theme="signature"] .event-modal__description p + p {
  margin-top: 10px;
}

[data-restaurant-theme="signature"] .event-modal__place {
  margin: 0;
  color: var(--sig-text-muted);
  font-size: 13px;
  line-height: 1.4;
}

[data-restaurant-theme="signature"] .event-modal__place[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .event-modal__footer {
  margin-top: auto;
  padding-top: 8px;
  display: flex;
  justify-content: flex-end;
}

[data-restaurant-theme="signature"] .event-modal__footer[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .event-modal__footer .dish-modal__add,
[data-restaurant-theme="signature"] .event-modal__footer a.dish-modal__add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-sizing: border-box;
}

[data-restaurant-theme="signature"] .event-modal__status {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 22px;
  background: rgba(5, 40, 63, 0.08);
  color: var(--sig-navy-800);
  font-size: 13px;
  font-weight: 650;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .dish-modal {
    padding: 0;
    align-items: end;
  }

  [data-restaurant-theme="signature"] .dish-modal__panel {
    width: 100%;
    max-height: 92dvh;
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
    border-radius: 24px 24px 0 0;
    overflow: hidden;
  }

  [data-restaurant-theme="signature"] .dish-modal.has-var-sheet .dish-modal__panel {
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .dish-modal.has-var-sheet .dish-modal__body {
    overflow: visible;
  }

  [data-restaurant-theme="signature"] .dish-modal.has-var-sheet .dish-modal__media {
    z-index: 0;
  }

  /* Mobile sheet: only is-active highlights (Cursor mouse hover would fake-select another row) */
  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu .catalog-card__var:hover:not(.is-active),
  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu .catalog-card__var:hover:not(.is-active),
  [data-restaurant-theme="signature"] [data-var-dropdown].is-open .catalog-card__var-menu .catalog-card__var:hover:not(.is-active) {
    background: transparent !important;
  }

  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu .catalog-card__var,
  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu .catalog-card__var {
    -webkit-tap-highlight-color: transparent;
  }

  /* Block hover during slide-in under the cursor */
  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu,
  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu {
    animation: dishVarSheetIn 340ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu.is-sheet-entering,
  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu.is-sheet-entering {
    pointer-events: none;
  }

  /* Sheet parked on #dishModal — above media/panel clipping */
  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-sheet-scrim {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 40;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(3, 23, 38, 0.48);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    animation: dishVarSheetScrimIn 220ms ease both;
  }

  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-sheet-scrim[hidden] {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto !important;
    z-index: 41;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 10px 16px calc(env(safe-area-inset-bottom, 0px) + 18px);
    border: 0;
    border-radius: 22px 22px 0 0;
    background: #fff;
    box-shadow: 0 -18px 48px rgba(3, 23, 38, 0.22);
    box-sizing: border-box;
    animation: dishVarSheetIn 340ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu[hidden] {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu .catalog-card__var-sheet-head {
    display: flex;
  }

  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu .catalog-card__var {
    min-height: 52px;
    padding: 0 14px;
    border-radius: 14px;
    font-size: 15px;
  }

  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu .catalog-card__var-price {
    color: var(--sig-navy-800, #05283f);
    font-size: 15px;
    font-weight: 650;
  }

  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu > li + li {
    margin-top: 6px;
  }

  [data-restaurant-theme="signature"] .dish-modal__media {
    min-height: 0;
    max-height: 36dvh;
    aspect-ratio: 16 / 10;
    border-radius: 24px 24px 0 0;
  }

  [data-restaurant-theme="signature"] .event-modal__nav {
    width: 36px;
    height: 36px;
  }

  [data-restaurant-theme="signature"] .event-modal__nav--prev {
    left: 10px;
  }

  [data-restaurant-theme="signature"] .event-modal__nav--next {
    right: 10px;
  }

  [data-restaurant-theme="signature"] .event-modal__body {
    gap: 8px;
  }

  [data-restaurant-theme="signature"] .dish-modal__body {
    gap: 8px;
    padding: 16px 16px calc(env(safe-area-inset-bottom, 0px) + 16px);
    overflow: auto;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
  }

  /* Keep body scrollable; menu overlays upward (absolute), no layout jump. */
  [data-restaurant-theme="signature"] .dish-modal__body:has(.catalog-card__variations.is-open) {
    overflow: auto;
  }

  [data-restaurant-theme="signature"] .dish-modal__category {
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  [data-restaurant-theme="signature"] .dish-modal__title {
    font-size: 22px;
    line-height: 1.2;
  }

  [data-restaurant-theme="signature"] .dish-modal__description {
    font-size: 13px;
    line-height: 1.4;
  }

  [data-restaurant-theme="signature"] .dish-modal__weight {
    font-size: 13px;
    font-weight: 650;
    white-space: nowrap;
  }

  /* Fixed weight (no variations): lower optically + more space before price */
  [data-restaurant-theme="signature"] .dish-modal__footer:has(#dishModalWeight:not([hidden])) .dish-modal__weight {
    position: relative;
    top: 3px;
    line-height: 1;
  }

  [data-restaurant-theme="signature"] .dish-modal__footer:has(#dishModalWeight:not([hidden])) .dish-modal__price-wrap {
    margin-left: 14px;
  }

  [data-restaurant-theme="signature"] .dish-modal__variations {
    max-width: none;
    width: auto;
    flex: 0 1 auto;
    min-width: 0;
  }

  [data-restaurant-theme="signature"] .dish-modal__variations .catalog-card__variations {
    width: auto;
    max-width: none;
  }

  [data-restaurant-theme="signature"] .dish-modal__variations .catalog-card__var-toggle {
    width: auto;
    min-width: 0;
    max-width: none;
    min-height: 40px;
    height: 40px;
    padding: 0 32px 0 12px;
    font-size: 13px;
    white-space: nowrap;
  }

  /* Sheet parked on #app — full-screen over catalog/home cards */
  [data-restaurant-theme="signature"] #app > .catalog-card__var-sheet-scrim {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 1200;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(3, 23, 38, 0.48);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    animation: dishVarSheetScrimIn 220ms ease both;
  }

  [data-restaurant-theme="signature"] #app > .catalog-card__var-sheet-scrim[hidden] {
    display: none !important;
  }

  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto !important;
    z-index: 1201;
    width: 100%;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0;
    padding: 10px 16px calc(env(safe-area-inset-bottom, 0px) + 18px);
    border: 0;
    border-radius: 22px 22px 0 0;
    background: #fff;
    box-shadow: 0 -18px 48px rgba(3, 23, 38, 0.22);
    box-sizing: border-box;
    list-style: none;
    animation: dishVarSheetIn 340ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu[hidden] {
    display: none !important;
  }

  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu .catalog-card__var-sheet-head {
    display: flex;
  }

  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu .catalog-card__var {
    min-height: 52px;
    padding: 0 14px;
    border-radius: 14px;
    font-size: 15px;
  }

  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu .catalog-card__var-price {
    color: var(--sig-navy-800, #05283f);
    font-size: 15px;
    font-weight: 650;
  }

  [data-restaurant-theme="signature"] #app > .catalog-card__var-menu > li + li {
    margin-top: 6px;
  }

  [data-restaurant-theme="signature"] .catalog-card__var-sheet-scrim[hidden] {
    display: none !important;
  }

  [data-restaurant-theme="signature"] [data-var-dropdown].is-open .catalog-card__var-sheet-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1100;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(3, 23, 38, 0.48);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    animation: dishVarSheetScrimIn 220ms ease both;
  }

  [data-restaurant-theme="signature"] [data-var-dropdown].is-open .catalog-card__var-menu {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto !important;
    z-index: 1101;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 10px 16px calc(env(safe-area-inset-bottom, 0px) + 18px);
    border: 0;
    border-radius: 22px 22px 0 0;
    background: #fff;
    box-shadow: 0 -18px 48px rgba(3, 23, 38, 0.22);
    box-sizing: border-box;
    animation: dishVarSheetIn 340ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  [data-restaurant-theme="signature"] .catalog-card__var-sheet-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    padding: 2px 0 6px;
    list-style: none;
    pointer-events: none;
  }

  [data-restaurant-theme="signature"] .catalog-card__var-sheet-handle {
    display: block;
    width: 40px;
    height: 4px;
    border-radius: 999px;
    background: rgba(5, 40, 63, 0.18);
  }

  [data-restaurant-theme="signature"] .catalog-card__var-sheet-title {
    color: var(--sig-navy-800, #05283f);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.01em;
  }

  [data-restaurant-theme="signature"] [data-var-dropdown].is-open .catalog-card__var-menu > li + li {
    margin-top: 6px;
  }

  [data-restaurant-theme="signature"] [data-var-dropdown].is-open .catalog-card__var {
    min-height: 52px;
    padding: 0 14px;
    border-radius: 14px;
    font-size: 15px;
  }

  [data-restaurant-theme="signature"] [data-var-dropdown].is-open .catalog-card__var-price,
  [data-restaurant-theme="signature"] .dish-modal > .catalog-card__var-menu .catalog-card__var-price {
    color: var(--sig-navy-800, #05283f);
    font-size: 15px;
    font-weight: 650;
  }

  [data-restaurant-theme="signature"] .dish-modal__media {
    position: relative;
    z-index: 0;
  }

  [data-restaurant-theme="signature"] .dish-modal__body {
    position: relative;
    z-index: 2;
  }

  [data-restaurant-theme="signature"] .dish-modal__footer {
    gap: 8px;
    padding-top: 12px;
    flex-wrap: nowrap;
    align-items: center;
  }

  [data-restaurant-theme="signature"] .dish-modal__price-wrap {
    margin-left: 6px;
  }

  /* With variations toggle the small nudge is enough; fixed weight uses the rule above */
  [data-restaurant-theme="signature"] .dish-modal__footer:has(#dishModalVariations:not([hidden])) .dish-modal__price-wrap {
    margin-left: 6px;
  }

  [data-restaurant-theme="signature"] .dish-modal__price {
    font-size: 20px;
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] .dish-modal__old-price {
    font-size: 13px;
  }

  [data-restaurant-theme="signature"] .dish-modal__add {
    min-height: 40px;
    height: 40px;
    padding: 0 14px;
    font-size: 13px;
  }

  [data-restaurant-theme="signature"] .dish-modal__qty {
    height: 40px;
  }

  [data-restaurant-theme="signature"] .dish-modal__qty button {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }

  [data-restaurant-theme="signature"] .dish-modal__qty span,
  [data-restaurant-theme="signature"] #dishModalQtyValue {
    font-size: 15px;
  }

  [data-restaurant-theme="signature"] .dish-modal__close {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
  }
}

/* —— Content pages (about / delivery / contacts) —— */
[data-restaurant-theme="signature"] .subpage__header--mobile {
  padding-inline: 16px;
}

[data-restaurant-theme="signature"] .event-detail-hero__bar {
  gap: 10px;
  margin-bottom: 48px;
}

[data-restaurant-theme="signature"] .event-detail-hero__bar .event-detail-hero__back {
  flex: 0 0 auto;
}

[data-restaurant-theme="signature"] .event-detail-hero__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  margin-left: auto;
}

[data-restaurant-theme="signature"] .event-detail-hero__bar .event-detail-hero__brand {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 132px;
  margin-right: auto;
  color: var(--sig-text-on-dark);
  text-decoration: none;
}

[data-restaurant-theme="signature"] .event-detail-hero__bar .event-detail-hero__brand .brand__mark {
  display: block;
  height: 40px;
  max-width: 132px;
  width: auto;
}

[data-restaurant-theme="signature"] .event-detail-hero__bar .event-detail-hero__brand .brand__text {
  display: none;
}

[data-restaurant-theme="signature"] .event-detail-hero__bar .event-detail-hero__brand.is-logo-fallback .brand__text {
  display: inline;
  font-size: 15px;
  letter-spacing: 0.18em;
  color: var(--sig-text-on-dark);
}

[data-restaurant-theme="signature"] .event-detail-hero__bar .event-detail-hero__brand.is-logo-fallback .brand__mark {
  display: none !important;
}

[data-restaurant-theme="signature"] .subpage__body {
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 48px);
}

[data-restaurant-theme="signature"] .content-page {
  width: 100%;
  max-width: none;
  margin: 0 0 24px;
  color: var(--sig-text);
}

[data-restaurant-theme="signature"] .content-page__hero {
  margin: 0 0 28px;
  border-radius: 20px;
  overflow: hidden;
  background: #d7e2e8;
  aspect-ratio: 21 / 9;
}

[data-restaurant-theme="signature"] .content-page__hero--compact {
  aspect-ratio: 2.4 / 1;
}

[data-restaurant-theme="signature"] .content-page__hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

[data-restaurant-theme="signature"] .content-page__eyebrow {
  margin: 0 0 10px;
  color: var(--sig-sea-500, #2a7a9b);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

[data-restaurant-theme="signature"] .content-page__headline {
  margin: 0 0 14px;
  color: var(--sig-navy-950, #031726);
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.15;
  font-weight: 700;
}

[data-restaurant-theme="signature"] .content-page__lead {
  margin: 0 0 28px;
  max-width: 42rem;
  color: var(--sig-text-muted);
  font-size: 17px;
  line-height: 1.55;
}

[data-restaurant-theme="signature"] .content-page__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px 36px;
  margin: 0;
}

[data-restaurant-theme="signature"] .content-page__grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

[data-restaurant-theme="signature"] .content-page__block h4 {
  margin: 0 0 10px;
  color: var(--sig-navy-950, #031726);
  font-size: 18px;
  font-weight: 700;
}

[data-restaurant-theme="signature"] .content-page__block p,
[data-restaurant-theme="signature"] .content-page__list {
  margin: 0;
  color: var(--sig-text-muted);
  font-size: 15px;
  line-height: 1.55;
}

[data-restaurant-theme="signature"] .content-page__block p + p {
  margin-top: 12px;
}

[data-restaurant-theme="signature"] .content-page__list {
  padding-left: 1.1em;
}

[data-restaurant-theme="signature"] .content-page__list li + li {
  margin-top: 8px;
}

[data-restaurant-theme="signature"] .content-page__steps {
  margin: 48px 0 32px;
  padding: 22px 24px;
  border-radius: 18px;
  background: rgba(3, 23, 38, 0.04);
}

[data-restaurant-theme="signature"] .content-page__steps h4 {
  margin: 0 0 12px;
  font-size: 18px;
  color: var(--sig-navy-950, #031726);
}

[data-restaurant-theme="signature"] .content-page__steps ol {
  margin: 0;
  padding-left: 1.2em;
  color: var(--sig-text-muted);
  font-size: 15px;
  line-height: 1.55;
}

[data-restaurant-theme="signature"] .content-page__steps li + li {
  margin-top: 8px;
}

[data-restaurant-theme="signature"] .content-page__contacts-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  align-items: stretch;
  gap: 28px 40px;
  margin: 0 0 28px;
}

[data-restaurant-theme="signature"] .content-page__contacts-info {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
}

[data-restaurant-theme="signature"] .content-page__contacts-info .content-page__facts {
  margin: 0;
}

[data-restaurant-theme="signature"] .content-page__contacts-info .content-page__cta-row {
  flex-direction: column;
  align-items: stretch;
  max-width: 280px;
  margin: 0;
}

[data-restaurant-theme="signature"] .content-page__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
  margin: 0 0 28px;
  padding: 0;
}

[data-restaurant-theme="signature"] .content-page__facts--stack {
  grid-template-columns: 1fr;
}

[data-restaurant-theme="signature"] .content-page__facts div {
  margin: 0;
  padding: 0;
}

[data-restaurant-theme="signature"] .content-page__facts dt {
  margin: 0 0 4px;
  color: var(--sig-sea-500, #2a7a9b);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

[data-restaurant-theme="signature"] .content-page__facts dd {
  margin: 0;
  color: var(--sig-navy-950, #031726);
  font-size: 16px;
  line-height: 1.4;
}

[data-restaurant-theme="signature"] .content-page__facts a {
  color: inherit;
  text-decoration: none;
}

[data-restaurant-theme="signature"] .content-page__facts a:hover {
  color: var(--sig-sea-500, #2a7a9b);
}

[data-restaurant-theme="signature"] .content-page__map {
  margin: 0 0 28px;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #d7e2e8;
}

[data-restaurant-theme="signature"] .content-page--contacts .content-page__map {
  margin: 0;
  min-height: 360px;
  height: 100%;
  aspect-ratio: auto;
}

[data-restaurant-theme="signature"] .content-page__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

[data-restaurant-theme="signature"] .content-page--contacts .content-page__map iframe {
  min-height: 360px;
}

[data-restaurant-theme="signature"] .content-page__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

[data-restaurant-theme="signature"] .content-page__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 24px;
  background: var(--sig-navy-800);
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
}

[data-restaurant-theme="signature"] .content-page__cta--ghost {
  background: transparent;
  color: var(--sig-navy-800);
  box-shadow: inset 0 0 0 1.5px var(--sig-border, rgba(3, 23, 38, 0.16));
}

@media (max-width: 900px) {
  [data-restaurant-theme="signature"] .content-page__grid,
  [data-restaurant-theme="signature"] .content-page__grid--two,
  [data-restaurant-theme="signature"] .content-page__facts,
  [data-restaurant-theme="signature"] .content-page__contacts-layout {
    grid-template-columns: 1fr;
  }

  [data-restaurant-theme="signature"] .content-page__contacts-info .content-page__cta-row {
    flex-direction: row;
    flex-wrap: wrap;
    max-width: none;
    min-width: 0;
  }

  [data-restaurant-theme="signature"] .content-page--contacts .content-page__map {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  [data-restaurant-theme="signature"] .content-page--contacts .content-page__map iframe {
    min-height: 0;
  }

  [data-restaurant-theme="signature"] .content-page__hero,
  [data-restaurant-theme="signature"] .content-page__hero--compact {
    aspect-ratio: 16 / 10;
    border-radius: 16px;
  }

  [data-restaurant-theme="signature"] .content-page__headline {
    font-size: clamp(24px, 7vw, 32px);
  }
}

/* —— Photo gallery —— */
[data-restaurant-theme="signature"] .content-page--gallery {
  max-width: none;
}

[data-restaurant-theme="signature"] .gallery-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0 0 22px;
  padding: 4px;
  border: 1px solid var(--sig-border, rgba(5, 40, 63, 0.12));
  border-radius: 999px;
  background: #fff;
}

[data-restaurant-theme="signature"] .gallery-tabs__btn {
  min-width: 96px;
  min-height: 40px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--sig-text-muted, #5a7180);
  font: inherit;
  font-size: 14px;
  font-weight: 650;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}

[data-restaurant-theme="signature"] .gallery-tabs__btn.is-active {
  background: var(--sig-navy-800, #05283f);
  color: #fff;
}

[data-restaurant-theme="signature"] .gallery-tabs__btn:hover:not(.is-active) {
  color: var(--sig-navy-800, #05283f);
  background: rgba(5, 40, 63, 0.06);
}

[data-restaurant-theme="signature"] .photo-gallery[hidden],
[data-restaurant-theme="signature"] [data-gallery-panel][hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .photo-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: minmax(140px, 18vw);
  gap: 12px;
}

[data-restaurant-theme="signature"] .photo-gallery__item {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 16px;
  overflow: hidden;
  grid-column: span 4;
  aspect-ratio: auto;
  min-height: 0;
  background: #d7e2e8;
  cursor: zoom-in;
}

/* Bento mosaic: wide / tall accents, no leftover cells */
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(1) { grid-column: span 8; grid-row: span 2; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(2) { grid-column: span 4; grid-row: span 2; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(3),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(4),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(5) { grid-column: span 4; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(6) { grid-column: span 8; grid-row: span 2; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(7) { grid-column: span 4; grid-row: span 2; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(8),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(9),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(10) { grid-column: span 4; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(11) { grid-column: span 4; grid-row: span 2; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(12) { grid-column: span 8; grid-row: span 2; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(13),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(14),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(15) { grid-column: span 4; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(16) { grid-column: span 8; grid-row: span 2; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(17) { grid-column: span 4; grid-row: span 2; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(18),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(19),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(20) { grid-column: span 4; }
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(21),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(22),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(23),
[data-restaurant-theme="signature"] .photo-gallery__item:nth-child(24) { grid-column: span 3; }

[data-restaurant-theme="signature"] .photo-gallery__item img,
[data-restaurant-theme="signature"] .photo-gallery__item .photo-gallery__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 480ms var(--sig-ease);
}

[data-restaurant-theme="signature"] .photo-gallery__item:hover img,
[data-restaurant-theme="signature"] .photo-gallery__item:focus-visible img,
[data-restaurant-theme="signature"] .photo-gallery__item:hover .photo-gallery__video,
[data-restaurant-theme="signature"] .photo-gallery__item:focus-visible .photo-gallery__video {
  transform: scale(1.04);
}

[data-restaurant-theme="signature"] .photo-gallery__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--sig-navy-800, #05283f);
  transform: translate(-50%, -50%);
  pointer-events: none;
  box-shadow: 0 10px 28px rgba(5, 40, 63, 0.22);
}

[data-restaurant-theme="signature"] .photo-gallery__item--video:hover .photo-gallery__play {
  opacity: 0.72;
}

[data-restaurant-theme="signature"] .photo-gallery__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 32px 14px 12px;
  background: linear-gradient(transparent, rgba(3, 23, 38, 0.72));
  color: #fff;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 180ms var(--sig-ease), transform 180ms var(--sig-ease);
}

@media (hover: hover) and (pointer: fine) {
  [data-restaurant-theme="signature"] .photo-gallery__item:hover .photo-gallery__caption,
  [data-restaurant-theme="signature"] .photo-gallery__item:focus-visible .photo-gallery__caption {
    opacity: 1;
    transform: none;
  }
}

@media (hover: none), (pointer: coarse) {
  [data-restaurant-theme="signature"] .photo-gallery__caption {
    display: none;
  }
}

[data-restaurant-theme="signature"] .photo-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 200ms var(--sig-ease), visibility 200ms var(--sig-ease);
}

[data-restaurant-theme="signature"] .photo-lightbox.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

[data-restaurant-theme="signature"] .photo-lightbox__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: rgba(3, 23, 38, 0.62);
  backdrop-filter: blur(18px) saturate(1.05);
  -webkit-backdrop-filter: blur(18px) saturate(1.05);
  cursor: pointer;
}

[data-restaurant-theme="signature"] .photo-lightbox__panel {
  position: relative;
  z-index: 1;
  margin: 0;
  width: min(100%, 980px);
  max-height: 86dvh;
  display: grid;
  grid-template-rows: auto auto;
  place-items: center;
}

[data-restaurant-theme="signature"] .photo-lightbox__panel img,
[data-restaurant-theme="signature"] .photo-lightbox__panel video {
  grid-area: 1 / 1;
  display: block;
  max-width: 100%;
  max-height: min(78dvh, 820px);
  width: auto;
  height: auto;
  border-radius: 12px;
  object-fit: contain;
  background: #0a1c28;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
}

[data-restaurant-theme="signature"] .photo-lightbox__panel video {
  width: min(100%, 980px);
  aspect-ratio: 16 / 9;
  object-fit: contain;
}

[data-restaurant-theme="signature"] .photo-lightbox__panel img[hidden],
[data-restaurant-theme="signature"] .photo-lightbox__panel video[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .photo-lightbox__meta {
  grid-area: 2 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 12px;
  width: 100%;
}

[data-restaurant-theme="signature"] .photo-lightbox__panel figcaption {
  margin: 0;
  color: #fff;
  font-size: 14px;
  text-align: center;
}

[data-restaurant-theme="signature"] .photo-lightbox__count {
  flex: 0 0 auto;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

[data-restaurant-theme="signature"] .photo-lightbox__close {
  position: absolute;
  top: -8px;
  right: -8px;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: var(--sig-navy-950);
  cursor: pointer;
}

[data-restaurant-theme="signature"] .photo-lightbox__nav {
  position: relative;
  grid-area: 1 / 1;
  align-self: center;
  z-index: 2;
  width: 44px;
  height: 44px;
  margin: 0;
  display: grid;
  place-items: center;
  padding: 0 0 2px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--sig-navy-950);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .photo-lightbox__nav--prev {
  justify-self: start;
  margin-left: max(8px, env(safe-area-inset-left, 0px));
}
[data-restaurant-theme="signature"] .photo-lightbox__nav--next {
  justify-self: end;
  margin-right: max(8px, env(safe-area-inset-right, 0px));
}

html.is-lightbox-open,
html.is-lightbox-open body {
  overflow: hidden;
}

@media (max-width: 900px) {
  [data-restaurant-theme="signature"] .photo-gallery {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-rows: minmax(120px, 28vw);
    gap: 10px;
  }

  [data-restaurant-theme="signature"] .photo-gallery__item { grid-column: span 3; grid-row: span 1; }
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(1),
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(6),
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(12),
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(16) {
    grid-column: span 6;
    grid-row: span 2;
  }
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(2),
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(7),
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(11),
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(17) {
    grid-column: span 3;
    grid-row: span 2;
  }
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(21),
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(22),
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(23),
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(24) {
    grid-column: span 3;
  }
}

@media (max-width: 560px) {
  [data-restaurant-theme="signature"] .photo-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(140px, 42vw);
  }

  [data-restaurant-theme="signature"] .photo-gallery__item,
  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(n) {
    grid-column: span 1;
    grid-row: span 1;
  }

  [data-restaurant-theme="signature"] .photo-gallery__item:nth-child(3n + 1) {
    grid-column: span 2;
    grid-row: span 1;
  }
}

/* —— Cart drawer (production fields + signature look) —— */
[data-restaurant-theme="signature"] .cart-screen {
  position: fixed;
  z-index: 1400;
}

[data-restaurant-theme="signature"] .cart-screen__backdrop {
  display: block;
  background: rgba(5, 40, 63, 0.42);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

[data-restaurant-theme="signature"] .cart-screen__drawer {
  left: auto;
  right: 0;
  width: min(640px, 100%);
  background: #fff;
  color: var(--sig-text, #0b2433);
  box-shadow: -18px 0 48px rgba(5, 40, 63, 0.18);
}

[data-restaurant-theme="signature"] .cart-screen__bg,
[data-restaurant-theme="signature"] .cart-screen__veil {
  display: none;
}

[data-restaurant-theme="signature"] .cart-screen__header {
  padding: 16px 28px 14px;
  border-bottom: 1px solid rgba(5, 40, 63, 0.08);
}

[data-restaurant-theme="signature"] .cart-screen__top .brand {
  display: none;
}

[data-restaurant-theme="signature"] .cart-screen__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: auto;
  margin: 0;
}

[data-restaurant-theme="signature"] .cart-close {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border: 1px solid rgba(5, 40, 63, 0.12);
  background: #f4f7f9;
  color: var(--sig-navy-800, #05283f);
  backdrop-filter: none;
  box-shadow: none;
}

@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  [data-restaurant-theme="signature"] .cart-close:hover {
    background: var(--sig-navy-800, #05283f);
    border-color: var(--sig-navy-800, #05283f);
    color: #fff;
  }
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .cart-close:hover,
  [data-restaurant-theme="signature"] .cart-close:focus {
    background: #f4f7f9;
    border-color: rgba(5, 40, 63, 0.12);
    color: var(--sig-navy-800, #05283f);
    transform: none;
    outline: none;
  }
}

[data-restaurant-theme="signature"] .cart-screen__title {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  color: var(--sig-navy-800, #05283f);
  font-family: var(--sig-font-display, inherit);
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
}

[data-restaurant-theme="signature"] .cart-screen__count {
  display: none !important;
}

[data-restaurant-theme="signature"] .cart-screen__scroll {
  display: flex;
  flex-direction: column;
  padding: 16px 28px 280px;
}

[data-restaurant-theme="signature"] .cart-screen__scroll:has(#cartEmpty:not([hidden])) {
  padding-bottom: 32px;
}

[data-restaurant-theme="signature"] .cart-filled {
  width: 100%;
}

[data-restaurant-theme="signature"] .cart-empty-state {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 16px 8px 24px;
  margin: auto 0;
  text-align: center;
  color: var(--sig-text, #0b2433);
}

[data-restaurant-theme="signature"] .cart-empty-state__icon {
  width: 180px;
  height: 180px;
  margin: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  opacity: 1;
}

[data-restaurant-theme="signature"] .cart-items {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  max-width: none;
}

[data-restaurant-theme="signature"] .cart-card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 16px 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(5, 40, 63, 0.08);
  box-shadow: none;
  backdrop-filter: none;
  align-items: center;
}

[data-restaurant-theme="signature"] .cart-card:last-child {
  border-bottom: 0;
}

[data-restaurant-theme="signature"] .cart-card__media {
  width: 88px;
  height: 72px;
  aspect-ratio: auto;
  border-radius: 12px;
  background: #e8eef2;
  overflow: hidden;
}

[data-restaurant-theme="signature"] .cart-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

[data-restaurant-theme="signature"] .cart-card__body {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 0;
}

[data-restaurant-theme="signature"] .cart-card__info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
}

[data-restaurant-theme="signature"] .cart-card__name {
  margin: 0;
  color: var(--sig-navy-800, #05283f);
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
}

[data-restaurant-theme="signature"] .cart-card__unit,
[data-restaurant-theme="signature"] .cart-card__meta,
[data-restaurant-theme="signature"] .cart-card__warn {
  margin: 0;
  color: var(--sig-text-muted, #5a7180);
  font-size: 13px;
  line-height: 1.35;
}

[data-restaurant-theme="signature"] .cart-card__mods {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 2px 0 0;
  color: var(--sig-text-muted, #5a7180);
  font-size: 12px;
}

[data-restaurant-theme="signature"] .cart-card__mods[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .cart-card__mods span::before {
  content: "+ ";
}

[data-restaurant-theme="signature"] .cart-card__warn {
  color: #b45309;
}

[data-restaurant-theme="signature"] .cart-card__actions {
  display: grid;
  grid-template-columns: 88px 7.2em 40px;
  column-gap: 10px;
  align-items: center;
  margin: 0;
  padding: 0;
  flex: 0 0 auto;
}

[data-restaurant-theme="signature"] .cart-card__price {
  margin: 0;
  width: 100%;
  text-align: right;
  color: var(--sig-navy-800, #05283f);
  font-size: 17px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

[data-restaurant-theme="signature"] .cart-card__price s {
  margin-right: 6px;
  color: var(--sig-text-muted, #5a7180);
  font-weight: 500;
}

[data-restaurant-theme="signature"] .qty {
  height: 36px;
  background: #fff;
  border: 1px solid rgba(5, 40, 63, 0.12);
  border-radius: 999px;
}

[data-restaurant-theme="signature"] .cart-card .qty {
  width: 88px;
  min-width: 88px;
  height: 34px;
}

[data-restaurant-theme="signature"] .cart-card .qty button {
  width: 30px;
  min-width: 30px;
  height: 34px;
  border-radius: 0;
  background: transparent;
}

[data-restaurant-theme="signature"] .qty button {
  color: var(--sig-navy-800, #05283f);
  background: transparent;
}

[data-restaurant-theme="signature"] .qty__value {
  color: var(--sig-navy-800, #05283f);
  font-weight: 700;
}

[data-restaurant-theme="signature"] .cart-card .qty__value {
  min-width: 1.25em;
  font-size: 14px;
}

[data-restaurant-theme="signature"] .cart-card__remove {
  width: 40px;
  height: 40px;
  min-width: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  display: inline-grid;
  place-items: center;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .cart-card__remove:hover,
[data-restaurant-theme="signature"] .cart-card__remove:active {
  color: #b45309;
  background: transparent;
}

[data-restaurant-theme="signature"] .cart-summary .cart-promo {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  margin: 0 0 4px;
  padding: 0 0 10px;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

[data-restaurant-theme="signature"] .cart-promo__link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 15px;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .cart-promo__field {
  margin: 0;
}

[data-restaurant-theme="signature"] .cart-promo__field[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .cart-promo__field-box {
  position: relative;
  display: block;
  width: 100%;
}

[data-restaurant-theme="signature"] .cart-promo__input {
  display: block;
  flex: none;
  width: 100%;
  min-width: 0;
  height: 44px;
  margin: 0;
  padding: 0 96px 0 12px;
  box-sizing: border-box;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(5, 40, 63, 0.14);
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 14px;
  font-weight: 400;
  text-transform: none;
}

[data-restaurant-theme="signature"] .cart-promo__input::placeholder {
  color: var(--sig-text-muted, #5a7180);
  text-transform: none;
}

[data-restaurant-theme="signature"] .cart-promo__input:focus {
  outline: 2px solid rgba(5, 40, 63, 0.28);
  outline-offset: 1px;
}

[data-restaurant-theme="signature"] .cart-promo__input.is-error {
  border-color: #c2410c;
}

[data-restaurant-theme="signature"] .cart-promo__btn {
  position: absolute;
  top: 50%;
  right: 5px;
  left: auto;
  transform: translateY(-50%);
  width: auto;
  min-width: 0;
  height: 32px;
  margin: 0;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: var(--sig-navy-800, #05283f);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}

[data-restaurant-theme="signature"] .cart-promo__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

[data-restaurant-theme="signature"] .cart-promo__btn.is-ok {
  background: #2f9e44;
  color: #fff;
}

[data-restaurant-theme="signature"] .cart-promo__msg {
  width: 100%;
  margin: 8px 0 0;
  color: #b45309;
  font-size: 13px;
}

[data-restaurant-theme="signature"] .cart-promo__applied {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  margin: 0;
  color: var(--sig-navy-800, #05283f);
  font-size: 13px;
}

[data-restaurant-theme="signature"] .cart-promo__applied-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  overflow: visible;
}

[data-restaurant-theme="signature"] .cart-promo__code-line {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .cart-promo__code-line .cart-promo__label {
  display: inline;
  flex: 0 0 auto;
  margin: 0;
  color: var(--sig-navy-800, #05283f);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

[data-restaurant-theme="signature"] .cart-promo__code-line strong,
[data-restaurant-theme="signature"] .cart-promo__applied strong,
[data-restaurant-theme="signature"] #promoName {
  display: inline !important;
  flex: 0 0 auto;
  margin: 0;
  color: var(--sig-navy-800, #05283f) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-restaurant-theme="signature"] .cart-promo__status-wrap {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  flex: 0 0 auto;
  overflow: visible;
}

[data-restaurant-theme="signature"] .cart-promo__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}

[data-restaurant-theme="signature"] .cart-promo__status.is-ok {
  flex: 0 0 auto;
  white-space: nowrap;
}

[data-restaurant-theme="signature"] .cart-promo__status-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #2f9e44;
  color: #fff;
  box-shadow: 0 1px 2px rgba(5, 40, 63, 0.12);
}

[data-restaurant-theme="signature"] .cart-promo__status-icon svg {
  display: block;
  width: 10px;
  height: 10px;
}

[data-restaurant-theme="signature"] .cart-promo__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0;
  margin: 0 0 0 auto;
}

[data-restaurant-theme="signature"] .cart-promo__help-details,
[data-restaurant-theme="signature"] .cart-promo__help {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 12px 14px;
  box-sizing: border-box;
  border: 1px solid rgba(5, 40, 63, 0.1);
  border-radius: 10px;
  background: #fff;
  color: var(--sig-navy-800, #05283f);
  font-size: 13px;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: break-word;
}

[data-restaurant-theme="signature"] .cart-promo__help-details[hidden],
[data-restaurant-theme="signature"] .cart-promo__help[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .cart-promo__help-lead {
  margin: 0;
  color: var(--sig-navy-800, #05283f);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
}

[data-restaurant-theme="signature"] .cart-promo__help-meta {
  margin: 0;
  color: var(--sig-text-muted, #5a7180);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
}

[data-restaurant-theme="signature"] .cart-promo__help-alert {
  margin: 0;
  padding-top: 8px;
  border-top: 1px solid rgba(5, 40, 63, 0.08);
  color: var(--sig-sand-400, #c9a66b);
  font-size: 11px;
  line-height: 1.45;
}

[data-restaurant-theme="signature"] .cart-promo__remove {
  width: 40px;
  height: 40px;
  min-width: 40px;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .cart-promo__remove:hover,
[data-restaurant-theme="signature"] .cart-promo__remove:active {
  color: #b45309;
  background: transparent;
}

[data-restaurant-theme="signature"] .cart-promo__remove svg {
  display: block;
  width: 18px;
  height: 18px;
}

[data-restaurant-theme="signature"] .cart-empty-state__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  pointer-events: none;
  user-select: none;
}

[data-restaurant-theme="signature"] .cart-empty-state__text {
  margin: 0;
  max-width: 280px;
  color: var(--sig-navy-800, #05283f);
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
}

[data-restaurant-theme="signature"] .cart-empty-state__btn {
  min-width: 140px;
  min-height: 44px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--sig-navy-800, #05283f);
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 650;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .cart-summary {
  padding: 16px 28px calc(env(safe-area-inset-bottom, 0px) + 20px);
  background: #fff;
  border-top: 1px solid rgba(5, 40, 63, 0.1);
  box-shadow: 0 -12px 28px rgba(5, 40, 63, 0.06);
  color: var(--sig-text, #0b2433);
}

[data-restaurant-theme="signature"] .cart-summary__totals {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

[data-restaurant-theme="signature"] .cart-summary__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

[data-restaurant-theme="signature"] .cart-summary__row span {
  color: var(--sig-text-muted, #5a7180);
  font-size: 14px;
}

[data-restaurant-theme="signature"] .cart-summary__row strong {
  color: var(--sig-navy-800, #05283f);
  font-size: 15px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

[data-restaurant-theme="signature"] #cartSubtotal {
  color: var(--sig-text-muted, #5a7180);
  font-weight: 600;
}

[data-restaurant-theme="signature"] .cart-summary__row--discount span,
[data-restaurant-theme="signature"] .cart-summary__row--discount strong {
  color: #1f6b3a;
}

[data-restaurant-theme="signature"] .cart-summary__row--total span {
  color: var(--sig-navy-800, #05283f);
  font-size: 16px;
  font-weight: 700;
}

[data-restaurant-theme="signature"] .cart-summary__row--total strong {
  font-size: 22px;
}

[data-restaurant-theme="signature"] .cart-summary__hint {
  margin: 0 0 10px;
  color: var(--sig-text-muted, #5a7180);
  font-size: 13px;
}

[data-restaurant-theme="signature"] .cart-summary__hint.is-error {
  color: #b45309;
}

[data-restaurant-theme="signature"] .cart-checkout {
  width: 100%;
  min-height: 50px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: var(--sig-navy-800, #05283f);
  color: #fff;
  box-shadow: none;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .cart-checkout:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

[data-restaurant-theme="signature"] .cart-checkout:hover:not(:disabled) {
  filter: brightness(1.08);
}

/* —— Checkout flow (delivery / pickup) —— */
[data-restaurant-theme="signature"] .cart-screen__drawer.is-checkout .cart-screen__scroll,
[data-restaurant-theme="signature"] .cart-screen__drawer.is-checkout .cart-summary {
  display: none !important;
}

[data-restaurant-theme="signature"] .checkout-panel {
  display: none;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  background: #fff;
}

[data-restaurant-theme="signature"] .cart-screen__drawer.is-checkout .checkout-panel {
  display: flex;
}

[data-restaurant-theme="signature"] .checkout-panel__scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
  padding: 16px 28px 0;
  -webkit-overflow-scrolling: touch;
}

[data-restaurant-theme="signature"] .checkout-panel__body {
  flex: 0 0 auto;
}

[data-restaurant-theme="signature"] .cart-screen__drawer.is-checkout .cart-screen__header {
  border-bottom: 0;
  background: #fff;
  position: relative;
  z-index: 6;
}

[data-restaurant-theme="signature"] .checkout-panel__modes {
  display: flex;
  flex: 0 0 auto;
  align-items: stretch;
  gap: 0;
  margin: 0;
  padding: 8px 28px 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 15px 55px rgba(142, 156, 184, 0.15);
  position: relative;
  z-index: 5;
}

[data-restaurant-theme="signature"] .checkout-panel__mode {
  position: relative;
  min-height: 0;
  margin: 0 30px 0 0;
  padding: 0 0 17px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  opacity: 0.4;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 17px;
  cursor: pointer;
  transition: opacity 0.3s ease;
  box-shadow: none;
}

[data-restaurant-theme="signature"] .checkout-panel__mode:last-child {
  margin-right: 0;
}

[data-restaurant-theme="signature"] .checkout-panel__mode::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 3px;
  background: var(--sig-navy-800, #05283f);
  opacity: 0;
  transition: opacity 0.3s ease;
}

[data-restaurant-theme="signature"] .checkout-panel__mode.is-active {
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  opacity: 1;
  box-shadow: none;
}

[data-restaurant-theme="signature"] .checkout-panel__mode.is-active::after {
  opacity: 1;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .cart-screen__drawer.is-checkout .cart-screen__header {
    padding-bottom: 8px;
  }

  [data-restaurant-theme="signature"] .checkout-panel__modes {
    padding: 4px 16px 0;
  }

  [data-restaurant-theme="signature"] .checkout-panel__mode {
    margin-right: 20px;
    padding-bottom: 11px;
    font-size: 12px;
  }

  [data-restaurant-theme="signature"] .checkout-panel__mode::after {
    height: 2px;
  }
}

[data-restaurant-theme="signature"] .checkout-panel__steps {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  margin: 8px 0 28px;
  padding: 22px 0 8px;
  list-style: none;
  overflow: visible;
}

[data-restaurant-theme="signature"] .checkout-panel__step {
  position: relative;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: rgba(5, 40, 63, 0.38);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

[data-restaurant-theme="signature"] .checkout-panel__step:first-child {
  align-items: flex-start;
}

[data-restaurant-theme="signature"] .checkout-panel__step:last-child {
  align-items: flex-end;
}

[data-restaurant-theme="signature"] .checkout-panel__step:not(:last-child)::before {
  content: "";
  position: absolute;
  left: calc(50% + 12px);
  right: calc(-50% + 12px);
  top: 7px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--sig-sand-500, #c4a574), var(--sig-sand-400, #d4b896));
  z-index: 0;
}

[data-restaurant-theme="signature"] .checkout-panel__step:first-child:not(:last-child)::before {
  left: 19.5px;
  right: calc(-50% + 12px);
}

[data-restaurant-theme="signature"] .checkout-panel__step:nth-child(2):not(:last-child)::before {
  right: calc(-100% + 19.5px);
}
[data-restaurant-theme="signature"] .checkout-panel__step.is-active:not(:last-child)::before,
[data-restaurant-theme="signature"] .checkout-panel__step.is-active ~ .checkout-panel__step:not(:last-child)::before {
  background: rgba(5, 40, 63, 0.14);
}

[data-restaurant-theme="signature"] .checkout-panel__step i {
  display: block;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  box-sizing: border-box;
  border: 3px solid var(--sig-sand-500, #c4a574);
  background: #fff;
  box-shadow: 0 0 0 5px #fff;
  position: relative;
  z-index: 2;
}

[data-restaurant-theme="signature"] .checkout-panel__step.is-active ~ .checkout-panel__step i {
  border-color: rgba(5, 40, 63, 0.22);
}

[data-restaurant-theme="signature"] .checkout-panel__step.is-active i,
[data-restaurant-theme="signature"] .checkout-panel__step.is-done i {
  border-color: var(--sig-navy-800, #05283f);
  background: #fff;
}

[data-restaurant-theme="signature"] .checkout-panel__step-title {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  color: inherit;
}

[data-restaurant-theme="signature"] .checkout-panel__step:first-child .checkout-panel__step-title {
  left: 0;
  transform: none;
}

[data-restaurant-theme="signature"] .checkout-panel__step:last-child .checkout-panel__step-title {
  left: auto;
  right: 0;
  transform: none;
}

[data-restaurant-theme="signature"] .checkout-panel__step.is-active,
[data-restaurant-theme="signature"] .checkout-panel__step.is-done {
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .checkout-panel__step.is-active .checkout-panel__step-title {
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .checkout-step__title {
  margin: 0 0 12px;
  color: var(--sig-navy-800, #05283f);
  font-size: 15px;
  font-weight: 700;
}

[data-restaurant-theme="signature"] .checkout-address {
  margin-top: 28px;
}

[data-restaurant-theme="signature"] .checkout-pickup-note {
  margin-top: 28px;
}

[data-restaurant-theme="signature"] .checkout-step__title + .checkout-fields,
[data-restaurant-theme="signature"] .checkout-address .checkout-step__title,
[data-restaurant-theme="signature"] .checkout-step .checkout-step__title:not(:first-child) {
  margin-top: 0;
}

[data-restaurant-theme="signature"] #checkoutTimeTitle {
  margin-top: 28px;
}

[data-restaurant-theme="signature"] .checkout-fields {
  display: grid;
  gap: 12px;
}

[data-restaurant-theme="signature"] .checkout-fields[hidden],
[data-restaurant-theme="signature"] #checkoutSlotFields[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .checkout-fields--grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

[data-restaurant-theme="signature"] .checkout-fields--address {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

[data-restaurant-theme="signature"] .checkout-field {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: var(--sig-text-muted, #5a7180);
  font-size: 12px;
  font-weight: 600;
}

[data-restaurant-theme="signature"] .checkout-field--wide {
  grid-column: 1 / -1;
}

[data-restaurant-theme="signature"] .checkout-field--half {
  grid-column: span 2;
}

[data-restaurant-theme="signature"] .checkout-field .sig-select {
  width: 100%;
}

[data-restaurant-theme="signature"] .checkout-field .sig-select__toggle {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  background: #fff;
  border-color: rgba(5, 40, 63, 0.14);
  font-weight: 500;
}

[data-restaurant-theme="signature"] .checkout-field .sig-select.is-open .sig-select__toggle {
  border-color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .checkout-field .sig-select__menu {
  max-height: 220px;
  overflow: auto;
  z-index: 40;
}

[data-restaurant-theme="signature"] .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

[data-restaurant-theme="signature"] .checkout-picker {
  position: relative;
  width: 100%;
}

[data-restaurant-theme="signature"] .checkout-picker__input {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 40px 10px 14px;
  border: 1px solid rgba(5, 40, 63, 0.14);
  border-radius: 12px;
  background-color: #fff;
  background-repeat: no-repeat;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .checkout-picker__input--date {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='16' viewBox='0 0 17 16' fill='none'%3E%3Crect x='1.5' y='2.5' width='14' height='12' rx='2' stroke='%23999DA9' stroke-width='1.4'/%3E%3Cpath stroke='%23999DA9' stroke-width='1.4' stroke-linecap='round' d='M5 1.5v2.5M12 1.5v2.5M1.5 6h14'/%3E%3C/svg%3E");
  background-position: right 14px center;
  background-size: 17px 16px;
}

[data-restaurant-theme="signature"] .checkout-picker__input--time {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 8 6' fill='none'%3E%3Cpath d='M0.62 2.2C0.02 1.54 0.44 0.41 1.29 0.41h5.19c.84 0 1.27 1.13.67 1.79L4.55 5.08c-.37.41-.97.41-1.34 0L0.62 2.2Z' fill='%2365697A'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-size: 10px 6px;
}

[data-restaurant-theme="signature"] .checkout-picker__input:focus {
  outline: none;
  border-color: var(--sig-navy-800, #05283f);
  box-shadow: 0 0 0 3px rgba(5, 40, 63, 0.1);
}

[data-restaurant-theme="signature"] .checkout-field.is-invalid .checkout-picker__input,
[data-restaurant-theme="signature"] .checkout-picker__input.is-invalid {
  border-color: #e11d48;
  box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.12);
}

[data-restaurant-theme="signature"] .checkout-picker__panel {
  display: none;
  z-index: 60;
}

[data-restaurant-theme="signature"] .checkout-picker__panel.is-active {
  display: block;
}

[data-restaurant-theme="signature"] .checkout-picker__calendar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 12px);
  padding: 20px 18px 16px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 15px 30px rgba(5, 40, 63, 0.16);
}

[data-restaurant-theme="signature"] .checkout-picker__calendar::before {
  content: "";
  position: absolute;
  right: 20px;
  top: 100%;
  border: 10px solid transparent;
  border-top-color: #fff;
}

[data-restaurant-theme="signature"] .checkout-picker__panel-head {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 60px;
  padding: 0 20px;
  margin: 0;
  border-bottom: 1px solid rgba(5, 40, 63, 0.08);
  background: #fff;
  box-shadow: 0 8px 20px rgba(5, 40, 63, 0.08);
  font-size: 16px;
  font-weight: 700;
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .checkout-picker__close {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M2 2l10 10M12 2L2 12' stroke='%2365697A' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 14px no-repeat transparent;
  cursor: pointer;
  transition: transform 0.25s ease;
}

[data-restaurant-theme="signature"] .checkout-picker__close:hover {
  transform: rotate(90deg);
}

[data-restaurant-theme="signature"] .checkout-picker__panel-body {
  min-width: 0;
}

[data-restaurant-theme="signature"] .checkout-picker__panel-foot {
  display: none;
  padding: 0 20px 20px;
}

[data-restaurant-theme="signature"] .checkout-picker__ok {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 12px;
  background: var(--sig-navy-800, #05283f);
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .checkout-picker__cal-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 14px;
}

[data-restaurant-theme="signature"] .checkout-picker__cal-title {
  flex: 1;
  text-align: center;
  color: var(--sig-navy-800, #05283f);
  font-size: 14px;
  font-weight: 700;
}

[data-restaurant-theme="signature"] .checkout-picker__cal-btn {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: rgba(5, 40, 63, 0.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='12' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M7 1L2 6l5 5' stroke='%2305283f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 8px 12px no-repeat;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .checkout-picker__cal-btn--next {
  transform: scaleX(-1);
}

[data-restaurant-theme="signature"] .checkout-picker__cal-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

[data-restaurant-theme="signature"] .checkout-picker__cal-week,
[data-restaurant-theme="signature"] .checkout-picker__cal-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 2px;
  width: min(252px, 100%);
  margin: 0 auto;
}

[data-restaurant-theme="signature"] .checkout-picker__cal-week {
  margin-top: 4px;
  margin-bottom: 6px;
}

[data-restaurant-theme="signature"] .checkout-picker__cal-week span {
  height: 28px;
  display: grid;
  place-items: center;
  color: #65697a;
  font-size: 11px;
  font-weight: 700;
  opacity: 0.7;
}

[data-restaurant-theme="signature"] .checkout-picker__cell {
  width: 36px;
  height: 36px;
  margin: 0 auto;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .checkout-picker__cell.is-empty {
  pointer-events: none;
}

[data-restaurant-theme="signature"] .checkout-picker__cell:hover:not(:disabled):not(.is-empty) {
  background: rgba(5, 40, 63, 0.08);
}

[data-restaurant-theme="signature"] .checkout-picker__cell.is-today:not(.is-picked) {
  box-shadow: inset 0 0 0 1px rgba(5, 40, 63, 0.25);
}

[data-restaurant-theme="signature"] .checkout-picker__cell.is-picked,
[data-restaurant-theme="signature"] .checkout-picker__cell.is-picked:hover {
  background: var(--sig-navy-800, #05283f);
  color: #fff;
}

[data-restaurant-theme="signature"] .checkout-picker__cell:disabled {
  opacity: 0.35;
  cursor: default;
}

[data-restaurant-theme="signature"] .checkout-picker__hours {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 12px);
  padding: 12px 12px 20px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 20px 40px rgba(5, 40, 63, 0.16);
}

[data-restaurant-theme="signature"] .checkout-picker__hours::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 100%;
  border: 10px solid transparent;
  border-top-color: #fff;
}

[data-restaurant-theme="signature"] .checkout-picker__overlay {
  display: none;
}

[data-restaurant-theme="signature"] .checkout-picker__hours-list {
  list-style: none;
  margin: 0;
  padding: 0 12px 0 0;
  max-height: 220px;
  overflow-y: auto;
}

[data-restaurant-theme="signature"] .checkout-picker__hours-list::-webkit-scrollbar {
  width: 2px;
  background: #eef2f6;
}

[data-restaurant-theme="signature"] .checkout-picker__hours-list::-webkit-scrollbar-thumb {
  background: #999da9;
}

[data-restaurant-theme="signature"] .checkout-picker__hours-item + .checkout-picker__hours-item {
  margin-top: 2px;
}

[data-restaurant-theme="signature"] .checkout-picker__hour {
  width: 100%;
  margin: 0;
  padding: 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #65697a;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .checkout-picker__hour:hover,
[data-restaurant-theme="signature"] .checkout-picker__hour.is-active {
  background: rgba(5, 40, 63, 0.06);
  color: var(--sig-navy-800, #05283f);
}

@media (max-width: 991px) {
  [data-restaurant-theme="signature"] .checkout-picker__panel-head,
  [data-restaurant-theme="signature"] .checkout-picker__panel-foot {
    display: none;
  }

  [data-restaurant-theme="signature"] .checkout-picker__calendar,
  [data-restaurant-theme="signature"] .checkout-picker__hours {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    z-index: 200;
    margin: 0;
    max-height: min(70dvh, 420px);
    padding: 30px 16px calc(24px + env(safe-area-inset-bottom, 0px));
    border-radius: 0;
    box-shadow: none;
    display: none;
    background: #fff;
  }

  [data-restaurant-theme="signature"] .checkout-picker__hours {
    max-height: 282px;
  }

  [data-restaurant-theme="signature"] .checkout-picker__calendar.is-active,
  [data-restaurant-theme="signature"] .checkout-picker__hours.is-active {
    display: block;
  }

  [data-restaurant-theme="signature"] .checkout-picker__calendar::before,
  [data-restaurant-theme="signature"] .checkout-picker__hours::before {
    display: none;
  }

  [data-restaurant-theme="signature"] .checkout-picker__panel-body {
    position: relative;
    z-index: 2;
    padding: 0;
    overflow: auto;
  }

  [data-restaurant-theme="signature"] .checkout-picker__cal-week,
  [data-restaurant-theme="signature"] .checkout-picker__cal-grid {
    width: min(400px, 100%);
  }

  /* Bottom checkout bar overlaps date/time sheets — hide while picker is open */
  [data-restaurant-theme="signature"] .checkout-panel.has-checkout-picker .checkout-panel__footer,
  [data-restaurant-theme="signature"] .checkout-panel:has(.checkout-picker__panel.is-active) .checkout-panel__footer {
    display: none !important;
  }

  /* Let the dim overlay cover the cart header/close — scroll otherwise clips it */
  [data-restaurant-theme="signature"] .checkout-panel.has-checkout-picker .checkout-panel__scroll,
  [data-restaurant-theme="signature"] .checkout-panel:has(.checkout-picker__panel.is-active) .checkout-panel__scroll {
    overflow: visible;
  }

  /* Anchor to real sheet top; height = dimmed area only so «Закрыть» centers in the blue */
  [data-restaurant-theme="signature"] .checkout-picker__overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    top: auto;
    height: calc(100vh - 100%);
    height: calc(100dvh - 100%);
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 0;
    background: rgba(5, 40, 63, 0.45);
    backdrop-filter: blur(3px);
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
  }

  [data-restaurant-theme="signature"] .checkout-picker__overlay-ico {
    display: flex;
    width: 80px;
    height: 80px;
    border: 1px solid #fff;
    border-radius: 50%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M2 2l10 10M12 2L2 12' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / 22px no-repeat;
  }

  [data-restaurant-theme="signature"] .checkout-picker__hours-list {
    position: relative;
    z-index: 2;
    max-height: 220px;
    padding-right: 16px;
  }
}

[data-restaurant-theme="signature"] .checkout-field > input:not(.checkout-picker__input),
[data-restaurant-theme="signature"] .checkout-field > textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(5, 40, 63, 0.14);
  border-radius: 12px;
  background: #fff;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 15px;
  font-weight: 500;
}

[data-restaurant-theme="signature"] .checkout-field textarea {
  min-height: 88px;
  resize: vertical;
}

[data-restaurant-theme="signature"] .checkout-field > input:focus,
[data-restaurant-theme="signature"] .checkout-field > textarea:focus {
  outline: none;
  border-color: var(--sig-navy-800, #05283f);
  box-shadow: 0 0 0 3px rgba(5, 40, 63, 0.1);
}

[data-restaurant-theme="signature"] .checkout-field.is-invalid > input,
[data-restaurant-theme="signature"] .checkout-field.is-invalid > textarea,
[data-restaurant-theme="signature"] .checkout-field.is-invalid .sig-select__toggle,
[data-restaurant-theme="signature"] .checkout-field > input.is-invalid {
  border-color: #e11d48;
}

[data-restaurant-theme="signature"] .checkout-radios {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 14px;
  margin: 0 0 14px;
  padding: 0;
}

[data-restaurant-theme="signature"] .checkout-radio {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .checkout-radio:has(input:checked) {
  border: 0;
  background: transparent;
}

[data-restaurant-theme="signature"] .checkout-radio input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  accent-color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .checkout-radio span {
  font-weight: 500;
}

[data-restaurant-theme="signature"] .checkout-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0 0;
  color: var(--sig-text, #0b2433);
  font-size: 13px;
  line-height: 1.4;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .checkout-check input {
  width: 20px;
  height: 20px;
  min-width: 20px;
  flex: 0 0 20px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(5, 40, 63, 0.14);
  border-radius: 4px;
  appearance: none;
  -webkit-appearance: none;
  background: #fff;
  cursor: pointer;
  outline: none;
  box-shadow: none;
  /* Optically center with the first text line (13px × 1.4 ≈ 18px) */
  transform: translateY(calc((1.4em - 20px) / 2));
}

[data-restaurant-theme="signature"] .checkout-check > span {
  flex: 1 1 auto;
  min-width: 0;
  padding-top: 0;
}

[data-restaurant-theme="signature"] .checkout-check input:checked {
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%2305283f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M2.5 7.2 5.4 10l6-7'/%3E%3C/svg%3E") 50% 50% / 12px no-repeat;
  border-color: rgba(5, 40, 63, 0.14);
}

[data-restaurant-theme="signature"] .checkout-check input:focus {
  border-color: var(--sig-navy-800, #05283f);
  box-shadow: 0 0 0 3px rgba(5, 40, 63, 0.1);
}

[data-restaurant-theme="signature"] .checkout-check input.is-invalid {
  border-color: #e11d48;
  outline: none;
  box-shadow: none;
}

[data-restaurant-theme="signature"] .checkout-check a {
  color: var(--sig-link, var(--sig-sand-400, #c9a66b));
  text-decoration: underline;
  text-underline-offset: 2px;
}

[data-restaurant-theme="signature"] .checkout-note {
  margin: 0 0 12px;
  color: var(--sig-text-muted, #5a7180);
  font-size: 13px;
  line-height: 1.45;
}

[data-restaurant-theme="signature"] .checkout-pay-extra {
  margin-top: 28px;
}

[data-restaurant-theme="signature"] .checkout-card-box {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 14px;
  background: #f4f7f9;
  border: 1px solid rgba(5, 40, 63, 0.08);
}

[data-restaurant-theme="signature"] .checkout-card-box__bank {
  color: var(--sig-text-muted, #5a7180);
  font-size: 12px;
  font-weight: 650;
}

[data-restaurant-theme="signature"] .checkout-card-box__num {
  color: var(--sig-navy-800, #05283f);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  -webkit-text-fill-color: var(--sig-navy-800, #05283f);
}

/* iOS Safari turns long digit groups into bright blue tel links */
[data-restaurant-theme="signature"] .checkout-card-box__num a,
[data-restaurant-theme="signature"] .checkout-card-box__num a[x-apple-data-detectors],
[data-restaurant-theme="signature"] a[x-apple-data-detectors].checkout-card-box__num {
  color: var(--sig-navy-800, #05283f) !important;
  -webkit-text-fill-color: var(--sig-navy-800, #05283f) !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
  font-weight: 700;
  pointer-events: none;
}

[data-restaurant-theme="signature"] .checkout-card-box__copy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: start;
  margin-top: 4px;
  border: 0;
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  padding: 0;
}

[data-restaurant-theme="signature"] .checkout-card-box__copy svg {
  flex: 0 0 auto;
  color: inherit;
}

[data-restaurant-theme="signature"] .checkout-card-box__copy:hover {
  opacity: 0.75;
}

[data-restaurant-theme="signature"] .checkout-qty {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 120px;
  min-width: 120px;
  height: 44px;
  margin-top: 2px;
  border: 1px solid rgba(5, 40, 63, 0.14);
  border-radius: 999px;
  overflow: hidden;
  background: #fff;
  box-sizing: border-box;
}

[data-restaurant-theme="signature"] .checkout-qty button {
  flex: 0 0 40px;
  width: 40px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .checkout-qty input {
  flex: 1 1 auto;
  width: 40px;
  min-width: 0;
  min-height: 0;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  -moz-appearance: textfield;
  appearance: textfield;
}

[data-restaurant-theme="signature"] .checkout-qty input:focus {
  outline: none;
  box-shadow: none;
}

[data-restaurant-theme="signature"] .checkout-panel__footer {
  position: relative;
  flex: 0 0 auto;
  margin: auto -28px 0;
  padding: 22px 28px calc(18px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(5, 40, 63, 0.1);
  background: #fff;
  box-shadow: none;
}

[data-restaurant-theme="signature"] .checkout-panel__footer::before {
  display: none;
}

[data-restaurant-theme="signature"] .checkout-panel__promo-note {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 8px;
  color: var(--sig-text-muted, #5a7180);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 500;
}

[data-restaurant-theme="signature"] .checkout-panel__promo-note[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .checkout-panel__promo-note-amount {
  color: #2f9e44;
  font-weight: 600;
  white-space: nowrap;
}

[data-restaurant-theme="signature"] .checkout-panel__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
  color: var(--sig-navy-800, #05283f);
  font-size: 14px;
  font-weight: 500;
}

[data-restaurant-theme="signature"] .checkout-panel__total strong {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

[data-restaurant-theme="signature"] .checkout-panel__notice {
  margin: 0;
  color: var(--sig-link, var(--sig-sand-400, #c9a66b));
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
}

[data-restaurant-theme="signature"] .checkout-panel__notice.is-error {
  color: #e11d48;
}

[data-restaurant-theme="signature"] .checkout-panel__notice.is-error::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  margin-right: 5px;
  position: relative;
  top: -1px;
  border-radius: 50%;
  background: #e11d48 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath fill='%23fff' d='M7.6 5h2.4l-.4 4.8H8L7.6 5zm1.2 7.7c-.36 0-.66-.11-.89-.33a1.1 1.1 0 0 1-.34-.8c0-.32.11-.59.34-.8.23-.2.53-.31.89-.31s.66.1.87.31c.23.21.35.48.35.8 0 .31-.12.58-.35.8-.22.22-.51.33-.87.33z'/%3E%3C/svg%3E") 50% 50% / 18px 18px no-repeat;
}

[data-restaurant-theme="signature"] .checkout-panel__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

[data-restaurant-theme="signature"] .checkout-panel__btn {
  min-height: 50px;
  min-width: 160px;
  padding: 0 28px;
  border-radius: 999px;
  border: 0;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .checkout-panel__btn--ghost {
  background: #f1f5f8;
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .checkout-panel__btn--primary {
  margin-left: auto;
  background: var(--sig-navy-800, #05283f);
  color: #fff;
}

[data-restaurant-theme="signature"] .checkout-panel__btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

[data-restaurant-theme="signature"] .checkout-panel.is-success .checkout-panel__modes,
[data-restaurant-theme="signature"] .checkout-panel.is-success .checkout-panel__steps,
[data-restaurant-theme="signature"] .checkout-panel.is-success .checkout-panel__footer {
  display: none !important;
}

[data-restaurant-theme="signature"] .checkout-success__lead {
  margin: 8px 0 1.2em;
  color: var(--sig-navy-800, #05283f);
  font-family: var(--sig-font-body, inherit);
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  text-align: center;
}

[data-restaurant-theme="signature"] .checkout-success__order {
  margin: 0 0 16px;
  color: var(--sig-text-muted, #5a7180);
  font-size: 13px;
  text-align: center;
}

[data-restaurant-theme="signature"] .checkout-success__order[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .checkout-success__grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0 0 22px;
}

[data-restaurant-theme="signature"] .checkout-success__section {
  margin: 0;
}

[data-restaurant-theme="signature"] .checkout-success__section-title {
  margin: 0 0 17px;
  padding-top: 12px;
  color: var(--sig-navy-800, #05283f);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

[data-restaurant-theme="signature"] .checkout-success__section:first-child .checkout-success__section-title {
  padding-top: 0;
}

[data-restaurant-theme="signature"] .checkout-success__section-title--small {
  font-size: 12px;
}

[data-restaurant-theme="signature"] .checkout-success__rows {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px;
}

[data-restaurant-theme="signature"] .checkout-success__option {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  padding-bottom: 3px;
  border-bottom: 1px dotted #767e91;
  color: #767e91;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
}

[data-restaurant-theme="signature"] .checkout-success__option-label {
  flex: 0 1 auto;
  min-width: 0;
}

[data-restaurant-theme="signature"] .checkout-success__option-value {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--sig-navy-800, #05283f);
  font-weight: 400;
  text-align: right;
  word-break: break-word;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .checkout-success__lead {
    font-size: 16px;
  }

  [data-restaurant-theme="signature"] .checkout-success__rows {
    grid-template-columns: 1fr;
  }
}

[data-restaurant-theme="signature"] .checkout-success__products {
  margin: 0 0 8px;
  padding-bottom: 12px;
  border-top: 1px solid rgba(118, 126, 145, 0.28);
}

[data-restaurant-theme="signature"] .checkout-success__product {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(118, 126, 145, 0.28);
  color: var(--sig-navy-800, #05283f);
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
}

[data-restaurant-theme="signature"] .checkout-success__product-thumb {
  flex: 0 0 70px;
  width: 70px;
  height: 52px;
  overflow: hidden;
  border-radius: 5px;
  background: #f4f7f9;
}

[data-restaurant-theme="signature"] .checkout-success__product-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

[data-restaurant-theme="signature"] .checkout-success__product-body {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 52px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 2px;
}

[data-restaurant-theme="signature"] .checkout-success__product-main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

[data-restaurant-theme="signature"] .checkout-success__product-title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  color: var(--sig-navy-800, #05283f);
  font-size: 12px;
  font-weight: 700;
  line-height: 15px;
}

[data-restaurant-theme="signature"] .checkout-success__product-unit {
  flex: 0 0 auto;
  margin: 0;
  color: #767e91;
  font-size: 12px;
  font-weight: 500;
  line-height: 15px;
  white-space: nowrap;
}

[data-restaurant-theme="signature"] .checkout-success__product-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

[data-restaurant-theme="signature"] .checkout-success__product-count {
  flex: 0 0 auto;
  margin: 0;
  color: var(--sig-navy-800, #05283f);
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
}

[data-restaurant-theme="signature"] .checkout-success__product-price {
  flex: 0 0 auto;
  margin: 0;
  margin-left: auto;
  color: var(--sig-navy-800, #05283f);
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: -0.01em;
  text-align: right;
}

[data-restaurant-theme="signature"] .checkout-step--success .checkout-panel__btn {
  width: 100%;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .checkout-panel__scroll {
    padding: 14px 16px 0;
  }

  [data-restaurant-theme="signature"] .checkout-panel__body {
    padding-bottom: 28px;
  }

  [data-restaurant-theme="signature"] .checkout-panel__footer {
    margin: auto -16px 0;
    padding: 16px 16px calc(14px + env(safe-area-inset-bottom, 0px));
  }

  [data-restaurant-theme="signature"] .checkout-panel__footer::before {
    display: none;
  }

  [data-restaurant-theme="signature"] .checkout-panel__actions {
    flex-direction: column;
    align-items: stretch;
  }

  [data-restaurant-theme="signature"] .checkout-panel__notice {
    text-align: center;
  }

  [data-restaurant-theme="signature"] .checkout-panel__btn--primary {
    margin-left: 0;
    width: 100%;
  }

  [data-restaurant-theme="signature"] .checkout-fields--grid {
    grid-template-columns: 1fr;
  }

  [data-restaurant-theme="signature"] #checkoutSlotFields.checkout-fields--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-restaurant-theme="signature"] .checkout-fields--address {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  [data-restaurant-theme="signature"] .checkout-fields--address > .checkout-field--half {
    grid-column: 1 / -1;
  }

  [data-restaurant-theme="signature"] .checkout-panel__steps {
    margin-bottom: 22px;
    padding-top: 20px;
  }

  [data-restaurant-theme="signature"] .checkout-panel__step {
    font-size: 10px;
    letter-spacing: 0.02em;
  }
}

[data-restaurant-theme="signature"] .cart-summary__note {
  margin: 10px 0 0;
  text-align: center;
  color: var(--sig-text-muted, #5a7180);
  font-size: 12px;
}

[data-restaurant-theme="signature"] .cart-notice {
  left: auto;
  right: 24px;
  width: min(360px, calc(100% - 48px));
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .cart-screen {
    align-items: stretch;
    display: block;
  }

  [data-restaurant-theme="signature"] .cart-screen__drawer {
    position: absolute;
    inset: 0;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    border-radius: 0;
    box-shadow: none;
    transform: translateY(100%);
  }

  [data-restaurant-theme="signature"] .cart-screen.is-open .cart-screen__drawer {
    transform: translateY(0);
  }

  [data-restaurant-theme="signature"] .cart-screen__header {
    padding: calc(env(safe-area-inset-top, 0px) + 12px) 16px 12px;
  }

  [data-restaurant-theme="signature"] .cart-screen__title {
    font-size: 20px;
  }

  [data-restaurant-theme="signature"] .cart-screen__scroll {
    padding: 12px 16px 260px;
  }

  [data-restaurant-theme="signature"] .cart-screen__scroll:has(#cartEmpty:not([hidden])) {
    padding-bottom: 24px;
  }

  [data-restaurant-theme="signature"] .cart-empty-state__icon {
    width: 168px;
    height: 168px;
  }

  [data-restaurant-theme="signature"] .cart-card {
    grid-template-columns: 72px minmax(0, 1fr);
    padding: 16px 0;
    border-radius: 0;
    align-items: start;
  }

  [data-restaurant-theme="signature"] .cart-card__media {
    width: 72px;
    height: 60px;
    border-radius: 10px;
  }

  [data-restaurant-theme="signature"] .cart-card__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 8px;
    row-gap: 2px;
  }

  [data-restaurant-theme="signature"] .cart-card__info {
    grid-column: 1;
    grid-row: 1;
  }

  [data-restaurant-theme="signature"] .cart-card__actions {
    display: contents;
  }

  [data-restaurant-theme="signature"] .cart-card__remove {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: end;
    margin-top: calc((1.3em - 40px) / 2);
  }

  [data-restaurant-theme="signature"] .cart-card__price {
    grid-column: 1;
    grid-row: 2;
    width: auto;
    margin-left: 0;
    text-align: left;
    align-self: center;
    font-size: 16px;
  }

  [data-restaurant-theme="signature"] .cart-card .qty {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    align-self: center;
  }

  [data-restaurant-theme="signature"] .cart-card__name {
    font-size: 15px;
  }

  [data-restaurant-theme="signature"] .cart-summary {
    width: 100%;
    padding: 14px 16px calc(env(safe-area-inset-bottom, 0px) + 16px);
  }

  [data-restaurant-theme="signature"] .cart-summary__row--total strong {
    font-size: 20px;
  }
}

@media (min-width: 768px) and (max-width: 1179px) {
  [data-restaurant-theme="signature"] .home-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline: 32px;
  }

  [data-restaurant-theme="signature"] #homePopularRail.home-rail {
    padding-inline: 32px;
    scroll-padding-inline: 32px;
  }

  [data-restaurant-theme="signature"] .home-photo-card {
    flex: 0 0 calc((100% - 16px) / 2);
    width: calc((100% - 16px) / 2);
  }

  [data-restaurant-theme="signature"] .sig-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  [data-restaurant-theme="signature"] .sig-map-block {
    width: min(100%, 420px);
    margin-left: 0;
  }
}

/* Home PC: static rows (carousel only ≤767px). Beats .home-rail from home.css. */
@media (min-width: 768px) {
  [data-restaurant-theme="signature"] .view-home #homeCategoryRail.home-rail,
  [data-restaurant-theme="signature"] .view-home #homePopularRail.home-rail,
  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    overflow-x: visible !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    cursor: default;
  }

  [data-restaurant-theme="signature"] .view-home #homeCategoryRail.home-rail,
  [data-restaurant-theme="signature"] .view-home #homePopularRail.home-rail {
    flex-wrap: nowrap !important;
  }

  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail {
    flex-wrap: wrap !important;
  }

  [data-restaurant-theme="signature"] #homeCategoryRail.home-rail .cat-card:nth-child(n + 7) {
    display: none !important;
  }

  [data-restaurant-theme="signature"] #homePopularRail.home-rail .catalog-card:nth-child(n + 5),
  [data-restaurant-theme="signature"] #homePopularRail.home-rail .dish-card:nth-child(n + 5) {
    display: none !important;
  }

  [data-restaurant-theme="signature"] #homeCategoryRail.home-rail .cat-card {
    flex: 0 0 calc((100% - 80px) / 6) !important;
    width: calc((100% - 80px) / 6) !important;
    max-width: none;
    height: 260px;
    scroll-snap-align: unset;
  }

  [data-restaurant-theme="signature"] #homePopularRail.home-rail .catalog-card,
  [data-restaurant-theme="signature"] #homePopularRail.home-rail .dish-card {
    flex: 0 0 calc((100% - 60px) / 4) !important;
    width: calc((100% - 60px) / 4) !important;
    max-width: none !important;
    scroll-snap-align: unset;
  }

  [data-restaurant-theme="signature"] .sig-combo #homeEventsRail.home-rail .event-card {
    flex: 0 0 calc((100% - 20px) / 2) !important;
    width: calc((100% - 20px) / 2) !important;
    max-width: none !important;
    scroll-snap-align: unset;
  }

  [data-restaurant-theme="signature"] .view-home #homeMenuPagesRail.home-rail {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-wrap: nowrap !important;
    scroll-snap-type: x mandatory !important;
  }

  [data-restaurant-theme="signature"] #homeMenuPagesRail .sig-menu-page {
    flex: 0 0 calc((100% - 48px) / 4) !important;
    width: calc((100% - 48px) / 4) !important;
    max-width: none !important;
  }
}

/* —— Mobile pages: mirror home chrome (do NOT touch .view-home rules) —— */
@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .app.is-events,
  [data-restaurant-theme="signature"] .app.is-event,
  [data-restaurant-theme="signature"] .app.is-subpage-open {
    touch-action: pan-y;
  }

  [data-restaurant-theme="signature"] .view-events,
  [data-restaurant-theme="signature"] .view-event {
    transform: none !important;
    overflow-x: clip;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    background: #f7fafb;
  }

  [data-restaurant-theme="signature"] .view-events .events-main.catalog-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 28px);
  }

  /* Chip rail — same breakout/scroll as catalog filters (never sticky). */
  [data-restaurant-theme="signature"] .view-events .events-filters {
    position: static !important;
    top: auto !important;
    z-index: auto;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    margin: 0 -16px 14px;
    padding: 0 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x;
    background: transparent;
    border: 0;
    border-bottom: none;
    box-shadow: none;
  }

  [data-restaurant-theme="signature"] .view-events .events-filters::-webkit-scrollbar {
    display: none;
  }

  [data-restaurant-theme="signature"] .view-events .events-filters button {
    min-height: 40px;
    padding: 0 14px;
    font-size: 13px;
  }

  [data-restaurant-theme="signature"] .view-events .events-list,
  [data-restaurant-theme="signature"] .view-events .events-archive {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  [data-restaurant-theme="signature"] .view-events .events-list-card {
    border-radius: 16px;
    overflow: hidden;
  }

  [data-restaurant-theme="signature"] .view-events .events-list-card__media {
    aspect-ratio: 16 / 9;
  }

  [data-restaurant-theme="signature"] .view-events .events-list-card__body {
    padding: 14px 14px 16px;
  }

  [data-restaurant-theme="signature"] .view-events .events-list-card__actions {
    flex-wrap: wrap;
    gap: 8px;
  }

  [data-restaurant-theme="signature"] .view-events .events-archive > h2 {
    font-size: 20px;
    margin: 8px 0 12px;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer,
  [data-restaurant-theme="signature"] .view-event .site-footer,
  [data-restaurant-theme="signature"] .subpage .site-footer,
  [data-restaurant-theme="signature"] .view-catalog .site-footer {
    text-align: center;
    padding-inline: 16px;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer .sig-footer-grid,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-footer-grid,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-footer-grid,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-footer-grid {
    justify-items: center;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer .sig-footer-brand,
  [data-restaurant-theme="signature"] .view-events .site-footer .sig-footer-col,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-footer-brand,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-footer-col,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-footer-brand,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-footer-col,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-footer-brand,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-footer-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer .sig-contact-line,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-contact-line,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-contact-line,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-contact-line {
    justify-content: center;
    justify-items: center;
    width: fit-content;
    max-width: min(280px, 100%);
    margin-inline: auto;
    grid-template-columns: 20px minmax(0, 1fr);
    column-gap: 8px;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer .sig-contact-line > a,
  [data-restaurant-theme="signature"] .view-events .site-footer .sig-contact-line > span:not(.sig-contact-line__icon),
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-contact-line > a,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-contact-line > span:not(.sig-contact-line__icon),
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-contact-line > a,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-contact-line > span:not(.sig-contact-line__icon),
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-contact-line > a,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-contact-line > span:not(.sig-contact-line__icon) {
    min-width: 0;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer .sig-social,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-social,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-social,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-social {
    justify-content: center;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer .sig-map-block,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-map-block,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-map-block,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-map-block {
    width: min(100%, 320px);
    margin-inline: auto;
    align-items: stretch;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer .sig-map__route,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-map__route,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-map__route,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-map__route {
    width: 100% !important;
    margin-inline: 0;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer .sig-footer-bottom,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-footer-bottom,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-footer-bottom,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
    gap: 12px;
  }

  [data-restaurant-theme="signature"] .view-events .site-footer .sig-footer-bottom > .sig-social,
  [data-restaurant-theme="signature"] .view-event .site-footer .sig-footer-bottom > .sig-social,
  [data-restaurant-theme="signature"] .subpage .site-footer .sig-footer-bottom > .sig-social,
  [data-restaurant-theme="signature"] .view-catalog .site-footer .sig-footer-bottom > .sig-social {
    justify-content: center;
    width: 100%;
  }

  /* Subpages: same chrome as home/catalog */
  [data-restaurant-theme="signature"] .subpage.is-open {
    display: flex !important;
    flex-direction: column;
    overflow-x: clip;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    transform: none !important;
    background: #f7fafb;
    color: var(--sig-text);
    touch-action: pan-y;
  }

  [data-restaurant-theme="signature"] .subpage__header--mobile {
    display: none !important;
  }

  /* Same absolute overlay chrome as home — no jump between pages. */
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header {
    display: block !important;
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 80;
    isolation: isolate;
    box-sizing: border-box;
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    margin: 0;
    padding: calc(env(safe-area-inset-top, 0px) + 10px) 16px 10px;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header.is-solid {
    background: rgba(5, 40, 63, 0.94);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(12px) saturate(1.15);
    -webkit-backdrop-filter: blur(12px) saturate(1.15);
  }

  [data-restaurant-theme="signature"] .subpage > .subpage__chrome.catalog-header > .signature-container {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    max-width: none;
    min-height: 0 !important;
    height: auto !important;
    margin: 0;
    padding: 0;
    grid-template-columns: none;
  }

  [data-restaurant-theme="signature"] .subpage > .subpage__chrome .sig-desktop-nav,
  [data-restaurant-theme="signature"] .subpage > .subpage__chrome .sig-desktop-aside {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .subpage > .subpage__chrome .brand {
    max-width: 132px;
    min-width: 0;
  }

  [data-restaurant-theme="signature"] .subpage > .subpage__chrome .brand__mark {
    height: 40px !important;
    max-width: 132px !important;
    filter: brightness(0) invert(1);
  }

  [data-restaurant-theme="signature"] .subpage > .subpage__chrome .brand__text {
    color: #fff;
  }

  [data-restaurant-theme="signature"] .subpage > .subpage__chrome .topbar__actions {
    display: flex !important;
    gap: 10px;
    flex: 0 0 auto;
  }

  [data-restaurant-theme="signature"] .subpage > .subpage__chrome .topbar__actions .icon-btn {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
  }

  [data-restaurant-theme="signature"] .subpage__body.catalog-main {
    display: block;
    flex: 1 0 auto;
    overflow: visible;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 calc(env(safe-area-inset-bottom, 0px) + 28px) !important;
  }

  /* Full-bleed hero like events / catalog — not inset by body padding. */
  [data-restaurant-theme="signature"] .subpage__body > .page-hero,
  [data-restaurant-theme="signature"] .subpage__body > .catalog-intro.page-hero {
    margin: 0 0 20px !important;
    width: 100%;
    max-width: none;
    min-height: min(34dvh, 280px);
    padding: calc(env(safe-area-inset-top, 0px) + 72px) 0 22px;
    border-radius: 0;
  }

  [data-restaurant-theme="signature"] .subpage__body > .page-hero .catalog-intro__copy,
  [data-restaurant-theme="signature"] .subpage__body > .catalog-intro.page-hero .catalog-intro__copy {
    width: min(100% - 32px, 1344px);
    margin-inline: auto;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .subpage__body > .page-hero h1,
  [data-restaurant-theme="signature"] .subpage__body > .catalog-intro.page-hero h1 {
    margin-inline: auto;
    font-size: clamp(26px, 7vw, 34px);
    text-align: center;
  }

  [data-restaurant-theme="signature"] .subpage__body > .page-hero .catalog-intro__copy > p:last-child,
  [data-restaurant-theme="signature"] .subpage__body > .catalog-intro.page-hero .catalog-intro__copy > p:last-child {
    margin: 10px auto 0;
    font-size: 14px;
    line-height: 1.45;
    text-align: center;
  }

  [data-restaurant-theme="signature"] .subpage__body > .content-page,
  [data-restaurant-theme="signature"] .subpage__body > .content-page--gallery,
  [data-restaurant-theme="signature"] .subpage__body > .subpage__section,
  [data-restaurant-theme="signature"] .subpage__body > .subpage__empty,
  [data-restaurant-theme="signature"] .subpage__body > .subpage__card {
    /* Same top rhythm as .events-main → #eventsFilters (12px after hero). */
    padding: 12px 16px 0;
    box-sizing: border-box;
  }

  [data-restaurant-theme="signature"] .content-page {
    margin: 0 0 16px;
  }

  [data-restaurant-theme="signature"] .content-page__headline {
    font-size: clamp(22px, 6.5vw, 28px);
  }

  [data-restaurant-theme="signature"] .content-page__lead {
    font-size: 13px;
    line-height: 1.5;
  }

  [data-restaurant-theme="signature"] .content-page__block h4,
  [data-restaurant-theme="signature"] .content-page__steps h4 {
    font-size: 16px;
    margin-bottom: 8px;
  }

  [data-restaurant-theme="signature"] .content-page__block p,
  [data-restaurant-theme="signature"] .content-page__list,
  [data-restaurant-theme="signature"] .content-page__steps ol {
    font-size: 13px;
    line-height: 1.5;
  }

  [data-restaurant-theme="signature"] .content-page__block p + p {
    margin-top: 8px;
  }

  [data-restaurant-theme="signature"] .content-page__facts dd {
    font-size: 14px;
  }

  [data-restaurant-theme="signature"] .content-page__steps {
    margin: 24px 0 20px;
    padding: 16px;
  }

  [data-restaurant-theme="signature"] .content-page__cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  [data-restaurant-theme="signature"] .content-page__contacts-info .content-page__cta-row,
  [data-restaurant-theme="signature"] .content-page__contacts-top .content-page__cta-row {
    flex-direction: column;
    max-width: none;
  }

  [data-restaurant-theme="signature"] .content-page__cta {
    width: 100%;
  }

  [data-restaurant-theme="signature"] .gallery-tabs {
    width: 100%;
    justify-content: stretch;
  }

  [data-restaurant-theme="signature"] .gallery-tabs__btn {
    flex: 1 1 0;
    min-width: 0;
  }

  /* Event detail */
  [data-restaurant-theme="signature"] .event-detail-hero {
    min-height: min(52dvh, 420px);
    padding: calc(env(safe-area-inset-top, 0px) + 10px) 16px 24px;
  }

  [data-restaurant-theme="signature"] .event-detail-hero__bar {
    gap: 10px;
    margin-bottom: 36px;
  }

  [data-restaurant-theme="signature"] .event-detail-hero__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    margin-left: auto;
  }

  [data-restaurant-theme="signature"] .event-detail-hero__bar .icon-btn {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
  }

  [data-restaurant-theme="signature"] .event-detail-hero__brand {
    max-width: 132px;
  }

  [data-restaurant-theme="signature"] .event-detail-hero__brand .brand__mark {
    height: 40px;
    max-width: 132px;
  }

  [data-restaurant-theme="signature"] .event-detail-hero__title {
    font-size: clamp(26px, 7vw, 34px);
  }

  [data-restaurant-theme="signature"] .event-detail-body {
    padding: 20px 16px calc(env(safe-area-inset-bottom, 0px) + 96px);
  }

  [data-restaurant-theme="signature"] .event-detail-body h2 {
    font-size: 18px;
  }

  [data-restaurant-theme="signature"] .event-detail-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  [data-restaurant-theme="signature"] .event-detail-gallery img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 12px;
  }

  [data-restaurant-theme="signature"] .view-event .event-book-bar {
    position: sticky;
    bottom: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    padding: 12px 16px calc(env(safe-area-inset-bottom, 0px) + 12px);
    background: rgba(247, 250, 251, 0.96);
    border-top: 1px solid rgba(5, 40, 63, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  [data-restaurant-theme="signature"] .view-catalog > .catalog-header .topbar__actions .icon-btn {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
  }
}

.sig-promo {
  display: none;
}

[data-restaurant-theme="signature"] .sig-promo {
  display: block;
  position: fixed;
  z-index: 180;
  right: 16px;
  bottom: max(24px, env(safe-area-inset-bottom, 0px));
  width: min(320px, calc(100% - 32px));
}

/* Mobile: center the promo launcher card (desktop keeps FAB corner) */
@media (max-width: 991px) {
  [data-restaurant-theme="signature"] .sig-promo:not(.is-panel):not(.is-collapsed) {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
}

/* Keep promo FAB / card above the mobile bottom bar */
@media (max-width: 767px) {
  [data-restaurant-theme="signature"] .sig-promo:not(.is-panel) {
    bottom: calc(var(--sig-mobile-nav-h, 60px) + 16px);
  }

  /* Rectangular launcher is full-width and sits under the raised cart circle */
  [data-restaurant-theme="signature"] .sig-promo:not(.is-panel):not(.is-collapsed) {
    bottom: calc(var(--sig-mobile-nav-h, 60px) + 36px);
  }
}

/* Cafe-like overlay: backdrop + sheet (bottom mobile / FAB corner desktop) */
[data-restaurant-theme="signature"] .sig-promo.is-panel {
  inset: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  max-width: none;
  padding: 0;
  display: block;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-restaurant-theme="signature"] .app.is-cart-open .sig-promo,
[data-restaurant-theme="signature"] .app.is-menu-open .sig-promo,
[data-restaurant-theme="signature"] .app:has(.catalog-filters-panel:not([hidden])) .sig-promo {
  visibility: hidden;
  pointer-events: none;
}

[data-restaurant-theme="signature"] .sig-promo__card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 16px 36px 16px 16px;
  border: 1px solid rgba(5, 40, 63, 0.08);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(5, 40, 63, 0.16);
  color: var(--sig-navy-800, #05283f);
  text-align: left;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .sig-promo.is-collapsed .sig-promo__card,
[data-restaurant-theme="signature"] .sig-promo.is-panel .sig-promo__launcher {
  display: none;
}

[data-restaurant-theme="signature"] .sig-promo__icon {
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(5, 40, 63, 0.08);
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .sig-promo__fab {
  display: none;
  position: relative;
  margin-left: auto;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  place-items: center;
  background: linear-gradient(145deg, var(--sig-sand-300, #d4b483), var(--sig-sand-500, #c4a574));
  color: var(--sig-navy-950, #031726);
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.35) inset,
    0 12px 28px rgba(5, 40, 63, 0.28);
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

[data-restaurant-theme="signature"] .sig-promo__fab:hover {
  filter: brightness(1.04);
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.4) inset,
    0 14px 32px rgba(5, 40, 63, 0.34);
}

[data-restaurant-theme="signature"] .sig-promo__fab:active {
  transform: scale(0.96);
}

[data-restaurant-theme="signature"] .sig-promo.is-collapsed .sig-promo__fab {
  display: grid;
}

[data-restaurant-theme="signature"] .sig-promo__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

[data-restaurant-theme="signature"] .sig-promo__copy strong {
  font-size: 14px;
  line-height: 1.3;
}

[data-restaurant-theme="signature"] .sig-promo__copy span {
  font-size: 12px;
  line-height: 1.35;
  color: var(--sig-text-muted, #5a7180);
}

[data-restaurant-theme="signature"] .sig-promo__x {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sig-text-muted, #5a7180);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .sig-promo__head .sig-promo__x {
  position: static;
  top: auto;
  right: auto;
  margin-left: auto;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

[data-restaurant-theme="signature"] .sig-promo__fab.is-applied {
  background: linear-gradient(145deg, #3cb464, #2f9e44);
  color: #fff;
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.28) inset,
    0 12px 28px rgba(47, 158, 68, 0.35);
}

[data-restaurant-theme="signature"] .sig-promo__badge {
  position: absolute;
  top: -2px;
  right: -2px;
  z-index: 2;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #2f9e44;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(13, 39, 80, 0.28);
  pointer-events: none;
}

[data-restaurant-theme="signature"] .sig-promo__badge::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 46%;
  width: 4px;
  height: 7px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -55%) rotate(45deg);
}

[data-restaurant-theme="signature"] .sig-promo__fab.is-applied .sig-promo__badge {
  background: #2f9e44;
}

[data-restaurant-theme="signature"] .sig-promo__badge[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-promo__panel[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-promo.is-panel .sig-promo__panel {
  display: block;
  position: absolute;
  inset: 0;
  width: auto;
  max-width: none;
  margin: 0;
}

[data-restaurant-theme="signature"] .sig-promo.is-panel .sig-promo__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(5, 40, 63, 0.48);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

[data-restaurant-theme="signature"] .sig-promo__sheet {
  position: absolute;
  z-index: 1;
  box-sizing: border-box;
  padding: 16px 20px 20px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(5, 40, 63, 0.22);
  color: var(--sig-navy-800, #05283f);
}

/* Mobile / tablet — bottom sheet like cafe */
@media (max-width: 991px) {
  [data-restaurant-theme="signature"] .sig-promo__sheet {
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-height: min(480px, 92vh);
    border-radius: 16px 16px 0 0;
    padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  }
}

/* Desktop — compact card near FAB like cafe */
@media (min-width: 992px) {
  [data-restaurant-theme="signature"] .sig-promo__sheet {
    left: auto;
    right: 16px;
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    width: min(380px, calc(100% - 32px));
    border-radius: 16px;
  }
}

[data-restaurant-theme="signature"] .sig-promo__head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 28px;
  margin-bottom: 8px;
  font-size: 16px;
}

[data-restaurant-theme="signature"] .sig-promo__body {
  display: flex;
  flex-direction: column;
  gap: 0;
}

[data-restaurant-theme="signature"] .sig-promo__intro {
  margin: 0 0 12px;
  color: var(--sig-text-muted, #5a7180);
  font-size: 13px;
  line-height: 1.4;
}

[data-restaurant-theme="signature"] .sig-promo__intro[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-promo__input {
  width: 100%;
  height: 44px;
  margin: 0 0 8px;
  padding: 0 12px;
  border: 1px solid rgba(5, 40, 63, 0.14);
  border-radius: 12px;
  background: #fff;
  color: var(--sig-navy-800, #05283f);
  font: inherit;
  font-size: 15px;
  text-transform: uppercase;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

[data-restaurant-theme="signature"] .sig-promo__input:focus,
[data-restaurant-theme="signature"] .sig-promo__input:focus-visible {
  outline: none;
  border-color: var(--sig-sand-500, #c4a574);
  box-shadow: 0 0 0 3px rgba(196, 165, 116, 0.32);
}

/* Kill Safari blue / Chrome autofill yellow so mobile = desktop */
[data-restaurant-theme="signature"] .sig-promo__input:-webkit-autofill,
[data-restaurant-theme="signature"] .sig-promo__input:-webkit-autofill:hover,
[data-restaurant-theme="signature"] .sig-promo__input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--sig-navy-800, #05283f);
  caret-color: var(--sig-navy-800, #05283f);
  border-color: var(--sig-sand-500, #c4a574);
  box-shadow: 0 0 0 1000px #fff inset, 0 0 0 3px rgba(196, 165, 116, 0.32);
  transition: background-color 99999s ease-out;
}

[data-restaurant-theme="signature"] .sig-promo__input[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-promo__input.is-error {
  border-color: #b45309;
}

[data-restaurant-theme="signature"] .sig-promo__msg {
  margin: 0 0 8px;
  color: #b45309;
  font-size: 13px;
}

[data-restaurant-theme="signature"] .sig-promo__status {
  margin: 0;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .sig-promo__status.is-success {
  background: rgba(34, 120, 72, 0.12);
  color: #1f6b42;
}

[data-restaurant-theme="signature"] .sig-promo__status-code {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

[data-restaurant-theme="signature"] .sig-promo__status[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-promo__hint {
  margin: 12px 0 0;
  color: var(--sig-text-muted, #5a7180);
  font-size: 12px;
  line-height: 1.45;
}

[data-restaurant-theme="signature"] .sig-promo__hint[hidden] {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-promo__apply,
[data-restaurant-theme="signature"] .sig-promo__clear {
  width: 100%;
  min-height: 44px;
  margin-top: 8px;
  border: 0;
  border-radius: 12px;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

[data-restaurant-theme="signature"] .sig-promo__apply {
  background: var(--sig-navy-800, #05283f);
  color: #fff;
}

[data-restaurant-theme="signature"] .sig-promo__clear {
  margin-top: 16px;
  border: 1px solid rgba(5, 40, 63, 0.18);
  background: #fff;
  color: var(--sig-navy-800, #05283f);
}

[data-restaurant-theme="signature"] .sig-promo__body.is-applied .sig-promo__apply {
  display: none !important;
}

[data-restaurant-theme="signature"] .sig-promo__apply[hidden],
[data-restaurant-theme="signature"] .sig-promo__clear[hidden] {
  display: none !important;
}

/* —— Mobile bottom nav (cafe pattern, signature look) —— */
.sig-mobile-nav {
  display: none;
}

[data-restaurant-theme="signature"] {
  --sig-mobile-nav-h: 0px;
}

@media (max-width: 767px) {
  [data-restaurant-theme="signature"] {
    --sig-mobile-nav-h: calc(60px + env(safe-area-inset-bottom, 0px));
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav {
    display: block;
    position: absolute;
    z-index: 1100;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--sig-mobile-nav-h);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0 -4px 28px rgba(5, 40, 63, 0.12), 0 -1px 0 rgba(5, 40, 63, 0.06);
    pointer-events: auto;
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 300px;
    height: 60px;
    margin: 0 auto;
    padding: 0 4px;
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 56px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--sig-navy-800, #05283f);
    font: inherit;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__btn.is-active {
    color: var(--sig-sand-500, #b8894a);
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__btn .sig-mobile-nav__ico--close[hidden],
  [data-restaurant-theme="signature"] .sig-mobile-nav__btn .sig-mobile-nav__ico--menu[hidden] {
    display: none !important;
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__cart {
    position: absolute;
    left: 50%;
    top: -16px;
    transform: translateX(-50%);
    text-align: center;
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__cart-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--sig-navy-800, #05283f), var(--sig-navy-900, #03182a));
    color: #fff;
    box-shadow: 0 0 0 5px #fff, 0 8px 20px rgba(5, 40, 63, 0.28);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__cart-btn.is-full {
    background: linear-gradient(135deg, var(--sig-sand-500, #b8894a), var(--sig-sand-300, #d4b483));
    color: var(--sig-navy-950, #02111c);
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__cart-btn.is-full svg {
    transform: translateY(8px);
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__cart-btn .cart-badge {
    top: 6px;
    right: 0;
    left: 0;
    width: 100%;
    min-width: 0;
    height: 16px;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-size: 13px;
    font-weight: 800;
    color: var(--sig-navy-950, #02111c);
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__cart-btn.is-full .cart-badge {
    background: transparent;
    color: var(--sig-navy-950, #02111c);
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__cart-info {
    font-size: 10px;
    font-weight: 500;
    line-height: 12px;
    color: var(--sig-navy-800, #05283f);
    white-space: nowrap;
  }

  [data-restaurant-theme="signature"] .sig-mobile-nav__cart-btn.is-full ~ .sig-mobile-nav__cart-info {
    font-weight: 700;
  }

  /* Clear content above the bar */
  [data-restaurant-theme="signature"] .view-home,
  [data-restaurant-theme="signature"] .view-catalog,
  [data-restaurant-theme="signature"] .view-events,
  [data-restaurant-theme="signature"] .view-event,
  [data-restaurant-theme="signature"] .subpage,
  [data-restaurant-theme="signature"] .subpage.is-open {
    padding-bottom: var(--sig-mobile-nav-h);
  }

  [data-restaurant-theme="signature"] .home-scroll-hint {
    margin-bottom: calc(var(--sig-mobile-nav-h) + 12px);
  }

  [data-restaurant-theme="signature"] .fs-menu__body {
    bottom: calc(var(--sig-mobile-nav-h) + 8px) !important;
  }

  [data-restaurant-theme="signature"] .fixed-pager {
    bottom: calc(var(--sig-mobile-nav-h) + 12px);
  }

  /* Sheets and dialogs cover the bar — hide it while they are open */
  [data-restaurant-theme="signature"] .app:is(
    :has(.sig-promo.is-panel),
    :has(.dish-modal.is-open),
    :has(.booking-sheet.is-open),
    :has(.photo-lightbox.is-open),
    :has([data-var-dropdown].is-open),
    :has(.catalog-filters-panel:not([hidden]))
  ) .sig-mobile-nav {
    display: none;
  }
}

