.header {
  --header-column-gap: 8px;
  --color-text: var(--color-header-text);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  background-color: rgb(var(--color-header-background));
  color: rgb(var(--transparent-color-text, var(--color-header-text)));
}
.header a:not(.button),
.header a:not(.button):hover {
  color: inherit;
}
.header .header__menu-drawer .modal__content {
  color: rgb(var(--color-text));
  background: rgb(var(--color-header-background));
}
.header .search-modal__content {
  color: rgb(var(--color-text));
}
@media screen and (max-width: 899px) { /*ch*/
  .header {
    --header-column-gap: 0px;

    min-height: 60px;
  }
}
.header #cart-icon-bubble-wrapper,
.header #cart-icon-bubble-wrapper-mobile {
  display: flex;
}
.header.is-transparent {
  position: absolute;
  width: 100%;
  background-color: transparent;
}
.header.is-transparent.is-transparent--active::before {
  transform: scaleY(1);
}
.header.is-transparent::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  bottom: 0;
  z-index: -1;
  background: rgba(var(--color-page-background, #fff));
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.shopline-section-header-scrolling .header.is-transparent::before {
  transition: none;
}
.header__full_width {
  max-width: 100%;
}
.header__container {
  display: grid;
  column-gap: var(--header-column-gap);
  align-items: center;
}
@media (max-width: 899px) { /*ch*/
  .header__container {
    grid-template: "tools logo buttons" auto / auto 1fr !important;
  }
  .header__container .header__buttons {
    justify-self: end;
    display: flex;
  }
}
.header__container--left-left {
  grid-template: "logo menu tools icons" auto / auto 1fr auto auto;
}
@media screen and (min-width: 960px) {
  .header__container--left-left .header__heading {
    margin-right: 12px;
  }
}
@media (min-width: 960px) {
  .tile-search.header__container--left-left {
    grid-template: "logo menu tools icons" auto / auto 1fr minmax(auto, 348px) auto;
  }
}
.header__container--left-line {
  grid-template:
    "logo . tools icons" auto
    "menu menu menu menu" auto
    / auto 1fr auto auto;
}
.header__container--left-line .header-inline-menus__item:first-child {
  padding-left: 0;
}
@media (min-width: 960px) {
  .tile-search.header__container--left-line {
    grid-template:
      "logo tools tools icons" auto
      "menu menu menu menu" auto
      / auto 1fr auto auto;
  }
  .tile-search.header__container--left-line .header__tools {
    justify-self: center;
  }
}
@media screen and (min-width: 960px) {
  .header__container--middle-line {
    grid-template:
      "tools logo buttons" auto
      "menu menu menu" auto
      / 1fr auto 1fr;
  }
}
@media screen and (max-width: 899px) { /*ch*/
  .header__container--middle-line {
    grid-template:
      "logo buttons" auto
      "menu menu" auto
      / auto 1fr;
  }
}
.header__container--middle-line .header__inline-nav {
  margin: auto;
}
.header__container--middle-line .header__buttons {
  grid-area: buttons;
  justify-self: end;
  display: flex;
}
@media screen and (min-width: 960px) {
  .header__container--middle-left {
    grid-template: "menu logo buttons" auto / 1fr auto 1fr;
  }
}
@media screen and (max-width: 899px) { /*ch*/
  .header__container--middle-left {
    grid-template: "logo buttons" auto / auto 1fr;
  }
}
.header__container--middle-left .header__buttons {
  grid-area: buttons;
  justify-self: end;
  display: flex;
}
@media (min-width: 960px) {
  .tile-search.header__container--middle-left .header__buttons {
    width: 100%;
  }
}
.header__nav-style--drawer.header__container--left-line,
.header__nav-style--drawer.header__container--left-left {
  grid-template: "drawer_menu logo tools icons" auto / auto 1fr auto auto;
}
.header__nav-style--drawer.header__container--left-line .header__heading,
.header__nav-style--drawer.header__container--left-left .header__heading {
  width: 100%;
}
.header__nav-style--drawer.header__container--middle-line,
.header__nav-style--drawer.header__container--middle-left {
  grid-template: "drawer_menu logo buttons" auto / 1fr auto 1fr;
}
.header__container--left-line .header__inline-nav--has-divider::before,
.header__container--middle-line .header__inline-nav--has-divider::before {
  position: absolute;
  content: "";
  width: 100%;
  left: 0;
  border-top: 1px solid rgb(var(--color-entry-line));
}
.header__drawer-nav {
  grid-area: drawer_menu;
}
.header__inline-nav {
  grid-area: menu;
}
.header__tools {
  grid-area: tools;
  justify-self: flex-start;
}
.tile-search .header__tools {
  width: 100%;
}
.header__icons {
  grid-area: icons;
  justify-self: flex-end;
}
.header__icons,
.header__tools {
  display: flex;
  align-items: center;
  margin-left: calc(-1 * var(--header-column-gap));
}
.header__icons > *,
.header__tools > * {
  margin-left: var(--header-column-gap);
}
.header__container--middle-left .header__icons {
  margin-left: 0;
}
.header__icon-button {
  display: flex;
  padding: 3px;
}
.header__cart-point {
  background-color: rgba(var(--color-cart-dot));
  border-radius: 20px;
  color: rgba(var(--color-cart-dot-text));
  bottom: 2px;
  left: 18px;
  line-height: 20px;
  min-width: 20px;
  padding: 0 6px;
  position: absolute;
  text-align: center;
  white-space: nowrap;
  max-width: 40px;
  text-overflow: ellipsis;
  overflow: hidden;
  z-index: 1;
}
.header .drawer .modal__content {
  position: fixed;
  top: var(--header-top-position, 0);
  height: calc(100% - var(--header-top-position, 0));
}
.header .drawer .modal__content details[open] .modal__overlay::after {
  position: absolute;
}
/* reset cart color */
header-layout + cart-notification .cart-notification {
  background-color: rgb(var(--color-header-background)) !important;
  color: rgb(var(--color-header-text)) !important;
  --color-text: var(--color-header-text) !important;
}
/* pc user center menu */
@media (min-width: 960px) {
  .user__container:hover ul {
    display: block;
  }
  .user__container {
    position: relative;
  }
  .user__container ul {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
    position: absolute;
    right: 0;
    top: 100%;
    background-color: rgb(var(--color-image-background));
    box-shadow: 0px 10px 20px 0px rgba(var(--color-text), 0.1);
    padding: 10px 20px;
    color: rgb(var(--color-text));
    width: 170px;
    z-index: 1;
  }
  .user__container ul li {
    padding: 4px 0;
  }
  .user__container ul li a {
    display: block;
  }
  .user__container ul li.user__menu-sign-out {
    text-decoration: underline;
  }
  .user__container ul .user__menu-title-line {
    width: 100%;
    height: 1px;
    background-color: rgb(var(--color-entry-line));
    margin: 10px 0;
  }
}
#shopline-section-header {
  position: relative;
  z-index: 30;
}
#shopline-section-header.animate {
  transition: all 0.15s ease-out;
}
#shopline-section-header.shopline-section-header-sticky {
  position: sticky;
  top: var(--header-sticky-top, 0px);
}
#shopline-section-header.shopline-section-header-sticky .is-transparent {
  position: relative;
}
@media (max-width: 899px) { /*ch*/
  #shopline-section-header.shopline-section-header-sticky {
    top: var(--mobile-header-sticky-top, 0px);
  }
}
#shopline-section-header.shopline-section-header-hidden:not(.menu-open) {
  transform: translateY(-200%);
}
#shopline-section-header:not(.shopline-section-header-scrolling) {
  top: 0 !important;
}
#shopline-section-header.shopline-section-header-sticky--always {
  position: sticky;
  top: var(--header-sticky-top, 0px);
  animation: modalSlideInTop 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#shopline-section-header.shopline-section-header-sticky--always
  .is-transparent {
  position: relative;
}
@media (max-width: 899px) { /*ch*/
  #shopline-section-header.shopline-section-header-sticky--always {
    top: var(--mobile-header-sticky-top, 0px);
  }
}
.header__heading {
  grid-area: logo;
  margin: 14px auto;
  display: flex;
}
@media screen and (max-width: 899px) { /*ch*/
  .header__heading {
    margin: 10px auto;
  }
}
.header__heading-link {
  position: relative;
  color: rgb(var(--color-text));
  font-size: 30px;
  text-align: left;
  text-decoration: none;
}
.header__heading-logo {
  display: block;
  width: var(--header-logo-pc-width, 200px);
  height: auto;
}
@media screen and (max-width: 899px) { /*ch*/
  .header__heading-logo {
    width: var(--header-logo-mobile-width, 100px);
  }
}
.header__heading-logo.header__heading-logo--transparent {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: auto;
}
/*transform change*/
.is-transparent
  .header__heading-logo--transparent
  + .header__heading-logo--nomal,
