/* Header Wrapper for Menu Overlay Positioning */
.header-wrapper {
  position: relative;
  z-index: 1000;
}

.styled-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  height: var(--size-24);
  width: 100vw;
  z-index: 1000;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s, height 0.3s;
  will-change: transform;
  background-color: var(--color-primary);
  position: relative;
}

.header--hidden {
  transform: translateY(-100%);
  pointer-events: none;
}

.styled-header:not(.header--hidden) {
  transform: translateY(0);
}

.styled-header.scrolled {
  border-bottom: 3px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 6px 12px rgba(255, 255, 255, 0.7);
}

.header-logo-image {
  height: var(--size-20);
  width: auto;
}

.center-navigation{
    color: var(--color-bg-secondary);
}
  
.header-social-link-container {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-right: 1rem;
}

.header-social-link {
  padding: 0.5rem;
}

.header-social-link svg {
  color: var(--color-text-reversed);
  transition: all 0.2s ease-in-out;
}

.header-social-link:hover svg {
  color: var(--color-primary-light);
  transform: scale(1.4) translateY(-2px);
}

.ham-menu svg{
    color: var(--color-bg);
    width: var(--size-12);
    height: var(--size-12);
    transition: all 0.2s ease;
}

.ham-menu:hover svg {
    transform: scale(1.1);
    opacity: 0.8;
}
  
/* Mobile Menu Overlay Styles */
.mobile-menu-overlay {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--color-bg);
  padding: var(--section-spacing-sm);
  z-index: 1001;
  box-shadow: var(--shadow-xl);
  border-top: 1px solid var(--color-border);
}

.mobile-menu-overlay-nav {
  display: flex;
  flex-direction: column;
  gap: var(--size-4);
}

.mobile-menu-overlay-nav a {
  padding: var(--size-3) var(--size-4);
  border-radius: var(--rounded-md);
  transition: all 0.2s ease;
  color: var(--color-text);
  text-decoration: none;
}

.mobile-menu-overlay-nav a:hover {
  background-color: var(--color-primary-light);
  color: var(--color-primary);
  transform: translateX(var(--size-2));
}

@media (min-width: 390px){
    .styled-header{
      height: var( --size-32);
    }
    .header-logo-image {
      height: var( --size-28);
      width: auto;
    }

    .ham-menu svg{
      width: var(--size-16);
      height: var(--size-16);
    }
}

/* Medium Screens (≥768px) */
@media (min-width: 768px) {
    .center-navigation a, .mobile-menu-overlay-nav a{
      font-size: 1.4rem;
    }

    .mobile-menu-overlay-nav a {
      font-size: 1.4rem;
      padding: var(--size-4) var(--size-6);
    }
}

/* Large Screens (≥1024px) */
@media (min-width: 1024px) {
    .menu-icon {
      margin: 0 2rem 0 30rem;
    }
    .styled-header {
      position: relative;
      height: 130px;
    }

    .center-box {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
    }

    .ham-menu svg {
      width: 45px;
      height: 45px;
    }

    .header-social-link {
      margin-left: 0.75rem;
    }
}

/* 
*********************************************
 * Components: Header Dropdown
 * Styles for the main navigation dropdown menus.
 *********************************************
*/ 
.header-dropdown {
  position: relative;
}

/* This is the container for the button and the icon */
.header-dropdown-trigger {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: opacity 0.2s ease;
}

.header-dropdown-trigger:hover {
  opacity: 0.8;
}

.header-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
  margin-top: 1rem;
  min-width: 240px;
  background-color: var(--color-bg);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--rounded-lg);
  box-shadow: var(--shadow-xl);
  padding: 0.5rem;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(10px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

@media (hover: hover) {
  .header-dropdown:hover .header-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }
}

.header-dropdown-menu:not(.hidden) {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.header-dropdown-menu a {
  display: block;
  white-space: nowrap;
  padding: 0.75rem 1rem;
  border-radius: var(--rounded-md);
  transition: background-color 0.1s ease;
}

.header-dropdown-menu a:hover {
  background-color: var(--color-primary-light);
  color: var(--color-primary);
} 
