/* --- HEADER & NAVIGATION COMPONENT --- */
header {
  position: fixed;
  top: 38px;
  left: 0;
  width: 100%;
  z-index: 100;
  background: transparent;
  transition: var(--transition-smooth);
}

header.scrolled {
  top: 0;
  background-color: rgba(230, 222, 209, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
}

header.scrolled .nav-links a {
  color: var(--ruut-text);
}

header.scrolled .cart-icon {
  color: var(--ruut-text);
}

header.scrolled .cart-icon-img {
  filter: invert(28%) sepia(32%) saturate(848%) hue-rotate(338deg) brightness(95%) contrast(92%);
}

/* Header tabs & controls color override for pages with light top background (Product, Cart, Track, 404) */
#productPage header:not(.scrolled) .nav-links a,
#cartPage header:not(.scrolled) .nav-links a,
#error404Page header:not(.scrolled) .nav-links a,
.page-track header:not(.scrolled) .nav-links a,
.single-product header:not(.scrolled) .nav-links a,
.woocommerce-cart header:not(.scrolled) .nav-links a,
.woocommerce-checkout header:not(.scrolled) .nav-links a,
.woocommerce-account header:not(.scrolled) .nav-links a {
  color: var(--ruut-text);
}

#productPage header:not(.scrolled) .search-toggle-btn,
#cartPage header:not(.scrolled) .search-toggle-btn,
#error404Page header:not(.scrolled) .search-toggle-btn,
.page-track header:not(.scrolled) .search-toggle-btn,
.single-product header:not(.scrolled) .search-toggle-btn,
.woocommerce-cart header:not(.scrolled) .search-toggle-btn,
.woocommerce-checkout header:not(.scrolled) .search-toggle-btn,
.woocommerce-account header:not(.scrolled) .search-toggle-btn {
  color: var(--ruut-text);
}

#productPage header:not(.scrolled) .search-toggle-btn svg,
#cartPage header:not(.scrolled) .search-toggle-btn svg,
#error404Page header:not(.scrolled) .search-toggle-btn svg,
.page-track header:not(.scrolled) .search-toggle-btn svg,
.single-product header:not(.scrolled) .search-toggle-btn svg,
.woocommerce-cart header:not(.scrolled) .search-toggle-btn svg,
.woocommerce-checkout header:not(.scrolled) .search-toggle-btn svg,
.woocommerce-account header:not(.scrolled) .search-toggle-btn svg {
  stroke: var(--ruut-text);
}

#productPage header:not(.scrolled) .cart-icon,
#cartPage header:not(.scrolled) .cart-icon,
#error404Page header:not(.scrolled) .cart-icon,
.page-track header:not(.scrolled) .cart-icon,
.single-product header:not(.scrolled) .cart-icon,
.woocommerce-cart header:not(.scrolled) .cart-icon,
.woocommerce-checkout header:not(.scrolled) .cart-icon,
.woocommerce-account header:not(.scrolled) .cart-icon {
  color: var(--ruut-text);
}

#productPage header:not(.scrolled) .cart-icon svg,
#cartPage header:not(.scrolled) .cart-icon svg,
#error404Page header:not(.scrolled) .cart-icon svg,
.page-track header:not(.scrolled) .cart-icon svg,
.single-product header:not(.scrolled) .cart-icon svg,
.woocommerce-cart header:not(.scrolled) .cart-icon svg,
.woocommerce-checkout header:not(.scrolled) .cart-icon svg,
.woocommerce-account header:not(.scrolled) .cart-icon svg {
  fill: var(--ruut-text);
}

#productPage header:not(.scrolled) .cart-icon-img,
#cartPage header:not(.scrolled) .cart-icon-img,
#error404Page header:not(.scrolled) .cart-icon-img,
.page-track header:not(.scrolled) .cart-icon-img,
.single-product header:not(.scrolled) .cart-icon-img,
.woocommerce-cart header:not(.scrolled) .cart-icon-img,
.woocommerce-checkout header:not(.scrolled) .cart-icon-img,
.woocommerce-account header:not(.scrolled) .cart-icon-img {
  filter: invert(28%) sepia(32%) saturate(848%) hue-rotate(338deg) brightness(95%) contrast(92%);
}

#productPage header:not(.scrolled) .menu-toggle,
#cartPage header:not(.scrolled) .menu-toggle,
#error404Page header:not(.scrolled) .menu-toggle,
.page-track header:not(.scrolled) .menu-toggle,
.single-product header:not(.scrolled) .menu-toggle,
.woocommerce-cart header:not(.scrolled) .menu-toggle,
.woocommerce-checkout header:not(.scrolled) .menu-toggle,
.woocommerce-account header:not(.scrolled) .menu-toggle {
  color: var(--ruut-text);
}

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.8rem 2rem;
  max-width: var(--max-width);
  margin: 0 auto;
  width: 100%;
  position: relative;
  transition: padding 0.3s ease;
}

