/* 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; }
.core-invitation { background: var(--cream); text-align: center; }
.core-invitation .hero-cta-primary { margin-top: 20px; }
#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(88px + (var(--storefront-header-height) - 88px - 40px) / 2) !important; right: 70px !important; bottom: auto !important; }
  #glazeAssistBubble { width: 40px !important; height: 40px !important; }
  #glazeAssistBubble img { width: 38px !important; height: 38px !important; }
}
