.header {
  position: relative;
  z-index: 1001;
  margin-top: var(--preview-height, 0px) !important;
}

.header-menu-opened,
.header-sticky {
  position: fixed;
  top: var(--header-transform, 0px);
  left: 0;
  right: 0;
	transition: top var(--animation-duration) var(--transition-function-ease-out);
}

.header__inner,
.header-sticky .header__inner {
  width: 100%;
  position: absolute;
}

.header__inner.header__inner-background,
.header-sticky .header__inner.header__inner-background {
  position: static;
}

.header__inner:has(#search-opener:checked):after,
.header__inner:has(#mobile-menu-opener:checked):after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: var(--body-height, 100vh);
  z-index: -2;
  background: var(--color-primary-67);
}

.header__content--padding-top {
  padding-top: var(--padding-top-mobile);
}

.header__content--padding-bottom {
  padding-bottom: var(--padding-bottom-mobile);
}

.header__content-inner {
  display: grid;
  grid-template-columns: max-content 1fr max-content;
  gap: 0px 12px;
  grid-template-areas:
    "column-1 column-2 column-3";
  align-items: center;
}

.header__logo-wrapper {
  grid-area: column-1;
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  align-items: center;
}

.header__logo-text {
  font-size: 24px;
  line-height: var(--line-height-md);
  font-weight: var(--font-weight-semibold);
  margin: 0;
  color: currentColor;
}

.header__logo-image {
  max-height: 64px;
}

.header__date-picker-wrapper {
  grid-area: column-2;
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  width: calc(100vw - var(--horizontal-padding-mobile, 16px) * 2);
  transform: translate(-50%, 0);
  z-index: -1;
}

.header__nav-wrapper {
  margin-left: 10px;
}

.header__buttons {
  grid-area: column-3;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
}

.header__links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
}

.header__search-opener {
  height: var(--header-icon-height);
  width: var(--header-icon-width);
  margin: 0;
  padding: 8px;
  border: 1px solid var(--background-accent);
  border-radius: var(--border-radius);
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__search-opener svg {
  pointer-events: none;
}

.header__search-opener g {
  stroke: var(--background-primary);
  transition: all var(--animation-duration) var(--transition-function-ease-out);
}

.header__search-closer {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  cursor: default;
}

.header__inner-background .header__search-opener g,
.page-scrolled .header-transparent .header__search-opener g,
.header__inner:has(#search-opener:checked) .header__search-opener g,
.header__inner:has(#mobile-menu-opener:checked) .header__search-opener g {
  stroke: var(--color-primary);
}

.header__search-opener:hover g,
.page-scrolled .header-transparent .header__search-opener:hover g,
.header__inner:has(#mobile-menu-opener:checked) .header__search-opener:hover g {
  stroke: var(--color-outline-hover);
}

.header__search-wrapper {
	pointer-events: none;
	margin: 0;
	position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
	width: 100vw;
  display: block !important;
  height: calc(var(--body-height) - var(--header-height, 39px));
  max-height: 0;
  z-index: -1;
  transition: max-height var(--animation-duration) var(--transition-function-ease-out);
}

.header__search-inner {
  display: flex;
  justify-content: center;
	padding: calc(18px + var(--header-height, 39px)) 18px 18px;
  transform: translate(0, -100%);
  transition: transform var(--animation-duration) var(--transition-function-ease-out);
  background: var(--background-primary);
  position: relative;
  z-index: 1;
}

.header-transparent .header__search-inner {
  padding-top: calc(var(--header-height, 39px) - var(--top-bar-height, 0px) + 18px);
}

.iphone.notch.safari[data-orientation='landscape'] .header__date-picker-wrapper {
  width: calc(100vw - var(--horizontal-padding-mobile, 16px) * 2 - 44px * 2);
}

.iphone.notch.safari[data-orientation='landscape'] .header__search-inner {
  padding-right: 62px;
  padding-left: 62px;
}

.header__search-wrapper form {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  max-width: 780px;
}

.header-transparent .header__search-wrapper form {
  opacity: 0;
}

.header__search-reset {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  height: 42px;
  width: 42px;
  display: flex;
  align-items: center;
  background: none;
  cursor: pointer;
}

.header__search-reset:after,
.header__search-reset:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  height: 2px;
  width: 18px;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background var(--animation-duration) var(--transition-function-ease-out);
  background: var(--color-primary);
}

.header__search-reset:hover:after,
.header__search-reset:hover:before {
  background: var(--color-outline-hover);
}

.header__search-reset:before {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.header__search-input-wrapper {
  position: relative;
  flex: 1 1 auto;
}

.header__search-input-wrapper .header__search-submit {
  position: absolute;
  top: 50%;
  left: 20px;
  width: 42px;
  height: 42px;
  transform: translateY(-50%);
  z-index: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
}

.header__search-input-wrapper .header__search-submit g {
  transition: all var(--animation-duration) var(--transition-function-ease-out);
}

.header__search-input-wrapper .header__search-submit:hover g {
  stroke: var(--color-outline-hover);
}

.header__search-input {
  min-width: 230px;
  width: 100%;
  padding: 18px 67px;
  font-size: var(--font-size-regular);
  line-height: var(--line-height-sm);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  background: transparent;
  color: var(--color-primary);
}

.header__search-input::placeholder {
  color: var(--color-placeholder);
}

.header__search-input:-webkit-autofill,
.header__search-input:autofill {
  box-shadow: inset 0 0 0 150px var(--background-primary) !important;
}

.header__search-input:focus {
  outline: none;
}

.header__search-input::-webkit-search-cancel-button {
  display: none !important;
}

.header__search-input::-webkit-search-decoration {
  display: none;
}

.header__search-icon {
  font-size: 20px;
  width: 20px;
  height: 20px;
  transform: translate(-15%, -15%);
}

.header__search-icon g {
  stroke: var(--color-primary);
}

.header__search #search-opener:checked ~ .header__search-wrapper {
  pointer-events: all;
  max-height: var(--body-height);
}

.header__search #search-opener:checked ~ .header__search-opener g {
  stroke: var(--color-outline);
}