header.scrolled .nav-container {
  padding: 1.15rem 2rem;
}

.nav-links {
  display: flex;
  gap: 2.5rem;
  list-style: none;
  flex: 1 1 0;
  min-width: 0;
}

.nav-links.left {
  justify-content: flex-start;
}

.nav-links.right {
  justify-content: flex-end;
}

.nav-links a {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  font-family: var(--font-sans);
  white-space: nowrap;
  position: relative;
  transition: color 0.3s ease;
}

.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: var(--ruut-accent);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.nav-links a:hover {
  color: var(--ruut-accent);
}

.nav-links a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.logo-container {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  pointer-events: auto;
}

.logo-img {
  height: 60px;
  width: auto;
  object-fit: contain;
  transition: height 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), margin 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.3s ease;
}

header.scrolled .logo-img {
  height: 52px;
  margin: 0;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex: 1 1 0;
  min-width: 0;
  justify-content: flex-end;
}

.menu-toggle {
  display: none;
  color: white;
}

header.scrolled .menu-toggle {
  color: var(--ruut-text);
}

@media (max-width: 768px) {
  header:not(.scrolled) {
    top: 34px;
  }

  .menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: 1.5rem;
    color: white;
    z-index: 105;
    flex: 0 0 auto;
    width: 24px;
  }

  header.scrolled .nav-container {
    padding: 0.85rem 1rem;
  }

  header.scrolled .logo-img {
    height: 44px;
    margin: 0;
  }
}

/* Nav Item Dropdown Sub-menu */
.nav-item-has-children {
  position: relative;
}

.nav-item-has-children .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background-color: var(--ruut-coffee, #3B241C);
  border: 1px solid rgba(255, 255, 255, 0.15);
  min-width: 220px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  border-radius: 8px;
  padding: 0.5rem 0;
  list-style: none !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  z-index: 110;
}

header.scrolled .nav-item-has-children .sub-menu,
#productPage header:not(.scrolled) .nav-item-has-children .sub-menu,
#cartPage header:not(.scrolled) .nav-item-has-children .sub-menu,
#error404Page header:not(.scrolled) .nav-item-has-children .sub-menu,
.page-track header:not(.scrolled) .nav-item-has-children .sub-menu {
  background-color: #FFFFFF;
  border-color: rgba(59, 36, 28, 0.15);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.nav-item-has-children:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-item-has-children .sub-menu li {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

.nav-item-has-children .sub-menu a {
  color: #FFFFFF !important;
  padding: 0.6rem 1.2rem;
  display: block;
  font-family: 'Karla', var(--font-sans), sans-serif !important;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease;
}

header.scrolled .nav-item-has-children .sub-menu a,
#productPage header:not(.scrolled) .nav-item-has-children .sub-menu a,
#cartPage header:not(.scrolled) .nav-item-has-children .sub-menu a,
#error404Page header:not(.scrolled) .nav-item-has-children .sub-menu a,
.page-track header:not(.scrolled) .nav-item-has-children .sub-menu a {
  color: var(--ruut-text, #3B241C) !important;
}

.nav-item-has-children .sub-menu a:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  color: var(--ruut-bg, #F3E8D0) !important;
}

header.scrolled .nav-item-has-children .sub-menu a:hover,
#productPage header:not(.scrolled) .nav-item-has-children .sub-menu a:hover,
#cartPage header:not(.scrolled) .nav-item-has-children .sub-menu a:hover,
#error404Page header:not(.scrolled) .nav-item-has-children .sub-menu a:hover,
.page-track header:not(.scrolled) .nav-item-has-children .sub-menu a:hover {
  background-color: rgba(137, 81, 88, 0.08) !important;
  color: var(--ruut-accent, #895158) !important;
}

/* Gifts Hover State Animation */
.nav-item-gifts a {
  display: inline-grid;
  grid-template-areas: "giftContent";
  position: relative;
  align-items: center;
  justify-items: center;
}

.gifts-normal {
  grid-area: giftContent;
  display: inline-block;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.gifts-hover {
  grid-area: giftContent;
  position: relative;
  left: auto;
  top: auto;
  transform: none;
  white-space: nowrap;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ruut-accent, #895158);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.nav-item-gifts:hover .gifts-normal {
  opacity: 0;
  transform: translateY(-8px);
}

.nav-item-gifts:hover .gifts-hover {
  opacity: 1;
  transform: translateY(0);
}

/* Ensure header is always displayed in scrolled state on Cart page */
#cartPage header {
  top: 0 !important;
  background-color: rgba(230, 222, 209, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05) !important;
}