.is-transparent .header__heading-logo--transparent + span {
  opacity: 0;
}
header.is-transparent--active .header__heading-logo--transparent {
  opacity: 0;
}
header.is-transparent--active .header__heading-logo--transparent + span {
  opacity: 1;
}
header.is-transparent--active
  .header__heading-logo--nomal.header__heading-logo--nomal {
  opacity: 1;
}
@keyframes animateBottomLocalization {
  0% {
    opacity: 0;
    transform: translateY(0);
  }

  100% {
    opacity: 1;
    transform: translateY(10px);
  }
}
@keyframes animateTopLocalization {
  0% {
    opacity: 0;
    transform: translateY(0);
  }

  100% {
    opacity: 1;
    transform: translateY(-10px);
  }
}
.header__localization form {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
.header__localization .dropdown-menu__button {
  outline: none;
  border: none;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  color: inherit;
}
.header__localization .dropdown-menu__button > span {
  margin-right: 6px;
}
.header__localization .dropdown-menu__list-wrapper {
  opacity: 1;
}
.header__localization .dropdown-menu__list-wrapper.bottom {
  animation: animateBottomLocalization 200ms ease;
  transform: translateY(10px);
}
.header__localization span[data-label] {
  white-space: nowrap;
}
/* header drawer mode */
.header-drawer__localization {
  padding: 10px 0;
  position: relative;
}
.header-drawer__localization:after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 1px;
  background-color: rgba(var(--color-entry-line));
}
.header-drawer__localization form {
  display: block;
}
.header-drawer__localization .dropdown-menu__button {
  height: 44px;
  display: flex;
  gap: 8px;
  align-items: center;
  text-align: left;
}
.header-drawer__localization .dropdown-menu__button > span {
  margin-right: 0;
}
.header-drawer__localization span[data-label] {
  white-space: initial;
}
.header-drawer__localization .dropdown-menu__list-wrapper.top {
  animation: animateTopLocalization 200ms ease;
  transform: translateY(-10px);
  border: 1px solid rgba(var(--color-text), 0.1);
}
.menus__link {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: rgb(var(--color-text));
  opacity: 1;
  transition: opacity 0.2s;
  cursor: pointer;
}
.header__inline-menus {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
}
@media (min-width: 960px) {
  .header__container--left-line .header__inline-menus {
    justify-content: center;
  }
}
.header-inline-menus__link {
  --padding-inline: 0px;
  --padding-block: 12px;
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: var(--padding-block) var(--padding-inline);
}
.header-inline-menus__link::after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  will-change: transform;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left center;
  background: rgb(var(--color-text));
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.header-inline-menus__link:hover::after,
.header-inline-menus__link:focus::after {
  transform: scale(1);
}
.header-inline-menus__item {
  padding: 0 16px;
}
.header-inline-menus__item--has-submenu {
  position: relative;
}
.header-inline-menus__item--has-submenu.is-megamenu:hover
  .header__inline-submenus,
