/*
 * Page Sticky Menu Module
 * ========================================================================
 * Enhanced smooth scrolling and transitions for better UX
 */

/* Smooth scrolling with optimized performance */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 200px;
  -webkit-overflow-scrolling: touch;
}

/* Disable smooth scrolling when user prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.sticky-menu-section {
  padding: 2.5rem 0;
  background-color: var(--bs-primary-900);
  color: var(--bs-white);
  position: sticky;
  top: 0;
  z-index: 9999;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-font-smoothing: subpixel-antialiased;

  transition:
    transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1),
    box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);

  @media (max-width: 61.99875rem) {
    position: relative;
    /* top: auto; */
    /* left: 0; */
    /* margin-top: -100%; */
    width: 100%;
    transform: none !important;
    padding: 1.25rem;
    background: transparent;
    z-index: 10;
    height: fit-content;
  }

  &.scrolled {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
  }
}

.sticky-menu-title {
  font-size: 1rem;
  line-height: 1.25rem;
  text-transform: uppercase;
  font-weight: 400;
  flex: 0 0 auto;
  width: fit-content;

  @media (max-width: 61.99875rem) {
    width: 100%;
    margin-bottom: 0rem;
  }
}

.sticky-menu {
  display: flex;
  align-items: center;
  gap: 1.125rem;

  @media (max-width: 61.99875rem) {
    /* left: 0; */
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    position: absolute;
    /* width: 100%; */
    top: var(--sticky-menu-top, -17.75rem);
    left: 2rem;
    right: 2rem;
  }
  @media (max-width: 61.99875rem) {
    /* left: 0; */
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    position: absolute;
    /* width: 100%; */
    top: var(--sticky-menu-top, -17.75rem);
    left: 2rem;
    right: 2rem;
  }
  @media (max-width: 36rem) {
    left: 1rem;
    right: 1rem;
  }
}

.sticky-menu-links-container {
  display: flex;
  gap: 1.125rem;
  flex-wrap: wrap;

  @media (max-width: 61.99875rem) {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 1rem;
  }
}

.sticky-menu-link {
  padding: 0.5rem 2.5rem;
  text-transform: none;
  border-radius: 2.5rem;
  border: 0.125rem solid var(--bs-white);
  background-color: rgba(var(--bs-white-rgb), 0.11);
  color: var(--bs-white);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  transition: var(--bs-transition);

  @media (max-width: 61.99875rem) {
    width: 100%;
    padding: 0.5rem 2.5rem;
    font-size: 1rem;
    height: 2.5rem;
    background-color: rgba(var(--bs-white-rgb), 0.1);
    border: 0.125rem solid var(--bs-white);
  }

  &:hover,
  &:focus,
  &:active {
    background-color: var(--bs-white);
    color: var(--bs-primary-900);
    border-color: var(--bs-white);
  }
}