.header__search #search-opener:checked ~ .header__search-wrapper .header__search-inner {
  transform: translate(0, 0);
}

.header-transparent .header__search #search-opener:checked ~ .header__search-wrapper form {
  opacity: 1;
}

.header__buttons:has(.header__nav-wrapper) .header__search,
.header__buttons:has(.header__nav-wrapper) .header__cart {
  margin: 0 0 0 10px;
}

.header__cart {
  height: var(--header-icon-height);
  width: var(--header-icon-width);
}

.header__cart .fa-spinner-third {
  color: var(--background-primary);
}

.header__inner-background .header__cart .fa-spinner-third {
  color: var(--color-primary);
}

.loaded .header__search-inner {
  display: flex !important;
}

.header-transparent:has(.header__logo-inner--transparent) .header__logo-inner {
  display: none;
}

.header-transparent:has(.header__logo-inner--transparent) .header__logo-inner--transparent {
  display: inline;
}

body:has(#search-opener:checked) .header-transparent .header__logo-inner--transparent,
body:has(#mobile-menu-opener:checked) .header-transparent .header__logo-inner--transparent,
.page-scrolled .header-transparent .header__logo-inner--transparent {
  display: none;
}

body:has(#search-opener:checked) .header-transparent .header__logo-inner:not(.header__logo-inner--transparent),
body:has(#mobile-menu-opener:checked) .header-transparent .header__logo-inner:not(.header__logo-inner--transparent),
.page-scrolled .header-transparent .header__logo-inner:not(.header__logo-inner--transparent) {
  display: inline;
}

.preview-bar__container ~ .header-sticky .header__inner-background .header__search-inner {
  padding-top: calc(18px + var(--header-height, 39px) - var(--preview-height, 72px));
}

.preview-bar__container ~ .header-sticky .header__search-inner {
  padding-top: calc(18px + var(--header-height, 39px) - var(--preview-height, 72px) - var(--top-bar-height, 0px));
}

.page-scrolled .header-transparent .header__inner .header__content,
.header__inner-background .header__content,
.header__inner:has(#search-opener:checked) .header__content,
.header__inner:has(#mobile-menu-opener:checked) .header__content {
  color: var(--color-primary);
  background: var(--background-primary);
  border-bottom: 1px solid var(--color-border);
}

.header:has(~ #main section:first-child > .container) .header__content {
  border-color: transparent;
}

body:has(#search-opener:checked) .header:has(~ #main section:first-child > .container) .header__content,
body:has(#mobile-menu-opener:checked) .header:has(~ #main section:first-child > .container) .header__content,
.page-scrolled .header:has(~ #main section:first-child > .container) .header__content {
  border-color: var(--color-border);
}

.header:has(~ #main section:first-child > .container) .header__date-picker-wrapper {
  width: calc(100vw - var(--horizontal-padding-mobile, 16px) * 2 - 16px);
}

@media (min-width: 320px) {
  .header__logo-image {
    max-width: 162px;
  }
}

@media (min-width: 428px) {
  .header__logo-image {
    max-width: 210px;
  }
}

@media (min-width: 480px) {
  .header__logo-image {
    max-width: 250px;
  }
}

@media (min-width: 576px) {
  .header__logo-image {
    max-width: 300px;
  }
}

@media (min-width: 992px) {
  .header__content-inner {
    grid-template-columns: 230px 1fr 230px;
  }

  .header__logo,
  .header__logo-image {
    max-width: 100%;
  }

  .header__date-picker-wrapper {
    position: static;
    width: auto;
    transform: translate(0, 0);
    padding: 0 10px;
    margin: calc(-1 * var(--padding-top)) auto calc(-1 * var(--padding-bottom));
    max-width: 470px;
    z-index: 0;
  }

  .header:has(~ #main section:first-child > .container) .header__date-picker-wrapper {
    width: auto;
  }

  .header__nav-wrapper {
    margin: 0;
  }

  .header__buttons {
    flex-direction: row;
  }
}

@media (min-width: 1100px) {
  .header__content--padding-top {
    padding-top: var(--padding-top);
  }

  .header__content--padding-bottom {
    padding-bottom: var(--padding-bottom);
  }

  .header__date-picker-wrapper {
    max-width: none;
  }
}