.header-inline-menus__item--has-submenu.is-megamenu:focus
  .header__inline-submenus {
  pointer-events: initial;
  visibility: visible;
  opacity: 1;
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.header-inline-menus__item--has-submenu .header-inline-menus__arrow {
  display: initial;
}
.header-inline-menus__item.is-megamenu {
  position: static;
}
/*hover polyfill*/
.header-inline-menus__item--has-submenu:hover::before {
  content: attr(data-item-title);
  position: absolute;
  height: 100%;
  top: 0;
  margin-left: -30px;
  padding-left: 30px;
  padding-right: 30px;
  opacity: 0;
}
.header-inline-menus__arrow {
  display: none;
  margin-left: 5px;
}
.header__inline-submenus {
  display: flex;
  position: absolute;
  left: 0;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  background-color: rgba(var(--color-header-background));
  width: 100%;
  z-index: 10;
  box-shadow: 0 10px 20px rgb(0 0 0 / 9%);
  max-height: 760px;
  min-height: 280px;
  overflow: auto;
}
.megamenu__list {
  padding: 40px;
  display: grid;
  gap: 20px;
  list-style: none;
  margin: 0;
  flex: 1;
  grid-auto-columns: minmax(100px, 280px);
  grid-auto-flow: column;
}
/*dropdown-menu*/
.header-inline-menus__item--has-submenu:not(.is-megamenu):hover
  .header-dropdown-menu,
.header-inline-menus__item--has-submenu:not(.is-megamenu):focus
  .header-dropdown-menu {
  pointer-events: initial;
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.header-dropdown-menu {
  display: block;
  position: absolute;
  left: 0;
  pointer-events: none;
  visibility: hidden;
  transform: translateY(-10px);
  opacity: 0;
  transition: all 0.2s;
  background-color: rgba(var(--color-header-background));
  z-index: 10;
  min-width: 200px;
  width: max-content;
  max-width: 300px;
  max-height: 760px;
  overflow: auto;
  padding: 10px 0 5px;
  box-shadow: 0 10px 20px rgb(0 0 0 / 9%);
}
.header-dropdown-menu ul {
  padding: 0;
}
.header-dropdown-menu .header-inline-submenus__item {
  padding: 8px 16px;
}
.header-dropdown-menu .header-inline-submenus__link::after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  will-change: transform;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left center;
  background: rgb(var(--color-text));
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.header-dropdown-menu .header-inline-submenus__link:hover::after,
.header-dropdown-menu .header-inline-submenus__link:focus::after {
  transform: scale(1);
}
.header-nav-list .menus__link:not(a) {
  cursor: default;
}
.header-nav-list .menus__link:not(a):hover {
  opacity: 1;
}
.header-nav-list .menus__link::after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  will-change: transform;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left center;
  background: rgb(var(--color-text));
  transition: all 0.25s cubic-bezier(0.104, 0.204, 0.492, 1);
}
.header-nav-list .menus__link:hover::after,
.header-nav-list .menus__link:focus::after {
  transform: scale(1);
}
.megamenu-list__submenu {
  padding: 0;
}
.megamenu-submenu__item + .megamenu-submenu__item {
  margin-top: 8px;
}
.megamenu-list__item-title {
  display: inline-block;
  margin-bottom: 10px;
}
.header__image {
  width: 25vw;
  position: relative;
  overflow: hidden;
}
.header__image .header__image__content {
  height: 100%;
  overflow: hidden;
  position: relative;
}
.header__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  will-change: transform;
  transition: all 0.5s cubic-bezier(0.104, 0.204, 0.492, 1);
  object-position: 50% 50%;
}
.header__image img:hover {
  transform: scale(1.05);
}
.header__image .header__image--cover {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 100%;
  white-space: normal;
  padding: 0 50px 50px;
}
.header__image .header__image--cover .header__image_title {
  text-transform: uppercase;
  margin-bottom: 15px;
  font-weight: 600;
}
.header__image .header__image--cover .header__image_button {
  text-transform: uppercase;
  position: relative;
}
.header__inline-menus--img-normal .header__image__content {
  height: 0;
}
.header__inline-menus--img-normal .header__image {
  width: calc(25vw - 20px);
  overflow-y: auto;
}
.header__inline-menus--img-normal .header__image img {
  position: absolute;
  top: 0;
  left: 0;
  height: auto;
  object-fit: unset;
}
.header__inline-menus--img-normal .megamenu__list {
  padding: 0;
}
.header__inline-menus--img-normal .header-nav-list {
  gap: 20px;
  padding: 40px;
}
.header__inline-menus--img-normal .header__image--cover {
  position: unset;
  padding: 0;
  padding-bottom: 6px;
}
.header__inline-menus--img-normal .header__image--cover .header__image_title {
  text-transform: none;
  margin-bottom: 0;
  margin-top: 8px;
}
.menu-item--highlight {
  background: linear-gradient(
    90deg,
    var(--header-highlight-background) 0%,
    rgba(201, 245, 47, 0) 100%
  );
  background-clip: content-box;
  color: var(--header-highlight-text-color) !important;
}
.header__menu-drawer .drawer__main {
  margin-left: calc(-1 * var(--drawer-padding-inline));
  margin-right: calc(-1 * var(--drawer-padding-inline));
  position: relative;
}
.header__user-center-button {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  letter-spacing: 0.1em;
}
.header__user-center-button .icon {
  margin-right: 8px;
}
.drawer-menus__sub-menus {
  background: rgba(var(--color-text), 0.05);
}
.drawer-menus__sub-menus .drawer-menus__sub-menus {
  background: transparent;
}
.drawer-menus__sub-menus .drawer-menus__sub-menus .drawer-menus__sub-item {
  padding-left: 15px;
}
.drawer-menus__item,
.drawer-menus__sub-item {
  display: flex;
  align-items: center;
  justify-content: space-between;

  cursor: pointer;
  text-decoration: none;
  text-transform: capitalize;

  background: transparent;
  transition: background 0.2s;
}
.drawer-menus__item > a,
.drawer-menus__sub-item > a {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  word-break: break-word;
}
.drawer-menus__item > a {
  padding-top: 10px;
  padding-bottom: 10px;
  margin-left: var(--drawer-padding-inline);
  font-weight: bold;
}
.drawer-menus__sub-item > a {
  padding-top: 10px;
  padding-bottom: 10px;
  margin-left: var(--drawer-padding-inline);
}
.drawer-menus__item-icon {
  display: flex;
  height: 36px;
  width: 36px;
  align-items: center;
  justify-content: center;
  margin-inline: 8px;
}
.drawer-menus__item-icon .icon-arrow {
  position: revert;
}
.drawer-menus__item-icon-off {
  display: none;
}
details[open] > summary > .drawer-menus__item > .drawer-menus__item-icon-on {
  display: none;
}
details[open] > summary > .drawer-menus__item > .drawer-menus__item-icon-off {
  display: flex;
}
details[open]
  > summary
  > .drawer-menus__sub-item
  > .drawer-menus__item-icon-on {
  display: none;
}
details[open]
  > summary
  > .drawer-menus__sub-item
  > .drawer-menus__item-icon-off {
  display: flex;
}
@keyframes headerSearchModal {
  0% {
    opacity: 0;
    transform: translateY(-1.5rem);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.header__search .modal__content {
  position: absolute;
  background-color: rgb(var(--color-header-background));
}
.header__search details[open] .modal__overlay::after {
  position: absolute;
  top: 100%;
  z-index: initial;
}
.search-modal__content {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 960px) {
  .tile-search .search-modal__content {
    justify-content: flex-end;
    padding: 20px 0px 20px 20px;
  }
  .tile-search .right-search .search-modal__content {
    justify-content: flex-start;
  }

  .header__container--middle-line.tile-search .search-modal__content {
    justify-content: flex-start;
    padding-left: 0;
    padding-right: 20px;
    min-width: 300px;
  }

  .header__container--left-line.tile-search .search-modal__content {
    justify-content: center;
  }
}
.search-modal__close-button {
  margin-left: 4px;
  padding: 12px;
  margin-right: 8px;
}
.search-modal__close-button .icon {
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 899px) { /*ch*/
  .search-modal__close-button .icon {
    width: 10px;
    height: 10px;
  }
}
.search-modal__form {
  position: relative;
  flex: 1 0 0;
}
@media screen and (max-width: 899px) { /*ch*/
  .search-modal__form {
    position: static;
  }

  .search-modal__form .predictive-search {
    border-top: 1px solid rgb(var(--color-entry-line));
  }
}
.search-modal__field {
  position: relative;
  margin: 0;
  background-color: rgb(var(--color-header-background));
  color: rgb(var(--color-header-text));
}
.search-modal__input {
  height: 60px;
  padding: 28px 68px 10px 20px;
}
@media screen and (max-width: 899px) { /*ch*/
  .search-modal__input {
    height: 38px;
    padding: 16px 68px 4px 20px;
  }
}
@media (min-width: 960px) {
  .tile-search .search-modal__field {
    background: transparent;
    color: rgb(var(--color-header-pc-searchbar-text));
  }

  .tile-search .search-modal__field::after {
    border-color: rgb(var(--color-header-pc-searchbar-border));
  }
  .tile-search .search-modal__form {
    max-width: 300px;
  }
  .tile-search .search-modal__input {
    height: 48px;
    padding: 10px 10px 10px 48px;
    color: rgb(var(--color-header-pc-searchbar-text));
    background-color: rgba(var(--color-header-pc-searchbar-bg), 1);
  }
  .tile-search .search-modal__submit-button {
    color: rgb(var(--color-header-pc-searchbar-text));
    left: 0;
    right: unset;
    width: 48px;
  }
  .tile-search .search-modal__input::placeholder {
    opacity: 1;
    color: rgb(var(--color-header-pc-searchbar-text));
  }

  .tile-search .search-modal__field-label {
    width: calc(100% - 48px);
    left: 48px;
  }
}
.search-modal__field-label {
  width: calc(100% - 68px);
  left: 20px;
}
.search-modal__submit-button {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  background-color: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  width: 68px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}
.search-modal__content[data-show-menu] .predictive-search__suggested-menu {
  display: block;
}
.predictive-search__suggested-menu {
  list-style: none;
  margin: 0;
  padding: 10px;
  display: none;
}
.predictive-search__suggested-menu .predictive-search__suggested-menu__link {
  display: block;
  padding: 9px 12px;
}
.predictive-search__suggested-menu
  .predictive-search__suggested-menu__link:hover {
  background: var(--general-text-10, rgba(0, 0, 0, 0.1));
  border-radius: 2px;
}
.gallery__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding: 0;
}
@media (min-width: 960px) {
  .gallery__list {
    overflow: hidden;
  }
}
.gallery__list .gallery__item {
  overflow: hidden;
  width: 50%;
  height: 100%;
  flex-grow: 1;
}
@media (min-width: 960px) {
  .gallery__list .gallery__item {
    flex-grow: 0;
    width: 25%;
  }
}
@media (min-width: 960px) {
  .gallery__list .gallery__item--images {
    transform: scale(1.05);
  }
}
.gallery__list .gallery__item--empty .gallery__box.gallery__box {
  padding-bottom: unset;
}
.gallery__list .gallery__item {
  transform-origin: top;
}
.gallery__list .gallery__item .gallery__box {
  transform: scale(1.01);
  padding-bottom: 100%;
  position: relative;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.5s;
}
.gallery__list .gallery__item .gallery__box img {
  object-fit: cover;
  object-position: 50% 50% !important;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
}
.gallery__list .gallery__item .gallery__box .gallery__box__mark {
  --bg-opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / var(--bg-opacity));
}
.gallery__list .gallery__item .gallery__box .gallery__box__title {
  --bg-opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.gallery__list .gallery__item.adapt .gallery__box {
  padding-bottom: 0%;
}
.gallery__list .gallery__item.adapt img {
  max-height: 400px;
  position: static;
}
.gallery__list .gallery__box--hover:hover {
  transform: scale(1.05);
}
.gallery__list svg {
  border: 1px solid hsla(206, 6%, 50%, 0.2);
  display: block;
}
@media (min-width: 960px) {
  .gallery__list svg {
    border-top: none;
  }
}
.header-inline-menus__item--has-submenu:hover
  .gallery__list
  .gallery__item.gallery__item--images {
  transition: all 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: scale(1.01);
}
.header-inline-menus__item--has-submenu.gallery .header__inline-submenus {
  min-height: auto;
}
@media (min-width: 960px) {
  .mobile-top-nav {
    display: none;
  }
}
.mobile-top-nav .mobile-site-nav {
  list-style: none;
  margin: 0;
  padding: 0 var(--page-padding);
  scroll-padding-left: var(--page-padding);
  scroll-padding-right: var(--page-padding);
  display: flex;
  flex-wrap: nowrap;
}
.mobile-top-nav .mobile-site-nav > li:first-child .mobile-site-nav__item__link {
  padding-left: 0;
}
.mobile-top-nav .mobile-site-nav > li:last-child .mobile-site-nav__item__link {
  padding-right: 0;
}
.mobile-top-nav .mobile-site-nav .mobile-site-nav__item__link {
  color: inherit;
  padding: 12px 16px;
  display: inline-block;
  white-space: nowrap;
}
.mobile-top-nav
  .mobile-site-nav
  .mobile-site-nav__item
  .mobile-site-nav__item__link--active
  .mobile-site-nav__item__link__text {
  position: relative;
  font-weight: 500;
}
.mobile-top-nav
  .mobile-site-nav
  .mobile-site-nav__item
  .mobile-site-nav__item__link--active
  .mobile-site-nav__item__link__text:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -8px;
  width: 100%;
  background-color: rgba(var(--color-text));
  height: 2px;
}
.color-scheme-1
  .mobile-site-nav
  .mobile-site-nav__item
  .mobile-site-nav__item__link--active
  .mobile-site-nav__item__link__text:before {
  background-color: rgba(var(--color-scheme-1-text));
}
.color-scheme-2
  .mobile-site-nav
  .mobile-site-nav__item
  .mobile-site-nav__item__link--active
  .mobile-site-nav__item__link__text:before {
  background-color: rgba(var(--color-scheme-2-text));
}
.color-scheme-3
  .mobile-site-nav
  .mobile-site-nav__item
  .mobile-site-nav__item__link--active
  .mobile-site-nav__item__link__text:before {
  background-color: rgba(var(--color-scheme-3-text));
}
.shopline-section-header-scrolling .mobile-top-nav {
  display: none;
}
.predictive-search {
  --predictive-search-result-padding: 20px;
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: rgb(var(--color-header-background));
  color: rgb(var(--color-header-text));
  border-radius: 0 0 var(--menu-modal-border-radius)
    var(--menu-modal-border-radius);
  z-index: 1;
}
.predictive-search__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--predictive-search-result-padding) 0
    calc(var(--predictive-search-result-padding) / 2) 0;
  text-transform: uppercase;
  margin: 0 var(--predictive-search-result-padding)
    calc(var(--predictive-search-result-padding) / 2)
    var(--predictive-search-result-padding);
  border-bottom: 1px solid rgb(var(--color-entry-line));
}
.predictive-search__head .predictive-search__spinner {
  display: none;
}
.predictive-search__head .predictive-search__rusults {
  text-transform: initial;
}
.predictive-search__list-item > * {
  padding: calc(var(--predictive-search-result-padding) / 2);
  transition: color 0.3s, background 0.3s;
}
.predictive-search__list-item[selected="true"] > *,
.predictive-search__list-item:hover > * {
  color: rgb(var(--color-text));
  background-color: rgba(var(--color-text), 0.08);
}
.predictive-search__item {
  display: grid;
  grid-template: "image content" auto / auto 1fr;
  gap: var(--predictive-search-result-padding);
}
.predictive-search__item-image {
  display: block;
  width: 62px;
  height: 62px;
  grid-area: image;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 899px) { /*ch*/
  .predictive-search__item-image {
    width: 56px;
    height: 56px;
  }
}
.predictive-search__item-content {
  grid-area: content;
  justify-content: center;
}
.predictive-search__item-head {
  margin: 0;
}
.predictive-search__item-price {
  margin: 0;
}
.predictive-search__item-price .line-through {
  text-decoration: line-through;
  opacity: 0.5;
}
.predictive-search__term {
  margin: var(--predictive-search-result-padding);
}
.predictive-search__term-icon {
  display: inline-flex;
  transition: transform 0.3s;
  width: 20px;
  height: 20px;
}
.predictive-search__spinner {
  display: inline-flex;
  animation: button-loading linear 1.5s infinite;
}
.predictive-search__spinner .icon {
  width: 15px;
  height: 15px;
}
.predictive-search__loading-state {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 14px;
}
.predictive-search__results {
  overflow: hidden;
  overflow-y: auto;
}
predictive-search[data-focus][open] .predictive-search,
predictive-search[data-focus][loading] .predictive-search {
  display: block;
}
predictive-search[data-focus][loading]
  .predictive-search__results:empty
  ~ .predictive-search__loading-state {
  display: flex;
}
predictive-search[data-focus][loading]
  .predictive-search__head
  .predictive-search__spinner {
  display: flex;
}
.predictive-search__results-list {
  display: grid;
  /* row-gap: var(--predictive-search-result-padding);
  column-gap: var(--predictive-search-result-padding); */
  margin-top: calc(var(--predictive-search-result-padding) / 2);
  padding: 0 calc(var(--predictive-search-result-padding) / 2);
}
.search-modal__content[data-col="4"] .predictive-search__results-list {
  grid-template-columns: repeat(4, 1fr);
}
.search-modal__content[data-col="3"] .predictive-search__results-list {
  grid-template-columns: repeat(3, 1fr);
}
.search-modal__content[data-col="2"] .predictive-search__results-list {
  grid-template-columns: repeat(2, 1fr);
}
.search-modal__content[data-col="1"] .predictive-search__results-list {
  grid-template-columns: repeat(1, 1fr);
}
/* The ipad end responds to the mobile end in vertical screen */
/* @custom-media --tablet (max-width: 959px); */
/* @custom-media --gt-mobile (min-width: 751px); */
/* detectingScreen need to consider the configuration of the tablet */


