.header .contents {
    display: contents;
}

.header-section {
    --header-column-gap: 24px;
    --header-column-gap-mobile: 8px;
    --header-background: var(--color-background, 255, 255, 255);
    --header-color-text: var(--color-text, 0, 0, 0);
}

.header-section.transparent {
    position: absolute;
    width: 100%;
    background: linear-gradient(180deg,
            rgb(0 0 0 / 60%) 0%,
            rgb(22 19 19 / 0%) 100%);

    --header-transparent-color-text: 255, 255, 255;
}

.header-section.transparent::after {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    display: block;
    width: 100%;
    height: 0;
    content: "";
    background-color: rgb(var(--header-background));
    transition: height 0.1s ease-in;
}

.header-section.transparent:hover {
    --header-transparent-color-text: var(--header-color-text);
}

.header-section.transparent:hover::after {
    height: 100%;
}

.theme-sticky-header--sticky .header-section.transparent {
    position: relative;

    --header-transparent-color-text: var(--header-color-text);
}

.header-section {
    --header-nav-dropdown-menu-z-index: 2;
    --header-nav-dropdown-panel-z-index: 4;

    position: relative;
}

/* .header-section .full-screen-width {
    max-width: 70%;
} */

.header-section.divider {
    border-block-end: 1px solid rgb(var(--color-entry-line));
}

.transparent .header__container {
    background-color: rgba(var(--header-background), 0);
}

.theme-sticky-header--sticky .transparent .header__container {
    background-color: rgba(var(--header-background), 1);
}

.header__container-top {
    position: relative;
    box-sizing: content-box;
}

.header__container-top-wrap {
    position: relative;
    display: grid;
    grid-template: "action-bar-left nav logo action-bar-right";
    grid-template-rows: auto;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto minmax(0, 1fr);
    column-gap: var(--header-column-gap);
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
}

.header__container-top-wrap[layout$="_left_menu"] .header__container-top-wrap theme-nav-bar .header-nav {
    margin-inline-start: calc(var(--header-column-gap) * -1);
}

@media (min-width: 960px) {
    .header__container-top-wrap[layout^="center_logo_"] .header__container-top-wrap .header__logo-text {
        text-align: center;
    }
}

@media (min-width: 960px) {
    .header__container[layout="center_logo_left_menu"] .header__container-top-wrap .header-nav {
        margin-inline-start: calc(var(--header-column-gap) * -1);
    }
}

.header__container[layout="left_logo_wrap_menu"] .header__container-top-wrap {
    grid-template: "logo action-bar-right";
    grid-template-columns: auto 1fr;
}

@media (min-width: 960px) {
    .header__container[layout="left_logo_wrap_menu"] .header__container-top-wrap .header__logo {
        justify-content: flex-start;
    }

    .header__container[layout="left_logo_wrap_menu"] .header__container-top-wrap .header-action-bar.right {
        width: 100%;
    }

    .header__container[layout="left_logo_wrap_menu"] .header__container-top-wrap .header-action-bar.right .header-action-bar__search-bar {
        margin-inline-end: auto;
    }
}

.header__container[layout^="left_logo_left_menu"] .header__container-top-wrap {
    grid-template-areas: "logo nav action-bar-right";
    grid-template-columns: minmax(0, auto) minmax(0, auto) 1fr;
}

.header__container[layout^="left_logo_center_menu"] .header__container-top-wrap {
    grid-template-areas: "logo nav action-bar-right";
    grid-template-columns: 1fr minmax(0, auto) 1fr;
}

/* .header__container[layout="center_logo_wrap_menu"] .header__container-top-wrap {
  display: flex;
} */
.header__container[layout="center_logo_wrap_menu"] .header__container-top-wrap {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

.header__container[layout="center_logo_wrap_menu_2"] .header__container-top-wrap {
    grid-template: "action-bar-left logo action-bar-right";
    grid-template-columns: minmax(min-content, 1fr) minmax(0, auto) minmax(min-content,
            1fr);
}

.header__container[layout="center_logo_wrap_menu_2"] .header__container-top-wrap .header-action-bar.left {
    width: 100%;
}

.header__container[layout="center_logo_left_menu"][type="drawer"] .header__container-top-wrap {
    grid-template-areas: "action-bar-left logo action-bar-right";
    grid-template-columns: 1fr minmax(0, auto) 1fr;
}

.header__container[layout="left_logo_center_menu"][type="drawer"] .header__container-top-wrap {
    grid-template-areas: "action-bar-left logo nav action-bar-right";
    grid-template-columns: minmax(0, auto) 1fr minmax(0, auto) 1fr;
}

.header__container-bottom {
    position: relative;
    z-index: var(--header-nav-dropdown-menu-z-index);
    display: none;
}

.header__container-bottom.divider {
    border-block-start: 1px solid rgb(var(--color-entry-line));
}

.header__container[type="drawer"] .header__container-bottom {
    display: none;
}

.header__logo {
    position: relative;
    z-index: calc(var(--header-nav-dropdown-menu-z-index) + 1);
    display: flex;
    grid-area: logo;
    align-items: center;
    justify-content: center;
    order: 20;
    transform: none;
}

.header__logo-wrapper {
    position: relative;
    display: flex;
}

.header__logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: Jost, sans-serif;
    font-size: 30px;
    white-space: nowrap;
}

.header__logo-link:not(.button),
.header__logo-link:not(.button):hover {
    color: rgb(var(--header-color-text));
}

.header__logo-text {
    text-align: center;
    word-break: break-all;
    white-space: normal;
}

.header__logo-image {
    width: var(--desktop-size);
    height: auto;
}

@media (max-width: 959px) {
    .header__logo-image {
        width: var(--mobile-size);
        max-height: 100%;
    }
}

.header__logo-link.transparent {
    position: absolute;
    inset: 0;
    max-height: 100%;
    visibility: hidden;
}

.header__logo-link.transparent .header__logo-image {
    height: 100%;
    object-fit: contain;
}

.header [layout^="left_logo_"]__logo-link {
    justify-content: flex-start;
}

.transparent:not(:hover) .header__logo-link {
    color: rgb(var(--header-transparent-color-text, var(--color-text)));
    visibility: hidden;
}

.transparent:not(:hover) .header__logo-link.transparent {
    visibility: visible;
}

.theme-sticky-header--sticky .transparent .header__logo-link {
    color: inherit;
    visibility: visible;
}

.theme-sticky-header--sticky .transparent .header__logo-link.transparent {
    visibility: hidden;
}

.header__container[layout="center_logo_wrap_menu"] .header__action-bar,
.header__container[layout="center_logo_wrap_menu_2"] .header__action-bar {
    flex: 1;
}

[layout$="_wrap_menu"] .header__container-top~.header__container-bottom,
[layout$="_wrap_menu_2"] .header__container-top~.header__container-bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

[type="drawer"] .header__container-top~.header__container-bottom {
    display: none;
}

@media (max-width: 959px) {
    .header__container[mobile-layout] .header__container-top-wrap {
        column-gap: var(--header-column-gap-mobile);
    }

    .header__container[mobile-layout] .header__container-top-wrap .header-nav {
        display: none;
    }

    .header__container[mobile-layout="left_logo"] .header__container-top-wrap {
        grid-template: "action-bar-left logo action-bar-right";
        grid-template-columns: auto auto minmax(min-content, 1fr);
    }

    .header__container[mobile-layout="left_logo"] .header__container-top-wrap .header__logo {
        justify-content: flex-start;
    }

    .header__container[mobile-layout="left_logo"] .header__container-top-wrap .header-action-bar {
        margin-inline-start: 0;
    }

    .header__container[mobile-layout="left_logo"] .header__container-top-wrap .header-action-bar.left {
        flex: 0;
        margin-inline-end: 0;
    }

    .header__container[mobile-layout="left_logo"] .header__container-top-wrap .header-action-bar.right .header-action-bar__search {
        display: inline-flex;
    }

    .header__container[mobile-layout="center_logo"] .header__container-top-wrap {
        grid-template: "action-bar-left logo action-bar-right";
        grid-template-columns: minmax(min-content, 1fr) auto minmax(min-content,
                1fr);
    }

    .header__container[mobile-layout="center_logo"] .header__container-top-wrap .header-action-bar.left {
        width: 100%;
    }
}

theme-nav-bar {
    display: contents;
}

@media (max-width: 959px) {
    .header-nav {
        display: none !important;
    }
}

[layout="left_logo_left_menu"] .header-nav {
    order: 10;
    margin: 0 auto 0 0;
}

.header-nav__menu {
    display: flex;
    flex-wrap: wrap;
}

.header-nav__menu-item {
    --nav-menu-item-padding-block: 12px;

    box-sizing: content-box;
    max-width: 100%;
    min-height: 26px;
    margin-inline: 16px;
}

.header-nav__menu-item>a {
    position: relative;
    z-index: calc(var(--header-nav-dropdown-menu-z-index) + 1);
    width: 100%;
    height: 100%;
    font-size: var(--body3-font-size);
    font-weight: 400;
}

.header-nav__menu-item>a:not(.button),
.header-nav__menu-item>a:not(.button):hover {
    color: rgb(var(--header-color-text));
}

.transparent:not(:hover) .header-nav__menu-item>a {
    color: rgb(var(--header-transparent-color-text, var(--color-text)));
}

