.storefront-main-menu > li, .storefront-footer-menu > li { list-style: none; }
.storefront-main-menu .menu-link, .storefront-footer-menu .menu-link { text-decoration: none; }
.menu-toggle { border: 0; background: transparent; color: inherit; cursor: pointer; min-height: 2.25rem; min-width: 2.25rem; }
.menu-toggle:focus-visible, .menu-link:focus-visible { outline: 3px solid var(--primary-color, #6750a4); outline-offset: 3px; }
.storefront-main-menu .menu-panel { position: absolute; z-index: 60; top: calc(100% + 12px); left: 0; min-width: 13rem; padding: .65rem; background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; box-shadow: 0 18px 45px rgba(15,23,42,.14); }
.storefront-main-menu .menu-panel:not([hidden]) { display: grid; gap: .15rem; }
.storefront-main-menu .menu-panel-mega { min-width: min(34rem, calc(100vw - 2rem)); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.storefront-main-menu .menu-panel .menu-link { display: block; padding: .6rem .75rem; color: #475569; font-size: .875rem; border-radius: .65rem; }
.storefront-main-menu .menu-panel .menu-link:hover, .storefront-main-menu .menu-panel .menu-link:focus-visible { background: #f8fafc; color: #0f172a; }
.storefront-main-menu .menu-panel .menu-panel { left: calc(100% + .5rem); top: 0; }
.storefront-mobile-menu .menu-link { display: block; padding: .7rem 1rem; color: inherit; text-decoration: none; }
.storefront-mobile-menu .menu-panel, .storefront-footer-menu .menu-panel { position: static; padding-left: 1rem; }
.menu-panel[hidden] { display: none !important; }
@media (max-width: 767px) { .storefront-main-menu .menu-panel-mega { grid-template-columns: 1fr; min-width: 0; } }
@media (prefers-reduced-motion: reduce) { .storefront-main-menu *, .storefront-mobile-menu * { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

.bs-predictive-search { position: relative; }
.bs-predictive-results {
  position: absolute;
  z-index: 80;
  top: calc(100% + .5rem);
  right: 0;
  width: min(28rem, calc(100vw - 2rem));
  max-height: min(32rem, 70vh);
  overflow: auto;
  padding: .45rem;
  color: #0f172a;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: .85rem;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .16);
}
.bs-predictive-results[hidden] { display: none !important; }
.bs-predictive-option {
  display: grid;
  grid-template-columns: 3rem 1fr;
  align-items: center;
  gap: .75rem;
  min-height: 3.5rem;
  padding: .55rem;
  color: inherit;
  text-decoration: none;
  border-radius: .65rem;
}
.bs-predictive-option:not(:has(img)) { grid-template-columns: 1fr; }
.bs-predictive-option:hover,
.bs-predictive-option:focus-visible,
.bs-predictive-option[aria-selected="true"] {
  color: #0f172a;
  background: #f1f5f9;
  outline: none;
}
.bs-predictive-option img {
  width: 3rem;
  height: 3rem;
  object-fit: cover;
  border-radius: .5rem;
}
.bs-predictive-option span { display: grid; gap: .15rem; }
.bs-predictive-option small { color: #64748b; }
.bs-predictive-all {
  display: block;
  min-height: 0;
  padding: .75rem;
  font-weight: 700;
  border-top: 1px solid #e2e8f0;
  border-radius: 0 0 .65rem .65rem;
}