/* --- Esoes header: black bar + white text/icons --- */
#shopline-section-header .header {
    --color-header-background: 0, 0, 0;
    /* black */
    --color-header-text: 255, 255, 255;
    /* white */
    background-color: rgb(var(--color-header-background)) !important;
    color: rgb(var(--color-header-text)) !important;
}

/* Make the inline search look like the screenshot */
@media (min-width:960px) {
    .tile-search .search-modal__input {
        border-radius: 9999px;
        border: 1px solid rgba(255, 255, 255, .3);
        max-width: 520px;
        /* feel free to tweak */
    }

    .tile-search .search-modal__field::after {
        border-color: rgba(255, 255, 255, .3);
    }

    .tile-search .search-modal__input::placeholder {
        opacity: 0.9;
        /* “Enter here and click search” style */
    }
}

/* Keep dropdowns/megamenu dark */
.header-dropdown-menu,
.header__inline-submenus {
    background-color: #000;
    color: #fff;
}

/* Drawer top bar */
.header .drawer .modal__content {
    padding-top: 64px;
}

.menu-drawer__logo-img {
    max-height: 36px;
    width: auto;
}

.menu-drawer__logo-text {
    font-weight: 700;
    font-size: 18px;
}

.drawer__title,
.header__menu-drawer .drawer .drawer__header {
    display: none !important;
}

