/* Extend the original storefront's existing controls and brand tokens. */
:root { --storefront-header-height: 164px; }
html { scroll-padding-top: calc(var(--storefront-header-height) + 16px); }
#menu, #order, #productBuilderTabs, #boxBuilder, #buffalo-map {
  scroll-margin-top: calc(var(--storefront-header-height) + 16px);
}
#announcementBar.quick-bar { position: fixed; inset: 0 0 auto; z-index: 1001; height: 88px; padding: 0; }
#glaze-discovery-frame { height: 88px; }
.nav { top: 88px; }
.hero { padding-top: calc(var(--storefront-header-height) + 32px); }
.savory-launch {
  margin: 24px auto; padding: 24px; max-width: 680px;
  border: 1px solid var(--linen); border-radius: var(--radius);
  background: var(--cream); box-shadow: var(--shadow-sm);
}
.savory-launch-label { font-size: .72rem; font-weight: 700; letter-spacing: .12em; color: var(--gold-text); }
.savory-launch h2 { font-family: 'Recoleta', Georgia, serif; font-size: clamp(1.55rem, 4vw, 2.15rem); color: var(--plum); margin: 12px 0; }
.savory-launch p { font-size: .92rem; line-height: 1.65; margin: 8px 0; }
.savory-launch .hero-cta-primary { margin-top: 14px; }
body #for-business, body #buffalo-map.core-invitation, body .sub-banner, body footer { background: var(--plum-deep); }
body #for-business { padding-block: calc(var(--world-gap, 1rem) * 3); }
#buffalo-map.core-invitation {
  color: var(--cream); text-align: center; padding-block: calc(var(--world-gap, 1rem) * 2.5);
  border-top: 1px solid color-mix(in srgb, var(--honey-gold) 25%, transparent);
}
.core-invitation .section-title { color: var(--cream); }
.core-invitation .section-subtitle { color: var(--linen); margin-bottom: 0; }
.core-invitation .hero-cta { margin-top: var(--world-gap, 1rem); font-family: inherit; font-weight: 700; }
body .sub-banner { padding-block: calc(var(--world-gap, 1rem) * 2.5); border-top: 1px solid color-mix(in srgb, var(--honey-gold) 25%, transparent); }
.sub-banner::after { content: none; }
.sub-banner .sub-cta { text-decoration: none; }
body footer { padding-top: calc(var(--world-gap, 1rem) * 2.5); }
#productBuilderRail {
  overflow-y: hidden; border-radius: var(--radius); max-width: 100%;
}
#productBuilderRail > .builder-world { box-sizing: border-box; width: 100%; }
.cinnamon-product-photo { display: none; }
#matchaOrderPanel { padding: 24px !important; background: var(--cream); border: 1px solid var(--linen); border-radius: var(--radius); }
.date-card[data-resource-unavailable=true] { display: none !important; }
.om-card:focus-visible { outline: 2px solid var(--plum); outline-offset: 3px; }
@media (max-width: 768px) {
  :root { --storefront-header-height: 148px; }
  .hero { padding: calc(var(--storefront-header-height) + 24px) 20px 40px; }
  .savory-launch { padding: 18px; text-align: left; }
  .savory-launch .hero-cta-primary { display: flex; justify-content: center; width: 100%; }
  #matchaOrderPanel { padding: 16px !important; }
  .order-guide-inner { gap: 2px; }
  .guide-step { min-width: 0; gap: 4px; padding-inline: 4px; }
  .guide-label { font-size: 10px; white-space: normal; }
  .guide-connector { min-width: 6px; }
}

@media (max-width: 640px) {
  #glazeAssistant { top: calc(var(--storefront-nav-top, 0px) + (var(--storefront-header-height) - 40px) / 2) !important; right: 70px !important; bottom: auto !important; }
  #glazeAssistBubble { width: 40px !important; height: 40px !important; }
  #glazeAssistBubble img { width: 38px !important; height: 38px !important; }
}

@media (max-width: 768px) {
  :root { --storefront-header-height: var(--world-nav-height, 4.5rem); }
  html, body { overflow-x: clip; }
  html #announcementBar.quick-bar { position: relative; inset: auto; }
  #mainNav.nav { position: sticky; top: 0 !important; }
  .hero { padding-top: var(--world-gap, 1rem); }
}
