/** Shopify CDN: Minification failed

Line 15809:8 "order-block-start" is not a known CSS property
Line 17648:0 Unexpected "}"
Line 17712:2 "ointer-events" is not a known CSS property

**/
:root {
    --color-background: var(--color-base-background);
    --color-background-2: var(--color-base-background);
    --color-foreground: var(--color-base-text);
    --color-border: var(--color-foreground) / 0.1;
    --color-border-dark: var(--color-foreground) / 0.4;
    --color-border-light: var(--color-foreground) / 0.06;
    --color-highlight: var(--color-base-highlight);
    --color-button-background: var(--color-base-button);
    --color-button-gradient: var(--color-base-button-gradient);
    --color-button-border: var(--color-base-button);
    --color-button-text: var(--color-base-button-text);
    --font-normal: 400;
    --font-medium: 500;
    --font-bold: 700;

    --animation-nav: 0.5s cubic-bezier(0.6, 0, 0.4, 1);
    --animation-primary: 0.5s cubic-bezier(0.3, 1, 0.3, 1);
    --animation-smooth: 0.7s cubic-bezier(0.7, 0, 0.3, 1);
    --animation-fast: 0.3s cubic-bezier(0.7, 0, 0.3, 1);
    --animation-short: 0.2s cubic-bezier(0.7, 0, 0.3, 1);

    --fluid-2xl-to-4xl: clamp(
            var(--text-2xl),
            0.6307rem + 1.3636vw,
            var(--text-4xl)
    );
    --fluid-xl-to-3xl: clamp(
            var(--text-xl),
            0.4966rem + 1.1818vw,
            var(--text-3xl)
    );
    --fluid-lg-to-2xl: clamp(
            var(--text-lg),
            0.9722rem + 0.4444vw,
            var(--text-2xl)
    );
    --fluid-base-to-xl: clamp(
            var(--text-base),
            0.873rem + 0.3175vw,
            var(--text-xl)
    );
    --fluid-base-to-2xl: clamp(
            var(--text-base),
            0.746rem + 0.6349vw,
            var(--text-2xl)
    );
    --fluid-sm-to-lg: clamp(var(--text-sm), 0.748rem + 0.3174vw, var(--text-lg));
    --fluid-sm-to-base: clamp(
            var(--text-sm),
            0.8115rem + 0.1587vw,
            var(--text-base)
    );
    --fluid-xs-to-sm: clamp(var(--text-xs), 0.7297rem + 0.1013vw, var(--text-sm));

    --border-radius: clamp(var(--sp-4), 1.578vw, var(--sp-7d5));
    --border-radius-medium: calc(clamp(1em, 1.7vw, 1.7em) * 1.2);
    --border-radius-small: calc(clamp(1em, 1.7vw, 1.7em) * 0.5);
    --rounded-full: 9999px;
    --input-height: var(--sp-13);
    --input-padding-inline: var(--sp-6d5);
    --transform-logical: 1;
    --transform-origin-start: left;
    --transform-origin-end: right;

    --text-h0: var(--sp-16);
    --text-h1: var(--sp-9);
    --text-h2: var(--sp-6);
    --text-h3: var(--sp-5);
    --text-h4: var(--sp-4d5);
    --text-h5: var(--sp-4);
    --text-h6: var(--sp-4d5);
    --title-sm: clamp(var(--text-2xl), 2.526vw, var(--text-5xl));
    --title-md: clamp(var(--sp-8), 3.368vw, var(--sp-16));
    --title-lg: clamp(var(--sp-10), 3.368vw, var(--sp-16));
    --title-xl: clamp(var(--sp-12), 7.813vw, var(--sp-20));

    --color-red-200: 254 202 202;
    --color-red-300: 252 165 165;
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-ring-inset: inset;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --screen-height: 100vh;
    --topbar-height: 0px;
    --header-height: 0px;
    --sticky-header-height: 0px;
    --mobile-dock-height: 0px;
    --scrollbar-width: 0px;
    --ratio-percent: 56.25%;

    @media screen and (min-width: 768px) {
        --text-h1: var(--sp-12);
        --text-h2: var(--sp-7d5);
        --text-h3: var(--sp-6);
        --text-h4: var(--sp-5d5);
        --text-h5: var(--sp-4d5);
        --text-h6: var(--sp-4);
    }

    @media screen and (min-width: 1024px) {
        --title-lg: clamp(var(--sp-12), 4.73vw, var(--sp-23));
        --title-xl: clamp(var(--sp-20), 6.737vw, var(--sp-32));
        --text-h1: var(--sp-14);
        --text-h2: var(--sp-9);
        --text-h3: var(--sp-7d5);
        --text-h4: var(--sp-6);
        --text-h5: var(--sp-5);
    }
}

/*! photoswipe */

.pswp {
    --pswp-bg: rgb(var(--color-background));
    --pswp-placeholder-bg: rgb(var(--color-placeholder));
    --pswp-root-z-index: 100000;
    --pswp-preloader-color: rgb(var(--color-foreground));
    --pswp-preloader-color-secondary: rgb(var(--color-foreground));
    --pswp-icon-color: rgb(var(--color-foreground));
    --pswp-icon-color-secondary: rgb(var(--color-foreground));
    --pswp-icon-stroke-color: rgb(var(--color-foreground));
    --pswp-icon-stroke-width: 2px;
    --pswp-error-text-color: var(--pswp-icon-color);
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    contain: layout style size;
    display: none;
    width: 100%;
    height: 100%;
    opacity: 0.003;
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    touch-action: none;
    z-index: var(--pswp-root-z-index);
}

.pswp,
.pswp:focus {
    outline: 0;
}

.pswp * {
    box-sizing: border-box;
}

.pswp img {
    max-width: none;
}

.pswp--open {
    display: block;
}

.pswp,
.pswp__bg {
    transform: translateZ(0);
}

.pswp__bg {
    background: var(--pswp-bg);
    opacity: 0.005;
}

.pswp__bg:empty {
    display: block;
}

.pswp,
.pswp__scroll-wrap {
    overflow: hidden;
}

.pswp__bg,
.pswp__container,
.pswp__content,
.pswp__img,
.pswp__item,
.pswp__scroll-wrap,
.pswp__zoom-wrap {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.pswp__img,
.pswp__zoom-wrap {
    height: auto;
    width: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
    cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
    cursor: move;
    cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
    cursor: grabbing;
}

.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
    cursor: zoom-out;
}

.pswp__button,
.pswp__container,
.pswp__counter,
.pswp__img {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.pswp__item {
    overflow: hidden;
    z-index: 1;
}

.pswp__hidden {
    display: none !important;
}

.pswp__content {
    pointer-events: none;
}

.pswp__content > * {
    pointer-events: auto;
}

.pswp__error-msg-container {
    display: grid;
}

.pswp__error-msg {
    color: var(--pswp-error-text-color);
    font-size: 1em;
    line-height: 1;
    margin: auto;
}

.pswp .pswp__hide-on-close {
    opacity: 0.005;
    pointer-events: none;
    transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
    z-index: 10;
}

.pswp--ui-visible .pswp__hide-on-close {
    opacity: 1;
    pointer-events: auto;
}

.pswp__button {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background-color: rgb(var(--color-background) / 0.6);
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--rounded-full);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
    var(--tw-shadow);
    cursor: pointer;
    display: block;
    height: var(--sp-12);
    margin: 0;
    opacity: 1;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: var(--sp-12);
}

@media screen and (min-width: 768px) {
    .pswp__button {
        height: var(--sp-15);
        width: var(--sp-15);
    }
}

button.pswp__button {
    -webkit-touch-callout: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: rgb(var(--color-background) / 0.6);
}

.pswp__button:disabled {
    cursor: auto;
    opacity: 0.3;
}

.pswp__button .pswp__icn {
    --tw-translate-x: -50%;
    --tw-translate-y: -50%;
    fill: var(--pswp-icon-color);
    color: var(--pswp-icon-color-secondary);
    width: var(--sp-6);
    height: var(--sp-6);
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    transform: translate(
            calc(var(--tw-translate-x) * var(--transform-logical)),
            var(--tw-translate-y)
    ) scaleX(calc(var(--tw-scale-x) * var(--transform-logical))) scaleY(var(--tw-scale-y));
}

@media screen and (min-width: 768px) {
    .pswp__button .pswp__icn {
        height: var(--sp-7d5);
        width: var(--sp-7d5);
    }
}

.pswp__button--zoom .pswp__icn {
    height: var(--sp-5);
    width: var(--sp-5);
}

@media screen and (min-width: 768px) {
    .pswp__button--zoom .pswp__icn {
        height: var(--sp-6);
        width: var(--sp-6);
    }
}

.pswp__icn-shadow {
    stroke: var(--pswp-icon-stroke-color);
    stroke-width: var(--pswp-icon-stroke-width);
    fill: none;
}

.pswp__icn:focus {
    outline: 0;
}

.pswp__img--with-bg,
div.pswp__img--placeholder {
    background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: var(--sp-12);
    justify-content: flex-end;
    padding-inline: var(--sp-5);
    position: absolute;
    inset-block-start: var(--sp-5);
    inset-inline-start: 0;
    z-index: 10;
}

@media screen and (min-width: 768px) {
    .pswp__top-bar {
        height: var(--sp-15);
    }
}

.pswp__top-bar {
    pointer-events: none !important;
}

.pswp__top-bar > * {
    pointer-events: auto;
}

.pswp__button--close {
    -webkit-margin-start: var(--sp-2);
    margin-inline-start: var(--sp-2);
}

.pswp__button--arrow {
    color: rgb(var(--color-foreground));
    width: var(--sp-12);
    height: var(--sp-12);
    position: absolute;
    inset-block-start: auto;
    inset-block-end: var(--sp-5);
}

@media screen and (min-width: 768px) {
    .pswp__button--arrow {
        --tw-translate-y: -50%;
        width: var(--sp-15);
        height: var(--sp-15);
        inset-block-start: 50%;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y));
    }
}

.pswp__button--arrow:disabled {
    cursor: default;
    display: none;
}

.pswp__button--arrow .pswp__icn {
    fill: transparent;
}

.pswp--one-slide .pswp__button--arrow {
    display: none;
}

.pswp--touch .pswp__button--arrow {
    visibility: hidden;
}

.pswp--has_mouse .pswp__button--arrow {
    visibility: visible;
}

.pswp__button--arrow--prev {
    inset-inline-start: var(--sp-6);
    inset-inline-end: auto;
}

.pswp__button--arrow--next {
    inset-inline-end: var(--sp-6);
}

.pswp__button--arrow--next .pswp__icn {
    --tw-scale-x: -1;
}

.pswp__button--zoom {
    display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
    display: block;
}

.pswp--zoomed-in .pswp__zoom-icn-bar-v {
    display: none;
}

.pswp__preloader {
    width: 50px;
    height: 60px;
    margin-inline-end: auto;
    overflow: hidden;
    position: relative;
}

.pswp__preloader .pswp__icn {
    animation: pswp-clockwise 0.6s linear infinite;
    opacity: 0;
    transition: opacity 0.2s linear;
}

.pswp__preloader--active .pswp__icn {
    opacity: 0.85;
}

@keyframes pswp-clockwise {
    0% {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(1turn);
    }
}

.pswp__counter {
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-backdrop-blur: blur(12px);
    align-items: center;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background-color: rgb(var(--color-background) / 0.6);
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--rounded-full);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
    var(--tw-shadow);
    display: flex;
    font-size: var(--text-sm);
    height: var(--sp-12);
    justify-content: center;
    line-height: 1.6;
    margin: 0;
    opacity: 1;
    padding-block: 0;
    padding-inline: var(--sp-6);
    position: relative;
}

@media screen and (min-width: 768px) {
    .pswp__counter {
        font-size: var(--text-base);
        height: var(--sp-15);
        line-height: 1.6;
        padding-inline: var(--sp-8);
    }
}

.pswp--one-slide .pswp__counter {
    display: none;
}

.pswp__video-container {
    background-color: var(--pswp-placeholder-bg);
}

.pswp__video-container > :is(video, iframe) {
    width: 100%;
    height: 100%;
}

.pswp__video-container > :is(model-viewer) {
    display: block;
    width: 800px;
    height: 800px;
    max-width: 100%;
    max-height: 100%;
}

.pswp__video-container
.deferred-media
:is(.shopify-model-viewer-ui, model-viewer),
.pswp__video-container
.deferred-media
:is(.shopify-model-viewer-ui, model-viewer)
~ .play-button {
    display: none;
}

.pswp__video-container .play-button {
    width: var(--sp-10);
    height: var(--sp-10);
    inset-inline-end: var(--sp-4);
    inset-block-start: var(--sp-4);
    background-color: rgb(var(--color-background));
}

.pswp__video-container .play-button .icon {
    width: var(--sp-4);
    height: var(--sp-4);
}

@media screen and (min-width: 1024px) {
    .pswp__video-container .play-button {
        width: var(--sp-14);
        height: var(--sp-14);
    }

    .pswp__video-container .play-button .icon {
        width: var(--sp-5);
        height: var(--sp-5);
    }
}

/*! flickity */

.flickity-enabled {
    position: relative;
}

.flickity-enabled:focus {
    outline: none;
}

.flickity-viewport {
    height: 100%;
    overflow: hidden;
    position: relative;
}

.flickity-slider {
    position: absolute;
    height: 100%;
    width: 100%;
}

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: grabbing;
}

.flickity-slider .flickity-cell {
    position: absolute;
    left: 0;
}

.flickity-rtl .flickity-cell {
    left: unset;
    right: 0;
}

.flickity-button {
    background: hsla(0, 0%, 100%, 0.75);
    border: none;
    color: #333;
    position: absolute;
}

.flickity-button:hover {
    background: #fff;
    cursor: pointer;
}

.flickity-button:focus {
    box-shadow: 0 0 0 5px #19f;
    outline: none;
}

.flickity-button:active {
    opacity: 0.6;
}

.flickity-button:disabled {
    cursor: auto;
    opacity: 0.3;
    pointer-events: none;
}

.flickity-button-icon {
    fill: currentColor;
}

.flickity-prev-next-button {
    border-radius: 50%;
    height: 44px;
    width: 44px;
    inset-block-start: 50%;
    transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
    inset-inline-start: 10px;
}

.flickity-prev-next-button.next {
    inset-inline-end: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
    height: 60%;
    width: 60%;
    position: absolute;
    inset-block-start: 20%;
    inset-inline-start: 20%;
}

.flickity-page-dots {
    padding: 0;
    margin: 0;
    margin-block-start: var(--sp-6);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
}

.flickity-rtl .flickity-page-dots {
    direction: rtl;
}

.flickity-page-dot {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--sp-6);
    height: var(--sp-6);
    border-radius: var(--rounded-full);
    transition: box-shadow var(--animation-primary);
}

.flickity-page-dot::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    background-color: rgb(var(--color-foreground));
    border-radius: var(--rounded-full);
    transition: var(--animation-primary);
    transition-property: background-color, box-shadow;
}

.flickity-page-dot.is-selected::before,
.flickity-page-dot[aria-current="true"]::before {
    width: 5px;
    height: 5px;
    background-color: transparent;
    box-shadow: 0 0 0 2px rgb(var(--color-foreground));
}

.flickity-enabled.is-fade .flickity-slider > * {
    pointer-events: none;
    z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider > .is-selected {
    pointer-events: auto;
    z-index: 1;
}

/*! base */

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fade-out {
    0% {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes appear-down {
    0% {
        opacity: 0;
        transform: translateY(-1rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes appear-up {
    0% {
        opacity: 0;
        transform: translateY(1rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

*,
::after,
::before {
    box-sizing: border-box;
}

html {
    touch-action: manipulation;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: normal;
}

.no-js:not(html) {
    display: none !important;
}

.no-js .no-js:not(html) {
    display: block !important;
}

.no-js .no-js-hidden {
    display: none !important;
}

body {
    background-color: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    font-family: var(--font-body-family);
    font-style: var(--font-body-style);
    font-weight: var(--font-body-weight);
    font-size: var(--text-base);
    line-height: var(--font-body-line-height);
    letter-spacing: var(--font-body-letter-spacing);
    overflow-x: hidden;
    line-height: inherit;
    margin: 0;
}

hr {
    color: inherit;
    height: 0;
    border-block-end: 0;
    border-block-start: 1px solid rgb(var(--color-border));
}

abbr:where([title]) {
    text-decoration: underline dotted;
}

blockquote,
.heading,
h1,
h2,
h3,
h4,
h5,
h6,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    letter-spacing: var(--font-heading-letter-spacing);
    line-height: var(--font-heading-line-height);
    text-transform: var(--font-heading-text-transform);
    color: rgb(var(--color-foreground));
    word-break: break-word;
}

.h0 {
    font-size: var(--text-h0);
    line-height: 1;
}

.h1,
.rte h1:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h1);
    line-height: 1.1;
}

.h2,
.rte h2:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h2);
    line-height: 1.3;
}

.h3,
.rte h3:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h3);
    line-height: 1.4;
}

.h4,
.rte h4:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h4);
    line-height: 1.4;
}

.h5,
.rte h5:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h5);
    line-height: 1.5;
}

.h6,
.rte h6:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-size: var(--text-h6);
    line-height: 1.5;
}

@media screen and (max-width: 1023px) {
    .h2,
    .rte h2:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
        line-height: 1.1;
    }

    .h3,
    .rte h3:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
        line-height: 1.3;
    }
}

@media screen and (min-width: 768px) {
    .h1,
    .rte h1:not(.h0, .h1, .h2, .h3, .h4, .h5, .h6) {
        line-height: 1;
    }
}

.rte blockquote,
.rte blockquote p {
    font-size: var(--text-h2);
    line-height: 1.3;
}

.rte blockquote {
    position: relative;
    --quote-icon-width: 48px;
    --quote-icon-height: 48px;
}

a {
    color: inherit;
    text-decoration: inherit;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
pre,
samp {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    Liberation Mono, Courier New, monospace;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    inset-block-end: -0.25em;
}

sup {
    inset-block-start: -0.5em;
}

table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0;
}

button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    border: none;
    margin: 0;
    padding: 0;
}

button,
select {
    text-transform: none;
}

[type="button"],
[type="reset"],
[type="submit"],
button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    background-color: transparent;
    background-image: none;
}

:-moz-focusring {
    outline: auto;
}

:-moz-ui-invalid {
    box-shadow: none;
}

progress {
    vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    outline-offset: -2px;
}

::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

summary {
    display: list-item;
}

blockquote,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
pre {
    margin: 0;
}

fieldset {
    margin: 0;
}

fieldset,
legend {
    padding: 0;
}

menu,
ol,
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

[role="button"],
button {
    cursor: pointer;
}

:disabled {
    cursor: default;
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
    display: block;
    vertical-align: middle;
}

img,
video {
    height: auto;
    max-width: 100%;
}

:focus:not(:focus-visible) {
    outline: none;
}

.sr-only {
    clip: rect(0, 0, 0, 0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.api-only {
    position: absolute;
    height: 1px;
    width: 1px;
}

.pointer-events-none {
    pointer-events: none;
}

.pointer-events-auto {
    pointer-events: auto;
}

.visible {
    visibility: visible;
}

.static {
    position: static;
}

.fixed {
    position: fixed;
}

.absolute {
    position: absolute;
}

.relative {
    position: relative;
}

.sticky {
    position: sticky;
}

.box-border {
    box-sizing: border-box;
}

.cursor-default {
    cursor: default;
}

.cursor-pointer {
    cursor: pointer;
}

.table-cell {
    display: table-cell;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.inline {
    display: inline;
}

.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

.grid {
    display: grid;
}

.contents {
    display: contents;
}

.hidden,
[hidden] {
    display: none;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-visible {
    overflow: visible;
}

.p-0 {
    padding: 0;
}

.py-0 {
    padding-block: 0;
}

.px-0 {
    padding-inline: 0;
}

.rounded-full {
    border-radius: var(--rounded-full);
}

.uppercase {
    text-transform: uppercase;
}

.normal-case {
    text-transform: none;
}

.text-left {
    text-align: start;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: end;
}

.text-inherit {
    text-align: inherit;
}

.text-8xl {
    font-size: var(--text-8xl);
    line-height: 1.6;
}

.text-6xl {
    font-size: var(--text-6xl);
    line-height: 1.6;
}

.text-5xl {
    font-size: var(--text-5xl);
    line-height: 1.6;
}

.text-4xl {
    font-size: var(--text-4xl);
    line-height: 1.6;
}

.text-3xl {
    font-size: var(--text-3xl);
    line-height: 1.6;
}

.text-2xl {
    font-size: var(--text-2xl);
    line-height: 1.6;
}

.text-xl {
    font-size: var(--text-xl);
    line-height: 1.6;
}

.text-lg {
    font-size: var(--text-lg);
    line-height: 1.6;
}

.text-base {
    font-size: var(--text-base);
    line-height: 1.6;
}

.text-2sm {
    font-size: var(--text-2sm);
    line-height: 1.6;
}

.text-sm {
    font-size: var(--text-sm);
    line-height: 1.6;
}

.text-xs {
    font-size: var(--text-xs);
    line-height: 1.6;
}

.text-3xs {
    font-size: var(--text-3xs);
}

.text-sm-base {
    font-size: var(--fluid-sm-to-base);
}

.text-sm-lg {
    font-size: var(--fluid-sm-to-lg);
}

.text-base-xl {
    font-size: var(--fluid-base-to-xl);
}

.text-base-2xl {
    font-size: var(--fluid-base-to-2xl);
}

.text-lg-2xl {
    font-size: var(--fluid-lg-to-2xl);
}

.text-xl-3xl {
    font-size: var(--fluid-xl-to-3xl);
}

.font-bold {
    font-weight: var(--font-bold);
}

.font-medium {
    font-weight: var(--font-medium);
}

.font-normal {
    font-weight: var(--font-normal);
}

.italic {
    font-style: italic;
}

.not-italic {
    font-style: normal;
}

.list-none {
    list-style-type: none;
}

.list-disc {
    list-style-type: disc;
}

.list-decimal {
    list-style-type: decimal;
}

.list-disc,
.list-decimal {
    list-style-position: inside;
}

.top-0 {
    inset-block-start: 0;
}

.top-100 {
    inset-block-start: 100%;
}

.left-0 {
    inset-inline-start: 0;
}

.left-100 {
    inset-inline-start: 100%;
}

.bottom-0 {
    inset-block-end: 0;
}

.bottom-100 {
    inset-block-end: 100%;
}

.right-0 {
    inset-inline-end: 0;
}

.right-100 {
    inset-inline-end: 100%;
}

.h-auto {
    height: auto;
}

.h-full {
    height: 100%;
}

.h-screen {
    height: 100vh;
}

.h-fit {
    height: fit-content;
}

.w-auto {
    width: auto;
}

.w-full {
    width: 100%;
}

.w-screen {
    width: 100vw;
}

.w-fit {
    width: fit-content;
}

.z-1 {
    z-index: 1;
}

.z-2 {
    z-index: 2;
}

.z-3 {
    z-index: 3;
}

.z-10 {
    z-index: 10;
}

.z-15 {
    z-index: 15;
}

.z-20 {
    z-index: 20;
}

.z-25 {
    z-index: 25;
}

.z-30 {
    z-index: 30;
}

.z-35 {
    z-index: 35;
}

.z-40 {
    z-index: 40;
}

.z-45 {
    z-index: 45;
}

.z-50 {
    z-index: 50;
}

.z-100 {
    z-index: 100;
}

.max-w-full {
    max-width: 100%;
}

.visible {
    visibility: visible;
}

.invisible {
    visibility: hidden;
}

.opacity-0 {
    opacity: 0;
}

.js .js-invisible {
    visibility: hidden;
}

.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes spin {
    to {
        transform: rotate(1turn);
    }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

@keyframes rotator {
    0% {
        transform: rotate(0);
    }

    to {
        transform: rotate(270deg);
    }
}

.animate-rotator {
    animation: rotator 1.4s infinite linear;
}

.select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.resize {
    resize: both;
}

.col-span-6 {
    grid-column: span 6 / span 6;
}

.col-span-full {
    grid-column: 1/-1;
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.flex-row {
    flex-direction: row;
}

.flex-row-reverse {
    flex-direction: row-reverse;
}

.flex-col {
    flex-direction: column;
}

.flex-col-reverse {
    flex-direction: column-reverse;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.items-start {
    align-items: flex-start;
}

.items-end {
    align-items: flex-end;
}

.items-center {
    align-items: center;
}

.items-baseline {
    align-items: baseline;
}

.justify-start {
    justify-content: flex-start;
}

.justify-end {
    justify-content: flex-end;
}

.justify-center {
    justify-content: center;
}

.justify-between {
    justify-content: space-between;
}

.place-self-start {
    place-self: start;
}

.place-self-end {
    place-self: end;
}

.place-self-center {
    place-self: center;
}

.justify-self-start {
    justify-self: flex-start;
}

.justify-self-end {
    justify-self: flex-end;
}

.justify-self-center {
    justify-self: center;
}

.align-self-start {
    align-self: flex-start;
}

.align-self-end {
    align-self: flex-end;
}

.align-self-center {
    align-self: center;
}

.align-self-stretch {
    align-self: stretch;
}

.shrink {
    flex-shrink: 1;
}

.shrink-0 {
    flex-shrink: 0;
}

.grow {
    flex-grow: 1;
}

.grow-0 {
    flex-grow: 0;
}

.gap-0 {
    gap: 0;
}

.gap-0d5 {
    gap: var(--sp-0d5);
}

.gap-1 {
    gap: var(--sp-1);
}

.gap-1d5 {
    gap: var(--sp-1d5);
}

.gap-2 {
    gap: var(--sp-2);
}

.gap-2d5 {
    gap: var(--sp-2d5);
}

.gap-3 {
    gap: var(--sp-3);
}

.gap-3d5 {
    gap: var(--sp-3d5);
}

.gap-4 {
    gap: var(--sp-4);
}

.gap-4d5 {
    gap: var(--sp-4d5);
}

.gap-5 {
    gap: var(--sp-5);
}

.gap-5d5 {
    gap: var(--sp-5d5);
}

.gap-6 {
    gap: var(--sp-6);
}

.gap-6d5 {
    gap: var(--sp-6d5);
}

.gap-7 {
    gap: var(--sp-7);
}

.gap-7d5 {
    gap: var(--sp-7d5);
}

.gap-8 {
    gap: var(--sp-8);
}

.gap-9 {
    gap: var(--sp-9);
}

.gap-10 {
    gap: var(--sp-10);
}

.gap-12 {
    gap: var(--sp-12);
}

.gap-14 {
    gap: var(--sp-14);
}

@media screen and (min-width: 640px) {
    .sm\:hidden {
        display: none;
    }

    .sm\:block {
        display: block;
    }

    .sm\:flex {
        display: flex;
    }

    .sm\:flex-row {
        flex-direction: row;
    }

    .sm\:text-base {
        font-size: var(--text-base);
        line-height: 1.6;
    }

    .sm\:text-sm {
        font-size: var(--text-sm);
        line-height: 1.6;
    }

    .sm\:relative {
        position: relative;
    }
}

@media screen and (min-width: 768px) {
    .md\:sticky {
        position: sticky;
    }

    .md\:left-0 {
        inset-inline-start: 0;
    }

    .md\:right-0 {
        inset-inline-end: 0;
    }

    .md\:overflow-hidden {
        overflow: hidden;
    }

    .md\:overflow-visible {
        overflow: visible;
    }

    .md\:text-left {
        text-align: start;
    }

    .md\:text-center {
        text-align: center;
    }

    .md\:text-right {
        text-align: end;
    }

    .md\:text-inherit {
        text-align: inherit;
    }

    .md\:table-cell {
        display: table-cell;
    }

    .md\:block {
        display: block;
    }

    .md\:inline-block {
        display: inline-block;
    }

    .md\:inline {
        display: inline;
    }

    .md\:flex {
        display: flex;
    }

    .md\:inline-flex {
        display: inline-flex;
    }

    .md\:grid {
        display: grid;
    }

    .md\:hidden {
        display: none;
    }

    .md\:col-span-5 {
        grid-column: span 5 / span 5;
    }

    .md\:col-span-6 {
        grid-column: span 6 / span 6;
    }

    .md\:col-span-7 {
        grid-column: span 7 / span 7;
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .md\:text-base {
        font-size: var(--text-base);
        line-height: 1.6;
    }

    .md\:flex-row {
        flex-direction: row;
    }

    .md\:flex-row-reverse {
        flex-direction: row-reverse;
    }

    .md\:flex-col {
        flex-direction: column;
    }

    .md\:flex-col-reverse {
        flex-direction: column-reverse;
    }

    .md\:flex-wrap {
        flex-wrap: wrap;
    }

    .md\:flex-nowrap {
        flex-wrap: nowrap;
    }

    .md\:items-start {
        align-items: flex-start;
    }

    .md\:items-end {
        align-items: flex-end;
    }

    .md\:items-center {
        align-items: center;
    }

    .md\:justify-start {
        justify-content: flex-start;
    }

    .md\:justify-end {
        justify-content: flex-end;
    }

    .md\:justify-center {
        justify-content: center;
    }

    .md\:justify-between {
        justify-content: space-between;
    }

    .md\:shrink {
        flex-shrink: 1;
    }

    .md\:grow {
        flex-grow: 1;
    }

    .md\:grow-0 {
        flex-grow: 0;
    }

    .md\:gap-0 {
        gap: 0;
    }

    .md\:gap-1 {
        gap: var(--sp-1);
    }

    .md\:gap-1d5 {
        gap: var(--sp-1d5);
    }

    .md\:gap-2 {
        gap: var(--sp-2);
    }

    .md\:gap-3 {
        gap: var(--sp-3);
    }

    .md\:gap-4 {
        gap: var(--sp-4);
    }

    .md\:gap-5 {
        gap: var(--sp-5);
    }

    .md\:gap-6 {
        gap: var(--sp-6);
    }

    .md\:gap-7 {
        gap: var(--sp-7);
    }

    .md\:gap-7d5 {
        gap: var(--sp-7d5);
    }

    .md\:gap-8 {
        gap: var(--sp-8);
    }

    .md\:gap-9 {
        gap: var(--sp-9);
    }

    .md\:gap-10 {
        gap: var(--sp-10);
    }

    .md\:gap-12 {
        gap: var(--sp-12);
    }

    .md\:gap-14 {
        gap: var(--sp-14);
    }

    .md\:text-5xl {
        font-size: var(--text-5xl);
        line-height: 1.6;
    }

    .md\:text-4xl {
        font-size: var(--text-4xl);
        line-height: 1.6;
    }

    .md\:text-3xl {
        font-size: var(--text-3xl);
        line-height: 1.6;
    }

    .md\:text-2xl {
        font-size: var(--text-2xl);
        line-height: 1.6;
    }

    .md\:text-xl {
        font-size: var(--text-xl);
        line-height: 1.6;
    }

    .md\:text-lg {
        font-size: var(--text-lg);
        line-height: 1.6;
    }

    .md\:text-base {
        font-size: var(--text-base);
        line-height: 1.6;
    }

    .md\:text-sm {
        font-size: var(--text-sm);
        line-height: 1.6;
    }

    .md\:text-xs {
        font-size: var(--text-xs);
        line-height: 1.6;
    }

    .md\:font-bold {
        font-weight: var(--font-bold);
    }

    .md\:font-medium {
        font-weight: var(--font-medium);
    }

    .md\:opacity-0 {
        opacity: 0;
    }

    .md\:w-full {
        width: 100%;
    }

    .md\:w-fit {
        width: fit-content;
    }
}

@media screen and (min-width: 1024px) {
    .lg\:sticky {
        position: sticky;
    }

    .lg\:left-0 {
        inset-inline-start: 0;
    }

    .lg\:right-0 {
        inset-inline-end: 0;
    }

    .lg\:overflow-hidden {
        overflow: hidden;
    }

    .lg\:overflow-visible {
        overflow: visible;
    }

    .lg\:text-left {
        text-align: start;
    }

    .lg\:text-center {
        text-align: center;
    }

    .lg\:text-right {
        text-align: end;
    }

    .lg\:text-inherit {
        text-align: inherit;
    }

    .lg\:table-cell {
        display: table-cell;
    }

    .lg\:block {
        display: block;
    }

    .lg\:inline-block {
        display: inline-block;
    }

    .lg\:inline {
        display: inline;
    }

    .lg\:flex {
        display: flex;
    }

    .lg\:inline-flex {
        display: inline-flex;
    }

    .lg\:grid {
        display: grid;
    }

    .lg\:hidden {
        display: none;
    }

    .lg\:col-span-5 {
        grid-column: span 5 / span 5;
    }

    .lg\:col-span-6 {
        grid-column: span 6 / span 6;
    }

    .lg\:col-span-7 {
        grid-column: span 7 / span 7;
    }

    .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lg\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .lg\:text-base {
        font-size: var(--text-base);
        line-height: 1.6;
    }

    .lg\:flex-row {
        flex-direction: row;
    }

    .lg\:flex-row-reverse {
        flex-direction: row-reverse;
    }

    .lg\:flex-col {
        flex-direction: column;
    }

    .lg\:flex-col-reverse {
        flex-direction: column-reverse;
    }

    .lg\:flex-wrap {
        flex-wrap: wrap;
    }

    .lg\:flex-nowrap {
        flex-wrap: nowrap;
    }

    .lg\:items-start {
        align-items: flex-start;
    }

    .lg\:items-end {
        align-items: flex-end;
    }

    .lg\:items-center {
        align-items: center;
    }

    .lg\:justify-start {
        justify-content: flex-start;
    }

    .lg\:justify-end {
        justify-content: flex-end;
    }

    .lg\:justify-center {
        justify-content: center;
    }

    .lg\:justify-between {
        justify-content: space-between;
    }

    .lg\:shrink {
        flex-shrink: 1;
    }

    .lg\:grow {
        flex-grow: 1;
    }

    .lg\:grow-0 {
        flex-grow: 0;
    }

    .lg\:gap-0 {
        gap: 0;
    }

    .lg\:gap-1 {
        gap: var(--sp-1);
    }

    .lg\:gap-1d5 {
        gap: var(--sp-1d5);
    }

    .lg\:gap-2 {
        gap: var(--sp-2);
    }

    .lg\:gap-3 {
        gap: var(--sp-3);
    }

    .lg\:gap-4 {
        gap: var(--sp-4);
    }

    .lg\:gap-5 {
        gap: var(--sp-5);
    }

    .lg\:gap-6 {
        gap: var(--sp-6);
    }

    .lg\:gap-7 {
        gap: var(--sp-7);
    }

    .lg\:gap-7d5 {
        gap: var(--sp-7d5);
    }

    .lg\:gap-8 {
        gap: var(--sp-8);
    }

    .lg\:gap-9 {
        gap: var(--sp-9);
    }

    .lg\:gap-10 {
        gap: var(--sp-10);
    }

    .lg\:gap-12 {
        gap: var(--sp-12);
    }

    .lg\:gap-14 {
        gap: var(--sp-14);
    }

    .lg\:text-5xl {
        font-size: var(--text-5xl);
        line-height: 1.6;
    }

    .lg\:text-4xl {
        font-size: var(--text-4xl);
        line-height: 1.6;
    }

    .lg\:text-3xl {
        font-size: var(--text-3xl);
        line-height: 1.6;
    }

    .lg\:text-2xl {
        font-size: var(--text-2xl);
        line-height: 1.6;
    }

    .lg\:text-xl {
        font-size: var(--text-xl);
        line-height: 1.6;
    }

    .lg\:text-lg {
        font-size: var(--text-lg);
        line-height: 1.6;
    }

    .lg\:text-base {
        font-size: var(--text-base);
        line-height: 1.6;
    }

    .lg\:text-sm {
        font-size: var(--text-sm);
        line-height: 1.6;
    }

    .lg\:text-xs {
        font-size: var(--text-xs);
        line-height: 1.6;
    }

    .lg\:font-bold {
        font-weight: var(--font-bold);
    }

    .lg\:font-medium {
        font-weight: var(--font-medium);
    }

    .lg\:font-heading {
        font-weight: var(--font-heading-weight);
    }

    .lg\:opacity-0 {
        opacity: 0;
    }

    .lg\:w-full {
        width: 100%;
    }

    .lg\:w-fit {
        width: fit-content;
    }
}

@media screen and (min-width: 1280px) {
    .xl\:sticky {
        position: sticky;
    }

    .xl\:left-0 {
        inset-inline-start: 0;
    }

    .xl\:right-0 {
        inset-inline-end: 0;
    }

    .xl\:overflow-hidden {
        overflow: hidden;
    }

    .xl\:overflow-visible {
        overflow: visible;
    }

    .xl\:text-left {
        text-align: start;
    }

    .xl\:text-center {
        text-align: center;
    }

    .xl\:text-right {
        text-align: end;
    }

    .xl\:text-inherit {
        text-align: inherit;
    }

    .xl\:table-cell {
        display: table-cell;
    }

    .xl\:block {
        display: block;
    }

    .xl\:inline-block {
        display: inline-block;
    }

    .xl\:inline {
        display: inline;
    }

    .xl\:flex {
        display: flex;
    }

    .xl\:inline-flex {
        display: inline-flex;
    }

    .xl\:grid {
        display: grid;
    }

    .xl\:hidden {
        display: none;
    }

    .xl\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .xl\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }

    .xl\:flex-row {
        flex-direction: row;
    }

    .xl\:flex-row-reverse {
        flex-direction: row-reverse;
    }

    .xl\:flex-col {
        flex-direction: column;
    }

    .xl\:flex-col-reverse {
        flex-direction: column-reverse;
    }

    .xl\:flex-wrap {
        flex-wrap: wrap;
    }

    .xl\:flex-nowrap {
        flex-wrap: nowrap;
    }

    .xl\:items-start {
        align-items: flex-start;
    }

    .xl\:items-end {
        align-items: flex-end;
    }

    .xl\:items-center {
        align-items: center;
    }

    .xl\:justify-start {
        justify-content: flex-start;
    }

    .xl\:justify-end {
        justify-content: flex-end;
    }

    .xl\:justify-center {
        justify-content: center;
    }

    .xl\:justify-between {
        justify-content: space-between;
    }

    .xl\:shrink {
        flex-shrink: 1;
    }

    .xl\:grow {
        flex-grow: 1;
    }

    .xl\:grow-0 {
        flex-grow: 0;
    }

    .xl\:gap-0 {
        gap: 0;
    }

    .xl\:gap-1 {
        gap: var(--sp-1);
    }

    .xl\:gap-1d5 {
        gap: var(--sp-1d5);
    }

    .xl\:gap-2 {
        gap: var(--sp-2);
    }

    .xl\:gap-3 {
        gap: var(--sp-3);
    }

    .xl\:gap-4 {
        gap: var(--sp-4);
    }

    .xl\:gap-5 {
        gap: var(--sp-5);
    }

    .xl\:gap-6 {
        gap: var(--sp-6);
    }

    .xl\:gap-7 {
        gap: var(--sp-7);
    }

    .xl\:gap-7d5 {
        gap: var(--sp-7d5);
    }

    .xl\:gap-8 {
        gap: var(--sp-8);
    }

    .xl\:gap-9 {
        gap: var(--sp-9);
    }

    .xl\:gap-10 {
        gap: var(--sp-10);
    }

    .xl\:gap-12 {
        gap: var(--sp-12);
    }

    .xl\:gap-14 {
        gap: var(--sp-14);
    }

    .xl\:text-5xl {
        font-size: var(--text-5xl);
        line-height: 1.6;
    }

    .xl\:text-4xl {
        font-size: var(--text-4xl);
        line-height: 1.6;
    }

    .xl\:text-3xl {
        font-size: var(--text-3xl);
        line-height: 1.6;
    }

    .xl\:text-2xl {
        font-size: var(--text-2xl);
        line-height: 1.6;
    }

    .xl\:text-xl {
        font-size: var(--text-xl);
        line-height: 1.6;
    }

    .xl\:text-lg {
        font-size: var(--text-lg);
        line-height: 1.6;
    }

    .xl\:text-base {
        font-size: var(--text-base);
        line-height: 1.6;
    }

    .xl\:text-sm {
        font-size: var(--text-sm);
        line-height: 1.6;
    }

    .xl\:text-xs {
        font-size: var(--text-xs);
        line-height: 1.6;
    }

    .xl\:font-bold {
        font-weight: var(--font-bold);
    }

    .xl\:font-medium {
        font-weight: var(--font-medium);
    }

    .xl\:opacity-0 {
        opacity: 0;
    }

    .xl\:w-full {
        width: 100%;
    }

    .xl\:w-fit {
        width: fit-content;
    }
}

.leading-none {
    line-height: 1;
}

.leading-tight {
    line-height: 1.25;
}

.leading-normal {
    line-height: 1.6;
}

.tracking-none {
    letter-spacing: 0;
}

.tracking-tighter {
    letter-spacing: -0.05em;
}

.tracking-tight {
    letter-spacing: -0.025em;
}

.tracking-wide {
    letter-spacing: 0.025em;
}

.tracking-wider {
    letter-spacing: 0.05em;
}

.tracking-widest {
    letter-spacing: 0.1em;
}

.tracking-heading {
    letter-spacing: -0.04em;
}

.whitespace-nowrap {
    white-space: nowrap;
}

a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
    display: none;
}

/*! rte */

.rte :where(p):not(:where([class~="not-rte"] *)) {
    margin-block: var(--sp-4);
}

@media screen and (min-width: 1024px) {
    .rte :where(p):not(:where([class~="not-rte"] *)) {
        margin-block: var(--sp-5);
    }
}

@media screen and (min-width: 1280px) {
    .rte :where(p):not(:where([class~="not-rte"] *)) {
        margin-block: var(--sp-4d5);
    }
}

.rte :where(.rte > :first-child):not(:where([class~="not-rte"] *)) {
    margin-block-start: 0;
}

.rte :where(.rte > :last-child):not(:where([class~="not-rte"] *)) {
    margin-block-end: 0;
}

.rte :where(.h0, .h1, h1):not(:where([class~="not-rte"] *)) {
    margin-block-end: var(--sp-8d5);
    margin-block-start: 0;
}

@media screen and (min-width: 1024px) {
    .rte :where(.h0, .h1, h1):not(:where([class~="not-rte"] *)) {
        margin-block-end: var(--sp-10);
    }
}

@media screen and (min-width: 1280px) {
    .rte :where(.h0, .h1, h1):not(:where([class~="not-rte"] *)) {
        margin-block-end: var(--sp-12);
    }
}

.rte :where(.h2, h2):not(:where([class~="not-rte"] *)) {
    margin-block-end: var(--sp-6);
    margin-block-start: var(--sp-12);
}

@media screen and (min-width: 1280px) {
    .rte :where(.h2, h2):not(:where([class~="not-rte"] *)) {
        margin-block-end: var(--sp-8d5);
        margin-block-start: var(--sp-14);
    }
}

.rte :where(.h3, h3):not(:where([class~="not-rte"] *)) {
    margin-block-end: var(--sp-3);
    margin-block-start: var(--sp-8);
}

@media screen and (min-width: 1024px) {
    .rte :where(.h3, h3):not(:where([class~="not-rte"] *)) {
        margin-block-end: var(--sp-4);
        margin-block-start: var(--sp-10);
    }
}

@media screen and (min-width: 1280px) {
    .rte :where(.h3, h3):not(:where([class~="not-rte"] *)) {
        margin-block-end: var(--sp-5);
        margin-block-start: var(--sp-12);
    }
}

.rte :where(.h4, h4):not(:where([class~="not-rte"] *)) {
    margin-block-end: var(--sp-3);
    margin-block-start: var(--sp-10);
}

@media screen and (min-width: 1024px) {
    .rte :where(.h4, h4):not(:where([class~="not-rte"] *)) {
        margin-block-end: var(--sp-2d5);
        margin-block-start: var(--sp-10);
    }
}

@media screen and (min-width: 1280px) {
    .rte :where(.h4, h4):not(:where([class~="not-rte"] *)) {
        margin-block-end: var(--sp-3d5);
        margin-block-start: var(--sp-10d5);
    }
}

.rte :where(hr):not(:where([class~="not-rte"] *)) {
    margin-block: var(--sp-10);
}

@media screen and (min-width: 1024px) {
    .rte :where(hr):not(:where([class~="not-rte"] *)) {
        margin-block: var(--sp-12);
    }
}

@media screen and (min-width: 1536px) {
    .rte :where(hr):not(:where([class~="not-rte"] *)) {
        margin-block: var(--sp-14);
    }
}

.rte :where(h2 + *, h3 + *, h4 + *, hr + *):not(:where([class~="not-rte"] *)) {
    margin-block-start: 0;
}

.rte :where(img):not(:where([class~="not-rte"] *)) {
    margin-block: var(--sp-12);
}

.rte :where(video):not(:where([class~="not-rte"] *)) {
    margin-block: var(--sp-12);
}

.rte :where(figure):not(:where([class~="not-rte"] *)) {
    margin-block: var(--sp-8);
}

@media screen and (min-width: 1024px) {
    .rte :where(figure):not(:where([class~="not-rte"] *)) {
        margin-block: var(--sp-12);
    }
}

.rte :where(figure > *):not(:where([class~="not-rte"] *)) {
    margin-block: 0;
}

.rte :where(figcaption):not(:where([class~="not-rte"] *)) {
    color: rgb(var(--color-foreground) / 0.7);
    font-size: var(--text-sm);
    font-style: italic;
    line-height: 1.375;
    margin-block-start: var(--sp-4d5);
}

.rte :where(figcaption a):not(:where([class~="not-rte"] *)) {
    color: rgb(var(--color-foreground));
}

.rte :where(ul):not(:where([class~="not-rte"] *)) {
    list-style-type: disc;
}

.rte :where(ul):not(:where([class~="not-rte"] *)) ::marker {
    color: rgb(var(--color-foreground) / 0.25);
}

.rte :where(ul):not(:where([class~="not-rte"] *))::marker {
    color: rgb(var(--color-foreground) / 0.25);
}

.rte :where(ul, ol):not(:where([class~="not-rte"] *)) {
    margin-block: var(--sp-5);
    padding-inline-start: var(--sp-7);
}

@media screen and (min-width: 1024px) {
    .rte :where(ul, ol):not(:where([class~="not-rte"] *)) {
        margin-block: var(--sp-6);
        padding-inline-start: var(--sp-8);
    }
}

.rte :where(li):not(:where([class~="not-rte"] *)) {
    margin-block-start: var(--sp-2);
}

@media screen and (min-width: 1024px) {
    .rte :where(li):not(:where([class~="not-rte"] *)) {
        margin-block-start: var(--sp-2d5);
    }
}

@media screen and (min-width: 1536px) {
    .rte :where(li):not(:where([class~="not-rte"] *)) {
        margin-block-start: var(--sp-3);
    }
}

.rte :where(ul > li, ol > li):not(:where([class~="not-rte"] *)) {
    padding-inline-start: var(--sp-1d5);
}

@media screen and (min-width: 1024px) {
    .rte :where(ul > li, ol > li):not(:where([class~="not-rte"] *)) {
        padding-inline-start: var(--sp-2);
    }
}

.rte
:where(.rte > ul > li > :first-child, .rte > ol > li > :first-child):not(
    :where([class~="not-rte"] *)
  ) {
    margin-block-start: var(--sp-5d5);
}

.rte
:where(.rte > ul > li > :last-child, .rte > ol > li > :last-child):not(
    :where([class~="not-rte"] *)
  ) {
    margin-block-end: var(--sp-5d5);
}

.rte :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-rte"] *)) {
    margin-block: var(--sp-5);
}

@media screen and (min-width: 1024px) {
    .rte :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-rte"] *)) {
        margin-block: var(--sp-4);
    }
}

.rte :where(blockquote):not(:where([class~="not-rte"] *)) {
    display: block;
    margin-block: var(--sp-8);
    padding-block-start: var(--sp-20);
    text-align: center;
}

@media screen and (min-width: 1024px) {
    .rte :where(blockquote):not(:where([class~="not-rte"] *)) {
        margin-block: var(--sp-12);
    }
}

.rte :where(blockquote):not(:where([class~="not-rte"] *))::before {
    content: "";
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 54 54'%3E%3Cpath d='M41.625 47.25a12.375 12.375 0 1 0 0-24.75c-.357 0-.706.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208A1.126 1.126 0 0 0 45 5.625h-2.25a1.125 1.125 0 0 0-.816.35c-5.785 6.086-12.684 16.04-12.684 28.9A12.39 12.39 0 0 0 41.625 47.25Zm-29.25 0a12.375 12.375 0 1 0 0-24.75c-.357 0-.707.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208 1.126 1.126 0 0 0-.954-1.721H13.5a1.125 1.125 0 0 0-.816.35C6.9 12.06 0 22.015 0 34.875A12.39 12.39 0 0 0 12.375 47.25Z' fill='currentColor'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 54 54'%3E%3Cpath d='M41.625 47.25a12.375 12.375 0 1 0 0-24.75c-.357 0-.706.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208A1.126 1.126 0 0 0 45 5.625h-2.25a1.125 1.125 0 0 0-.816.35c-5.785 6.086-12.684 16.04-12.684 28.9A12.39 12.39 0 0 0 41.625 47.25Zm-29.25 0a12.375 12.375 0 1 0 0-24.75c-.357 0-.707.024-1.055.054a35.775 35.775 0 0 1 5.384-15.208 1.126 1.126 0 0 0-.954-1.721H13.5a1.125 1.125 0 0 0-.816.35C6.9 12.06 0 22.015 0 34.875A12.39 12.39 0 0 0 12.375 47.25Z' fill='currentColor'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: var(--quote-icon-width) var(--quote-icon-height);
    mask-size: var(--quote-icon-width) var(--quote-icon-height);
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 50%;
    transform: translateX(calc(-50% * var(--transform-logical)));
    width: var(--quote-icon-width);
    height: var(--quote-icon-height);
    background-color: currentColor;
}

.rte :where(blockquote > *):not(:where([class~="not-rte"] *)) {
    margin-block: 0;
}

.rte :where(blockquote cite):not(:where([class~="not-rte"] *)) {
    display: block;
    text-transform: none;
    font-size: var(--text-base);
    font-weight: var(--font-medium);
    letter-spacing: 0;
    line-height: 1.6;
    margin-block-start: var(--sp-8d5);
}

@media screen and (min-width: 1280px) {
    .rte :where(blockquote cite):not(:where([class~="not-rte"] *)) {
        font-size: var(--text-lg);
        line-height: 1.6;
    }
}

.page-width {
    margin: 0 auto;
    padding-inline: var(--page-padding);
}

@media screen and (min-width: 1536px) {
    .page-width--full {
        --page-padding: var(--sp-12);
        --page-container: calc(
                100vw - var(--scrollbar-width) - var(--page-padding) * 2
        );
    }
}

.spacing-section {
    min-height: var(--spacing-height-mobile);
}

@media screen and (min-width: 768px) {
    .spacing-section {
        min-height: var(--spacing-height-desktop);
    }
}

@media screen and (min-width: 1024px) {
    .page-width--narrow {
        --page-padding: var(--sp-12);
        max-width: 70rem;
    }
}

summary {
    list-style-type: none;
}

.scroll-area {
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.scroll-area::-webkit-scrollbar {
    display: none;
}

.icon {
    stroke-width: var(--icon-weight);
    width: var(--sp-5d5);
    height: var(--sp-5d5);
}

.icon-2xs {
    width: var(--sp-3);
    height: var(--sp-3);
}

.icon-xs {
    width: var(--sp-4);
    height: var(--sp-4);
}

.icon-sm {
    width: var(--sp-5);
    height: var(--sp-5);
}

.icon-lg {
    width: var(--sp-6);
    height: var(--sp-6);
}

.icon-xl {
    width: var(--sp-8);
    height: var(--sp-8);
}

.icon-custom {
    width: auto;
    height: auto;
}

.icon-light {
    stroke-width: calc(var(--icon-weight) - 0.3px);
}

.icon .fill {
    stroke: none;
    fill: rgb(var(--color-foreground) / 0.1);
}

.icon-rotator .path {
    stroke-dasharray: 280;
    stroke-dashoffset: 0;
    transform-origin: center;
    animation: dash 1.4s infinite ease;
}

.stroke-1 {
    stroke-width: 1;
}

.stroke-2 {
    stroke-width: 2;
}

@keyframes dash {
    0% {
        stroke-dashoffset: 280;
    }

    50% {
        stroke-dashoffset: 75;
        transform: rotate(135deg);
    }

    to {
        stroke-dashoffset: 280;
        transform: rotate(450deg);
    }
}

[role="main"] .shopify-section {
    --section-is-first: 0;
    position: relative;
}

[role="main"] .shopify-section:not(.contents) {
    display: flow-root;
}

[role="main"] .shopify-section:empty {
    display: none;
}

[role="main"] .shopify-section:first-child {
    --section-is-first: 1;
}

.js [role="main"] .shopify-section:last-child {
    border-end-end-radius: var(--border-radius);
    border-end-start-radius: var(--border-radius);
    position: relative;
}

.js [role="main"] .shopify-section:last-child .section::before {
    height: 100%;
}

.no-js .loading-bar {
    display: none;
}

.loading-bar {
    background-color: rgb(var(--color-foreground));
    z-index: 50;
}

.loading-bar .icon {
    color: rgb(var(--color-background));
    inset-block-end: var(--gap-padding);
    inset-inline-end: var(--gap-padding);
}

@media (prefers-reduced-motion: reduce) {
    .loading-bar {
        display: none;
    }
}

.page-container {
    background-color: rgb(var(--color-background));
}

.skip-link:focus {
    clip: auto;
    width: auto;
    height: auto;
    margin: 0;
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    padding: 10px;
    opacity: 1;
    z-index: 10000;
    transition: none;
}

*:focus {
    outline: 0;
    box-shadow: none;
}

*:focus-visible {
    outline: 2px solid rgb(var(--color-keyboard-focus));
    outline-offset: 3px;
}

/*! button */

.button,
.shopify-challenge__button,
button.shopify-payment-button__button--unbranded,
.shopify-payment-button [role="button"],
.additional-checkout-buttons [role="button"],
.additional-checkout-buttons iframe {
    --shadow-horizontal-offset: var(--buttons-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--buttons-shadow-vertical-offset);
    --shadow-opacity: var(--buttons-shadow-opacity);
    --border-opacity: var(--buttons-border-opacity);
}

.shopify-payment-button__button--branded {
    z-index: auto;
    font-family: var(--font-button-family);
    border-radius: var(--buttons-radius) !important;
    overflow: hidden !important;
}

.shopify-payment-button__more-options {
    margin-block-start: var(--sp-3) !important;
    font-size: var(--text-sm) !important;
    line-height: 1.25 !important;
}

shopify-accelerated-checkout,
shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-button-block-size: 50px;
    --shopify-accelerated-checkout-button-border-radius: var(--buttons-radius, 0);
    --shopify-accelerated-checkout-button-box-shadow: none;
}

.additional-checkout-buttons iframe {
    box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) rgb(var(--color-shadow) / var(--shadow-opacity));
}

.button,
.shopify-challenge__button,
button.shopify-payment-button__button--unbranded {
    cursor: pointer;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    line-height: 1;
    font-family: var(--font-button-family);
    font-size: var(--font-button-size);
    font-weight: var(--font-button-weight);
    text-transform: var(--font-button-text-transform);
    padding: clamp(var(--sp-4d5), 1.2vw, var(--sp-5d5)) clamp(var(--sp-6d5), 1.473vw, var(--sp-7d5));
    color: rgb(var(--color-button-text));
    background: var(--color-button-gradient);
    background-color: rgb(var(--color-button-background));
    border-radius: var(--buttons-radius);
    box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) rgb(var(--color-shadow) / var(--shadow-opacity));
    max-height: 3.75rem;
    border: none;
    height: auto;
}

button.shopify-payment-button__button--unbranded {
    min-width: var(--sp-48);
}

.button::after,
.shopify-challenge__button::after,
button.shopify-payment-button__button--unbranded::after {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0;
    border-radius: var(--buttons-radius);
    border: var(--buttons-border-width) solid rgb(var(--color-button-border) / var(--border-opacity));
}

.button.icon-with-text .btn-text {
    align-items: center;
    display: flex;
    gap: 0.75rem;
}

@media screen and (max-width: 767px) {
    .button.icon-with-text .icon-arrow-right {
        width: var(--sp-4d5);
        height: var(--sp-4d5);
    }
}

.button .btn-text {
    color: currentColor;
}

.button .btn-fill {
    display: block;
    border-radius: 50%;
    width: 150%;
    height: 200%;
    inset-block-start: -50%;
    inset-inline-start: -25%;
    position: absolute;
    transform: translate3d(0, -76%, 0);
}

.button--primary .btn-fill {
    background-color: rgb(var(--color-button-text));
}

.button--secondary .btn-fill {
    background: var(--color-button-gradient);
    background-color: rgb(var(--color-button-background));
}

.button[disabled],
button.shopify-payment-button__button--unbranded[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

.button[disabled] .btn-fill {
    display: none;
}

.button--fixed {
    min-width: var(--sp-48);
}

.button--fixed.link {
    min-width: unset;
}

.button--sm {
    padding: clamp(var(--sp-3), 1.2vw, var(--sp-4)) clamp(var(--sp-5), 1.473vw, var(--sp-6));
}

.button--lg {
    padding: clamp(var(--sp-6), 1.2vw, var(--sp-7)) clamp(var(--sp-8), 1.473vw, var(--sp-9));
    max-height: 4.25rem;
}

.button--small {
    font-size: var(--text-sm);
    padding: clamp(var(--sp-2), 0.526vw, var(--sp-2d5)) clamp(var(--sp-3), 0.842vw, var(--sp-4));
}

.button--small.icon-with-text {
    font-size: var(--fluid-xs-to-sm);
}

.button--small.icon-with-text .btn-text {
    gap: var(--sp-2);
}

.button--small.icon-with-text .btn-text .icon {
    width: var(--sp-4);
    height: var(--sp-4);
}

input.button--primary {
    border: var(--buttons-border-width) solid rgb(var(--color-button-border) / var(--border-opacity));
}

.button--secondary,
button.shopify-payment-button__button--unbranded {
    color: rgb(var(--color-button-background));
    background: none;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.button--close {
    --shadow-opacity: 0;
    --border-opacity: 0.1;
    --buttons-border-width: 1px;
    --buttons-radius: var(--rounded-full);
    padding: 0;
}

.button--close .icon:first-child {
    --tw-rotate: 0deg;
    transform: rotate(var(--tw-rotate));
}

.button--blur {
    --button-backdrop-blur: blur(12px);
}

.button--blur .btn-fill {
    background-color: rgb(var(--color-overlay) / 0.6);
}

@media screen and (pointer: fine) {
    .button,
    .shopify-challenge__button,
    button.shopify-payment-button__button--unbranded {
        --button-transition: box-shadow var(--animation-primary),
        opacity var(--animation-fast);
        transition: var(--button-transition);
    }

    button.shopify-payment-button__button--unbranded {
        transition-property: box-shadow, color, background-color;
    }

    .button::after,
    .shopify-challenge__button::after,
    button.shopify-payment-button__button--unbranded::after {
        transition: border var(--animation-primary);
    }

    .button .btn-text {
        transition: color var(--animation-primary);
        transition-delay: 0.1s;
    }

    .button .btn-fill {
        transition: background-color var(--animation-primary);
    }

    input.button--primary {
        transition-property: color, background, border;
    }

    .button--close .icon:first-child {
        transition: transform var(--animation-primary),
        opacity var(--animation-fast);
    }

    .button--close:hover .icon:first-child {
        --tw-rotate: 90deg;
    }

    .button--blur {
        --button-transition: box-shadow var(--animation-primary),
        background-color var(--animation-primary) 0.2s,
        backdrop-filter var(--animation-primary) 0.2s;
    }

    [data-button-hover="standard"] .button:not([disabled]) .btn-fill {
        display: block;
    }

    .js
    [data-button-hover="standard"]
    .button--primary:hover:not([disabled], .self-button),
    .js
    [data-button-hover="standard"]
    .button--secondary:hover:not([disabled], .self-button),
    .js
    [data-button-hover="standard"]
    .shopify-payment-button__button--unbranded:hover:not([disabled]) {
        --shadow-horizontal-offset: 0;
        --shadow-vertical-offset: 0;
    }

    .js
    [data-button-hover="standard"]
    .button--primary:hover:not([disabled], .self-button) {
        color: rgb(var(--color-button-background));
    }

    .js
    [data-button-hover="standard"]
    input.button--primary:hover:not([disabled], .self-button) {
        background: none;
    }

    .js
    [data-button-hover="standard"]
    .button--secondary:hover:not([disabled], .self-button),
    .js
    [data-button-hover="standard"]
    .shopify-payment-button__button--unbranded:hover:not([disabled]) {
        color: rgb(var(--color-button-text));
    }

    .js
    [data-button-hover="standard"]
    .shopify-payment-button__button--unbranded:hover:not([disabled]) {
        background-color: rgb(var(--color-button-background));
    }

    .js
    [data-button-hover="standard"]
    .button--blur:hover:not([disabled], .self-button) {
        --color-button-border: var(--color-foreground);
        background: none;
        background-color: transparent;
        color: rgb(var(--color-foreground));
        backdrop-filter: var(--button-backdrop-blur);
    }

    .js
    [data-button-hover="none"]
    .shopify-payment-button__button--unbranded:hover:not([disabled]) {
        background-color: transparent;
    }
}

@media screen and (hover: none) {
    .js .shopify-payment-button__button--unbranded:hover:not([disabled]) {
        background: none;
    }
}

.btn-text {
    position: relative;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.btn-loader {
    position: absolute;
    inset: 0;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    pointer-events: none;
    background: var(--color-button-gradient);
}

.btn-loader span {
    width: 5px;
    height: 5px;
    border-radius: var(--rounded-full);
    background: currentColor;
}

[aria-busy="true"] > .btn-loader {
    opacity: 1;
}

.indicators[hidden] {
    display: none;
}

.indicators .button {
    --buttons-border-width: 1px;
    --buttons-radius: var(--rounded-full);
    --buttons-width: var(--sp-12);
    padding: 0;
    box-shadow: none;
    height: var(--buttons-width);
    width: var(--buttons-width);
    background: transparent;
    color: #000;
    transition: all 400ms ease-in-out;
}

.indicators--product-media-gallery .button {
    position: absolute;
    top: calc(50% - 34px);
    transform: translateY(-50%);
}

.indicators--product-media-gallery .button:first-child {
    left: 8px;
}

.indicators--product-media-gallery .button:last-child {
    right: 8px;
}

.product__media-container .indicators .button {
    width: 36px;
    height: 36px;
}

@media screen and (min-width: 1280px) {
    .indicators .button {
        --buttons-width: var(--sp-14);
    }
}

.indicators .button[hidden] {
    display: none;
}

.indicators .button[disabled] {
    opacity: 0.3;
    pointer-events: none;
}

.indicators--small .button {
    --buttons-width: var(--sp-9);
}

.slider .indicators {
    gap: clamp(var(--sp-4), 2.105vw, var(--sp-10));
    transition: opacity var(--animation-primary);
    z-index: 1;
}

.slider .indicators::before,
.slider .indicators::after {
    content: "";
}

.slider .indicators .button:first-child {
    margin-inline-end: auto;
}

.slider .indicators .button:last-child {
    margin-inline-start: auto;
}

.slider .indicators .button {
    opacity: 0.7;
}

.slider .indicators .button[disabled] {
    opacity: 0;
}

@media screen and (pointer: fine) {
    .slider:hover .indicators {
        opacity: 1;
    }
}

.mouse-cursor {
    --tw-translate-x: -50%;
    --tw-translate-y: -60%;
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    transform: translate(
            calc(var(--tw-translate-x) * var(--transform-logical)),
            var(--tw-translate-y)
    );
    inset-block-start: var(--y);
    inset-inline-start: var(--x);
}

.mouse-cursor,
.mouse-cursor .icon {
    width: 0;
    height: 0;
    transition: width var(--animation-fast), height var(--animation-fast);
}

.no-touch .mouse-cursor.active {
    height: clamp(var(--sp-16), 4.21vw, var(--sp-20));
    width: clamp(var(--sp-16), 4.21vw, var(--sp-20));
}

.no-touch .mouse-cursor.active .icon {
    height: clamp(var(--sp-5), 1.68vw, var(--sp-8));
    width: clamp(var(--sp-5), 1.68vw, var(--sp-8));
}

.no-touch .mouse-cursor.active.pressed {
    height: calc(clamp(var(--sp-16), 4.21vw, var(--sp-20)) * 1.5);
    width: calc(clamp(var(--sp-16), 4.21vw, var(--sp-20)) * 1.5);
}

.no-touch .mouse-cursor.active.pressed .icon {
    height: calc(clamp(var(--sp-5), 1.68vw, var(--sp-8)) * 1.5);
    width: calc(clamp(var(--sp-5), 1.68vw, var(--sp-8)) * 1.5);
}

.button-wrapper,
.title-wrapper {
    margin-block-end: clamp(var(--sp-8), 2.526vw, var(--sp-12));
}

.title-wrapper-lg {
    margin-block-end: var(--sp-16);
}

@media screen and (min-width: 1024px) {
    .title-wrapper-lg {
        margin-block-end: var(--sp-28);
    }
}

@media screen and (max-width: 767px) {
    .title-wrapper .button {
        max-height: 2.75rem;
        font-size: var(--text-xs);
        padding: var(--sp-3d5) var(--sp-4);
    }

    .title-wrapper .button.icon-with-text .btn-text {
        gap: 6px;
    }

    .title-wrapper .button.icon-with-text .icon {
        width: var(--sp-4);
        height: var(--sp-4);
    }
}

.title-wrapper > :is(.heading, p) {
    flex: 0 0 auto;
}

.title-wrapper .heading + .description {
    margin-block-start: var(--sp-2);
}

@media screen and (min-width: 768px) {
    .title-wrapper .description {
        max-width: 42rem;
    }

    .title-wrapper.text-center .description {
        justify-self: center;
    }
}

@media screen and (min-width: 1280px) {
    .title-wrapper .description {
        max-width: 56rem;
    }
}

.title-sm {
    font-size: var(--title-sm);
}

.title-sm2x {
    font-size: calc(2 * var(--title-sm));
}

.title-md {
    font-size: var(--title-md);
}

.title-md2x {
    font-size: calc(2 * var(--title-md));
}

.title-lg {
    font-size: var(--title-lg);
}

.title-lg2x {
    font-size: calc(2 * var(--title-lg));
}

.title-xl {
    font-size: var(--title-xl);
}

.title-xl2x {
    font-size: calc(2 * var(--title-xl));
}

/*! media */

.media--fit {
    width: var(--media-width-mobile);
    height: var(--media-height-mobile);
}

.image-fit {
    max-width: 100%;
    width: var(--image-max-width-mobile);
}

@media screen and (min-width: 768px) {
    .media--fit {
        width: var(--media-width);
        height: var(--media-height);
    }

    .image-fit {
        width: var(--image-max-width);
    }
}

/* .media {
  background-color: rgb(var(--color-placeholder));
} */

.media--transparent:not(.loading) {
    background-color: transparent;
}

.media > img {
    backface-visibility: hidden;
    object-fit: cover;
    object-position: center center;
}

@media screen and (pointer: fine) {
    .media > img {
        transition: var(--animation-primary);
        transition-property: opacity, transform;
    }
}

.media[easing] > img {
    transition: none;
}

.media > .mobile\:img + :is(img, svg) {
    display: none;
}

.media--contain > img {
    object-fit: contain;
}

.media--rounded {
    border-radius: 50%;
}

.media--rounded > :is(img, svg, video-media),
.media--square > :is(img, svg, video-media),
.aspect-square {
    aspect-ratio: 1 / 1;
}

.media--portrait > :is(img, svg, video-media),
.aspect-portrait {
    aspect-ratio: 4 / 5;
}

.media--landscape > :is(img, svg, video-media),
.aspect-landscape {
    aspect-ratio: 4 / 3;
}

.media--wide > :is(img, svg, video-media),
.aspect-wide {
    aspect-ratio: 16 / 9;
}

.media--height > :is(img, svg, video-media) {
    inset: 0;
    position: absolute;
    max-width: 100%;
    width: 100%;
    height: 100%;
    mix-blend-mode: darken;
    background: #fafafa;
}

.media--400px {
    height: 260px;
}

.media--450px {
    height: 292.5px;
}

.media--500px {
    height: 325px;
}

.media--550px {
    height: 357.5px;
}

.media--600px {
    height: 390px;
}

.media--650px {
    height: 422.5px;
}

.media--700px {
    height: 455px;
}

.media--750px {
    height: 487.5px;
}

.media--800px {
    height: 520px;
}

.media--850px {
    height: 552.5px;
}

.media--900px {
    height: 585px;
}

.media--100vh {
    height: 100vh;
}

@supports (height: 100svh) {
    .media--100vh {
        height: 100svh;
    }
}

@media screen and (min-width: 768px) {
    .media > .mobile\:img {
        display: none;
    }

    .media > .mobile\:img + :is(img, svg) {
        display: block;
    }

    .media--400px {
        height: 340px;
    }

    .media--450px {
        height: 382.5px;
    }

    .media--500px {
        height: 425px;
    }

    .media--550px {
        height: 567.5px;
    }

    .media--600px {
        height: 510px;
    }

    .media--650px {
        height: 552.5px;
    }

    .media--700px {
        height: 595px;
    }

    .media--750px {
        height: 637.5px;
    }

    .media--800px {
        height: 680px;
    }

    .media--850px {
        height: 722.5px;
    }

    .media--900px {
        height: 765px;
    }
}

@media screen and (min-width: 1536px) {
    .media--400px {
        height: 400px;
    }

    .media--450px {
        height: 450px;
    }

    .media--500px {
        height: 500px;
    }

    .media--550px {
        height: 550px;
    }

    .media--600px {
        height: 600px;
    }

    .media--650px {
        height: 650px;
    }

    .media--700px {
        height: 700px;
    }

    .media--750px {
        height: 750px;
    }

    .media--800px {
        height: 800px;
    }

    .media--850px {
        height: 850px;
    }

    .media--900px {
        height: 900px;
    }
}

@media screen and (max-width: 767px) {
    .mobile\:media--200px {
        height: 200px;
    }

    .mobile\:media--250px {
        height: 250px;
    }

    .mobile\:media--300px {
        height: 300px;
    }

    .mobile\:media--400px {
        height: 400px;
    }

    .mobile\:media--500px {
        height: 500px;
    }

    .mobile\:media--600px {
        height: 600px;
    }

    .mobile\:media--100vh {
        height: 90vh;
    }

    @supports (height: 100svh) {
        .mobile\:media--100vh {
            height: 90svh;
        }
    }

    .mobile\:media--rounded > :is(img, svg, video-media),
    .mobile\:media--square > :is(img, svg, video-media),
    .mobile\:aspect-square {
        aspect-ratio: 1 / 1;
    }

    .mobile\:media--portrait > :is(img, svg, video-media),
    .mobile\:aspect-portrait {
        aspect-ratio: 4 / 5;
    }

    .mobile\:media--landscape > :is(img, svg, video-media),
    .mobile\:aspect-landscape {
        aspect-ratio: 4 / 3;
    }

    .mobile\:media--wide > :is(img, svg, video-media),
    .mobile\:aspect-wide {
        aspect-ratio: 16 / 9;
    }

    .mobile\:aspect-adapt {
        aspect-ratio: var(--aspect-ratio, auto);
    }
}

svg.placeholder {
    background-color: rgb(var(--color-base-text) / 0.3);
    fill: rgb(var(--color-base-text) / 0.7);
    color: rgb(var(--color-base-text) / 0.7);
    display: block;
    width: 100%;
    height: 100%;
}

svg.placeholder--transparent {
    background-color: transparent;
}

/*! table */

table {
    overflow: hidden;
    box-shadow: 0 0 0 1px rgb(var(--color-border-light));
    border-radius: var(--rounded-block);
}

table th,
table td {
    width: auto;
    text-align: start;
    line-height: 1.6;
    font-size: var(--text-lg);
    padding: var(--sp-6) var(--sp-7d5);
}

thead th {
    font-weight: var(--font-medium);
    background-color: rgb(var(--color-foreground) / 0.025);
}

tfoot tr:not(:last-child) td {
    padding-block: var(--sp-1);
}

tfoot tr:first-child td {
    padding-block-start: var(--sp-6);
}

tbody tr,
tfoot tr:first-child {
    border-block-start: 1px solid rgb(var(--color-border-light));
}

/*! inputs */

.field {
    --border-opacity: var(--inputs-border-opacity);
    position: relative;
    text-align: start;
}

.input,
.select,
.textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-align: start;
    width: 100%;
    height: var(--input-height);
    font-size: var(--text-sm);
    line-height: 1.25;
    padding-inline: var(--input-padding-inline);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-foreground) / 0.025);
    border: var(--inputs-border-width) solid rgb(var(--color-foreground) / var(--border-opacity));
    border-radius: var(--inputs-radius);
    transition: var(--animation-primary);
    transition-property: border-color, background-color;
}

@media screen and (min-width: 768px) {
    .input,
    .select,
    .textarea {
        font-size: var(--text-base);
        line-height: 1.6;
    }
}

@supports (-webkit-overflow-scrolling: touch) {
    .input:focus,
    .select:focus-visible,
    .textarea:focus {
        font-size: max(var(--text-sm), 16px);
    }
}

.select option {
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
}

.input--fill {
    border-style: none;
}

.input:focus,
.select:focus-visible,
.textarea:focus {
    box-shadow: none;
    border-color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-foreground) / 0.045);
    outline: none;
}

.input.is-floating,
.select.is-floating {
    height: calc(var(--input-height) + var(--sp-2d5));
}

.input.is-floating::-moz-placeholder,
.select.is-floating::-moz-placeholder {
    color: transparent;
}

.input.is-floating::placeholder,
.select.is-floating::placeholder {
    color: transparent;
}

.input.is-floating,
.select.is-floating {
    padding-block-start: var(--sp-4);
}

.textarea.is-floating {
    padding-block-end: var(--sp-2);
    padding-block-start: var(--sp-8);
}

.textarea {
    height: auto;
    vertical-align: top;
}

.label {
    display: block;
    margin-block-end: var(--sp-2d5);
    font-size: var(--text-sm);
    line-height: 1.6;
}

@media screen and (min-width: 768px) {
    .label {
        font-size: var(--text-base);
    }
}

.label.is-floating {
    position: absolute;
    inset-block-start: 0;
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    pointer-events: none;
    inset-inline-start: 1px;
    opacity: 0.6;
    height: calc(var(--input-height) + var(--sp-2d5));
    margin-block-end: 0;
    margin-inline-start: var(--input-padding-inline);
    transform-origin: var(--transform-origin-start);
    transition: all var(--animation-primary);
}

.select[required]:valid ~ .label,
.select[selected] ~ .label,
:is(.input, .textarea):focus ~ .label,
:is(.input, .textarea):not(:placeholder-shown) ~ .label,
:is(.input, .textarea, .select):-webkit-autofill ~ .label {
    --tw-translate-y: calc(var(--sp-2d5) * -1);
    --tw-scale-x: 0.8;
    --tw-scale-y: 0.8;
    transform: translateY(var(--tw-translate-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

:is(.input, .textarea, .select):-webkit-autofill ~ .label {
    color: #000;
}

@media screen and (min-width: 768px) {
    .select[required]:valid ~ .label,
    .select[selected] ~ .label,
    :is(.input, .textarea):focus ~ .label,
    :is(.input, .textarea):not(:placeholder-shown) ~ .label,
    :is(.input, .textarea, .select):-webkit-autofill ~ .label {
        --tw-scale-x: 0.7;
        --tw-scale-y: 0.7;
    }
}

.select ~ .icon,
.input[type="date"] ~ .icon {
    inset-block-start: calc(50% - 10px);
    inset-inline-end: var(--input-padding-inline);
}

.select ~ .icon {
    transform: scaleY(-1);
}

.self-submit-button {
    inset-block-start: 50%;
    inset-inline-end: var(--sp-4);
    transform: translateY(-50%);
    width: var(--sp-10);
    height: var(--sp-10);
}

.self-submit-button button {
    padding: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--rounded-full);
}

input:is([type="checkbox"], [type="radio"]) {
    --active: rgb(var(--color-foreground));
    --active-inner: rgb(var(--color-background));
    --focus: 3px hsla(0, 0%, 9%, 0.1);
    --border: rgb(var(--color-border-dark));
    --border-radius: 5px;
    --border-hover: rgb(var(--color-foreground));
    --background: rgb(var(--color-background));
    --disabled: rgb(var(--color-border-light));
    --disabled-inner: rgb(var(--color-border));
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--b, var(--background));
    border: 1px solid var(--bc, var(--border));
    cursor: pointer;
    display: inline-block;
    height: 20px;
    margin: 0;
    outline: none;
    position: relative;
    transition: background-color 0.3s, border-color 0.3s, box-shadow 0.2s;
    vertical-align: top;
}

input:is([type="checkbox"], [type="radio"]):focus-visible + label {
    outline: 2px solid rgb(var(--color-keyboard-focus));
    outline-offset: 3px;
}

input:is([type="checkbox"], [type="radio"]).sr-only {
    clip: rect(0, 0, 0, 0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

input:is([type="checkbox"], [type="radio"])::after {
    content: "";
    display: block;
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0;
    transition: transform var(--d-t, 0.3s) var(--d-t-e, ease),
    opacity var(--d-o, 0.2s);
}

input:is([type="checkbox"], [type="radio"]):checked {
    --b: var(--active);
    --bc: var(--active);
    --d-o: 0.3s;
    --d-t: 0.6s;
    --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2);
}

input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled) {
    --b: var(--disabled);
    cursor: not-allowed;
    opacity: 0.9;
}

input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled):checked {
    --b: var(--disabled-inner);
    --bc: var(--border);
}

input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled) + label {
    cursor: not-allowed;
}

input:is([type="checkbox"], [type="radio"]):hover:not(
    :checked,
    :disabled,
    .disabled
  ) {
    --bc: var(--border-hover);
}

input:is([type="checkbox"], [type="radio"]):focus {
    box-shadow: 0 0 0 var(--focus);
}

input:is([type="checkbox"], [type="radio"]):not(.switch) {
    flex: 0 0 auto;
    width: 20px;
}

input:is([type="checkbox"], [type="radio"]):not(.switch)::after {
    opacity: var(--o, 0);
}

input:is([type="checkbox"], [type="radio"]):not(.switch):checked {
    --o: 1;
}

input:is([type="checkbox"], [type="radio"]) + label {
    cursor: pointer;
    display: inline-block;
    vertical-align: top;
}

input[type="radio"]:not(.switch) {
    border-radius: var(--rounded-full);
}

input[type="checkbox"]:not(.switch) {
    border-radius: var(--border-radius);
}

input[type="checkbox"]:not(.switch)::after {
    border: 1.5px solid var(--active-inner);
    border-inline-start: 0;
    border-block-start: 0;
    width: 4px;
    height: 8px;
    inset-inline-start: 7px;
    inset-block-start: 4px;
    transform: rotate(calc(var(--r, 20deg) * var(--transform-logical)));
}

input[type="checkbox"]:not(.switch):checked {
    --r: 43deg;
}

input[type="checkbox"].switch {
    border-radius: 11px;
    width: 38px;
}

input[type="checkbox"].switch::after {
    background: var(--ab, var(--border));
    border-radius: 50%;
    width: 15px;
    height: 15px;
    inset-inline-start: 2px;
    inset-block-start: 1.5px;
    transform: translateX(calc(var(--x, 0) * var(--transform-logical)));
}

input[type="checkbox"].switch:checked {
    --ab: var(--active-inner);
    --x: 17px;
}

input[type="checkbox"].switch:is(:disabled, .disabled):not(:checked)::after {
    opacity: 0.6;
}

/*! color-swatch */

.variant-picker *:focus-visible + .color-swatch {
    outline-offset: calc(2px + var(--swatch-offset) * 2);
}

.color-swatch {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    --tw-ring-inset: inset;
    --tw-ring-color: rgb(var(--color-foreground) / 0.115);
    --swatch-radius: 0px;
    --swatch-offset: 3px;
    --swatch-size: var(--sp-7d5);
    --swatch-margin: calc(var(--swatch-offset) * 2);
    background-color: var(--swatch-background);
    width: var(--swatch-size);
    height: var(--swatch-size);
    border-radius: var(--swatch-radius);
    transition: outline-color var(--animation-fast);
}

.color-swatch.with-image {
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    background-image: var(--swatch-background-image);
}

.color-swatch::before {
    --tw-shadow: inset 1px 3px 0px rgb(var(--color-foreground) / 0.115);
    --tw-shadow-colored: inset 1px 3px 0px var(--tw-shadow-color);
    border-radius: var(--swatch-radius);
    inset: 0;
    width: 100%;
    height: 100%;
}

.color-swatch::after,
.color-swatch::before {
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
    var(--tw-shadow);
    content: "";
    position: absolute;
}

.color-swatch::after {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-foreground));
    --tw-shadow: var(--tw-shadow-colored);
    border-radius: inherit;
    inset: calc(var(--swatch-offset) * -1);
    opacity: 0;
    transition: all var(--animation-short);
}

.color-swatch::after,
:checked + .color-swatch::after {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate));
}

:checked + .color-swatch::after {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    opacity: 1;
}

.swatches
input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled)
+ .color-swatch {
    --tw-ring-shadow: 0 0 #0000;
    background-color: var(--swatch-background);
}

.swatches
input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled)
+ .color-swatch::before {
    background: linear-gradient(
            to bottom right,
            transparent calc(50% - 0.5px),
            rgb(var(--color-red-200)) calc(50% - 0.5px) calc(50% + 0.5px),
            transparent calc(50% + 0.5px)
    );
}

.swatches
input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled)
+ .color-swatch::after {
    --tw-shadow-color: rgb(var(--color-red-200));
}

.swatches
input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled)
+ .color-swatch.with-image::after {
    background-color: rgb(var(--color-red-200) / 0.115);
}

.swatches
input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled):not(
    :checked
  )
+ .color-swatch::after {
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    inset: 1px;
    opacity: 1;
}

.color-swatch .tooltip {
    --tw-translate-x: -50%;
    --tw-scale-x: 0.75;
    --tw-scale-y: 0.75;
    background-color: rgb(var(--color-foreground));
    inset-block-end: calc(100% + 15px);
    color: rgb(var(--color-background));
    padding: var(--sp-1d5) var(--sp-5);
    width: max-content;
}

.color-swatch .tooltip,
.color-swatch .tooltip::after {
    position: absolute;
    inset-inline-start: 50%;
    transform: translate(
            calc(var(--tw-translate-x) * var(--transform-logical)),
            var(--tw-translate-y)
    ) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.color-swatch .tooltip::after {
    --tw-translate-x: -50%;
    --tw-translate-y: 0;
    border-color: rgb(var(--color-foreground)) transparent;
    border-style: solid;
    border-width: 10px 10px 0;
    inset-block-end: -7px;
    content: "";
    display: block;
    width: 0;
}

@media screen and (pointer: fine) {
    .color-swatch:hover .tooltip {
        --tw-scale-x: 1;
        --tw-scale-y: 1;
        opacity: 1;
        transition: transform var(--animation-primary),
        opacity var(--animation-primary);
    }
}

.label-swatch {
    --swatch-offset: 0px;
    --swatch-margin: calc(var(--swatch-offset) * 2);
    border-radius: var(--swatch-radius);
    padding: 10px;
    transition: all var(--animation-short);
}

.label-swatch::after {
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-border));
    --tw-shadow: var(--tw-shadow-colored);
    content: "";
    position: absolute;
    border-radius: inherit;
    inset: calc(var(--swatch-offset) * -1);
    transition: all var(--animation-short);
}

.label-swatch::after,
:checked + .label-swatch::after {
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
    var(--tw-shadow);
}

:checked + .label-swatch::after {
    --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-foreground));
    --tw-shadow: var(--tw-shadow-colored);
}

.swatches
input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled)
+ .label-swatch {
    background-color: #d0d0d040;
    color: #171717;
    cursor: pointer;
}

.swatches
input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled)
+ .label-swatch::after {
    --tw-shadow-color: #e6e6e6;
}

.swatches
input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled)
+ .label-swatch.checked::after {
    --tw-shadow-color: #171717;
}

.swatches
input:is([type="checkbox"], [type="radio"]):is(:disabled, .disabled)
+ .label-swatch::before {
    content: "";
    z-index: -1;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
            to bottom right,
            transparent calc(50% - 0.5px),
            #9b9b9b calc(50% - 0.5px) calc(50% + 0.5px),
            transparent calc(50% + 0.5px)
    );
}

@media screen and (pointer: fine) {
    .swatches
    input:is([type="checkbox"], [type="radio"]):not(:disabled, .disabled)
    + .label-swatch:hover::after {
        --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
        --tw-shadow-color: rgb(var(--color-foreground));
        --tw-shadow: var(--tw-shadow-colored);
        inset: 0;
    }
}

.swatches--round .color-swatch {
    --swatch-radius: 9999px;
}

.swatches--round-slight :is(.color-swatch, .label-swatch),
.swatches--round .label-swatch,
.swatches--variant .color-swatch {
    --swatch-radius: 5px;
}

.variant-picker .swatches--variant .color-swatch {
    --swatch-size: clamp(var(--sp-10), 3.368vw, var(--sp-16));
}

.swatches--variant .color-swatch.aspect-contain {
    background-size: contain;
}

@media screen and (min-width: 768px) {
    .swatches--variant
    .color-swatch:is(
      .aspect-square,
      .aspect-portrait,
      .aspect-landscape,
      .aspect-wide,
      .aspect-adapt_first
    ) {
        height: auto;
    }
}

@media screen and (max-width: 767px) {
    .swatches--variant
    .color-swatch:is(
      .mobile\:aspect-square,
      .mobile\:aspect-portrait,
      .mobile\:aspect-landscape,
      .mobile\:aspect-wide,
      .mobile\:aspect-adapt_first
    ) {
        height: auto;
    }
}

.swatches--variant .color-swatch {
    --tw-ring-shadow: 0 0 #0000;
    --swatch-background: rgb(var(--color-foreground) / 0.025);
    --swatch-size: clamp(var(--sp-10), 3.368vw, var(--sp-16));
}

.swatches--variant .color-swatch.with-image {
    background-color: rgb(var(--color-placeholder));
}

.swatches--variant .color-swatch::before {
    box-shadow: inset 0 0 0 2px transparent;
}

.swatches--variant .color-swatch::after {
    --tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-border));
    --tw-shadow: var(--tw-shadow-colored);
    opacity: 1;
    inset: 0;
}

.swatches--variant :checked + .color-swatch::before {
    box-shadow: inset 0 0 0 2px rgb(var(--color-background));
}

.swatches--variant :checked + .color-swatch::after {
    --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
    --tw-shadow-color: rgb(var(--color-foreground));
    --tw-shadow: var(--tw-shadow-colored);
}

@media screen and (pointer: fine) {
    .swatches--variant
    input:is([type="checkbox"], [type="radio"]):not(:disabled, .disabled)
    + .color-swatch:hover::after {
        --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
        --tw-shadow-color: rgb(var(--color-foreground));
        --tw-shadow: var(--tw-shadow-colored);
    }
}

.swatches--variant .color-swatch ~ span {
    max-width: clamp(var(--sp-10), 3.368vw, var(--sp-16));
}

.swatches--variant .color-swatch .count {
    background-color: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    border: 1px solid rgb(var(--color-border));
    height: var(--sp-5d5);
    min-width: var(--sp-5d5);
    padding-inline: var(--sp-1);
    inset-inline-end: calc(-1 * var(--sp-2));
    inset-block-start: calc(-1 * var(--sp-2));
}

.swatches--variant :checked + .color-swatch .count {
    background-color: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
    border-color: rgb(var(--color-foreground));
}

/*! price-range */

.price-range {
    padding-block-start: var(--sp-2);
}

.input-wrapper .prefix {
    opacity: 0.6;
    inset-inline-start: var(--sp-5);
}

[data-rounded-input="square"] .input-wrapper .input {
    border-radius: 0;
}

.input-wrapper .input {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    padding: var(--sp-4) var(--sp-5);
    padding-inline-start: var(--sp-8);
    height: auto;
    line-height: 1;
    text-align: end;
    border-radius: var(--rounded-full);
}

.input-wrapper .input::-moz-placeholder {
    opacity: 0.6;
}

.input-wrapper .input::placeholder {
    opacity: 0.6;
}

.input-wrapper .input:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.input-wrapper .input::-webkit-inner-spin-button,
.input-wrapper .input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.range-wrapper {
    --range-min: 0%;
    --range-max: 100%;
    background: linear-gradient(
            to var(--transform-origin-end),
            rgb(var(--color-border)) var(--range-min),
            rgb(var(--color-foreground)) var(--range-min),
            rgb(var(--color-foreground)) var(--range-max),
            rgb(var(--color-border)) var(--range-max)
    );
    border-radius: 0.125rem;
    height: 4px;
}

.range {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
}

.range::-webkit-slider-thumb {
    -webkit-margin-before: -6px;
    -webkit-appearance: none;
    background-color: rgb(var(--color-background));
    border: 2px solid rgb(var(--color-foreground));
    border-radius: 100%;
    box-shadow: none;
    cursor: pointer;
    height: 16px;
    margin-block-start: -6px;
    position: relative;
    width: 16px;
    z-index: 1;
}

.range::-webkit-slider-runnable-track {
    background-color: rgb(var(--color-background));
    border: none;
    border-radius: 2px;
    cursor: pointer;
    height: 4px;
    width: 100%;
}

.range::-moz-range-thumb {
    background-color: rgb(var(--color-background));
    border: 2px solid rgb(var(--color-foreground));
    border-radius: 100%;
    cursor: pointer;
    height: 12px;
    width: 12px;
}

.range::-moz-range-progress,
.range::-moz-range-track {
    border: none;
    border-radius: 2px;
    cursor: pointer;
    height: 4px;
    width: 100%;
}

.range::-moz-range-progress {
    background-color: rgb(var(--color-foreground));
}

.range::-moz-range-track {
    background-color: rgb(var(--color-border));
}

@media not screen and (pointer: fine) {
    .range::-webkit-slider-thumb {
        height: 20px;
        margin-block-start: -9px;
        width: 20px;
    }

    .range::-moz-range-thumb {
        height: 16px;
        width: 16px;
    }
}

.range-wrapper .range {
    height: 4px;
    vertical-align: top;
}

.range-wrapper .range::-webkit-slider-runnable-track {
    background: none;
}

.range-wrapper .range::-webkit-slider-thumb {
    pointer-events: auto;
}

.range-wrapper .range::-moz-range-progress,
.range-wrapper .range::-moz-range-track {
    background: none;
}

.range-wrapper .range::-moz-range-thumb {
    pointer-events: auto;
}

/*! details-summary */

.details {
    border-block-end: 1px solid rgb(var(--color-border-light));
    box-sizing: content-box;
}

.details summary::-webkit-details-marker {
    display: none;
}

.details .details__summary {
    padding-block: clamp(var(--sp-5), 1.473vw, var(--sp-7));
}

.details .details__summary > .icon {
    --tw-scale-y: -1;
    width: var(--sp-5);
    height: var(--sp-5);
    transform: scaleY(var(--tw-scale-y)) rotate(var(--tw-rotate));
    transition: transform var(--animation-primary);
}

.details[aria-expanded="true"] .details__summary > .icon {
    --tw-scale-y: 1;
}

.details .details__helptext {
    max-height: 0;
    transition: max-height var(--animation-primary);
}

.details[open] .details__helptext {
    max-height: calc(var(--text-sm) * 1.6);
    transition-duration: 0s;
}

.details .details__content::after {
    content: "";
    display: block;
    pointer-events: none;
    padding-block-end: var(--sp-7);
}

.details:last-child .details__content::after {
    content: none;
}

.details :is(.list, .swatches) li label {
    display: flex;
}

.details:first-child .details__summary,
.details[hidden] + .details .details__summary {
    padding-block-start: 0;
}

.details:last-child {
    border-block-end-width: 0;
}

.details:last-child .details__content {
    padding-block-end: 0;
}

/*! links */

.link.icon-with-text,
.reversed-link.icon-with-text {
    align-items: center;
    display: inline-flex;
    gap: var(--sp-1d5);
    background: none;
}

.link.icon-with-text .link-text,
.reversed-link,
.rte a {
    --reversed-link-gap: min(100%, 1.35em);
    background: linear-gradient(
            to var(--transform-origin-end),
            currentColor,
            currentColor
    ) 0 var(--reversed-link-gap) / 0 1px no-repeat;
    background-position-x: var(--transform-origin-end);
    transition: background-size var(--animation-primary);
}

@media screen and (pointer: fine) {
    .link.icon-with-text:not([aria-disabled]):hover .link-text,
    .reversed-link:not([aria-disabled]):hover,
    .rte a:hover {
        background-position-x: var(--transform-origin-start);
        background-size: 100% 1px;
    }
}

.reversed-link.icon-with-text .link-text,
.link,
.rte a:not(.button, .reversed-link) {
    background: linear-gradient(currentColor, currentColor) 0 min(100%, 1.35em) /
    100% 1px no-repeat;
    background-position-x: var(--transform-origin-start);
    position: relative;
    text-decoration-line: none;
    transition: background-size var(--animation-primary),
    color 0.3s var(--animation-primary);
}

@media screen and (pointer: fine) {
    :is(.link, .rte a:not(.button, .reversed-link)):hover,
    .reversed-link.icon-with-text:hover .link-text {
        background-position-x: var(--transform-origin-end);
        background-size: 0 1px;
    }

    .text-opacity :is(.link, .rte a:not(.button, .reversed-link)):hover {
        color: rgb(var(--color-foreground));
    }
}

.text-opacity {
    color: rgb(var(--color-foreground) / 0.6);
}

ol {
    list-style-type: decimal;
}

/*! corners */

.corner {
    width: var(--border-radius);
    height: var(--border-radius);
    color: rgb(var(--color-background));
    transform: rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media screen and (pointer: fine) {
    .corner {
        transition: all var(--animation-nav);
    }
}

.corner path:last-child {
    stroke-width: 0.225em;
    stroke: rgb(var(--color-foreground) / 0.115);
    opacity: 0;
    transition: opacity var(--animation-nav);
}

.corner.top {
    inset-block-end: 100%;
}

.corner.bottom {
    inset-block-start: 100%;
}

.corner.left {
    left: 0;
}

.corner.right {
    right: 0;
}

.corner.bottom.right {
    --tw-scale-x: -1;
}

.corner.top.left {
    --tw-rotate: -90deg;
}

.corner.top.right {
    --tw-scale-y: -1;
    --tw-rotate: -90deg;
}

.cutout {
    z-index: -1;
    height: 1px;
    background-color: rgb(var(--color-foreground) / 0.115);
    transition: opacity var(--animation-nav);
}

/*! sections */

.section {
    position: relative;
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
}

.section::before {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
}

.js [role="main"] .shopify-section .section::before,
.js .shopify-section-group-header-group .section::before {
    height: calc(100% + var(--border-radius));
}

.js .shopify-section-group-header-group .section.header::before,
.js .shopify-section-group-header-group .section.section--last-rounded::before,
.js
.shopify-section-group-header-group
.section.section--next-rounded.header::before {
    height: 100%;
}

.js .shopify-section-group-header-group .section.section--next-rounded::before {
    height: calc(100% + var(--border-radius));
}

.js .shopify-section-group-header-group .section.section--first-rounded {
    border-start-end-radius: 0;
    border-start-start-radius: 0;
}

.section--padding {
    padding-block-start: calc(var(--section-padding-top) * 0.75);
    padding-block-end: calc(var(--section-padding-bottom) * 0.75);
}

@media screen and (min-width: 768px) {
    .section--padding {
        padding-block-start: var(--section-padding-top);
        padding-block-end: var(--section-padding-bottom);
    }
}

.section--rounded {
    border-start-end-radius: var(--border-radius);
    border-start-start-radius: var(--border-radius);
}

.js .section--rounded::before {
    height: calc(100% + var(--border-radius));
    border-start-end-radius: var(--border-radius);
    border-start-start-radius: var(--border-radius);
}

.footer-group .section--next-rounded,
.footer-group .section--next-rounded::before,
.footer-group .section--next-rounded :is(.banner__map, .banner__media) {
    border-end-end-radius: var(--border-radius);
    border-end-start-radius: var(--border-radius);
}

.section--divider::after {
    content: "";
    inset-block-start: 0;
    inset-inline-start: 0;
    position: absolute;
    width: 100%;
    border-block-start: 1px solid rgb(var(--color-border));
}

.section--plain {
    background-image: none;
    background-color: rgb(var(--color-base-background));
}

.section--plain::before {
    background-image: none;
    background-color: rgb(var(--color-base-background));
}

/*! header */

.header-section {
    --header-items-gap: 0.75rem;
    --header-nav-gap: clamp(1rem, 2vw, 24px);
}

@media screen and (min-width: 1024px) {
    .header-section {
        --header-items-gap: 2em;
        --header-nav-gap: 2em;
    }
}

@media screen and (min-width: 1400px) {
    .header-section {
        --header-items-gap: 2.5em;
        --header-nav-gap: 2.5em;
    }
}

.header {
    --animation-nav-delay: 0.1s;
    --header-grid-template: "logo icons" / minmax(0, 1fr) auto;
    --header-background-opacity: 1;
    --header-logo-opacity: 1;
    column-gap: var(--header-items-gap);
    grid-template: var(--header-grid-template);
    background: none;
}

.header[is="sticky-header"] {
    transition: var(--animation-nav);
    transition-property: opacity, transform, padding-block-start,
    padding-block-end;
}

.header-section .header::before {
    content: "";
    z-index: 1;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-color: rgb(var(--color-background));
    opacity: var(--header-background-opacity);
}

@media screen and (pointer: fine) {
    .header-section .header::before {
        transition: opacity var(--animation-nav) var(--animation-nav-delay);
    }

    :is(.topbar-section, .timer-section) + .header-section .header::before {
        transition-property: opacity, border-radius;
    }
}

@media (prefers-reduced-motion: reduce) {
    .header,
    .topbar {
        --animation-nav: 0s;
        --animation-nav-delay: 0s;
    }

    .header-section .header ~ .overlay,
    .header .header__menu > ul .menu__item .btn-text::after {
        transition: none;
    }
}

:is(.header--left-center, .header--center) .list-menu {
    justify-content: center;
}

@media screen and (min-width: 1024px) {
    .menu-drawer-button {
        display: none;
    }

    .header--left {
        --header-grid-template: "logo navigation icons" / auto minmax(0, 1fr) auto;
    }

    .header--left-center {
        --header-grid-template: "logo navigation icons" / minmax(0, 1fr) fit-content(70%) minmax(0, 1fr);
    }

    .header--left-drawer {
        --header-grid-template: "logo icons" / minmax(0, 1fr) auto;
    }

    .header--left-drawer .header__navigation {
        display: none;
    }

    .header--left-drawer .menu-drawer-button {
        display: flex;
    }

    .header--center-left {
        --header-grid-template: "navigation logo icons" / minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .header--center-split {
        --header-grid-template: "tools navigation logo navigation-split icons" /130px minmax(0, 1fr) auto minmax(0, 1fr) 130px;
    }

    .header--center-split .header__icons--start {
        display: flex;
    }

    .header--center-split .header__icons--start .search-drawer-button {
        order: -1;
    }

    .header--center-split
    .header__icons--end
    :is(.search-drawer-button, .header__menu) {
        display: none;
    }

    .header--center {
        --header-grid-template: "tools logo icons" "navigation navigation navigation" / minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .header--center .header__icons--start {
        display: flex;
    }

    .header--center .header__icons--start .search-drawer-button {
        order: -1;
    }

    .header--center .header__icons--start .menu-toggle-button {
        order: -2;
    }

    .header--center
    .header__icons--end
    :is(.search-drawer-button, .header__menu) {
        display: none;
    }

    .header--center .header__navigation {
        z-index: 1;
        max-height: var(--header-nav-height);
        transition: var(--animation-nav);
        transition-property: max-height, padding-block, opacity, color;
    }

    .header-nav-scrolled .header--center .header__navigation:not(.active) {
        max-height: 0;
        opacity: 0;
        overflow: hidden;
    }

    .header-section:not(.header-nav-scrolled) .header--center .header__navigation,
    .header-nav-scrolled .header--center .header__navigation.active {
        padding-block-start: calc(var(--section-padding-bottom) / 2);
    }

    .header-section:not(.header-nav-scrolled)
    .header--center
    .menu-toggle-button {
        display: none;
    }

    .header--center-drawer {
        --header-grid-template: "tools logo icons" / minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .header--center-drawer .header__icons--start {
        display: flex;
    }

    .header--center-drawer .header__icons--start .menu-drawer-button {
        display: block;
    }

    .header--center-drawer
    .header__icons--start
    :is(.search-drawer-button, .header__menu),
    .header--center-drawer .header__navigation {
        display: none;
    }
}

@media screen and (max-width: 1023px) {
    .mobile\:header--center {
        --header-grid-template: "tools logo icons" / minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .mobile\:header--center .header__icons--start {
        display: flex;
    }

    .mobile\:header--center .header__icons--start .search-drawer-button,
    .mobile\:header--center .header__icons--end .menu-drawer-button {
        display: none;
    }

    .mobile\:header--center .header__logo {
        text-align: center;
        margin-inline: auto;
    }
}

.header__logo {
    grid-area: logo;
    max-width: max-content;
}

@media screen and (max-width: 1023px) {
    .header__logo {
        max-width: calc(100vw - var(--sp-48) - var(--scrollbar-width));
        text-align: start;
        margin-inline-end: auto;
    }
}

@media screen and (pointer: fine) {
    .header__logo :is(a, img) {
        transition: opacity var(--animation-nav) var(--animation-nav-delay);
    }

    .header__logo a.h3 {
        transition-property: color;
    }
}

.header__logo a,
.header__logo a:hover {
    color: inherit;
    text-decoration: none;
}

.header__logo .has-white-logo .logo {
    opacity: var(--header-logo-opacity);
}

.header__logo .white-logo {
    opacity: calc(1 - var(--header-logo-opacity));
}

.header__navigation {
    grid-area: navigation;
    transition: color var(--animation-nav) var(--animation-nav-delay);
}

.header__navigation--split {
    grid-area: navigation-split;
}

.header__icons {
    grid-area: icons;
}

.header__icons--start {
    display: none;
    grid-area: tools;
}

.header__buttons {
    margin-inline: calc(var(--sp-2d5) * -1);
}

@media screen and (pointer: fine) {
    .header__buttons {
        transition: color var(--animation-nav) var(--animation-nav-delay);
    }
}

.header__buttons > :is(a, button) {
    width: 2.75rem;
    height: 2.75rem;
}

.header__buttons .menu-drawer-button .icon {
    width: var(--sp-6);
    height: var(--sp-6);
}

.header__menu > ul {
    column-gap: var(--header-nav-gap);
}

.header__menu > ul summary:focus-visible magnet-element {
    outline: 2px solid rgb(var(--color-keyboard-focus));
    outline-offset: 3px;
}

.header__menu > ul summary::-webkit-details-marker {
    display: none;
}

.header__menu > ul .menu__item {
    height: var(--sp-12);
    font-family: var(--font-navigation-family);
    font-size: var(--font-navigation-size);
    font-weight: var(--font-navigation-weight);
    text-transform: var(--font-navigation-text-transform);
}

.header__menu > ul.with-dot .menu__item .btn-text::after {
    --tw-translate-x: -50%;
    --tw-translate-y: -50%;
    --tw-scale-x: 0;
    --tw-scale-y: 0;
    content: "";
    background-color: currentColor;
    border-radius: 50%;
    display: block;
    width: var(--sp-1d5);
    height: var(--sp-1d5);
    inset-inline-start: 50%;
    inset-block-end: -0.5em;
    position: absolute;
    transition: transform var(--animation-fast);
    transform: translate(
            calc(var(--tw-translate-x) * var(--transform-logical)),
            var(--tw-translate-y)
    ) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.header__menu > ul li[aria-controls] .menu__item:hover .btn-text::after,
.header__menu > ul li[aria-expanded="true"] .menu__item .btn-text::after,
.header__menu > ul.with-dot summary[open] .menu__item .btn-text::after {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
}

.header__menu > ul .menu__item .btn-text {
    gap: var(--sp-2);
    letter-spacing: normal;
}

.header__menu > ul .menu__item .icon {
    width: var(--sp-2d5);
    height: var(--sp-2d5);
}

.header__menu > ul.with-block {
    gap: 0;
}

.header__menu > ul.with-block.gap-1 {
    gap: var(--sp-1);
}

.header__menu > ul.with-block .menu__item {
    overflow: hidden;
    height: var(--sp-10d5);
    padding-inline: var(--sp-5);
    border-radius: var(--rounded-full);
}

.header__menu > ul.with-block .menu__item .icon {
    transform: scaleY(var(--tw-scale-y));
    transition: transform var(--animation-primary);
}

.header__menu > ul.with-block .menu__item [data-text] {
    transition: var(--animation-primary);
    transition-property: transform, opacity;
}

.header__menu > ul.with-block .menu__item .btn-duplicate {
    --tw-scale: 0.6;
    --tw-translate-y: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-inline: var(--sp-5);
    border-radius: var(--rounded-full);
    color: rgb(var(--color-background));
    background-color: rgb(var(--color-foreground));
    transition: transform var(--animation-primary);
    transform: translateY(var(--tw-translate-y)) scale(var(--tw-scale));
}

.header__menu
> ul.with-block
> li
> details
> summary[open]
.menu__item
.btn-duplicate {
    --tw-scale: 1;
    --tw-translate-y: 0%;
}

.header__menu
> ul.with-block
> li
> details
> summary[open]
.menu__item
[data-text] {
    opacity: 0;
    transform: translateY(-10%) scale(0.6);
}

.header__menu > ul.with-block > li > details > summary[open] .menu__item .icon {
    --tw-scale-y: -1;
}

@media (prefers-reduced-motion: reduce) {
    .header__menu > ul.with-block .menu__item [data-text],
    .header__menu > ul.with-block .menu__item .btn-duplicate {
        transition: none;
    }
}

@media screen and (pointer: fine) {
    .header__menu > ul.with-block > li:hover .menu__item .btn-duplicate {
        --tw-scale: 1;
        --tw-translate-y: 0%;
    }

    .header__menu > ul.with-block > li:hover .menu__item [data-text] {
        opacity: 0;
        transform: translateY(-10%) scale(0.6);
    }
}

.header .dropdown {
    padding-block-start: calc(var(--header-height) - 1px);
}

@media screen and (min-width: 768px) {
    .header-scrolled .dropdown {
        padding-block-start: calc(
                var(--header-height) - 1px - calc(var(--section-padding-top) * 25 / 100) -
                calc(var(--section-padding-bottom) * 25 / 100)
        );
    }
}

.header__menu > ul.with-block .localization .menu__item {
    border: 1px solid rgb(var(--color-border));
    padding-block: var(--sp-3);
    padding-inline: var(--sp-5);
    border-radius: var(--buttons-radius);
    height: var(--sp-12);
}

.header__menu > ul .localization .menu__item .btn-text {
    gap: var(--sp-2d5);
}

.header__buttons .header__menu > ul {
    gap: var(--sp-4);
    margin-inline: var(--sp-3);
}

/*! header-sticky */

.header-scrolled .header__corner path:first-child {
    fill: rgb(var(--color-background));
}

.header-scrolled .header__corner path:last-child,
.header-scrolled .header__cutout {
    opacity: 1;
}

.header-scrolled .header {
    padding-block-start: calc(var(--section-padding-top) * 0.75);
    padding-block-end: calc(var(--section-padding-bottom) * 0.75);
}

.header-section.header-scrolled .header::before {
    border-radius: 0;
}

.header-sticky {
    z-index: 20;
    position: sticky;
    inset-block-start: 0;
}

/*! header-transparent */

.header-transparent .header {
    position: absolute;
    inset-block-start: auto;
}

.header-transparent.header-scrolled .header {
    position: fixed;
    inset-block-start: 0;
}

.header-transparent:not(.header-scrolled) .header {
    --header-background-opacity: 0;
    --header-logo-opacity: 0;
    color: rgb(var(--color-transparent));
}

.header-transparent:not(.header-scrolled)
.header__menu
> ul.with-block
.localization
.menu__item {
    border-color: rgb(var(--color-transparent) / 0.1);
}

.header-section:not(.header-scrolled)
.header:not(.section--next-rounded)
.header__corner,
.header-section:not(.header-scrolled).header-transparent .header__corner {
    color: transparent;
    width: 0;
    height: 0;
}

.header-section:not(.header-scrolled)
.header:not(.section--next-rounded)
.header__corner.left,
.header-section:not(.header-scrolled).header-transparent .header__corner.left {
    --tw-translate-x: calc(var(--border-radius) * -1);
}

.header-section:not(.header-scrolled)
.header:not(.section--next-rounded)
.header__corner.right,
.header-section:not(.header-scrolled).header-transparent .header__corner.right {
    --tw-translate-x: var(--border-radius);
}

.header-hidden[data-sticky-type="on-scroll-up"] {
    pointer-events: none;
}

.header-hidden .header[is="sticky-header"][data-sticky-type="on-scroll-up"] {
    transform: translateY(calc(-100% - var(--border-radius)));
}

.header-transparent.no-animate {
    --animation-nav: none;
    --animation-nav-delay: 0s;
}

@supports selector(:has(> *)) {
    .js
    :has(.shopify-section:first-child [allow-transparent-header])
    .header-section:not(.header-transparent)
    .header {
        --animation-nav: none;
        --animation-nav-delay: 0s;
        --header-background-opacity: 0;
        --header-logo-opacity: 0;
        position: absolute;
        color: rgb(var(--color-transparent));
    }

    .no-js
    :has(.shopify-section:first-child [allow-transparent-header])
    .header__corner,
    .js
    :has(.shopify-section:first-child [allow-transparent-header])
    .header-section:not(.header-transparent)
    .header__corner {
        color: transparent;
        width: 0;
        height: 0;
    }

    .no-js
    :has(.shopify-section:first-child [allow-transparent-header])
    .header__corner.left {
        --tw-translate-x: calc(var(--border-radius) * -1);
    }

    .no-js
    :has(.shopify-section:first-child [allow-transparent-header])
    .header__corner.right {
        --tw-translate-x: var(--border-radius);
    }

    .no-js
    :is(.topbar-section, .timer-section)
    + .header-section
    :is(.mega-menu, .mega-menu__container) {
        border-start-start-radius: 0;
        border-start-end-radius: 0;
    }
}

/*! countdown-condensed */

.countdown-condensed {
    font-size: var(--text-2sm);
}

@media screen and (min-width: 1536px) {
    .countdown-condensed {
        font-size: var(--text-sm);
    }
}

@media screen and (min-width: 768px) {
    .countdown-condensed {
        gap: min(1.5vw, 3.5rem);
    }
}

.countdown-condensed .countdown__timer {
    --countdown-gap: var(--sp-7);
}

.countdown-condensed .countdown__item {
    position: relative;
    gap: var(--sp-1);
}

.countdown-condensed .countdown__item p {
    position: static;
}

.countdown-condensed .countdown__item p::after {
    font-size: inherit;
    color: inherit;
    inset-block-start: 50%;
    transform: translateX(calc(50% * var(--transform-logical))) translateY(-50%);
}

.countdown-condensed .countdown__item span {
    font-size: var(--text-2xs);
    font-weight: 400;
}

.countdown-condensed .countdown__timer:is(.heading, .body) .countdown__item p {
    font-weight: var(--font-medium);
}

.countdown-condensed .countdown__timer[data-compact="true"] {
    --countdown-gap: var(--sp-4);
}

.countdown-condensed
.countdown__timer[data-compact="true"]
.countdown__item
p::after {
    inset-block-start: unset;
    transform: translateX(calc(50% * var(--transform-logical)));
}

@media screen and (max-width: 767px) {
    .countdown-condensed .countdown__timer[data-compact] {
        --countdown-gap: var(--sp-4);
    }

    .countdown-condensed .countdown__timer[data-compact] .countdown__item p {
        position: relative;
    }

    .countdown-condensed
    .countdown__timer[data-compact]
    .countdown__item
    p::after {
        inset-block-start: unset;
        transform: translateX(calc(50% * var(--transform-logical)));
    }
}

/*! announcement-bar */

.topbar-section {
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
    height: var(--topbar-height);
    font-size: var(--text-2sm);
    transition: height var(--animation-nav);
    height: 3em;
}

@media screen and (min-width: 1536px) {
    .topbar-section {
        font-size: var(--text-sm);
    }
}

.topbar {
    --topbar-grid-template: "announcement" / auto;
    grid-template: var(--topbar-grid-template);
    gap: min(1.5vw, 3.5rem);
}

@media screen and (min-width: 1024px) {
    .topbar--center {
        --topbar-grid-template: "socials announcement localization" / minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
    }

    .topbar--center.topbar--inverted {
        --topbar-grid-template: "localization announcement socials" / minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
    }

    .topbar--start {
        --topbar-grid-template: "announcement socials localization" / minmax(0, 1fr) auto auto;
    }

    .topbar--start.topbar--inverted {
        --topbar-grid-template: "announcement localization socials" / minmax(0, 1fr) auto auto;
    }

    .topbar--end {
        --topbar-grid-template: "socials localization announcement" / auto auto minmax(0, 1fr);
    }

    .topbar--end.topbar--inverted {
        --topbar-grid-template: "localization socials announcement" / auto auto minmax(0, 1fr);
    }

    .topbar--center:not(.topbar--inverted) .localization,
    .topbar--center.topbar--inverted .social-icons,
    .topbar--start:not(.topbar--inverted) .localization,
    .topbar--start.topbar--inverted .social-icons {
        justify-content: flex-end;
    }

    .topbar--inverted .localization__item .dropdown.left-0 {
        inset-inline-start: unset;
        inset-inline-end: 0;
    }

    .topbar--inverted .localization__item .dropdown.right-0 {
        inset-inline-end: unset;
        inset-inline-start: 0;
    }

    .topbar--only {
        --topbar-grid-template: "announcement" / minmax(0, 1fr);
    }

    .topbar--only .announcement-bar {
        max-width: 100%;
    }
}

.topbar .social-icons {
    grid-area: socials;
}

.topbar .announcement-bar {
    grid-area: announcement;
}

.topbar .localization {
    gap: min(1.5vw, 3.5rem);
}

.topbar .localization {
    grid-area: localization;
}

.topbar .localization__item + .localization__item .dropdown {
    inset-inline-end: 0;
    margin-inline-start: 0;
}

.topbar .dropdown {
    min-width: 140px;
    margin-inline-start: calc(var(--sp-8) * -1);
}

.topbar .dropdown__container {
    padding-block-start: var(--sp-5);
    padding-block-end: var(--sp-8);
}

.topbar .dropdown__nav li > p {
    padding-inline: var(--sp-7);
}

@media screen and (min-width: 1280px) {
    .topbar .dropdown {
        margin-inline-start: var(--sp-0d5);
    }
}

.social_platform .icon {
    fill: currentColor;
}

.localization .dropdown__nav {
    margin-inline-end: 5px;
    max-height: 250px;
    max-width: 280px;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
}

.localization .dropdown__nav::-webkit-scrollbar {
    -webkit-appearance: none;
    background-clip: padding-box;
    background-color: transparent;
    border-radius: var(--rounded-full);
    width: 3px;
}

.localization .dropdown__nav::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: rgb(var(--color-foreground) / 0.2);
    border-radius: var(--rounded-full);
}

.localization .dropdown__nav li > p {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.localization .dropdown__nav a.active {
    opacity: 0.4;
}

.localization .country-flag {
    width: var(--sp-5);
    height: var(--sp-5);
    box-shadow: 2px 2px 8px 0px rgb(var(--color-foreground) / 0.15);
}

@media screen and (min-width: 1024px) {
    .announcement-bar {
        max-width: 56rem;
    }

    .announcement-bar.without-nav {
        max-width: unset;
    }

    .announcement-bar.without-nav :is(.flickity-slider, .announcement__slide) {
        transform: none !important;
    }

    .announcement-bar.without-nav .announcement__slide {
        width: 100%;
    }

    .announcement-bar.without-nav.lg\:justify-center .announcement__slide {
        justify-content: center;
    }

    .announcement-bar.without-nav.lg\:justify-end .announcement__slide {
        justify-content: flex-end;
    }
}

.announcement-bar .flickity-viewport {
    width: 100%;
    height: 100% !important;
}

.announcement-bar .fader {
    padding-inline: var(--sp-3d5);
}

.announcement-bar .fader.left {
    order: -1;
    margin-inline-start: calc(var(--sp-3d5) * -1);
}

.announcement-bar .fader.right {
    margin-inline-end: calc(var(--sp-3d5) * -1);
}

.announcement-bar .announcement-text a {
    text-decoration: underline;
}

.announcement-bar .announcement-text {
    font-size: 15px;
    text-align: center;
    font-weight: bold;
}

.announcement__slides.flickity {
    max-width: 92%;
    min-width: 92%;
}

@media screen and (min-width: 1400px) {
    .announcement__slides.flickity {
        max-width: 90%;
        min-width: 90%;
    }
}

@media screen and (min-width: 1500px) {
    .announcement__slides.flickity {
        max-width: 80%;
        min-width: 80%;
    }
}

@media screen and (max-width: 1199px) {
    .announcement-bar .announcement-text {
        font-size: 14px;
        line-height: 130%;
    }
}

@media screen and (max-width: 749px) {
    .announcement-bar .fader {
        padding-inline: 0.5rem;
    }

    .topbar-section {
        height: 4rem;
    }
}

@media screen and (max-width: 480px) {
    .announcement-bar .announcement-text {
        font-size: 11px;
    }

    .announcement-bar button {
        padding: 0 5px;
    }
}

.announcement-bar .slideshow-control:focus {
    width: auto;
    height: auto;
    inset-block-start: 50%;
    transform: translateY(-50%);
    inset-inline-start: auto;
    inset-inline-end: calc(-1 * var(--sp-4));
    border-radius: 0;
    background: none;
    color: rgb(var(--color-foreground));
}

.announcement-bar .slideshow-control .icon {
    width: var(--sp-3);
    height: var(--sp-3);
}

.no-js .announcement-bar .fader,
.no-js .announcement__slide {
    display: none;
}

.no-js .announcement__slide:first-child {
    display: flex;
}

.announcement__slides > .announcement__slide ~ .announcement__slide {
    display: none;
}

[loaded] .announcement__content {
    transition: var(--animation-smooth);
    transition-property: opacity, transform;
}

.announcement__content:hover {
    cursor: pointer;
}

.announcement__slide[aria-hidden] .announcement__content {
    opacity: 0;
    transform: translateY(100%);
}

.no-js .announcement__content {
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    .flickity-enabled .announcement__content {
        transform: translateY(0);
    }

    [loaded] .announcement__content {
        transition: none;
    }
}

@media screen and (min-width: 1280px) {
    .localization__item .icon-language {
        width: var(--sp-4d5);
        height: var(--sp-4d5);
    }
}

.localization__item .icon-chevron-down {
    transform: scaleY(var(--tw-scale-y));
    transition: transform var(--animation-primary);
}

.localization__item[aria-expanded="true"] .icon-chevron-down {
    --tw-scale-y: -1;
}

/*! drawer */

.modal-scrollbar-measure {
    display: block;
    position: absolute;
    inset-block-start: -100rem;
    width: 5rem;
    height: 5rem;
    overflow: scroll;
}

.has-modal-opening,
.has-modal-open {
    overflow: hidden;
    padding-inline-end: var(--scrollbar-width);
}

.has-modal-opening:has(#MenuDrawer[open]),
.has-modal-open:has(#MenuDrawer[open]) {
    padding-inline-end: 0;
}

.touch .has-modal-open {
    touch-action: none;
}

.drawer {
    --color-foreground: var(--color-drawer-text);
    --color-background: var(--color-drawer-background);
    --color-overlay: var(--color-drawer-overlay);
    --color-button-background: var(--color-drawer-button-background);
    --color-button-gradient: var(--color-drawer-button-gradient);
    --color-button-border: var(--color-drawer-button-background);
    --color-button-text: var(--color-drawer-button-text);
    --color-border: var(--color-foreground) / 0.1;
    --color-border-dark: var(--color-foreground) / 0.4;
    --color-border-light: var(--color-foreground) / 0.06;
}

.drawer[hidden] {
    content-visibility: hidden;
}

.drawer .overlay {
    cursor: none;
    transition: 0.8s cubic-bezier(0.7, 0, 0.2, 1);
    transition-property: opacity, visibility, background-color;
}

.drawer--start .overlay {
    background: linear-gradient(
            to var(--transform-origin-start),
            rgb(var(--color-overlay) / 0.2) 20%,
            rgb(var(--color-overlay) / 0.5) 60%
    );
}

.drawer--end .overlay {
    background: linear-gradient(
            to var(--transform-origin-end),
            rgb(var(--color-overlay) / 0.2) 20%,
            rgb(var(--color-overlay) / 0.5) 60%
    );
}

@media screen and (min-width: 1280px) {
    .drawer--start .overlay {
        background: linear-gradient(
                to var(--transform-origin-start),
                rgb(var(--color-overlay) / 0.2) 40%,
                rgb(var(--color-overlay) / 0.5) 80%
        );
    }

    .drawer--end .overlay {
        background: linear-gradient(
                to var(--transform-origin-end),
                rgb(var(--color-overlay) / 0.2) 40%,
                rgb(var(--color-overlay) / 0.5) 80%
        );
    }
}

.drawer__header {
    border-block-end: 1px solid rgb(var(--color-border-light));
    padding: var(--sp-8) var(--sp-5) var(--sp-6);
    transition: var(--animation-primary) 0.1s;
    transition-property: opacity, visibility;
}

#MenuDrawer .drawer__header {
    opacity: 0!important;
}

@media screen and (min-width: 1024px) {
    .drawer__header {
        padding-inline: var(--sp-12);
    }
}

@media screen and (min-width: 1536px) {
    .drawer__header {
        padding-block-end: var(--sp-8);
        padding-block-start: var(--sp-10);
    }
}

.drawer__close {
    height: var(--sp-12);
    width: var(--sp-12);
    flex: 0 0 auto;
    margin-inline-start: auto;
}

.drawer__close .icon + .icon {
    transition: var(--animation-fast);
    transition-property: opacity, visibility;
}

.drawer.loading .drawer__close {
    --border-opacity: 0;
}

.drawer.loading .drawer__close .icon:first-child {
    opacity: 0;
}

.drawer.loading .drawer__close .icon + .icon {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.1s;
}

.drawer__content {
    overflow-x: hidden;
    overflow-y: auto;
    transition: var(--animation-primary) 0.1s;
    transition-property: opacity, visibility;
}

.drawer__inner {
    max-width: 36rem;
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
}

.drawer--start .drawer__inner {
    --tw-translate-x: -100%;
    inset-inline-start: 0;
}

[data-rounded-block="round"] .drawer--start .drawer__inner {
    border-end-end-radius: var(--sp-8d5);
    border-start-end-radius: var(--sp-8d5);
}

.drawer--end .drawer__inner {
    --tw-translate-x: 100%;
    inset-inline-end: 0;
}

[data-rounded-block="round"] .drawer--end .drawer__inner {
    border-end-start-radius: var(--sp-8d5);
    border-start-start-radius: var(--sp-8d5);
}

.loaded .drawer__inner {
    transition: transform 0.6s cubic-bezier(0.7, 0, 0.2, 1);
}

.drawer[open] {
    pointer-events: auto;
}

.drawer[active] > .drawer__inner {
    --tw-translate-x: 0;
}

.drawer[active] > .drawer__inner > :is(.drawer__content, .drawer__header) {
    opacity: 1;
    visibility: visible;
    transition: var(--animation-primary) 0.35s;
    transition-property: opacity, visibility;
}

.drawer[active] > .overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.loaded .drawer[open="immediate"] > .drawer__inner,
.drawer[open="immediate"] > .overlay,
.drawer[open="immediate"]
> .drawer__inner
> :is(.drawer__content, .drawer__header) {
    transition: none;
    opacity: 1;
    visibility: visible;
    transform: none;
}

@media screen and (max-width: 639px) {
    .js .drawer .overlay {
        background: none;
    }

    .js .drawer__header::before {
        --tw-translate-x: -50%;
        content: "";
        background-color: rgb(var(--color-border));
        border-radius: var(--rounded-full);
        height: var(--sp-1);
        width: var(--sp-12);
        position: absolute;
        inset-block-start: var(--sp-2d5);
        inset-inline-start: 50%;
        transform: translateX(
                calc(var(--tw-translate-x) * var(--transform-logical))
        );
    }

    .js .drawer__close {
        --buttons-border-width: 0;
        position: absolute;
        inset-block-start: var(--sp-1);
        inset-inline-end: var(--sp-1);
        backdrop-filter: none;
        opacity: 0;
        pointer-events: none;
    }

    .js .drawer__close:focus-visible {
        opacity: 1;
        pointer-events: visible;
    }

    .js .drawer .drawer__inner {
        border-end-end-radius: 0;
        border-end-start-radius: 0;
        border-start-end-radius: var(--sp-5);
        border-start-start-radius: var(--sp-5);
        height: 100%;
        width: 100%;
        max-height: calc(100% - 60px);
        max-width: none;
        inset-block-start: auto;
        inset-block-end: 0;
        transform: translate3d(0, 100%, 0);
    }

    .js .drawer[active] > .drawer__inner {
        transform: translateZ(0);
    }

    .js .drawer[active] > .overlay {
        background: none;
        background-color: rgb(var(--color-overlay) / 0.7);
        transform: translateZ(0);
    }

    .drawer[active] > .drawer__inner > :is(.drawer__content, .drawer__header) {
        transition-delay: 0s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .loaded .drawer__inner {
        transition: opacity var(--animation-primary);
    }

    .drawer .overlay {
        transition: var(--animation-primary);
        transition-property: opacity, visibility;
    }

    .drawer__inner {
        opacity: 0;
    }

    :is(.drawer--start, .drawer--end) .drawer__inner {
        transform: translateZ(0);
    }

    .drawer[active] > .drawer__inner {
        opacity: 1;
    }

    .drawer[active] > .drawer__inner > :is(.drawer__content, .drawer__header) {
        transition-delay: 0s;
    }
}

/*! modal */

.x-modal .overlay {
    background: rgb(var(--color-overlay) / 0.7);
}

.x-modal .drawer__scrollable > * {
    padding-block-end: var(--sp-9);
}

.x-modal .drawer__scrollable > :last-child {
    padding-block-end: 0;
}

@media screen and (min-width: 640px) {
    .x-modal:not([hidden]) {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .x-modal .drawer__header {
        border-block-end: 0;
        padding-block-end: 0;
    }

    .x-modal .drawer__inner {
        position: static;
        height: auto;
        max-height: 90vh;
        max-width: 60rem;
        margin-inline: var(--gap-padding);
        transform: scale(0.8);
        opacity: 0;
        border-radius: var(--rounded-block);
    }

    .x-modal[active] > .drawer__inner {
        opacity: 1;
        transform: scale(1);
    }

    .loaded .x-modal .drawer__inner {
        transition-property: transform, opacity;
    }
}

@media (prefers-reduced-motion: reduce) {
    .x-modal .drawer__inner {
        transform: scale(1);
    }
}

.x-modal table {
    width: 100%;
    table-layout: fixed;
}

/*! search-drawer */

.search-drawer .drawer__scrollable {
    padding-block-end: 0;
}

.search-drawer .drawer__scrollable .drawer__sticky {
    padding-block-start: 0;
}

.search__recommendation {
    padding-block-end: var(--sp-8);
}

.search__form[results] .search__recommendation {
    display: none;
}

.search__form[results] .search__results {
    display: flex;
}

.search__results {
    display: none;
}

.search__results mark {
    background-color: transparent;
    color: rgb(var(--color-foreground) / 0.4);
}

.search__field {
    --input-height: var(--sp-15);
    --input-padding-inline: var(--sp-5);
}

@media screen and (min-width: 1024px) {
    .search__field {
        --input-padding-inline: var(--sp-7);
    }
}

.search__field .input {
    font-size: var(--text-base);
    line-height: 1;
    font-weight: var(--font-medium);
}

@media screen and (min-width: 768px) {
    .search__field .input {
        font-size: var(--text-lg);
    }
}

@supports (-webkit-overflow-scrolling: touch) {
    .search__field .input:focus {
        font-size: max(var(--text-base), 16px);
    }

    @media screen and (min-width: 768px) {
        .search__field .input:focus {
            font-size: max(var(--text-lg), 16px);
        }
    }
}

.search__field .input::-webkit-search-cancel-button,
.search__field .input::-webkit-search-decoration {
    display: none;
}

.search__field .clear {
    inset-inline-end: var(--input-padding-inline);
    transition: opacity 0.2s;
}

.search__field .input:not(:placeholder-shown) ~ .clear {
    opacity: 1;
}

.search__field .input:not(:-moz-placeholder-shown) ~ .clear {
    opacity: 1;
}

.search__field .clear span,
.search__field .clear .icon {
    transition: var(--animation-fast);
    transition-property: opacity, visibility;
}

.search__form[loading] .search__field .clear span {
    opacity: 0;
}

.search__form[loading] .search__field .clear .icon {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.1s;
}

.js .search__field .typed:not([hidden]) ~ * {
    opacity: 0;
}

.search__field .typed {
    cursor: text;
    padding-inline-start: var(--input-padding-inline);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-foreground) / 0.025);
    border: var(--inputs-border-width) solid rgb(var(--color-foreground) / var(--border-opacity));
    border-radius: var(--inputs-radius);
    transition: var(--animation-primary);
    transition-property: border-color, background-color;
}

.search__field .typed .blink {
    animation: blink 0.7s infinite;
}

@keyframes blink {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}

@media screen and (pointer: fine) {
    .search__field:hover .input,
    .search__field:hover .typed {
        box-shadow: none;
        border-color: rgb(var(--color-foreground));
        background-color: rgb(var(--color-foreground) / 0.045);
        outline: none;
    }
}

.search__heading {
    padding-block-end: var(--sp-2);
    color: rgb(var(--color-foreground) / 0.5);
    border-block-end: 1px solid rgb(var(--color-border-light));
}

.search-drawer .horizontal-product {
    padding-block-end: var(--sp-4d5);
}

.search-drawer .horizontal-product + .horizontal-product {
    padding-block-start: 0;
    border-block-start: 0;
}

.no-js .search__field .typed {
    display: none;
}

/*! cart-drawer */

.cart-drawer .modal .close {
    width: var(--sp-12);
    height: var(--sp-12);
}

@media screen and (min-width: 640px) {
    .cart-drawer .modal .close {
        position: static;
        width: auto;
        height: auto;
    }
}

.drawer__empty {
    max-width: var(--sp-72);
}

.search__empty {
    padding-block: var(--sp-8);
}

@media screen and (min-width: 1024px) {
    .drawer__empty {
        margin-block: auto;
    }

    .search__empty .drawer__empty {
        transform: translateY(calc(var(--sp-8) * -1));
    }
}

.drawer__empty-text {
    font-size: clamp(var(--sp-5), 1.4063rem + 0.5vw, var(--sp-8));
}

.drawer__empty-collections a {
    padding: var(--sp-3) var(--sp-5);
    background-color: rgb(var(--color-foreground) / 0.025);
    transition: background-color var(--animation-primary);
}

[data-rounded-block="round"] .drawer__empty-collections a {
    border-radius: var(--sp-3);
}

@media screen and (pointer: fine) {
    .drawer__empty-collections .icon {
        transition: transform var(--animation-primary);
    }

    .drawer__empty-collections a:hover {
        background-color: rgb(var(--color-foreground) / 0.045);
    }

    .drawer__empty-collections a:hover .icon {
        --tw-translate-x: calc(var(--sp-1) * var(--transform-logical));
    }
}

.drawer__empty-collections img {
    max-width: var(--sp-8d5);
}

.drawer__empty .icon-xxxl {
    width: var(--sp-12);
    height: var(--sp-12);
}

.drawer__tabs {
    transition: all var(--animation-primary);
    transition-delay: 0.1s;
}

.drawer__tab {
    line-height: 1.6;
    opacity: 0.4;
    transition: opacity var(--animation-primary);
}

.drawer__tab .count {
    inset-block-start: calc(var(--sp-0d5) * -1);
    inset-inline-start: calc(100% + var(--sp-1));
}

@media screen and (pointer: fine) {
    .drawer__tab:hover {
        opacity: 1;
    }
}

.drawer__tab[aria-expanded="true"] {
    opacity: 1;
    pointer-events: none;
}

.drawer__panel {
    height: 0;
}

.drawer__panel:not([open]) > *:last-child {
    display: none;
}

.drawer__panel[open] {
    flex: 1;
    height: 100%;
    opacity: 1;
    transition: opacity var(--animation-primary);
}

.drawer__scrollable {
    overflow-x: hidden;
    overflow-y: auto;
    padding: var(--sp-6) var(--sp-5);
}

@media screen and (min-width: 1024px) {
    .drawer__scrollable {
        padding: var(--sp-8) var(--sp-12);
    }
}

@media screen and (min-width: 1536px) {
    .drawer__scrollable {
        padding-block: var(--sp-11);
    }
}

.drawer__scrollable {
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    scrollbar-color: auto;
    scrollbar-width: thin;
}

.drawer__scrollable::-webkit-scrollbar {
    -webkit-appearance: none;
    background-clip: padding-box;
    background-color: transparent;
    border-radius: var(--rounded-full);
    width: var(--sp-1d5);
}

.drawer__scrollable::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: rgb(var(--color-foreground) / 0.2);
    border-radius: var(--rounded-full);
}

.drawer__scrollable .item {
    background-color: rgb(229 229 229);
    height: 100px;
    margin-block-end: var(--sp-3);
    width: 100%;
}

.drawer__scrollable .drawer__sticky {
    margin-block-start: auto;
    padding-block: var(--sp-6);
}

.drawer__footer {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.drawer__footer-top {
    border-block-start: 1px solid rgb(var(--color-border-light));
    padding-block: var(--sp-3);
}

@media screen and (min-width: 768px) {
    .drawer__footer-top {
        padding-block: var(--sp-4);
    }
}

.drawer__footer-top > button + button {
    border-inline-start: 1px solid rgb(var(--color-border-light));
}

.cart-discount__count {
    width: var(--sp-6);
    height: var(--sp-6);
    color: rgb(var(--color-background));
    background-color: rgb(var(--color-foreground));
}

.cart-discount .active-facets {
    margin-block: 0;
}

.cart-discount .removable-facet {
    background-color: var(--badge-background);
    color: var(--badge-foreground);
    padding: var(--sp-1d5) var(--sp-2d5);
}

.cart-discount .facet-title {
    overflow: hidden;
    max-width: 100px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.drawer__footer-bottom {
    background-color: rgb(var(--color-foreground) / 0.025);
    padding: clamp(var(--sp-6), 2.315vw, var(--sp-12)) var(--sp-5);
}

@media screen and (min-width: 1024px) {
    .drawer__footer-bottom {
        padding-inline: var(--sp-12);
    }
}

.drawer__footer-bottom :is(.tax-note, .totals__subtotal) {
    line-height: 1.375;
}

.drawer__footer-bottom .discounts {
    padding-block-end: var(--sp-4);
    border-block-end: 1px solid rgb(var(--color-border-light));
}

.drawer .modal {
    transition: all 0.3s ease;
    z-index: 3;
}

.drawer .modal .fixed-modal {
    background: linear-gradient(
            to bottom,
            rgb(var(--color-drawer-overlay) / 0.1) 30%,
            rgb(var(--color-drawer-overlay) / 0.3) 80%
    );
    cursor: none;
    transition: opacity 0.6s cubic-bezier(0.7, 0, 0.2, 1);
}

.drawer .modal__container {
    --tw-translate-y: 100%;
    background-color: rgb(var(--color-background));
    transform: translateY(var(--tw-translate-y));
    transition: transform 0.6s cubic-bezier(0.7, 0, 0.2, 1);
    max-height: calc(100% - 60px);
}

[data-rounded-block="round"] .drawer .modal__container {
    border-start-start-radius: var(--sp-8d5);
}

.drawer .modal__header {
    padding: var(--sp-8) var(--sp-5) var(--sp-2);
}

@media screen and (min-width: 1024px) {
    .drawer .modal__header {
        padding: var(--sp-8) var(--sp-12) var(--sp-3);
    }
}

.drawer .modal__content {
    padding: var(--sp-2) var(--sp-5) var(--sp-6);
}

@media screen and (min-width: 1024px) {
    .drawer .modal__content {
        padding: var(--sp-3) var(--sp-12) var(--sp-10);
    }
}

.drawer .modal[active] {
    transition-delay: 0s;
    visibility: visible;
}

.drawer .modal[active] .fixed-modal {
    opacity: 1;
}

.drawer .modal[active] .modal__container {
    --tw-translate-y: 0;
}

.horizontal-product:last-child {
    padding-block-end: 0;
}

.horizontal-product {
    --cart-item-media-width: var(--sp-20);
    padding-block-end: var(--sp-4);
}

.horizontal-product + .horizontal-product {
    padding-block-start: var(--sp-4);
    border-block-start: 1px solid rgb(var(--color-border-light));
}

@media screen and (min-width: 768px) {
    .horizontal-product {
        padding-block-end: var(--sp-6);
    }

    .horizontal-product + .horizontal-product {
        padding-block-start: var(--sp-6);
    }
}

@media screen and (min-width: 768px) {
    .horizontal-product {
        --cart-item-media-width: var(--sp-24);
    }
}

.horizontal-product__skeleton {
    width: 60%;
    height: var(--sp-3);
    background-color: rgb(var(--color-placeholder));
}

[data-rounded-block="round"] .horizontal-product__skeleton {
    border-radius: var(--rounded-full);
}

.horizontal-product__skeleton:last-child:not(:first-child) {
    width: 25%;
}

@media screen and (min-width: 768px) {
    .horizontal-product__skeleton {
        width: 100%;
        height: var(--sp-4);
    }

    .horizontal-product__skeleton:last-child:not(:first-child) {
        width: 40%;
    }
}

.horizontal-product__media {
    width: var(--cart-item-media-width);
}

[data-rounded-block="round"] .horizontal-product__media {
    border-radius: var(--sp-2);
}

.horizontal-product__media img {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media screen and (pointer: fine) {
    .horizontal-product__media:hover img {
        --tw-scale-x: 1.05;
        --tw-scale-y: 1.05;
    }
}

.horizontal-product__details > .grid:last-child {
    margin-block-start: auto;
}

.horizontal-product__details :is(.price__sale, .price__regular) {
    font-size: inherit;
}

.horizontal-product__details .discounts .badge {
    padding: var(--sp-2) var(--sp-3d5);
    font-size: var(--text-xs);
}

.horizontal-product__quantity {
    margin-inline-start: auto;
}

.horizontal-product__quantity .loader:not([hidden]) ~ .link {
    visibility: hidden;
}

.horizontal-product__quantity .cart-quantity__info .hotspot__content {
    inset-inline-end: calc(calc(var(--sp-3) + var(--sp-14)) * -1);
}

@media screen and (min-width: 1024px) {
    .horizontal-product__quantity .cart-quantity__info .hotspot__content {
        inset-inline-end: calc(calc(var(--sp-3) + var(--sp-18)) * -1);
    }
}

.cart-quantity__info .hotspot {
    width: auto;
    height: auto;
    margin: 0;
}

.cart-quantity__info .hotspot::before,
.cart-quantity__info .hotspot::after {
    content: none;
}

.cart-quantity__info .hotspot__content {
    padding: var(--sp-5) var(--sp-6);
    inset-block-start: calc(100% + var(--sp-5));
    background-color: rgb(var(--color-background));
}

.cart-quantity__info .hotspot__content::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background-color: rgb(var(--color-foreground) / 0.025);
}

.cart-quantity__info .hotspot__content {
    min-width: var(--sp-96);
}

.cart-quantity__info .hotspot__content .volume-pricing {
    padding: 0;
    background-color: transparent;
}

.cart-quantity__info
.hotspot__content
.quantity__rules
~ .volume-pricing
.caption-large {
    display: none;
}

.cart-quantity {
    height: var(--sp-10);
    width: var(--sp-14);
}

@media screen and (min-width: 768px) {
    .cart-quantity {
        height: var(--sp-12);
    }
}

@media screen and (min-width: 1024px) {
    .cart-quantity {
        width: var(--sp-18);
    }
}

.cart-quantity .quantity__input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: inherit;
    text-align: center;
    height: 100%;
    width: 100%;
    padding-inline: var(--sp-1);
}

[data-rounded-block="round"] .cart-quantity .quantity__input {
    border-radius: var(--sp-2);
}

@media screen and (min-width: 1024px) {
    .cart-quantity .quantity__input {
        padding-inline-end: var(--sp-3);
    }
}

@supports (-webkit-overflow-scrolling: touch) {
    .cart-quantity .quantity__input:focus {
        font-size: max(var(--text-sm), 16px);
    }
}

.cart-quantity .quantity__buttons {
    width: var(--sp-6);
}

.cart-quantity .quantity__button {
    height: var(--sp-6);
    padding-inline-end: var(--sp-3);
}

.cart-quantity .quantity__button[name="plus"] {
    padding-block-end: var(--sp-1);
}

.cart-quantity .quantity__button[name="minus"] {
    padding-block-start: var(--sp-1);
}

.cart-quantity .quantity__button .icon {
    width: var(--sp-2);
    height: var(--sp-2);
}

.horizontal-product__quantity .cart-quantity + div {
    margin-block-start: auto;
}

/*! gift-wrapping */

.cart-drawer .gift-wrapping {
    padding: var(--sp-5);
    border: 1px solid rgb(var(--color-border-light));
}

[data-rounded-block="round"] .cart-drawer .gift-wrapping {
    border-radius: var(--border-radius-small);
}

.gift-wrapping .loader:not([hidden]) ~ input {
    visibility: hidden;
}

/*! free-shipping-bar */

[data-rounded-block="square"] .free-shipping-bar progress-bar {
    border-radius: 0;
}

.free-shipping-bar progress-bar {
    height: var(--sp-1d5);
    background-color: rgb(var(--color-border-light));
}

.free-shipping-bar progress-bar::before {
    --tw-scale-x: 0;
    content: "";
    background-color: currentColor;
    border-radius: inherit;
    display: block;
    height: inherit;
    transform: scaleX(var(--tw-scale-x));
    transform-origin: var(--transform-origin-start);
    transition: transform var(--animation-smooth) 0.1s;
}

.cart-drawer[active] .free-shipping-bar progress-bar::before {
    --tw-scale-x: var(--progress);
}

@media screen and (max-width: 639px) {
    .js .cart-drawer .drawer__header {
        border-start-start-radius: var(--sp-6);
    }

    .js .cart-drawer .drawer__scrollable {
        height: auto;
    }

    .js .cart-drawer .modal .fixed-modal {
        background: none;
        background-color: rgb(var(--color-overlay) / 0.35);
    }

    .js .cart-drawer .modal__container {
        border-start-end-radius: var(--sp-6);
        border-start-start-radius: var(--sp-6);
    }
}

/*! product-complementary */

.no-js .complementary-products {
    display: none;
}

.recommend__title {
    border-block-end: 1px solid rgb(var(--color-border-light));
    padding-block-end: var(--sp-1d5);
}

.complementary-products .horizontal-products {
    margin-inline: calc(var(--page-padding) * -1);
}

.complementary-products .horizontal-products:empty {
    display: block;
    margin-inline: 0;
}

.complementary-products .horizontal-products:empty::before {
    content: "";
    display: block;
    width: 100%;
    height: var(--sp-20);
    background-image: linear-gradient(
            100deg,
            rgb(var(--color-foreground) / 0.045) 40%,
            rgb(var(--color-foreground) / 0.115) 63%,
            rgb(var(--color-foreground) / 0.045) 79%
    );
    animation: placeholder-shimmer 1.3s linear infinite;
    background-size: 400% 100%;
    border-radius: var(--sp-2);
}

[data-rounded-block="round"] .horizontal-products:empty::before {
    border-radius: var(--sp-2);
}

@keyframes placeholder-shimmer {
    0% {
        background-position: -150% 0;
    }

    to {
        background-position: 150% 0;
    }
}

.complementary-products .horizontal-products > .horizontal-product {
    display: none;
}

.complementary-products .horizontal-products > .horizontal-product:first-child {
    display: flex;
}

.complementary-products .horizontal-products.flickity .horizontal-product {
    margin-inline-end: var(--sp-10);
}

.complementary-products .horizontal-products .horizontal-product {
    padding-inline: var(--page-padding);
    padding-block: 0;
    border-block-start: 0;
}

.cart__recent:empty {
    position: relative;
    display: block;
}

.cart__recent:empty::before,
.cart__recent:empty::after {
    content: "";
    display: block;
    position: absolute;
    inset-block-start: var(--sp-6);
    inset-inline-start: 50%;
    margin-block-start: -1.5px;
    margin-inline-start: max(-30px, -20%);
    width: min(60px, 40%);
    height: 3px;
    background-color: rgb(var(--color-foreground));
}

.cart__recent:empty::before {
    background-color: rgb(var(--color-border));
}

.cart__recent:empty::after {
    animation: preloading 1.2s infinite ease;
}

@media screen and (min-width: 1024px) {
    .complementary-products .horizontal-products {
        margin-inline: 0;
    }

    .complementary-products .horizontal-products .horizontal-product {
        padding-inline: 0;
    }

    .cart__recent:empty::before,
    .cart__recent:empty::after {
        inset-block-start: 50%;
    }
}

.cart__recent[hidden] {
    display: none;
}

/*! menu-drawer */

.menu-drawer summary::-webkit-details-marker {
    display: none;
}

.modal[open] .listbox li {
    --tw-translate-x: 0;
    opacity: 1;
}

.modal .listbox li {
    --tw-translate-x: calc(var(--sp-3) * -1);
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
    transition: transform 0.6s cubic-bezier(0.075, 0.82, 0.165, 1),
    opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: 0.5s;
}

.modal .listbox li:first-child {
    transition-delay: 0.3s;
}

.modal .listbox li:nth-child(2) {
    transition-delay: 0.4s;
}

.modal .listbox li:nth-child(3) {
    transition-delay: 0.5s;
}

.modal .listbox li:nth-child(4) {
    transition-delay: 0.6s;
}

.modal .listbox li:nth-child(5) {
    transition-delay: 0.7s;
}

.modal .listbox li:nth-child(6) {
    transition-delay: 0.8s;
}

.modal .listbox li:nth-child(7) {
    transition-delay: 0.9s;
}

.modal .listbox li:nth-child(8) {
    transition-delay: 1s;
}

.modal .listbox li:nth-child(9) {
    transition-delay: 1.1s;
}

.modal .listbox li:nth-child(10) {
    transition-delay: 1.2s;
}

.modal .listbox li:nth-child(11) {
    transition-delay: 1.3s;
}

.modal .listbox li:nth-child(12) {
    transition-delay: 1.4s;
}

.modal .listbox li:nth-child(13) {
    transition-delay: 1.5s;
}

.modal .listbox li:nth-child(14) {
    transition-delay: 1.6s;
}

.modal .listbox li:nth-child(15) {
    transition-delay: 1.7s;
}

.modal .listbox .active {
    opacity: 0.4;
    pointer-events: none;
}

.modal .modal__scrollable {
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
}

.modal .modal__scrollable::-webkit-scrollbar {
    -webkit-appearance: none;
    background-clip: padding-box;
    background-color: transparent;
    border-radius: var(--rounded-full);
    width: 3px;
}

.modal .modal__scrollable::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: rgb(var(--color-foreground) / 0.2);
    border-radius: var(--rounded-full);
}

[data-rounded-block="round"] .menu-drawer .modal__container {
    border-start-end-radius: var(--sp-6);
    border-start-start-radius: var(--sp-6);
}

.menu-drawer .modal__content {
    padding: var(--sp-10);
}

.menu-drawer .modal .close {
    width: var(--sp-12);
    height: var(--sp-12);
}

.menu-drawer .drawer__header {
    padding: var(--sp-12) var(--sp-5) var(--sp-4);
    border-block-end: 0;
}

.menu-drawer .drawer__footer-top {
    padding-block: var(--sp-2d5);
}

.menu-drawer .drawer__footer-top > button {
    padding: var(--sp-0d5) var(--sp-5);
}

@media screen and (min-width: 768px) {
    .menu-drawer .drawer__footer-top > button {
        width: 50%;
    }
}

.menu-drawer .drawer__footer-top .btn-text .icon:first-child {
    width: var(--sp-4d5);
}

@media screen and (max-width: 767px) {
    .menu-drawer .drawer__footer-top > button .btn-text {
        line-height: normal;
        display: inline-block;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
}

.menu-drawer .drawer__footer-bottom {
    padding: var(--sp-5);
}

.menu-drawer .drawer__footer-bottom .button {
    font-size: var(--text-sm);
    padding-block: var(--sp-2d5);
    padding-inline: var(--sp-5);
}

.menu-drawer .drawer__scrollable {
    padding-inline: 0;
    padding-block: var(--sp-3) var(--sp-10);
}

.menu-drawer .drawer__scrollable.active {
    overflow: unset;
}

.menu-drawer .drawer__scrollable.active > li {
    transform: none !important;
    opacity: 1 !important;
}

.menu-drawer .drawer__sticky {
    padding-block: 0;
    padding-inline: var(--sp-5);
}

@media screen and (min-width: 768px) {
    .menu-drawer .drawer__menu {
        padding-block-start: var(--sp-6);
    }
}

.drawer__menu .product-grid {
    padding-block-start: var(--sp-2);
    padding-inline: var(--sp-5);
}

.drawer__menu .drawer__menu-group {
    padding-inline-start: var(--sp-5);
}

.drawer__menu .mega-menu__footer {
    padding-inline: var(--sp-5);
}

.drawer__menu .mega-menu__footer::before {
    content: none;
}

/*
.drawer__menu summary::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: var(--sp-7);
  opacity: 0.4;
  transform: rotate(calc(45deg * var(--transform-logical))) translateY(-50%);
  border-block-start: 1.5px solid currentColor;
  border-inline-end: 1.5px solid currentColor;
}
*/

.drawer__menu summary > .icon {
    position: absolute;
    inset-block-start: calc(50% - var(--sp-3));
    inset-inline-end: var(--sp-4d5);
    opacity: 0.4;
}

.drawer__menu summary > .icon-chevron-right {
    transform: scaleX(var(--transform-logical));
}

.drawer__menu summary > .icon-chevron-down {
    transition: transform var(--animation-primary);
}

.drawer__menu details[aria-expanded="true"] > summary > .icon-chevron-down {
    transform: scaleY(-1);
}

.drawer__menu-item {
    padding-block: var(--sp-2d5);
    transition: transform var(--animation-primary);
}

.drawer__submenu {
    background-color: rgb(var(--color-background));
    inset-inline-start: 100%;
    transition: inset var(--animation-primary);
}

.drawer__submenu button {
    height: 50px;
    border-block-end: 1px solid rgb(var(--color-border-light));
    padding-inline-start: var(--sp-5);
    color: rgb(var(--color-foreground) / 0.4);
}

.drawer__submenu button::before {
    content: "";
    display: block;
    border-inline-start: 2px solid currentColor;
    border-block-start: 2px solid currentColor;
    width: var(--sp-2);
    height: var(--sp-2);
    transform: rotate(calc(-45deg * var(--transform-logical)));
}

.drawer__submenu button:focus-visible {
    outline-offset: -3px;
}

.drawer__menu-top {
    padding-right: 20px;
}

.drawer__menu-top a {
    color: rgb(var(--color-foreground) / .4);
    color: #ffffff;
    background: #171717;
    padding: 0em 1em;
    border-radius: 10px;
}

.drawer__close-menu {
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border: 1px solid;
    opacity: 0.4;
}

details.active > .drawer__submenu {
    inset-inline-start: 0;
}

details[open] > .drawer__submenu {
    z-index: 3;
}

details.active .drawer__menu-item {
    --tw-translate-x: 0;
    opacity: 1;
}

:is(.drawer__menu, .drawer__submenu).active > li > a,
:is(.drawer__menu, .drawer__submenu).active > li > details > summary {
    transform: translateX(calc(-30% * var(--transform-logical)));
}

li + .drawer__promotions {
    padding-block-start: var(--sp-4);
}

.drawer__promotions {
    padding-block-start: var(--sp-2);
    padding-inline-end: var(--sp-5);
}

.drawer__promotions .mega-menu__list {
    --header-nav-gap: var(--sp-3);
    padding-block: 0;
}

.drawer__promotions .mega-menu__item {
    --tw-translate-x: calc(var(--sp-10) * -1);
    max-width: 100%;
    padding-inline-start: 0;
    transition: transform 0.6s cubic-bezier(0.075, 0.82, 0.165, 1),
    opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

details[is="accordion-details"] .drawer__promotions .mega-menu__item,
details.active .drawer__promotions .mega-menu__item,
.drawer__promotions .media-card__text {
    --tw-translate-x: 0;
    opacity: 1;
}

.drawer__promotions .media-card--overlap .media-card__content {
    padding-inline: var(--sp-4);
    padding-block-end: var(--sp-3d5);
}

@media screen and (max-width: 639px) {
    .js .menu-drawer .modal .fixed-modal {
        background: none;
        background-color: rgb(var(--color-overlay) / 0.35);
    }
}

/*! dropdown-menu */

.header ~ .overlay {
    inset: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
            to top,
            rgb(var(--color-drawer-overlay) / 0.1) 40%,
            rgb(var(--color-drawer-overlay) / 0.5) 80%
    );
    transition: 0.8s cubic-bezier(0.7, 0, 0.2, 1);
    transition-property: opacity, visibility;
}

.has-dropdown-menu .header::before {
    border-radius: 0;
}

.has-dropdown-menu .header ~ .overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0.1s;
    cursor: none;
}

.has-dropdown-menu .header-transparent:not(.header-scrolled) .header {
    --animation-nav-delay: 0s;
    --header-background-opacity: 1;
    --header-logo-opacity: 1;
    color: rgb(var(--color-foreground));
}

.has-dropdown-menu .header-section:not(.header-scrolled) .header__corner {
    --tw-translate-x: 0;
    width: var(--border-radius);
    height: var(--border-radius);
    color: rgb(var(--color-background));
}

.dropdown {
    --border-radius: clamp(var(--sp-4), 1.052vw, var(--sp-5));
    margin-inline-start: calc(var(--sp-8) * -1);
    min-width: 250px;
    width: max-content;
    transition: padding var(--animation-nav);
}

.dropdown__container {
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    padding-block-start: var(--sp-6);
    padding-block-end: var(--sp-10);
}

[data-rounded-block="round"] .dropdown__container {
    border-end-start-radius: var(--border-radius);
    border-end-end-radius: var(--border-radius);
}

.no-js .dropdown__container {
    border: 1px solid rgb(var(--color-border));
}

.no-js [data-rounded-block="round"] .dropdown__container {
    border-radius: var(--border-radius);
}

.no-js .dropdown__corner {
    display: none;
}

.dropdown[open] {
    pointer-events: auto;
}

.dropdown__nav li {
    --tw-translate-x: 20%;
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1),
    opacity 1s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: 0.2s;
}

.dropdown__nav li > :is(details, p) {
    padding-inline: var(--sp-8);
}

.dropdown[open] .dropdown__nav > li {
    --tw-translate-x: 0;
    opacity: 1;
    transition-delay: 1.2s;
}

.dropdown[open] .dropdown__nav li:first-child {
    transition-delay: 0.3s;
}

.dropdown[open] .dropdown__nav li:nth-child(2) {
    transition-delay: 0.4s;
}

.dropdown[open] .dropdown__nav li:nth-child(3) {
    transition-delay: 0.5s;
}

.dropdown[open] .dropdown__nav li:nth-child(4) {
    transition-delay: 0.6s;
}

.dropdown[open] .dropdown__nav li:nth-child(5) {
    transition-delay: 0.7s;
}

.dropdown[open] .dropdown__nav li:nth-child(6) {
    transition-delay: 0.8s;
}

.dropdown[open] .dropdown__nav li:nth-child(7) {
    transition-delay: 0.9s;
}

.dropdown[open] .dropdown__nav li:nth-child(8) {
    transition-delay: 1s;
}

.dropdown[open] .dropdown__nav li:nth-child(9) {
    transition-delay: 1.1s;
}

.dropdown__nav a {
    line-height: 1.5;
}

.dropdown__corner {
    inset-block-start: 0;
}

.dropdown__corner.top.left {
    --tw-scale-x: -1;
    --tw-rotate: 0;
    left: calc(var(--border-radius) * -1);
}

.dropdown__corner.top.right {
    --tw-scale-y: 1;
    --tw-rotate: 0;
    right: calc(var(--border-radius) * -1);
}

.dropdown .dropdown {
    margin-inline-start: 0;
    margin-block-start: calc(var(--sp-5) * -1);
    padding-inline-start: var(--sp-1);
    padding-block-start: 0;
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
    transition: opacity var(--animation-fast), transform var(--animation-primary);
}

.dropdown .dropdown .dropdown__container {
    --tw-translate-y: 0;
    padding-block: var(--sp-6);
}

[data-rounded-block="round"] .dropdown .dropdown .dropdown__container {
    border-radius: var(--border-radius);
}

.dropdown.should-reverse .dropdown {
    inset-inline-start: auto;
    inset-inline-end: 100%;
    padding-inline-start: 0;
    padding-inline-end: var(--sp-1);
}

.dropdown__nav li[aria-controls]:hover > .dropdown {
    --tw-translate-x: 0;
    opacity: 1;
    pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
    .header-transparent:not(.header-scrolled) .dropdown {
        transition-delay: 0s;
    }

    .dropdown {
        transition: var(--animation-nav);
        transition-property: opacity, padding;
    }

    .dropdown__container {
        --tw-translate-y: 0;
    }

    .dropdown__nav li {
        --tw-translate-x: 0;
        opacity: 1;
    }
}

/*! no-js */

.no-js details[is="details-dropdown"] > .dropdown,
.no-js details[is="details-mega"] > .mega-menu {
    inset-block-start: 100%;
}

.no-js details[is="details-dropdown"][open] > .dropdown,
.no-js details[is="details-mega"][open] > .mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.no-js details[is="details-mega"] > .mega-menu .mega-menu__container {
    visibility: visible;
    transform: translateY(0px);
}

.no-js
:is(details[is="details-dropdown"], details[is="details-mega"])[open]
> summary
.menu__item
[data-text]:has(~ .btn-duplicate) {
    opacity: 0;
    transform: translateY(-10%) scale(0.6);
}

.no-js
:is(details[is="details-dropdown"], details[is="details-mega"])[open]
> summary
.menu__item
.btn-duplicate {
    --tw-scale: 1;
    --tw-translate-y: 0%;
}

.no-js .dropdown .dropdown__nav li,
.no-js .mega-menu .mega-menu__nav li,
.no-js .mega-menu .mega-menu__nav-item {
    --tw-translate-x: 0;
    opacity: 1;
}

.no-js .mega-menu .mega-menu__item {
    --tw-translate-y: 0;
    --tw-translate-x: 0;
    opacity: 1;
}

/*! mega-menu */

.has-dropdown-menu.with-mega .header :is(.header__corner, .cutout) {
    opacity: 0;
}

@media screen and (min-width: 768px) {
    .header-scrolled .mega-menu__container {
        padding-block-start: calc(
                var(--header-height) - calc(var(--section-padding-top) * 25 / 100) -
                calc(var(--section-padding-bottom) * 25 / 100) - 1px
        );
    }
}

.mega-menu__container {
    background-color: rgb(var(--color-background));
    padding-block-start: calc(var(--header-height) - 1px);
    transition: padding var(--animation-nav);
}

[data-rounded-block="round"] .mega-menu__container {
    border-end-start-radius: var(--border-radius);
    border-end-end-radius: var(--border-radius);
}

.no-js .mega-menu__container {
    border: 1px solid rgb(var(--color-border));
}

.no-js [data-rounded-block="round"] .mega-menu__container {
    border-radius: var(--border-radius);
}

[data-rounded-block="round"] .mega-menu {
    border-end-start-radius: var(--border-radius);
    border-end-end-radius: var(--border-radius);
}

.mega-menu[open] {
    pointer-events: auto;
}

.mega-menu__list {
    --header-nav-gap: clamp(var(--sp-4), 1.263vw, var(--sp-6));
    gap: var(--header-nav-gap);
    padding-block-start: var(--sp-3);
    padding-block-end: var(--sp-14);
}

.mega-menu__item {
    --tw-translate-y: 0;
    --tw-translate-x: 25%;
    flex: calc(20% - var(--header-nav-gap) * 5 / 6);
    align-items: flex-start;
    color: rgb(var(--color-foreground));
    transform: translate(
            calc(var(--tw-translate-x) * var(--transform-logical)),
            var(--tw-translate-y)
    );
    transition: transform 1.5s cubic-bezier(0.075, 0.82, 0.165, 1),
    opacity 0.9s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: 0.25s;
}

.mega-menu__item--nav {
    flex: calc(50% - var(--header-nav-gap) / 2);
    max-width: calc(50% - var(--header-nav-gap) / 2);
    align-content: space-between;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    padding-inline-end: var(--sp-5);
}

@media screen and (min-width: 768px) {
    .mega-menu__nav-section {
        width: var(--nav-width, 70%);
    }

    .mega-menu__promo-section {
        width: var(--promo-width, 30%);
    }

    /* When no promotions section exists, navigation takes full width */
    .mega-menu__item--nav-only .mega-menu__nav-section {
        width: 100% !important;
    }
}

@media screen and (min-width: 1280px) {
    .mega-menu__item--nav {
        padding-inline-end: var(--sp-10);
        padding-block-start: var(--sp-6);
    }
}

.mega-menu__item--small {
    flex: calc(25% - var(--header-nav-gap) / 2);
    max-width: calc(25% - var(--header-nav-gap) / 2);
}

.mega-menu__item--large {
    flex: calc(75% - var(--header-nav-gap) / 2);
    max-width: calc(75% - var(--header-nav-gap) / 2);
}

.mega-menu__item--full {
    flex: 100%;
    max-width: 100%;
}

.mega-menu[open] .mega-menu__item {
    --tw-translate-y: 0;
    --tw-translate-x: 0;
    opacity: 1;
}

.mega-menu[open] .mega-menu__item:first-child {
    transition-delay: 0.3s;
}

.mega-menu[open] .mega-menu__item:first-child .media-card__text {
    transition-delay: 0.45s;
}

.mega-menu[open] .mega-menu__item:nth-child(2) {
    transition-delay: 0.4s;
}

.mega-menu[open] .mega-menu__item:nth-child(2) .media-card__text {
    transition-delay: 0.55s;
}

.mega-menu[open] .mega-menu__item:nth-child(3) {
    transition-delay: 0.5s;
}

.mega-menu[open] .mega-menu__item:nth-child(3) .media-card__text {
    transition-delay: 0.65s;
}

.mega-menu[open] .mega-menu__item:nth-child(4) {
    transition-delay: 0.6s;
}

.mega-menu[open] .mega-menu__item:nth-child(4) .media-card__text {
    transition-delay: 0.75s;
}

.mega-menu[open] .mega-menu__item:nth-child(5) {
    transition-delay: 0.7s;
}

.mega-menu[open] .mega-menu__item:nth-child(5) .media-card__text {
    transition-delay: 0.85s;
}

.media-card {
    background-color: rgb(var(--color-placeholder));
    border-radius: var(--card-radius);
}

.media-card .media {
    border-start-start-radius: var(--card-radius);
    border-start-end-radius: var(--card-radius);
}

.media-card--standard {
    background-color: transparent;
}

.media-card--standard .media,
.media-card--overlap .media {
    border-radius: var(--card-radius);
}

.media-card--overlap .media-card__link .media:not(.loading)::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(var(--color-overlay) / var(--overlay-opacity));
}

.media-card__link .media img {
    mix-blend-mode: darken;
    background: #fafafa;
    height: 100%;
    transition: transform var(--animation-primary);
    backface-visibility: hidden;
}

.media-card__content {
    --card-content-padding: clamp(var(--sp-4), 1.263vw, var(--sp-6)) clamp(var(--sp-4), 2.105vw, var(--sp-10)) clamp(var(--sp-4), 2.105vw, var(--sp-10));
    padding: var(--card-content-padding);
    color: rgb(var(--color-foreground));
}

.media-card--standard .media-card__content {
    padding-inline: 0;
}

.media-card--overlap .media-card__content {
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    padding-block-start: 0;
    padding-block-end: var(--sp-5);
    padding-inline: var(--sp-6);
}

@media all and (max-width: 460px) {
    .media-card--overlap .media-card__content {
        padding-block-end: 10px;
        padding-inline: 10px;
    }

    .media-card__text .heading {
        font-size: calc(var(--fluid-xl-to-3xl) - -3px);
 
        
        display: block;
        justify-self: center !important;
 
    }
}

.media-card__content.text-postion-top {
    top: 0;
    bottom: auto;
}

.media-card__content.text-postion-center {
    top: 0;
    bottom: 0;
    margin: auto;
}

.media-card__content.text-postion-bottom {
    top: auto;
    bottom: 0;
}

.collection-list .media-card__link:hover .media-card__text .heading {
    display: inline-block;
    transition: all 500ms ease-in-out;
}

.collection-list .media-card__text .heading.collection-title-shadow {
    text-shadow: 0em 0em 0.5rem rgba(0, 0, 0, 0.3);
}

.collection-list .media-card__link:hover .media-card__text .heading,
.collection-list .link.icon-with-text:not([aria-disabled]):hover .link-text,
.collection-list .reversed-link:not([aria-disabled]):hover,
.collection-list .rte a:hover {
    background-size: 0;
}

.collection-list .flex-col {
    max-width: fit-content;
    margin: auto;
}

@media screen and (min-width: 1536px) {
    .media-card--overlap .media-card__content {
        padding-block-end: var(--sp-7);
        padding-inline: var(--sp-10);
    }
}

.media-card--overlap .media {
    height: 100%;
}

.media-card__text {
    --tw-translate-y: 0;
    --tw-translate-x: 25%;
    transform: translate(
            calc(var(--tw-translate-x) * var(--transform-logical)),
            var(--tw-translate-y)
    );
    transition: transform 2s cubic-bezier(0.075, 0.82, 0.165, 1),
    opacity 1s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: 0.25s;
}

.no-js .media-card__text,
.mega-menu[open] .media-card__text {
    --tw-translate-y: 0;
    --tw-translate-x: 0;
    opacity: 1;
}

.media-card__text .heading {
    --reversed-link-gap: min(100%, 1.35em);
    letter-spacing: 1px;
}

.media-card__text .count {
    inset-block-start: calc(var(--sp-0d5) * -1);
    inset-inline-start: calc(100% + 0.3em);
}

.media-card__content .icon {
    transition: transform var(--animation-primary);
}

.media-card__link .media img {
    transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@media screen and (min-width: 1280px) {
    .media-card__content .icon {
        width: var(--sp-5);
        height: var(--sp-5);
    }
}

@media screen and (pointer: fine) {
    .media-card__link:hover .media img {
        --tw-scale-x: 1.05;
        --tw-scale-y: 1.05;
    }

    .media-card__link:hover .media-card__content .icon {
        --tw-rotate: calc(90deg * var(--transform-logical));
    }

    /* .media-card__link:hover .media-card__text .heading {
    background-position-x: var(--transform-origin-start);
    background-size: 100% 1.35px
  } */
}

.media-card__link:focus-visible .media-card__text {
    outline: 2px solid rgb(var(--color-keyboard-focus));
    outline-offset: 3px;
}

@media screen and (min-width: 1536px) {
    .media-card__text p {
        font-size: var(--text-sm);
        line-height: 1.25;
    }
}

.mega-menu__nav {
    --header-nav-gap: clamp(var(--sp-5), 6.5vw, var(--sp-32));
    column-gap: 3rem;
    row-gap: clamp(var(--sp-5), 2.315vw, var(--sp-11));
}

.mega-menu__nav.grid {
    grid-auto-flow: column;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto;
}

.mega-menu__item--small .mega-menu__nav.grid {
    grid-template-columns: auto;
}

.mega-menu__nav--more.grid {
    grid-template-rows: auto auto auto;
}

.mega-menu__nav.flex .mega-menu__nav-item {
    flex: calc(25% - var(--header-nav-gap) * 4 / 5);
    max-width: 20%;
}

.mega-menu__nav-item {
    --tw-translate-x: 25%;
    transform: translateX(calc(var(--tw-translate-x) * var(--transform-logical)));
    transition: transform 2s cubic-bezier(0.075, 0.82, 0.165, 1),
    opacity 1s cubic-bezier(0.19, 1, 0.22, 1);
    transition-delay: 0.25s;
}

.mega-menu[open] .mega-menu__nav-item:is(:nth-child(1), :nth-child(2)) {
    transition-delay: 0.5s;
}

.mega-menu[open] .mega-menu__nav-item:is(:nth-child(3), :nth-child(4)) {
    transition-delay: 0.65s;
}

.mega-menu[open] .mega-menu__nav-item:is(:nth-child(5), :nth-child(6)) {
    transition-delay: 0.75s;
}

.mega-menu[open]
.mega-menu__nav--more
.mega-menu__nav-item:is(:nth-child(1), :nth-child(2), :nth-child(3)) {
    transition-delay: 0.5s;
}

.mega-menu[open]
.mega-menu__nav--more
.mega-menu__nav-item:is(:nth-child(4), :nth-child(5), :nth-child(6)) {
    transition-delay: 0.65s;
}

.mega-menu[open]
.mega-menu__nav--more
.mega-menu__nav-item:is(:nth-child(7), :nth-child(8), :nth-child(9)) {
    transition-delay: 0.75s;
}

.mega-menu[open] .mega-menu__nav-item {
    --tw-translate-x: 0;
    opacity: 1;
}

.mega-menu__nav .media {
    margin-block-end: var(--sp-4);
}

[data-rounded-block="round"] .mega-menu__nav .media {
    border-radius: var(--sp-2d5);
}

.mega-menu__nav ul {
    margin-block-start: var(--sp-3);
}

.mega-menu__nav ul a {
    line-height: 1.5;
}

.mega-menu__footer {
    margin-block-start: var(--sp-7);
}

.mega-menu__footer::before {
    --tw-scale-x: 0;
    content: "";
    background-color: rgb(var(--color-foreground));
    position: absolute;
    height: 1px;
    inset-inline: 0;
    inset-block-start: 0;
    transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform-origin: center var(--transform-origin-start);
    transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-delay: 0.5s;
}

.no-js .mega-menu__footer::before,
.mega-menu[open] .mega-menu__footer::before {
    --tw-scale-x: 1;
}

.mega-menu__footer .mega-menu__link {
    padding-block-start: var(--sp-3);
}

@media screen and (min-width: 1280px) {
    .mega-menu__footer .mega-menu__link {
        padding-block-start: var(--sp-5);
        padding-block-end: var(--sp-4);
    }
}

@media (prefers-reduced-motion: reduce) {
    .mega-menu__container {
        --tw-translate-y: 0;
        opacity: 0;
        transition: var(--animation-nav);
        transition-property: opacity, padding;
    }

    .mega-menu[open] .mega-menu__container {
        opacity: 1;
    }

    .mega-menu__item,
    .media-card__text {
        --tw-translate-y: 0;
        --tw-translate-x: 0;
        opacity: 1;
    }

    .mega-menu__nav-item {
        --tw-translate-x: 0;
        opacity: 1;
    }

    .mega-menu__footer::before {
        --tw-scale-x: 1;
    }
}

.mega-menu__list--tabs {
    --nav-tabs-gap: var(--header-nav-gap);
    --nav-tabs-width: min(230px, 25vw);
    --nav-promo-width: min(260px, 25vw);
    gap: var(--nav-tabs-gap);
}

.mega-menu__item--panels {
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    max-width: calc(100% - var(--nav-tabs-width) - var(--nav-tabs-gap));
}

.mega-menu__panel {
    gap: var(--nav-tabs-gap);
}

.mega-menu__panel .product-grid {
    display: flex;
}

.mega-menu__panel .product-card {
    width: 100%;
    max-width: calc(50% - var(--card-grid-gap) / 2);
}

.mega-menu__panel .product-card:is(:nth-child(3), :nth-child(4)) {
    display: none;
}

.mega-menu__panel.without-promo .product-card:nth-child(3) {
    display: flex;
}

.mega-menu__panel .media-card {
    flex: 0 0 auto;
    width: var(--nav-promo-width);
}

.mega-menu__panel .media-card__text {
    --tw-translate-y: 0;
    --tw-translate-x: 0;
    opacity: 1;
}

.mega-menu__panel .mega-menu__link {
    gap: var(--sp-4);
}

@media screen and (pointer: fine) {
    .mega-menu__link .icon {
        transition: transform var(--animation-primary);
    }

    .mega-menu__link:hover .icon {
        --tw-rotate: calc(90deg * var(--transform-logical));
    }
}

.mega-menu__item--tabs {
    flex: 0 0 auto;
    max-width: var(--nav-tabs-width);
}

.mega-menu__item--tabs .mega-menu__footer {
    margin-block-start: auto;
}

.mega-menu__nav--tabs.grid {
    gap: var(--sp-1d5);
    grid-template: unset;
    grid-auto-flow: unset;
}

.mega-menu__nav--tabs .media {
    margin-block-end: 0;
}

.mega-menu__nav--tabs .mega-menu__nav-item {
    gap: var(--sp-2);
}

.mega-menu__nav--tabs .mega-menu__nav-item :is(.media, .heading) {
    opacity: 0.5;
}

.mega-menu__nav--tabs .mega-menu__nav-item[disabled] {
    pointer-events: none;
}

.mega-menu__nav--tabs .mega-menu__nav-item[disabled] :is(.media, .heading) {
    opacity: 1;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(1) {
    transition-delay: 0.5s;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(2) {
    transition-delay: 0.6s;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(3) {
    transition-delay: 0.7s;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(4) {
    transition-delay: 0.8s;
}

.mega-menu[open] .mega-menu__nav--tabs .mega-menu__nav-item:nth-child(5) {
    transition-delay: 0.9s;
}

@media screen and (min-width: 1280px) {
    .mega-menu__panel .product-card {
        flex: calc(33.33% - var(--card-grid-gap) * 2 / 3);
        max-width: calc(33.33% - var(--card-grid-gap) * 2 / 3);
    }

    .mega-menu__panel .product-card:nth-child(3) {
        display: flex;
    }

    .mega-menu__panel.without-promo .product-card {
        flex: calc(25% - var(--card-grid-gap) * 3 / 4);
    }

    .mega-menu__panel.without-promo .product-card:nth-child(4) {
        display: flex;
    }
}

@media screen and (min-width: 1536px) {
    .mega-menu__list--tabs {
        --nav-tabs-gap: var(--grid-gap);
        --nav-tabs-width: min(320px, 25vw);
        --nav-promo-width: min(340px, 25vw);
    }
}

@media screen and (min-width: 1920px) {
    .mega-menu__list--tabs {
        --nav-tabs-width: min(340px, 25vw);
        --nav-promo-width: min(430px, 25vw);
    }

    .mega-menu__panel .product-card {
        flex: calc(25% - var(--card-grid-gap) * 3 / 4);
    }

    .mega-menu__panel .product-card:nth-child(4) {
        display: flex;
    }
}

@media screen and (min-width: 768px) {
    .has-modal-opening .footer-group,
    .has-modal-open .footer-group {
        padding-inline-end: var(--scrollbar-width);
    }
}

.js .footer-group .section--rounded::before {
    inset-block-start: auto;
    inset-block-end: 0;
    border-start-end-radius: 0;
    border-start-start-radius: 0;
    background:#1f1f1f;
}

.js .footer-overlay {
    opacity: 0.8;
    height: var(--section-padding-top);
    background-image: linear-gradient(
            to bottom,
            rgb(var(--color-background)),
            rgb(var(--color-background) / 0)
    );
    inset-block-start: calc(-1 * var(--border-radius));
}

.footer {
    color: rgb(var(--color-foreground));
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media screen and (min-width: 1280px) {
    .footer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer--no-info {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    .footer--inverted {
        grid-template-columns: minmax(0, 0.6fr) minmax(0, 1.4fr);
    }
}

/* @media screen and (min-width: 768px) {
  .footer__left {
    gap: clamp(var(--sp-20), 8.421vw, var(--sp-40));
  }
}

@media screen and (min-width: 1280px) {
  .footer__left {
    border-inline-end: 1px solid rgb(var(--color-foreground)/ 0.115);
  }

  .footer--inverted .footer__left {
    border-inline-end: 0;
    border-inline-start: 1px solid rgb(var(--color-foreground)/ 0.115);
    padding-inline-start: clamp(var(--sp-10), 4vw, var(--sp-40));
  }

  .footer--inverted .footer__right {
    order: -1;
    padding-inline-start: 0;
  }
} */

.footer__right .footer__logo {
    margin-block-end: var(--sp-6d5);
}

.footer__logo img {
    max-width: calc(var(--image-width) * 0.75);
    max-height: calc(var(--image-height) * 0.75);
}

footer .store-info-content {
    display: flex;
    gap: 10px;
}

footer .store-info-content .store-info-icon {
    max-width: 20px;
    max-height: 20px;
    margin-top: 3px;
}

@media screen and (min-width: 1024px) {
    .footer__logo img {
        max-width: var(--image-width);
        max-height: var(--image-height);
    }
}

.footer__accordions {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: start;
    column-gap: 1rem;
    row-gap: 2.5rem;
    flex-wrap: wrap;
    width: 100%;
}

.footer__accordions .details {
    padding-inline: var(--sp-5);
    width: auto !important;
    min-width: fit-content;
    max-width: fit-content;
    flex: auto;
}

.footer__right {
    padding-bottom: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: start;
    column-gap: 1rem;
    row-gap: 1.5rem;
}

@media screen and (max-width: 767px) {
    .footer__right {
        justify-content: center;
    }

    .footer__newsletter,
    .footer__socials {
        margin: auto;
        text-align: center;
    }

    .footer__accordions {
        flex-direction: column;
        gap: 0;
    }

    .footer__accordions .details {
        border: 0 solid rgb(var(--color-foreground) / 0.115);
        border-block-start-width: 1px;
        border-inline-end-width: 1px;
        border-inline-start-width: 1px;
        min-width: calc(100% - var(--sp-5) * 2) !important;
    }

    .footer__accordions .details:last-child {
        border-block-end-width: 1px;
    }
}

@media screen and (min-width: 768px) {
    .footer__accordions .details {
        border-width: 0;
        padding-inline: 0;
    }
}

@media screen and (max-width: 767px) {
    .footer__accordions .no-details {
        order: 13;
        margin-block-start: var(--sp-7);
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .footer__accordions .details {
        width: calc(33.33% - var(--sp-12) * 4 / 5);
    }

    .footer__accordions .no-details {
        width: calc(50% - var(--sp-12)2 / 3);
    }
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
    .footer__accordions .no-details {
        width: calc(33.33% - var(--sp-12) * 3 / 4);
    }
}

.footer__accordions .details .details__summary {
    padding-block: var(--sp-5);
}

@media screen and (min-width: 768px) {
    .footer__accordions .details .details__summary {
        padding-block-start: 0;
    }

    .js .footer__accordions .details .details__summary {
        pointer-events: none;
    }

    .js .footer__accordions .details .details__summary svg {
        display: none;
    }
}

@media (max-width: 480px) {
    footer .store-info-content .store-info-icon {
        max-width: 18px;
        max-height: 18px;
        margin-top: 0;
    }

    footer .details__content a,
    footer .details__content p {
        font-size: 18px;
    }
}

.footer__accordions .details__summary + .details__content::before {
    content: "";
    display: block;
    pointer-events: none;
    padding-block-start: var(--sp-2);
}

.footer__accordions .details:first-of-type {
    border-block-end-width: 0;
}

[data-rounded-block="round"] .footer__accordions .details:first-of-type {
    border-start-end-radius: var(--sp-2);
    border-start-start-radius: var(--sp-2);
}

@media screen and (min-width: 768px) {
    .footer__accordions .details:first-of-type {
        border-radius: 0;
    }
}

.footer__accordions .details:last-of-type {
    border-block-end-width: 1px;
}

[data-rounded-block="round"] .footer__accordions .details:last-of-type {
    border-end-end-radius: var(--sp-2);
    border-end-start-radius: var(--sp-2);
}

@media screen and (min-width: 768px) {
    .footer__accordions .details:last-of-type {
        border-block-end-width: 0;
        border-radius: 0;
    }
}

.footer__accordions .details:last-of-type .details__content::after {
    content: "";
    display: block;
    padding-block-end: var(--sp-7);
}

.footer__contact {
    font-size: clamp(var(--text-xl), 1.578vw, var(--text-3xl));
}

/* .footer__right {
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-content: space-between;
  border-block-start: 1px solid rgb(var(--color-foreground)/ 0.115);
  margin-block-start: var(--sp-10);
  padding-block-start: var(--sp-14)
}

@media screen and (min-width: 768px) {
  .footer__right {
    grid-template-columns: repeat(5, minmax(0, 1fr))
  }
}

@media screen and (min-width: 1280px) {
  .footer__right {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    column-gap: 0;
    border-block-start-width: 0;
    margin-block-start: 0;
    padding-block: 0;
    padding-inline: clamp(var(--sp-10), 4vw, var(--sp-40));
  }
} */
.footer__section-newsletter--form {
    width: 100%;
}

.footer__section-newsletter--form .footer__section-newsletter--form-heading {
    display: flex;
    gap: 1rem;
}

.footer__section-newsletter--form .newsletter_icon {
    max-width: 48px;
    max-height: 48px;
    margin-top: -6px;
}

.footer__section-newsletter--form .newsletter_title {
    font-size: 16px;
    line-height: 100%;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.footer__section-newsletter--form .newsletter_description {
    font-size: 14px;
}

.footer__section-newsletter--form .klaviyo-form {
    background-color: transparent !important;
    max-width: 464px !important;
}

.footer__section-newsletter--form
.klaviyo-form
[data-testid="form-component"]
> button,
.footer__section-newsletter--form .klaviyo-form input[type="email"],
.footer__section-newsletter--form
.klaviyo-form
[data-testid="form-component"]:nth-child(2)
> div
> div {
    font-family: var(--font-body-family) !important;
    background: transparent !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    transition: all 400ms ease-in-out;
}

.footer__section-newsletter--form .klaviyo-form input[type="email"]:hover,
.footer__section-newsletter--form
.klaviyo-form
[data-testid="form-component"]:nth-child(2)
> div
> div:hover {
    border-color: #fff !important;
}

.footer__section-newsletter--form
.klaviyo-form
input[type="email"]:is(
    :hover,
    :focus,
    :active,
    :focus-visible,
    :focus-within
  ),
.footer__section-newsletter--form
.klaviyo-form
[data-testid="form-component"]:nth-child(2)
> div
> div:is(:hover, :focus, :active, :focus-visible, :focus-within) {
    outline-width: 0 !important;
}

.footer__section-newsletter--form .klaviyo-form input::placeholder {
    color: #ddd !important;
    opacity: 1 !important;
}

@media (max-width: 767px) {
    .footer__section-newsletter--form,
    .footer__section-newsletter--form .klaviyo-form {
        margin: auto;
    }

    .footer__section-newsletter--form .footer__section-newsletter--form-heading {
        justify-content: center;
    }

    .footer__section-newsletter--form [data-testid="form-row"] {
        flex-direction: column !important;
    }

    .footer__section-newsletter--form [component="[object Object]"] {
        flex: none !important;
    }

    .footer__section-newsletter--form [component="[object Object]"]:nth-child(2) {
        padding-left: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 15px !important;
    }
}

.follow-on-shop {
    grid-column: span 2 / span 2;
}

.social_platform::before {
    content: "";
    position: absolute;
    inset: calc(var(--sp-2d5) * -1);
}

/* .footer__socials {
  align-self: flex-end;
  grid-column: span 2/span 2
}

.footer__newsletter {
  grid-column: span 3/span 3
} */

@media screen and (min-width: 768px) {
    .footer__newsletter .md\:title-sm {
        font-size: var(--fluid-base-to-2xl);
    }

    .footer__newsletter .md\:title-md {
        font-size: var(--fluid-2xl-to-4xl);
    }

    .footer__newsletter .md\:title-lg {
        font-size: var(--title-sm);
    }

    .footer__newsletter .md\:title-xl {
        font-size: var(--title-md);
    }
}

.newsletter-form {
    max-width: 28rem;
}

.newsletter-form .alert {
    border-radius: var(--rounded-full);
}

.newsletter-form .field .input {
    box-shadow: none;
    background-color: rgb(var(--color-foreground) / 0.045);
    color: rgb(var(--color-foreground));
}

.newsletter-form .field .input:focus {
    background-color: rgb(var(--color-foreground) / 0.115);
}

.newsletter-form .field .input:-webkit-autofill {
    transition: background-color 9999s;
    -webkit-text-fill-color: rgb(var(--color-foreground));
}

.text-left .newsletter-form {
    margin-inline-start: unset;
    margin-inline-end: auto;
}

.text-center .newsletter-form {
    margin-inline: auto;
}

.text-right .newsletter-form {
    margin-inline-end: unset;
    margin-inline-start: auto;
}

@media screen and (min-width: 768px) {
    .md\:text-left .newsletter-form {
        margin-inline-start: unset;
        margin-inline-end: auto;
    }

    .md\:text-center .newsletter-form {
        margin-inline: auto;
    }

    .md\:text-right .newsletter-form {
        margin-inline-end: unset;
        margin-inline-start: auto;
    }
}

/*! footer-copyright */

.footer-copyright {
    --color-button-text: var(--color-background);
    --color-button-border: var(--color-foreground);
    --color-button-background: var(--color-foreground);
    font-size: var(--text-2sm);
    color: rgb(var(--color-foreground));
    padding-block: clamp(var(--sp-7), 1.789vw, var(--sp-8d5));
}

@media screen and (min-width: 1024px) {
    .footer-copyright {
        font-size: var(--text-sm);
    }
}

.footer-copyright .credits {
    order: 3;
}

.footer-copyright .credits {
    order: 1;
    text-align: start;
    display: flex;
    align-items: center;
    gap: 0;
    justify-content: center;
    text-align: center;
    margin: auto;
}

/* @media screen and (min-width: 1024px) {
  .footer-copyright .credits {
    order: 1;
    text-align: start
  }
} */

.footer-copyright .credits ul {
    margin-block-start: 0;
    margin-block-end: 0;
    padding-inline-start: 0;
    list-style: none;
    column-gap: 0;
    row-gap: 0.7rem;
}

.footer-copyright .credits li {
    margin-block-start: 0;
    padding-inline-start: 0;
}

.footer-copyright .credits li {
    padding-left: 1rem;
    margin-left: 1rem;
    border-left: 1px solid #dfdedc;
}

@media (max-width: 1023px) {
    .footer-copyright .credits {
        flex-direction: column;
        gap: 1.5rem;
    }

    .footer-copyright .credits li:first-child {
        padding-left: 0;
        margin-left: 0;
        border-left: none;
    }
}

.footer-copyright .localization {
    gap: clamp(var(--sp-2), 0.842vw, var(--sp-4));
    order: 1;
}

@media screen and (min-width: 1024px) {
    .footer-copyright .localization {
        order: 2;
    }
}

.footer-copyright .localization__form .icon {
    inset-inline-start: var(--sp-5);
}

.footer-copyright .localization__form .icon ~ .icon {
    inset-inline-start: auto;
    inset-inline-end: var(--sp-5);
}

.footer-copyright .localization__item {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid rgb(var(--color-foreground) / 0.115);
    background-color: transparent;
    padding-block: var(--sp-3d5);
    padding-inline: var(--sp-12);
    border-radius: var(--buttons-radius);
}

.footer-copyright .localization__item option {
    color: rgb(var(--color-base-text));
    background-color: rgb(var(--color-base-background));
}

.footer-copyright .payment-icons {
    order: 2;
}

@media screen and (min-width: 1024px) {
    .footer-copyright .payment-icons {
        order: 3;
    }
}

.footer-copyright .payment-icons svg {
    width: var(--sp-8);
}

@media screen and (min-width: 1280px) {
    .footer-copyright .payment-icons svg {
        width: var(--sp-10);
    }
}

.footer-copyright .payment-icons--gray svg {
    filter: grayscale(1);
}

/*! breadcrumb */

.breadcrumb {
    font-size: 0;
}

.breadcrumb ul {
    font-size: clamp(var(--text-2sm), 1.2vw, var(--text-base));
}

.breadcrumb :is(ul, li) {
    gap: clamp(var(--sp-3), 0.947vw, var(--sp-4d5));
}

.breadcrumb li + li::before {
    --tw-translate-y: 5%;
    --tw-rotate: 25deg;
    content: "";
    width: 1px;
    height: 60%;
    background-color: rgb(var(--color-border));
    transform: translateY(var(--tw-translate-y)) rotate(var(--tw-rotate));
}

.breadcrumb .icon {
    width: clamp(1rem, 3vw, 1.25rem);
    height: clamp(1rem, 3vw, 1.25rem);
    transition: fill var(--animation-fast);
}

@media screen and (pointer: fine) {
    .breadcrumb a:hover .icon {
        fill: currentColor;
    }
}

/*! marquee */

@keyframes scrolling-left {
    0% {
        transform: translate3d(calc(-100% * var(--transform-logical)), 0, 0);
        visibility: visible;
    }

    100% {
        transform: translate3d(calc(-200% * var(--transform-logical)), 0, 0);
    }
}

@keyframes scrolling-right {
    0% {
        transform: translate3d(calc(-200% * var(--transform-logical)), 0, 0);
        visibility: visible;
    }

    100% {
        transform: translate3d(calc(-100% * var(--transform-logical)), 0, 0);
    }
}

.marquee.animate {
    animation-name: scrolling-left;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-duration: var(--duration);
    animation-play-state: running;
    width: max-content;
}

@media (prefers-reduced-motion: reduce) {
    .marquee.animate {
        animation: none;
    }
}

/*! scrolling-text */

.no-js .scrolling-text {
    justify-content: center;
}

.scrolling-text {
    --grid-gap: calc(var(--section-grid-gap) / 2);
}

.scrolling-text .marquee {
    padding-inline: calc(var(--grid-gap) / 2);
}

.scrolling-text .marquee,
.scrolling-text__item {
    gap: var(--grid-gap);
}

.scrolling-text--right .marquee.animate {
    animation-name: scrolling-right;
}

@media (prefers-reduced-motion: reduce) {
    .scrolling-text--right .marquee.animate {
        animation: none;
    }
}

.marquee.with-dot .scrolling-text__item:first-child::before,
.scrolling-text__item.with-text + .scrolling-text__item.with-text::before {
    content: "";
    display: block;
    width: var(--sp-5);
    height: var(--sp-5);
    border: 1px solid currentColor;
    border-radius: var(--rounded-full);
}

.scrolling-text__item.with-text {
    font-size: max(12px, calc(var(--font-size) * 0.6));
}

.scrolling-text__item.with-media > :is(img, svg) {
    max-width: 100%;
    width: auto;
    height: calc(var(--image-height) * 0.75);
}

@media screen and (pointer: fine) {
    .scrolling-wrapper:hover .marquee,
    .scrolling-text:hover .marquee {
        animation-play-state: paused;
    }
}

.scrolling-text.paused .marquee {
    animation-play-state: paused;
}

@media screen and (min-width: 1024px) {
    .scrolling-text {
        --grid-gap: var(--section-grid-gap);
    }

    .scrolling-text__item.with-text {
        font-size: calc(var(--font-size) * 0.75);
    }

    .scrolling-text__item.with-media > :is(img, svg) {
        height: var(--image-height);
    }
}

@media screen and (min-width: 1280px) {
    .scrolling-text__item.with-text {
        font-size: var(--font-size);
    }
}

.scrolling-wrapper {
    --logical: -1;
    padding-block-start: calc(var(--section-padding-top) * 0.75);
    padding-block-end: calc(var(--section-padding-bottom) * 0.75);
    transform: rotate(calc(357deg * var(--logical) * var(--transform-logical)));
}

.scrolling-wrapper.with-right {
    --logical: 1;
}

.scrolling-wrapper::before {
    content: "";
    z-index: -1;
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: -5%;
    width: 110%;
    height: 100%;
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
}

.scrolling-wrapper + .scrolling-wrapper {
    margin-block-start: -1%;
    transform: rotate(calc(3deg * var(--logical) * var(--transform-logical)));
    filter: grayscale(1);
    opacity: 0.25;
}

.scrolling-text-section {
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .scrolling-text-section {
        overflow: unset;
    }

    .scrolling-wrapper {
        padding-block-start: var(--section-padding-top);
        padding-block-end: var(--section-padding-bottom);
    }
}

@supports (overflow: clip) {
    .scrolling-text-section {
        overflow-x: clip;
        overflow-y: visible;
    }
}

/*! logo-list */

.logo-list,
.logo-bar {
    --grid-gap: calc(var(--section-grid-gap) / 2);
}

.logo-bar {
    column-gap: var(--grid-gap);
    row-gap: calc(var(--grid-gap) / 2);
}

.logo-list .logo-bar {
    flex: 0 0 auto;
    width: max-content;
    margin-inline-end: var(--grid-gap);
}

.logo-list .flickity-viewport {
    flex: 1 1 auto;
}

.logo__media > :is(img, svg) {
    max-width: 100%;
    width: auto;
    height: calc(var(--image-height) * 0.75);
}

@media screen and (min-width: 1024px) {
    .logo-list,
    .logo-bar {
        --grid-gap: var(--section-grid-gap);
    }

    .logo__media > :is(img, svg) {
        height: var(--image-height);
    }
}

.touch .logo-list .logo-bar {
    margin-inline-end: 0;
    padding-inline: calc(var(--grid-gap) / 2);
}

.touch .logo-bar.animate {
    animation-name: scrolling-left;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-duration: var(--duration);
    animation-play-state: running;
    width: max-content;
}

@media (prefers-reduced-motion: reduce) {
    .touch .logo-bar.animate {
        animation: none;
    }
}

.touch .logo-list--right .logo-bar.animate {
    animation-name: scrolling-right;
}

@media (prefers-reduced-motion: reduce) {
    .touch .logo-list--right .logo-bar.animate {
        animation: none;
    }
}

/*! banner */

.text-left .split-words {
    justify-content: flex-start;
}

.text-center .split-words {
    justify-content: center;
}

.text-right .split-words {
    justify-content: flex-end;
}

@media screen and (min-width: 768px) {
    .md\:text-left .split-words {
        justify-content: flex-start;
    }

    .md\:text-center .split-words {
        justify-content: center;
    }

    .md\:text-right .split-words {
        justify-content: flex-end;
    }
}

@media screen and (min-width: 1024px) {
    .lg\:text-left .split-words {
        justify-content: flex-start;
    }

    .lg\:text-center .split-words {
        justify-content: center;
    }

    .lg\:text-right .split-words {
        justify-content: flex-end;
    }
}

.split-words .word {
    display: inline-flex;
    line-height: 1;
    margin: -0.1em -0.05em;
    overflow: hidden;
    white-space: nowrap;
    padding: 0.15em 0.05em;
    letter-spacing: initial;
}

[lang="en"] .split-words .word {
    padding-block: 0.08em;
}

.subtext-sm {
    font-size: var(--fluid-sm-to-base);
}

.subtext-md {
    font-size: clamp(var(--text-base), 1.052vw, var(--text-xl));
}

.subtext-lg {
    font-size: var(--fluid-base-to-xl);
}

.subtext-xl {
    font-size: var(--fluid-base-to-2xl);
}

.subtext-custom {
    line-height: var(--subtext-line-height);
    letter-spacing: var(--subtext-letter-spacing);
    text-transform: var(--subtext-text-transform);
    font-size: calc(var(--subtext-size) * 0.75);
}

@media screen and (min-width: 768px) {
    .subtext-custom {
        font-size: var(--subtext-size);
    }
}

.subtitle-sm {
    font-size: var(--fluid-xs-to-sm);
}

.subtitle-md {
    font-size: clamp(var(--text-sm), 0.947vw, var(--text-lg));
}

.subtitle-lg {
    font-size: var(--fluid-base-to-xl);
}

.subtitle-custom {
    font-size: calc(var(--subtitle-size) * 0.75);
}

@media screen and (min-width: 768px) {
    .subtitle-custom {
        font-size: var(--subtitle-size);
    }
}

.banner__text--colored {
    color: rgb(var(--color-highlight));
}

.banner {
    color: rgb(var(--color-foreground));
}

.banner__overlay {
    z-index: 0;
    background-color: rgb(var(--color-overlay) / var(--overlay-opacity));
}

.banner__overlay ~ .banner__content {
    --color-background: var(--color-overlay);
}

.banner__content .media--transparent.loading {
    background-color: transparent;
}

.banner__media .banner__image ~ .banner__image {
    visibility: hidden;
}

@media screen and (min-width: 768px) {
    .banner__media .banner__image {
        visibility: hidden;
    }

    .banner__media .banner__image:last-child {
        visibility: visible;
    }
}

@media screen and (min-width: 1536px) {
    .page-width .banner__content > .page-width {
        padding-inline: calc(var(--grid-gap) * 2);
    }
}

.banner__media svg.banner__image {
    width: 100%;
}

.banner__box {
    word-wrap: break-word;
    height: fit-content;
    padding-block: clamp(var(--sp-10), 3.368vw, var(--sp-16));
}

@media screen and (min-width: 768px) {
    .banner__box {
        width: auto;
        min-width: 45rem;
        max-width: 64rem;
    }

    .banner__box--small,
    .banner__box--medium {
        min-width: auto;
    }

    .banner__box--small {
        max-width: 32rem;
    }

    .banner__box--medium {
        max-width: 42rem;
    }
}

@media screen and (min-width: 1280px) {
    .banner__box--small {
        max-width: 40rem;
    }

    .banner__box--medium {
        max-width: 58rem;
    }

    .banner__box--large {
        max-width: 64rem;
    }
}

@media screen and (min-width: 1920px) {
    .banner__box--medium {
        max-width: 64rem;
    }

    .banner__box--large {
        max-width: 72rem;
    }
}

.banner__box.w-full {
    width: 100%;
    max-width: 100%;
}

.banner__box > * + *:not(.spacing-section) {
    margin-block-start: var(--sp-5);
}

.banner__box > :is(.link, .button) {
    margin-inline-end: var(--sp-4);
}

.banner__title + *,
.banner__box > :last-child:is(.button, .social-icons) {
    margin-block-start: var(--sp-10);
}

.banner__box .rte :is(b, strong) {
    font-weight: var(--font-medium);
}

.banner__subheading {
    font-weight: 400;
    letter-spacing: 0.25em;
}

.banner .marquee {
    opacity: 0.025;
    pointer-events: none;
}

.js
.section:not(.section--next-rounded)
:is(.banner__overlay, .banner__map, .banner__media) {
    height: calc(100% + var(--border-radius));
}

.js
.section:not(.section--next-rounded)
.page-width
:is(.banner__overlay, .banner__map, .banner__media) {
    height: 100%;
}

[role="main"]
.shopify-section:last-child
.section
:is(.banner__overlay, .scrolled-images, .banner__map, .banner__media) {
    height: 100%;
}

[role="main"] .shopify-section:last-child .video-hero video-media .play-button {
    inset-block-end: var(--sp-5);
}

.js
.section--rounded
:is(.banner__map, .banner__media, .banner__overlay, .video-hero) {
    border-start-end-radius: var(--border-radius);
    border-start-start-radius: var(--border-radius);
}

.js
.section--rounded
.page-width
:is(.banner__map, .banner__media, .banner__overlay, .video-hero) {
    border-end-end-radius: var(--border-radius);
    border-end-start-radius: var(--border-radius);
}

@media screen and (min-width: 768px) {
    .banner.media--adapt,
    .image-with-text__image.media--adapt {
        height: 0;
        padding-block-end: var(--ratio-percent);
    }

    .banner.media--adapt .media--height > img:first-child,
    .image-with-text__image.media--adapt .media--height > img:first-child {
        position: static;
    }

    .banner.media--adapt .media--height > img:first-child ~ video,
    .image-with-text__image.media--adapt
    .media--height
    > img:first-child
    ~ video {
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
    }

    .banner.media--adapt .banner__media,
    .image-with-text__image.media--adapt > .media {
        position: absolute;
        inset: 0;
        width: 100%;
    }
}

@media screen and (min-width: 1024px) {
    .banner.media--placeholder {
        --ratio-percent: 0;
        height: 100%;
    }
}

@media screen and (max-width: 767px) {
    .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt),
    .image-with-text__image:is(
      .media--adapt.mobile\:media--auto,
      .mobile\:media--adapt
    ) {
        height: 0;
        padding-block-end: var(--ratio-percent);
    }

    .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt)
    .media--height
    > img,
    .image-with-text__image:is(
      .media--adapt.mobile\:media--auto,
      .mobile\:media--adapt
    )
    .media--height
    > img {
        position: static;
    }

    .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt)
    .media--height
    > img:first-child
    ~ video,
    .image-with-text__image:is(
      .media--adapt.mobile\:media--auto,
      .mobile\:media--adapt
    )
    .media--height
    > img
    ~ video {
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
    }

    .banner:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt)
    .banner__media,
    .image-with-text__image:is(
      .media--adapt.mobile\:media--auto,
      .mobile\:media--adapt
    )
    > .media {
        position: absolute;
        inset: 0;
        width: 100%;
    }
}

/*! map */

.banner table {
    width: 100%;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.banner table tr {
    border: none;
}

.banner table td {
    border: none;
    padding: 0;
    padding-block-end: var(--sp-1d5);
    font-size: inherit;
    text-align: start;
}

.banner table td:last-child {
    text-align: end;
}

.banner.with-map .alert {
    margin-inline: var(--gap-padding);
    margin-block-end: var(--sp-4);
}

.page-width .banner.with-map .alert {
    margin-inline: 0;
}

.banner.with-map .banner__content > .page-width {
    padding-block: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

.banner.with-map .help-list {
    overflow-x: hidden;
    overflow-y: auto;
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    scrollbar-color: auto;
    scrollbar-width: none;
}

.banner.with-map .help-list::-webkit-scrollbar {
    display: none;
}

.banner.with-map .help-list__item {
    box-shadow: inset 0 0 0 1px rgb(var(--color-border));
    transition: var(--animation-primary);
    transition-property: box-shadow, background-color;
}

.banner.with-map .help-list__item.active {
    cursor: unset;
    box-shadow: none;
    background-color: rgb(var(--color-foreground) / 0.025);
}

.banner.with-map .help-list__item address + .button {
    --shadow-opacity: 0;
    --border-opacity: 0.1;
    --buttons-border-width: 1px;
    --buttons-radius: var(--rounded-full);
    padding: 0;
    width: var(--sp-6d5);
    height: var(--sp-6d5);
}

.banner.with-map .help-list__item summary::-webkit-details-marker {
    display: none;
}

.banner.with-map .drawer__scrollable {
    padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

.banner.with-map .drawer__scrollable .banner__box {
    padding: 0;
    max-height: unset;
}

.banner.with-map .drawer__scrollable .banner__box + p {
    margin-block-start: var(--sp-10);
}

.banner.with-map .banner__box {
    min-width: unset;
    max-width: 100%;
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
    padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
    border-radius: var(--rounded-block);
}

.banner.with-map .banner__subheading {
    border-block-end: 1px solid rgb(var(--color-border));
    margin-block-start: var(--sp-6);
    padding-block-end: var(--sp-3);
    letter-spacing: 0.15em;
}

@media screen and (min-width: 768px) {
    .banner.with-map .banner__box {
        max-width: 26rem;
        max-height: 100%;
    }

    .banner.with-map .help-list {
        scrollbar-width: thin;
        padding-inline-end: clamp(var(--sp-6), 2.105vw, var(--sp-10));
        margin-inline-end: calc(clamp(var(--sp-6), 2.105vw, var(--sp-10)) * -1);
        padding-block-end: clamp(var(--sp-6), 2.105vw, var(--sp-10));
        margin-block-end: calc(clamp(var(--sp-6), 2.105vw, var(--sp-10)) * -1);
    }

    .banner.with-map .help-list::-webkit-scrollbar {
        display: initial;
        -webkit-appearance: none;
        background-clip: padding-box;
        background-color: transparent;
        border-radius: var(--rounded-full);
        width: var(--sp-1d5);
    }

    .banner.with-map .help-list::-webkit-scrollbar-thumb {
        background-clip: padding-box;
        background-color: rgb(var(--color-foreground) / 0.2);
        border-radius: var(--rounded-full);
    }
}

@media screen and (max-width: 767px) {
    .mobile\:banner--image_first.with-map .help-list {
        max-height: min(60vh, 25rem);
    }

    .mobile\:banner--image_first.with-map .drawer__submenu {
        border: 1px solid rgb(var(--color-border));
        border-radius: var(--rounded-block);
    }

    .mobile\:banner--image_first.with-map .banner__content {
        z-index: auto;
        position: relative;
        padding-block-start: var(--sp-10);
        background: var(--gradient-background);
        background-color: rgb(var(--color-background));
    }

    .js .section--rounded .mobile\:banner--image_first.with-map .banner__content {
        border-start-end-radius: var(--border-radius);
        border-start-start-radius: var(--border-radius);
    }

    .mobile\:banner--image_first.with-map .banner__box {
        width: 100%;
        padding: 0;
        background: none;
        border-radius: 0;
    }

    .mobile\:banner--text_overlay.with-map .banner__box {
        max-height: 100%;
    }
}

.no-js .banner.with-map .banner__media {
    opacity: 1;
}

.no-js .banner.with-map .banner__map {
    display: none;
}

/*! scrolled-images */

.js .scrolled-images {
    height: calc(100% + var(--border-radius));
}

[data-rounded-block="round"] .scrolled-images {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.scrolled-images svg.placeholder {
    background-color: rgb(var(--color-foreground) / 0.3);
    fill: rgb(var(--color-foreground));
    color: rgb(var(--color-foreground));
}

.scrolled-images__main {
    --tiles-height: 52vw;
    --tileswrap-height: calc(var(--tiles-height) * 3.5);
    transform: translate(calc(-50% * var(--transform-logical)), -50%) rotate(calc(50deg * var(--transform-logical)));
    inset-inline-start: 55%;
    height: var(--tileswrap-height);
}

@media screen and (min-width: 768px) {
    .scrolled-images__main {
        --tileswrap-height: calc(var(--tiles-height) * 2);
        inset-block-start: 20%;
        inset-inline-start: 60%;
    }
}

@media screen and (min-width: 1024px) {
    .scrolled-images__main {
        --tileswrap-height: calc(var(--tiles-height) * 1.8);
        inset-block-start: 50%;
    }
}

.scrolled-images__row {
    display: flex;
}

.scrolled-images__row:first-child {
    opacity: 0.3;
}

.scrolled-images__row:nth-child(2) {
    opacity: 0.2;
}

.scrolled-images__row:nth-child(3) {
    opacity: 0.1;
}

.scrolled-images__item {
    --tile-margin: 1vw;
    background-position: 50% 50%;
    background-size: cover;
    flex: none;
    transform: rotate(calc(-90deg * var(--transform-logical)));
    margin: var(--tile-margin);
    height: calc(var(--tileswrap-height) / 4 - var(--tile-margin) * 4 / 2);
    width: calc(var(--tileswrap-height) / 4 - var(--tile-margin) * 4 / 2);
}

[data-rounded-block="round"] .scrolled-images__item {
    border-radius: 1rem;
}

.facets__scroll {
    height: fit-content;
}

.collection__description {
    margin-block-end: clamp(var(--sp-10), 2.526vw, var(--sp-12));
}

.facet-wrapper > .button,
.sort-wrapper > .button {
    height: clamp(var(--sp-14), 3vw, var(--sp-15));
    text-transform: none;
}

.facet-wrapper {
    padding-inline-end: clamp(1rem, 2vw, 2.3rem);
}

.facet-wrapper .count {
    width: var(--sp-6);
    height: var(--sp-6);
    color: rgb(var(--color-button-text));
    background-color: rgb(var(--color-button-background));
    transition: var(--animation-primary) 0.1s;
    transition-property: color, background-color;
}

@media screen and (pointer: fine) {
    .facet-wrapper .button:hover .count {
        color: rgb(var(--color-button-background));
        background-color: rgb(var(--color-button-text));
    }
}

.facet-wrapper > .button[is="filters-toggle"][aria-expanded="false"] .btn-text,
.facet-wrapper
> .button[is="filters-toggle"][aria-expanded="true"]
.btn-duplicate {
    display: none;
}

.facet-wrapper
> .button[is="filters-toggle"][aria-expanded="false"]
.btn-duplicate {
    display: flex;
}

.collection__content {
    --facets-width: clamp(300px, 20vw, 390px);
    --facets-gap: var(--grid-gap);
    gap: var(--facets-gap);
}

@media screen and (min-width: 1280px) {
    .collection__content {
        margin-block-start: clamp(var(--sp-4), 2.947vw, var(--sp-14));
    }

    .collection__content #FacetFiltersContainer {
        flex: var(--facets-width) 0 0;
    }
}

.with-drawer .collection__content {
    --facets-width: 0px;
    --facets-gap: 0px;
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.facet-sorting {
    margin-inline-start: auto;
}

/*! empty-state */

.empty-state {
    margin-block: var(--sp-12);
}

@media screen and (min-width: 768px) {
    .empty-state {
        margin-block: var(--sp-32);
    }
}

.empty-state p.heading {
    font-size: clamp(var(--sp-5), 1.4063rem + 0.5vw, var(--sp-8));
}

.empty-state .button {
    margin-inline: auto;
    width: auto;
}

.empty-state .icon-xxxl {
    width: var(--sp-15);
    height: var(--sp-15);
}

.empty-state .icon-xxxs {
    width: var(--sp-3d5);
    height: var(--sp-3d5);
}

/*! facet-drawer */

.facet-drawer .facet-form {
    padding-block-end: var(--sp-7);
    border-block-end: 1px solid rgb(var(--color-border));
}

.facet-drawer .drawer__scrollable {
    padding-block-end: 0;
}

.facet-drawer facet-count::before {
    content: "(";
}

.facet-drawer facet-count::after {
    content: ")";
}

/*! subcollections */

.subcollections li + li::before {
    --tw-translate-y: 5%;
    --tw-rotate: 25deg;
    content: "";
    background-color: currentColor;
    height: 40%;
    width: 1px;
    inset-block-start: 30%;
    inset-inline-start: 0;
    opacity: 0.3;
    position: absolute;
    transform: translateY(var(--tw-translate-y)) rotate(var(--tw-rotate));
}

.subcollections li:first-child .subcollection {
    padding-inline-start: 0;
}

.subcollection {
    font-weight: var(--font-medium);
    height: var(--sp-10);
    opacity: 0.3;
    padding-inline: clamp(var(--sp-5), 1.368vw, var(--sp-6d5));
    transition: opacity var(--animation-primary);
}

.subcollection .btn-text {
    height: auto;
}

.subcollection .btn-text::after {
    --tw-translate-x: -50%;
    --tw-translate-y: -50%;
    --tw-scale-x: 0;
    content: "";
    background-color: currentColor;
    display: block;
    height: 2px;
    width: 100%;
    inset-block-end: -0.15em;
    inset-inline-start: 50%;
    position: absolute;
    transform: translate(
            calc(var(--tw-translate-x) * var(--transform-logical)),
            var(--tw-translate-y)
    ) scaleX(var(--tw-scale-x));
    transition: transform var(--animation-fast);
}

.active .subcollection {
    opacity: 1;
}

.active .subcollection .btn-text::after {
    --tw-scale-x: 1;
}

@media screen and (pointer: fine) {
    .subcollection.with-thumbnail .btn-text::before {
        --tw-scale-x: 0.5;
        --tw-scale-y: 0.5;
        --tw-absolute-x: calc(clamp(1rem, 1.2vw, 1.2rem) * -1);
        --tw-absolute-y: calc(clamp(2rem, 1.5vw, 2.5rem) * -1);
        content: "";
        opacity: 0;
        backdrop-filter: blur(8px);
        background-color: rgb(var(--color-background) / 0.6);
        border-radius: var(--rounded-full);
        z-index: -1;
        position: absolute;
        inset-block: var(--tw-absolute-x);
        inset-inline: var(--tw-absolute-y);
        transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transition: transform var(--animation-primary);
    }

    .subcollection:hover {
        opacity: 1;
    }

    .subcollection.with-thumbnail:hover .btn-text::before {
        --tw-scale-x: 1;
        --tw-scale-y: 1;
        opacity: 1;
    }
}

.subcollection .count {
    inset-block-start: calc(var(--sp-1) * -1);
    inset-inline-start: calc(100% + 0.2em);
}

.subcollection .btn-reveal {
    --tw-width: clamp(250px, 14vw, 350px);
    height: var(--tw-width);
    width: var(--tw-width);
    inset-block-start: 50%;
    inset-inline-start: 50%;
    margin-block-start: calc(var(--tw-width) / -2);
    margin-inline-start: calc(var(--tw-width) / -2);
    z-index: -1;
    background-position: 50% 50%;
    background-size: cover;
}

@media screen and (pointer: fine) {
    .subcollections:hover .subcollection {
        opacity: 0.3;
    }

    .subcollections:hover .subcollection .btn-text::after {
        --tw-scale-x: 0;
    }

    .subcollections .subcollection:hover {
        opacity: 1;
        z-index: 1;
    }

    .subcollections .active .subcollection:hover .btn-text::after {
        --tw-scale-x: 0;
    }
}

/*! sorting */

.sort-wrapper {
    --facet-button-width: 180px;
    --facet-listbox-height: 450px;
    min-width: 180px;
    width: calc(
            var(--facet-button-width) +
            calc(clamp(var(--sp-6d5), 1.473vw, var(--sp-7d5)) * 2) + var(--sp-5) +
            var(--sp-1d5) + calc(var(--buttons-border-width) * 2)
    );
    height: clamp(var(--sp-14), 3.263vw, var(--sp-15));
}

.sort-by {
    position: absolute;
    width: 100%;
    height: 100%;
    max-height: unset;
    inset-block-start: 0;
    inset-inline-end: 0;
}

.sort-selection,
.sort-title {
    transition: opacity var(--animation-fast);
}

.sort-title {
    inset-block-start: var(--sp-3);
}

.sort-close {
    background-color: currentColor;
    width: var(--sp-1d5);
    height: var(--sp-1d5);
    transition: width var(--animation-primary), height var(--animation-primary),
    background-color ease-in-out 0.3s;
}

.sort-close .icon {
    --tw-rotate: 0deg;
    --tw-scale-x: 0;
    --tw-scale-y: 0;
    transform: rotate(var(--tw-rotate)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transition: transform var(--animation-primary);
}

.sort-listbox {
    width: calc(
            320px - calc(clamp(var(--sp-6d5), 1.473vw, var(--sp-7d5)) * 2) -
            calc(var(--buttons-border-width) * 2)
    );
    inset-block-start: var(--sp-16);
    transition: var(--animation-primary);
    transition-property: opacity, visibility;
}

.sort-listbox li {
    transition: opacity 0.7s ease-out;
}

.sort-listbox input[type="radio"] + label {
    transition: opacity var(--animation-primary);
}

.sort-listbox input[type="radio"] + label::before {
    --tw-translate-y: -50%;
    background-color: currentColor;
    border-radius: var(--rounded-full);
    content: "";
    opacity: 0;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 0;
    width: 0;
    height: 0;
    transform: translateY(var(--tw-translate-y));
    transition: all var(--animation-primary);
}

@media screen and (pointer: fine) {
    .sort-by {
        --button-transition: box-shadow var(--animation-primary),
        width var(--animation-primary), height var(--animation-primary);
        transition: var(--animation-primary);
        transition-property: box-shadow, width, height;
    }
}

.sort-by[open] {
    --shadow-horizontal-offset: 0;
    --shadow-vertical-offset: 0;
    pointer-events: auto;
    cursor: default;
    width: 320px;
    height: calc(
            var(--facet-listbox-height) + var(--sp-10) +
            calc(clamp(var(--sp-4), 1.052vw, var(--sp-5)) * 4) +
            calc(var(--buttons-border-width) * 2)
    );
}

.sort-by[open],
.sort-by[open]::after {
    border-radius: var(--sp-8);
}

[data-rounded-button="square"] .sort-by[open],
[data-rounded-button="square"] .sort-by[open]::after {
    border-radius: 0;
}

.sort-by[open],
.sort-by[open] .btn-fill,
.sort-by[open] .btn-text {
    transform: none !important;
    display: block !important;
}

.sort-by[open] .btn-fill {
    pointer-events: none;
}

.sort-by[open] .btn-text {
    pointer-events: auto;
    align-items: flex-start;
    color: rgb(var(--color-button-text));
    width: 100%;
}

.sort-by[open] .sort-header {
    justify-content: space-between;
}

.sort-by[open] .sort-selection {
    opacity: 0;
    visibility: hidden;
}

.sort-by[open] .sort-title {
    opacity: 0.4;
}

.sort-by[open] .sort-close {
    color: rgb(var(--color-button-background));
    background-color: rgb(var(--color-button-text));
    cursor: pointer;
    height: var(--sp-10);
    width: var(--sp-10);
}

.sort-by[open] .sort-close .icon {
    --tw-rotate: -90deg;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
}

.sort-by[open] .sort-listbox,
.sort-by[open] .sort-listbox li {
    opacity: 1;
    visibility: visible;
}

.sort-by[open] .sort-listbox input[type="radio"]:checked + label {
    pointer-events: none;
    opacity: 0.4;
}

.sort-by[open] .sort-listbox input[type="radio"]:checked + label::before {
    opacity: 1;
    height: var(--sp-1d5);
    width: var(--sp-1d5);
}

.sort-by[open] .sort-listbox li:first-child {
    transition-delay: 0.06s;
}

.sort-by[open] .sort-listbox li:nth-child(2) {
    transition-delay: 0.11s;
}

.sort-by[open] .sort-listbox li:nth-child(3) {
    transition-delay: 0.16s;
}

.sort-by[open] .sort-listbox li:nth-child(4) {
    transition-delay: 0.21s;
}

.sort-by[open] .sort-listbox li:nth-child(5) {
    transition-delay: 0.26s;
}

.sort-by[open] .sort-listbox li:nth-child(6) {
    transition-delay: 0.31s;
}

.sort-by[open] .sort-listbox li:nth-child(7) {
    transition-delay: 0.36s;
}

.sort-by[open] .sort-listbox li:nth-child(8) {
    transition-delay: 0.41s;
}

.sort-by[open] .sort-listbox li:nth-child(9) {
    transition-delay: 0.46s;
}

/*! facet-sticky */

.facet-sticky {
    inset-block-end: var(--sp-5);
}

.facet-sticky .count {
    width: var(--sp-6);
    height: var(--sp-6);
    color: rgb(var(--color-button-background));
    background-color: rgb(var(--color-button-text));
    transition: var(--animation-primary) 0.1s;
    transition-property: color, background-color;
}

@media screen and (pointer: fine) {
    .facet-sticky .button:hover .count {
        color: rgb(var(--color-button-text));
        background-color: rgb(var(--color-button-background));
    }
}

.facet-drawer .select-sort-by {
    border-block-end: 0;
    padding-block-end: var(--sp-3);
}

@media screen and (min-width: 768px) {
    .facet-sticky {
        inset-block-end: var(--sp-8);
    }
}

/*! card-grid */

.card-grid {
    --card-grid-per-row: 2;
    --card-grid-template: auto-flow dense/repeat(var(--card-grid-per-row), minmax(0, 1fr));
    --card-grid-gap: var(--sp-3);
    grid: var(--card-grid-template);
    gap: var(--card-grid-gap);
}

@media screen and (max-width: 639px) {
    .mobile\:card-grid--1 {
        --card-grid-per-row: 1;
    }

    .collection .mobile\:card-grid--1 .card {
        grid-column: 1/-1;
    }
}

@media screen and (min-width: 768px) {
    .card-grid {
        --card-grid-per-row: 3;
        --card-grid-gap: clamp(var(--sp-4), 1.263vw, var(--sp-6));
    }

    .card-grid--1 {
        --card-grid-per-row: 1;
    }

    .card-grid--2 {
        --card-grid-per-row: 2;
    }
}

@media screen and (min-width: 1280px) {
    .card-grid--3 {
        --card-grid-per-row: 3;
    }

    .card-grid--4,
    .card-grid--5 {
        --card-grid-per-row: 4;
    }
}

@media screen and (min-width: 1536px) {
    .card-grid--5 {
        --card-grid-per-row: 5;
    }
}

.card-grid .media-card--overlap {
    --color-foreground: 255 255 255;
    --color-overlay: 0 0 0;
    --overlay-opacity: 0.3;
}

.card-grid .media-card__text {
    --tw-translate-x: 0;
    letter-spacing: 2px;
}

@media screen and (min-width: 1280px) {
    .collection.with-sidebar :is(.card-grid--4, .card-grid--5) {
        --card-grid-per-row: 3;
    }
}

@media screen and (min-width: 1536px) {
    .collection.with-sidebar .card-grid--5 {
        --card-grid-per-row: 4;
    }
}

/*! card-product */

.product-card {
    --shadow-horizontal-offset: var(--card-shadow-horizontal-offset);
    --shadow-vertical-offset: var(--card-shadow-vertical-offset);
    --shadow-opacity: var(--card-shadow-opacity);
    --border-opacity: var(--card-border-opacity);
    --product-card-quick-view-inset: var(--sp-4);
    background-color: rgb(var(--color-placeholder));
    border-radius: var(--card-radius);
    align-content: flex-start;
    border: var(--card-border-width) solid rgb(var(--color-foreground) / var(--border-opacity));
    box-shadow: var(--shadow-horizontal-offset) var(--shadow-vertical-offset) rgb(var(--color-shadow) / var(--shadow-opacity));
}

.product-card__media :is(.media, .flickity-viewport) {
    border-start-start-radius: var(--card-radius);
    border-start-end-radius: var(--card-radius);
}

.product-card__media video-media .deferred-poster {
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-card__media video-media .deferred-poster .play-button {
    position: static;
}

.product-card__media video-media[playing] .deferred-poster .play-button {
    opacity: 0;
}

@media screen and (pointer: fine) {
    .product-card__media:hover
    video-media[playing]
    .deferred-poster
    .play-button {
        opacity: 1;
    }

    .product-card__media video-media > img {
        --tw-scale-x: 1;
        --tw-scale-y: 1;
        transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        transition: var(--animation-primary);
        transition-property: opacity, visibility, transform;
    }

    .product-card__media:hover video-media > img {
        --tw-scale-x: 1.05;
        --tw-scale-y: 1.05;
    }
}

.product-card__rating {
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background-color: rgb(var(--color-background) / 0.75);
    padding: var(--sp-1d5) var(--sp-2d5);
    font-size: clamp(var(--text-2xs), 0.684vw, var(--text-2sm));
    inset-block-start: var(--sp-3);
    inset-inline-end: var(--sp-3);
}

.product-card__rating .icon {
    color: rgb(var(--color-rating));
    width: var(--sp-3);
    height: var(--sp-3);
}

@media screen and (min-width: 768px) {
    .product-card__rating {
        padding: var(--sp-2d5) var(--sp-4);
        inset-block-start: var(--sp-5);
        inset-inline-end: var(--sp-5);
    }

    .product-card__rating .icon {
        width: var(--sp-3d5);
        height: var(--sp-3d5);
    }
}

.product-card__content {
    --card-content-padding: clamp(var(--sp-4), 1.263vw, var(--sp-6)) clamp(var(--sp-4), 2.105vw, var(--sp-10)) clamp(var(--sp-4), 2.105vw, var(--sp-10));
    grid-template-columns: minmax(0, 1fr);
    padding: var(--card-content-padding);
}

.product-card__top {
    padding-block-end: var(--sp-2);
}

.product-card__top .caption {
    color: rgb(var(--color-foreground) / 0.6);
    font-size: clamp(var(--text-3xs), 0.579vw, var(--text-2xs));
}

.product-card__title {
    font-size: var(--font-product-size);
}

.product-card__title,
.horizontal-product__title {
    font-family: var(--font-product-family);
    font-weight: var(--font-product-weight);
    text-transform: capitalize;
}

.product-card__content.text-center .product-card__details {
    display: grid;
}

.product-card__content.text-center
:is(.price, .unit-price, .product-card__bottom) {
    justify-content: center;
}

.product-card__content.text-center .price {
    align-items: center;
    flex-direction: row;
}

.product-card__content.text-center .price__sale {
    place-self: center;
    text-decoration: line-through;
}

.product-card__content.text-right .product-card__details {
    flex-direction: row-reverse;
}

.product-card__content.text-right .product-card__bottom {
    justify-content: flex-end;
}

.product-card__content.text-right .price {
    align-items: flex-start;
}

.product-card__bottom {
    padding-block-start: var(--sp-4);
}

.product-card__bottom .color-swatch {
    --swatch-size: var(--sp-3);
}

.product-card__bottom .swatches--variant .color-swatch {
    --swatch-size: var(--sp-6);
}

@media screen and (min-width: 768px) {
    .product-card__bottom .color-swatch {
        --swatch-size: var(--sp-4);
    }

    .product-card__bottom .swatches--variant .color-swatch {
        --swatch-size: var(--sp-8);
    }
}

.product-card__icons {
    --card-content-padding-inline: clamp(var(--sp-4), 2.105vw, var(--sp-10));
    --card-content-padding-block: clamp(var(--sp-4), 1.263vw, var(--sp-6));
    padding-inline: calc(var(--card-content-padding-inline) / 2);
    padding-block: calc(var(--card-content-padding-block) / 2);
    background-color: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    overflow-y: hidden;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.product-card__icons::-webkit-scrollbar {
    height: 10px;
    width: 10px;
    display: none;
}

.product-card__icon {
    min-width: 40%;
    padding-inline: calc(var(--card-content-padding-inline) / 2);
    border-inline-start: 1px solid rgb(var(--color-border-light));
}

.product-card__icon:first-child {
    border-inline-start: 0;
}

.product-card__icon figure {
    width: var(--sp-4d5);
}

@media screen and (min-width: 768px) {
    .product-card__icons--grid {
        overflow: visible;
    }

    .product-card__icons--grid .product-card__icon {
        margin-block: 0;
        padding-block: calc(var(--card-content-padding-block) / 2);
        border-block-start: 1px solid rgb(var(--color-border-light));
    }

    .product-card__icons--grid
    .product-card__icon:is(:nth-child(1), :nth-child(2)) {
        border-block-start: 0;
    }

    .product-card__icons--grid .product-card__icon:nth-child(odd) {
        border-inline-start: 0;
    }

    .product-card__icon {
        margin-block: var(--sp-2);
    }

    .product-card__icon figure {
        width: var(--sp-6);
    }
}

@media screen and (max-width: 639px) {
    .mobile\:card-grid--2 .product-card__icon {
        min-width: 60%;
    }
}

.product-card__spec {
    --card-shadow-radius: 0px;
    border: 1px solid rgb(var(--color-border-light));
    border-radius: var(--card-shadow-radius);
}

[data-rounded-block="round"] .product-card__spec {
    --card-shadow-radius: var(--sp-2d5);
}

[data-rounded-block="round"] .product-card--card .product-card__spec {
    --card-shadow-radius: var(--card-radius);
}

.product-card--card .product-card__spec {
    border-block-start: 0;
    border-start-start-radius: 0;
    border-start-end-radius: 0;
}

.product-card--standard .product-card__content:has(~ .product-card__spec) {
    padding-block-end: clamp(var(--sp-4), 1.263vw, var(--sp-6));
}

.product-card--standard .product-card__spec {
    margin-block-end: clamp(var(--sp-4), 2.105vw, var(--sp-10));
}

.product-card--standard {
    background-color: #fafafa;
}

.product-card--standard .product-card__media :is(.media, .flickity-viewport) {
    border-radius: var(--card-radius);
}

.product-card--standard:not(.product-card--thickness) .product-card__content {
    padding-inline: 0;
}

@media screen and (min-width: 768px) {
    .product-card__carousel > .media {
        position: absolute;
    }

    .product-card__carousel.flickity-enabled .flickity-viewport {
        cursor: unset;
        height: 100% !important;
    }

    .product-card__carousel .flickity-page-dots {
        --tw-translate-y: var(--sp-2d5);
        --tw-translate-x: -50%;
        position: absolute;
        inset-block-end: calc(var(--sp-3d5) * -1);
        inset-inline-start: 50%;
        visibility: hidden;
        opacity: 0;
        margin: 0;
        border-radius: var(--rounded-full);
        background-color: rgb(var(--color-placeholder));
        transform: translate(
                calc(var(--tw-translate-x) * var(--transform-logical)),
                var(--tw-translate-y)
        );
        transition: var(--animation-primary);
        transition-property: opacity, visibility, transform;
        pointer-events: none;
        height: var(--sp-6);
        padding-inline: var(--sp-4);
        width: auto;
    }

    .product-card__carousel .flickity-page-dots {
        --tw-translate-y: var(--sp-3);
        height: var(--sp-7);
    }

    .product-card--standard .product-card__carousel .flickity-page-dots {
        background-color: rgb(var(--color-background));
    }

    .product-card__carousel .flickity-page-dot:first-child {
        display: none;
    }

    .product-card__carousel.without-dots .flickity-page-dots {
        display: none;
    }

    .js .product-card__carousel ~ img {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .no-js .product-card__carousel {
        display: none;
    }
}

@media screen and (pointer: fine) {
    .product-card__carousel {
        transition: opacity var(--animation-primary);
    }

    .product-card__carousel:hover .flickity-page-dots {
        --tw-translate-y: 0;
        opacity: 1;
        visibility: visible;
    }

    .product-card__media > .media > img {
        --tw-scale-x: 1;
        --tw-scale-y: 1;
        transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }

    .product-card__media:hover > .media > img {
        --tw-scale-x: 1.05;
        --tw-scale-y: 1.05;
    }
}

@media screen and (max-width: 767px) {
    .product-card__media > .media {
        overflow: hidden;
    }
}

.product-card.no-media {
    align-content: center;
    background-color: rgb(var(--color-placeholder));
}

.product-card.no-media .product-card__content {
    text-align: center;
}

.product-card.no-media .product-card__details {
    display: grid;
    gap: var(--sp-4);
}

.product-card.no-media .price {
    justify-content: center;
    flex-direction: row;
}

.product-card__variants {
    margin-block-start: var(--sp-4);
}

.product-card__variants.without-title .form__label {
    display: none;
}

.product-card__variants .product-card__bottom .swatches--variant .color-swatch {
    --swatch-size: var(--sp-10);
}

.product-card__variants .variant-picker {
    padding-block: var(--sp-4);
    border-block-start: 1px solid rgb(var(--color-border));
}

.product-card__content.text-center .product-card__variants .variant-picker {
    padding: var(--sp-4);
    border: 1px solid rgb(var(--color-border));
}

[data-rounded-card="round"]
.product-card__content.text-center
.product-card__variants
.variant-picker {
    border-radius: var(--sp-2d5);
}

@media screen and (min-width: 768px) {
    .product-card__content.text-center .product-card__variants .variant-picker {
        padding-inline: var(--sp-6);
    }
}

.product-card__content .product-card__variants .product-card__bottom {
    justify-content: flex-start;
}

.product-card__variants .product-card__bottom {
    margin: calc(var(--sp-2d5) * -1);
    padding-block-start: 0;
}

.product-card__variants .scroll-area {
    grid-auto-flow: column;
    overflow-x: scroll;
    white-space: nowrap;
    padding: var(--sp-2d5);
}

.product-card__variants .product-form__submit {
    min-height: 3.125rem;
    padding-block: var(--sp-4);
    margin-block-start: auto;
}

/*! product-promotion */

.product-card--promo {
    grid-column: span 2;
    height: fit-content;
 
 
}

.product-card--promo .product-card__media {
    border-radius: var(--card-radius);
}

.product-card--promo .product-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgb(var(--color-overlay) / var(--overlay-opacity));
    border-radius: var(--card-radius);
}

.product-card--promo .product-card__content {
    --card-content-padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

@media screen and (min-width: 768px) {
    .product-card--promo {
        grid-column: span var(--card-column-size);
        --card-content-padding: clamp(var(--sp-6), 2.105vw, var(--sp-10)) var(--sp-20);
    }

    .product-card--promo .product-card__media {
        position: absolute;
    }

    .product-card--promo .product-card__media .media > :is(img, svg) {
        inset: 0;
        position: absolute;
        max-width: 100%;
        width: 100%;
        height: 100%;
    }

    .product-card--promo .product-card__media.without-content {
        position: relative;
        min-height: 200px;
    }

    .product-card--promo .product-card__content {
        position: relative;
    }
}

.promo-box > * + * {
    margin-block-start: var(--sp-8);
}

@media screen and (min-width: 1280px) {
    .promo-title {
        font-size: calc(var(--fluid-2xl-to-4xl) * var(--card-column-size));
    }

    .promo-box {
        max-width: calc(100% / var(--card-column-size) * 1.5);
    }

    .product-card--promo .product-card__content {
        padding-block: max(
                calc(var(--card-content-padding) * var(--card-column-size) * 0.75),
                var(--card-content-padding)
        );
        padding-inline: max(
                calc(var(--card-content-padding) * var(--card-column-size) * 0.5),
                var(--card-content-padding)
        );
    }
}

.promo-title,
.promo-subtitle {
    color: rgb(var(--color-foreground));
}

.promo-img {
    max-width: 30px;
}

@media screen and (min-width: 768px) {
    .promo-img {
        max-width: 40px;
    }
}

/*! countdown-timer */

.product-card__countdown {
    --countdown-gap: var(--sp-3);
    inset-inline-end: 0;
    inset-block-end: var(--sp-7);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y));
}

.product-card__countdown .button {
    --color-button-background: var(--color-sale-tag);
    --color-button-text: var(--color-sale-tag-text);
    --buttons-border-width: 0px;
    width: auto;
    height: auto;
    padding-block: clamp(var(--sp-3), 0.842vw, var(--sp-4));
    padding-inline: clamp(var(--sp-5d5), 1.368vw, var(--sp-6d5));
}

.product-card__countdown .countdown__item p::after {
    font-size: inherit;
    color: inherit;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
    .product-card__countdown {
        inset-inline-end: var(--sp-3);
        inset-block-end: var(--sp-3);
    }
}

@media screen and (pointer: fine) {
    .product-card__countdown {
        --tw-translate-y: var(--sp-2);
        transition: var(--animation-primary);
        transition-property: opacity, transform;
    }

    .product-card:hover .quick-add ~ .product-card__countdown {
        --tw-translate-y: var(--sp-2);
        opacity: 0;
    }
}

/*! quick-add */

.quick-add {
    inset-inline-end: 0;
    inset-block-end: var(--sp-7);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y));
}

.quick-add .button {
    width: auto;
    height: auto;
    padding-block: clamp(var(--sp-3), 0.842vw, var(--sp-4));
    padding-inline: clamp(var(--sp-5d5), 1.368vw, var(--sp-6d5));
}

.quick-add .button:focus-visible {
    opacity: 1;
}

.quick-add .button .icon {
    width: var(--sp-4d5);
    height: var(--sp-4d5);
}

.quick-add .button[aria-disabled] {
    cursor: progress;
}

.quick-add .button[disabled] {
    background-color: rgb(var(--color-button-text));
}

.button.loading::before {
    content: "";
    z-index: 1;
    position: absolute;
    width: min(50px, 34%);
    height: 2px;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    margin-block-start: -1px;
    margin-inline-start: max(-25px, -17%);
    background-color: rgb(var(--color-button-text));
    animation: preloading 1.2s infinite ease;
}

.button.loading .btn-text {
    opacity: 0;
}

@media screen and (max-width: 767px) {
    .quick-add {
        inset-inline-end: 0;
        inset-block-end: 0;
        padding-inline: var(--sp-3);
        padding-block-end: var(--sp-3);
    }

    .quick-add .btn-loader {
        gap: var(--sp-1d5);
    }

    .quick-add .btn-loader span {
        width: 4px;
        height: 4px;
    }

    .quick-add .button {
        height: var(--sp-10);
    }

    .quick-add .button:not([disabled]) {
        padding: 0;
        width: var(--sp-10);
    }
}

@media screen and (pointer: fine) {
    .quick-add {
        --tw-translate-y: var(--sp-2);
        transition: var(--animation-primary);
        transition-property: opacity, transform;
    }

    .product-card:hover .quick-add {
        --tw-translate-y: 0;
    }

    .product-card:hover .quick-add .button {
        opacity: 1;
    }
}

/*! quick-view */

.no-js .quick-view__button {
    display: none;
}

.quick-view__button {
    --shadow-opacity: 0;
    --border-opacity: 0.1;
    --buttons-border-width: 1px;
    --buttons-radius: var(--rounded-full);
    padding: 0;
    height: var(--sp-12);
    width: var(--sp-12);
    background-color: rgb(var(--color-button-text));
    position: absolute;
    inset-block-start: var(--sp-4);
    inset-inline-end: var(--sp-4);
}

@media screen and (pointer: fine) {
    .product-card:hover .quick-view__button {
        opacity: 1;
    }

    .quick-view__button ~ .product-card__rating {
        transition: opacity var(--animation-fast);
    }

    .js .product-card:hover .quick-view__button ~ .product-card__rating {
        opacity: 0;
    }
}

.quick-view__button:focus-visible {
    opacity: 1;
}

.quick-view__button:focus-visible ~ .product-card__rating {
    opacity: 0;
}

.quick-view__button + .quick-view {
    display: none !important;
}

.quick-view__content {
    height: 48rem;
}

.quick-view__content:empty {
    z-index: 1;
    position: relative;
    display: block;
    background-color: rgb(var(--color-background));
}

.quick-view__content:empty::before,
.quick-view__content:empty::after {
    content: "";
    display: block;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    margin-block-start: -1.5px;
    margin-inline-start: max(-30px, -20%);
    width: min(60px, 40%);
    height: 3px;
    background-color: rgb(var(--color-foreground));
}

.quick-view__content:empty::before {
    background-color: rgb(var(--color-border));
}

.quick-view__content:empty::after {
    animation: preloading 1.2s infinite ease;
}

.quick-view .drawer__header {
    border-block-end: 0;
    padding-block-end: var(--sp-2);
}

.quick-view .drawer__close {
    position: absolute;
    inset-block-start: var(--sp-7);
    inset-inline-end: var(--sp-7);
    background-color: rgb(var(--color-button-text));
    transition: opacity var(--animation-primary);
    transition-delay: 0.6s;
}

.quick-view[active] .drawer__close {
    opacity: 1;
}

.quick-view .product__media-container .slider {
    border-radius: 0;
}

.quick-view .product__media-container .slider.magnify {
    z-index: 1;
}

.quick-view .product__media {
    border-radius: 0;
}

.quick-view .product__media > img {
    height: 100%;
}

.quick-view .product__thumbnails-list {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

.quick-view button.product__thumbnail:not([hidden]) {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--sp-6);
    height: var(--sp-6);
    border-radius: var(--rounded-full);
    transition: box-shadow var(--animation-primary);
    background-color: transparent;
}

.quick-view button.product__thumbnail[aria-current]::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    margin: 0;
    inset: unset;
    background-color: rgb(var(--color-foreground));
    border-radius: var(--rounded-full);
    transition: var(--animation-primary);
    transition-property: background-color, box-shadow;
}

.quick-view button.product__thumbnail[aria-current="true"]::before {
    width: 5px;
    height: 5px;
    background-color: transparent;
    box-shadow: 0 0 0 2px rgb(var(--color-foreground));
}

.quick-view button.product__thumbnail[aria-current]::after {
    content: none;
}

.quick-view button.product__thumbnail img {
    visibility: hidden;
    position: absolute;
}

.quick-view button.product__thumbnail .play-button {
    clip: rect(0, 0, 0, 0);
    border-width: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.quick-view .product__more:focus-visible {
    outline-offset: -3px;
}

@media screen and (max-width: 1023px) {
    .quick-view .product__info {
        padding-inline: var(--page-padding);
    }

    .quick-view [data-shopify-xr] {
        margin-inline: auto;
        max-width: calc(100% - calc(2 * var(--page-padding)));
    }
}

@media screen and (min-width: 640px) {
    .quick-view .drawer__inner {
        max-width: 80rem;
    }

    .quick-view .drawer__header {
        padding: 0;
    }
}

@media screen and (min-width: 1024px) {
    .quick-view .product {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 0;
    }

    .quick-view__content {
        overflow: hidden;
    }

    .quick-view .product,
    .quick-view .product__content,
    .quick-view .product__info,
    .quick-view .product__gallery,
    .quick-view .product__media-container,
    .quick-view .product__media-list,
    .quick-view .product__media {
        height: 100%;
    }

    .quick-view .product__content {
        max-height: 90vh;
    }

    .quick-view .product__media-list {
        position: absolute;
        inset: 0;
    }

    .quick-view .product__thumbnails-list {
        position: absolute;
        inset-block-end: var(--sp-7);
        inset-inline-start: 50%;
        height: var(--sp-8);
        width: auto;
        margin-block-start: 0;
        padding-inline: var(--sp-4);
        border-radius: var(--rounded-full);
        background-color: rgb(var(--color-background));
        border: 1px solid rgb(var(--color-border-light));
        transform: translateX(calc(-50% * var(--transform-logical)));
    }

    .quick-view .product__gallery {
        border-inline-end: 1px solid rgb(var(--color-border-light));
    }

    .quick-view .product__info.with-read-more {
        padding-block-end: calc(var(--sp-8) + var(--sp-4) + var(--sp-6) * 2);
    }

    .quick-view .product__info {
        scroll-behavior: smooth;
        scroll-snap-type: y mandatory;
        scrollbar-color: auto;
        scrollbar-width: thin;
        overflow-x: hidden;
        overflow-y: auto;
        padding-block: var(--sp-8);
        padding-inline: var(--grid-gap);
    }

    .quick-view .product__info::-webkit-scrollbar {
        -webkit-appearance: none;
        background-clip: padding-box;
        background-color: transparent;
        border-radius: var(--rounded-full);
        width: var(--sp-1d5);
    }

    .quick-view .product__info::-webkit-scrollbar-thumb {
        background-clip: padding-box;
        background-color: rgb(var(--color-foreground) / 0.2);
        border-radius: var(--rounded-full);
    }

    .quick-view .product__more {
        padding-block: var(--sp-6);
        padding-inline: var(--grid-gap);
        border-block-start: 1px solid rgb(var(--color-border-light));
        background-color: rgb(var(--color-background) / 0.7);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
    }
}

@media screen and (min-width: 1280px) {
    .quick-view .product {
        --product-grid: auto / minmax(0, 1fr) minmax(0, 1fr);
    }
}

@media screen and (min-width: 1536px) {
    .quick-view .product__info {
        padding-block: var(--sp-11);
    }
}

/*! badge */

.badges {
    --badge-padding: clamp(var(--sp-6), 2.105vw, var(--sp-10));
    inset-block-start: var(--sp-3);
    inset-inline-start: var(--sp-3);
}

@media screen and (min-width: 768px) {
    .badges {
        inset-block-start: var(--sp-5);
        inset-inline-start: var(--sp-5);
    }
}

.badge {
    --badge-background: rgb(var(--color-foreground));
    --badge-foreground: rgb(var(--color-background));
    background-color: var(--badge-background);
    color: var(--badge-foreground);
    padding: var(--sp-1d5) var(--sp-2d5);
    font-size: var(--text-2xs);
    width: max-content;
}

@media screen and (min-width: 768px) {
    .badge {
        padding: var(--sp-2d5) var(--sp-4);
        font-size: var(--text-sm);
    }

    .discounts .badge {
        padding-block: var(--sp-2);
    }
}

.badge.badge--onsale {
    --badge-background: rgb(var(--color-sale-tag));
    --badge-foreground: rgb(var(--color-sale-tag-text));
}

.badge.badge--highlight {
    --badge-background: rgb(var(--color-sale-tag) / 0.1);
    --badge-foreground: rgb(var(--color-sale-tag));
}

/*! price */

.price__regular {
    color: rgb(var(--color-price));
    font-size: var(--fluid-sm-to-base);
}

.price__regular small {
    font-weight: 400;
}

.price--on-sale .price__regular {
    color: rgb(var(--color-sale-price));
    font-weight: var(--font-medium);
}

.unit-price,
.price__sale {
    color: rgb(var(--color-price) / 0.6);
    font-size: var(--fluid-xs-to-sm);
}

.price__sale {
    text-decoration: line-through;
}

/* .price__sale::before {
  content: '';
  position: absolute;
  inset-block-start: 50%;
  width: 100%;
  transform: rotate(-15deg);
  border-block-end: 1px solid red;
} */

/*! pagination */

.pagination .page {
    height: var(--sp-10);
    width: var(--sp-10);
}

@media screen and (min-width: 768px) {
    .pagination .page {
        height: var(--sp-12);
        width: var(--sp-12);
    }
}

.pagination .page.current {
    background-color: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
}

/*! active-facets */

.active-facets {
    margin-block-end: var(--sp-7);
}

@media screen and (min-width: 1280px) {
    .active-facets {
        margin-block-end: 0;
        margin-block-start: clamp(var(--sp-4), 1.684vw, var(--sp-8));
    }
}

.active-facets .color-swatch {
    --swatch-radius: 9999px;
    --swatch-size: var(--sp-3);
    --swatch-offset: 1.5px;
}

@media screen and (min-width: 1280px) {
    .active-facets .color-swatch {
        --swatch-offset: 2px;
        --swatch-size: var(--sp-4);
    }
}

.active-facets .color-swatch::before {
    --tw-shadow: inset 1px 2px 0px rgb(var(--color-foreground) / 0.115);
}

.active-facets > .facet-clear-all {
    margin-inline-start: var(--sp-2);
}

@media screen and (min-width: 1024px) {
    .active-facets > .facet-clear-all {
        margin-inline-start: var(--sp-4);
    }
}

.removable-facet {
    background-color: rgb(var(--color-foreground) / 0.025);
    color: rgb(var(--color-foreground));
    padding: var(--sp-3) var(--sp-3d5);
}

@media screen and (min-width: 768px) {
    .removable-facet {
        padding: var(--sp-3) var(--sp-4d5);
    }
}

@media screen and (min-width: 1024px) {
    .removable-facet {
        line-height: 1.6;
    }
}

@media screen and (min-width: 1280px) {
    .removable-facet {
        padding: var(--sp-3d5) var(--sp-5);
    }
}

.removable-facet > a::before,
.removable-facet > button::before {
    content: "";
    position: absolute;
    inset: calc(var(--sp-2d5) * -1);
}

.removable-facet .icon {
    width: var(--sp-2);
    height: var(--sp-2);
}

.removable-facet > button .icon:first-child {
    transition: opacity var(--animation-fast);
}

.removable-facet > button .icon + .icon {
    width: var(--sp-3);
    height: var(--sp-3);
    transition: var(--animation-fast);
    transition-property: opacity, visibility;
}

.removable-facet > button[loading] .icon {
    opacity: 0;
}

.removable-facet > button[loading] .icon + .icon {
    opacity: 1;
    visibility: visible;
    transition-delay: 0.1s;
}

@media screen and (min-width: 1024px) {
    .removable-facet .icon {
        width: var(--sp-2d5);
        height: var(--sp-2d5);
    }

    .removable-facet > button .icon + .icon {
        width: var(--sp-4);
        height: var(--sp-4);
    }
}

/*! multicolumn */

.multicolumn {
    --card-grid-gap: var(--sp-10) var(--sp-4);
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
    .multicolumn.with-4.card-grid--4 {
        --card-grid-per-row: 2;
    }
}

@media screen and (min-width: 640px) and (max-width: 1023px) {
    .slider--tablet .multicolumn.with-2 {
        --slider-grid: var(--card-grid-template);
    }
}

.multicolumn .media {
    border-radius: var(--rounded-block);
}

@media screen and (pointer: fine) {
    .multicolumn .media[href] img {
        transform: scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }

    .multicolumn .media[href]:hover img {
        --tw-scale-x: 1.05;
        --tw-scale-y: 1.05;
    }
}

.multicolumn-card.with-border {
    border-radius: var(--rounded-block);
    border: 1px solid rgb(var(--color-border-light));
}

.multicolumn-card.with-border .multicolumn-card__info {
    padding-inline: var(--sp-5);
    padding-block: var(--sp-2) var(--sp-6);
}

@media screen and (min-width: 1024px) {
    .multicolumn-card.with-border .multicolumn-card__info {
        padding-inline: var(--sp-8d5);
        padding-block: var(--sp-5) var(--sp-11);
    }
}

/*! multicolumn-with-icons */

.text-with-icons::after {
    content: "flickity";
    display: none;
}

.column__icon.with-svg :is(svg, img) {
    display: inline-block;
    width: var(--sp-6);
    height: auto;
    fill: currentColor;
}

.column__title {
    font-size: clamp(var(--text-lg), 1.053vw, var(--text-xl));
}

.column__text {
    font-size: clamp(var(--text-2sm), 0.737vw, var(--text-sm));
}

.column__title + .column__text {
    padding-block-start: var(--sp-2);
}

.text-with-icons + * {
    margin-block-start: var(--sp-10);
}

.text-with-icons.with-background .column {
    padding: clamp(var(--sp-5), 2.105vw, var(--sp-10));
    background-color: rgb(var(--color-foreground) / 0.04);
}

[data-rounded-block="round"] .text-with-icons.with-background .column {
    border-radius: var(--border-radius-small);
}

@media screen and (min-width: 1024px) {
    .text-with-icons::after {
        content: none;
    }

    .text-with-icons {
        --multicolumn-template: repeat(4, minmax(0, 1fr));
        grid-template-columns: var(--multicolumn-template);
        row-gap: clamp(var(--sp-5), 2.105vw, var(--sp-10));
    }

    .text-with-icons.with-background {
        column-gap: var(--sp-4);
    }

    .text-with-icons.grid--2 {
        --multicolumn-template: repeat(2, minmax(0, 1fr));
    }

    .text-with-icons.grid--3 {
        --multicolumn-template: repeat(3, minmax(0, 1fr));
    }

    .text-with-icons .column {
        padding-inline: clamp(var(--sp-5), 2.105vw, var(--sp-10));
    }

    .text-with-icons.with-border .column:first-child {
        padding-inline-start: 0;
    }

    .text-with-icons.with-border .column:last-child {
        padding-inline-end: 0;
    }

    .text-with-icons.with-border .column + .column {
        border-inline-start: 1px solid rgb(var(--color-border));
        align-self: center;
    }

    .text-with-icons.with-border.grid--2 .column:nth-child(2n + 1),
    .text-with-icons.with-border.grid--3 .column:nth-child(3n + 1),
    .text-with-icons.with-border.grid--4 .column:nth-child(4n + 1) {
        padding-inline-start: 0;
        border-inline-start: 0;
    }
}

@media screen and (min-width: 1280px) {
    .text-with-icons .column.xl\:text-right {
        flex-direction: row-reverse;
    }

    .text-with-icons .column.xl\:text-center {
        flex-direction: column;
    }
}

@keyframes preloading {
    0%,
    44%,
    88.1%,
    to {
        transform-origin: var(--transform-origin-start);
    }

    0%,
    to,
    88% {
        transform: scaleX(0);
    }

    44.1%,
    88% {
        transform-origin: var(--transform-origin-end);
    }

    33%,
    44% {
        transform: scaleX(1);
    }
}

[data-lazy-image] .media.loading::before,
[data-lazy-image] .media.loading::after {
    content: "";
    z-index: 1;
    position: absolute;
    width: min(50px, 34%);
    height: 2px;
    box-shadow: none;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    margin-block-start: -1px;
    margin-inline-start: max(-25px, -17%);
    background-color: rgb(var(--color-base-text));
}

[data-lazy-image] .media.loading::before {
    background-color: rgb(var(--color-base-background));
}

[data-lazy-image] .media.loading::after {
    animation: preloading 1.2s infinite ease;
}

[data-lazy-image] .media.loading > img {
    opacity: 0;
}

/*! shopify-challenge, shopify-policy */

.main-content .shopify-challenge__container,
.main-content .shopify-policy__container {
    margin: 0 auto;
    max-width: var(--page-width);
    padding-inline: var(--page-padding);
}

.shopify-challenge__container,
.shopify-policy__container {
    display: grid;
    gap: var(--sp-8);
    padding-block: var(--sp-16);
}

.shopify-challenge__message {
    font-size: var(--text-lg);
    line-height: 1.6;
}

.shopify-challenge__container form {
    display: grid;
    gap: var(--sp-5);
}

.shopify-challenge__button {
    min-width: var(--sp-48);
}

@media screen and (min-width: 1024px) {
    .main-content .shopify-challenge__container,
    .main-content .shopify-policy__container {
        --page-padding: var(--sp-12);
        max-width: 70rem;
        padding-block: var(--sp-28);
    }

    .shopify-challenge__message {
        font-size: var(--text-2xl);
    }
}

/*! alert */

.alert {
    padding: var(--sp-5);
}

[data-rounded-block="round"] .alert {
    border-radius: var(--inputs-radius);
}

.alert--success {
    color: rgb(var(--color-success-text));
    background-color: rgb(var(--color-success-background));
}

.alert--error {
    color: rgb(var(--color-error-text));
    background-color: rgb(var(--color-error-background));
}

.alert--info {
    color: rgb(var(--color-info-text));
    background-color: rgb(var(--color-info-background));
}

.alert--transparent {
    padding: 0;
    background-color: transparent;
}

/*! 404 */

.page-404 {
    gap: var(--sp-23);
}

.page-404 .text-lg {
    line-height: 1.4;
}

.page-404 .button-group {
    max-width: 38rem;
    margin: 0 auto;
    width: 100%;
    padding-inline: var(--gap-padding);
}

@media screen and (min-width: 768px) {
    .page-404 {
        gap: var(--sp-14);
    }

    .page-404 .button-group .button {
        min-height: 3.75rem;
    }
}

/*! rich-text */

.rich-text > * + *:not(.spacing-section) {
    margin-block-start: var(--sp-5);
}

.rich-text > :is(.link, .button) {
    margin-inline-end: var(--sp-4);
}

/*! contact-form */

.contact,
.contact.with-map > .flex {
    gap: var(--grid-gap);
}

.contact__fields .field {
    flex-grow: 1;
    flex-shrink: 0;
    width: 100%;
}

.contact__sidebar .subtitle {
    color: rgb(var(--color-foreground) / 0.5);
}

.contact__sidebar .media {
    background-color: transparent;
}

.contact__sidebar .media img {
    max-width: calc(var(--image-width) * 0.75);
    max-height: calc(var(--image-height) * 0.75);
}

@media screen and (min-width: 1024px) {
    .contact__sidebar .media img {
        max-width: var(--image-width);
        max-height: var(--image-height);
    }
}

.contact.with-map .contact__sidebar > .flex {
    padding: var(--sp-7d5) var(--sp-6);
    border: 1px solid rgb(var(--color-border));
}

[data-rounded-block="round"] .contact.with-map .contact__sidebar > .flex {
    border-radius: var(--border-radius-small);
}

@media screen and (min-width: 768px) {
    .page-width--narrow .contact__sidebar {
        column-gap: var(--sp-6);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact__fields .field {
        width: calc(50% - var(--sp-6) / 2);
    }

    .contact__fields .field--full {
        width: 100%;
    }
}

@media screen and (min-width: 1024px) {
    .page-width--narrow .contact {
        flex-direction: column;
    }

    .page-width--narrow .contact__sidebar {
        width: 100%;
    }

    .contact__sidebar {
        width: clamp(340px, 25vw, 430px);
    }

    .contact.with-map .contact__sidebar {
        width: 100%;
        grid: auto-flow dense/repeat(4, minmax(0, 1fr));
    }

    .contact.with-map .banner {
        height: 100%;
    }
}

@media screen and (min-width: 1280px) {
    .contact.with-map .contact__sidebar > .flex {
        padding: var(--sp-10);
    }
}

.contact.with-map .banner {
    border-radius: var(--rounded-block);
}

.contact.with-map .banner :is(.banner__map, .banner__media) {
    height: 100%;
}

/*! faq */

.faqs.with-border {
    gap: var(--grid-gap);
}

.faqs.with-border .faq {
    padding: clamp(var(--sp-6), 2.315vw, var(--sp-12)) var(--sp-5);
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--rounded-block);
}

@media screen and (min-width: 1536px) {
    .faq .details__summary .text-base {
        font-size: 1.375rem;
    }
}

.accordions {
    border-block: 1px solid rgb(var(--color-border));
}

.accordion + .accordion {
    border-block-start: 1px solid rgb(var(--color-border));
}

.accordion--text {
    padding-block: var(--sp-10);
}

.accordion .details .details__content {
    padding-block-end: var(--sp-8);
    margin-block-start: calc(var(--sp-2d5) * -1);
}

.accordion .details .details__summary {
    padding-block: var(--sp-7);
}

.accordion .details .details__summary > .icon {
    width: var(--sp-3);
    height: var(--sp-3);
}

.accordion .details[aria-expanded="true"] .details__summary > .icon {
    --tw-scale-y: -1;
    --tw-rotate: 45deg;
}

@media screen and (min-width: 1024px) {
    .faqs.with-border .faq {
        padding-inline: var(--sp-12);
    }

    .accordion .details__content {
        max-width: 80%;
    }

    .accordion .details .details__summary {
        padding-block: var(--sp-8);
    }

    .accordion .details .details__summary > .icon {
        width: var(--sp-3d5);
        height: var(--sp-3d5);
    }
}

.accordion--text:first-child {
    padding-block-start: var(--sp-2);
}

.faqs.with-background {
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
    border-radius: var(--rounded-block);
}

.faqs.with-background > :is(div, form) {
    padding: var(--sp-10);
}

.faqs.with-background > form {
    background-color: rgb(var(--color-overlay) / var(--overlay-opacity));
    border-end-start-radius: var(--rounded-block);
    border-end-end-radius: var(--rounded-block);
}

@media screen and (min-width: 1024px) {
    .faqs.with-background > form {
        border-end-start-radius: 0;
        border-end-end-radius: var(--rounded-block);
        border-start-end-radius: var(--rounded-block);
    }
}

.faqs.with-background > form :is(.input, .textarea) {
    background-color: color-mix(
            in srgb,
            rgb(var(--color-foreground)) 4%,
            rgb(var(--color-background)) 12%
    );
}

@media screen and (pointer: fine) {
    .faqs.with-background > form :is(.input, .textarea):focus {
        background-color: color-mix(
                in srgb,
                rgb(var(--color-foreground)) 4%,
                rgb(var(--color-background)) 15%
        );
    }
}

.faqs.with-background .title-wrapper {
    margin-block-end: 0;
}

.faqs.with-background .title-wrapper .rte {
    padding: var(--sp-4) var(--sp-5);
    color: rgb(var(--color-foreground) / 0.6);
    background-color: rgb(var(--color-foreground) / 0.04);
}

[data-rounded-block="round"] .faqs.with-background .title-wrapper .rte {
    border-radius: var(--sp-2d5);
}

.faqs.with-background .title-wrapper .rte a {
    color: rgb(var(--color-foreground));
}

.faqs .contact__sidebar > .flex {
    flex-direction: column;
    align-items: flex-start;
}

@media screen and (min-width: 640px) {
    .faqs .contact__sidebar > .flex {
        flex-direction: row;
        align-items: flex-end;
    }
}

@media screen and (min-width: 1024px) {
    .faqs .contact__sidebar > .flex {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media screen and (min-width: 1280px) {
    .faqs.with-background .title-wrapper {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
    }

    .faqs.with-background .title-wrapper.md\:items-center {
        flex-direction: column;
        align-items: center;
    }

    .faqs.with-background .title-wrapper .rte {
        padding: var(--sp-5) var(--sp-7d5);
    }

    .faqs.with-background > :is(div, form) {
        padding: var(--sp-14);
    }
}

@media screen and (min-width: 1536px) {
    .faqs.with-background > :is(div, form) {
        padding: clamp(var(--sp-20), 6.737vw, var(--sp-32));
    }

    .faqs .contact__sidebar > .flex {
        flex-direction: row;
        align-items: flex-end;
    }
}

/*! share-buttons */

@media screen and (max-width: 639px) {
    .js .share-drawer .drawer__inner {
        height: auto;
    }

    .js .quick-view .share-drawer .drawer__inner {
        height: 0;
    }
}

.share-buttons li + li {
    border-block-start: 1px solid rgb(var(--color-border));
}

.share-buttons a {
    padding: var(--sp-3d5) var(--sp-2d5);
}

.share-buttons li:first-child a {
    padding-block-start: 0;
}

.share-buttons li:last-child a {
    padding-block-end: 0;
}

.share-buttons .icon-facebook {
    fill: #3b5998;
}

.share-buttons .icon-twitter {
    fill: #00acee;
}

.share-buttons .icon-pinterest {
    fill: #e60023;
}

.share-buttons .icon-telegram {
    fill: #3390f7;
}

.share-buttons .icon-whatsapp {
    fill: #25d366;
}

/*! slider-element */

.slider {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.slider::-webkit-scrollbar {
    height: 10px;
    width: 10px;
    display: none;
}

.no-js .slider {
    -ms-overflow-style: auto;
    scrollbar-width: auto;
}

.no-js .slider::-webkit-scrollbar {
    display: initial;
}

@media screen and (max-width: 1023px) {
    .slider--tablet {
        overflow-y: hidden;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        padding-inline: var(--page-padding);
        margin-inline: calc(var(--page-padding) * -1);
        scroll-padding-inline: var(--page-padding);
        padding-block-end: var(--card-shadow-vertical-offset);
    }

    .slider--tablet .card-grid {
        --slider-item-width: 36vw;
        --slider-grid: auto / auto-flow var(--slider-item-width);
        grid: var(--slider-grid);
    }
}

@media screen and (max-width: 639px) {
    .slider--tablet .mobile\:card-grid--1 {
        --slider-item-width: 74vw;
    }
}

@media screen and (min-width: 1024px) {
    .slider--desktop {
        overflow-y: hidden;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        scroll-behavior: smooth;
        padding-inline: var(--page-padding);
        margin-inline: calc(var(--page-padding) * -1);
        scroll-padding-inline: var(--page-padding);
        padding-block-end: var(--card-shadow-vertical-offset);
    }

    .slider--desktop .card-grid {
        --slider-item-width: calc(
                calc(var(--page-container) / var(--card-grid-per-row)) -
                var(--card-grid-gap) * calc(var(--card-grid-per-row) - 1) /
                var(--card-grid-per-row)
        );
        --slider-grid: auto / auto-flow var(--slider-item-width);
        grid: var(--slider-grid);
    }
}

@media (prefers-reduced-motion) {
    .slider {
        scroll-behavior: auto;
    }
}

.slider .card {
    scroll-snap-align: start;

}

.slider + :is(p, .indicators) {
    text-align: center;
    justify-content: center;
    margin-block-start: clamp(var(--sp-8), 2.526vw, var(--sp-12));
}

/*! main-product */

.product-title-sm {
    font-size: clamp(var(--text-xl), 0.4966rem + 1.1818vw, var(--text-3xl));
}

.product-title-md {
    font-size: clamp(var(--sp-10), 2.526vw, var(--sp-12));
}

.product-title-lg {
    font-size: clamp(var(--sp-8), 3.368vw, var(--sp-16));
}

@media screen and (max-width: 767px) {
    .mobile\:product-title-sm,
    .mobile\:product-title-sm .word,
    .mobile\:product-title-md,
    .mobile\:product-title-md .word,
    .mobile\:product-title-lg,
    .mobile\:product-title-lg .word {
        line-height: 1.25;
    }

    .mobile\:product-title-sm {
        font-size: var(--text-h3);
    }

    .mobile\:product-title-md {
        font-size: var(--text-h2);
    }

    .mobile\:product-title-lg {
        font-size: var(--text-h1);
    }
}

.rating .icon {
    fill: rgb(var(--color-rating));
}

.rating-star {
    --percent: calc(
            (var(--rating) / var(--rating-max) + var(--rating-decimal) *
            var(--font-size) /
            (var(--rating-max) * (var(--letter-spacing) + var(--font-size)))) * 100%
    );
    --letter-spacing: 0;
    --font-size: 2;
}

.rating-star::before {
    content: "\2605\2605\2605\2605\2605";
    background: linear-gradient(
            calc(90deg * var(--transform-logical)),
            rgb(var(--color-rating)) var(--percent),
            rgb(var(--color-foreground) / 0.15) var(--percent)
    );
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.rating-count {
    padding-inline-start: var(--sp-2);
    border-inline-start: 1px solid rgb(var(--color-border));
}

noscript .product-form__input {
    margin-block-start: var(--sp-6);
}

.product-form__input {
    border: none;
}

.product-form__input .form__label {
    margin-block-end: var(--sp-3);
}

.product-form__input .form__label:empty {
    display: none;
}

.variant-picker .color-swatch {
    --swatch-size: var(--sp-8d5);
}

@media screen and (min-width: 1024px) {
    .product {
        grid-template-columns: minmax(0, 1fr) clamp(25rem, 30.26vw, 35rem);
        gap: var(--sp-10);
    }

    .product__info.lg\:sticky,
    .product__preview.lg\:sticky,
    .product__gallery-container.lg\:sticky {
        inset-block-start: var(--sp-6) !important;
        transition: inset-block-start var(--animation-nav);
    }

    .header-sticky
    ~ .page-container
    .lg\:sticky:is(
      .product__info,
      .product__preview,
      .product__gallery-container
    ) {
        inset-block-start: calc(var(--header-height) + var(--sp-3)) !important;
    }

    .header-hidden[data-sticky-type="on-scroll-up"]
    ~ .page-container
    .lg\:sticky:is(
      .product__info,
      .product__preview,
      .product__gallery-container
    ) {
        inset-block-start: var(--sp-6) !important;
    }

    .product__preview.lg\:sticky {
        --inset: 0px;
        height: calc(
                var(--screen-height) - var(--header-height) - var(--topbar-height) -
                var(--sp-5)
        );
        transition-property: inset-block-start, height;
    }

    .header-scrolled ~ .page-container .product__preview.lg\:sticky {
        height: calc(var(--screen-height) - var(--inset) - var(--sp-10));
    }

    .header-hidden[data-sticky-type="on-scroll-up"]
    ~ .page-container
    .product__preview.lg\:sticky {
        height: calc(var(--screen-height) - var(--sp-12));
    }
}

@media screen and (min-width: 1280px) {
    .product {
        grid: var(--product-grid);
        gap: clamp(var(--sp-12), 4.73vw, var(--sp-23));
    }
}

@media screen and (min-width: 1536px) {
    .product--scroll {
        gap: var(--sp-15);
    }
}

.product__preview {
    max-height: var(--screen-height);
}

.product__preview .product__media {
    display: flex;
}

.product__preview .product__media,
.product__preview .product__media > img {
    height: 100%;
}

@media screen and (min-width: 1280px) {
    .product--scroll .product__preview .play-button {
        width: var(--sp-14);
        height: var(--sp-14);
    }

    .product--scroll .product__preview .play-button .icon {
        width: var(--sp-5);
        height: var(--sp-5);
    }
}

.product.no-media {
    grid: none;
}

.product.no-media .product__info {
    width: 100%;
}

.product__info > * + * {
    margin-block-start: var(--sp-6);
}

.product__breadcrumb {
    border-block-end: 1px solid rgb(var(--color-border));
    padding-block-end: var(--sp-3);
}

.product__vendor + .product__title,
.product__sku + .product__title,
.product__sku + .product__vendor,
.product__vendor + .product__sku {
    margin-block-start: var(--sp-3);
}

.product__title + .product__rating {
    margin-block-start: var(--sp-5);
}

.product__title {
    margin: 1rem 0;
}

.product__price {
    font-size: var(--fluid-lg-to-2xl);
}

.product__price .price__regular {
    font-size: 100%;
}

.product__price :is(.price__sale, .unit-price) {
    font-size: 70%;
}

.product__tax {
    margin-block-start: var(--sp-1d5);
}

.variant-picker {
    margin-top: 1rem;
}

.product__title.with-price {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: flex-end;
    justify-content: space-between;
}

.product__title .product__price {
    align-self: flex-end;
}

.product__title.with-price .product__rating {
    place-self: end;
}

@media screen and (min-width: 1280px) {
    .product__title.with-price {
        grid-template-columns: auto auto;
    }

    .product__title.with-price h1 {
        grid-column: auto;
    }

    .product__title.with-price .price__sale {
        place-self: end;
    }

    .product__title .product__price {
        place-self: end;
    }

    .product__title.with-price .product__rating {
        grid-column: 1/-1;
        place-self: auto;
    }
}

.product-form-wrapper {
    margin-block-start: var(--sp-8);
}

.quantity {
    min-height: var(--input-height);
    border: 1px solid rgb(var(--color-border));
    border-radius: var(--buttons-radius);
}

.quantity__label ~ .quantity__rules {
    margin-block-start: var(--sp-3);
}

.quantity__rules .divider + .divider::before {
    content: "\2022";
    margin-inline: var(--sp-3);
}

.quantity__rules-cart .btn-loader {
    justify-content: flex-start;
    inset-inline-start: var(--sp-1);
}

.quantity__input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.quantity__input[type="number"] {
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
}

.quantity__input:focus {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -moz-appearance: textfield;
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.quantity .quantity__input {
    max-width: var(--sp-11);
    background-color: transparent;
}

.quantity .quantity__button {
    padding-inline: var(--sp-3);
}

@media screen and (max-width: 639px) {
    .quantity .quantity__button .icon {
        width: var(--sp-4d5);
        height: var(--sp-4d5);
    }
}

@media screen and (min-width: 640px) {
    .product-form__submit,
    button.shopify-payment-button__button--unbranded,
    .shopify-payment-button__button.shopify-payment-button__button--branded
    [role="button"] {
        min-height: 3.75rem;
    }

    .shopify-payment-button__button.shopify-payment-button__button--branded {
        min-height: 3.75rem !important;
    }

    .shopify-payment-button
    :is(shopify-accelerated-checkout, shopify-accelerated-checkout-cart) {
        --shopify-accelerated-checkout-button-block-size: 3.75rem;
    }

    .quantity .quantity__input {
        max-width: var(--sp-12);
    }

    .quantity .quantity__button {
        padding-inline: var(--sp-4d5);
    }

    .quantity .quantity__button:first-of-type {
        padding-inline-end: var(--sp-2);
    }

    .quantity .quantity__button:last-of-type {
        padding-inline-start: var(--sp-2);
    }

    .buy-buttons.grid {
        grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
}

.product-form__buttons .field + .buy-buttons {
    margin-block-start: var(--sp-2);
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
    .product-form__buttons .quantity .quantity__input {
        max-width: var(--sp-10);
    }
}

.product-form__submit.with-price .price__regular {
    color: inherit;
    font-size: inherit;
}

.product-form__submit.with-price :is(.unit-price, .price__sale) {
    display: none;
}

.buy-buttons
.quantity:has(~ .product-form__submit.with-price)
.quantity__input {
    max-width: var(--sp-8);
}

.product-form__buttons
.back-in-stock
.quantity:has(
    ~ .product-form__submit[disabled]:not([loading], [unavailable])
  ),
.product-form__buttons
.back-in-stock
.product-form__submit[disabled]:not([loading], [unavailable]),
.product-form__buttons
.back-in-stock
.product-form__submit:not([disabled])
~ .product-form__alert,
.product-form__buttons
.back-in-stock
.product-form__submit:is([loading], [unavailable])
~ .product-form__alert,
button.shopify-payment-button__button--hidden {
    display: none;
}

[data-rounded-block="square"] .product__inventory progress-bar {
    border-radius: 0;
}

.product__inventory progress-bar {
    height: var(--sp-1d5);
    background-color: rgb(var(--color-border-light));
}

.product__inventory progress-bar::before {
    content: "";
    background-color: currentColor;
    border-radius: inherit;
    display: block;
    height: inherit;
    width: var(--progress, 100%);
    transition: width var(--animation-smooth) 0.1s;
}

.product__inventory .accent-2::before {
    background: linear-gradient(325deg, #0064ff 0, #61f0f3 100%);
}

.product__inventory .accent-3::before {
    background: linear-gradient(325deg, #ff3484 0, #f1e04d 100%);
}

.product__inventory .accent-4::before {
    background: linear-gradient(325deg, #309fff 0, #b635ff 100%);
}

.product__inventory .accent-5::before {
    background: linear-gradient(325deg, #049cff 0, #35ee7a 100%);
}

.product__inventory .accent-6::before {
    background: linear-gradient(325deg, #00e166 0, #0066ec 100%);
}

.product__inventory .alert {
    border-radius: var(--rounded-full);
    padding-block: var(--sp-3d5);
    padding-inline: var(--sp-4d5) var(--sp-5);
}

.product__highlights.with-heading {
    padding: var(--sp-5) var(--sp-6);
    background-color: rgb(var(--color-foreground) / 0.025);
}

[data-rounded-block="round"] .product__highlights.with-heading {
    border-radius: var(--sp-2d5);
}

.product__highlights.with-heading .product-card__spec {
    border: none;
}

.product__highlights.with-heading .product-card__icons {
    gap: var(--sp-2d5);
    padding: 0;
    background-color: transparent;
}

.product__highlights.with-heading .product-card__icon {
    min-width: unset;
    border: none;
    margin: 0;
    padding: var(--sp-4) var(--sp-6);
    background-color: rgb(var(--color-background));
}

[data-rounded-block="round"]
.product__highlights.with-heading
.product-card__icon {
    border-radius: var(--sp-2d5);
}

.product__highlights.with-heading .product-card__icon figure {
    width: var(--sp-6);
}

@media screen and (min-width: 768px) {
    .product__highlights.with-heading .product-card__icon {
        padding-inline-end: var(--sp-8);
    }

    .product__highlights.with-heading .product-card__icon figure {
        width: var(--sp-8);
    }
}

@media screen and (min-width: 1024px) {
    .product__info .product__highlights.below-media {
        display: none;
    }
}

.product__gallery-container .product__highlights.with-heading {
    padding: var(--sp-8);
    margin-block-start: var(--sp-4);
    border-radius: var(--rounded-block);
    background-color: transparent;
    border: 1px solid rgb(var(--color-border-light));
}

.product__gallery-container .product__highlights.with-heading > p {
    position: absolute;
    padding: var(--sp-2d5);
    inset-block-start: -1px;
    inset-inline-start: var(--sp-5d5);
    transform: translateY(-50%);
    background-color: rgb(var(--color-background));
}

.product__gallery-container
.product__highlights.with-heading
.product-card__icon {
    background-color: rgb(var(--color-foreground) / 0.025);
}

@media screen and (max-width: 1023px) {
    .product__gallery-container .product__highlights {
        display: none;
    }
}

.product__info .complementary-products {
    margin-block-start: var(--sp-8);
}

.recipient-form input[type="date"]::-webkit-calendar-picker-indicator {
    color: transparent;
    background: none;
    position: absolute;
    inset-block-start: calc(50% - 10px);
    inset-inline-end: var(--input-padding-inline);
}

.social-sharing li {
    width: var(--sp-10);
    height: var(--sp-10);
}

.social-sharing .social-sharing__link {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.social-sharing .social-sharing__link .icon {
    width: var(--sp-4d5);
    height: var(--sp-4d5);
}

.help-list__item {
    padding-block: var(--sp-6);
    padding-inline: var(--sp-7d5);
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
}

[data-rounded-block="round"] .help-list__item {
    border-radius: var(--sp-4);
}

.help-list__item p {
    margin-block-start: 0;
    margin-block-end: var(--sp-3);
}

.help-list__item p.h4,
.help-list__item p:last-child {
    margin-block-end: 0;
}

.product__accordion {
    border-block-end: 0;
}

.product__accordion.with-background + .product__accordion.with-background {
    margin-block-start: var(--sp-4);
}

.product__accordion.with-background {
    background-color: rgb(var(--color-foreground) / 0.025);
}

[data-rounded-block="round"] .product__accordion.with-background {
    border-radius: var(--sp-2d5);
}

.product__accordion.with-border {
    border-block: 1px solid rgb(var(--color-border-light));
}

.product__accordion.with-border + .product__accordion.with-border {
    border-block-start: 0;
    margin-block-start: 0;
}

.product__accordion:first-child .details__summary,
.product__accordion .details__summary {
    padding: var(--sp-5) var(--sp-6);
}

.product__accordion .details__summary > .icon {
    --tw-scale-y: 1;
    width: var(--sp-3);
    height: var(--sp-3);
}

.product__accordion[aria-expanded="true"] .details__summary > .icon {
    --tw-rotate: 45deg;
}

.product__accordion:last-child .details__content,
.product__accordion .details__content {
    padding: var(--sp-5) var(--sp-6);
    padding-block-start: 0;
    margin-block-start: 0;
    max-width: 100%;
}

.product__accordion .details__content::after {
    content: none;
}

@media screen and (min-width: 1024px) {
    .product__accordion .details__summary > .icon {
        width: var(--sp-3d5);
        height: var(--sp-3d5);
    }
}

.product__more {
    padding: clamp(var(--sp-4d5), 1.2vw, var(--sp-5d5));
    margin-block-start: var(--sp-9);
    border-block: 1px solid rgb(var(--color-border-light));
}

.product__text + .product__text + .product__more {
    border-block-start: 0;
    margin-block-start: var(--sp-4);
}

.product__more + .product__accordion,
.product__accordion + .product__more {
    border-block-start: 0;
    margin-block-start: 0;
}

.product__more + .product__accordion.with-background {
    margin-block-start: var(--sp-9);
}

[data-rounded-block="round"] .product__text {
    border-radius: var(--sp-2d5);
}

.product__text + .product__text,
.product__text:has(+ .product__text) {
    padding: var(--sp-6);
    background-color: rgb(var(--color-foreground) / 0.025);
}

.product__text + .product__text {
    margin-block-start: 0;
    padding-block-start: 0;
    border-start-start-radius: 0;
    border-start-end-radius: 0;
}

.product__text:has(+ .product__text) {
    padding-block-end: 0;
    border-end-start-radius: 0;
    border-end-end-radius: 0;
}

.product__text + .product__text .product__text-inner,
.product__text:has(+ .product__text) .product__text-inner {
    padding: var(--sp-4);
    background-color: rgb(var(--color-background));
}

.product__text-inner {
    padding: var(--sp-5) var(--sp-6);
}

.product__text.first.last .product__text-inner {
    padding: 0;
}

[data-rounded-block="round"] .product__text-inner {
    border-radius: var(--sp-2d5);
}

.product__text + .product__text.even .product__text-inner {
    background-color: transparent;
}

.product__text + .product__text.even.last .product__text-inner {
    padding-block-end: 0;
}

.product-bundle__info {
    --cart-item-media-width: clamp(var(--sp-10), 3.368vw, var(--sp-16));
    padding: var(--sp-4) var(--sp-6);
    background-color: rgb(var(--color-background));
}

[data-rounded-block="round"] .product-bundle__info {
    border-radius: var(--sp-2d5);
}

.product__more > .icon {
    width: var(--sp-4d5);
    height: var(--sp-4d5);
}

.product__info > :not(.product__accordion) + :last-child:is(.product__more) {
    border-block-end: 0;
    padding-inline: 0;
}

.product__spinning {
    inset-inline-start: 50%;
    margin-inline-start: calc(var(--radius) * 2);
}

@media screen and (min-width: 1024px) {
    .product__spinning {
        inset-inline-start: 100%;
        margin-inline-start: var(--radius);
    }

    :is(.product--columns, .product--scroll) .product__spinning {
        inset-inline-start: 50%;
        margin-inline-start: 0;
    }
}

@media screen and (min-width: 1280px) {
    .product--scroll .product__spinning {
        inset-inline-start: calc(55% + var(--sp-5));
    }
}

@media screen and (min-width: 1536px) {
    .product__spinning {
        margin-inline-start: calc(var(--radius) * 3);
    }
}

.product__spinning .icon {
    width: clamp(var(--sp-6), 2.105vw, var(--sp-10));
    height: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

spinning-text {
    --inner-angle: calc((360 / var(--char-count)) * 1deg);
    --character-width: 2;
    --radius: calc((var(--character-width) / sin(var(--inner-angle))) * -1ch);
}

[data-gang-option] ~ [data-gang-default] {
    display: none;
}

@media (prefers-reduced-motion: no-preference) {
    .split-chars {
        animation: spin 12s infinite linear;
    }

    @keyframes spin {
        to {
            rotate: -360deg;
        }
    }
}

.split-char {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(
            calc(var(--transform-logical) * var(--inner-angle) * var(--char-index))
    ) translateY(var(--radius));
}

.no-js .product__spinning {
    display: none;
}

@keyframes beat {
    0%,
    to {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }
}

video-media,
model-media {
    border-radius: inherit;
    aspect-ratio: var(--aspect-ratio);
}

@supports not (aspect-ratio: 1) {
    :is(video-media, model-media)::before {
        content: "";
        padding-block-end: calc(100% / (var(--aspect-ratio)));
        display: block;
    }

    :is(video-media, model-media) > * {
        height: 100%;
        inset-block-start: 0;
        inset-inline-start: 0;
        position: absolute !important;
    }
}

video-media {
    --aspect-ratio: 16 / 9;
}

video-media[host] {
    align-items: center;
    display: grid;
}

video-media:not([playing]) {
    cursor: pointer;
}

video-media > :is(video, iframe, img, svg) {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: inherit;
    transition: var(--animation-short);
    transition-property: opacity, visibility;
}

video-media > video[controls] {
    pointer-events: auto;
}

video-media > :is(img, svg) {
    object-fit: cover;
    object-position: center;
}

video-media > video:not(:-webkit-full-screen) {
    object-fit: cover;
    object-position: center;
}

video-media > video:not(:fullscreen) {
    object-fit: cover;
    object-position: center;
}

video-media > :is(iframe, img, svg) {
    position: absolute;
    inset: 0;
}

video-media:not([loaded]) > :is(video, iframe),
video-media[loaded] > img,
video-media[loaded] > svg,
video-media[loaded] .play-button {
    opacity: 0;
    visibility: hidden;
}

video-media[suspended] ~ * {
    pointer-events: none;
}

@media screen and (min-width: 1024px) {
    model-media[loaded] ~ * {
        pointer-events: none;
    }
}

.play-button {
    position: absolute;
    width: var(--sp-7);
    height: var(--sp-7);
    inset-inline-end: var(--sp-2);
    inset-block-start: var(--sp-2);
    transition: var(--animation-short);
    transition-property: opacity, visibility;
    background-color: rgb(var(--color-background));
}

@media screen and (pointer: fine) {
    :is(video-media, model-media) .play-button:hover > svg:first-child {
        animation: beat 0.6s infinite ease;
    }
}

.play-button .icon {
    width: var(--sp-3);
    height: var(--sp-3);
}

:is(.product__preview, .product__media-list) .play-button {
    width: var(--sp-10);
    height: var(--sp-10);
    inset-inline-end: var(--sp-4);
    inset-block-start: var(--sp-4);
}

:is(.product__preview, .product__media-list) .play-button[hidden] {
    display: none;
}

:is(.product__preview, .product__media-list) .play-button .icon {
    width: var(--sp-4);
    height: var(--sp-4);
}

:is(.product__preview, .product__media-list)
.shopify-model-viewer-ui
.shopify-model-viewer-ui__button--control,
:is(.product__preview, .product__media-list)
.shopify-model-viewer-ui
.shopify-model-viewer-ui__control-icon {
    width: var(--sp-10);
    height: var(--sp-10);
}

:is(.product__preview, .product__media-list)
.shopify-model-viewer-ui
.shopify-model-viewer-ui__button--control:not(:last-child)::after {
    width: 100%;
    inset-inline-end: 0;
}

[data-rounded-block="round"]
:is(.product__preview, .product__media-list)
.shopify-model-viewer-ui
.shopify-model-viewer-ui__controls-area {
    border-radius: var(--sp-1);
}

.product__media {
    background-color: rgb(var(--color-placeholder));
}

@media screen and (min-width: 1024px) {
    .product__media {
        border-radius: var(--card-radius);
    }
}

@media screen and (min-width: 768px) {
    .product__media.media--adapt > :is(img, svg, video-media) {
        object-fit: contain;
        object-position: top center;
    }
}

@media screen and (max-width: 767px) {
    .product__media.mobile\:media--adapt > :is(img, svg, video-media) {
        object-fit: contain;
        object-position: top center;
    }
}

[data-shopify-xr-hidden] {
    display: none;
}

button:is([is="media-lightbox-button"], [is="media-hover-button"]) {
    cursor: zoom-in;
    border-radius: var(--rounded-block);
}

button:is(
    [is="media-lightbox-button"],
    [is="media-hover-button"]
  ):focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px rgb(var(--color-keyboard-focus));
}

.product__media-container .slider {
    margin-inline: 0;
    padding-inline: 0;
    scroll-padding-inline: 0;
    border-radius: var(--rounded-block);
    transform: translateZ(0);
}

@media screen and (min-width: 1024px) {
    .product--thumbnail .product__media-container .indicators {
        display: flex;
        justify-content: space-between;
        padding: var(--sp-6);
        transition: opacity var(--animation-primary);
    }

    .product--thumbnail .product__media-container .indicators .button {
        --border-opacity: 0.1;
        background-color: rgb(var(--color-button-text));
    }

    @media screen and (pointer: fine) {
        .product--thumbnail
        .product__media-container
        .indicators:has(> .button:focus-visible),
        .product--thumbnail .product__media-container:hover .indicators {
            opacity: 1;
        }
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .slider .product__media {
        width: 75%;
        scroll-snap-align: center;
    }
}

@media screen and (min-width: 1280px) {
    .product--scroll .product__gallery {
        grid-template-columns: 1fr 0.55fr;
    }

    .product--scroll .product__media-list {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

.product--thumbnail .product__media-list,
.product--dots .product__media-list {
    margin-inline: 0;
    padding-inline: 0;
    scroll-padding-inline: 0;
}

@media screen and (min-width: 1024px) {
    .product--thumbnail .product__media-list,
    .product--dots .product__media-list {
        gap: 0;
    }

    .product--thumbnail .product__media-list .play-button,
    .product--thumbnail
    .shopify-model-viewer-ui
    .shopify-model-viewer-ui__button--poster {
        width: var(--sp-14);
        height: var(--sp-14);
    }

    .product--thumbnail .product__media-list .play-button .icon {
        width: var(--sp-5);
        height: var(--sp-5);
    }
}

.product--thumbnail .product__media-list .product__media {
    border-radius: 0;
}

.product__thumbnails-list {
    grid-auto-flow: column;
    overflow-x: scroll;
}

.product__thumbnail {
    width: var(--sp-23);
}

.product__thumbnail::after {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    --tw-ring-inset: inset;
    --tw-ring-color: transparent;
    content: "";
    inset: 0;
    position: absolute;
    pointer-events: none;
    transition: box-shadow var(--animation-fast);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
    var(--tw-shadow);
}

.product__thumbnail[aria-current="true"]::after {
    --tw-ring-color: rgb(var(--color-foreground));
}

[data-rounded-block="round"] .product__thumbnail,
[data-rounded-block="round"] .product__thumbnail::after {
    border-radius: var(--sp-2d5);
}

@media screen and (min-width: 1280px) {
    .product__thumbnails--beside {
        order: -1;
        width: var(--sp-28);
    }

    .product__thumbnails--beside .product__thumbnails-list {
        grid-auto-flow: row;
        overflow-y: scroll;
        max-height: 630px;
    }

    .product__thumbnails--beside .product__thumbnail {
        width: 100%;
    }
}

@media screen and (max-width: 1023px) {
    .product__gallery--partial .slider .product__media {
        width: 75%;
    }

    .product__gallery
    button:is([is="media-lightbox-button"], [is="media-hover-button"]) {
        pointer-events: auto;
        width: var(--sp-10);
        height: var(--sp-10);
        inset: unset;
        inset-inline-end: var(--sp-4);
        inset-block-start: var(--sp-4);
        color: rgb(var(--color-foreground));
        background-color: rgb(var(--color-background) / 0.7);
        border-radius: var(--rounded-full);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
        border: 1px solid rgb(var(--color-border));
    }

    .product__thumbnail {
        width: var(--sp-15);
    }

    .product__thumbnails.with-dots,
    .product__thumbnails.with-dots .product__thumbnails-list {
        position: absolute;
        bottom: 25px;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0;
    }

    .product__thumbnails.with-dots .product__thumbnails-list {
        flex-wrap: wrap;
    }

    .product__thumbnails.with-dots .product__thumbnail:not([hidden]) {
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: var(--sp-6);
        height: var(--sp-6);
        border-radius: var(--rounded-full);
        transition: box-shadow var(--animation-primary);
        background-color: transparent;
    }

    .product__thumbnails.with-dots .product__thumbnail::after {
        content: none;
    }

    .product__thumbnails.with-dots .product__thumbnail::before {
        content: "";
        display: block;
        width: 5px;
        height: 5px;
        background-color: rgb(var(--color-foreground));
        border-radius: var(--rounded-full);
        transition: var(--animation-primary);
        transition-property: background-color, box-shadow;
    }

    .product__thumbnails.with-dots
    .product__thumbnail[aria-current="true"]::before {
        width: 5px;
        height: 5px;
        background-color: transparent;
        box-shadow: 0 0 0 2px rgb(var(--color-foreground));
    }

    .product__thumbnails.with-dots .product__thumbnail :is(img, svg) {
        visibility: hidden;
        position: absolute;
    }

    .product__thumbnails.with-dots .product__thumbnail .play-button {
        clip: rect(0, 0, 0, 0);
        border-width: 0;
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        white-space: nowrap;
        width: 1px;
    }
}

.product__media--variant:not(:first-child) {
    display: none;
}

.no-js
.product--thumbnail
.product__media-list
.product__media:not(:first-child) {
    display: none;
}

.product--scroll .product__gallery.with-only1 {
    grid-template-columns: 1fr;
}

@media screen and (min-width: 1024px) {
    .product--scroll .product__gallery.with-only1 .product__preview.lg\:sticky {
        height: auto;
        max-height: unset;
    }
}

.product--scroll
.product__gallery.with-only1
.product__preview
.product__media {
    height: auto;
}

:is(.product--scroll, .product--columns)
.product__gallery.with-only1
.product__media-list {
    grid-template-columns: 1fr;
}

:is(.product--scroll, .product--columns)
.product__gallery.with-only1
.product__media-list
.product__media {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .product--thumbnail
    .product__media.media--adapt_first
    > :is(img, svg, video-media),
    .product--thumbnail
    .product__thumbnail.media--adapt_first
    > :is(img, svg, video-media),
    .swatches--variant .color-swatch.aspect-adapt_first {
        aspect-ratio: var(--aspect-ratio);
    }
}

@media screen and (max-width: 767px) {
    .product__media.mobile\:media--adapt > :is(img, svg, video-media),
    .product__thumbnail.mobile\:media--adapt > :is(img, svg, video-media),
    .product__media.mobile\:media--adapt_first > :is(img, svg, video-media),
    .product__thumbnail.mobile\:media--adapt_first > :is(img, svg, video-media),
    .swatches--variant .color-swatch.mobile\:aspect-adapt_first {
        aspect-ratio: var(--aspect-ratio);
    }

    .swatches--variant .color-swatch.mobile\:aspect-adapt {
        aspect-ratio: unset;
    }
}

/*! image-with-text */

.image-with-text .rich-text > * + *:not(.spacing-section) {
    margin-block-start: var(--sp-7d5);
}

.image-with-text .rich-text > .banner__subheading + .heading {
    margin-block-start: var(--sp-6);
}

.image-with-text__media.with-2nd-image {
    padding-inline: var(--page-padding);
}

.image-with-text__item .media:not(.media--rounded) {
    border-radius: var(--rounded-block);
}

.image-with-text__image-second {
    inset-block-start: 50%;
    width: 35%;
    transform: translateY(-50%);
}

.image-with-text__image-second .media {
    transform: rotate(calc(-4deg * var(--transform-logical)));
}

.image-with-text__image-second + .image-with-text__image-first {
    transform: rotate(calc(3deg * var(--transform-logical)));
    width: 75%;
    margin-inline-start: auto;
}

.image-with-text__media .aspect-adapt .placeholder {
    aspect-ratio: 5 / 6;
}

@media screen and (max-width: 1023px) {
    .image-with-text__item .rich-text {
        padding-block-start: var(--sp-10);
    }

    .flex-col-reverse .image-with-text__item + .image-with-text__item .rich-text {
        padding-block-start: 0;
        padding-block-end: var(--sp-10);
    }
}

@media screen and (min-width: 1024px) {
    .image-with-text {
        gap: 0;
    }

    .image-with-text .rich-text > * + *:not(.spacing-section) {
        margin-block-start: var(--sp-10);
    }

    .image-with-text__item + .image-with-text__item .rich-text {
        padding-inline-start: var(--grid-gap);
    }

    .lg\:flex-row-reverse
    .image-with-text__item
    + .image-with-text__item
    .rich-text {
        padding-inline-start: 0;
        padding-inline-end: var(--grid-gap);
    }

    .image-with-text__item {
        width: 44%;
    }

    .image-with-text__media.with-2nd-image {
        padding-inline: calc(var(--grid-gap) / 2);
    }

    .image-with-text__image-second {
        width: 40%;
    }
}

@media screen and (min-width: 1536px) {
    .image-with-text__item:not(.lg\:grow-0)
    .image-with-text__media.with-2nd-image {
        padding-inline: var(--grid-gap);
    }

    .image-with-text__item.lg\:grow-0 + .image-with-text__item .rich-text {
        padding-inline-start: 15%;
    }

    .lg\:flex-row-reverse
    .image-with-text__item.lg\:grow-0
    + .image-with-text__item
    .rich-text {
        padding-inline-start: 0;
        padding-inline-end: 15%;
    }
}

.image-with-text.with-background {
    color: rgb(var(--color-foreground));
    background: var(--gradient-background-2);
    background-color: rgb(var(--color-background-2));
    border-radius: var(--rounded-block);
}

.image-with-text.with-background .image-with-text__image {
    min-height: 100%;
}

.image-with-text.with-background .image-with-text__image .media {
    border-radius: 0;
}

.image-with-text.with-background .image-with-text__item .rich-text {
    padding: var(--sp-10);
}

@media screen and (min-width: 1024px) {
    .image-with-text.with-background .image-with-text__item .rich-text {
        padding: var(--grid-gap);
    }

    .lg\:flex-row-reverse.with-background
    .image-with-text__item
    + .image-with-text__item
    .rich-text {
        padding-inline-start: var(--grid-gap);
    }
}

@media screen and (min-width: 1280px) {
    .image-with-text.with-background .image-with-text__item .rich-text {
        padding-inline: var(--sp-14);
    }
}

@media screen and (min-width: 1536px) {
    .page-width:not(.page-width--narrow)
    .image-with-text.with-background
    .image-with-text__item
    .rich-text {
        padding-inline: clamp(var(--sp-20), 6.737vw, var(--sp-32));
    }

    .with-background
    .image-with-text__item
    + .image-with-text__item.lg\:grow-0
    .rich-text {
        padding-inline-end: 15%;
    }

    .lg\:flex-row-reverse.with-background
    .image-with-text__item
    + .image-with-text__item.lg\:grow-0
    .rich-text {
        padding-inline-start: 15%;
    }
}

/*! scrolling-banner */

.scrolling-banner .image-with-text {
    background: none;
    border-radius: 0;
}

.scrolling-banner .image-with-text .image-with-text__content {
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
    transition: opacity var(--animation-primary);
}

.scrolling-banner .image-with-text.with-background .image-with-text__content {
    background: var(--gradient-background-2);
    background-color: rgb(var(--color-background-2));
    border-radius: var(--rounded-block);
}

.scrolling-banner
.image-with-text.with-background
.image-with-text__image
.media {
    border-radius: var(--rounded-block);
}

.scrolling-banner
.image-with-text
.image-with-text__image
> .media:not(:first-child) {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}

@media screen and (min-width: 1024px) {
    .scrolling-banner {
        height: calc(var(--scrolling-height) + 15vh);
    }

    .scrolling-banner .image-with-text {
        gap: var(--sp-2);
    }

    .scrolling-banner .media--100vh {
        height: calc(100vh - var(--sticky-header-height, 0px) - 40px);
    }

    @supports (height: 100svh) {
        .scrolling-banner .media--100vh {
            height: calc(100svh - var(--sticky-header-height, 0px) - 40px);
        }
    }
}

/*! highlighted-text */

@keyframes strokeAnimation {
    0% {
        stroke-dashoffset: 1;
        opacity: 0;
    }

    1% {
        opacity: 1;
    }

    100% {
        stroke-dashoffset: 0;
    }
}

.highlighted-text .icon {
    z-index: -1;
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    stroke: rgb(var(--color-highlight));
    transform: scaleX(var(--transform-logical));
}

.highlighted-text .icon-circle {
    width: 120%;
    height: 140%;
    inset-block-start: -20%;
    inset-inline-start: -10%;
}

.highlighted-text .icon-basic-underline {
    width: 100%;
    height: 30%;
    inset-block-start: auto;
    inset-block-end: -20%;
}

.highlighted-text .icon-sketch-underline {
    width: 100%;
    height: 60%;
    inset-block-start: auto;
    inset-block-end: -20%;
}

.highlighted-text .icon-squiggle-underline {
    width: 100%;
    height: 50%;
    inset-block-start: auto;
    inset-block-end: -30%;
}

.highlighted-text .icon-squiggle-underline-2 {
    width: 100%;
    height: 50%;
    inset-block-start: auto;
    inset-block-end: -35%;
}

.highlighted-text .icon path {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    opacity: 0;
}

.highlighted-text.animate .icon path {
    opacity: 1;
    animation: strokeAnimation 1.3s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

.highlighted-text[data-style="text"] {
    transition: color var(--animation-smooth);
}

.highlighted-text.animate[data-style="text"] {
    color: rgb(var(--color-highlight));
}

.highlighted-text:is(
    [data-style="full_text"],
    [data-style="half_text"],
    [data-style="underline"]
  ) {
    background-repeat: no-repeat;
    background-image: linear-gradient(
            to var(--transform-origin-end),
            rgb(var(--color-highlight)) 0,
            rgb(var(--color-background)) 100%
    ),
    linear-gradient(
            to var(--transform-origin-end),
            rgb(var(--color-highlight)) 0,
            rgb(var(--color-background)) 100%
    );
    transition: background-size var(--animation-smooth);
}

.highlighted-text.with-gradient:is(
    [data-style="full_text"],
    [data-style="half_text"],
    [data-style="underline"]
  ) {
    background-image: var(--gradient-highlight);
}

.highlighted-text[data-style="full_text"] {
    background-position: var(--transform-origin-start) 70%;
    background-size: 0 80%;
}

.highlighted-text.animate[data-style="full_text"] {
    background-size: 100% 80%;
}

.highlighted-text[data-style="half_text"] {
    background-position: var(--transform-origin-start) 90%;
    background-size: 0 28%;
}

.highlighted-text.animate[data-style="half_text"] {
    background-size: 100% 28%;
}

.highlighted-text[data-style="underline"] {
    background-size: 0 3px, 0% 80%;
    background-position: var(--transform-origin-start) 90%,
    var(--transform-origin-start) 50%;
}

.highlighted-text.animate[data-style="underline"] {
    background-size: 100% 3px, 0% 80%;
}

.highlighted-text[data-style="stencil"] {
    -webkit-text-stroke: var(--stencil-stroke-width, 0.02em) currentColor;
    -webkit-text-fill-color: transparent;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .js .highlighted-text.with-gradient[data-style="text"] {
        -webkit-text-fill-color: transparent;
        -webkit-background-clip: text;
        background-clip: text;
        background-repeat: no-repeat;
        background-image: var(--gradient-highlight);
        background-position: var(--transform-origin-start) 100%;
        background-size: 0 100%;
        transition: background-size var(--animation-smooth);
    }

    .js .highlighted-text.with-gradient.animate[data-style="text"] {
        background-size: 100% 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .highlighted-text .icon path {
        opacity: 1;
        animation: strokeAnimation forwards;
    }

    .highlighted-text[data-style="text"] {
        color: rgb(var(--color-highlight));
    }

    .highlighted-text[data-style="full_text"] {
        background-size: 100% 80%;
    }

    .highlighted-text[data-style="half_text"] {
        background-size: 100% 28%;
    }

    .highlighted-text[data-style="underline"] {
        background-size: 100% 3px, 0% 80%;
    }

    @media screen and (-webkit-min-device-pixel-ratio: 0) {
        .js .highlighted-text.with-gradient[data-style="text"] {
            background-size: 100% 100%;
        }
    }
}

/*! testimonials */

.testimonials::after {
    content: "flickity";
    display: none;
}

.testimonial blockquote {
    margin-block: 0;
}

.testimonial.with-none blockquote {
    padding-block-start: 0;
}

.testimonial.with-none blockquote::before {
    content: none;
}

.testimonial:is(
    .with-5-stars,
    .with-4-stars,
    .with-3-stars,
    .with-2-stars,
    .with-1-star
  )
blockquote::before {
    -webkit-mask-image: none;
    mask-image: none;
    width: auto;
    height: auto;
    background-color: transparent;
}

.testimonial.with-5-stars blockquote::before {
    content: "★★★★★";
}

.testimonial.with-4-stars blockquote::before {
    content: "★★★★";
}

.testimonial.with-3-stars blockquote::before {
    content: "★★★";
}

.testimonial.with-2-stars blockquote::before {
    content: "★★";
}

.testimonial.with-1-star blockquote::before {
    content: "★";
}

.testimonial figure {
    width: clamp(var(--sp-16), 4.21vw, var(--sp-20));
    margin-block-start: var(--sp-8d5);
}

.testimonial figure.media--adapt {
    width: auto;
}

.testimonial figure + cite {
    line-height: normal;
    margin-block-start: var(--sp-2d5);
}

.testimonials .flickity-page-dots {
    margin-block-start: clamp(var(--sp-6), 2.105vw, var(--sp-10));
}

.banner .testimonial :is(figure, cite) {
    opacity: 0.6;
}

.testimonials > .testimonial ~ .testimonial,
.no-js .testimonials .testimonial:not(:first-child) {
    display: none;
}

/*! reveal-testimonials */

.reveal-testimonials blockquote {
    text-align: unset;
    padding-block: 0;
    display: grid;
    gap: var(--sp-10);
}

.reveal-testimonials blockquote::before {
    content: none;
}

.reveal-testimonials blockquote p {
    font-size: clamp(var(--text-lg), 1.053vw, var(--text-xl));
}

.reveal-testimonials :is(figure, cite) {
    margin-block: 0;
}

.reveal-testimonials .testimonial {
    padding: var(--sp-6);
    border-radius: var(--rounded-block);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.reveal-testimonials .testimonial:nth-child(even) {
    justify-self: flex-start;
    background-color: color-mix(
            in srgb,
            rgb(var(--color-foreground) / 0.25) 25%,
            rgb(var(--color-base-background)) 70%
    );
}

.reveal-testimonials .testimonial:nth-child(odd) {
    justify-self: flex-end;
    background-color: rgb(var(--color-base-background) / 0.75);
}

.reveal-testimonials .testimonial:is(:first-child, :last-child) {
    justify-self: center;
}

.testimonials-title .split-words + .whitespace {
    width: 0.2em;
}

@media screen and (min-width: 768px) {
    .reveal-testimonials {
        padding-block-start: clamp(var(--sp-8), 2.526vw, var(--sp-12));
        width: calc(clamp(340px, 30vw, 480px) * 2 - var(--sp-20));
    }

    .reveal-testimonials .testimonial {
        width: clamp(340px, 30vw, 480px);
    }

    .testimonials-title {
        position: sticky;
        inset-block-start: 50%;
        transform: translateY(-50%);
    }

    .testimonials-title .split-words ~ .split-words {
        transform: translateY(100%);
    }
}

@media screen and (min-width: 1024px) {
    .reveal-testimonials .testimonial {
        padding-inline: var(--sp-8);
    }
}

/*! timeline */

.slider .timeline {
    --slider-item-width: var(--page-container);
    --card-grid-gap: var(--sp-10);
}

.slider .timeline.with-only1 {
    --slider-item-width: var(--page-container);
}

.slider .timeline::after {
    content: "";
}

.timeline__item {
    width: 100%;
}

.timeline__item > .flex {
    border-radius: var(--rounded-block);
    background-color: rgb(var(--color-foreground) / 0.04);
}

.timeline__item::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-color: rgb(var(--color-background) / 0.75);
    transition: opacity var(--animation-primary);
}

.timeline__item.selected::after {
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
    .timeline__item::after {
        content: none;
    }
}

.timeline__item-content {
    padding: var(--sp-7d5);
}

.timeline__item-content .button {
    margin-block-start: var(--sp-4d5);
}

.timeline__item-content .heading {
    padding-block-end: var(--sp-2);
}

.timeline-dots {
    width: max-content;
    min-width: 100%;
    margin-block-start: var(--sp-8);
    grid: auto / repeat(var(--section-blocks-count), minmax(0, 1fr));
}

.timeline-dots button {
    word-break: normal;
    transition: color var(--animation-primary);
}

.timeline-dots button[aria-current="false"] {
    color: rgb(var(--color-foreground) / 0.25);
}

.timeline-dots button::after {
    content: "";
    display: block;
    background-color: rgb(var(--color-foreground) / 0.25);
    width: 100%;
    height: 1px;
    min-width: var(--sp-10);
}

@media screen and (min-width: 768px) {
    .timeline__item > .flex {
        gap: var(--grid-gap);
    }

    .timeline__item-content {
        padding-inline-start: 0;
        padding-inline-end: var(--grid-gap);
        padding-block: var(--grid-gap);
    }

    .timeline-dots button::after {
        min-width: var(--sp-24);
    }
}

@media screen and (min-width: 1024px) {
    .timeline__item > .flex {
        gap: var(--sp-18);
    }

    .timeline__item-content {
        padding-inline-end: var(--sp-18);
        padding-block: var(--sp-24);
    }

    .timeline__item-content .heading {
        padding-block-end: var(--sp-4d5);
    }

    .timeline-dots button::after {
        min-width: unset;
    }
}

@media screen and (min-width: 1280px) {
    .slider .timeline {
        --slider-item-width: calc(var(--page-container) * 0.85);
    }

    .timeline-dots button {
        font-size: var(--fluid-base-to-2xl);
        letter-spacing: -0.025em;
    }

    .timeline-dots {
        margin-block-start: var(--sp-14);
    }
}

@media screen and (min-width: 1536px) {
    .slider .timeline {
        --slider-item-width: calc(var(--page-container) * 0.6667);
    }
}

.no-js .timeline__item::after {
    content: none;
}

/*! portfolio */

.portfolio-section .button-wrapper {
    flex: 0 0 auto;
}

@media screen and (min-width: 1024px) {
    .portfolio-section .collage.on-scroll {
        grid-template-columns: 2fr 3fr;
    }
}

@media screen and (max-width: 1279px) {
    .portfolio-title.text-center {
        display: grid;
        justify-content: center;
        gap: 0;
    }
}

@media screen and (min-width: 1280px) {
    .portfolio-title.text-center:not(.xl\:hidden) {
        display: grid;
        justify-content: center;
        gap: 0;
    }
}

@media screen and (min-width: 768px) {
    .profile .portfolio-title {
        display: grid;
    }
}

.profile .title-wrapper {
    display: grid;
    margin-block-end: 0;
}

.profile .media {
    border-radius: var(--rounded-block);
}

.profile__content {
    padding: var(--sp-6);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background) / 0.5);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

[data-rounded-block="round"] .profile__content {
    border-end-start-radius: var(--rounded-block);
    border-end-end-radius: var(--rounded-block);
}

.profile__button {
    width: var(--sp-8);
    height: var(--sp-8);
    color: rgb(var(--color-background));
    background-color: rgb(var(--color-foreground));
}

.profile__button .icon {
    --tw-rotate: 0deg;
    width: var(--sp-3);
    height: var(--sp-3);
    stroke-width: 2;
    transform: rotate(var(--tw-rotate));
    transition: transform var(--animation-primary), opacity var(--animation-fast);
}

.profile__content .icon .fill {
    fill: rgb(var(--color-foreground));
}

.profile__button[aria-expanded="true"] .icon {
    --tw-rotate: 90deg;
}

@media screen and (pointer: fine) {
    .profile__button:hover .icon {
        --tw-rotate: 90deg;
    }
}

@media screen and (min-width: 768px) {
    .profile__content {
        padding: var(--sp-7d5);
    }

    .profile-modal[active] > .overlay {
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
    }
}

@media screen and (min-width: 1280px) {
    .profile .spacing-section {
        display: block;
        height: var(--sp-8);
    }

    .profile__content {
        padding: var(--sp-10);
    }

    .profile__button {
        width: var(--sp-10);
        height: var(--sp-10);
    }

    .profile__button .icon {
        width: var(--sp-3d5);
        height: var(--sp-3d5);
    }
}

/*! video-hero */

.mobile\:deferred-media + .deferred-media {
    display: none;
}

@media screen and (min-width: 768px) {
    .mobile\:deferred-media,
    .mobile\:deferred-media[host] {
        display: none;
    }

    .mobile\:deferred-media + .deferred-media {
        display: block;
    }

    .mobile\:deferred-media + .deferred-media[host] {
        display: grid;
    }
}

.deferred-poster .play-button {
    width: var(--sp-10);
    height: var(--sp-10);
    inset-block-start: var(--sp-5);
    inset-inline-end: var(--sp-5);
    color: rgb(var(--color-base-text));
    background-color: rgb(var(--color-base-background));
    transition: var(--animation-short);
    transition-property: opacity, background-color, backdrop-filter;
}

@media screen and (min-width: 1024px) {
    .deferred-poster .play-button {
        width: var(--sp-12);
        height: var(--sp-12);
    }

    .deferred-poster .play-button .icon {
        width: var(--sp-4);
        height: var(--sp-4);
    }
}

video-media[playing] .deferred-poster .play-button {
    /* background-color: rgb(var(--color-base-background)/ 0.7); */
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    background: #000;
    color: #fff;
}

video-media .deferred-poster .play-button {
    opacity: 1;
    visibility: visible;
    background: #000;
    color: #fff;
}

video-media[playing]
.deferred-poster
.play-button
.icon:first-child:not(:only-child),
video-media:not([playing])
.deferred-poster
.play-button
.icon:last-child:not(:only-child) {
    display: none;
}

.video-hero video-media .play-button {
    inset-block-start: auto;
    inset-block-end: var(--sp-5);
    inset-inline-end: var(--sp-5);
}

.js .section:not(.section--next-rounded) .video-hero video-media .play-button {
    inset-block-end: calc(var(--sp-5) + var(--border-radius));
}

.js
.section:not(.section--next-rounded)
.page-width
.video-hero
video-media
.play-button {
    inset-block-end: var(--sp-5);
}

.video-hero__content {
    margin-block-start: -100vh;
}

.video-hero__content .banner__box {
    padding-block: 50vh 25vh;
}

.video-hero__content .banner__box > * {
    margin-block-start: 0;
    padding-block-end: 33vh;
}

/*! collage */

.collage.on-scroll {
    gap: var(--grid-gap);
    overflow: hidden;
}

@supports (overflow: clip) {
    .collage.on-scroll {
        overflow-y: clip;
        overflow-x: visible;
    }
}

.collage .title-wrapper {
    display: grid;
    margin-block-end: 0;
}

.collage .title-wrapper > :is(p) {
    margin-block-start: var(--sp-3);
}

.collage__item {
    border-radius: var(--rounded-block);
}

@media screen and (pointer: fine) {
    .collage__item.with-image .media + .media {
        transition: opacity var(--animation-primary);
    }

    .collage__item.with-image:hover .media + .media ~ * {
        color: rgb(var(--color-foreground));
    }

    .collage__item.with-image:hover .media + .media {
        opacity: 1;
        pointer-events: auto;
    }
}

.js .collage .banner .banner__overlay {
    height: 100%;
}

.collage .banner__overlay {
    background: linear-gradient(
            180deg,
            rgb(var(--color-overlay) / 0) 50%,
            rgb(var(--color-overlay) / var(--overlay-opacity)) 100%
    );
}

.collage .banner__overlay.items-start {
    background: linear-gradient(
            180deg,
            rgb(var(--color-overlay) / var(--overlay-opacity)) 0%,
            rgb(var(--color-overlay) / 0) 50%
    );
}

@media screen and (min-width: 768px) {
    .collage .banner__overlay.md\:items-start {
        background: linear-gradient(
                180deg,
                rgb(var(--color-overlay) / var(--overlay-opacity)) 0%,
                rgb(var(--color-overlay) / 0) 50%
        );
    }
}

.collage .banner__box {
    padding: var(--sp-6);
    height: 100%;
    width: 100%;
    min-width: unset;
    max-width: unset;
}

.collage .banner__box p ~ p {
    margin-block-start: var(--sp-2d5);
}

.collage.on-scroll .banner__box p {
    display: inline-block;
    max-width: max(62%, var(--sp-32));
}

.collage .deferred-media ~ * {
    transition: var(--animation-short);
    transition-property: opacity, visibility;
}

.collage .deferred-media[playing] ~ * {
    opacity: 0;
    visibility: hidden;
}

.collage .media-card__text {
    --tw-translate-x: 0;
}

@media screen and (max-width: 767px) {
    .collage-left,
    .collage-right {
        transform: translateY(0) !important;
    }
}

@media screen and (max-width: 1023px) {
    .collage.with-richtext {
        gap: clamp(var(--sp-8), 2.526vw, var(--sp-12));
    }
}

@media screen and (min-width: 1024px) {
    .collage.on-scroll {
        grid-template-columns: 1fr 2fr;
    }

    .collage.without-heading {
        grid-template-columns: 1fr;
    }

    .collage.with-richtext {
        gap: var(--grid-gap);
        grid-template-columns: 2fr 3fr;
    }

    .collage-medium.with-richtext {
        grid-template-columns: 1fr 1fr;
    }

    .collage-large.with-richtext {
        grid-template-columns: 3fr 2fr;
    }

    .collage .banner__box {
        padding: var(--sp-10);
    }
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
    .collage.on-scroll .banner__box p {
        max-width: max(82%, var(--sp-32));
    }
}

@media screen and (min-width: 1280px) {
    .collage .title-wrapper {
        padding-inline-end: var(--grid-gap);
    }
}

@media screen and (min-width: 1536px) {
    .collage.with-richtext {
        gap: 0;
        grid-template-columns: 3fr 4fr;
    }

    .collage-medium.with-richtext {
        grid-template-columns: 1fr 1fr;
    }

    .collage-large.with-richtext {
        grid-template-columns: 4fr 3fr;
    }

    .collage.with-richtext,
    .collage.with-richtext .title-wrapper,
    .collage.with-richtext .rich-text {
        padding-inline: var(--grid-gap);
    }
}

/*! collage-grid */

.collage.with-grid {
    grid: auto-flow dense var(--collage-row-height) / repeat(2, minmax(0, 1fr));
}

.collage.with-grid .collage__item {
    grid-area: span min(2, var(--collage-row)) / span min(2, var(--collage-column));
}

@media screen and (min-width: 768px) {
    .collage.with-grid {
        --row-height: max(150px, min(100vw / 5, var(--collage-row-height)));
        grid: auto-flow dense var(--row-height) / repeat(10, minmax(0, 1fr));
    }

    .collage.with-grid .collage__item {
        grid-area: span var(--collage-row) / span var(--collage-column);
    }
}

/*! featured-collections */

.featured-collections .title-wrapper {
    margin-block-end: var(--sp-6);
}

.tab-list .scroll-area {
    overflow-y: auto;
}

.tab-list {
    margin-block-end: clamp(var(--sp-8), 2.526vw, var(--sp-12));
}

.tab__item {
    --buttons-border-width: 0;
}

.tab__item[disabled] {
    opacity: 1;
}

.tab__item.button--secondary {
    background-color: rgb(var(--color-foreground) / 0.025);
}

.tab__item img {
    max-width: var(--sp-5d5);
}

@media screen and (max-width: 767px) {
    .tab-list .scroll-area {
        padding-inline: var(--page-padding);
        margin-inline: calc(var(--page-padding) * -1);
    }

    .tab__item {
        max-height: 2.75rem;
        font-size: var(--text-xs);
        padding: var(--sp-3d5) var(--sp-4);
    }
}

/*! countdown-timer */

.countdown__timer {
    --countdown-gap: var(--sp-8);
    column-gap: var(--countdown-gap);
    row-gap: calc(var(--countdown-gap) / 2);
}

.countdown__timer:not([hidden]) + .countdown__message {
    display: none;
}

.countdown__item {
    display: grid;
    gap: var(--sp-2);
}

.countdown__item span {
    line-height: normal;
    font-size: var(--text-xs);
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.countdown__item p {
    position: relative;
    display: grid;
    align-items: center;
    line-height: 1;
    white-space: nowrap;
}

.countdown__timer.body .countdown__item p {
    font-weight: var(--font-body-weight);
    letter-spacing: var(--font-body-letter-spacing);
}

.countdown__timer.heading .countdown__item p {
    font-weight: var(--font-heading-weight);
    letter-spacing: var(--font-heading-letter-spacing);
}

.countdown__item p::after {
    content: ":";
    position: absolute;
    line-height: 1;
    font-size: var(--title-sm);
    inset-inline-end: calc(var(--countdown-gap) / -2);
    transform: translateX(calc(50% * var(--transform-logical)));
    color: rgb(var(--color-highlight));
}

.countdown__item:last-child p::after {
    content: none;
}

@media screen and (min-width: 1024px) {
    .countdown__timer {
        --countdown-gap: var(--sp-12);
    }
}

/*! image-comparison */

.image-comparison {
    --percent: 50%;
    --button-touch: 44px;
    --button-line: 3px;
    --button-width: 28px;
    --button-height: 48px;
    --svg-width: 10px;
    border-radius: var(--rounded-block);
}

@media screen and (min-width: 1024px) {
    .image-comparison {
        --button-line: 4px;
        --button-width: 38px;
        --button-height: 64px;
        --svg-width: 12px;
    }
}

.js .image-comparison {
    --percent: 10%;
}

.js .image-comparison[animate] {
    --percent: 50%;
}

@media (prefers-reduced-motion: reduce) {
    .js .image-comparison,
    .js .image-comparison[animate] {
        --percent: 50%;
    }
}

.image-comparison.animating .comparison__after {
    transition: clip-path var(--animation-smooth);
}

.image-comparison.animating .comparison__button {
    transition: var(--animation-smooth);
    transition-property: inset-block-start, inset-inline-start;
}

.image-comparison[data-layout="horizontal"] .comparison__after {
    clip-path: inset(0px 0px 0px var(--percent));
}

.image-comparison[data-layout="vertical"] .comparison__after {
    clip-path: inset(var(--percent) 0px 0px 0px);
}

.comparison__button {
    color: currentColor;
    background: none;
    border: none;
}

.image-comparison[data-layout="horizontal"] .comparison__button {
    inset-block-start: 0;
    inset-inline-start: var(--percent);
    height: 100%;
    width: var(--button-touch);
    margin-inline-start: calc(var(--button-touch) / -2);
    cursor: col-resize;
}

.image-comparison[data-layout="vertical"] .comparison__button {
    inset-inline-start: 0;
    inset-block-start: var(--percent);
    width: 100%;
    height: var(--button-touch);
    margin-block-start: calc(var(--button-touch) / -2);
    cursor: row-resize;
}

.comparison__button::before,
.comparison__button::after {
    content: "";
    z-index: -1;
    position: absolute;
    background-color: rgb(var(--color-background));
}

.image-comparison[data-layout="horizontal"] .comparison__button::before,
.image-comparison[data-layout="horizontal"] .comparison__button::after {
    width: var(--button-line);
    height: 50%;
    inset-inline-start: 50%;
    margin-inline-start: calc(var(--button-line) / -2);
}

.image-comparison[data-layout="vertical"] .comparison__button::before,
.image-comparison[data-layout="vertical"] .comparison__button::after {
    width: 50%;
    height: var(--button-line);
    inset-block-start: 50%;
    margin-block-start: calc(var(--button-line) / -2);
}

.image-comparison[data-layout="horizontal"] .comparison__button::before {
    inset-block-start: 0;
}

.image-comparison[data-layout="horizontal"] .comparison__button::after {
    inset-block-end: 0;
}

.image-comparison[data-layout="vertical"] .comparison__button::before {
    inset-inline-start: 0;
}

.image-comparison[data-layout="vertical"] .comparison__button::after {
    inset-inline-end: 0;
}

.comparison__button span {
    inset-block-start: 50%;
    inset-inline-start: 50%;
    width: var(--button-width);
    height: var(--button-height);
    margin-inline-start: calc(var(--button-width) / -2);
    margin-block-start: calc(var(--button-height) / -2);
    border-radius: var(--rounded-full);
    background-color: rgb(var(--color-background));
}

.image-comparison[data-layout="vertical"] .comparison__button span {
    transform: rotate(90deg);
}

.comparison__button svg {
    width: var(--svg-width);
}

.comparison__after .placeholder {
    background-color: rgb(var(--color-base-text) / 0.6);
}

@media screen and (max-width: 767px) {
    .image-comparison:is(
      .media--adapt.mobile\:media--auto,
      .mobile\:media--adapt
    ) {
        height: auto;
    }

    .image-comparison:is(.media--adapt.mobile\:media--auto, .mobile\:media--adapt)
    .media {
        height: 0;
        padding-block-end: var(--ratio-percent);
    }
}

@media screen and (min-width: 768px) {
    .image-comparison.media--adapt .media {
        height: 0;
        padding-block-end: var(--ratio-percent);
    }
}

.image-comparison.scrolling .comparison__box {
    opacity: 0;
}

.comparison__box {
    padding: clamp(var(--sp-5), 2.105vw, var(--sp-10));
    color: rgb(var(--color-foreground));
    transition: opacity var(--animation-primary);
}

.comparison__box--center {
    align-items: center;
}

.comparison__box--end {
    align-items: flex-end;
}

.image-comparison[data-layout="vertical"] .comparison__box {
    text-align: start;
    align-items: flex-end;
}

.image-comparison[data-layout="vertical"] .comparison__box--center {
    text-align: center;
}

.image-comparison[data-layout="vertical"] .comparison__box--end {
    text-align: end;
}

.image-comparison[data-layout="vertical"] .comparison__before .comparison__box {
    align-items: flex-start;
}

[data-lazy-image]
.image-comparison[data-layout="horizontal"]
.media.loading::before,
[data-lazy-image]
.image-comparison[data-layout="horizontal"]
.media.loading::after {
    inset-inline-start: calc(var(--percent) / 2);
}

[data-lazy-image]
.image-comparison[data-layout="horizontal"]
.comparison__after
.media.loading::before,
[data-lazy-image]
.image-comparison[data-layout="horizontal"]
.comparison__after
.media.loading::after {
    inset-inline-start: calc(calc(100% - var(--percent)) / 2 + var(--percent));
}

[data-lazy-image]
.image-comparison[data-layout="vertical"]
.media.loading::before,
[data-lazy-image]
.image-comparison[data-layout="vertical"]
.media.loading::after {
    inset-block-start: calc(var(--percent) / 2);
}

[data-lazy-image]
.image-comparison[data-layout="vertical"]
.comparison__after
.media.loading::before,
[data-lazy-image]
.image-comparison[data-layout="vertical"]
.comparison__after
.media.loading::after {
    inset-block-start: calc(calc(100% - var(--percent)) / 2 + var(--percent));
}

/*! lookbook */

@keyframes hotspot {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(0.9);
    }

    to {
        transform: scale(1);
    }
}

.page-width lookbook-element {
    overflow: hidden;
    border-radius: var(--rounded-block);
}

.js .page-width lookbook-element.banner :is(.banner__overlay, .banner__media) {
    height: 100%;
}

@media screen and (min-width: 768px) {
    lookbook-element .banner__box {
        min-width: auto;
        max-width: 28rem;
        color: rgb(var(--color-foreground));
    }

    lookbook-element .banner__box .title-wrapper {
        text-align: inherit;
        flex-direction: column;
    }

    lookbook-element .banner__content .text-left .title-wrapper {
        align-items: flex-start;
    }

    lookbook-element .banner__content .text-center .title-wrapper {
        align-items: center;
    }

    lookbook-element .banner__content .text-right .title-wrapper {
        align-items: flex-end;
    }
}

.hotspot {
    --hotspot-width: var(--sp-11);
    width: var(--hotspot-width);
    height: var(--hotspot-width);
    inset-inline-start: var(--hotspot-x);
    inset-block-start: var(--hotspot-y);
    margin-inline-start: calc(var(--hotspot-width) / -2);
    margin-block-start: calc(var(--hotspot-width) / -2);
}

.hotspot::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--rounded-full);
    background-color: rgb(var(--hotspot-color) / 0.4);
    transition: box-shadow var(--animation-primary);
    animation: hotspot 2s ease infinite;
}

.hotspot::after {
    content: "";
    position: absolute;
    width: var(--sp-4);
    height: var(--sp-4);
    border-radius: var(--rounded-full);
    background-color: rgb(var(--hotspot-color));
    transition: transform var(--animation-primary);
}

@media screen and (pointer: fine) {
    .hotspot:hover::before {
        box-shadow: inset 0 0 0 var(--sp-0d5) rgb(var(--hotspot-color));
    }

    .hotspot:hover::after {
        transform: scale(1.7);
    }

    .hotspot:hover .hotspot__content {
        opacity: 1;
        transform: scale(1);
    }
}

.hotspot[aria-current="true"] {
    z-index: 2;
}

.hotspot[aria-current="true"]::after,
.hotspot.active::after {
    transform: scale(1.7);
}

.hotspot.active .hotspot__content {
    opacity: 1;
    transform: scale(1);
}

.hotspot__content {
    padding: var(--sp-2);
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    border-radius: var(--sp-2d5);
    inset-block-start: calc(100% + var(--sp-6));
    opacity: 0;
    transform: scale(0.8);
    transition: var(--animation-primary);
    transition-property: opacity, transform;
}

.hotspot__content.with-left {
    inset-inline-start: 0;
}

.hotspot__content.with-right {
    inset-inline-end: 0;
}

.hotspot__content.with-bottom {
    inset-block-start: auto;
    inset-block-end: calc(100% + var(--sp-6));
}

.with-content .hotspot__content .rte {
    min-width: var(--sp-72);
}

.with-content .hotspot__content .rte > .media {
    margin-block: 0;
}

.hotspot__content .rte {
    min-width: var(--sp-48);
    padding: var(--sp-2);
}

.hotspot__content .rte p {
    margin-block: 0;
}

.hotspot__content .icon {
    height: auto;
    inset-block-end: 100%;
    inset-inline-start: 50%;
    transform: translateX(calc(-50% * var(--transform-logical)));
    fill: rgb(var(--color-background));
}

.hotspot__content.with-left .icon {
    inset-inline-start: var(--sp-8);
}

.hotspot__content.with-right .icon {
    inset-inline-start: auto;
    inset-inline-end: var(--sp-8);
}

.hotspot__content.with-bottom .icon {
    inset-block-end: auto;
    inset-block-start: 100%;
    transform: translateX(calc(-50% * var(--transform-logical))) scaleY(-1);
}

.hotspot__content .media {
    width: var(--sp-15);
    border-radius: var(--sp-2d5);
}

.hotspot__content :is(.unit-price, .price__sale, .price__regular) {
    font-size: inherit;
}

@media screen and (min-width: 1024px) {
    .hotspot {
        --hotspot-width: var(--sp-15);
    }

    .hotspot::after {
        width: var(--sp-5);
        height: var(--sp-5);
    }

    .hotspot__content .media {
        width: var(--sp-20);
    }
}

/*! shop-the-look */

.shop-the-look .title-wrapper {
    margin-block-end: calc(
            clamp(var(--sp-8), 2.526vw, var(--sp-12)) - var(--sp-6)
    );
}

.shop-the-look .title-wrapper > .grid {
    width: 100%;
}

.shop-the-look .banner .banner__media,
.shop-the-look .banner .banner__overlay {
    border-radius: var(--rounded-block);
}

.shop-the-look .product-card {
    width: 100%;
}

.shop-the-look .product-card--standard .product-card__content {
    padding-block-end: 0;
}

.shop-the-look
.product-card--standard.product-card--thickness
.product-card__content {
    padding-block-end: clamp(var(--sp-4), 1.263vw, var(--sp-6));
}

@media screen and (max-width: 1023px) {
    .shop-the-look .product-card {
        gap: var(--sp-4);
        margin-inline-end: var(--sp-10);
        align-items: center;
        grid-template-columns: auto 1fr;
        background-color: transparent;
        border-radius: 0;
    }

    .shop-the-look .product-card.mobile\:with-quick-add {
        display: grid;
        grid-template-columns: auto 1fr auto;
    }

    .shop-the-look .product-card__media {
        overflow: hidden;
        width: var(--sp-24);
        border-radius: var(--card-radius);
    }

    .shop-the-look .product-card__content {
        padding: 0;
    }

    .shop-the-look
    .product-card
    :is(
      .badges,
      .product-card__rating,
      .product-card__bottom,
      .quick-view__button,
      .quick-add
    ) {
        display: none;
    }

    .shop-the-look .product-card__carousel {
        display: none;
    }

    .shop-the-look .product-card__carousel ~ img {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

@media screen and (max-width: 1023px) {
    .shop-the-look .product-card__content.text-center {
        text-align: unset;
    }

    .shop-the-look .product-card__content.text-center .product-card__details {
        display: flex;
    }

    .shop-the-look
    .product-card__content.text-center
    :is(.price, .unit-price, .product-card__bottom) {
        justify-content: unset;
    }

    .shop-the-look .product-card__content.text-center .price {
        align-items: unset;
        flex-direction: unset;
    }

    .shop-the-look .product-card__content.text-center .price__sale {
        place-self: unset;
    }
}

@media screen and (max-width: 767px) {
    .shop-the-look .product-card__media {
        width: var(--sp-20);
    }
}

@media screen and (min-width: 1024px) {
    .shop-the-look {
        grid-template: "title title" "lookbook carousel" / minmax(0, 2fr) minmax(
        0,
        1fr
      );
        grid-column-gap: var(--grid-gap);
    }

    .shop-the-look lookbook-element {
        grid-area: lookbook;
    }

    .shop-the-look carousel-element {
        grid-area: carousel;
    }

    .shop-the-look .title-wrapper {
        grid-area: title;
    }
}

@media screen and (min-width: 1536px) {
    .shop-the-look {
        grid-template: "lookbook title" "lookbook carousel" / minmax(0, 2fr) minmax(
        0,
        1fr
      );
        grid-template-rows: auto 1fr;
    }

    .shop-the-look carousel-element,
    .shop-the-look .title-wrapper {
        padding-inline: var(--grid-gap);
    }

    .shop-the-look .title-wrapper {
        text-align: unset;
    }

    .shop-the-look .title-wrapper .description {
        justify-self: unset;
    }
}

.shop-the-look carousel-element > .product-card ~ .product-card,
.no-js .shop-the-look carousel-element .product-card:not(:first-child) {
    display: none;
}

/*! slideshow */

.page-width .slideshow {
    border-radius: var(--rounded-block);
    transform: translateZ(0);
    overflow: hidden;
}

.page-width .slideshow :is(.banner, .banner__overlay) {
    border-radius: 0;
}

.page-width .slideshow .banner {
    margin-inline-end: 0;
}

.slideshow .flickity-viewport {
    height: 100%;
}

.slideshow > .banner ~ .banner {
    display: none;
}

.slideshow:not(.slideshow--hero) :is(.banner, .banner__overlay) {
    border-radius: var(--rounded-block);
}

.slideshow .banner__overlay {
    background: linear-gradient(
            180deg,
            rgb(var(--color-overlay) / var(--overlay-opacity)) 50%,
            rgb(var(--color-overlay) / calc(var(--overlay-opacity) * 4)) 100%
    );
}

.slideshow-logo {
    padding-block-end: calc(
            var(--grid-gap) + clamp(var(--sp-4), 2.105vw, var(--sp-10)) + var(--sp-4d5)
    );
}

.slideshow-content {
    padding: var(--page-padding);
}

@media screen and (min-width: 1024px) {
    .slideshow-content {
        padding: var(--grid-gap);
    }
}

@media screen and (min-width: 1536px) {
    .slideshow-content {
        padding-inline: calc(var(--grid-gap) * 2);
    }

    .page-width .slideshow + .page-width .slideshow-content {
        padding-inline: var(--grid-gap);
    }
}

.no-js .slideshow-dots {
    display: none;
}

.slideshow-dots .icon {
    width: clamp(var(--sp-8), 2.105vw, var(--sp-10));
    height: clamp(var(--sp-8), 2.105vw, var(--sp-10));
}

@media screen and (min-width: 640px) {
    .slideshow-dots {
        margin-block-start: var(--sp-8);
        order-block-start: 1px solid rgb(var(--color-border));
    }

    .slideshow-dots .flickity-page-dots {
        justify-content: flex-start;
        margin-block-start: clamp(var(--sp-4), 2.105vw, var(--sp-10));
        margin-block-end: calc(var(--sp-1d5) * -1);
        margin-inline-start: calc(var(--sp-1d5) * -1);
    }
}

.slideshow-words .banner__box {
    padding-block: 0;
}

.slideshow-word:not([aria-current="true"]) {
    display: none;
}

@media screen and (max-width: 639px) {
    .slideshow-word .split-words .word {
        white-space: unset;
    }
}

.slideshow-control:focus {
    clip: auto;
    color: rgb(var(--color-button-text));
    background: var(--color-button-gradient);
    background-color: rgb(var(--color-button-background));
    margin: 0;
    transition: none;
    z-index: 10000;
    width: var(--sp-12);
    height: var(--sp-12);
    inset-block-start: var(--sp-5);
    inset-inline-start: 50%;
    transform: translateX(calc(-50% * var(--transform-logical)));
}

.slideshow-control[paused] .slideshow-control__pause,
.slideshow-control__play {
    display: none;
}

.slideshow-control[paused] .slideshow-control__play {
    display: block;
}

.slideshow-control .icon {
    width: var(--sp-4);
    height: var(--sp-4);
}

.slideshow:not(.flickity-enabled) .banner,
.no-js .slideshow .banner {
    margin-inline: auto;
    position: relative;
}

.no-js .slideshow .banner:not(:first-child) {
    display: none;
}

@media screen and (min-width: 1024px) {
    .slideshow--hero {
        --title-md: clamp(var(--sp-8), 6.737vw, var(--sp-16));
    }
}

.slideshow--hero.flickity-enabled {
    max-height: var(--max-height);
}

.slideshow--hero .flickity-viewport {
    height: calc(var(--max-height) + var(--border-radius));
}

.slideshow--hero .slideshow-content {
    padding-inline: 0;
}

@media screen and (min-width: 768px) {
    .js .hero-section {
        position: sticky;
        inset-block-start: 0;
    }
}

.hero-section.hero-scrolled {
    position: static;
}

[data-page-rendering]
#MainContent
.shopify-section
+ .shopify-section
~ .shopify-section {
    content-visibility: auto;
}

.shopify-design-mode
[data-page-rendering]
#MainContent
.shopify-section
+ .shopify-section
~ .shopify-section,
.no-js
[data-page-rendering]
#MainContent
.shopify-section
+ .shopify-section
~ .shopify-section,
.no-touch
[data-page-rendering]
#MainContent
.shopify-section
+ .shopify-section
~ .shopify-section {
    content-visibility: visible;
}

[data-page-rendering] .media.loading::after {
    animation: none;
}

[data-page-rendering] .label-swatch,
[data-page-rendering] .label-swatch::after,
[data-page-rendering] .color-swatch::after,
[data-page-rendering] .product__info.lg\:sticky,
[data-page-rendering] .product__gallery-container.lg\:sticky {
    transition-property: none;
}

/*! product-countdown */

.product-countdown {
    padding: var(--sp-4) var(--sp-5);
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
}

[data-rounded-block="round"] .product-countdown {
    border-radius: var(--sp-2d5);
}

.product-countdown .icon-xl {
    width: var(--sp-8);
    height: var(--sp-8);
}

.product-countdown .countdown__timer {
    --countdown-gap: var(--sp-5);
}

.product-countdown .countdown__item {
    position: relative;
    gap: var(--sp-0d5);
    padding: var(--sp-1d5) var(--sp-2d5);
    background-color: rgb(var(--color-base-background));
}

[data-rounded-block="round"] .product-countdown .countdown__item {
    border-radius: var(--sp-1d5);
}

.product-countdown .countdown__item p {
    position: static;
    line-height: 1.25;
    font-weight: 700;
    font-size: var(--text-base);
}

@media screen and (min-width: 1024px) {
    .product-countdown .countdown__item p {
        font-size: var(--text-lg);
    }
}

@media screen and (min-width: 1280px) {
    .product-countdown .countdown__item p {
        font-size: var(--text-xl);
    }
}

.product-countdown .countdown__item p::after {
    font-size: var(--text-xl);
    color: rgb(var(--color-foreground));
    inset-block-start: 50%;
    transform: translateX(calc(50% * var(--transform-logical))) translateY(-50%);
}

.product-countdown .countdown__item span {
    line-height: 1;
    font-size: var(--text-3xs);
}

/*! Back-in-stock */

.back-in-stock {
    padding: var(--sp-5) var(--sp-6);
    background-color: rgb(var(--color-foreground) / 0.025);
}

[data-rounded-block="round"] .back-in-stock {
    border-radius: var(--sp-2d5);
}

.back-in-stock .input {
    background-color: rgb(var(--color-background));
}

.back-in-stock.buy-buttons {
    background-color: transparent;
    padding: 0;
    border-radius: 0;
}

/*! product-details */

.specifications {
    gap: var(--grid-gap);
}

.specifications .specification {
    padding-block-start: var(--sp-2d5);
}

.specifications .specification p:first-child {
    margin-block-start: 0;
}

.specifications .specification :is(ul, p):first-child,
.specifications .specification h6 + :is(ul, p) {
    margin-block-start: 0;
}

.specifications .specification :is(ul, p):last-child {
    margin-block-end: 0;
}

.specifications .specification li {
    margin-block-start: 0;
}

.specifications
.specification
:is(h1, h2, h3, h4, h5, h6, .h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    margin-block-end: var(--sp-2);
    margin-block-start: 0;
}

.specifications.with-border
.specification
*:not(h1, h2, h3, h4, h5, h6, .h0, .h1, .h2, .h3, .h4, .h5, .h6) {
    color: rgb(var(--color-foreground) / 0.6);
}

.specifications .specification .col-span-full:nth-child(odd):last-child {
    grid-column: 1/-1;
}

.specifications .specification > .col-span-full > * + .grid {
    padding-block-start: var(--sp-6);
    border-block-start: 1px solid rgb(var(--color-border));
}

.specifications .accordion .details__content {
    max-width: 100%;
}

.specs__sidebar {
    background-color: rgb(var(--color-foreground) / 0.025);
    padding: var(--sp-7d5) var(--gap-padding);
    border-radius: var(--rounded-block);
}

.specs__sidebar > ul li {
    width: var(--sp-24);
}

.specs__sidebar .media {
    width: var(--sp-24);
    height: var(--sp-24);
    background-color: rgb(var(--color-background));
}

.specs__sidebar .media img {
    max-width: var(--sp-30);
}

.specifications .grow + .grow-0 {
    padding-block-start: var(--sp-18);
}

.specs__sidebar .icon-box {
    width: var(--sp-56);
    height: auto;
    position: absolute;
    inset-block-end: 100%;
    inset-inline-start: 50%;
    transform: translateX(calc(-50% * var(--transform-logical)));
}

.specs__sidebar .icon-box .fill {
    fill: rgb(var(--color-background));
}

@media screen and (min-width: 768px) {
    .specs__sidebar {
        padding: var(--sp-10);
    }
}

@media screen and (min-width: 1024px) {
    .specs__sidebar {
        width: clamp(340px, 30vw, 480px);
        padding-inline: var(--sp-12);
    }

    .specifications .grow + .grow-0 {
        padding-block-start: 0;
    }
}

@media screen and (min-width: 1536px) {
    .specifications-section :is(.title-wrapper, .specifications) {
        padding-inline: calc(var(--grid-gap) * 2);
    }
}

.specifications.with-background .accordions {
    border-block: none;
}

.specifications.with-background .accordion {
    background-color: rgb(var(--color-foreground) / 0.04);
}

[data-rounded-block="round"] .specifications.with-background .accordion {
    border-radius: var(--sp-2d5);
}

.specifications.with-background .accordion + .accordion {
    border-block-start: none;
    margin-block-start: var(--sp-1);
}

.specifications.with-background
.accordion
:is(.details__summary, .details__content) {
    padding: var(--sp-7);
}

@media screen and (min-width: 1024px) {
    .specifications.with-background
    .accordion
    :is(.details__summary, .details__content) {
        padding: var(--sp-8d5);
    }
}

.specifications.with-background .accordion .details__content {
    padding-block-start: 0;
}

.product-sticky-form__card {
    border-block-start: 1px solid rgb(var(--color-border));
    background-color: rgb(var(--color-background));
    padding: var(--sp-4) var(--sp-5);
}

[data-rounded-block="round"] .product-sticky-form__card {
    border-start-start-radius: var(--border-radius);
    border-start-end-radius: var(--border-radius);
}

[data-rounded-block="round"] .product-sticky-form .media {
    border-radius: var(--sp-2);
}

.product-sticky-form .product-form__error-message {
    padding: 0;
    background-color: transparent;
}

.product-sticky-form__variant {
    grid-template-columns: minmax(0, 1fr) auto;
}

@media screen and (min-width: 768px) {
    .product-sticky-form {
        width: 550px;
        inset-inline-end: var(--sp-5);
        inset-block-end: var(--sp-5);
        padding-bottom: 3.5em;
    }

    .product-sticky-form__card {
        padding: var(--sp-4);
        border: 1px solid rgb(var(--color-border));
    }

    [data-rounded-block="round"] .product-sticky-form__card {
        border-radius: var(--sp-3);
    }

    .product-sticky-form__variant {
        grid-template-columns: 80px minmax(0, 1fr) auto;
    }

    .product-sticky-form__variant.no-image {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

@media screen and (max-width: 767px) {
    .product-sticky-form .button {
        padding: 0;
        width: var(--sp-11);
        height: var(--sp-11);
    }

    .product-sticky-form__card::before {
        content: "";
        z-index: -1;
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
        width: 100%;
        height: calc(100% + var(--border-radius));
        background-color: rgb(var(--color-background));
    }

    [data-rounded-block="round"] .product-sticky-form__card::before {
        border-start-start-radius: var(--border-radius);
        border-start-end-radius: var(--border-radius);
    }
}

/*! reveal-banner */

[data-rounded-block="round"] .reveal-banner {
    --rounded-block: var(--border-radius);
}

.reveal-banner__scroller {
    background-color: rgb(var(--color-background));
    height: 200vh;
}

.reveal-banner__tracker {
    height: 120vh;
}

.reveal-banner__tracker2nd {
    height: 30vh;
    inset-block-start: 120vh;
}

@supports (height: 100lvh) {
    .reveal-banner__scroller {
        height: 200lvh;
    }

    .reveal-banner__tracker {
        height: 120lvh;
    }

    .reveal-banner__tracker2nd {
        height: 30lvh;
        inset-block-start: 120lvh;
    }

    .reveal-banner .banner {
        height: 100lvh;
    }
}

.no-js .reveal-banner__scroller {
    height: auto;
}

/*! splitting-banner */

.splitting-banner svg.placeholder {
    background-color: rgb(var(--color-base-text));
    fill: rgb(var(--color-base-background));
    color: rgb(var(--color-base-background));
}

.splitting-banner .reveal-banner__scroller {
    height: 120vh;
}

.splitting-banner .reveal-banner__tracker {
    inset-block-start: 20%;
    height: calc(100vh - 20%);
}

.splitting-banner .reveal-banner__tracker2nd {
    height: 60%;
    inset-block-start: 60%;
}

@supports (height: 100lvh) {
    .splitting-banner .reveal-banner__scroller {
        height: 120lvh;
    }

    .splitting-banner .reveal-banner__tracker {
        height: calc(100lvh - 20%);
    }
}

.splitting-banner .media--transparent.loading {
    background-color: transparent;
}

.js .splitting-wrapper {
    opacity: 0;
}

.no-js .splitting-banner .reveal-banner__scroller {
    position: static;
}

.no-js .splitting-banner .reveal-banner__scroller,
.no-js .splitting-banner .reveal-banner__scroller .banner {
    height: auto;
}

/*! highlight-text */

.highlight-text > * {
    vertical-align: middle;
    padding-inline: var(--sp-2);
}

.highlight-text .media--transparent.loading {
    background-color: transparent;
}

.highlight-text :is(img, svg) {
    display: inline;
}

[data-rounded-block="round"] .highlight-text .media {
    border-radius: var(--rounded-full);
}

@media screen and (pointer: fine) {
    .highlight-text a .media svg {
        transition: var(--animation-primary);
        transition-property: opacity, transform;
    }

    .highlight-text a:hover .media :is(img, svg) {
        transform: scale(1.07);
    }
}

/*! product-bundle */

.product-bundle__sidebar {
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    border: 2px solid rgb(var(--color-foreground));
    padding: var(--sp-5);
    border-radius: var(--rounded-block);
    max-height: calc(100vh - var(--header-height));
    max-height: calc(100svh - var(--header-height));
}

@media screen and (min-width: 1024px) {
    .product-bundle__sidebar {
        width: clamp(340px, 25vw, 430px);
        padding: var(--sp-7d5);
        max-height: calc(100vh - var(--sticky-header-height) - 40px);
        max-height: calc(100svh - var(--sticky-header-height) - 40px);
    }
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
    .product-bundle-wrapper .card-grid {
        --card-grid-per-row: 2;
    }
}

.product-bundle__sidebar .title-wrapper {
    margin-block-end: 0;
}

.product-bundle__sidebar .free-shipping-bar progress-bar::before {
    --tw-scale-x: var(--progress);
}

.product-bundle__sidebar .horizontal-product {
    padding-block: 0;
}

.product-bundle__sidebar .horizontal-product + .horizontal-product {
    border-block-start: 0;
}

.product-bundle__sidebar .horizontal-product:not([data-variant-id]) .media {
    aspect-ratio: 1 / 1;
}

.product-bundle__sidebar .cart-quantity {
    height: var(--sp-8d5);
    width: var(--sp-10d5);
}

@media screen and (min-width: 1024px) {
    .product-bundle__sidebar .cart-quantity .quantity__input {
        padding-inline-end: var(--sp-1);
    }
}

@media screen and (min-width: 1280px) {
    .product-bundle__sidebar .cart-quantity {
        height: var(--sp-12);
        width: var(--sp-18);
    }

    .product-bundle__sidebar .cart-quantity .quantity__input {
        padding-inline-end: var(--sp-3);
    }
}

.product-bundle__body {
    overflow-x: hidden;
    overflow-y: auto;
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    scrollbar-color: auto;
    scrollbar-width: thin;
    padding-inline-end: var(--sp-5);
    margin-inline-end: calc(var(--sp-5) * -1);
}

.product-bundle__body::-webkit-scrollbar {
    -webkit-appearance: none;
    background-clip: padding-box;
    background-color: transparent;
    border-radius: var(--rounded-full);
    width: var(--sp-1d5);
}

.product-bundle__body::-webkit-scrollbar-thumb {
    background-clip: padding-box;
    background-color: rgb(var(--color-foreground) / 0.2);
    border-radius: var(--rounded-full);
}

.product-bundle__footer {
    padding-block-start: var(--sp-2d5);
    border-block-start: 1px solid rgb(var(--color-border-light));
}

.product-bundle__footer .button[disabled] ~ p {
    display: none;
}

.product-bundle-wrapper[locked] .product-form__submit,
.product-card[locked] .product-form__submit {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

.horizontal-product[available] .horizontal-product__quantity {
    opacity: 0;
    pointer-events: none;
}

@media screen and (max-width: 1023px) {
    .product-bundle-wrapper > .lg\:grow {
        margin-block-end: -60vh;
        margin-block-end: -60lvh;
    }

    .product-bundle-wrapper > .lg\:grow-0 {
        position: sticky;
        z-index: 25;
        inset-block-end: 0;
        padding-block-start: 60vh;
        padding-block-start: 60lvh;
    }

    .product-bundle-wrapper > .lg\:grow-0.active {
        z-index: 30;
    }

    .product-bundle__sidebar {
        --color-background: var(--color-base-text);
        --color-foreground: var(--color-base-background);
        --color-price: var(--color-foreground);
        --color-button-background: var(--color-foreground);
        --color-button-border: var(--color-foreground);
        --color-button-text: var(--color-background);
        --color-border: var(--color-foreground) / 0.1;
        --color-border-light: var(--color-foreground) / 0.06;
        background-color: rgb(var(--color-background) / 0.85);
        backdrop-filter: blur(20px);
        margin-inline: calc(var(--page-padding) * -1);
        border: none;
        border-radius: 0;
    }

    [data-rounded-block="round"] .product-bundle__sidebar {
        border-start-start-radius: var(--border-radius);
        border-start-end-radius: var(--border-radius);
    }

    .product-bundle:not(.active) .product-bundle__body {
        display: none;
    }

    .product-bundle__footer {
        border-block-start: 0;
        padding-block-start: 0;
    }

    .product-bundle__footer .btn-text {
        border-inline-start: 1px solid currentColor;
        padding-inline-start: var(--sp-3d5);
    }

    .product-bundle__toggle > .icon {
        width: var(--sp-6);
        height: var(--sp-6);
    }

    .product-bundle.active .product-bundle__toggle > .icon {
        transform: scaleY(-1);
    }

    .product-bundle :is(.input, .select, .textarea) {
        background-color: rgb(var(--color-foreground));
        color: rgb(var(--color-background));
    }

    @media screen and (pointer: fine) {
        .product-bundle__footer .btn-price {
            transition: color var(--animation-primary);
            transition-delay: 0.1s;
        }
    }
}

/*! shop-the-feed */

.shop-the-feed-section .title-wrapper .heading + .description {
    margin-block-start: calc(var(--sp-2) * -1);
}

.shop-the-feed .color-swatch {
    --color-foreground: var(--color-base-text);
    --color-background: var(--color-base-background);
    border-radius: 0;
}

.shop-the-feed .color-swatch::before,
.shop-the-feed .color-swatch::after {
    content: none;
}

.shop-the-feed .horizontal-product {
    --cart-item-media-width: clamp(var(--sp-10), 3.368vw, var(--sp-16));
    padding-block-end: 0;
}

.shop-the-feed .horizontal-product__media,
.shop-the-feed .horizontal-product__media .media {
    height: auto;
}

.shop-the-feed .horizontal-product__media .media {
    border-radius: 0;
}

[data-rounded-block="round"] .shop-the-feed .horizontal-product__media .media {
    border-radius: 5px;
}

.shop-the-feed .product-card__media > .media {
    border-radius: var(--card-radius);
}

.shop-the-feed .product-card__media > .media > img:has(~ video-media),
.shop-the-feed .product-card__media > .media > img ~ video-media > img {
    transform: none;
}

.shop-the-feed .media-card {
    border-radius: 0;
}

.shop-the-feed .badges {
    color: rgb(var(--color-foreground));
    inset-inline-start: auto;
    inset-inline-end: var(--sp-3);
}

@media screen and (min-width: 768px) {
    .shop-the-feed .badges {
        inset-inline-end: var(--sp-5);
    }
}

@media screen and (pointer: fine) {
    .shop-the-feed .product-card__media video-media {
        transition: opacity var(--animation-primary);
    }

    .shop-the-feed .media-card:hover video-media {
        opacity: 1;
        pointer-events: auto;
    }

    .shop-the-feed .horizontal-product__media {
        transition: width var(--animation-primary);
    }

    .shop-the-feed
    .horizontal-product:has(~ .media-card__button:focus-visible)
    .horizontal-product__media,
    .shop-the-feed .media-card:hover .horizontal-product__media {
        width: calc(var(--cart-item-media-width) * 0.8);
    }

    .shop-the-feed .media-card__content {
        gap: 0;
    }

    .shop-the-feed .media-card__button {
        max-height: 0;
        opacity: 0;
        pointer-events: none;
        border-radius: var(--buttons-radius);
        transition: var(--animation-primary);
        transition-property: max-height, opacity, margin;
    }

    .shop-the-feed .media-card__button .button {
        min-height: 3.125rem;
        padding-block: var(--sp-4);
    }

    .shop-the-feed .media-card__button:focus-visible,
    .shop-the-feed .media-card:hover .media-card__button {
        opacity: 1;
        max-height: 3.75rem;
        pointer-events: auto;
        margin-block-start: var(--sp-3);
    }
}

.social-account .social-account__media {
    --image-max-width: clamp(var(--sp-16), 4.21vw, var(--sp-20));
    --image-max-width-mobile: clamp(var(--sp-16), 4.21vw, var(--sp-20));
    padding: 3px;
    background-image: linear-gradient(
            30deg,
            #f7d00b 10%,
            #f60e0e 52%,
            #b700ff 94%
    );
}

.social-account .social-account__media img {
    padding: 3px;
    border-radius: 50%;
    background-color: rgb(var(--color-background));
}

.text-right .social-account,
.text-right .social-account > .flex {
    flex-direction: row-reverse;
}

.text-center .social-account {
    justify-content: center;
}

.social-feed .product__info {
    padding-inline: 0;
    padding-block-start: 0;
}

.js .product__feed .drawer__header::before {
    content: none;
}

.product__feed .drawer__header {
    border-block-end: 1px solid rgb(var(--color-border-light));
    padding: var(--sp-8) var(--sp-5) var(--sp-6);
}

.product__feed .social-account {
    border-block-start: 1px solid rgb(var(--color-border-light));
    padding: var(--sp-6) var(--sp-5);
}

.product__feed .product__more {
    margin-block-start: 0;
    padding-inline: var(--sp-5);
}

@media screen and (min-width: 1024px) {
    .social-feed .product,
    .social-feed .product__gallery,
    .social-feed .product__content {
        height: auto;
    }

    .social-feed .drawer__content {
        overflow: hidden;
    }

    .social-feed .product {
        --product-grid: auto / minmax(0, 1.1fr) minmax(0, 0.9fr);
        grid: var(--product-grid);
    }

    .product__feed {
        position: absolute;
    }

    .product__feed .drawer__header,
    .product__feed .account__grid,
    .product__feed .product__more {
        padding-inline: var(--sp-12);
    }

    .product__feed .social-account {
        padding-inline: var(--sp-12);
    }
}

@media screen and (min-width: 1536px) {
    .product__feed .drawer__header {
        padding-block-end: var(--sp-8);
        padding-block-start: var(--sp-10);
    }
}

@media screen and (max-width: 639px) {
    .shop-the-feed .mobile\:card-grid--2 .media-card__button {
        display: none;
    }
}

.touch .shop-the-feed .product-card__media video-media {
    opacity: 1;
    pointer-events: visible;
}

.touch .shop-the-feed .product-card__media img:has(~ video-media) {
    pointer-events: none;
}

/*! newsletter-popup */

.newsletter-section {
    display: none;
}

/*! Shopify Cookie banner */

#shopify-pc__banner {
    display: none !important;
}

/*! custom-section */

.custom-section .overlay {
    z-index: var(--overlay-layer);
}

.custom-section .overlay--solid {
    background: var(--overlay-color);
}

.custom-section .overlay--gradient {
    background: linear-gradient(
            var(--overlay-direction),
            var(--overlay-color),
            var(--overlay-color--end)
    );
}

.custom-section .media--contain > video {
    object-fit: contain;
}

.custom-section .newsletter-form {
    max-width: 100%;
    width: 28rem;
}

.custom-section .newsletter-form:is(.mobile\:w-fill, .mobile\:w-custom) {
    width: 100%;
}

@media screen and (max-width: 640px) {
    .custom-section .newsletter-form:is(.mobile\:w-fit-content) {
        width: 100%;
    }
}

@media screen and (min-width: 768px) {
    .custom-section .newsletter-form:is(.w-fill, .w-custom) {
        width: 100%;
    }
}

.custom-section .media--custom {
    height: var(--section-height);
}

@media screen and (max-width: 767px) {
    .custom-section .mobile\:media--custom {
        height: var(--section-height-mobile);
    }
}

.custom-section .highlighted-text {
    z-index: 0;
}

.section-content {
    gap: var(--gap);
}

.group-block > :is(.group-block__media, .group-block__content, .overlay) {
    border-radius: var(--border-radius);
}

.group-block > .group-block__content {
    border-width: var(--border-width);
    border-style: var(--border-style);
    border-color: var(--border-color);
}

.group-block__link ~ :is(.group-block__media, .group-block__content) {
    pointer-events: none;
}

.group-block__link
~ :is(.group-block__media, .group-block__content)
:is(a, button, input, textarea, select) {
    pointer-events: auto;
}

.group-block__content {
    gap: var(--gap);
}

.size-style {
    width: var(--size-style-width-mobile, var(--size-style-width));
    height: var(--size-style-height-mobile, var(--size-style-height));

    @media screen and (width >= 768px) {
        width: var(--size-style-width);
        height: var(--size-style-height);
    }
}

.spacing-style {
    --spacing-scale: 0.7;

    @media screen and (width >= 1024px) {
        --spacing-scale: 1;
    }

    --padding-block: 0px;
    --padding-block-start: var(--padding-block, 0px);
    --padding-block-end: var(--padding-block, 0px);
    --padding-inline: 0px;
    --padding-inline-start: var(--padding-inline, 0px);
    --padding-inline-end: var(--padding-inline, 0px);
    --margin-block: 0px;
    --margin-block-start: var(--margin-block, 0px);
    --margin-block-end: var(--margin-block, 0px);
    --margin-inline: 0px;
    --margin-inline-start: var(--margin-inline, 0px);
    --margin-inline-end: var(--margin-inline, 0px);

    padding-block: var(--padding-block-start) var(--padding-block-end);
    padding-inline: var(--padding-inline-start) var(--padding-inline-end);
    margin-block: var(--margin-block-start) var(--margin-block-end);
    margin-inline: var(--margin-inline-start) var(--margin-inline-end);
}

.border-style {
    border-width: var(--border-width);
    border-style: var(--border-style);
    border-color: var(--border-color);
    border-radius: var(--border-radius);
}

.content-style {
    color: rgb(var(--color-foreground));
    background: var(--gradient-background);
    background-color: rgb(var(--color-background));
}

.flex-row > .group-block--width-fit {
    flex: 0;
}

.flex-row > .group-block--width-fill {
    flex: 1;
}

.flex-row > .group-block--width-custom {
    flex-basis: var(--size-style-width);
}

.group-block--height-fit {
    height: auto;
}

.group-block--height-custom,
.group-block--height-fill {
    height: var(--size-style-height);
}

.flex-col > .group-block--height-fit {
    flex: 0 1 auto;
}

.flex-col > .group-block--height-fill {
    align-self: stretch;
}

@media screen and (min-width: 768px) {
    .spacer-block--percent {
        flex: var(--spacer-size);
    }

    .flex-col > .spacer-block--pixel {
        height: var(--spacer-size);
    }

    :is(.flex-row, .md\:flex-row) > .spacer-block--pixel {
        width: var(--spacer-size);
    }
}

@media screen and (max-width: 767px) {
    .mobile\:spacer-block--percent {
        flex: var(--spacer-size-mobile, var(--spacer-size));
    }

    .flex-row > .mobile\:spacer-block--pixel {
        width: var(--spacer-size-mobile, var(--spacer-size));
    }

    .flex-col > .mobile\:spacer-block--pixel {
        height: var(--spacer-size-mobile, var(--spacer-size));
    }
}

.text-left > .countdown__timer {
    justify-content: flex-start;
}

.text-center > .countdown__timer {
    justify-content: center;
}

.text-right > .countdown__timer {
    justify-content: flex-end;
}

.number-counter.text-left .counter-card {
    align-items: flex-start;
}

.number-counter.text-center .counter-card {
    align-items: center;
}

.number-counter.text-right .counter-card {
    align-items: flex-end;
}

@media screen and (min-width: 768px) {
    .md\:text-left > .countdown__timer {
        justify-content: flex-start;
    }

    .md\:text-center > .countdown__timer {
        justify-content: center;
    }

    .md\:text-right > .countdown__timer {
        justify-content: flex-end;
    }

    .number-counter.md\:text-left .counter-card {
        align-items: flex-start;
    }

    .number-counter.md\:text-center .counter-card {
        align-items: center;
    }

    .number-counter.md\:text-right .counter-card {
        align-items: flex-end;
    }
}

.divider__line {
    border-bottom: var(--divider-border-thickness) solid rgb(var(--color-border));
    border-right: var(--divider-border-thickness) solid rgb(var(--color-border));
    border-radius: var(--divider-border-rounded);
    flex-basis: var(--divider-flex-basis);
    min-height: var(--divider-flex-basis);
}

/* DIVIDER CSS */
.custom-divider {
    height: 1px;
    display: inline-block !important;
    margin: auto;
}

/* REGISTER & TRADEMARK SYMBOL */
.register-symbol {
    position: relative;
    line-height: 0;
    vertical-align: baseline;
    left: 3px;
    font-size: 40%;
    top: -1.3em;
    font-weight: 500;
}

.trademark-symbol {
    position: relative;
    font-weight: 100;
    line-height: 0;
    vertical-align: baseline;
    left: 0;
    font-size: 60%;
    top: -0.5em;
}

/* PDP VARIANT GRID  */
ul.swatches li label {
    height: 100%;
    text-align: center;
    display: flex;
    gap: 4px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 100%;
    font-weight: 600;
    text-transform: capitalize;
    min-height: 65px;
}

.facet-form ul.swatches li label {
    width: 65px;
}

ul.swatches li label p {
    font-weight: 400;
}

@media (min-width: 1024px) and (max-width: 1399px),
(min-width: 361px) and (max-width: 480px) {
    ul.swatches li label {
        font-size: 14px;
    }
}

/* FILTER GRID STYLE */
.facet-form
[data-index="sidebar-filter.v.m.custom.attr_size_filter"]
.details__content
ul,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_size_filter"]
.details__content
ul,
.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li,
.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li {
    position: relative;
    background: #f5f4f3;
    max-width: 65px;
    width: 65px;
    height: 65px;
    min-width: 65px;
    flex: 1;
    transition: all 400ms ease-in-out;
    border-radius: 0;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li:has(input[checked]),
.facet-form
[data-index="sticky-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li:has(input[checked]) {
    background: #000;
    border-radius: 0;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li
input,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li
input,
.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li
input,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li
input {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 0;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li
input:focus,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li
input:focus,
.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li
input:focus,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li
input:focus {
    box-shadow: none;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li
label,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li
label,
.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li
label,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
label {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 120%;
    text-align: center;
    color: #000;
    min-width: 100%;
    transition: all 400ms ease-in-out;
    border-radius: 0;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li
label
span,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li
label
span {
    display: none;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li:has(input[checked])
label,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_size_filter"]
.details__content
ul
li:has(input[checked])
label {
    color: #fff;
    border-radius: 0;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked]),
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked]) {
    border: 2px solid #000;
    width: calc(100% - 5px);
    height: calc(100% - 5px);
    border-radius: 0;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked])
label,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked])
label {
    border: 3px solid #fff;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked])
label::after,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked])
label::after {
    width: calc(100% - 5px);
    height: calc(100% - 5px);
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked])
label::after,
.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked])
label::before,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked])
label::after,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li:has(input[checked])
label::before {
    box-shadow: none;
    border-radius: 0;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li
input[value="brown"]
+ label,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li
input[value="brown"]
+ label {
    --swatch-background: #964b00 !important;
}

.facet-form
[data-index="sidebar-filter.v.m.custom.attr_color_family"]
.details__content
ul
li
input[value="miscellaneous"]
+ label,
.facet-form
[data-index="sticky-filter.v.m.custom.attr_color_family"]
.details__content
ul
li
input[value="miscellaneous"]
+ label {
    --swatch-background: transparent !important;
    background: linear-gradient(
            0deg,
            #821e91,
            #821e91 25%,
            #edd134 0,
            #ff0 50%,
            #edd134 0,
            #59ba00 0,
            #59ba00 76%,
            #111 0,
            #111
    ),
    linear-gradient(0deg, #0e5cd1, #0e5cd1 50%, #e20b0b 0, #e20b0b);
    background-repeat: repeat-y, repeat;
    background-size: 50% 100%, 100% 100%;
}

.active-facets .color-swatch[title="brown"]:before {
    background: #964b00;
}

.active-facets .color-swatch[title="miscellaneous"]:before {
    background: linear-gradient(
            0deg,
            #821e91,
            #821e91 25%,
            #edd134 0,
            #ff0 50%,
            #edd134 0,
            #59ba00 0 76%,
            #111 0,
            #111
    ),
    linear-gradient(0deg, #0e5cd1, #0e5cd1 50%, #e20b0b 0, #e20b0b);
    background-repeat: repeat-y, repeat;
    background-size: 50% 100%, 100% 100%;
}

@media only screen and (max-width: 330px) {
    body.template-collection
    .facet-form
    [data-index="sidebar-filter.v.m.custom.attr_size_filter"]
    .details__content
    ul,
    body.template-collection
    .facet-form
    [data-index="sticky-filter.v.m.custom.attr_size_filter"]
    .details__content
    ul,
    body.template-collection
    .facet-form
    [data-index="sidebar-filter.v.m.custom.attr_color_family"]
    .details__content
    ul,
    body.template-collection
    .facet-form
    [data-index="sticky-filter.v.m.custom.attr_color_family"]
    .details__content
    ul {
        gap: 6px;
    }
}

body .column__custom-html form[data-testid="klaviyo-form-TAKnwd"] {
    border-color: transparent;
    background-color: transparent;
}

body .rte .contact-box a {
    background: none;
}

@media all and (min-width: 768px) and (max-width: 1100px) {
    .contact-box .bcontact,
    .contact-box .bcontact2 {
        padding: 0.9rem 1rem;
    }
}

.p-signup {
    background: rgb(var(--color-foreground) / .025);
    padding: 20px 24px;
    margin-top: 1rem;
}

.p-signup__promo {
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: center;
}

.product-info__mobile-form .form__label {
    margin-bottom: 1rem;
}

.p-signup__button {
    width: 100%;
    text-transform: uppercase;
}

@media all and (max-width: 767px) {
    .product .product-info__blocks .form__label--color,
    .product .product-info__blocks .swatches--color {
        display: none !important;
    }

    .product-info__blocks variant-picker {
        margin-top: 1rem;
    }
}

.p-signup__button[data-submit] gif {
    display: none;
}

.p-signup__button[data-submit].loading {
    position: relative;
    color: transparent;
}

.p-signup__button[data-submit].loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.p-signup__form {
    display: none;
    flex-direction: column;
    gap: 16px;
}

.p-signup__row {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.p-signup.active .p-signup__promo {
    display: none;
}

.p-signup.active .p-signup__form {
    display: flex;
}

.p-signup__form-checkbox {
    display: flex;
    align-items: center;
    font-size: 11px;
    gap: 8px;
}

#singup_checkbox {
    position: relative;
    top: -5px;
}

.p-signup__input {
    padding: 12px 16px;
    border: 1px solid rgba(0, 0, 0, .5);
    border-radius: 4px;
    width: 100%;
    font-size: 1rem;
    line-height: 100%;
    font-weight: 400;
    color: #000;
    background: #fff;
    transition: all 400ms ease-in-out;
    outline: none !important;
    box-shadow: none !important;
}

.p-signup__error,
.p-signup__success {
    display: none;
    text-align: center;
}

.p-signup.success .p-signup__promo,
.p-signup.success .p-signup__form {
    display: none;
}

.p-signup.success .p-signup__success {
    display: block;
}

.p-signup.error .p-signup__promo,
.p-signup.error .p-signup__form {
    display: none;
}

.p-signup.error .p-signup__error {
    display: block;
}

@media all and (min-width: 992px) {
    .p-signup__row {
        flex-direction: row;
        gap: 8px;
    }
}



.ss__results .product-card {
    background: #fafafa;
    height: fit-content;

}

.ss__results .ss__result .image--default {
  mix-blend-mode: darken;
}

.custom-product-card .product-card__title {
  text-transform: capitalize;
}


@media (min-width: 640px) {
  .drawer__close-menu {
    display: none !important;
  }
}

.ORTHOPLP-icons-section {
    padding: 20px 30px;
    line-height: 1em;
}
}
.ORTHOPLP-icons-container {
  width: 100%;
  max-width: 800px;
  text-align: center;
}
.ORTHOPLP-icons-container h2 {
    font-size: 1.4em;
    margin-bottom: 15px;
    color: #3b3b3b;
    line-height: initial;
    padding: 1em 2em;
    text-align: center !important;
}
.ORTHOPLP-icons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  justify-items: center;
}
.ORTHOPLP-icons div {
  text-align: center;
  width: 100%;
}
.ORTHOPLP-icons img {
  width: 50%;
  max-width: 60px;
  justify-self: center;
}
.ORTHOPLP-icons p {
  text-transform: uppercase;
  margin-top: 5px;
  margin-bottom: 0;
  letter-spacing: 1px;
  font-size: 0.65rem;
  color: #3b3b3b;
}
.ORTHOPLP-section {
  background-color: #fafafa;
  padding: 20px 30px;
  display: flex;
  justify-content: center;
  border-radius: 1em;
}
.ORTHOPLP-content-container {
  width: 100%;
  max-width: 800px;
  color: white;
}
.ORTHOPLP-text-box p {
  font-size: 0.95em;
  letter-spacing: 0.5px;
  line-height: 1.6em;
  font-weight: 300;
  margin-bottom: 15px;
  color: #3b3b3b;
}

.shopify-section-group-footer-group .section--rounded {
    z-index: 1 !important;
}

a[href="#"] {
  cursor: default;        /* don't show pointer hand */
  ointer-events: none;   /* disable clicking entirely */
  text-decoration: none;  /* remove underline */
  color: inherit;         /* keep normal text color */
}

[data-us-only] {
    display: none!important;
}

[data-abra-promo] {
    display: none;
}

.unavailable-icon {
    top: 5px;
    left: 5px;
}

@media all and (min-width: 768px) and (max-width: 1800px) {
    .unavailable-icon {
        width: 10px;
        height: 10px;
    }
}

.product-form__buttons .needsclick {
    font-weight: bold!important;
    font-size: 14px!important;
    letter-spacing: .5px!important;
    text-transform: uppercase;
}

.product-form__buttons .needsclick:hover {
    background-color: #171717!important;
    color: #fff!important;
    border-radius: 8px!important;
}

@media (max-width: 767px) {
       body {
           letter-spacing: 0px !important;
       }
   }