/* Stop page from nudging right when the menu drawer opens */
html.overflow-hidden,
body.overflow-hidden {
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* If the theme also translates the main content when the drawer is open, kill it */
.menu-open .content-for-layout,
.menu-open #MainContent {
    transform: none !important;
}

/* Drawer should start just below the header height */
.header .drawer .modal__content {
    position: fixed;
    top: var(--header-top-position, 0);
    /* offset by header */
    height: calc(100% - var(--header-top-position, 0));
    padding-top: 0 !important;
    /* no extra bar inside */
}

/* prevent page from shifting when drawer opens */
html.overflow-hidden,
body.overflow-hidden {
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* don’t translate main content when drawer is open */
.menu-open .content-for-layout,
.menu-open #MainContent {
    transform: none !important;
}

/* Drawer sits under the header (and just a bit lower) */
.header .drawer .modal__content {
    position: fixed;
    /* use theme var for header height, then add a tiny offset */
    top: calc(var(--header-top-position, 0px) + 10px);
    height: calc(100% - (var(--header-top-position, 0px) + 10px));
}

/* nice spacing at the very top of the list */
.header__menu-drawer .drawer__main {
    padding-top: 8px;
    /* “a lil bit downer” */
}

/* menu items comfortable vertical rhythm */
.header__menu-drawer .drawer-menus__item>a {
    padding-top: 14px;
    padding-bottom: 14px;
}

