/* Shared Products mega menu: direct product access with persistent previews. */
.nav-product-item {
  --product-nav-height: 72px;
  position: relative;
  height: var(--product-nav-height) !important;
  display: flex;
  align-items: center;
}

.product-menu-trigger {
  height: 100%;
  display: inline-flex;
  align-items: center;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  cursor: pointer;
  opacity: .86;
  transition: color .25s ease, opacity .25s ease, transform .25s ease;
}

.product-menu-trigger:hover,
.product-menu-trigger:focus-visible,
.nav-product-item.is-open .product-menu-trigger {
  opacity: 1;
  transform: translateY(-1px);
  outline: none;
}

.nav-product-preview {
  position: fixed !important;
  inset: 0 0 auto !important;
  top: 0 !important;
  width: 100% !important;
  height: 692px !important;
  min-height: 0 !important;
  padding: var(--product-nav-height) 0 0 !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #25211c !important;
  box-shadow: 0 24px 55px rgba(37,33,28,.18) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-12px) !important;
  transition: opacity .3s ease, transform .42s cubic-bezier(.22,1,.36,1), visibility .3s ease !important;
  z-index: -1 !important;
}

.nav-product-item.is-open .nav-product-preview {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.nav-product-preview .preview-inner {
  width: min(900px, calc(100% - 80px)) !important;
  height: 455px !important;
  margin: 0 auto !important;
  padding: 32px 0 24px !important;
  display: grid !important;
  grid-template-columns: 390px 430px !important;
  gap: 80px !important;
}

.nav-product-preview .preview-title {
  max-width: 390px !important;
  margin: 0 0 30px !important;
  color: #25211c !important;
  font-family: "SuisseIntl-Regular-WebS", "Suisse Display", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 44px !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.05em !important;
}

.nav-product-preview .preview-title span { color: inherit !important; }
.nav-product-preview .preview-links { display: flex !important; flex-direction: column !important; gap: 22px !important; }

.nav-product-preview .preview-product {
  position: relative !important;
  width: 100% !important;
  padding: 0 28px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #666460 !important;
  text-decoration: none !important;
  transform: none !important;
  transition: color .22s ease, transform .25s ease !important;
}

.nav-product-preview .preview-product::before { content: none !important; }
.nav-product-preview .preview-product::after {
  content: "↗" !important;
  position: absolute !important;
  top: 1px !important;
  right: 2px !important;
  color: #f2a93b !important;
  font-size: 16px !important;
  opacity: 0 !important;
  transform: translateX(-5px) !important;
  transition: opacity .22s ease, transform .22s ease !important;
}

.nav-product-preview .preview-product:hover,
.nav-product-preview .preview-product:focus-visible,
.nav-product-preview .preview-product.is-active {
  color: #25211c !important;
  transform: translateX(3px) !important;
  outline: none;
}

.nav-product-preview .preview-product:hover::after,
.nav-product-preview .preview-product:focus-visible::after,
.nav-product-preview .preview-product.is-active::after {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.nav-product-preview .preview-product strong {
  display: block !important;
  margin: 0 0 5px !important;
  color: #25211c !important;
  font-family: "SuisseIntl-Regular-WebS", "Suisse Display", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

.nav-product-preview .preview-product span {
  display: block !important;
  max-width: 325px !important;
  color: #92908d !important;
  font-family: "Suisse Int'l Book", "Suisse Book", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 12.5px !important;
  line-height: 1.44 !important;
}

.nav-product-preview .preview-media { position: relative !important; min-height: 330px !important; }
.nav-product-preview .preview-visual {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  min-height: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(9px) !important;
  transition: opacity .25s ease, transform .34s cubic-bezier(.22,1,.36,1), visibility .25s ease !important;
}

.nav-product-item[data-product-active="web"] .preview-visual-web,
.nav-product-item[data-product-active="mobile"] .preview-visual-mobile {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

.nav-product-preview .preview-visual img,
.nav-product-preview .preview-visual video {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #eef0f2 !important;
  filter: saturate(.86) contrast(.96) !important;
  transform: none !important;
}

.nav-product-preview .preview-caption,
.nav-product-preview .preview-story-title,
.nav-product-preview .preview-story-link {
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  display: block !important;
  text-shadow: none !important;
}

.nav-product-preview .preview-caption { margin-top: 17px !important; color: #77736e !important; font-size: 13px !important; }
.nav-product-preview .preview-story-title { margin-top: 7px !important; color: #25211c !important; font-family: "SuisseIntl-Regular-WebS", "Suisse Display", sans-serif !important; font-size: 19px !important; line-height: 1.25 !important; }
.nav-product-preview .preview-story-link { margin-top: 13px !important; color: #77736e !important; font-size: 14px !important; }

.nav-product-preview .preview-footer {
  width: min(1220px, calc(100% - 80px)) !important;
  height: 165px !important;
  margin: 0 auto !important;
  padding: 31px 0 22px !important;
  border: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 22px !important;
  color: #92908d !important;
  font-size: 12px !important;
  overflow: hidden !important;
}

.nav-product-preview .preview-marquee {
  width: 100% !important;
  overflow: hidden !important;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.nav-product-preview .preview-logos {
  width: max-content !important;
  display: flex !important;
  align-items: center !important;
  gap: 46px !important;
  color: #25211c !important;
  font-family: "SuisseIntl-Regular-WebS", "Suisse Display", sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: .055em !important;
  white-space: nowrap !important;
  animation: saroviqProductModules 24s linear infinite !important;
}

.nav-product-preview .preview-logos span::before { content: "•" !important; margin-right: 14px !important; color: #f2a93b !important; }
.nav-product-preview .preview-marquee:hover .preview-logos { animation-play-state: paused !important; }
@keyframes saroviqProductModules { to { transform: translateX(-50%); } }

.nav.product-menu-open,
.site-nav.product-menu-open {
  background: #fff !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.nav.product-menu-open .logo,
.nav.product-menu-open .logo-wordmark,
.nav.product-menu-open .navlinks,
.nav.product-menu-open .navlinks > a,
.nav.product-menu-open .product-menu-trigger,
.nav.product-menu-open .sign-in,
.nav.product-menu-open .login,
.site-nav.product-menu-open .nav-logo,
.site-nav.product-menu-open .nav-links > li > a,
.site-nav.product-menu-open .product-menu-trigger,
.site-nav.product-menu-open .nav-actions .btn-ghost { color: #25211c !important; }

.nav.product-menu-open .pill-white,
.nav.product-menu-open .button-light,
.site-nav.product-menu-open .nav-actions .btn-dark { background: #25211c !important; border-color: #25211c !important; color: #fff !important; }

.preview-see-all { display: none !important; }

@media (max-width: 900px) {
  .nav-product-preview { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .nav-product-preview,
  .preview-visual,
  .preview-logos { transition: none !important; animation: none !important; }
}
