/* NEGO managed overrides */

/* Splash failsafe: never leave the storefront blocked if JavaScript is delayed or fails. */
#negoSplash {
  animation: negoSplashFailsafeOut .35s ease .85s forwards !important;
}
#negoSplash.is-hiding {
  animation: none !important;
}
@keyframes negoSplashFailsafeOut {
  to {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

/* Floating actions: aligned, separated and visually balanced on desktop */
@media (min-width: 761px) {
  .floatingWhatsApp {
    right: 20px !important;
    bottom: 24px !important;
    width: 52px !important;
    height: 52px !important;
    z-index: 9901 !important;
    box-shadow: 0 12px 30px rgba(16,42,25,.24) !important;
  }

  .negoCartFab {
    right: 88px !important;
    bottom: 24px !important;
    min-height: 52px;
    padding: 0 16px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 12px 30px rgba(18,18,22,.20) !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
  }

  .negoCartFab:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(18,18,22,.24) !important;
  }

  /* Bring products slightly closer to the first viewport without redesigning the hero. */
  .heroCarousel { min-height: 525px !important; }
  .hero { padding-top: 36px !important; padding-bottom: 22px !important; }
}

/* Product variant interaction */
.negoColorSelected {
  outline: 2px solid var(--violet, #7657ff) !important;
  outline-offset: 2px;
  opacity: 1 !important;
}

/* Improve readability of ultra-small auxiliary labels. */
.productKicker,
.carouselKicker,
.freeTag,
.pickTag,
.eyebrow {
  font-size: max(10px, .625rem) !important;
}

/* Checkout scrollbar: subtle, rounded and consistent with NEGO */
.nationalOrderPanel {
  scrollbar-width: thin;
  scrollbar-color: rgba(118,87,255,.52) transparent;
  scrollbar-gutter: stable;
}
.nationalOrderPanel::-webkit-scrollbar {
  width: 9px;
}
.nationalOrderPanel::-webkit-scrollbar-track {
  background: transparent;
  margin-block: 16px;
}
.nationalOrderPanel::-webkit-scrollbar-thumb {
  min-height: 56px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(118,87,255,.62), rgba(67,214,229,.60));
  background-clip: padding-box;
}
.nationalOrderPanel::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(118,87,255,.84), rgba(67,214,229,.80));
  background-clip: padding-box;
}
.nationalOrderPanel::-webkit-scrollbar-button {
  width: 0;
  height: 0;
  display: none;
}

@media (max-width: 620px) {
  .nationalOrderPanel::-webkit-scrollbar {
    width: 7px;
  }
  .nationalOrderPanel::-webkit-scrollbar-track {
    margin-block: 12px;
  }
}

/* Keyboard focus */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible {
  outline: 3px solid rgba(118,87,255,.45) !important;
  outline-offset: 3px !important;
}

/* Respect user motion preferences. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
