@media (min-width: 768px) and (max-width: 1199.98px) {
  .header-bottom,
  #index .header-bottom {
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
  }
}

@media (max-width: 1199.98px) {
  .ps-mainmenu--mobile.offcanvas {
    position: fixed;
    top: 0;
    bottom: 0;
    height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
  }

  .ps-mainmenu--mobile .submenu__category-products-viewport.wg-menu-carousel__viewport {
    display: none !important;
  }

  .ps-mainmenu--mobile .ps-mainmenu__mobile {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
  }
}
/* Draw separators only between navigation entries, excluding gift tiles and banners. */
.menu__list > li:has(> .menu__link) {
    position: relative;
}
.menu__list > li:has(> .menu__link):has(~ li > .menu__link)::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.3) 42%, rgba(255, 255, 255, 0) 100%);
}
/* Direct gift finder links in the mobile navigation. */
.ps-mainmenu--mobile .menu__gift-finder { display: block; padding: 2rem 0 0 0; }
.menu__gift-title { margin: 0 0 .75rem; font-size: 1rem; font-weight: 600; line-height: 1.4; }
.menu__gift-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; width: 100%; }
.menu__gift-tile { position: relative; display: flex; min-width: 0; min-height: 9rem; overflow: hidden; border-radius: .2rem; background: #dbe0d5; color: #1b1b19; text-decoration: none; }
.menu__gift-tile:nth-child(4n+2) { background: #e4d8ce; }
.menu__gift-tile:nth-child(4n+3) { background: #d9dee5; }
.menu__gift-tile:nth-child(4n+4) { background: #e5dfcf; }
.menu__gift-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.menu__gift-tile--visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12, 12, 10, .05) 20%, rgba(12, 12, 10, .65) 100%); content: ''; }
.menu__gift-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    color: white;
    text-shadow: 1px 1px 5px black;
    padding: .75rem;
}.menu__gift-icon { width: 2rem; height: 2rem; margin-bottom: .5rem; object-fit: contain; }
.menu__gift-label { margin-top: auto; font-size: 2.5rem; font-weight: 300; line-height: 1; letter-spacing: -.05em; overflow-wrap: anywhere; }
.menu__gift-feature { margin-top: .4rem; font-size: .65rem; font-weight: 700; line-height: 1.2; text-transform: uppercase; overflow-wrap: anywhere; }
.menu__gift-tile--visual { color: #fff; }
.menu__gift-tile:hover { color: #1b1b19; }
.menu__gift-tile--visual:hover { color: #fff; }
.menu__gift-tile:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

.ps-mainmenu--mobile .offcanvas-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; padding: .75rem; }
.ps-mainmenu--mobile .ps-mainmenu__back-button { grid-column: 1 / -1; }
.ps-mainmenu--mobile .ps-mainmenu__back-button:has(.js-back-button.d-none) { display: none; }
.menu__search { display: flex; align-items: center; min-width: 0; margin: 0; border: 1px solid #dedede; border-radius: .25rem; background: #fff; }
.menu__search:focus-within { border-color: var(--webglobe-ink, #1b1b1b); }
.menu__search-input { width: 100%; min-width: 0; padding: .65rem .75rem; border: 0; border-radius: inherit; background: transparent; color: inherit; font: inherit; font-size: 1rem; }
.menu__search-submit { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 2.75rem; min-height: 2.75rem; padding: .5rem; border: 0; background: transparent; color: inherit; }

/* Optional appearance configured per main mobile menu entry. */
.ps-mainmenu--mobile .menu__link--accent {
  border-left: 4px solid var(--menu-link-border);
  padding-left: .75rem;
}
.ps-mainmenu--mobile .menu__link--with-icon {
  display: flex;
  align-items: center;
  gap: .65rem;
}
a.menu__link.menu__link--accent.menu__link--with-icon {
    left: -16px;
    position: relative;
}
.menu__link-icon {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  object-fit: contain;
}