.header__menu-drawer .drawer-menus__sub-item>a {
    padding-top: 12px;
    padding-bottom: 12px;
}

/* thin divider line like your screenshot */
.header__menu-drawer .header__drawer-menus {
    padding-bottom: 24px;
}

.header__menu-drawer .header__drawer-menus>li:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

/* toggle hamburger ↔ X based on drawer state */
.header__menu-drawer details>summary .is-close {
    display: none;
}

.header__menu-drawer details[open]>summary .is-menu {
    display: none;
}

.header__menu-drawer details[open]>summary .is-close {
    display: inline-flex;
}

/* optional: size + color to match your header */
.header__menu-drawer .menu-icon .icon {
    width: 22px;
    height: 22px;
    color: #fff;
    /* white icons on black header */
}

/* === Drawer panel: size, position, colors (like 2nd screenshot) === */
.header .drawer .modal__content {
    /* sit a touch below the header */
    top: calc(var(--header-top-position, 0px) + 12px);
    height: calc(100% - (var(--header-top-position, 0px) + 12px));

    /* narrow, left-side panel */
    width: 86vw;
    max-width: 520px;
    /* tweak if you want narrower/wider */
    background: #000;
    /* pure black */
    color: #fff;
    /* white text */
    box-shadow: 0 8px 28px rgba(0, 0, 0, .45);
}

/* stop any inner header bar from showing */
.drawer__title,
.header__menu-drawer .drawer .drawer__header {
    display: none !important;
}

/* give the list a little breathing room at top */
.header__menu-drawer .drawer__main {
    padding-top: 8px;
}

/* === Menu items: typography + spacing === */
.header__menu-drawer .drawer-menus__item>a,
.header__menu-drawer .drawer-menus__sub-item>a {
    color: #fff;
    text-decoration: none;
}

.header__menu-drawer .drawer-menus__item>a {
    /* top-level links */
    padding: 16px 20px;
    font-size: 18px;
    font-weight: 600;
    /* bold like screenshot */
    letter-spacing: .2px;
}

.header__menu-drawer .drawer-menus__sub-item>a {
    /* children links */
    padding: 14px 20px;
    font-size: 16px;
    opacity: .95;
}

/* indentation for nested lists */
.header__menu-drawer .drawer-menus__sub-menus .drawer-menus__sub-item>a {
    padding-left: 30px;
}

/* === Dividers and hover === */
.header__menu-drawer .header__drawer-menus>li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.header__menu-drawer .drawer-menus__sub-menus>li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.header__menu-drawer .drawer-menus__item>a:hover,
.header__menu-drawer .drawer-menus__sub-item>a:hover {
    background: rgba(255, 255, 255, 0.06);
}

/* === Active row (first item “Home” in your 2nd shot) ===
   We’ll highlight:
   - the link with aria-current
   - or the first item as a safe visual default  */
.header__menu-drawer a[aria-current="page"],
.header__menu-drawer .header__drawer-menus>li:first-child>details>summary .drawer-menus__item>a,
.header__menu-drawer .header__drawer-menus>li:first-child>.drawer-menus__sub-item>a {
    background: rgba(255, 255, 255, 0.08);
}

/* arrow / minus icons & the new X/hamburger: keep them white and tidy */
.header__menu-drawer .drawer-menus__item-icon .icon,
.header__menu-drawer .menu-icon .icon {
    color: #fff;
    width: 22px;
    height: 22px;
}

/* collapse background for nested groups (stay dark, subtle contrast) */
.header__menu-drawer .drawer-menus__sub-menus {
    background: rgba(255, 255, 255, 0.03);
}

/* remove any extra inner padding/borders themes might inject */
.header__menu-drawer .drawer__main>.header__drawer-nav {
    padding: 0;
}

/* ── SIDE HEADER (drawer) ONLY ───────────────────────────────────────── */
/* Size the bar */
.header__menu-drawer .drawer__headerbar {
    /* keep it stuck to the top of the drawer panel */
    position: sticky;
    top: 0;

    /* tweak size/spacing */
    height: 56px;
    /* bar height */
    padding: 10px 14px;
    /* inner padding */
    margin-top: 6px;
    /* nudge it a bit down, remove if not needed */

    display: flex;
    align-items: center;

    /* pick ONE of the two layouts below */
    justify-content: center;
    /* center the logo like your 2nd shot */
    /* justify-content: space-between;  <-- use this instead if you want logo left */
}

/* Center-logo layout: keep icons at the far right while logo is centered */
.header__menu-drawer .drawer__headerbar .drawer__icons {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    gap: 8px;
}

/* Logo size inside the side header */
.header__menu-drawer .drawer__headerbar .drawer__logo img {
    height: 34px;
    /* adjust to taste (28–44px usually looks good) */
    width: auto;
}

/* Icon sizes inside the side header */
.header__menu-drawer .drawer__headerbar .icon-button .icon {
    width: 18px;
    height: 18px;
    color: #fff;
}

/* Optional: tighten the menu right under the side header */
.header__menu-drawer .drawer__main {
    padding-top: 8px;
}

/* === push the side (drawer) header down a bit === */
.header .drawer .modal__content {
    position: fixed;
    /* offset drawer below the main header */
    top: calc(var(--header-top-position, 0px) + 64px);
    height: calc(100% - (var(--header-top-position, 0px) + 64px));
    background: #000;
    /* keep black look */
    color: #fff;
}

/* keep scroll and shadow correct */
.header .drawer .modal__content::-webkit-scrollbar {
    width: 0;
    /* optional: hide scrollbar */
}
/* === DRAWER: start a bit lower, match 2nd screenshot === */
/* tweak this one value until the top edge lines up perfectly */
:root {
    --drawer-offset-y: 56px;
}

/* try 52–64 if needed */

.header .drawer .modal__content {
    position: fixed;
    top: calc(var(--header-top-position, 0px) + var(--drawer-offset-y));
    height: calc(100% - (var(--header-top-position, 0px) + var(--drawer-offset-y)));
    background: #000;
    color: #fff;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .45);
}