.theme-sticky-header--sticky .transparent .header-nav__menu-item>a {
    color: rgb(var(--header-color-text));
}

.header-nav__menu-item>a>span {
    padding: var(--nav-menu-item-padding-block) 0;
}

[layout$="_wrap_menu"] .header__container-top .header-nav,
[layout$="_wrap_menu_2"] .header__container-top .header-nav {
    display: none;
}

.header-nav__underline {
    --underline-size: 2px;

    position: relative;
    display: inline-flex;
    flex-direction: column;
    white-space: nowrap;
}

.header-nav__underline::after {
    display: block;
    width: 0;
    height: var(--underline-size);
    pointer-events: none;
    content: "";
    background-color: rgb(var(--color-text));
    transition: width 200ms ease-in;
}

.header-nav-dropdown-menu .header-nav__underline::after,
.header-nav-dropdown-panel .header-nav__underline::after {
    inset-block-end: 0;
}

.header-nav__underline:hover::after,
.header-nav__underline-control:hover>.header-nav__underline::after,
.header-nav__underline-scope:hover>.header-nav__underline-control>.header-nav__underline::after {
    width: 100%;
}

.header-nav__ellipsis {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    white-space: normal;
    -webkit-box-orient: vertical;
}

theme-header-nav-dropdown {
    contain: layout;
}

.header-nav-dropdown-menu-scope {
    position: absolute;
    z-index: var(--header-nav-dropdown-panel-z-index);
    display: none;
}

.header-nav__menu-item:hover .header-nav-dropdown-menu-scope {
    display: block;
    animation: animation-slide-in 300ms ease forwards;
}

.header-nav-dropdown-menu-scope.right {
    inset-inline: auto 0;
}

.header-nav-dropdown-menu {
    position: relative;
    z-index: var(--header-nav-dropdown-menu-z-index);
    box-sizing: content-box;
    display: inline-flex;
    width: 100%;
}

.header-nav-dropdown-menu__menu {
    padding-block: 10px;
    background-color: rgb(var(--header-background));
    box-shadow: 0 5px 20px 0 rgb(0 0 0 / 12%);
}

.header-nav-dropdown-menu__hero {
    display: inline-flex;
    flex: 1;
    width: max-content;
    min-width: 168px;
    max-width: 360px;
    padding: 4px 20px;
    font-size: var(--body3-font-size);
    line-height: 1.625;
    transition: color 200ms ease-in;
}

.header-nav-dropdown-menu__hero:not(.button),
.header-nav-dropdown-menu__hero:not(.button):hover {
    color: rgb(var(--header-color-text));
}

.header-nav-dropdown-panel {
    position: absolute;
    inset-inline-start: 0;
    z-index: var(--header-nav-dropdown-panel-z-index);
    display: none;
    width: 100%;
}

.header-nav__menu-item:hover .header-nav-dropdown-panel {
    display: block;
    animation: animation-slide-in 300ms ease forwards;
}

.header-nav-dropdown-panel__menu {
    position: absolute;
    z-index: var(--header-nav-dropdown-menu-z-index);
    display: flex;
    width: 100%;
    background-color: rgb(var(--color-background));
    box-shadow: 0 10px 20px -10px rgb(0 0 0 / 10%);
}

.header-nav-dropdown-panel__menu>ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    width: 100%;
    padding: 40px;
}

.header-nav-dropdown-panel__menu>ul>li {
    flex: 1 1 200px;
    min-width: 200px;
    max-width: 460px;
    padding-inline-end: 15px;
}

.header-nav-dropdown-panel__menu>ul>li>.header-nav__underline-scope {
    display: inline-flex;
    flex-direction: column;
    max-width: 100%;
}

.header-nav-dropdown-panel__hero {
    flex: 1;
    margin-block-end: 15px;
    font-size: var(--body2-font-size);
    font-weight: 500;
    line-height: 1.6111;
}

.header-nav-dropdown-panel__hero:not(.button),
.header-nav-dropdown-panel__hero:not(.button):hover {
    color: rgb(var(--header-color-text));
}

.header-nav-dropdown-panel__link {
    display: inline-flex;
    flex: 1;
    max-width: 100%;
    padding: 4px 15px 4px 0;
    font-size: var(--body3-font-size);
    line-height: 1.625;
    transition: color 200ms ease-in;
}

.header-nav-dropdown-panel__link:not(.button),
.header-nav-dropdown-panel__link:not(.button):hover {
    color: rgb(var(--header-color-text));
}

.header-nav-dropdown-panel__hero>.header-nav__underline,
.header-nav-dropdown-panel__link>.header-nav__underline {
    max-width: 100%;
}

.header-nav-dropdown-panel__submenu {
    display: flex;
    flex-direction: column;
}

.header-nav-dropdown-panel__submenu>ul>li {
    display: flex;
    flex: 1;
    max-width: 100%;
}

.header-nav-dropdown-panel__menu>ul.has-image-items {
    min-width: 0;
}

.header-nav__menu-item:hover>a.header-nav__underline::after {
    width: 100%;
}

.header-nav mark.lighthighted {
    display: block;
    color: rgb(var(--nav-bar-highlighted-color, var(--color-button-text)));
    background: linear-gradient(90deg,
            rgb(var(--nav-bar-highlighted-background-color,
                    var(--color-button-background))) 0%,
            rgb(201 245 47 / 0%) 100%);
}

.header-nav-with-images-dropdown-panel,
.header-super-nav-dropdown-panel {
    display: none;
    align-items: center;
    justify-content: center;
    height: auto;
    background-color: rgb(var(--header-background));
}

.header-nav__menu-item:hover .header-nav-with-images-dropdown-panel,
.header-nav__menu-item:hover .header-super-nav-dropdown-panel {
    display: flex;
}

