/*
 * LatValley Header Component
 * Topbar content stays light; the main header remains transparent over the hero.
 */

header.header {
  position: relative;
  z-index: 1000;
  width: 100%;
  padding: 0;
  border-bottom: 1px solid transparent;
  background-color: transparent;
  transition: background-color var(--lv-transition-base),
    border-color var(--lv-transition-base), box-shadow var(--lv-transition-base);
}

header.header:not(.other-page):not(.sticky) {
  position: absolute !important;
  top: 0;
  right: 0;
  left: 0;
  color: var(--lv-surface);
}

header.header > .container {
  position: relative;
}

header.header .header-topbar {
  min-height: 35px;
  background-color: var(--lv-green-mist);
  color: var(--lv-green-deep);
  font-size: 12px;
  line-height: 1.4;
}

header.header .header-topbar > .container {
  min-height: 35px;
}

header.header .header-topbar__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 35px;
}

header.header .header-topbar__info,
header.header .header-topbar__language {
  display: flex;
  align-items: center;
  min-height: 35px;
  margin: 0;
  padding: 0;
  list-style: none;
}

header.header .header-topbar__info {
  gap: var(--lv-space-6);
}

header.header .header-topbar__info li,
header.header .header-topbar__language .language-select {
  display: flex;
  align-items: center;
  gap: var(--lv-space-2);
  margin: 0;
  white-space: nowrap;
}

header.header .header-topbar__info img,
header.header .header-topbar__language img {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  object-fit: contain;
}

header.header .header-topbar__info a,
header.header .header-topbar__info span,
header.header .header-topbar__language,
header.header .header-topbar__language a {
  color: inherit;
}

header.header .header-topbar__info a:hover,
header.header .header-topbar__language a:hover {
  color: var(--lv-green-mid);
}

header.header .header-topbar__language {
  position: relative;
  cursor: pointer;
}

header.header .header-topbar__language .language-more {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1002;
  display: none;
  min-width: 130px;
  padding: var(--lv-space-2);
  background-color: var(--lv-surface);
  box-shadow: var(--lv-shadow-md);
}

header.header .header-topbar__language:hover .language-more {
  display: block;
}

header.header .header-topbar__language .language-more .language-select {
  min-height: 30px;
}

header.header .header-content {
  display: flex;
  align-items: center;
  min-height: 90px;
}

header.header .logo {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 121px;
  height: 85px;
  margin: 0 var(--lv-space-5) 0 0;
  padding: 0;
}

header.header .logo-wrapper {
  position: relative;
  display: block;
  width: 121px;
  height: 85px;
}

header.header .logo-image {
  position: absolute;
  inset: 0;
  width: 121px;
  height: 85px;
  object-fit: contain;
  transition: opacity var(--lv-transition-base);
}

header.header .logo-image--default,
header.header .menu-icon--default {
  display: block;
}

header.header .logo-image--white,
header.header .menu-icon--white {
  display: none;
}

header.header .menubar-icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 80px;
  margin: 0 var(--lv-space-5) 0 0;
  cursor: pointer;
}

header.header .menu-icon {
  width: auto;
  max-width: none;
  height: auto;
}

header.header .header-content__actions {
  display: flex;
  align-items: center;
  margin-left: auto;
}

header.header .top-cart-contain,
header.header .menu-search {
  margin-top: 0;
  color: inherit;
}

/* Center the cart icon inside its action slot instead of inheriting the legacy float offset. */
header.header .top-cart-contain .heading-cart {
  height: auto;
}

header.header .top-cart-contain .heading-cart > a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}

header.header .top-cart-contain .heading-cart .icon {
  float: none;
  margin: 0;
}

header.header .header_search,
header.header .top-cart-contain {
  border-color: currentColor;
}

header.header .header_search::after {
  background-color: currentColor;
}

header.header .header_search input,
header.header .header_search a,
header.header .header_search button {
  color: inherit;
}

header.header .header_search input::placeholder {
  color: currentColor;
  opacity: 0.75;
}

header.header nav {
  background-color: transparent;
}

header.header nav .nav-item > a {
  color: inherit;
  font-family: var(--lv-font-heading);
  text-decoration: none;
}

header.header nav .nav-item > a:hover,
header.header nav .nav-item.active > a {
  color: var(--lv-gold-light);
}

header.header:not(.other-page):not(.sticky) .logo-image--default,
header.header:not(.other-page):not(.sticky) .menu-icon--default {
  display: none;
}

header.header:not(.other-page):not(.sticky) .logo-image--white,
header.header:not(.other-page):not(.sticky) .menu-icon--white {
  display: block;
}

header.header:not(.other-page):not(.sticky) nav .nav-item > a {
  color: var(--lv-surface);
}

header.header.other-page,
header.header.sticky {
  position: fixed !important;
  top: 0;
  right: 0;
  left: 0;
  border-bottom-color: var(--lv-border);
  background-color: var(--lv-surface);
  box-shadow: var(--lv-shadow-sm);
}

header.header.other-page .logo-image--default,
header.header.sticky .logo-image--default,
header.header.other-page .menu-icon--default,
header.header.sticky .menu-icon--default {
  display: block;
}

header.header.other-page .logo-image--white,
header.header.sticky .logo-image--white,
header.header.other-page .menu-icon--white,
header.header.sticky .menu-icon--white {
  display: none;
}

header.header.other-page,
header.header.sticky {
  color: var(--lv-green-deep);
}

header.header.other-page nav .nav-item > a,
header.header.sticky nav .nav-item > a {
  color: var(--lv-green-deep);
}

header.header.other-page nav .nav-item > a:hover,
header.header.other-page nav .nav-item.active > a,
header.header.sticky nav .nav-item > a:hover,
header.header.sticky nav .nav-item.active > a {
  color: var(--lv-green-mid);
}

@media (max-width: 991px) {
  header.header .header-content {
    min-height: 70px;
  }

  header.header .logo,
  header.header .logo-wrapper,
  header.header .logo-image {
    width: 100px;
    height: 70px;
  }

  header.header .menubar-icon {
    height: 64px;
  }
}

@media (max-width: 543px) {
  header.header,
  header.header.other-page,
  header.header.sticky {
    padding: 0;
  }

  header.header .logo,
  header.header .logo-wrapper,
  header.header .logo-image {
    width: 88px;
    height: 62px;
  }

  header.header .menubar-icon {
    height: 62px;
    margin-right: var(--lv-space-3);
  }
}