/* Compact catalog chrome. Keep the product grid's existing gutters and sizes. */
.page { --dunkin-header-item-width: 235px; }
.page :is(.page__menu, .core-scenarios-home-page) { scrollbar-gutter: stable; }
.page .page__header {
 position: relative;
 z-index: 20;
 background: #fff;
}
.page .page__header::after {
 /* The kiosk iframe is scaled. Overlap the scroll viewport to cover the
  * fractional-pixel seam between separately composited sticky surfaces. */
 content: '';
 position: absolute;
 inset: auto 0 -3px;
 height: 4px;
 background: #fff;
 pointer-events: none;
}
.page .page__header .app-header {
 height: 80px !important;
 /* Menu gutter 14 + grid inset 14; right gutter 42 + native scrollbar 10. */
 margin: 8px 52px 0 28px !important;
 padding-inline: 0 !important;
 border: 0 !important;
 box-shadow: none !important;
 background: transparent !important;
}
.page:has(.core-scenarios-home-page) .page__header .app-header { margin-inline: 40px 50px !important; }
.page .app-header__logo { padding-inline: 0 !important; }
.page .app-header__logo-img {
 width: var(--dunkin-header-item-width) !important;
 max-height: 60px !important;
 /* Original SVG: D starts at x=45.57 in an 841.89-wide viewBox.
  * Align the visible letter, not the transparent image box, to the cards. */
 transform: translateX(-5.41282234%);
}
.page .app-header__lang-select {
 box-sizing: border-box;
 background: transparent !important;
 width: var(--dunkin-header-item-width) !important;
 min-width: var(--dunkin-header-item-width);
 flex: 0 0 var(--dunkin-header-item-width) !important;
}
.page .core-menu-group__header {
 /* Keep the gap below the filters inside the opaque sticky header. */
 padding: 28px 0 12px 14px !important;
 background: #fff !important;
}
.page .core-menu-group__header::before {
 /* Cover card shadows that extend past either side of the grid. */
 content: '';
 position: absolute;
 inset: 0 -8px;
 z-index: -1;
 background: inherit;
 pointer-events: none;
}
.page .core-menu-group__title {
 font-size: 46px !important;
 line-height: 1.1 !important;
 margin: 0 0 12px !important;
}
.page .core-menu-group__tags .tags {
 padding: 0 !important;
 gap: 10px 12px !important;
}
.page .core-menu-group__tags .tags__item {
 min-height: 42px;
 height: auto !important;
 padding: 5px 20px !important;
 font-size: 24px !important;
 font-weight: 650 !important;
 line-height: 1.2 !important;
}
.page .core-menu-grid { padding-top: 6px !important; }
@media (max-width: 780px) {
 .page { --dunkin-header-item-width: 170px; }
 .page .page__header .app-header { height: 74px !important; }
 .page .core-menu-group__header { padding-top: 22px !important; }
 .page .core-menu-group__title { font-size: 36px !important; margin-block: 0 10px !important; }
 .page .core-menu-group__tags .tags { gap: 8px !important; }
 .page .core-menu-group__tags .tags__item { padding-inline: 14px !important; font-size: 22px !important; }
 .page .core-menu-grid { padding-top: 2px !important; }
}