/* give the first row that darker band, like your 2nd sc */
.header__drawer-menus>li:first-child>details>summary .drawer-menus__item>a,
.header__drawer-menus>li:first-child>.drawer-menus__sub-item>a,
.header__menu-drawer a[aria-current="page"] {
    background: rgba(255, 255, 255, .10);
}

/* comfy spacing + thin separators (keep it clean) */
.header__menu-drawer .drawer-menus__item>a {
    padding: 16px 18px;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
}

.header__menu-drawer .drawer-menus__sub-item>a {
    padding: 14px 18px;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
}

.header__drawer-menus>li {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.header__menu-drawer .drawer-menus__sub-menus>li {
    border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.header__menu-drawer .drawer-menus__item>a:hover,
.header__menu-drawer .drawer-menus__sub-item>a:hover {
    background: rgba(255, 255, 255, .06);
}

/* keep icons white, tidy */
.header__menu-drawer .drawer-menus__item-icon .icon,
.header__menu-drawer .menu-icon .icon {
    color: #fff;
    width: 22px;
    height: 22px;
}

/* if I ever made you add a .drawer__headerbar, hide it */
.header__menu-drawer .drawer__headerbar {
    display: none !important;
}
/* === Drawer perfectly aligned under pink main header === */
:root {
    --drawer-offset-y: 85px;
}

/* increase/decrease if needed */

.header .drawer .modal__content {
    position: fixed;
    /* a bit lower than before */
    top: calc(var(--header-top-position, 0px) + var(--drawer-offset-y));
    height: calc(100% - (var(--header-top-position, 0px) + var(--drawer-offset-y)));

    /* full width under header */
    left: 0;
    right: 0;
    width: 100vw;

    background: #000;
    color: #fff;
    box-shadow: none;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* optional: hide page scroll bar flicker */
html.overflow-hidden,
body.overflow-hidden {
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* menu items stay the same clean look */
.header__drawer-menus>li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.header__menu-drawer .drawer-menus__item>a {
    padding: 16px 18px;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.header__menu-drawer .drawer-menus__sub-item>a {
    padding: 14px 18px;
    font-size: 16px;
    color: #fff;
}

/* === Drawer footer (login + currency + socials) === */
.drawer__footer {
    padding: 20px 18px;
    background: #000;
    color: #fff;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    gap: 14px;
}





.drawer__socials .icon {
    width: 18px;
    height: 18px;
}

/* Drawer socials: horizontal row */
.drawer__footer .drawer__socials .list-social {
    display: flex;
    align-items: center;
    gap: 16px;
    /* space between icons */
    margin: 6px 0 0;
    padding: 0;
}

.drawer__footer .drawer__socials .list-social__item {
    list-style: none;
}

.drawer__footer .drawer__socials .list-social__link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.drawer__footer .drawer__socials .icon {
    width: 18px;
    height: 18px;
}

.drawer__footer .drawer__socials .list-social {
    display: flex;
    align-items: center;
    justify-content: center;
    /* or space-between */
    gap: 16px;
    margin: 6px 0 0;
    padding: 0;
}

.drawer__footer .drawer__socials .list-social__item {
    list-style: none;
}

.drawer__footer .drawer__socials .icon {
    width: 18px;
    height: 18px;
}

/* Center and slightly separate social icons area */
.drawer__footer .drawer__socials {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Reduce the gap between icons and localization */
.drawer__footer .drawer__localization {
    margin-top: 8px;
}

/* Make the icons slightly larger and brighter on hover */
.drawer__footer .drawer__socials .icon {
    width: 20px;
    height: 20px;
    transition: transform 0.2s ease, color 0.2s ease;
}

.drawer__footer .drawer__socials .list-social__link:hover .icon {
    transform: scale(1.1);
    color: #ff3ebf;
    /* Esoes pink highlight */
}

/* Drawer socials horizontal */
.drawer__socials .list-social {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
    padding: 0;
}

.drawer__socials .icon {
    width: 20px;
    height: 20px;
    color: #fff;
    transition: transform 0.2s ease, color 0.2s ease;
}

.drawer__socials .list-social__link:hover .icon {
    transform: scale(1.1);
    color: #ff3ebf;
}

/* Localization (currency) dropdown only */
.drawer__localization {
    margin-top: 10px;
    text-align: center;
}

.drawer__localization .dropdown-menu__button {
    color: #fff;
    border: none;
    background: transparent;
    font-size: 13px;
}

.drawer__localization .dropdown-menu__button span {
    font-weight: 400;
}

/* Country trigger button — dark style */
.drawer__localization .country-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: #000;
    /* black background */
    color: #fff;
    /* white text */
    border: 1px solid #333;
    /* subtle border */
    border-radius: 4px;
    padding: 10px 12px;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.drawer__localization .country-trigger:hover {
    background: #111;
    border-color: #555;
}

/* Arrow icon inside button */
.drawer__localization .country-trigger svg {
    width: 14px;
    height: 14px;
    color: #fff;
    /* white arrow */
    transform: rotate(0deg);
    transition: transform 0.2s ease;
}

.drawer__localization .country-trigger[aria-expanded="true"] svg {
    transform: rotate(180deg);
    /* rotates on open */
}

.header__localization,
.drawer__localization,
.header-drawer__localization,
.menu-drawer__localization,
.localization-form {
    display: none !important;
}

/* Mobile: perfectly center the Esoes logo between left tools and right icons */
@media screen and (max-width: 899px) {
    .header__container {
        /* 3 areas, 3 columns: left tools | centered logo | right buttons */
        grid-template:
            "tools logo buttons"auto / 1fr auto 1fr !important;
    }

    .header__tools {
        /* hamburger / drawer trigger */
        grid-area: tools;
        justify-self: start;
        display: flex;
    }

    .header__buttons {
        /* search + cart */
        grid-area: buttons;
        justify-self: end;
        display: flex;
    }

    .header__heading {
        /* the logo wrapper */
        grid-area: logo;
        justify-self: center;
        /* hard-center the logo cell */
        margin: 10px auto;
        /* keep a bit of vertical rhythm */
        display: flex;
    }

    .header__heading-link {
        /* make sure the link itself doesn’t shift it */
        text-align: center;
        display: inline-block;
    }
}
@media (max-width: 899px) {
    .header__heading img {
        display: block;
        margin: 0 auto;
        transform: translateY(1px);
        /* adjust by 1–2px if needed */
    }
}

@media (min-width:960px) {

    /* Make desktop search inline and remove overlay */
    .header__search details[open] .modal__overlay {
        display: none !important;
    }

    .header__search.tile-search .modal__content {
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .tile-search .search-modal__content {
        justify-content: flex-end;
        padding: 20px 0;
    }

    .tile-search .search-modal__form {
        max-width: 520px;
    }

    .tile-search .search-modal__input {
        height: 44px;
        border-radius: 9999px;
        border: 1px solid rgba(255, 255, 255, .3);
        padding: 10px 44px;
    }

    .tile-search .search-modal__submit-button {
        left: 0;
        right: auto;
        width: 44px;
    }
}

/* Desktop header layout + search polish */
@media (min-width:960px) {

    /* lock in a true center logo with left/right rails */
    .header__container--middle-line {
        grid-template:
            "tools logo buttons"auto "menu  menu  menu"auto / 1fr auto 1fr;
    }

    .header__heading {
        justify-self: center;
    }

    .header__tools {
        justify-self: start;
    }

    .header__buttons {
        justify-self: end;
    }

    /* make search an inline pill and keep overlay off */
    .header__search details[open] .modal__overlay {
        display: none !important;
    }

    .header__search .modal__content {
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* size so placeholder doesn't truncate */
    .tile-search .search-modal__form {
        max-width: clamp(360px, 36vw, 560px);
        /* was ~520px */
        width: 100%;
    }

    .tile-search .search-modal__input {
        height: 44px;
        border-radius: 9999px;
        border: 1px solid rgba(255, 255, 255, .3);
        padding: 10px 44px 10px 44px;
        /* room for icon on the left */
    }

    .tile-search .search-modal__submit-button {
        left: 0;
        /* icon on the left */
        right: auto;
        width: 44px;
    }
}

/* Slightly smaller pill on narrow laptops */
@media (min-width:960px) and (max-width:1200px) {
    .tile-search .search-modal__form {
        max-width: clamp(320px, 32vw, 480px);
    }
}



/* Desktop: order header children like the original design */
@media screen and (min-width: 990px) {
    header.header--top-center.header--mobile-center {
        display: grid;
        grid-template-columns: auto auto 1fr auto;
        grid-template-areas: "menu search logo icons";
        align-items: center;
    }

    header.header--top-center header-drawer {
        grid-area: menu;
        /* hamburger */
    }

    /* the standalone search icon right after the drawer */
    header.header--top-center>details-modal.header__search {
        grid-area: search;
        justify-self: flex-start;
    }

    /* center the logo */
    header.header--top-center>.header__heading-link {
        grid-area: logo;
        justify-self: center;
    }

    /* icons block (account + cart) on the right */
    header.header--top-center>.header__icons {
        grid-area: icons;
        justify-self: flex-end;
    }

    /* hide duplicate search icon that lives inside .header__icons on desktop */
    header.header--top-center .header__icons>details-modal.header__search {
        display: none;
    }
}

/* ====================================================== */
/* 1) BREAK OUT OF SHOPLINE'S PAGE-WIDTH CONTAINER        */
/* ====================================================== */
.headline {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #000 !important;
    padding: 0 !important;
    position: relative;
    z-index: 100;
}

/* Remove box limit from Shopline container */
.page-width.header__container {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ====================================================== */
/* 2) FULL-WIDTH TOP ICON ROW — RIGHT ALIGNED             */
/* ====================================================== */
.header-icons-top-row {
    width: 100% !important;
    max-width: none !important;
    padding: 12px 40px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center;
    background: #000 !important;
    box-sizing: border-box;
}

.header-icons-top-row__inner {
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
}

/* Remove any accidental divider */
.header-icons-top-row::after {
    display: none !important;
}

/* ====================================================== */
/* 3) FULL-WIDTH NAVIGATION ROW (second row)              */
/* ====================================================== */
.header-inline-full-row {
    width: 100% !important;
    max-width: none !important;
    padding: 0px 0px !important;
    background: #000 !important;
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    box-sizing: border-box;
}

.header-inline-full-row__list {
    display: flex !important;
    gap: 32px !important;
    justify-content: center !important;
}

.header-inline-full-row__list a {
    color: #fff !important;
    white-space: nowrap;
}

/* ====================================================== */
/* 4) REMOVE SHOPLINE DEFAULT DESKTOP HEADER ITEMS        */
/* ====================================================== */
@media (min-width: 1200px) {

    .header__icons,
    .header__tools,
    .header__inline-nav {
        display: none !important;
    }
}
/* ============================================
   MAKE THE WHOLE HEADER (HEADLINE) FULL WIDTH
   ============================================ */
.headline {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #000 !important;
    padding: 0 !important;
}

/* Remove max-width container restrictions */
.page-width.header__container {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================
   TOP ROW — ICONS (full width, no gap below)
   ============================================ */
.header-icons-top-row {
    width: 100% !important;
    padding: 14px 40px !important;
    background: #000 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center;
    box-sizing: border-box;
    margin: 0 !important;
    /* remove gaps */
    border-bottom: 0 !important;
    /* force no separator */
}

.header-icons-top-row::after {
    display: none !important;
    /* remove fake divider */
}

/* ============================================
   SECOND ROW — FULL-WIDTH MENU (no space above)
   ============================================ */
.header-inline-full-row {
    width: 100% !important;
    padding: 0px 0px !important;
    background: #000 !important;
    box-sizing: border-box;

    margin: 0 !important;
    /* REMOVE GAP BETWEEN ROWS */
    border-top: 0 !important;
    /* ensure no dividing line */

    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

/* Center menu links */
.header-inline-full-row__list {
    display: flex !important;
    justify-content: center !important;
    gap: 40px !important;
    margin: 0 !important;
}

.header-inline-full-row__list a {
    color: #fff !important;
    white-space: nowrap;
}

/* ============================================
   REMOVE SHOPLINE DEFAULT HEADER ELEMENTS
   ============================================ */
@media (min-width: 1200px) {

    .header__icons,
    .header__tools,
    .header__inline-nav {
        display: none !important;
    }
}
/* Remove ALL horizontal overflow / sideways scrolling */
html,
body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Make sure nothing inside can break the width */
* {
    box-sizing: border-box !important;
}

/* Prevent grids from expanding beyond viewport */
.headline,
.header-icons-top-row,
.header-inline-full-row,
.page-width.header__container {
    max-width: 100% !important;
    overflow-x: hidden !important;
}