.header-nav-with-images-dropdown-panel__item,
.header-super-nav-dropdown-panel__item {
    position: relative;
    display: flex;
    width: 25%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.header-nav-with-images-dropdown-panel__item::after,
.header-super-nav-dropdown-panel__item::after {
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgb(0 0 0 / calc(var(--nav-super-gallery-background-opcity) / 100));
}

.header-nav-with-images-dropdown-panel__item>img,
.header-super-nav-dropdown-panel__item>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.header-nav-with-images-dropdown-panel__item>*,
.header-super-nav-dropdown-panel__item>* {
    transition: transform 200ms ease-in;
}

.header-nav-with-images-dropdown-panel__item:hover>*,
.header-super-nav-dropdown-panel__item:hover>* {
    transform: scale(1.1);
    transform-origin: center;
}

.header-nav-with-images-dropdown-panel__item-inner,
.header-super-nav-dropdown-panel__item-inner {
    position: absolute;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding-inline: 20px;
    color: rgb(var(--nav-super-gallery-text-color, #fff));
    pointer-events: none;
}

.header-nav-with-images-dropdown-panel__item:not( :has(.header-nav-with-images-dropdown-panel__item-inner))::after,
.header-super-nav-dropdown-panel__item:not( :has(.header-super-nav-dropdown-panel__item-inner))::after {
    display: none;
}

.nav-item-with-images {
    display: contents;
}

.header-nav-with-images-dropdown-panel__item {
    flex: 1;
    width: auto;
    min-width: 25%;
    max-width: 100%;
}

.header-nav-with-images-dropdown-panel__item:hover>*:not(img) {
    transform: none;
}

.header-nav-with-images-dropdown-panel__item.before {
    order: -1;
}

.header-nav-with-images-dropdown-panel__item.after {
    order: 2;
}

.header-nav-with-images-dropdown-panel__item-inner {
    align-items: flex-start;
    pointer-events: auto;
}

.header-nav-with-images-dropdown-panel__title {
    margin-block: 16px;
}

.header-nav-with-images-dropdown-panel__link {
    display: block;
    padding-block-end: 7px;
    cursor: pointer;
}

.header-nav-with-images-dropdown-panel__link:not(.button),
.header-nav-with-images-dropdown-panel__link:not(.button):hover {
    color: inherit;
    text-decoration: underline;
}

.header-nav__menu-item--adapt .header-super-nav-dropdown-panel__item>img {
    position: absolute;
    height: unset;
    object-fit: unset;
}

.header-search-bar {
    --header-search-bar-slide-anime-duration: 200ms;

    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    z-index: -1;
    display: flex;
    flex-direction: column;
    column-gap: var(--header-column-gap);
    align-items: center;
    justify-content: start;
    order: 30;
    width: 100%;
    height: 100%;
    margin-inline-start: auto;
    pointer-events: none;
    opacity: 0;
    transition:
        z-index 1ms ease var(--header-search-bar-slide-anime-duration),
        opacity var(--header-search-bar-slide-anime-duration) ease-in,
        transform var(--header-search-bar-slide-anime-duration) ease-in;
}

.header-search-bar.divider::after {
    position: absolute;
    inset-block-end: 0;
    inset-inline: 0;
    z-index: 4;
    height: 1px;
    content: "";
    background-color: rgba(var(--color-entry-line), 1);
}

@media (max-width: 959px) {
    .header-search-bar {
        margin-inline-start: 0;
    }
}

.header-search-bar.open {
    z-index: calc(var(--header-nav-dropdown-menu-z-index) + 1);
    pointer-events: all;
    opacity: 1;
    transition:
        opacity var(--header-search-bar-slide-anime-duration) ease-in,
        transform var(--header-search-bar-slide-anime-duration) ease-in;
}

.header-search-bar--lockscreen {
    overflow: hidden !important;
}

.header-search-bar__backdrop {
    position: fixed;
    inset-inline-start: 0;
    display: block !important;
    width: 100%;
    height: 100vh;
    background: rgb(0 0 0 / 40%);
}

.header-search-bar__icon {
    box-sizing: content-box;
    display: inline-flex;
    flex-shrink: 0;
    justify-self: end;
    width: 28px;
    height: 28px;
}

@media (max-width: 959px) {
    .header-search-bar__icon {
        width: 26px;
        height: 26px;
    }
}

.header-search-bar__form {
    position: relative;
    z-index: 1;
    display: inline-flex;
    gap: 4px;
    align-items: center;
    width: 100%;
    min-height: 100%;
    padding: 22px 48px;
    background-color: rgba(var(--color-background), 1);
}

@media (max-width: 959px) {
    .header-search-bar__form {
        padding: 10px 20px;
    }
}

.header-search-bar__form .button {
    box-sizing: content-box;
    width: 26px;
    height: 26px;
}

@media (min-width: 960px) {
    .header-search-bar__form .button {
        width: 28px;
        height: 28px;
    }
}

.header-search-bar__form .field__input {
    flex: 1;
    width: 100%;
    padding: 0;
}

.header-search-bar__form .field__input::placeholder {
    opacity: 1;
}

[layout$="_wrap_menu"] .header__container-top .header-search-bar [layout$="_wrap_menu_2"] .header__container-top .header-search-bar {
    order: 10;
    margin-inline-start: 0;
}

.header-search-bar__results {
    position: relative;
    z-index: 1;
    display: none;
    flex-direction: column;
    width: 100%;
    padding: 10px 48px;
    background-color: rgba(var(--color-background), 1);
}

@media (max-width: 959px) {
    .header-search-bar__results {
        padding: 0 20px;
    }
}

.header-search-bar__results.shown {
    display: flex;
}

.header-search-bar__results-loading {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
}

.header-search-bar__results-spinner {
    width: 20px;
    height: 20px;
    color: rgba(var(--color-text), 1);
    animation: animation-circling linear 1.5s infinite;
}

.header-search-bar__results-list {
    display: block;
}

.header-search-bar__results.loading {
    align-items: center;
    justify-content: center;
}

.header-search-bar__results.loading .header-search-bar__results-loading {
    display: flex;
}

.header-search-bar__results.loading .header-search-bar__results-list {
    display: none;
}

@keyframes animation-predictive-search-fade-in {
    0% {
        opacity: 0;
        transform: translateY(15px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.predictive-search-section {
    opacity: 0;
    transform: translateY(15px);
    animation: animation-predictive-search-fade-in 500ms ease forwards;
}

.predictive-search__header {
    --header-height: 22px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block-end: 12px;
    margin-block-end: 24px;
    border-block-end: 1px solid rgb(221 221 221 / 100%);
}

.predictive-search__title {
    display: flex;
    align-items: center;
    height: var(--header-height);
    overflow: hidden;
    font-size: var(--body4-font-size);
    color: rgba(var(--color-text), 1);
}

.predictive-search__count {
    display: flex;
    align-items: center;
    height: var(--header-height);
    overflow: hidden;
}

.predictive-search__results {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 20px;
}

@media (width >=980px) and (width <=1200px) {
    .predictive-search__results {
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
    }
}

@media (width >=600px) and (width <=980px) {
    .predictive-search__results {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

@media (width <=600px) {
    .predictive-search__results {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }
}

.predictive-search__result-item {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.predictive-search__product {
    display: flex;
    gap: 10px;
}

@media (max-width: 959px) {
    .predictive-search__product {
        flex-direction: row;
        gap: 16px;
    }
}

.predictive-search__product-title {
    display: -webkit-box;
    overflow: hidden;
    font-size: var(--body3-font-size);
    font-weight: 400;
    line-height: 1.6;
    color: rgba(var(--color-text), 1);
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    white-space: normal;
    -webkit-box-orient: vertical;
}

@media (max-width: 959px) {
    .predictive-search__product-title {
        font-size: var(--body5-font-size);
        line-height: 1.3125;
    }
}

.predictive-search__product-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.predictive-search__product-image-wrap {
    position: relative;
    display: flex;
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    overflow: hidden;
}

.predictive-search__product-image {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 959px) {
    .predictive-search__product-image {
        width: 80px;
        height: 80px;
    }
}

.predictive-search__product-price {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: var(--body3-font-size);
    font-weight: 500;
    line-height: 1.5909;
    color: rgba(var(--color-sale), 1);
    word-break: break-all;
    white-space: normal;
}

@media (max-width: 959px) {
    .predictive-search__product-price {
        font-size: var(--body2-font-size);
        line-height: 1.6;
    }
}

.predictive-search__product-save-price {
    font-size: var(--body5-font-size);
    font-weight: 500;
    line-height: 1.6;
    text-decoration: line-through;
    word-break: break-all;
    white-space: normal;
    opacity: 0.5;
}

.predictive-search__footer {
    display: flex;
    align-items: center;
    padding: 20px 0;
    margin-block-start: 4px;
}

.predictive-search__more {
    gap: 8px;
    text-decoration: none !important;
    white-space: break-spaces !important;
}

theme-sticky-header {
    --theme-sticky-header-top: 0;

    position: relative;
    inset-block-start: 0;
    z-index: calc(var(--z-index-fixed) - 1);
    display: block;
}

.theme-sticky-header--sticky {
    display: contents;
}

.theme-sticky-header--sticky theme-sticky-header {
    position: sticky;
    inset-block-start: var(--theme-sticky-header-top);
    animation: animation-header-sticky 0.26s ease-out forwards;
}

.theme-sticky-header--sticky-collapse theme-sticky-header {
    animation-name: animation-header-sticky-collapse;
}

@keyframes animation-header-sticky {
    0% {
        transform: translateY(calc(-100% + var(--theme-sticky-header-top) * -1));
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes animation-header-sticky-collapse {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(calc(-100% + var(--theme-sticky-header-top) * -1));
    }
}

theme-dropdown-menu {
    position: relative;
    display: inline-flex;
}

theme-dropdown-menu .dropdown-menu__label {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    cursor: pointer;
    user-select: none;
}

theme-dropdown-menu .dropdown-menu__label-text {
    display: inline-flex;
    color: rgb(var(--header-color-text));
    white-space: nowrap;
}

.header-nav-drawer theme-dropdown-menu .dropdown-menu__label-text {
    white-space: normal;
}

.transparent:not(:hover) theme-dropdown-menu .dropdown-menu__label-text {
    color: rgb(var(--header-transparent-color-text, var(--header-color-text)));
}

.theme-sticky-header--sticky .transparent theme-dropdown-menu .dropdown-menu__label-text {
    color: rgb(var(--header-color-text));
}

theme-dropdown-menu .dropdown-menu__label-arrow {
    display: inline-flex;
    width: 10px;
    height: 10px;
    transition: transform 0.16s ease-in-out;
}

theme-dropdown-menu .dropdown-menu__list {
    position: absolute;
    font-size: 14px;
    inset-block-start: calc(100% + 4px);
    inset-inline-end: 0;
    z-index: var(--z-index-dropdown);
    display: none;
    width: max-content;
    max-height: 530px;
    padding-block: 10px;
    margin-block-end: env(safe-area-inset-bottom, 0);
    overflow-y: auto;
    color: rgb(var(--header-color-text));
    background: white;
    box-shadow: 0 5px 20px 0 rgb(0 0 0 / 12%);
    animation: animation-dropdown 0.16s ease-in;
    text-transform: uppercase;
}

theme-dropdown-menu .dropdown-menu__list::-webkit-scrollbar-thumb {
    background: rgb(var(--header-color-text));
    border-radius: 2px;
}

theme-dropdown-menu.top .dropdown-menu__list {
    inset-block: auto calc(100% + 4px);
}

theme-dropdown-menu.left .dropdown-menu__list {
    inset-inline: 0 auto;
}

theme-dropdown-menu .dropdown-menu__list-item {
    display: flex;
    padding: 4px 15px;
    line-height: 45px;
    word-break: keep-all;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
}

theme-dropdown-menu .dropdown-menu__list-item a:not(.button),
theme-dropdown-menu .dropdown-menu__list-item a:not(.button):hover {
    color: rgb(var(--header-color-text));
}

theme-dropdown-menu .dropdown-menu__divider {
    height: 1px;
    margin: 4px 15px;
    background: rgb(var(--color-entry-line));
}

theme-dropdown-menu .dropdown-menu__trigger {
    position: fixed;
    inset-block-start: -1000px;
    inset-inline-start: -1000px;
    pointer-events: none;
    visibility: hidden;
    user-select: none;
    opacity: 0;
}

theme-dropdown-menu.hover:hover .dropdown-menu__list {
    display: block;
}

theme-dropdown-menu .dropdown-menu__trigger:checked~.dropdown-menu__label-arrow {
    transform: rotate(-180deg);
}

theme-dropdown-menu .dropdown-menu__label:has(.dropdown-menu__trigger:checked)~.dropdown-menu__list {
    display: block;
}

theme-locale-picker {
    display: contents;
}

theme-locale-picker>form {
    display: contents;
}

theme-locale-picker .theme-locale-picker__inner {
    display: inline-flex;
    flex-shrink: 1;
    gap: 28px;
    align-items: center;
    min-width: 0;
}

theme-locale-picker theme-dropdown-menu {
    min-width: 0;
}

.header-action-bar {
    position: relative;
    display: flex;
    flex: 0;
    flex-wrap: nowrap;
    column-gap: var(--header-column-gap);
    align-items: center;
    order: 40;
    padding-block: 0;
    padding-block: 12px;
    margin-inline-start: auto;
}

@media (max-width: 959px) {
    .header-action-bar {
        display: flex;
        column-gap: var(--header-column-gap-mobile);
    }
}

.header-action-bar>* {
    position: relative;
    z-index: calc(var(--header-nav-dropdown-menu-z-index) + 1);
}

@media (max-width: 959px) {
    .header-action-bar {
        flex: 1;
        padding: 0;
    }
}

.header__container[layout="center_logo_wrap_menu"] .header-action-bar {
    flex: 1;
}

.header-action-bar .button--icon {
    display: inline-flex;
    justify-self: end;
    width: 28px;
    height: 28px;
}

.header-action-bar .button--hidden {
    display: none;
}

@media (max-width: 959px) {
    .header-action-bar .button--hidden-mobile {
        display: none;
    }
}

@media (min-width: 960px) {
    .header-action-bar .button--hidden-desktop {
        display: none;
    }
}

.header-action-bar__search-bar-container {
    display: inline-flex;
    flex-shrink: 9;
}

.header-action-bar__search-bar {
    display: inline-flex;
    flex-shrink: 1;
    gap: 10px;
    width: 100%;
    min-width: 48px;
    max-width: 300px;
    height: 48px;
    padding: 10px;
    overflow: hidden;
    color: rgb(var(--header-color-text));
    background-color: rgb(var(--header-background));
    border: 1px solid rgb(var(--color-entry-line));
    border-radius: 6px;
    transform:
        color 200ms ease-in-out,
        background-color 200ms ease-in-out;
}

.header-action-bar__search-bar-icon {
    display: inline-flex;
    flex-shrink: 0;
    color: inherit;
}

.header-action-bar__search-bar-input {
    width: 100%;
    overflow: hidden;
    font-size: var(--body3-font-size);
    color: inherit;
    appearance: none;
    background-color: rgb(0 0 0 / 0%);
    border: none;
    outline: none;
    box-shadow: none;
}

.header-action-bar__search-bar-input::-webkit-search-cancel-button {
    display: none;
}

.header-action-bar__search-bar-input::placeholder {
    color: inherit;
}

.header-action-bar__search.button--icon {
    margin-inline-end: 0;
}

.header-action-bar__results {
    position: absolute;
    inset-block-start: 100%;
    z-index: var(--z-index-dropdown);
    display: none;
    flex-direction: column;
    width: 100%;
    max-height: 80vh;
    padding: 20px;
    overflow: hidden auto;
    background-color: rgba(var(--color-background), 1);
    border: 1px solid rgb(0 0 0 / 10%);
    box-shadow: 0 10px 20px 0 rgb(0 0 0 / 10%);
}

.header-action-bar__results.shown {
    display: flex;
}

.header-action-bar__results-loading {
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
}

.header-action-bar__results-spinner {
    width: 20px;
    height: 20px;
    color: rgba(var(--color-text), 1);
    animation: animation-circling linear 1.5s infinite;
}

.header-action-bar__results-list {
    display: block;
}

.header-action-bar__results.loading {
    align-items: center;
    justify-content: center;
}

.header-action-bar__results.loading .header-action-bar__results-loading {
    display: flex;
}

.header-action-bar__results.loading .header-action-bar__results-list {
    display: none;
}

.header-action-bar__results .predictive-search__results {
    grid-template-columns: repeat(1, 1fr);
}

.header-action-bar__results .predictive-search__product {
    flex-direction: row;
}

.header-action-bar__results .predictive-search__product-image-wrap {
    display: block;
    grid-area: image;
    width: 62px;
    height: 62px;
    overflow: visible;
    object-fit: cover;
    object-position: center;
}

.header-action-bar__results .predictive-search__product-title {
    display: block;
    overflow: visible;
}

.header-action-bar__results .predictive-search__more>svg {
    display: none !important;
}

.header-action-bar.left {
    display: none;
    grid-area: action-bar-left;
    order: 0;
}

.header-action-bar.left .header-action-bar__search,
.header-action-bar.left .header-action-bar__search-bar {
    display: none;
}

.header-action-bar.right {
    grid-area: action-bar-right;
    align-items: center;
    justify-content: end;
    max-width: 100%;
}

[type="drawer"] .header-action-bar.left,
[layout^="center_logo_"] .header-action-bar.left {
    display: flex;
}

[layout="center_logo_wrap_menu"] .header-action-bar.left .header-action-bar__search,
[layout="center_logo_wrap_menu"] .header-action-bar.left .header-action-bar__search-bar {
    display: inline-flex;
}

[layout="center_logo_wrap_menu"] .header-action-bar.right .header-action-bar__search,
[layout="center_logo_wrap_menu"] .header-action-bar.right .header-action-bar__search-bar {
    display: none;
}

[layout="center_logo_wrap_menu_2"] .header-action-bar.left .header-action-bar__search,
[layout="center_logo_wrap_menu_2"] .header-action-bar.left .header-action-bar__search-bar {
    display: none;
}

[layout="center_logo_wrap_menu_2"] .header-action-bar.right .header-action-bar__search,
[layout="center_logo_wrap_menu_2"] .header-action-bar.right .header-action-bar__search-bar {
    display: inline-flex;
}

.header-action-bar [layout="left_logo_left_menu"] .header__logo {
    order: 0;
}

@media (max-width: 959px) {
    .header-action-bar.right .header-action-bar__menu {
        display: none;
    }

    .header-action-bar.left {
        display: flex;
    }

    .header-action-bar__search-bar {
        display: none;
    }

    .header-action-bar__search.button--icon {
        display: inline-flex;
    }

    [layout^="left_logo_"] .header-action-bar.left {
        flex: 0;
    }

    [mobile-layout="left_logo"] .header-action-bar.left .header-action-bar__search {
        display: none !important;
    }
}

@media (max-width: 959px) {
    .header-action-bar theme-locale-picker {
        display: none;
    }
}

.transparent:not(:hover) .header-action-bar {
    color: rgb(var(--header-transparent-color-text, var(--color-text)));
}

.transparent:not(:hover) .header-action-bar__search-bar {
    color: rgb(var(--header-transparent-color-text));
    background-color: transparent;
}

.transparent:not(:hover) .header-action-bar__search-bar-icon {
    color: rgb(var(--header-transparent-color-text));
}

.theme-sticky-header--sticky .transparent:not(:hover) .header-action-bar__search-bar {
    color: rgb(var(--header-color-text));
    background-color: rgb(var(--header-background));
}

.theme-sticky-header--sticky .transparent:not(:hover) .header-action-bar__search-bar-icon {
    color: inherit;
}

.mobile-slider-navbar {
    position: relative;
    z-index: 1;
    display: none;
    overflow: auto hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    background: rgb(var(--header-background));
    animation: animation-fade-in 0.16s ease-in;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 959px) {
    .mobile-slider-navbar {
        display: block;
    }
}

.mobile-slider-navbar::-webkit-scrollbar {
    display: none;
}

.mobile-slider-navbar__list {
    display: flex;
    flex-wrap: nowrap;
    padding: 0;
    margin: 0;
    list-style: none;
}

.mobile-slider-navbar__item {
    flex-shrink: 0;
    scroll-snap-align: center;
}

.mobile-slider-navbar__link {
    display: block;
    padding: 14px 16px;
    font-size: 14px;
    line-height: 20px;
    text-decoration: none;
    white-space: nowrap;
}

.mobile-slider-navbar__link:not(.button),
.mobile-slider-navbar__link:not(.button):hover {
    color: rgb(var(--header-color-text));
}

.mobile-slider-navbar__link--active {
    position: relative;
    color: rgb(var(--header-color-text));
}

.mobile-slider-navbar__link--active::after {
    position: absolute;
    inset-block-end: 8px;
    inset-inline: 16px;
    height: 2px;
    content: "";
    background-color: rgb(var(--header-color-text));
}

.header-section.transparent:not(:hover) .mobile-slider-navbar {
    background: transparent;
}

.header-section.transparent:not(:hover) .mobile-slider-navbar__link:not(.button),
.header-section.transparent:not(:hover) .mobile-slider-navbar__link:not(.button):hover {
    color: rgb(var(--header-transparent-color-text));
}

.header-nav-drawer {
    --header-nav-drawer-slide-anime-duration: 200ms;
    --header-background: var(--color-background, 255, 255, 255);
    --header-color-text: var(--color-text, 0, 0, 0);

    position: fixed;
    z-index: -1;
    display: none;
    pointer-events: none;
    transition: z-index 1ms ease var(--header-nav-drawer-slide-anime-duration);
}

.header-nav-drawer--lockscreen {
    overflow: hidden !important;
}

.header-nav-drawer.open {
    z-index: var(--z-index-fixed);
    pointer-events: all;
    transition: z-index 1ms ease;
}

.header-nav-drawer,
.header-nav-drawer__backdrop,
.header-nav-drawer__content {
    inset-block-start: 0;
    inset-inline-start: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 959px) {
    .header-nav-drawer .body-font-bold {
        font-weight: 700;
    }
}

.header-nav-drawer__backdrop {
    position: fixed;
    z-index: -1;
    display: block !important;
    width: 100%;
    height: 100vh;
    background: rgb(0 0 0 / 40%);
    opacity: 0;
    transition:
        opacity var(--header-nav-drawer-slide-anime-duration) ease-in-out,
        z-index 1ms ease var(--header-nav-drawer-slide-anime-duration);
}

.header-nav-drawer.open .header-nav-drawer__backdrop {
    opacity: 1;
}

.header-nav-drawer__content {
    position: fixed;
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 400px;
    height: 100dvh;
    padding: 15px 0 10px;
    background: rgb(var(--header-background));
    transition:
        width var(--header-nav-drawer-slide-anime-duration) ease,
        transform var(--header-nav-drawer-slide-anime-duration) ease-out;
    transform: translateX(-100%);
}

@media (max-width: 959px) {
    .header-nav-drawer__content {
        width: 340px;
    }
}

.header-nav-drawer.open .header-nav-drawer__content {
    transition:
        width var(--header-nav-drawer-slide-anime-duration) ease,
        transform var(--header-nav-drawer-slide-anime-duration) ease-in;
    transform: translateX(0);
}

.header-nav-drawer__header {
    padding-inline: 30px;
}

@media (max-width: 959px) {
    .header-nav-drawer__header {
        padding-inline: 20px;
    }
}

.header-nav-drawer__header-container {
    box-sizing: content-box;
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: space-between;
    height: 28px;
    padding-block-end: 15px;
    color: rgb(var(--color-text));
    border-block-end: 1px solid rgb(var(--color-entry-line));
}

.header-nav-drawer__login {
    display: inline-flex;
    flex: 1;
    gap: 8px;
    align-items: center;
}

.header-nav-drawer__login:not(.button),
.header-nav-drawer__login:not(.button):hover {
    color: var(--header-color-text);
}

.header-nav-drawer__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
}

.header-nav-drawer__ellipsis {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    white-space: normal;
    -webkit-box-orient: vertical;
}

.header-nav-drawer__menu {
    --nav-drawer-padding-inline: 20px;
    --nav-drawer-padding-block: 12px;

    overflow-y: auto;
}

.header-nav-drawer__menu-control {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: var(--nav-drawer-padding-block) var(--nav-drawer-padding-inline);
}

.header-nav-drawer__menu-control:not(.button),
.header-nav-drawer__menu-control:not(.button):hover {
    color: rgb(var(--header-color-text));
}

.header-nav-drawer__menu-control>a:not(.button),
.header-nav-drawer__menu-control>a:not(.button):hover {
    color: inherit;
}

.header-nav-drawer__menu-control .header-nav-drawer__menu-icon {
    width: 10px;
    height: 10px;
    transform: scale(1);
}

.header-nav-drawer__menu-control .header-nav-drawer__menu-icon>svg {
    --animation-rotate-degree: -270deg;

    position: absolute;
    opacity: 0;
    transition: transform 300ms ease;
    transform: rotate(0deg) scale(1);
}

summary.header-nav-drawer__menu-control {
    align-items: stretch;
    padding: 0;
    padding-inline-start: var(--nav-drawer-padding-inline);
}

summary.header-nav-drawer__menu-control .header-nav-drawer__menu-link {
    display: flex;
    flex: 1;
    gap: 10px;
    padding: var(--nav-drawer-padding-block) var(--nav-drawer-padding-inline);
    padding-inline-start: 0;
}

summary.header-nav-drawer__menu-control .header-nav-drawer__menu-icon {
    box-sizing: content-box;
    height: auto;
    padding: var(--nav-drawer-padding-block) var(--nav-drawer-padding-inline);
}

details:not([open]) .header-nav-drawer__menu-control .header-nav-drawer__menu-icon>.icon-arrow-thin {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

details:not([open]) .header-nav-drawer__menu-control .header-nav-drawer__menu-icon>.icon-minus {
    opacity: 0;
    transform: rotate(var(--animation-rotate-degree)) scale(0);
}

details[open] .header-nav-drawer__menu-control .header-nav-drawer__menu-icon>.icon-arrow-thin {
    opacity: 0;
    transform: rotate(var(--animation-rotate-degree)) scale(0);
}

details[open] .header-nav-drawer__menu-control .header-nav-drawer__menu-icon>.icon-minus {
    opacity: 1;
    transform: rotate(0) scale(1);
}

.header-nav-drawer__submenu {
    --nav-drawer-submenu-padding-inline: 15px;

    overflow: hidden;
    background: rgb(0 0 0 / 5%);
}

details+.header-nav-drawer__submenu {
    transition: var(--nav-drawer-submenu-transition-max-height),
        var(--nav-drawer-submenu-transition-color);
}

.header-nav-drawer__submenu .header-nav-drawer__submenu {
    background-color: rgb(0 0 0 / 0%);
}

details:not([open])+.header-nav-drawer__submenu {
    --nav-drawer-submenu-transition-max-height: max-height 360ms ease;
    --nav-drawer-submenu-transition-color: color 200ms ease;

    max-height: 0;
    color: rgb(0 0 0 / 0%);
}

details[open]+.header-nav-drawer__submenu {
    --nav-drawer-submenu-transition-max-height: max-height 360ms ease-in;
    --nav-drawer-submenu-transition-color: color 200ms ease-in-out 200ms;

    max-height: 100vh;
    color: rgb(var(--color-text));
}

details[open]+.header-nav-drawer__submenu details:not([open])+.header-nav-drawer__submenu {
    color: rgb(0 0 0 / 0%);
}

details:not([open])+.header-nav-drawer__submenu details[open]+.header-nav-drawer__submenu {
    color: rgb(0 0 0 / 0%);
    transition-delay: 0ms, 0ms;
}

details[open]+.header-nav-drawer__submenu details[open]+.header-nav-drawer__submenu {
    color: rgb(var(--color-text));
}

.header-nav-drawer__submenu .header-nav-drawer__menu-control {
    padding-inline-start: calc(var(--nav-drawer-padding-inline) + (var(--nav-drawer-submenu-padding-inline) * (var(--nav-drawer-submenu-level, 1) - 1)));
    color: inherit;
}

details+.header-nav-drawer__submenu .header-nav-drawer__menu-control {
    transition: transform 400ms ease-in;
}

details:not([open])+.header-nav-drawer__submenu .header-nav-drawer__menu-control {
    transform: translate(4px, 4px) !important;
}

details[open]+.header-nav-drawer__submenu>li>.header-nav-drawer__menu-control,
details[open]+.header-nav-drawer__submenu>li>details .header-nav-drawer__menu-control {
    transform: translate(0, 0);
}

.header-nav-drawer__footer {
    flex-shrink: 0;
    padding-block-start: 15px;
    margin-block-start: auto;
    border-block-start: 1px solid rgb(var(--color-entry-line));
}

@media (max-width: 959px) {
    .header-nav-drawer__footer {
        padding-block-end: env(safe-area-inset-bottom, 0);
    }
}

.header-nav-drawer__footer .theme-locale-picker__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
}

.header-nav-drawer__footer theme-locale-picker {
    display: contents;
}

.header-nav-drawer__footer theme-locale-picker theme-dropdown-menu {
    display: flex;
    gap: 10px;
    padding: 12px 20px;
}

.header-nav-drawer mark.lighthighted {
    display: block;
    padding-inline-end: 32px;
    color: rgb(var(--nav-bar-highlighted-color, var(--color-button-text)));
    background: linear-gradient(90deg,
            rgb(var(--nav-bar-highlighted-background-color,
                    var(--color-button-background))) 0%,
            rgb(201 245 47 / 0%) 100%);
}

.nav-drawer-super-gallery__menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto;
}

.nav-drawer-super-gallery__row {
    display: flex;
}

.nav-drawer-super-gallery__row:empty {
    display: none;
}

details:not([open])+.nav-drawer-super-gallery__menu {
    display: block;
}

details[open]+.nav-drawer-super-gallery__menu {
    display: flex;
}

details+.nav-drawer-super-gallery__menu .nav-drawer-super-gallery__row {
    opacity: 0;
    transition: var(--nav-drawer-submenu-transition-opacity);
}

details:not([open])+.nav-drawer-super-gallery__menu .nav-drawer-super-gallery__row {
    --nav-drawer-submenu-transition-opacity: opacity 160ms ease-in;
}

details[open]+.nav-drawer-super-gallery__menu .nav-drawer-super-gallery__row {
    --nav-drawer-submenu-transition-opacity: opacity 160ms ease-in 160ms;

    opacity: 1;
}

.nav-drawer-super-gallery__item {
    position: relative;
    display: flex;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.nav-drawer-super-gallery__item::after {
    position: absolute;
    width: 100%;
    height: 100%;
    content: "";
    background-color: rgb(0 0 0 / calc(var(--nav-super-gallery-background-opcity) / 100));
}

.nav-drawer-super-gallery__item>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.nav-drawer-super-gallery__item>* {
    transition: transform 200ms ease-in;
}

.nav-drawer-super-gallery__item:hover>* {
    transform: scale(1.1);
    transform-origin: center;
}

.nav-drawer-super-gallery--adapt .nav-drawer-super-gallery__item {
    aspect-ratio: unset;
}

.nav-drawer-super-gallery--adapt .nav-drawer-super-gallery__item>img {
    height: fit-content;
    object-fit: unset;
    object-position: 0 0;
}

.cart-bubble,
.cart-bubble>a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.cart-bubble__count {
    position: absolute;
    inset-block-end: 1px;
    inset-inline-start: 13px;
    z-index: 1;
    min-width: 20px;
    max-width: 60px;
    padding-inline: 6px;
    overflow: hidden;
    font-style: normal;
    line-height: 20px;
    color: rgba(var(--color-cart-bubble-text), 1);
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: rgba(var(--color-cart-bubble), 1);
    border-radius: 20px;
}

.cart-bubble__count:empty {
    display: none;
}
/* 
.header-section.transparent::after {
    display: none !important;
} */

.header__container-top-wrap {
    position: relative;
}
/* 
.header__logo {
    position: absolute !important;
    left: 50%;
    transform: translateX(-50%);
} */

.dropdown-menu__label-text,
.dropdown-menu__list-item span {
    text-transform: uppercase;
}

/* theme-video-media video {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
} */

.theme-video-media {
    width: 100%;
    height: 100vh;
    /* full screen like reference */
    overflow: hidden;
}
/* 
.theme-video-media__poster img {
    object-fit: contain !important;
    width: 100%;
    height: 100%;
} */

theme-video-media video {
    object-fit: cover !important;
}

/* === HOMEPAGE TRANSPARENT HEADER === */

/* Target homepage only */
/* .template-index .header-section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent !important;
    z-index: 999;
} */

/* Remove background inside */
/* .template-index .header__container {
    background: transparent !important;
} */

/* Make text + icons visible */
/* .template-index .header-section a,
.template-index .header-section svg {
    color: #fff !important;
    fill: #fff !important;
} */
/* ========================================= */
/* FIX: USE BUILT-IN TRANSPARENT SYSTEM */
/* ========================================= */

/* enable transparent header ONLY on homepage */
/* .template-index .header-section {
    position: absolute;
    width: 100%;
} */

/* force transparent mode */
/* .template-index .header-section {
    background: linear-gradient(180deg,
            rgba(0, 0, 0, 0.5) 0%,
            rgba(0, 0, 0, 0) 100%) !important;
} */

/* text white like reference */
/* .template-index .header-section:not(:hover) {
    --header-transparent-color-text: 255, 255, 255;
} */

/* remove hover turning white background */
/* .template-index .header-section:hover::after {
    height: 0 !important;
} */

/* sticky = normal white header */
/* .theme-sticky-header--sticky .template-index .header-section {
    position: relative;
    background: rgb(255, 255, 255) !important;
} */
.transparent:not(:hover) .header__logo-link {
    visibility: hidden;
}

.transparent:not(:hover) .header__logo-link.transparent {
    visibility: visible;
}
/* FORCE transparent behavior on homepage */
/* .template-index .header-section {
    position: absolute;
} */

/* simulate transparent state */
/* .template-index .header-section:not(:hover) .header__logo-link {
    visibility: hidden;
} */
/* 
.template-index .header-section:not(:hover) .header__logo-link.transparent {
    visibility: visible;
} */

/* after scroll */
/* .theme-sticky-header--sticky .template-index .header-section .header__logo-link {
    visibility: visible;
} */

/* .theme-sticky-header--sticky .template-index .header-section .header__logo-link.transparent {
    visibility: hidden;
} */
/* .header-section .full-screen-width {
    max-width: 100% !important;
} */
/* DISABLE transparent header on NON-home pages */
/* body:not(.template-index) .header-section.transparent {
    position: relative !important;
    background: rgb(255, 255, 255) !important;
} */

/* fix text color on other pages */
/* body:not(.template-index) .header-section.transparent {
    --header-transparent-color-text: var(--header-color-text);
} */
/* show normal logo on other pages */
/* body:not(.template-index) .header__logo-link {
    visibility: visible !important;
} */

/* body:not(.template-index) .header__logo-link.transparent {
    visibility: hidden !important;
} */

/* ============================= */
/* CLEAN HEADER FIX */
/* ============================= */

/* Homepage transparent header */
/* .template-index .header-section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: linear-gradient(180deg,
            rgba(0, 0, 0, 0.22) 0%,
            rgba(0, 0, 0, 0) 100%) !important;
} */

/* keep text white on homepage */
/* .template-index .header-section:not(:hover) {
    --header-transparent-color-text: 255, 255, 255;
} */

/* stop white hover overlay */
/* .template-index .header-section:hover::after {
    display: none !important;
} */

/* normal white header after scroll */
/* .theme-sticky-header--sticky .template-index .header-section {
    position: relative;
    background: rgb(255, 255, 255) !important;
} */

/* non-home pages should always be white */
/* body:not(.template-index) .header-section.transparent {
    position: relative !important;
    background: rgb(255, 255, 255) !important;
    --header-transparent-color-text: var(--header-color-text);
} */

/* proper header height */
.header__container-top-wrap {
    min-height: 92px;
}

/* proper action bar spacing */
.header-action-bar {
    padding-block: 12px !important;
}

/* proper logo centering */
.header__logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* full-width video hero */
theme-video-media video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.theme-video-media__poster img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
/* ========================= */
/* RESPONSIVE FIX */
/* ========================= */

/* tablet */
@media (max-width: 1024px) {
    .header__container-top-wrap {
        min-height: 78px !important;
    }

    .header-action-bar {
        padding-block: 10px !important;
    }

    .header__logo-image {
        width: 120px !important;
        height: auto !important;
    }

    .header-section .full-screen-width {
        max-width: 100% !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* mobile */
@media (max-width: 767px) {
    .header__container-top-wrap {
        min-height: 64px !important;
    }

    .header-action-bar {
        padding-block: 8px !important;
        column-gap: 12px !important;
    }

    .header__logo-image {
        width: 95px !important;
        height: auto !important;
    }

    .header-section .full-screen-width {
        max-width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* hero text block */
    .slideshow__content,
    .theme-slideshow__content,
    .image-banner__content,
    .banner__content {
        padding-left: 16px !important;
        padding-right: 16px !important;
        padding-bottom: 28px !important;
    }

    .slideshow__heading,
    .theme-slideshow__heading,
    .image-banner__heading,
    .banner__heading {
        font-size: 36px !important;
        line-height: 1.08 !important;
    }

    .slideshow__description,
    .theme-slideshow__description,
    .image-banner__description,
    .banner__description {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    .slideshow .button,
    .theme-slideshow .button,
    .image-banner .button,
    .banner .button {
        min-height: 44px !important;
        padding: 10px 22px !important;
        font-size: 14px !important;
    }

    /* video/image hero height */
    .theme-video-media,
    theme-video-media,
    .slideshow,
    .theme-slideshow,
    .image-banner,
    .banner {
        min-height: 70vh !important;
    }
}

/* very small phones */
@media (max-width: 480px) {
    .header__container-top-wrap {
        min-height: 58px !important;
    }

    .header__logo-image {
        width: 82px !important;
    }

    .slideshow__heading,
    .theme-slideshow__heading,
    .image-banner__heading,
    .banner__heading {
        font-size: 30px !important;
    }

    .slideshow__description,
    .theme-slideshow__description,
    .image-banner__description,
    .banner__description {
        font-size: 14px !important;
    }

    .theme-video-media,
    theme-video-media,
    .slideshow,
    .theme-slideshow,
    .image-banner,
    .banner {
        min-height: 62vh !important;
    }
}
/* Enable transparent header on homepage */
/* .template-index .header-section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
} */

/* make text white when transparent */
.template-index .header-section.transparent:not(:hover) {
    --header-transparent-color-text: 255, 255, 255;
}
/* Non-home pages */
/* body:not(.template-index) .header-section {
    position: relative !important;
    background: white !important;
} */
.header-section.transparent {
    background: linear-gradient(180deg,
            rgba(0, 0, 0, 0.35) 0%,
            rgba(0, 0, 0, 0) 100%);
}
/* Desktop submenus: hover (see base rules) + .open from nav-desktop-dropdown.js */
.header-nav__menu-item.open .header-nav-dropdown-menu-scope,
.header-nav__menu-item.open .header-nav-dropdown-panel {
    display: block !important;
}

.header-nav__menu-item.open .header-nav-with-images-dropdown-panel,
.header-nav__menu-item.open .header-super-nav-dropdown-panel {
    display: flex !important;
}
/* ============================= */
/* SHOP DROPDOWN → REFERENCE STYLE */
/* ============================= */
/* ============================= */
/* CLEAN REFERENCE-STYLE DROPDOWN */
/* ============================= */

/* container full width */
.header-nav-dropdown-menu {
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
}

/* grey background bar */
.header-nav-dropdown-menu__menu {
    width: 100%;
    background:#FFFFFF;
    box-shadow: 1px;

    padding: 50px 0;

    display: block;
}

.header-nav-dropdown-menu__menu>ul {
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 80px;
}

/* menu items */
.header-nav-dropdown-menu__hero {
    font-size: 14px;
    color: #222;
    padding: 6px 0;
}

/* hover */
.header-nav-dropdown-menu__hero:hover {
    opacity: 0.6;
}

/* remove weird width issues */
.header-nav-dropdown-menu-scope {
    width: 100%;
}

/* remove overlay */
.header-section.transparent::after {
    display: none !important;
}
/* MAIN HEADER = 80% */
.header__container-top-wrap {
    max-width: 80%;
    margin: 0 auto;
}
/* SUBHEADER = FULL WIDTH */
.header-section {
    width: 100%;
}
.header__container-top-wrap {
    max-width: 1200px;
    /* instead of 80% */
    padding-left: 40px;
    padding-right: 40px;
    margin: 0 auto;
}
/* DROPDOWN FULL WIDTH (reference style) */
.header-nav-dropdown-menu-scope {
    position: absolute;
    left: 0;
    width: 100vw;
}

.header-nav-dropdown-menu {
    width: 100vw;
    left: 0;
}
.header__container-top-wrap{
  max-width:1200px!important;
  margin:0 auto!important;
  padding:0 40px!important;
}

/* dropdown wrapper */
.header-nav-dropdown-menu-scope{
  position:fixed!important;
  left:0!important;
  right:0!important;
  top:160px!important;
  width:100vw!important;
  display:none;
  z-index:99!important;
}

/* Hover bridge: space between the nav link and fixed panel is not part of the <li>
   hit box, so the cursor “falls through” and the menu closes. This strip is invisible
   and does not change layout of the panel content. */
.header-nav-dropdown-menu-scope::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -36px;
    height: 36px;
    pointer-events: auto;
}

/* open on hover */
/* .header-nav__menu-item:hover .header-nav-dropdown-menu-scope{
  display:block!important;
} */

/* white full-width dropdown */
.header-nav-dropdown-menu,
.header-nav-dropdown-menu__menu{
  width:100vw!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* content aligned like reference */
.header-nav-dropdown-menu__menu{
  min-height:430px!important;
  padding:45px 0!important;
}

.header-nav-dropdown-menu__menu>li,
.header-nav-dropdown-menu__menu>ul{
  max-width:1200px!important;
  margin:0 auto!important;
  padding:0 40px!important;
}

.header-nav-dropdown-menu__hero{
  display:block!important;
  padding:7px 0!important;
  font-size:15px!important;
  line-height:1.6!important;
}
/* ============================= */
/* DROPDOWN FONT STYLE FIX */
/* ============================= */

/* ============================= */
/* DROPDOWN TYPOGRAPHY (FINAL) */
/* ============================= */

/* base item style */
.header-nav-dropdown-menu__hero span {
    font-family: 'Assistant', sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    letter-spacing: 0.5px !important;
    color: #121212 !important;
    display: block;
}

/* spacing between items */
.header-nav-dropdown-menu__menu li {
    margin-bottom: 10px;
}

/* hover effect (reference feel) */
.header-nav-dropdown-menu__hero:hover span {
    opacity: 0.6;
}

/* ============================= */
/* CATEGORY SEPARATION */
/* ============================= */

/* the "-" divider */
.header-nav-dropdown-menu__hero span:only-child:where(:contains("-")) {
    opacity: 0.3;
    pointer-events: none;
}

/* make "Bestsellers" + "Bundles" slightly stronger */
.header-nav-dropdown-menu__menu li:nth-last-child(-n+2) span {
font-family: 'Assistant', sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    line-height: 18px !important;
    letter-spacing: 0.5px !important;
    color: #121212 !important;
    display: block;}

/* ============================= */
/* CLEAN UNDERLINE FIX */
/* ============================= */

.header-nav__underline::after {
    display: none !important;
}
/* =========================
   MOBILE MENU CLEAN STYLE
   ========================= */

@media (max-width: 768px) {

    /* drawer width + background */
    .header-nav-drawer__content {
        padding: 20px 20px 10px !important;
        background: #f7f7f7 !important;
    }

    /* MENU LIST */
    .header-nav-drawer__menu ul {
        margin-top: 20px;
    }

    /* MENU ITEMS */
    .header-nav-drawer__menu-control {
        font-family: 'Assistant', sans-serif !important;
        font-size: 18px !important;
        font-weight: 400 !important;
        letter-spacing: 0.3px;

        padding: 14px 0 !important;
        display: flex;
        justify-content: space-between;
        align-items: center;

        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    }

    /* REMOVE BOLD DEFAULT */
    .header-nav-drawer__menu-control.body-font-bold {
        font-weight: 400 !important;
    }

    /* TEXT COLOR */
    .header-nav-drawer__ellipsis {
        color: #121212;
    }

    /* HEADER (TOP BAR) */
    .header-nav-drawer__header {
        padding-bottom: 10px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    }

    /* LOGIN */
    .header-nav-drawer__login span {
        font-size: 14px !important;
        font-weight: 400 !important;
    }

    /* FOOTER SECTION */
    .header-nav-drawer__footer {
        margin-top: 30px;
        padding-top: 20px;
        border-top: 1px solid rgba(0, 0, 0, 0.06);
    }

    /* COUNTRY SELECT */
    .theme-locale-picker__inner {
        font-size: 14px;
        color: #121212;
    }

}

@media (max-width: 768px) {

    /* make drawer a flex column */
    .header-nav-drawer__content {
        display: flex;
        flex-direction: column;
    }

    /* push menu to take space */
    .header-nav-drawer__menu {
        flex: 1;
    }

    /* MOVE LOGIN DOWN */
    .header-nav-drawer__header {
        order: 3;
        /* send to bottom */
        margin-top: auto;
    }

    /* clean spacing */
    .header-nav-drawer__header-container {
        padding-top: 20px;
    }

}
@media (max-width: 768px) {

    /* REMOVE that divider line */
    .header-nav-drawer__header {
        border-top: none !important;
        border-bottom: none !important;
        padding-top: 16px !important;
    }

    /* REMOVE weird line above login */
    .header-nav-drawer__header-container {
        border-top: none !important;
        border-bottom: none !important;
    }

    /* FIX LOGIN ROW */
    .header-nav-drawer__login {
        display: flex;
        align-items: center;
        gap: 10px;

        font-size: 16px !important;
        font-weight: 400;
    }

    /* REMOVE EXTRA CLOSE (X) ICON INSIDE LOGIN */
    .header-nav-drawer__login svg:last-child {
        display: none !important;
    }

    /* BETTER SPACING FROM COUNTRY */
    .header-nav-drawer__header {
        margin-top: 20px !important;
    }

}
.transparent:not(:hover) .cart-bubble,
.transparent:not(:hover) .button--icon {
    filter: brightness(0) invert(1);
}

/* ===== Header icon parity with reference (Dawn icon set) ===== */
/* Unify header action-bar icon colors to reference near-black rgb(18,18,18). */
/* Set on the <svg> so fill="currentColor" resolves to it; fixes the olive cart */
/* (rgb 61,56,25) while leaving the cart-count text + transparent-header invert intact. */
.header-action-bar .button--icon svg,
.header-action-bar__menu svg,
.header-action-bar__search svg,
.header-action-bar theme-cart-bubble svg {
    color: rgb(18, 18, 18) !important;
}

/* ===== Header search bar — full-screen-width white background, centered content ===== */
/* The white panel spans the full screen width across the top of the header. The search input + */
/* results live in a centered column (--search-col-width), and the results match the input width. */
/* The form centers the input+gap+X group, so the input's left edge sits at half the (gap + X) to */
/* the right of the group center; --search-col-shift re-centers the results to align under it. */
.header-search-bar.open {
    --search-col-width: 600px;
    --search-col-gap: 16px;
    --search-col-x: 30px;
    --search-col-shift: calc((var(--search-col-gap) + var(--search-col-x)) / 2);

    background: #fff !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 30 !important;
}
/* the row: full-width white bg; content is centered via the inner column below */
.header-search-bar.open .header-search-bar__form {
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--search-col-gap) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-block: 16px !important;
    padding-inline: 30px !important;
    box-sizing: border-box !important;
    border: 0 !important;
}
/* hide the leading magnifier label — the live site's box has no leading icon */
.header-search-bar.open .header-search-bar__form > label.header-search-bar__icon {
    display: none !important;
}
/* input = centered bordered box, constrained to the search column width */
.header-search-bar.open .header-search-bar__form input[type="search"],
.header-search-bar.open .header-search-bar__form input.field__input {
    flex: 0 1 var(--search-col-width) !important;
    width: var(--search-col-width) !important;
    max-width: var(--search-col-width) !important;
    height: 46px !important;
    min-height: 46px !important;
    border: 1px solid rgba(18, 18, 18, 0.55) !important;
    border-radius: 2px !important;
    padding: 0 18px !important;
    margin: 0 !important;
    font-family: 'Assistant', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    color: rgb(18, 18, 18) !important;
    background: #fff !important;
    box-shadow: none !important;
    outline: none !important;
}
.header-search-bar.open .header-search-bar__form input[type="search"]::placeholder {
    color: rgba(18, 18, 18, 0.55) !important;
    opacity: 1 !important;
}
/* close (X) — plain icon to the right, outside the box */
.header-search-bar.open .header-search-bar__form > button[name="close"] {
    flex: 0 0 auto !important;
    width: var(--search-col-x) !important;
    height: 30px !important;
    min-width: var(--search-col-x) !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    color: rgb(18, 18, 18) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.header-search-bar.open .header-search-bar__form > button[name="close"] svg {
    width: 18px !important;
    height: 18px !important;
    color: rgb(18, 18, 18) !important;
}

/* ===== Header search results — centered, same width as the search input ===== */
/* Results sit in the same centered column as the input (--search-col-width) and render as a single */
/* vertical list instead of the full-page 4-column product grid that previously overflowed. */
.header-search-bar.open .header-search-bar__results {
    width: 100% !important;
    max-width: var(--search-col-width) !important;
    /* center the column, then nudge left by half (gap + X) so it lines up under the input */
    margin-block: 0 !important;
    margin-inline: auto !important;
    transform: translateX(calc(-1 * var(--search-col-shift))) !important;
    padding-block: 0 16px !important;
    padding-inline: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important;
}
.header-search-bar.open .header-search-bar__results .predictive-search__results {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
.header-search-bar.open .header-search-bar__results .predictive-search__result-item {
    padding: 6px 0 !important;
    white-space: normal !important;
}
.header-search-bar.open .header-search-bar__results .predictive-search__product {
    flex-direction: row !important;
    gap: 12px !important;
    align-items: center !important;
}
.header-search-bar.open .header-search-bar__results .predictive-search__product-image-wrap {
    width: 56px !important;
    height: 56px !important;
}
.header-search-bar.open .header-search-bar__results .predictive-search__footer {
    padding: 12px 0 0 !important;
}

/* mobile: input fills the row (full-width within the 20px padding), X to the right; results align */
/* to the input's left edge — no centering shift. */
@media (max-width: 959px) {
    .header-search-bar.open {
        --search-col-width: 100%;
        --search-col-gap: 12px;
    }
    .header-search-bar.open .header-search-bar__form {
        justify-content: flex-start !important;
        padding-block: 10px !important;
        padding-inline: 20px !important;
    }
    .header-search-bar.open .header-search-bar__form input[type="search"],
    .header-search-bar.open .header-search-bar__form input.field__input {
        flex: 1 1 auto !important;
    }
    .header-search-bar.open .header-search-bar__results {
        max-width: none !important;
        margin-inline: 0 !important;
        transform: none !important;
        padding-inline: 20px !important;
    }
}

/* ===== Country picker search box — filter the country list by typing (match reference) ===== */
/* Sticky search field at the top of the scrollable country dropdown; filtering is handled in */
/* locale-picker.js, which hides non-matching [data-role="country-item"] rows as you type. */
/* Fixed width so the country dropdown never resizes when filtering narrows the list to a few short */
/* names (e.g. "Chad"). Overrides the generic .dropdown-menu__list { width: max-content }. */
.dropdown-menu__list[data-role="country-list"] {
    width: 320px;
    max-width: calc(100vw - 40px);
}
.dropdown-menu__search {
    position: sticky;
    inset-block-start: -10px; /* cancels the list's padding-block: 10px so it pins to the top edge */
    z-index: 1;
    display: block;
    padding: 8px 15px 10px;
    background: #fff;
}
.dropdown-menu__search-input {
    box-sizing: border-box;
    width: 100%;
    height: 38px;
    padding: 0 12px;
    color: rgb(var(--header-color-text));
    text-transform: none;
    background: #fff;
    border: 1px solid rgba(18, 18, 18, 0.35);
    border-radius: 2px;
    outline: none;
}
/* allow long country names to wrap inside the fixed-width list instead of overflowing */
.dropdown-menu__list[data-role="country-list"] .dropdown-menu__list-item {
    line-height: 1.4;
    white-space: normal;
    word-break: normal;
}
.dropdown-menu__search-input::placeholder {
    color: rgba(18, 18, 18, 0.55);
    opacity: 1;
}
.dropdown-menu__search-input:focus {
    border-color: rgba(18, 18, 18, 0.75);
}
.dropdown-menu__search-empty {
    padding: 10px 15px;
    color: rgba(18, 18, 18, 0.55);
    cursor: default;
}

/* ===== Predictive search dropdown — reference-style 2-column layout ===== */
/* Overrides colleague's 600px-constrained results column so the dropdown can */
/* fit SUGGESTIONS (left) + PRODUCTS (right). Results stretch to a wider */
/* centered max-width; the input above stays at --search-col-width. */
.header-search-bar.open .header-search-bar__results {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    transform: none !important;
    padding: 0 60px 16px !important;
    box-sizing: border-box !important;
    background: #fff !important;
}
.predictive-search-section {
    max-width: var(--search-col-width, 600px);
    margin: 0 auto;
    font-family: 'Assistant', sans-serif;
    color: rgb(18, 18, 18);
}
.predictive-search__layout {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    column-gap: 28px;
    padding: 4px 0 8px;
}
/* Floating "Search" label inside the input box (reference-style) */
.header-search-bar.open .header-search-bar__input-block {
    position: relative;
    flex: 0 1 var(--search-col-width) !important;
    width: var(--search-col-width) !important;
    max-width: var(--search-col-width) !important;
}
.header-search-bar.open .header-search-bar__input-block input[type="search"],
.header-search-bar.open .header-search-bar__input-block input.field__input {
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    padding-top: 18px !important;
    padding-bottom: 6px !important;
}
.header-search-bar.open .header-search-bar__floating-label {
    position: absolute;
    top: 5px;
    left: 18px;
    font-family: 'Assistant', sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: rgba(18, 18, 18, 0.55);
    pointer-events: none;
    z-index: 2;
}
.predictive-search__col-title {
    display: block;
    font-family: 'Assistant', sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.12em;
    color: rgba(18, 18, 18, 0.55);
    text-transform: uppercase;
    margin-bottom: 14px;
}
/* SUGGESTIONS column */
.predictive-search__suggestions {
    list-style: none;
    padding: 0;
    margin: 0;
}
.predictive-search__suggestion-item { margin: 0; }
.predictive-search__suggestion-link {
    display: block;
    padding: 7px 0;
    color: rgb(18, 18, 18);
    font-family: 'Assistant', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-transform: lowercase;
    text-decoration: none;
}
.predictive-search__suggestion-link b,
.predictive-search__suggestion-link strong { font-weight: 700; }
.predictive-search__suggestion-link:hover { text-decoration: underline; }
/* PRODUCTS column */
.predictive-search__results {
    list-style: none;
    padding: 0;
    margin: 0;
}
.predictive-search__result-item { margin: 0; }
.predictive-search__result-link {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 8px 0;
    color: rgb(18, 18, 18);
    text-decoration: none;
}
.predictive-search__product-image-wrap {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    overflow: hidden;
    background: rgba(18, 18, 18, 0.04);
}
.predictive-search__product-image-wrap img,
.predictive-search__product-image-wrap svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.predictive-search__product-content { flex: 1 1 auto; min-width: 0; }
.predictive-search__product-title {
    margin: 0;
    font-family: 'Assistant', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: rgb(18, 18, 18);
    line-height: 1.4;
}
.predictive-search__product-price,
.predictive-search__product-save-price { display: none !important; }
.predictive-search__result-link:hover .predictive-search__product-title { text-decoration: underline; }
/* Footer: "Search for X →" */
.predictive-search__footer {
    border-top: 1px solid rgba(18, 18, 18, 0.1);
    padding-top: 14px;
    margin-top: 4px;
}
.predictive-search__more {
    width: 100% !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    color: rgb(18, 18, 18) !important;
    font-family: 'Assistant', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: none !important;
    line-height: 1.4 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center;
    cursor: pointer;
    min-height: 0 !important;
    height: auto !important;
}
.predictive-search__more-text { flex: 1; text-align: left; }
.predictive-search__more-arrow { font-size: 18px; line-height: 1; margin-left: 12px; }
.predictive-search__more:hover .predictive-search__more-text { text-decoration: underline; }
@media (max-width: 749px) {
    .header-search-bar.open .header-search-bar__results { padding: 0 20px 16px !important; }
    .predictive-search__layout { grid-template-columns: 1fr; row-gap: 20px; }
}

/* ===== Hide 3rd-party Product Search plugin's persistent bar ===== */
/* A Shopline app injects .plugin-product-search-searchInputWrap with the */
/* "Enter here and click search" placeholder at the top of every page. The */
/* user wants the theme's magnifier→overlay search exclusively, so suppress */
/* the plugin's UI. (The plugin's backend continues to work; only the visible */
/* persistent strip is hidden.) */
.plugin-product-search-searchInputWrap,
.plugin-product-search-index-input,
[class^="plugin-product-search-"][class*="Wrap"],
[class*=" plugin-product-search-"][class*="Wrap"] {
    display: none !important;
}
/* The plugin also injects an INVISIBLE click-mask on top of the theme's */
/* magnifier <a>, stealing every real mouse click. Disable pointer-events */
/* on all plugin elements so clicks pass through to the theme's link. */
[class*="plugin-product-search-"] {
    pointer-events: none !important;
}

/* ===== Search overlay closed-state lock ===== */
/* After the first open->close cycle some property (cascade or transition leftover) keeps */
/* opacity at 1 even without .open, leaving the input visible as a transparent strip. */
/* Force the overlay to truly disappear when .open is absent. */
.header-search-bar:not(.open) {
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}
.header-search-bar:not(.open) .header-search-bar__backdrop,
.header-search-bar:not(.open) .header-search-bar__form,
.header-search-bar:not(.open) .header-search-bar__results {
    pointer-events: none !important;
}