/** Shopify CDN: Minification failed

Line 2632:4 Comments in CSS use "/* ... */" instead of "//"
Line 3675:38 Unexpected "'[data-option-available=false]'"

**/
@charset "UTF-8";
/* Keyframes */
@keyframes slideInOut {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(2rem);
    }
    50.001% {
        transform: translateX(-2rem);
    }
    100% {
        transform: translateX(0);
    }
}
@keyframes slideInOutShort {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(1.5rem);
    }
    50.001% {
        transform: translateX(-1.5rem);
    }
    100% {
        transform: translateX(0);
    }
}
@keyframes dialogScaleIn {
    0% {
        transform: scale(0.8);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}
@keyframes dialogScaleOut {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    100% {
        transform: scale(0.8);
        opacity: 0;
    }
}
@keyframes dialogBackdropIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes dialogBackdropOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@keyframes slideInLeft {
    from {
        transform: translateX(var(--slide-in-left-from, 100%));
    }
    to {
        transform: translateX(var(--slide-in-left-to, 0));
    }
}
@keyframes slideOutLeft {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(var(--slide-out-left-to, 100%));
    }
}
@keyframes slideOutRight {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(var(--slide-out-right-to, -100%));
    }
}
@keyframes slideInRight {
    from {
        transform: translateX(var(--slide-in-right-from, -100%));
    }
    to {
        transform: translateX(0);
    }
}
@keyframes slideOutBottom {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(var(--slide-out-bottom-to, 100%));
    }
}
@keyframes slideInBottom {
    from {
        transform: translateY(var(--slide-in-bottom-from, 100%));
    }
    to {
        transform: translateY(0);
    }
}
@keyframes spinLoading {
    to {
        transform: rotate(360deg);
    }
}
@keyframes rotator {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(270deg);
    }
}
@keyframes dash {
    0% {
        stroke-dashoffset: 280;
    }
    50% {
        stroke-dashoffset: 75;
        transform: rotate(135deg);
    }
    100% {
        stroke-dashoffset: 280;
        transform: rotate(450deg);
    }
}
@keyframes scrolling-left {
    0% {
        transform: translate3d(0, 0, 0);
        visibility: visible;
    }
    100% {
        transform: translate3d(-100%, 0, 0);
    }
}
@keyframes scrolling-right {
    0% {
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    100% {
        transform: translate3d(0, 0, 0);
    }
}
@keyframes scrolling-left-rtl {
    0% {
        transform: translate3d(0, 0, 0);
        visibility: visible;
    }
    100% {
        transform: translate3d(100%, 0, 0);
    }
}
@keyframes scrolling-right-rtl {
    0% {
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }
    100% {
        transform: translate3d(0, 0, 0);
    }
}
@keyframes float-up {
    0% {
        transform: translateY(0.8rem);
    }
    100% {
        transform: translateY(-0.8rem);
    }
}
@keyframes float-down {
    0% {
        transform: translateY(-0.8rem);
    }
    100% {
        transform: translateY(0.8rem);
    }
}
/** Critical CSS for the theme. This file is included on every page. */
/* Reset styles inspired by https://www.joshwcomeau.com/css/custom-css-reset/ */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
}

body {
    margin: 0;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

html.scroll-locked,
html:has(.has-dropdown-menu) {
    overflow: hidden;
}
html.scroll-locked:not(.lenis-enabled),
html:has(.has-dropdown-menu):not(.lenis-enabled) {
    padding-inline-end: var(--scrollbar-width, 0);
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
    height: auto;
}

svg * {
    vector-effect: non-scaling-stroke;
}

p {
    text-wrap: pretty;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

p:empty {
    display: none;
}

:is(p, h1, h2, h3, h4, h5, h6):first-child,
:empty:first-child + :where(p, h1, h2, h3, h4, h5, h6) {
    margin-block-start: 0;
}

:is(p, h1, h2, h3, h4, h5, h6):last-child,
:where(p, h1, h2, h3, h4, h5, h6) + :has(+ :empty:last-child) {
    margin-block-end: 0;
}

details > * {
    box-sizing: border-box;
}

summary {
    cursor: pointer;
    list-style: none;
    position: relative;
}

summary::-webkit-details-marker {
    display: none;
}

/* Page layout */
:root {
    --page-padding: 1.6rem;
    /* stylelint-disable-next-line media-feature-range-notation */
}
@media (min-width: 1200px) {
    :root {
        --page-padding: 5rem;
    }
}
@media (min-width: 1536px) {
    :root {
        --page-padding: max(13.5rem, 50vw - var(--scrollbar-width, 15px) / 2 - var(--page-width) / 2);
    }
}

.section-grid {
    width: 100%;
    display: grid;
    grid-template-columns: var(--page-padding) minmax(0, 1fr) var(--page-padding);
}
.section-grid--full > * {
    grid-column: 1/-1;
}
.section-grid--fixed > * {
    grid-column: 2;
}

.page-width {
    margin: 0 auto;
    padding-inline: var(--page-padding);
}
.page-width--narrow {
    max-width: var(--page-width-narrow);
}
.page-width--custom {
    /* stylelint-disable-next-line media-feature-range-notation */
}
.page-width--custom .page-width__inner {
    margin: 0 auto;
    max-width: var(--page-width-custom, 88rem);
}
@media (min-width: 1536px) {
    .page-width--custom {
        --page-padding: max(13.5rem, 50vw - var(--scrollbar-width, 15px) / 2 - var(--page-width-custom, 88rem) / 2);
    }
}

/* Gap style */
.gap-style {
    gap: var(--f-row-gap-mobile, var(--f-row-gap, 0)) var(--f-column-gap-mobile, var(--f-column-gap, 0));
}
@media (min-width: 768px) {
    .gap-style {
        gap: var(--f-row-gap, 0) var(--f-column-gap, 0);
    }
}

/* Layout panel flex */
.layout-panel-flex {
    display: flex;
    height: 100%;
}

.layout-panel-flex--row {
    flex-flow: row var(--flex-wrap, nowrap);
    justify-content: var(--horizontal-alignment);
    align-items: var(--vertical-alignment);
}

.layout-panel-flex--column {
    flex-flow: column var(--flex-wrap, nowrap);
    align-items: var(--horizontal-alignment);
    justify-content: var(--vertical-alignment);
}

@media (max-width: 767.98px) {
    .mobile-column {
        flex-flow: column nowrap;
        align-items: var(--horizontal-alignment-mobile);
        justify-content: var(--vertical-alignment-mobile);
    }
    .layout-panel-flex--row:not(.mobile-column) .text-block {
        flex: 1 1 var(--max-width--display-tight);
    }
    .layout-panel-flex--row:not(.mobile-column) .image-block {
        flex: 1 1 var(--size-style-width-mobile-min);
    }
    .layout-panel-flex--row:not(.mobile-column) .btn {
        flex: 0 0 fit-content;
    }
}
@media (min-width: 768px) {
    .layout-panel-flex {
        flex-direction: var(--flex-direction);
    }
}
/* Layout panel grid */
.layout-panel-grid {
    --f-grid-columns: var(--f-columns-mobile);
    --f-grid-template: auto-flow dense/repeat(var(--f-grid-columns), minmax(0, 1fr));
    display: grid;
    grid: var(--f-grid-template);
    align-items: var(--f-align-items, start);
}
@media (min-width: 768px) {
    .layout-panel-grid {
        --f-grid-columns: var(--f-columns-md, var(--f-columns-mobile));
    }
}
@media (min-width: 1024px) {
    .layout-panel-grid {
        --f-grid-columns: var(--f-columns-lg, var(--f-columns-md, var(--f-columns-mobile)));
    }
}
@media (min-width: 1200px) {
    .layout-panel-grid {
        --f-grid-columns: var(--f-columns-xl, var(--f-columns-lg, var(--f-columns-md, var(--f-columns-mobile))));
    }
}
@media (min-width: 1440px) {
    .layout-panel-grid {
        --f-grid-columns: var(
                --f-columns-xxl,
                var(--f-columns-xl, var(--f-columns-lg, var(--f-columns-md, var(--f-columns-mobile))))
        );
    }
}

@media (max-width: 767.98px) {
    .layout-panel-grid-mobile {
        --f-grid-columns: var(--f-columns-mobile);
        --f-grid-template: auto-flow dense/repeat(var(--f-grid-columns), minmax(0, 1fr));
        align-items: start;
        display: grid;
        grid: var(--f-grid-template);
    }
}

/* Base styles */
.group-block,
.group-block-content {
    position: relative;
}

/* Custom Typography style */
.custom-typography,
.custom-typography > *,
.custom-typography :is(ul, ol) :is(h1, h2, h3, h4, h5) {
    font-family: var(--font-family);
    line-height: var(--line-height);
}

[style*="--font-family: var(--font-heading--family)"] {
    text-transform: var(--font-heading--transform);
    letter-spacing: var(--font-heading--letter-spacing);
}

.custom-font-size,
.custom-font-size > *,
.custom-font-size :is(ul, ol) :is(h1, h2, h3, h4, h5) {
    font-size: var(--font-size);
}
@media (max-width: 767.98px) {
    .custom-font-size,
    .custom-font-size > *,
    .custom-font-size :is(ul, ol) :is(h1, h2, h3, h4, h5) {
        font-size: var(--font-size-mobile, --font-size);
    }
}

/* Spacing style */
.spacing-style {
    /* Must disable this, when you use these with calc and another unit type, things break — see logo.liquid */
    /* stylelint-disable length-zero-no-unit */
    --padding-block: 0px;
    --padding-block-start: var(--padding-block, 0px);
    --padding-block-end: var(--padding-block, 0px);
    --padding-block-start-mobile: var(--padding-block-start, 0px);
    --padding-block-end-mobile: var(--padding-block-end, 0px);
    --padding-inline: 0px;
    --padding-inline-start: var(--padding-inline, 0px);
    --padding-inline-end: var(--padding-inline, 0px);
    --padding-inline-start-mobile: var(--padding-inline-start, 0px);
    --padding-inline-end-mobile: var(--padding-inline-end, 0px);
    --margin-block: 0px;
    --margin-block-start: var(--margin-block, 0px);
    --margin-block-end: var(--margin-block, 0px);
    --margin-block-start-mobile: var(--margin-block-start, 0px);
    --margin-block-end-mobile: var(--margin-block-end, 0px);
    --margin-inline: 0px;
    --margin-inline-start: var(--margin-inline, 0px);
    --margin-inline-end: var(--margin-inline, 0px);
    --margin-inline-start-mobile: var(--margin-inline-start, 0px);
    --margin-inline-end-mobile: var(--margin-inline-end, 0px);
}
@media (min-width: 640px) {
    .spacing-style {
        --spacing-scale: var(--spacing-scale-sm);
    }
}
@media (min-width: 768px) {
    .spacing-style {
        --spacing-scale: var(--spacing-scale-md);
    }
}
@media (min-width: 1200px) {
    .spacing-style {
        --spacing-scale: var(--spacing-scale-default);
    }
}

.spacing-style {
    padding-block: calc(var(--padding-block-start-mobile, var(--padding-block-start)) + var(--section-top-offset, 0px)) var(--padding-block-end-mobile, var(--padding-block-end));
    padding-inline: var(--padding-inline-start-mobile, var(--padding-inline-start)) var(--padding-inline-end-mobile, var(--padding-inline-end));
    margin-block: var(--margin-block-start-mobile, var(--margin-block-start)) var(--margin-block-end-mobile, var(--margin-block-end));
    margin-inline: var(--margin-inline-start-mobile, var(--margin-inline-start)) var(--margin-inline-end-mobile, var(--margin-inline-end));
    /* stylelint-disable-next-line media-feature-range-notation */
}
@media screen and (min-width: 768px) {
    .spacing-style {
        padding-block: calc(var(--padding-block-start) + var(--section-top-offset, 0px)) 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 override style */
.border-style {
    border-width: var(--border-width);
    border-style: var(--border-style);
    border-color: var(--border-color);
    border-radius: var(--border-radius);
}

/* Size style */
.size-style {
    width: var(--size-style-width-mobile, var(--size-style-width));
    height: var(--size-style-height-mobile, var(--size-style-height));
    /* stylelint-disable-next-line media-feature-range-notation */
}
@media (min-width: 768px) {
    .size-style {
        width: var(--size-style-width-tablet, var(--size-style-width));
        height: var(--size-style-height-tablet, var(--size-style-height));
    }
}
@media screen and (min-width: 1366px) {
    .size-style {
        width: var(--size-style-width);
        height: var(--size-style-height);
    }
}

/* Content overlay */
.content-overlay-style {
    display: flex;
    align-items: var(--v-alignment);
    justify-content: var(--h-alignment);
}
@media (max-width: 767.98px) {
    .content-overlay-style {
        align-items: var(--v-alignment-mobile);
        justify-content: var(--h-alignment-mobile);
    }
}

/* Section header */
.section__header {
    margin-block-end: 4rem;
}
@media (max-width: 767.98px) {
    .section__header {
        margin-block-end: 2.4rem;
    }
}

/* Typography presets */
body,
.paragraph > *,
.paragraph :is(ul, ol) :is(h1, h2, h3, h4, h5, h6),
.paragraph:not(.button) {
    font-family: var(--font-body--family);
    font-style: var(--font-body--style);
    line-height: var(--font-paragraph--line-height);
    font-size: var(--font-size--paragraph);
    -webkit-font-smoothing: antialiased;
}

.mega-title {
    font-size: var(--font-size--mega-title);
    line-height: var(--font-mega-title--line-height);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.mega-title,
.text-block.h1 > *,
.text-block.h2 > *,
.text-block.h3 > *,
.text-block.h4 > *,
.text-block.h5 > *,
.text-block.h6 > * {
    font-family: var(--font-heading--family);
    font-style: var(--font-heading--style);
    text-transform: var(--font-heading--transform);
    letter-spacing: var(--font-heading--letter-spacing);
}

h1,
.h1,
.text-block.h1 > * {
    font-size: var(--font-size--h1);
    line-height: var(--font-h1--line-height);
}

h2,
.h2,
.text-block.h2 > * {
    font-size: var(--font-size--h2);
    line-height: var(--font-h2--line-height);
}

h3,
.h3,
.text-block.h3 > * {
    font-size: var(--font-size--h3);
    line-height: var(--font-h3--line-height);
}

h4,
.h4,
.text-block.h4 > * {
    font-size: var(--font-size--h4);
    line-height: var(--font-h4--line-height);
}

h5,
.h5,
.text-block.h5 > * {
    font-size: var(--font-size--h5);
    line-height: var(--font-h5--line-height);
}

h6,
.h6,
.text-block.h6 > * {
    font-size: var(--font-size--h6);
    line-height: var(--font-h6--line-height);
}

.text-body-sm {
    font-size: calc(var(--font-size--paragraph) * 0.933334);
    line-height: 2.2rem;
}

.text-body-xs {
    font-size: calc(var(--font-size--paragraph) * 0.866667);
    line-height: 2.1rem;
}

.text-subheading {
    font-family: var(--font-subheading--family);
    font-style: var(--font-subheading--style);
    text-transform: var(--font-subheading--transform);
    letter-spacing: var(--font-subheading--letter-spacing, 0);
    font-size: var(--font-subheading--size);
    line-height: calc(1 + 0.6 / var(--font-subheading--size-scale));
}

/* Fast tap on touch devices - removes 300ms delay */
a,
button,
input,
select,
textarea,
label {
    touch-action: manipulation;
}

/* Links */
a {
    color: rgb(var(--link-color, var(--color-foreground)));
    text-decoration-color: transparent;
    text-decoration-thickness: 0.075em;
    text-underline-offset: 0.125em;
}

.link {
    font-size: inherit;
    line-height: inherit;
    text-decoration: none;
    text-underline-offset: 0.2rem;
    cursor: pointer;
}
.link--underline {
    text-decoration: underline;
    text-decoration-color: inherit;
    text-decoration-thickness: 0.1rem;
}

@media (hover: hover) {
    .link--underline:hover {
        text-decoration-thickness: 0.2rem;
    }
}
.skip-to-content-link {
    position: absolute !important;
    overflow: hidden !important;
    height: 1px !important;
    left: -99999px !important;
    /* stylelint-disable-next-line declaration-no-important */
    overflow-wrap: normal !important;
}

.skip-to-content-link:focus {
    z-index: var(--layer-temporary);
    overflow: auto;
    width: auto !important;
    height: auto !important;
    left: 1rem !important;
    top: 1rem;
}

/* RTE styles */
.rte {
    /* Only apply margin-block-end to the higher level list, not nested lists */
}
.rte :is(h1, h2, h3, h4, h5, h6) {
    margin-block: 0 var(--font-heading--spacing);
}
.rte p {
    margin-block: 0 var(--font-paragraph--spacing);
}
.rte :last-child:is(p, h1, h2, h3, h4, h5, h6),
.rte :where(p, h1, h2, h3, h4, h5, h6):nth-child(2):has(+ :last-child:empty) {
    margin-block-end: 0;
}
.rte ul,
.rte ol {
    margin-block-start: 0;
    padding-inline-start: 0.7em;
    list-style-position: inside;
}
.rte :is(ul, ol):not(:is(ul, ol) :is(ul, ol)) {
    margin-block: 0 2.4rem;
}
.rte :is(ul, ol) :is(h1, h2, h3, h4, h5, h6) {
    display: inline-block;
}
.rte hr {
    margin-block: 0.8em;
}
.rte blockquote {
    margin-inline: 2.4rem 3.2rem;
    margin-block: 3.2rem;
    padding-inline-start: 1.6rem;
    border-inline-start: 0.4rem solid rgb(var(--color-border)/var(--color-border-alpha));
    font-style: italic;
}
.rte .rte-table-wrapper {
    overflow-x: auto;
}
.rte table {
    /* stylelint-disable-next-line declaration-no-important */
    width: 100% !important;
    border-collapse: collapse;
    margin-block: 0 2.4rem;
}
.rte tr:not(:has(td)),
.rte thead {
    background-color: rgb(var(--color-foreground-rgb)/5%);
    text-transform: uppercase;
}
.rte tr:has(td) {
    border-bottom: 1px solid rgb(var(--color-border)/var(--color-border-alpha));
}
.rte th,
.rte td {
    text-align: start;
    padding: 1.6rem 1.2rem;
}
.rte iframe,
.rte image {
    display: inline-block;
    max-width: 100%;
}
.rte a {
    position: relative;
    display: inline-block;
    color: currentcolor;
    text-decoration-color: currentcolor;
}

@media (hover: hover) {
    .rte a:hover {
        text-decoration-thickness: 0.2rem;
    }
}
.text-block {
    /* This is to deal with the margin applied to the p when custom styles are enabled. The p isn't the first child anymore due to the style tag */
}
.text-block :is(h1, h2, h3, h4, h5, h6), .text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) > * {
    margin-block: 0 var(--font-heading--spacing);
    display: inline;
}
.text-block p, .text-block.p > * {
    margin-block: 0 var(--font-paragraph--spacing);
}
.text-block p:first-child, .text-block.p > *:first-child {
    margin-block-start: 0;
}
.text-block p:last-child, .text-block.p > *:last-child {
    margin-block-end: 0;
}
.text-block > *:first-child {
    margin-block-start: 0;
}
.text-block > *:last-child {
    margin-block-end: 0;
}
.text-block > style + * {
    margin-block-start: 0;
}
.text-block :is(ul, ol) {
    margin-block: 0 2.4rem;
    padding-inline-start: 1.6em;
}
.text-block :is(h1, h2, h3, h4, h5, h6) :is(ul, ol) :is(h1, h2, h3, h4, h5, h6), .text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) :is(ul, ol) :is(h1, h2, h3, h4, h5, h6) {
    font-size: inherit;
    line-height: inherit;
}
.text-block :where(ul, ol) {
    list-style-position: inside;
}

/* Placeholder SVG */
svg.placeholder {
    background-color: rgb(var(--color-foreground)/10%);
    fill: rgb(var(--color-foreground)/25%);
    color: rgb(var(--color-foreground)/25%);
    display: block;
    width: 100%;
    height: 100%;
}

/* Media */
.media {
    overflow: hidden;
    position: relative;
    aspect-ratio: var(--ratio);
    background-color: rgb(var(--color-foreground)/5%);
}
.media__image {
    object-fit: cover;
    height: 100%;
}
.media__image:not(.media-hover__element) {
    transition: opacity var(--animation-duration--medium) var(--animation-easing);
}
.media__image.loading:not(svg.placeholder) {
    opacity: 0;
}
.media.loaded {
    background-color: transparent;
}
@media (max-width: 767.98px) {
    .media {
        aspect-ratio: var(--ratio-mobile, var(--ratio));
    }
}

@media (prefers-reduced-motion: no-preference) {
    .image-zoom-reveal .media__image {
        transform: scale(1.15);
        opacity: 0;
    }
    .image-zoom-reveal .media__image.media-hover__element {
        transition: transform 1.3s cubic-bezier(0.16, 1, 0.3, 1), scale var(--animation-duration--slow) var(--animation-easing--smooth), opacity 0.3s ease-in-out;
    }
    .image-zoom-reveal .media__image:not(.media-hover__element) {
        transition: transform 1.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease-in-out;
    }
    .image-zoom-reveal.loaded.in-view .media__image {
        opacity: 1;
        transform: none;
    }
}
body:not(.animations-enabled) .media .media__image:not(svg.placeholder) {
    opacity: 1;
    transform: translateZ(0) scale(1);
    transition: none;
    will-change: auto;
}
body:not(.animations-enabled) .media.loaded .media__image:not(svg.placeholder) {
    opacity: 1;
    transform: translateZ(0) scale(1);
}

/* Deferred media */
:is(product-model, deferred-media) {
    /* Height needed to make sure when it's set to be stretched, it takes the full height */
    height: 100%;
    width: 100%;
    position: relative;
}

:is(deferred-media) video::-webkit-media-controls {
    visibility: hidden;
}
:is(deferred-media) video::-webkit-media-controls-enclosure {
    visibility: visible;
}

:is(product-model) > .shopify-model-viewer-ui,
:is(deferred-media) > .deferred-media__poster-button ~ *:not(template, .relative),
:is(deferred-media) > .deferred-media__poster-button ~ noscript video {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    /* Required to make sure the absolute position respects the padding of the wrapper: */
    padding: inherit;
}

:is(deferred-media, .video-placeholder-wrapper).border-style {
    /* Apply the border radius to the video */
    overflow: hidden;
}

.deferred-media__poster-button {
    width: 100%;
    height: 100%;
    aspect-ratio: var(--video-aspect-ratio, auto);
    cursor: pointer;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

deferred-media iframe {
    width: 100%;
    height: 100%;
    border: none;
    aspect-ratio: var(--size-style-aspect-ratio, auto);
    vertical-align: bottom;
}

.deferred-media__poster-button.deferred-media__playing {
    opacity: 0;
    transition: opacity 0.3s ease;
}

deferred-media img {
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease;
}

deferred-media .media__image {
    height: 100%;
}

.deferred-media__poster-icon,
.video-placeholder-wrapper__poster-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--button-width, 5rem);
    height: var(--button-height, 5rem);
    background: rgb(var(--color-background));
    box-shadow: 0 0.5rem 2rem 0 rgb(var(--color-foreground)/8%);
    transition: color var(--animation-duration--medium) var(--animation-easing--smooth);
}

@media (hover: hover) {
    .deferred-media__poster-icon:hover,
    .video-placeholder-wrapper__poster-icon:hover {
        color: rgb(var(--color-foreground)/55%);
    }
}
.shopify-model-viewer-ui button.shopify-model-viewer-ui__button--poster {
    width: var(--button-width, 5rem);
    height: var(--button-height, 5rem);
    border-radius: 50%;
    color: rgb(var(--color-foreground));
    box-shadow: 0 0.5rem 2rem 0 rgb(var(--color-foreground)/8%);
    transition: color var(--animation-duration--medium) var(--animation-easing--smooth);
}
.shopify-model-viewer-ui button.shopify-model-viewer-ui__button--poster > svg {
    height: 4rem;
}

.video-placeholder-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: var(--size-style-aspect-ratio, auto);
}

.deferred-media__loading {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: var(--color-background, rgba(0, 0, 0, 0));
}

deferred-media[data-loading] > .deferred-media__loading {
    display: flex;
    background-color: rgb(var(--color-foreground)/5%);
}

/* Simple spinner */
deferred-media[data-loading] > .deferred-media__loading::after {
    content: "";
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    border: 0.3rem solid rgb(var(--color-foreground)/10%);
    border-top-color: rgb(var(--color-foreground)/60%);
    animation: spinLoading 0.8s linear infinite;
}

deferred-media[data-loading] > .deferred-media__poster-button {
    opacity: 0;
    visibility: hidden;
}

deferred-media:not([data-media-loaded=true]) .video-interaction-hint {
    display: none;
}

.video-interaction__controls-inner {
    padding: 1rem;
}
.video-interaction__control {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    width: 3.6rem;
    height: 3.6rem;
    color: #fff;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 50%;
    border: 0;
    padding: 0;
}
.video-interaction__control > span:not(.hidden) {
    display: flex;
}
@media (min-width: 768px) {
    .video-interaction__controls-inner {
        padding: 1.6rem;
    }
}

.video-interaction-hint {
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: var(--layer-raised);
}
.video-interaction-hint:hover {
    opacity: 1;
}
.video-interaction-hint:focus-within {
    opacity: 1;
}

product-model model-viewer {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

button[data-shopify-xr] {
    width: 100%;
    margin-block-start: var(--spacing-3);
}

.button-shopify-xr[data-shopify-xr-hidden] {
    display: none;
}

/* Loading spinner */
.loading-spinner {
    display: inline-block;
    position: absolute;
    z-index: 1;
    width: var(--loading-size, 2rem);
    height: var(--loading-size, 2rem);
    line-height: 1;
}
.loading-spinner .spinner {
    animation: rotator 1.4s linear infinite;
    width: 100%;
    height: 100%;
}
.loading-spinner .path {
    stroke-dasharray: 280;
    stroke-dashoffset: 0;
    transform-origin: center;
    stroke: currentcolor;
    animation: dash 1.4s ease-in-out infinite;
    vector-effect: none;
}

/* Cart count */
.cart-count {
    --cart-count-size: 2rem;
    width: var(--cart-count-size, 2rem);
    height: var(--cart-count-size, 2rem);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    font-size: 1.4rem;
    color: var(--color-cart-bubble-text);
    background-color: var(--color-cart-bubble-background);
    border-radius: 50%;
}
.cart-count--small-medium {
    --cart-count-size: 2.4rem;
}
.cart-count--absolute {
    position: absolute;
    top: 0.1rem;
    inset-inline-end: var(--cart-count-offset-x, -0.5rem);
}
@media (min-width: 768px) {
    .cart-icon .cart-count--absolute {
        --cart-count-size: 2.2rem;
        top: -0.2rem;
    }
    .cart-icon .cart-count--absolute.cart-count--small-medium {
        --cart-count-size: 2.4rem;
    }
}
.cart-count--unstyled {
    background: transparent;
    color: inherit;
    width: fit-content;
    height: auto;
    inset-inline: calc(100% + 0.4rem) auto;
}
@media (min-width: 768px) {
    .cart-count--unstyled {
        top: 0.3rem;
    }
}
.cart-count[hidden] {
    display: none;
}

/* Showmore */
.show-more svg,
.show-more path {
    transition: transform var(--animation-duration--fast) var(--animation-easing);
}

.show-more[data-expanded=true] .show-more__label--more,
.show-more[data-expanded=false] .show-more__label--less {
    display: none;
}

.show-more[data-expanded=true] svg .icon--plus-line-2 {
    transform: rotate(270deg);
    transform-origin: center;
}

@media screen and (forced-colors: active) {
    .path {
        stroke: CanvasText;
    }
}
/* Table */
table {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0;
}

table:not([class]) {
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 1.4rem;
    border-style: hidden;
    box-shadow: 0 0 0 0.1rem rgb(var(--color-foreground)/20%);
}

table:not([class]) td,
table:not([class]) th {
    padding: 1em;
    border: 0.1rem solid rgb(var(--color-foreground)/20%);
}

.table-striped {
    color: rgb(var(--color-foreground-secondary));
}
.table-striped td,
.table-striped th {
    padding: 1.2rem 1.6rem;
}
.table-striped th {
    text-align: start;
    color: rgb(var(--color-foreground));
}
.table-striped tr:nth-child(odd) {
    background-color: rgb(var(--color-background-secondary));
}

/* Divider */
.divider {
    justify-content: var(--divider-justify-content);
}

.divider__line {
    border-bottom: var(--divider-border-thickness) solid rgb(var(--color-border)/var(--color-border-alpha));
    border-right: var(--divider-border-thickness) solid rgb(var(--color-border)/var(--color-border-alpha));
    flex-basis: var(--divider-flex-basis);
    min-height: var(--divider-flex-basis);
}

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

.separator--dot .separator__shape {
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
}

.separator--line .separator__shape {
    width: 6.4rem;
    height: 0.1rem;
}

.spacer {
    height: var(--f-spacing-mobile, var(--f-spacing));
}

@media (min-width: 768px) {
    .spacer {
        height: var(--f-spacing);
    }
}
/* Quantity selector */
.quantity-selector {
    flex-grow: 0;
    height: var(--quantity-selector-height, 5.9rem);
    max-width: var(--quantity-selector-max-width, 11.5rem);
    path {
        stroke-width: 0.25rem;
    }
}

.quantity-selector[data-context=cart-items] {
    --quantity-selector-max-width: 9rem;
    --quantity-selector-height: 4rem;
    --quantity-selector-padding-inline: 1.2rem;
}

.quantity-selector .quantity-input {
    appearance: textfield;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    height: 100%;
    color: rgb(var(--color-foreground));
    background: #FFF;
    box-shadow: 2.605px 3px 0 0 rgba(9, 50, 78, 0.23), -5.209px -5.209px 0 0 rgba(0, 0, 0, 0.15) inset;
    transition: .2s all var(--ease-in-out-sine);
    border: 0.265rem solid #00142D;
    border-radius: var(--quantity-selector-radius, var(--input-border-radius));
}

/* Remove spinner buttons for webkit browsers */
.quantity-selector .quantity-input::-webkit-outer-spin-button,
.quantity-selector .quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.quantity-selector .quantity-button {
    top: 0;
    bottom: 0;
    height: 100%;
    padding-inline: var(--quantity-selector-padding-inline, 2rem) 0.8rem;
    path {
        transition: .2s all var(--ease-in-out-sine);
    }
}

.quantity-selector .quantity-plus {
    inset-inline-end: 0;
    padding-inline: 0.8rem var(--quantity-selector-padding-inline, 2rem);
}

/* Hide "Add" button when "Choose" button is shown */
[data-quick-add-button=choose] add-to-cart-component {
    display: none;
}

/* Hide "Choose" button when "Add" button is shown */
[data-quick-add-button=add] .quick-add__button--choose {
    display: none;
}

.collection-card__inner {
    row-gap: var(--row-gap);
}

.collection-card__link {
    border-radius: var(--border-radius);
}

.collection-card__count {
    --font-size--paragraph: 87.5%;
}

@media (max-width: 767.98px) {
    .collection-card__inner {
        row-gap: var(--row-gap-mobile, 1.2rem);
    }
}
.article-card__media {
    max-height: 100%;
}
.article-card__media .media {
    aspect-ratio: unset;
    height: 100%;
}
.article-card__media [style*="--ratio"] {
    position: relative;
    overflow: hidden;
}
.article-card__media [style*="--ratio"]::before {
    display: block;
    width: 100%;
    content: "";
    height: 0;
    padding-block-start: calc(100% / (0.0001 + var(--ratio, 1.7777777778)));
}
.article-card__media [style*="--ratio"] > *:first-child:is(img),
.article-card__media [style*="--ratio"] .media__image {
    inset-block-start: 0;
    inset-inline: 0;
    position: absolute !important;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.article-card__tags {
    padding: var(--content-padding, var(--edge-padding-block));
}

.article-card__title {
    margin-block-end: 0;
}

.article-card__separator {
    width: 0.4rem;
    height: 0.4rem;
    background: var(--color-foreground-secondary);
    align-self: center;
}

.article-card__button {
    --icon-size: 1.4rem;
    margin-top: 1.2rem;
}

.article-card__content {
    container-type: inline-size;
    container-name: article-card-content;
    pointer-events: none;
}
.article-card__content :is(a, button) {
    pointer-events: auto;
}

@container article-card-content (max-width: 250px) {
    .article-card__metas {
        flex-direction: column;
    }
    .article-card__separator {
        display: none;
    }
}
@media (min-width: 768px) {
    .article-card--content-outside .article-card__tags {
        --content-padding: 2rem;
    }
    .article-card--row .article-card__media {
        max-width: 36%;
        width: 100%;
    }
    .article-card--row .article-card__tags {
        --content-padding: 1rem;
    }
    .article-card--row .article-card__content {
        padding-inline-start: 0;
        padding-block-start: var(--edge-padding-block);
    }
    .article-card--column .article-card__content {
        padding-block-start: 0;
    }
}
@media (max-width: 767.98px) {
    .article-card--content-outside .article-card__content {
        padding-block-start: 0;
    }
    .article-card__tags {
        --content-padding: 1rem;
    }
    .article-card__media [style*="--ratio"]::before {
        padding-block-start: calc(100% / (0.0001 + var(--ratio-mobile, var(--ratio, 1.7777777778))));
    }
}
.overlay {
    z-index: var(--overlay-layer);
    border-radius: inherit;
}

.overlay--solid {
    background: var(--overlay-color);
}

.product-badges:has(.product-badges--empty) {
    display: none;
}

.socials--blank a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 3.6rem;
    height: 3.6rem;
}

.social__item img:first-child {
    filter: drop-shadow(1px 2.14px 0 rgba(0, 20, 45, 0.50));
    transition: all .2s var(--ease-out-sine);
}
.social__item {
    position: relative;
    transition: all .2s var(--ease-out-sine);
}
.social__item img:nth-child(2) {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.socials--solid .btn {
    --button-height: 4.8rem;
    --button-corner-radius: 1rem;
}

.social-sharing__item {
    color: inherit;
    transition: transform var(--animation-duration--fast) var(--animation-easing);
    will-change: transform;
}

.social-sharing__item:hover {
    transform: scale(1.15);
}

.breadcrumbs a {
    color: rgb(var(--color-foreground));
    white-space: nowrap;
}

.breadcrumbs__sep {
    color: rgb(var(--color-foreground)/20%);
}

.breadcrumbs__sep::before {
    content: "/";
}

.add-to-cart-button .add-to-cart-text {
    transition: opacity var(--animation-duration--medium), visibility var(--animation-duration--medium);
}

.add-to-cart-button.loading .add-to-cart-text {
    opacity: 0;
    visibility: hidden;
}

.dropdown-localization {
    --dropdown-border-color: rgb(var(--color-border) / calc(var(--color-border-alpha) + 0.1));
}
.dropdown-localization__button.btn {
    padding-inline: 1.1rem;
    border-color: var(--dropdown-border-color);
}
.dropdown-localization__button.btn .icon-flag {
    width: var(--flag-size, 2rem);
    height: var(--flag-size, 2rem);
    clip-path: circle(50%);
    background-position: center;
    background-size: cover;
}
.dropdown-localization__button-arrow svg {
    transition: transform var(--animation-duration--medium);
}
.dropdown-localization__button[aria-expanded=true] .dropdown-localization__button-arrow svg {
    transform: rotate(180deg);
}

.shopify-section:has(.sticky-add-to-cart) {
    z-index: 2;
}

.main-content .shopify-policy__container {
    padding-block: 4.8rem;
    padding-inline: 1.6rem;
    max-width: 91.2rem;
}
.main-content .shopify-policy__title {
    padding-bottom: 2.4rem;
}
@media (min-width: 768px) {
    .main-content .shopify-policy__container {
        padding-block: 6rem;
    }
    .main-content .shopify-policy__title {
        padding-bottom: 4rem;
    }
}

label[for] {
    cursor: pointer;
}
label[for]:has([disabled]) {
    cursor: not-allowed;
}

input,
textarea,
select {
    font: inherit;
    background-color: rgb(var(--color-input-background));
    color: rgb(var(--color-input-text));
}

input:is([type=checkbox], [type=radio]),
input.form-control:is([type=checkbox], [type=radio]) {
    --input-border-color: rgb(var(--color-foreground), 1);
    --input-background-color: rgb(var(--color-background), 1);
    appearance: none;
    width: var(--choice-input-size, 2rem);
    height: var(--choice-input-size, 2rem);
    margin: 0;
    padding: 0;
    background-color: rgb(var(--input-active-color, var(--color-background))/var(--input-active-alpha, var(--color-background-alpha, 1)));
    border-width: 0.1rem;
    border-style: solid;
    border-color: rgb(var(--input-active-color, var(--color-foreground))/var(--input-active-border-alpha, var(--color-foreground-alpha, 100%)));
    display: inline-flex;
    position: relative;
    transition: background-color 0.3s, border-color 0.3s, box-shadow 0.2s;
    cursor: pointer;
}
input:is([type=checkbox], [type=radio])[disabled],
input.form-control:is([type=checkbox], [type=radio])[disabled] {
    cursor: not-allowed;
}
input:is([type=checkbox], [type=radio])::after,
input.form-control:is([type=checkbox], [type=radio])::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
}
input:is([type=checkbox])::after,
input.form-control:is([type=checkbox])::after {
    border: 0.2rem solid rgb(var(--color-background));
    border-inline-start: 0;
    border-block-start: 0;
    width: calc(var(--choice-input-size, 2rem) * 0.3);
    height: calc(var(--choice-input-size, 2rem) * 0.6);
    transform: translate(-50%, -65%) rotate(43deg);
}
input:is([type=radio])::after,
input.form-control:is([type=radio])::after {
    border-radius: 50%;
    width: 50%;
    height: 50%;
    background: rgb(var(--color-background));
    transform: translate(-50%, -50%);
}
input:is([type=checkbox], [type=radio]):checked,
input.form-control:is([type=checkbox], [type=radio]):checked {
    --input-active-color: var(--color-foreground);
}
input:is([type=checkbox], [type=radio]):focus,
input.form-control:is([type=checkbox], [type=radio]):focus {
    box-shadow: none;
}
input:is([type=checkbox], [type=radio]):hover,
input.form-control:is([type=checkbox], [type=radio]):hover {
    box-shadow: 0 0 0 3px rgb(var(--color-foreground)/10%);
}
input:is([type=checkbox], [type=radio]):focus-visible,
input.form-control:is([type=checkbox], [type=radio]):focus-visible {
    box-shadow: 0 0 0 2px rgb(var(--color-focus-ring));
}

input:is([type=checkbox]) {
    border-radius: min(var(--input-border-radius), 0.2rem);
    border-style: solid;
}

input:is([type=radio]) {
    border-radius: 50%;
    border-style: solid;
}

.form-control,
input.form-control,
textarea.form-control,
select.form-control {
    height: var(--input-height, 5rem);
    padding: var(--input-padding-block, 0.8rem) var(--input-padding-inline, 1.6rem);
    line-height: var(--input-line-height, var(--font-paragraph--line-height, 1.6));
    border: var(--input-border-width, 0.27rem) solid #00142D;
    border-radius: var(--input-border-radius, 0);
    background-color: #E1EFF8;
    color: #477DFD;
    box-shadow: 2.605px 3px 0 0 rgba(9, 50, 78, 0.23);
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    transition: background-color .15s var(--ease-in-out-sine),
                border-color .15s var(--ease-in-out-sine),
                box-shadow .15s var(--ease-in-out-sine),
                color .15s var(--ease-in-out-sine);
}

.form-control::placeholder {
    color: rgba(0, 20, 45, 0.40);
    opacity: 1;
}

.form-control:focus,
.form-control:focus-visible,
input.form-control:focus,
input.form-control:focus-visible,
textarea.form-control:focus,
textarea.form-control:focus-visible {
    border-color: #477DFD;
    background-color: #E9FAFE;
    outline: none;
    box-shadow: 2.605px 3px 0 0 rgba(9, 50, 78, 0.23);
}

@media (hover: hover) {
    .form-control:hover:not(:focus):not(:disabled):not([aria-invalid="true"]):not(.is-invalid),
    input.form-control:hover:not(:focus):not(:disabled):not([aria-invalid="true"]):not(.is-invalid),
    textarea.form-control:hover:not(:focus):not(:disabled):not([aria-invalid="true"]):not(.is-invalid) {
        background-color: #E9FAFE;
        box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23);
    }
    .social__item:hover img {
        filter: drop-shadow(0 0 0 rgba(0, 20, 45, 0.50));
    }
    .social__item:hover {
        transform: translate(1px, 1px);
    }
}

.form-control:not(:placeholder-shown):not(:focus):not(:disabled):not([aria-invalid="true"]):not(.is-invalid),
input.form-control:not(:placeholder-shown):not(:focus):not(:disabled):not([aria-invalid="true"]):not(.is-invalid),
textarea.form-control:not(:placeholder-shown):not(:focus):not(:disabled):not([aria-invalid="true"]):not(.is-invalid) {
    border-color: #00142D;
    background-color: #E1EFF8;
    box-shadow: 2.605px 3px 0 0 rgba(9, 50, 78, 0.23);
}

.form-control:disabled,
.form-control[disabled],
input.form-control:disabled,
textarea.form-control:disabled,
select.form-control:disabled {
    border-color: #99A1AB;
    background-color: #D9D9D9;
    opacity: 0.8;
    pointer-events: none;
}

.form-control[aria-invalid="true"],
.form-control.is-invalid{
    border-color: #F66A6A;
    background-color: #E9FAFE;
}

/* Neutralize WebKit autofill blue/yellow background and outline */
.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus,
.form-control:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #E1EFF8 inset, 2.605px 3px 0 0 rgba(9, 50, 78, 0.23);
    box-shadow: 0 0 0 1000px #E1EFF8 inset, 2.605px 3px 0 0 rgba(9, 50, 78, 0.23);
    -webkit-text-fill-color: #477DFD;
    caret-color: #477DFD;
    transition: background-color 5000s ease-in-out 0s;
}


.select {
    position: relative;
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
}
.select::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    inset-inline-end: var(--input-padding-inline, 1.6rem);
    background-color: rgb(var(--color-input-text));
    mask-image: var(--select-arrow-icon);
    width: var(--select-arrow-size, 1.2rem);
    aspect-ratio: 1;
    pointer-events: none;
}
.select select {
    appearance: none;
    padding-inline-end: 4.8rem;
    cursor: pointer;
    max-width: 100%;
    text-overflow: ellipsis;
}
.select--blank::after {
    inset-inline-end: 0;
    background-color: rgb(var(--color-foreground));
}
.select--blank select {
    border: 0;
    border-radius: 0;
    padding-block: 0;
    padding-inline: 0 calc(var(--select-arrow-size, 1.2rem) + 0.8rem);
    height: auto;
    color: rgb(var(--color-foreground));
    background-color: transparent;
}
.select--blank select:focus {
    box-shadow: inset 0 -0.1rem 0 0 rgb(var(--color-foreground));
}
.select--outline select {
    background-color: transparent;
    color: rgb(var(--color-foreground));
    border: 0.1rem solid rgb(var(--color-foreground)/20%);
}
.select--small {
    --input-padding-block: 0.4rem;
    --input-height: 4rem;
}
.select--small select {
    padding-inline-end: 3.6rem;
}
.select--sizing-content select {
    field-sizing: content;
}

textarea.form-control {
    --input-height: auto;
    border-radius: var(--textareas-radius);
}

.form-label {
    display: block;
    margin-block-end: 0.8rem;
}

.form-field__choice {
    display: inline-flex;
    align-items: center;
}

.form-field__choice .form-label {
    margin-block-end: 0;
    padding-inline-start: 0.8rem;
}

.quantity-selector .quantity-input:focus,
.quantity-selector .quantity-input:focus-visible {
    outline: 0;
    box-shadow: inset 0 0 0 var(--input-border-width) rgb(var(--color-foreground));
}

.form-message {
    display: flex;
}
.form-message:not(:is(h1, h2, h3, h4, h5, h6)) {
    font-size: var(--font-size--paragraph, 1.4rem);
}
.form-field .form-message {
    margin-top: var(--spacing-2, 0.8rem);
}

.form-message--small {
    font-size: var(--font-size--paragraph-small, 1.2rem);
}

.form-message--error {
    color: rgb(var(--color-notification-error, 196, 48, 28));
}

.form-message--success {
    color: rgb(var(--color-notification-success, 13, 135, 86));
}

.form-message--warning {
    color: rgb(var(--color-notification-warning, 206, 161, 0));
}

.customer .form-message .icon {
    transform: translateY(3px);
}

/**
 * Fix IOS zooming on form focus
 */
@supports (-webkit-overflow-scrolling: touch) {
    input:where([type=text],
  [type=email],
  [type=url],
  [type=password],
  [type=search],
  [type=number],
  [type=tel]),
    select,
    textarea {
        font-size: max(16px, var(--font-size--paragraph)) !important;
    }
}
input[type=checkbox].foxkit-checkbox {
    background-color: rgb(var(--input-active-color, var(--color-background))/var(--input-active-alpha, var(--color-background-alpha, 1))) !important;
}

/* Buttons */
.btn {
    --button-padding-inline: 2.4rem;
    --icon-solid-size: 1.5rem;
    --button-icon-gap: 0.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--button-icon-gap);
    height: var(--button-height, 5rem);
    width: var(--button-width, auto);
    padding: var(--button-padding-block, 1rem) var(--button-padding-inline, 2.4rem);
    line-height: var(--button-line-height, var(--font-paragraph--line-height, 1.6));
    border-radius: var(--button-corner-radius, 0);
    border-width: var(--button-border-thickness, 0.1rem);
    border-style: var(--button-border-style, solid);
    transition: background-color, color, border-color, opacity, transform var(--animation-duration--medium);
    position: relative;
    z-index: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-decoration: none;
    font-size: 2rem;
    cursor: pointer;
    font-family: var(--font-button--family);
    font-style: var(--font-button--style);
    font-weight: var(--font-button--weight);
    letter-spacing: var(--font-button--letter-spacing);
    text-transform: var(--font-button--transform);
}

.btn__text,
.btn__icon-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.btn--medium,
.btn--small {
    --button-padding-inline: 2rem;
}

.btn--medium {
    --button-height: 4.5rem;
    --button-corner-radius: 5rem;
    --button-border-thickness: 0.27rem;
    --button-padding-block: 0.8rem;
    --icon-solid-size: 1.2rem;
    height: var(--button-height);
    border-radius: var(--button-corner-radius);
    border-width: var(--button-border-thickness);
    font-size: 1.6rem;
}

.btn--small {
    --button-height: 3.7rem;
    --button-corner-radius: 4.2rem;
    --button-border-thickness: 0.2rem;
    --button-padding-block: 0.6rem;
    --icon-solid-size: 1rem;
    --icon-size: 1.2rem;
    height: var(--button-height);
    border-radius: var(--button-corner-radius);
    border-width: var(--button-border-thickness);
    font-size: 1.4rem;
}

.btn.btn--icon {
    --button-padding-inline: 2rem;
}

.btn--small.btn--icon {
    --button-padding-inline: 1.6rem;
}

.btn--primary {
    background-color: var(--color-secondary-button-background);
    color: var(--color-secondary-button-text);
    border-color: var(--color-secondary-button-border);
    box-shadow: 2.61px 3px 0 0 rgba(9, 50, 78, 0.23), -5.209px -5.209px 0 0 rgba(0, 0, 0, 0.15) inset;
    transition-property: background-color, color, border-color, box-shadow;
    transition-duration: .2s;
    transition-timing-function: var(--ease-in-out-sine);
}
.btn--primary.cart-summary__checkout-button {
    background-color: var(--color-secondary-button-text);
    color: var(--color-secondary-button-background);
}
.btn--secondary {
    background-color: var(--color-secondary-button-background);
    color: var(--color-secondary-button-text);
    border-color: var(--color-secondary-button-border);
    box-shadow: 2.61px 3px 0 0 rgba(9, 50, 78, 0.23), -5.209px -5.209px 0 0 rgba(0, 0, 0, 0.15) inset;
    transition-property: background-color, color, border-color, box-shadow;
    transition-duration: .2s;
    transition-timing-function: var(--ease-in-out-sine);
}

.btn--extra-small {
    --button-height: 2.9rem;
    --button-corner-radius: 3.6rem;
    --button-border-thickness: 0.17rem;
    --button-padding-block: 0.4rem;
    --icon-solid-size: 1rem;
    --icon-size: 1.2rem;
    height: var(--button-height);
    border-radius: var(--button-corner-radius);
    border-width: var(--button-border-thickness);
    font-size: 1.2rem;
    background-color: #81abff;
    border-color: #00142d;
    box-shadow: 1.888px 2.175px 0 0 rgba(9, 50, 78, 0.23), -3.777px -3.777px 0 0 rgba(0, 0, 0, 0.15) inset;
}

.btn--outline {
    background-color: transparent;
    border-color: rgb(var(--color-foreground)/var(--button-outline-border-alpha, 1));
    color: var(--color-foreground);
}

.btn--plain {
    height: auto;
    padding: 0;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    color: var(--color-foreground);
}
.btn--plain .btn__text {
    position: relative;
}
.btn--plain .btn__text::after {
    content: "";
    position: absolute;
    width: 0;
    height: 1px;
    inset-inline-end: 0;
    bottom: 0;
    transition: 0.3s all;
    background-color: rgb(var(--color-foreground));
}

.btn--white {
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-black));
    border-color: rgb(var(--color-white));
}

.btn__icon {
    position: absolute;
    top: 0;
    inset-inline: 0 auto;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--button-icon-gap);
    padding-inline: var(--button-padding-inline) var(--button-padding-inline-end);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    clip-path: circle(var(--icon-solid-size) at calc(100% - var(--icon-solid-size) - var(--button-padding-inline-end)) 50%);
    overflow: hidden;
}

.btn__icon-icon {
    display: flex;
    width: calc(var(--icon-solid-size) * 2);
    height: calc(var(--icon-solid-size) * 2);
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
    overflow: hidden;
    transition: all var(--animation-duration--medium) var(--animation-easing);
}

.btn--primary .btn__icon {
    background-color: rgb(var(--color-primary-button-text));
    color: rgb(var(--color-primary-button-background));
}
.cart-drawer__summary .btn--icon-only {
    width: 4.5rem;
}
.btn--secondary .btn__icon,
.btn--outline .btn__icon {
    background-color: rgb(var(--color-primary-button-background));
    color: rgb(var(--color-primary-button-text));
}

.btn--icon-only {
    --button-padding-inline: 0;
    --button-padding-block: 0;
    --button-corner-radius: 50%;
    --button-width: 5.2rem;
    height: auto;
    background-color: #ffffff;
    aspect-ratio: 1/1;
    justify-content: center;
}
.btn--icon-only:not(.btn--secondary):not(.btn--primary):not(.social__link) {
    border: 2.65px solid #00142D;
    box-shadow: -4.172px -4.172px 0 0 rgba(0, 0, 0, 0.15) inset, 2.086px 2.403px 0 0 rgba(9, 50, 78, 0.23);
    transition-property: background-color, color, border-color, box-shadow;
    transition-duration: .2s;
    transition-timing-function: var(--ease-in-out-sine);
}

.btn--icon-only.social__link {
    box-shadow: none;
    border: none;
    background-color: transparent;
}

.btn--icon-only path.has-fill {
    fill: #477DFD;
}
.btn--icon-only path.has-stroke {
    stroke: #477DFD;
}
.btn--icon-only path.has-fill {
    fill: #477DFD;
}
.btn--icon-only path.has-stroke {
    stroke: #477DFD;
}

.btn--icon-only.btn--medium {
    /*--button-width: min(var(--button-height, 5rem), 4.4rem);*/
}

.btn--icon-only.btn--small {
    /*--button-width: min(var(--button-height, 5rem), 3.8rem);*/
}

.btn--icon-only.btn--extra-small {
    /*--button-width: min(var(--button-height, 5rem), 3rem);*/
}

.btn--icon-only.btn--outline {
    --button-outline-border-alpha: 0.2;
}

[class*=btn--]:not(.btn--icon-solid, .btn--plain, .button-unstyled)::before {
    content: "";
    position: absolute;
    width: 0;
    inset-block: calc(var(--button-border-thickness, 0.1rem) * -1);
    inset-inline-start: calc(var(--button-border-thickness, 0.1rem) * -1);
    z-index: -1;
    transition: width 0.3s;
    border-radius: var(--button-corner-radius, 0);
    background-color: rgb(var(--color-primary-button-background));
}

.btn--primary:not(.btn--icon-solid)::before {
    background-color: rgb(var(--color-primary-button-text));
}

.button-unstyled {
    display: block;
    padding: 0;
    background-color: inherit;
    color: inherit;
    border: 0;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
    height: auto;
    font-family: inherit;
    font-size: inherit;
}

.btn[hidden] {
    display: none;
}

.btn[aria-disabled=true],
.btn--secondary[aria-disabled=true],
.btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn .loading-spinner {
    position: absolute;
    display: none;
    opacity: 0;
    left: 50%;
    transform: translateX(-50%);
}
.btn--loading > *:not(.loading-spinner) {
    opacity: 0;
}
.btn--loading .loading-spinner {
    display: inline-flex !important;
    opacity: 1;
}

.btn--primary.btn--loading {
    color: rgba(255, 255, 255, 0.7) !important;
    background: #4E7FE3 !important;
    box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23), 0 0 0 0 rgba(0, 0, 0, 0.15) inset !important;
}
.btn--secondary.btn--loading {
    color: rgba(255, 255, 255, 0.7) !important;
    background: #4E7FE3 !important;
    box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23), 0 0 0 0 rgba(0, 0, 0, 0.15) inset !important;
}

@media (max-width: 767.98px) {
    .button-block:has(> .btn--full-mobile) {
        width: 100%;
    }
    .btn--full-mobile {
        width: 100%;
    }
    .btn--full-mobile.btn--icon-solid {
        justify-content: space-between;
    }
}
@media (hover: hover) and (pointer: fine) {
    [class*=btn--]:not(.btn--icon-solid, .btn--icon-solid-desktop, .button-unstyled):hover::before {
        /*width: calc(100% + var(--button-border-thickness, 0.1rem) * 2);*/
    }
    .btn--primary:not(.btn--icon-solid, .btn--icon-solid-desktop):hover {
        color: rgba(255, 255, 255, 0.7);
        background-color: #4E7FE3;
        box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23), 0 0 0 0 rgba(0, 0, 0, 0.15) inset;
    }
    .btn--primary:not(.btn--icon-solid, .btn--icon-solid-desktop).cart-summary__checkout-button {
        background-color: #ffffff;
        color: #4E7FE3;
    }
    .btn--white:not(.btn--icon-solid, .btn--icon-solid-desktop):hover {
        /*color: rgb(var(--color-white));*/
    }
    .btn--secondary:not(.btn--icon-solid, .btn--icon-solid-desktop):not(.tabs__button[aria-selected=true]):hover {
        color: rgba(255, 255, 255, 0.7);
        background: #4E7FE3;
        box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23), 0 0 0 0 rgba(0, 0, 0, 0.15) inset;
    }
    .cbb-frequently-bought-add-button:hover {
        color: rgba(255, 255, 255, 0.7) !important;
        background: #4E7FE3 !important;
        box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23), 0 0 0 0 rgba(0, 0, 0, 0.15) inset !important;
    }
    .btn--outline:not(.btn--icon-solid, .btn--icon-solid-desktop):hover {
        /*color: rgb(var(--color-primary-button-text));*/
    }
    .btn--icon-only:not(.btn--primary):not(.btn--secondary):hover {
        background-color: #477DFD;
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.15) inset, 0 0 0 0 rgba(9, 50, 78, 0.23);
    }
    .btn--icon-only path {
        transition: .2s all var(--ease-in-out-sine);
    }
    .btn--icon-only:hover path.has-fill {
        fill: #ffffff;
    }
    .btn--icon-only:hover path.has-stroke {
        stroke: #ffffff;
    }
    .btn--icon-solid:hover .icon:not(.spinner),
    .btn--icon-solid-desktop:hover .icon:not(.spinner) {
        /*animation: slideInOut 1s infinite;*/
    }
    .btn--plain:hover .btn__text::after {
        /*inset-inline: 0 auto;*/
        /*width: 100%;*/
    }
    .quantity-selector:hover .quantity-input {
        box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23), 0 0 0 0 rgba(0, 0, 0, 0.15) inset;
    }
    .quantity-selector .quantity-button:hover {
        path:not(:first-child) {
            stroke: #477DFD;
        }
    }
}
.price-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--price-gap-y, 0.4rem) var(--price-gap-x, 0.4rem);
}
.price-container > * {
    display: flex;
    align-items: center;
}
.layout-panel-flex--row .price-container {
    flex-wrap: nowrap;
}

.price,
.compare-at-price,
.unit-price {
    white-space: nowrap;
}

.price--sale {
    color: rgb(var(--color-sale-price));
}

.price,
.compare-at-price,
.unit-price {
    font-family: var(--font-pcard-price--family);
    font-style: var(--font-pcard-price--style);
}

.compare-at-price {
    opacity: 0.6;
    text-decoration-line: line-through;
}

.price__regular {
    display: block;
}

.price__sale,
.price--on-sale .price__regular {
    display: none;
}

.price--on-sale .price__sale {
    display: initial;
}

.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.4rem 1rem;
}
.badge svg {
    width: 100%;
    height: auto;
}
.badge--new {
    width: 7.4rem;
}
.badge--coming-soon {
    width: 15.2rem;
}
.badge--popular {
    width: 13.4rem;
}
.badge--limited {
    width: 7.4rem;
}
.badge--sale {
    width: 9.6rem;
}
.badge--sold-out {
    width: 12.5rem;
}
.badge--back-soon {
    width: 12.4rem;
    filter: drop-shadow(2px 2px 0 #00142D80);
}
@media (max-width: 767px) {
    .badge--new {
        width: 4.4rem;
    }
    .badge--coming-soon {
        width: 11.2rem;
    }
    .badge--popular {
        width: 9.4rem;
    }
    .badge--limited {
        width: 4.4rem;
    }
    .badge--sale {
        width: 5.6rem;
    }
    .badge--sold-out {
        width: 8.5rem;
    }
    .badge--back-soon {
        width: 9.1rem;
    }
}
.product-card__price:has(.product-card-horizontal__badges) {
    overflow: visible;
    position: relative;
}
.product-card-horizontal__badges {
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
}
.cart-drawer__recommendation-product {
    .badge--new {
        width: 3.4rem;
    }
    .badge--coming-soon {
        width: 10.2rem;
    }
    .badge--popular {
        width: 8.4rem;
    }
    .badge--limited {
        width: 3.4rem;
    }
    .badge--sale {
        width: 4.6rem;
    }
    .badge--sold-out {
        width: 7.5rem;
    }
    .badge--back-soon {
        width: 8.5rem;
    }
}
.badge--current {
    background: #adadad;
    color: #fff;
}

.product-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--product-card-badges-gap, 0.6rem);
    align-items: flex-start;
}
.product-badges--vertical {
    flex-direction: column;
}
.product-badges .badge:has(svg) {
    padding: 0;
    background: transparent;
    border-radius: 0;
    gap: 0;
}
.product-badges .badge svg {
    display: block;
}

/* Icons */
.icon {
    display: inline-flex;
    width: 2.4rem;
    height: 2.4rem;
}
.icon > svg,
.icon > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.icon--extra-small {
    width: 1.3rem;
    height: auto;
}

.icon--small {
    width: 2.2rem;
    height: auto;
}

.icon--semi-small {
    width: 2.4rem;
    height: auto;
}

.icon--medium {
    width: 2.6rem;
    height: auto;
}

.icon--large {
    width: 2.8rem;
    height: auto;
}

.icon--extra-large {
    width: 3.2rem;
    height: auto;
}

.icon--extra-extra-large {
    width: 3.2rem;
    height: auto;
}

.icon--custom-size {
    width: var(--icon-custom-size, 1.6rem);
}
@media (max-width: 767.98px) {
    .icon--custom-size {
        width: var(--icon-custom-size-mobile, 1.6rem);
    }
}

.icon--image {
    height: auto;
}

.tabs {
    --tabs-enter-translate: 2rem;
    --tabs-enter-duration: 350;
    --ease-standard: cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
.tabs__button {
    --swipe-item-width: min-content;
}
.tabs__button[aria-selected=true] {
    background-color: #ffffff;
    color: #4E7FE3;
    box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23), 0 0 0 0 rgba(0, 0, 0, 0.15) inset;
}
@media (min-width: 768px) {
    .tabs--vertical {
        --tabs-header-width: clamp(20rem, 30rem, 30%);
    }
    .tabs--vertical .tabs__header {
        width: var(--tabs-header-width);
        padding-inline-end: 2rem;
    }
    .tabs--vertical .tabs__header-inner {
        position: sticky;
        top: 2rem;
    }
    .header-pinned .tabs--vertical .tabs__header-inner {
        top: calc(var(--header-height) + 2rem);
    }
    .tabs--vertical .tabs__panels {
        width: calc(100% - var(--tabs-header-width));
        padding-inline-start: var(--tabs-panels-padding, 3rem);
        border-inline-start: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
    }
    .tabs--vertical .section__header {
        margin: 0;
    }
}
@media (min-width: 1024px) {
    .tabs--vertical {
        --tabs-panels-padding: 5rem;
    }
}
.tabs__mobile-dropdown {
    display: none;
    position: relative;
    width: 100%;
}
.tabs__mobile-dropdown-summary {
    list-style: none;
    width: 100%;
    justify-content: space-between;
    cursor: pointer;
    overflow: visible;
}
.tabs__mobile-dropdown-summary::-webkit-details-marker,
.tabs__mobile-dropdown-summary::marker {
    display: none;
}
.tabs__mobile-dropdown-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: start;
    flex: 1 1 auto;
}
.tabs__mobile-dropdown-caret {
    flex: 0 0 auto;
    transition: transform var(--animation-duration--fast, 200ms) var(--animation-easing, ease);
}
.tabs__mobile-dropdown[open] .tabs__mobile-dropdown-caret {
    transform: rotateX(180deg);
}
.tabs__mobile-dropdown-list {
    position: absolute;
    inset-inline: 0;
    top: calc(100% + 0.6rem);
    z-index: 10;
    background-color: var(--color-secondary-button-background);
    color: var(--color-secondary-button-text);
    border: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
    border-radius: 1.6rem;
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.08);
    max-height: 50vh;
    overflow-y: auto;
    padding: 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.tabs__mobile-dropdown-option {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 0;
    color: inherit;
    font: inherit;
    text-align: start;
    cursor: pointer;
    padding: 1rem 1.4rem;
    border-radius: 1rem;
    width: 100%;
}
.tabs__mobile-dropdown-option:hover,
.tabs__mobile-dropdown-option:focus-visible {
    background-color: rgb(var(--color-foreground)/0.08);
    outline: none;
}
.tabs__mobile-dropdown-option[data-active] {
    background-color: rgb(var(--color-foreground)/0.12);
    font-weight: 600;
}
@media (max-width: 767px) {
    .tabs__panels noscript + div {
        display: none;
    }
    .tabs__panels accordion-component {
        margin-top: 30px;
        padding: 0 3px;
    }
    .tabs__mobile-dropdown {
        display: block;
    }
    tabs-component[data-mobile-dropdown-ready] [is="swipe-component"].tabs__header {
        display: none;
    }
}
.accordion {
    --accordion-duration: 280;
    --accordion-easing: cubic-bezier(0.22, 1, 0.36, 1);
    display: flex;
    flex-direction: column;
}

.cbb-frequently-bought-title {
    color: #000 !important;
    font-family: Fat Frank, sans-serif !important;
    font-size: 25px !important;
    font-style: normal !important;
    width: 255px !important;
    font-weight: 900 !important;
    line-height: 100% !important; /* 25.28px */
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
}
#frequently-bought-together-app-block {
    display: none !important;
    border-radius: 16px !important;
    border: 1.8px solid #00142D !important;
    background: #F5FBFF !important;
    box-shadow: 4.4px 6.6px 0 0 rgba(9, 50, 78, 0.23), -2.82px -2.82px 0 0 rgba(0, 0, 0, 0.15) inset !important;
    padding: 16px 18px 18px !important;
    margin: 8px 0 22px !important;
}
.cbb-frequently-bought-this-item-label {
    display: none !important;
}
.cbb-frequently-bought-container {
    margin: 0 !important;
}
.cbb-frequently-bought-products {
    margin-right: 35px !important;
    padding-right: 35px !important;
    position: relative !important;
    border-right: 1px solid rgba(0, 0, 0, 0.1) !important;
}
.cbb-frequently-bought-form {
    padding-top: 5px !important;
}
.cbb-frequently-bought-total-price-box {
    //
}
.cbb-frequently-bought-total-price-text {
    color: #000 !important;
    font-family: Menco, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: normal !important;
    opacity: 0.7 !important;
    display: block !important;
}
.cbb-frequently-bought-total-price-regular-price {
    color: #000 !important;
    font-family: Menco, sans-serif !important;
    font-size: 25px !important;
    font-weight: 900 !important;
    margin: 0 !important;
    line-height: normal !important;
    display: block !important;
    margin: 0 !important;
}
.cbb-frequently-bought-selector-label-name {
    color: #000 !important;
    font-family: "Fat Frank", sans-serif !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    display: block !important;
    width: 140px !important;
    margin: 0 !important;
}
.cbb-frequently-bought-selector-label-regular-price {
    color: #000 !important;
    font-family: Menco, sans-serif !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    line-height: normal !important;
    display: block !important;
    margin: 0 !important;
}
.cbb-frequently-bought-add-button {
    cursor: pointer !important;
    --button-height: 4.5rem !important;
    --button-corner-radius: 5rem !important;
    --button-border-thickness: 0.27rem !important;
    --button-padding-block: 0.8rem !important;
    --button-padding-inline: 2.4rem !important;
    --icon-solid-size: 1.5rem !important;
    --button-icon-gap: 0.8rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: var(--button-icon-gap) !important;
    height: var(--button-height, 5rem) !important;
    width: var(--button-width, auto) !important;
    padding: var(--button-padding-block, 1rem) var(--button-padding-inline, 2.4rem) !important;
    line-height: var(--button-line-height, var(--font-paragraph--line-height, 1.6)) !important;
    border-radius: var(--button-corner-radius, 0) !important;
    border-width: var(--button-border-thickness, 0.1rem) !important;
    border-style: var(--button-border-style, solid) !important;
    transition: background-color, color, border-color, opacity, transform var(--animation-duration--medium) !important;
    position: relative !important;
    z-index: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    text-decoration: none !important;
    font-size: 1.6rem !important;
    cursor: pointer !important;
    font-style: var(--font-button--style) !important;
    font-weight: var(--font-button--weight) !important;
    letter-spacing: var(--font-button--letter-spacing) !important;
    text-transform: var(--font-button--transform) !important;
    background-color: var(--color-secondary-button-background) !important;
    color: var(--color-secondary-button-text) !important;
    border-color: var(--color-secondary-button-border) !important;
    box-shadow: 2.61px 3px 0 0 rgba(9, 50, 78, 0.23), -5.209px -5.209px 0 0 rgba(0, 0, 0, 0.15) inset !important;
    transition-property: background-color, color, border-color, box-shadow !important;
    transition-duration: .2s !important;
    transition-timing-function: var(--ease-in-out-sine) !important;
}
.cbb-frequently-bought-products {
    display: flex !important;
    align-items: flex-start !important;
    gap: 80px !important;
}
@media (max-width: 1199px) {
    .cbb-frequently-bought-products {
        gap: 60px !important;
    }
    .cbb-frequently-bought-title {
        font-size: 21px !important;
    }
}
.cbb-frequently-bought-recommendations-container {
    display: flex !important;
}

.cbb-frequently-bought-plus-icon {
    position: absolute !important;
    left: calc(50% - 29px) !important;
    width: 24px !important;
    color: transparent !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    text-shadow: none !important;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAABGCAYAAACXBynAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuFJREFUeNrsnMFV4zAQQEfy7nvhpr3w2L3gVAA0AKYClg7SAaaChBs3TAUkHdDBmg7cAd4ThAvOiXDAYhQZx7wkEBlwjDzzHu8FSCzpe2Y0mpmYwYrE8288CawLwLYBpMA/Rfg6YpCehMHveBVzYqsYdM8fXiCAzoJ/xwjkOAz+XFoPY9e/PcNB/fcnJvdRQ8Iq58arNY277WVAKEETuqj6RvFqh5NHBm92PX/411oYEqRn9n44sFgzwDVzaNK1GYahJoG9MNB5msYPgjSDYCyMVF1LdxNjMwHSjFfiCFsdaGL+qSdhawQ6IjP5JlK1ZiQEY+o1CAaZCWkG+Qwyk5LDkWZMJSUYhdC6DIzYUhhOrTXjh63O0POv8YDXEvrUOznsua+1bRyFQTtZuog0veCslC0B7vm30jAp3FZj6SRPcWFMqLKkBL6ZbdtulhkTyyeeWb9YzmSzi1/r6BR9XgP9LInLZMh1oPap85hTzpxU7+Icxu7x3RGTsvfFA9dVEMTDjqPrn8Mu0jnFl62GxluCwc+ho1oD8Jd+06NP9B2PXPdIkKAj3uLaUZKoAhdvqMOc1wIRc1bzWkaFPmOgNOOKQKTnqkuI007CsHfssZdHoLi99pq2q+DCQ7SKAWpEf+ZsgkA6GRDXoiUnmU/EtsqnkWqtXHRIm3tQ031UKf7wLX0QKgtHTaSY82SJ1DuXyfXUNc4X5zdU5uwlYaTSAy/5knEyb7G1an3EE+s/xdvkzHAVbLQpIQyUHW8ODFZz50yasbo2JiYIxhSH+OJWSTKTbwfD8+8FwchlTDDITODj3yggzSAYb0k6IjPJgzTnnjSDzIR2E9IMggGl6hn/LYUhKRwv3GeCUYARQY3bHqs2kxIwnMhSGK3I8FsFcRis2wkjDH4lqtpt0PJ4YvnW2gqW8R2qKFwsCFsJI9OOQ7zrg7d6JQAeDhvzzB3InrKChWJV4M46fCcBVlj1o2WK8izAAH+u6donaSkZAAAAAElFTkSuQmCC') !important;
}
@media (max-width: 1023px) {
    .cbb-frequently-bought-recommendations-container {
        flex-wrap: wrap !important;
        flex-direction: column-reverse !important;
    }
    .cbb-frequently-bought-plus-icon {
        left: calc(50% - 12px) !important;
    }
    .cbb-frequently-bought-products {
        margin-right: 0 !important;
        padding-right: 0 !important;
        margin-top: 15px !important;
        gap: 80px !important;
        margin-bottom: 0 !important;
        border-right: none !important;
    }
    .cbb-frequently-bought-title {
        font-size: 25px !important;
        width: auto !important;
    }
}
@media (max-width: 959px) {
    .cbb-frequently-bought-products {
        justify-content: space-between !important;
    }
    .cbb-frequently-bought-title {
        font-size: 25px !important;
        width: auto !important;
    }
}
.cbb-frequently-bought-product {
    display: flex !important;
    flex-direction: column !important;
    width: 114px !important;
    margin: 0 !important;
}
.cbb-frequently-bought-product a {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}
.cbb-frequently-bought-product span.translatable {
    margin-left: 0 !important;
}
.cbb-frequently-bought-product-image {
    display: flex !important;
    position: relative !important;
    z-index: 2 !important;
    height: auto !important;
    aspect-ratio: 3/4 !important;
    border-radius: 5px !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    background-size: cover !important;
    margin-bottom: 8px !important;
}
.cbb-frequently-bought-product-image input {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 3 !important;
    border-radius: 12px !important;
    width: 24px !important;
    height: 24px !important;
}
.accordion__summary-arrow svg,
.accordion__summary-arrow path {
    transition: transform var(--animation-duration--fast) var(--animation-easing);
}
.accordion__details.is-open .accordion__summary-arrow.icon--caret svg {
    transform: rotateX(180deg);
}
.accordion__details.is-open .accordion__summary-arrow .icon--plus-line-2 {
    transform: rotate(270deg);
}
.accordion__summary {
    list-style: none;
    padding-block: var(--summary-padding-block, 2rem);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.accordion__summary::-webkit-details-marker {
    display: none;
}
.accordion__summary-text {
    font-family: var(--summary-font-family);
    font-style: var(--summary-font-style);
    font-size: var(--summary-font-size);
    line-height: var(--summary-line-height);
    text-transform: var(--summary-font-transform);
    letter-spacing: var(--summary-font-letter-spacing);
    display: flex;
    align-items: center;
    gap: 0.8rem;
}
.accordion--arrow-caret .icon--plus {
    display: none;
}
.accordion--arrow-plus .icon--caret {
    display: none;
}
.accordion--arrow-plus .accordion__summary-arrow path {
    transform: rotate(0);
    transform-origin: center;
}
.accordion__content {
    /* Animate height on this wrapper only; padding moved to inner to avoid jumps */
    padding: 0;
}
.accordion__inner {
    padding-block: var(--padding-top, 0) var(--padding-bottom, 2rem);
}
.accordion--standard {
    --summary-padding-block: 2rem;
}
.accordion--standard .accordion__details {
    border-bottom: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
}
.accordion--card {
    --summary-padding-block: 2rem;
    --summary-padding-inline: 1.6rem;
    gap: var(--accordion-row-gap, 0.8rem);
}
.accordion--card .accordion__row {
    border-radius: 1rem;
}
.accordion--card .accordion__summary {
    padding-inline: var(--summary-padding-inline);
}
.accordion--card .accordion__inner {
    --padding-bottom: 3.2rem;
    padding-inline: var(--summary-padding-inline);
}
@media (min-width: 768px) {
    .accordion--card {
        --accordion-row-gap: 1rem;
        --summary-padding-block: 2.4rem;
        --summary-padding-inline: 2.4rem;
    }
    .accordion--card .accordion__details.is-open .accordion__summary {
        padding-block-end: calc(var(--summary-padding-block) - 0.4rem);
    }
    .accordion--card .accordion__inner {
        --padding-bottom: 4rem;
    }
}
.accordion--icon-solid .accordion__summary-arrow {
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: rgb(var(--color-background-secondary));
}
.accordion--icon-solid .accordion__summary-arrow svg {
    width: var(--icon-size, 1.2rem);
    height: var(--icon-size, 1.2rem);
}

.block-accordion.accordion--standard .accordion__row:first-child .accordion__summary {
    padding-block-start: 0;
}

.carousel {
    display: block;
    position: relative;
    contain: layout;
}
.carousel .swiper {
    container-type: inline-size;
}
.carousel--visible .swiper {
    overflow: visible;
}
@media (max-width: 767.98px) {
    .carousel--mobile-visible .swiper {
        overflow: visible;
    }
}
.carousel__button {
    --button-height: 4.4rem;
}
.carousel__button.swiper-button-disabled {
    opacity: 0.5 !important;
    cursor: not-allowed;
}
.carousel__pagination {
    position: relative;
}
.carousel__controls-buttons--small .carousel__button {
    --button-height: 3.8rem;
}
.carousel__pagination--progressbar {
    width: 100%;
    height: var(--carousel-progressbar-height, 0.2rem);
    background-color: rgb(var(--color-foreground)/10%);
}
.carousel__pagination--progressbar .swiper-pagination-progressbar-fill {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
    background-color: rgb(var(--color-foreground));
}
@media (min-width: 768px) {
    .carousel__pagination--progressbar {
        width: var(--carousel-progressbar-width, 25rem);
    }
}
.carousel__pagination--progressbar-short {
    --carousel-progressbar-width: 14rem;
}
.carousel__controls--relative, .carousel__controls--group {
    margin-top: var(--carousel-controls-margin-top, 3.2rem);
    display: flex;
    align-items: center;
    gap: var(--carousel-controls-gap, 1.2rem);
}
.carousel__controls--relative .carousel__controls-buttons, .carousel__controls--group .carousel__controls-buttons {
    display: flex;
    align-items: center;
    gap: var(--carousel-controls-buttons-gap, 0.8rem);
}
.carousel__controls--relative {
    justify-content: space-between;
}
.carousel__controls--absolute .carousel__button {
    position: absolute;
    top: var(--navigation-offset-top, 50%);
    transform: translate(var(--navigation-offset-left, 0), calc(var(--button-height) / 2 * -1));
    background: rgb(var(--color-background));
    box-shadow: 0 4px 10px 0 rgb(var(--color-foreground)/12%);
    z-index: 1;
    border: none;
    opacity: 0 !important;
    transition: all 0.3s;
}
.carousel__controls--absolute .carousel__button--prev {
    --navigation-offset-left: -100%;
    left: 0;
}
.carousel__controls--absolute .carousel__button--next {
    --navigation-offset-left: 100%;
    right: 0;
}
.carousel__controls--group .carousel__button {
    display: flex;
    cursor: pointer;
    position: relative;
}
.carousel__controls--group .carousel__button::before {
    content: "";
    position: absolute;
    inset: calc(var(--carousel-controls-buttons-gap, 0.8rem) / 2 * -1);
}
.carousel__controls.hidden-control {
    display: none;
}
.carousel__counter {
    min-width: var(--carousel-counter-min-width, 3.2rem);
}

@media (hover: hover) {
    .carousel:hover .carousel__controls--absolute .carousel__button {
        opacity: 1 !important;
    }
    .carousel:hover .carousel__controls--absolute .carousel__button.swiper-button-disabled {
        opacity: 0.5 !important;
    }
    .carousel:hover .carousel__controls--absolute .carousel__button--prev {
        --navigation-offset-left: calc(var(--button-height) / 2 * -1);
    }
    .carousel:hover .carousel__controls--absolute .carousel__button--next {
        --navigation-offset-left: calc(var(--button-height) / 2);
    }
    .carousel:hover .carousel__controls--absolute.carousel__controls--inside .carousel__button--prev {
        --navigation-offset-left: 1rem;
    }
    .carousel:hover .carousel__controls--absolute.carousel__controls--inside .carousel__button--next {
        --navigation-offset-left: -1rem;
    }
}
.carousel:has(.carousel__button:focus-visible) .carousel__controls--absolute .carousel__button:focus-visible {
    opacity: 1 !important;
}
.carousel:has(.carousel__button:focus-visible) .carousel__controls--absolute .carousel__button--prev {
    --navigation-offset-left: calc(var(--button-height) / 2 * -1);
}
.carousel:has(.carousel__button:focus-visible) .carousel__controls--absolute .carousel__button--next {
    --navigation-offset-left: calc(var(--button-height) / 2);
}
.carousel:has(.carousel__button:focus-visible) .carousel__controls--absolute.carousel__controls--inside .carousel__button--prev {
    --navigation-offset-left: 1rem;
}
.carousel:has(.carousel__button:focus-visible) .carousel__controls--absolute.carousel__controls--inside .carousel__button--next {
    --navigation-offset-left: -1rem;
}

.carousel__custom-pagination {
    display: flex;
    gap: var(--carousel-custom-pagination-gap, 3rem);
    margin-top: var(--carousel-custom-pagination-margin-top, 0);
    width: 100%;
}
.carousel__custom-pagination .pagination-combined {
    display: none;
}
.carousel__custom-pagination--combined {
    flex-direction: column;
    gap: var(--carousel-custom-pagination-gap, 0.5rem);
}
.carousel__custom-pagination--combined .pagination-item {
    display: none !important;
}
.carousel__custom-pagination--combined .pagination-combined {
    display: flex !important;
}

.pagination-combined {
    display: none;
    flex-direction: column;
    row-gap: 1.2rem;
}
.pagination-combined__progress {
    height: var(--pagination-progress-height, 2px);
    background: var(--pagination-progress-bg, rgb(from currentColor r g b/30%));
    border-radius: var(--pagination-progress-radius, 1px);
    overflow: hidden;
}
.pagination-combined__progress-bar {
    height: 100%;
    background: var(--pagination-progress-fill, currentColor);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform linear;
}
.pagination-combined__text {
    color: var(--pagination-text-color, currentColor);
    font-size: var(--pagination-text-size, var(--font-size--h6));
    line-height: var(--pagination-text-line-height, var(--font-h6--line-height));
    align-self: var(--pagination-text-alignment, center);
    text-align: var(--pagination-text-alignment, center);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.pagination-item {
    flex: 1;
    cursor: pointer;
    flex-direction: column;
    justify-content: space-between;
    row-gap: 1.2rem;
    transition: opacity 0.3s ease;
}
.pagination-item__progress {
    height: var(--pagination-progress-height, 2px);
    background: var(--pagination-progress-bg, rgb(from currentColor r g b/30%));
    border-radius: var(--pagination-progress-radius, 1px);
    overflow: hidden;
}
.pagination-item__progress-bar {
    height: 100%;
    background: var(--pagination-progress-fill, currentColor);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform linear;
}
.pagination-item__text {
    color: var(--pagination-text-color, currentColor);
    align-self: var(--pagination-text-alignment, center);
    text-align: var(--pagination-text-alignment, center);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
}
.swiper-pagination.swiper-pagination-disabled {
    display: none !important;
}
.swiper-pagination-bullets {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
}
.swiper-pagination-bullet {
    position: relative;
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 0.8rem));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 0.8rem));
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, rgb(var(--color-foreground)));
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.35);
    transition: all var(--animation-duration--medium) var(--animation-easing);
    transition-property: background-color, opacity;
}
.swiper-pagination-bullet:only-child {
    display: none !important;
}
.swiper-pagination-bullet::before {
    content: "";
    position: absolute;
    inset: -0.6rem;
}
.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, rgb(var(--color-foreground)));
}
.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
}
.swiper-pagination-horizontal .swiper-pagination-bullet {
    margin-inline: var(--swiper-pagination-bullet-horizontal-gap, 0.6rem);
}
.swiper-pagination-lock {
    display: none;
}

.product-card {
    position: relative;
}
.product-card__media {
    border-radius: var(--product-card-media-radius);
}
.product-card__image {
    transition-property: opacity, visibility;
    transition-duration: var(--animation-duration--fast);
    transition-timing-function: var(--animation-easing);
}
.product-card__image--second {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: .2s all var(--ease-in-out-sine);
}
.product-card__wrapper {
    gap: var(--product-card-wrapper-gap, 1.6rem);
}
.product-card__title {
    position: relative;
    text-decoration: none;
    color: rgb(var(--color-foreground));
    font-family: var(--font-pcard-title--family);
    font-style: var(--font-pcard-title--style);
    font-size: var(--font-pcard-title--size);
    text-transform: var(--font-pcard-title--transform);
    letter-spacing: var(--font-pcard-title--letter-spacing);
    line-height: 1.35;
    text-wrap: pretty;
}
.product-card__content--wrapper, .product-card__content {
    gap: var(--product-card-content-gap, 0.4rem);
    align-items: var(--content-alignment, flex-start);
}
.product-card__content--wrapper product-swatches, .product-card__content product-swatches {
    padding-block-start: 0.4rem;
}
.product-card__metas {
    display: flex;
    flex-wrap: wrap;
    position: relative;
}
.product-card__metas .product-card__meta + .product-card__meta::before {
    content: ", ";
}
.product-card__meta {
    color: rgb(var(--color-foreground)/70%);
    font-size: calc(var(--font-size--paragraph) * 0.867);
}
.product-card__badges {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    padding: var(--product-card-badges-padding, 1rem);
    z-index: 1;
}
.product-card--horizontal {
    padding-inline-end: 0.1rem;
}
.product-card--horizontal .product-card__title {
    height: 46px;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.index .slide__content {
    position: absolute !important;
    left: -9999px !important;
}
@media (max-width: 767px) {
    .product-card--horizontal .product-card__title {
        height: 43px;
    }
    .footer__links {
        position: absolute !important;
        z-index: 3 !important;
        top: 158px !important;
    }
    .footer__copyright {
        padding-top: 30px !important;
        pointer-events: none !important;
    }
}
.product-card--horizontal .product-card__media {
    width: var(--product-card-media-width, 9rem);
    border-radius: min(1rem, var(--product-card-media-radius));
}
@media (min-width: 1440px) {
    .product-card--horizontal {
        --product-card-media-width: 13rem;
    }
}
@media (max-width: 767.98px) {
    .product-card--horizontal.product-card--mobile-box-style {
        --product-card-media-width: 7rem;
        --product-card-wrapper-gap: 1.2rem;
        padding: 1.2rem;
        border: 1px solid rgb(var(--color-border)/var(--color-border-alpha));
        border-radius: min(0.8rem, var(--product-card-media-radius));
    }
}
.product-card--style-card .product-card__wrapper {
    --product-card-content-padding: 1.2rem;
}
.product-card--style-card.product-card--standard {
    border-radius: var(--product-card-media-radius);
}
.product-card--style-card.product-card--standard .product-card__wrapper {
    gap: 0;
}
.product-card--style-card.product-card--standard .product-card__content {
    padding: var(--product-card-content-padding);
}
.product-card--style-card.product-card--standard .product-card__media {
    border-radius: 0;
}
.product-card--style-card.product-card--horizontal {
    border-radius: min(1rem, var(--product-card-media-radius));
}
.product-card--style-card.product-card--horizontal .product-card__wrapper {
    padding: var(--product-card-content-padding);
}
.product-card--style-card.product-card--horizontal .product-card__content-wrap {
    padding-inline: 0.4rem 0.8rem;
}

@media (hover: hover) {
    .product-card__media--has-second-image:hover .product-card__image--second {
        opacity: 1;
    }
    .variant-option__swatch svg {
        display: none;
    }
    [data-available-count="0"] ~ svg {
        display: block;
    }
}
@media (max-width: 767.98px) {
    .product-card--mobile-solid {
        --product-card-media-width: 8rem;
        --product-card-wrapper-gap: 1.2rem;
        background: rgb(var(--color-background-secondary));
        border-radius: min(1rem, var(--product-card-media-radius));
        padding: 0.8rem;
        padding-inline-end: 1.6rem;
    }
}
.product-card {
    container-type: inline-size;
    width: 100%;
}

shopify-visual-preview-block-list .product-card {
    min-width: 100vw;
}

.product-card__actions {
    inset: 2rem;
}

.product-card--standard .product-card__media .quick-add {
    pointer-events: auto;
    background-color: transparent;
    position: absolute;
}

.product-card .quick-add--combine product-form-component {
    display: var(--quick-add-display-mobile, flex);
}

.product-card .quick-add--view product-form-component {
    display: var(--quick-view-display-mobile, flex);
}

/* Mobile and Container size below 200px */
@media (width <= 767px) {
    .grid-block--width-mobile-fit-content:has(> .grid-block-content > .product-card) {
        width: 100%;
    }
    .product-card__actions {
        inset: 1rem;
    }
    .product-card--standard .product-card__media .quick-add {
        position: static;
    }
    .product-card .quick-add--combine .quick-add__button {
        --icon-size: 1.6rem;
        --button-height: 3.8rem;
        --button-padding-inline: 0;
        --button-padding-block: 0;
        --button-corner-radius: 50%;
        --button-width: var(--button-height, 5rem);
        justify-content: center;
        padding: 0;
    }
    .product-card .quick-add--view {
        --button-height: 3.8rem;
    }
    .product-card .quick-add--combine .quick-add__button {
        width: var(--button-width, auto);
    }
    .product-card .quick-add--combine .quick-add__button .btn__text {
        display: none;
    }
    .product-card .quick-add--combine .quick-add__button .btn__icon {
        display: none;
    }
    .product-card .quick-add--combine .quick-add__button .icon {
        display: inline-flex;
        animation: none;
    }
    .product-card .quick-add--combine .btn:hover {
        color: rgb(var(--color-primary-button-background));
    }
    .product-card .quick-add--combine .btn:hover::before {
        width: 100%;
    }
}
/* Mobile and Container size below 200px */
/* stylelint-disable-next-line media-feature-range-notation */
@container (max-width: 199px) {
    .product-card__actions {
        inset: 1rem;
    }
    .product-card .product-card__media .quick-add {
        position: static;
    }
    .product-card .quick-add--combine .quick-add__button {
        --icon-size: 1.6rem;
        --button-height: 3.8rem;
        --button-padding-inline: 0;
        --button-padding-block: 0;
        --button-corner-radius: 50%;
        --button-width: var(--button-height, 5rem);
        justify-content: center;
        padding: 0;
    }
    .product-card .quick-add--view {
        --button-height: 3.8rem;
    }
    .product-card .quick-add--combine .quick-add__button {
        width: var(--button-width, auto);
    }
    .product-card .quick-add--combine .quick-add__button .btn__text {
        display: none;
    }
    .product-card .quick-add--combine .quick-add__button .btn__icon {
        display: none;
    }
    .product-card .quick-add--combine .quick-add__button .icon {
        display: inline-flex;
        animation: none;
    }
    .product-card .quick-add--combine .btn:hover {
        color: rgb(var(--color-primary-button-background));
    }
    .product-card .quick-add--combine .btn:hover::before {
        width: 100%;
    }
}
@container (max-width: 249.9px) {
    .product-card--style-card .product-card__content .product-card__quick-add {
        display: none;
    }
}
@container (min-width: 250px) {
    .product-card--style-card .product-card__media .quick-add--combine {
        display: none;
    }
}
/* stylelint-disable-next-line media-feature-range-notation */
@media (min-width: 768px) {
    .grid-block--width-fit-content:has(> .grid-block-content > .product-card) {
        width: 100%;
    }
    .product-card .quick-add--combine product-form-component {
        display: var(--quick-add-display, flex);
    }
    .product-card .quick-add--view product-form-component {
        display: var(--quick-view-display, flex);
    }
    .product-card .quick-add--view {
        inset: 0 0 auto auto;
    }
    .product-card .quick-add--combine {
        inset: auto 0 0;
    }
}
@media (hover: hover) and (pointer: fine) {
    .product-card--standard .product-card__media .quick-add {
        opacity: 0;
        transition: all var(--animation-duration--fast) var(--animation-easing--smooth);
    }
    .product-card--standard .quick-add--view {
        transition-property: opacity;
    }
    .product-card--standard .quick-add--combine {
        transition-property: opacity, transform;
    }
    .product-card--standard .product-card__media:hover .quick-add {
        opacity: 1;
    }
    .product-card--standard .product-card__media:hover .quick-add--combine {
        transform: translateY(0);
    }
    .product-card--standard .product-card__media .quick-add:focus-within {
        transform: translateY(0);
        opacity: 1;
    }
}
/* stylelint-disable-next-line media-feature-range-notation */
@container (min-width: 200px) {
    .product-card--style-card:is(.product-card--standard, .product-card--bundle) {
        --product-card-content-padding: 2rem;
    }
    .product-card--style-card:is(.product-card--standard, .product-card--bundle) .product-card__wrapper {
        --product-card-content-padding: 2rem;
    }
    @media (hover: hover) and (pointer: fine) {
        .product-card--standard .product-card__media .quick-add--combine {
            transform: translateY(1.5rem);
        }
    }
}
.product-card--bundle {
    min-width: 0;
}
.product-card--bundle .product-card__content {
    align-items: flex-start;
}
@media (min-width: 768px) {
    .product-card--bundle .product-card__form, .product-card--bundle .product-card__content {
        align-items: var(--content-alignment, flex-start);
    }
    .product-card--bundle.product-card--style-card {
        border-radius: var(--product-card-media-radius);
    }
    .product-card--bundle.product-card--style-card .product-card__wrapper {
        gap: 0;
    }
    .product-card--bundle.product-card--style-card .product-card__media {
        border-radius: 0;
    }
    .product-card--bundle.product-card--style-card .product-card__content-wrap {
        padding: var(--product-card-content-padding);
    }
}
@media (max-width: 767.98px) {
    .product-card--bundle {
        padding-inline-end: 0.1rem;
    }
    .product-card--bundle .product-card__media {
        flex-shrink: 0;
        width: var(--product-card-media-width, 8rem);
        border-radius: min(1rem, var(--product-card-media-radius));
    }
    .product-card--bundle .product-card__content-wrap {
        min-width: 0;
    }
}

.product-card--bought-together .product-card__wrapper {
    padding-block: 1.1rem;
    padding-inline: 1.1rem 2.3rem;
    border: 1px solid rgb(var(--color-border)/var(--color-border-alpha));
    border-radius: min(1rem, var(--product-card-media-radius));
    transition: border-color var(--animation-duration--medium) var(--animation-easing);
}
.product-card--bought-together .product-card__media {
    width: var(--product-card-media-width, 8rem);
    border-radius: min(1rem, var(--product-card-media-radius));
}
.product-card--bought-together .product-card__form {
    transition: opacity var(--animation-duration--medium) var(--animation-easing);
}
.product-card--bought-together .product-bought-together__checkbox {
    --choice-input-size: 2.4rem;
    border-radius: min(var(--input-border-radius), 0.4rem);
}
.product-card--bought-together:has(.product-bought-together__checkbox:checked) .product-card__wrapper {
    border-color: rgb(var(--color-border)/100%);
}
@media (min-width: 768px) {
    .product-card--bought-together {
        --product-card-media-width: 10rem;
    }
}

:root {
    --swatch-base-size: 2.4rem;
    --swatch-gap: 0.8rem;
    --swatch-border-width: 0.1rem;
    --card-swatch-border-width: 0.2rem;
    --swatch-active-offset: 0.3rem;
    --swatch-card-offset: 0.6rem;
    --swatch-circle-inset: 0.2rem;
    --swatch-transition-duration: var(--animation-duration--fast, 0.3s);
    --swatch-transition-easing: ease;
    --swatch-stroke-color: var(--color-swatch-border);
    --swatch-button-size: 4rem;
}

.variant-picker__form {
    --swatch-active-border-color: transparent;
    --swatch-active-border-width: 0rem;
    --swatch-active-background-color: transparent;
    --swatch-gap: 0.4rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2rem;
}

.variant-option__label {
    margin-block-end: 1.2rem;
    text-transform: capitalize;
}
.variant-option--buttons {
    border: none;
    padding: 0;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    row-gap: 0.7rem;
    column-gap: 0.4rem;
}
.variant-option--swatches ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--swatch-gap);
}
.variant-option__button-label {
    position: relative;
    text-transform: uppercase;
    cursor: pointer;
    min-height: var(--swatch-button-size);
    max-height: var(--swatch-button-size);
    display: flex;
    align-items: center;
    padding-inline: 2rem;
    border: 0.265rem solid #00142D;
    background: #FFF;
    box-shadow: 2.051px 2.362px 0 0 rgba(9, 50, 78, 0.23), -4.101px -4.101px 0 0 rgba(0, 0, 0, 0.15) inset;
    font-family: Fat Frank, sans-serif;
    transition: .2s all var(--ease-in-out-sine);
    border-radius: 39px;
    min-width: 99px;
    font-size: 1.8rem;
    justify-content: center;
}
.variant-option__button-label input[type=radio] {
    position: absolute;
    inset: 0;
    opacity: 0;
    margin: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}
.variant-option__button-label .strikethrough-variant {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    cursor: pointer;
    pointer-events: none;
    background: linear-gradient(to right bottom, transparent calc(50% - 1px), rgb(var(--color-foreground)), transparent calc(50% + 1px));
    transition: all var(--swatch-transition-duration) var(--swatch-transition-easing);
    border-radius: inherit;
}
.variant-option__button-label:has([data-option-available=false]) {
    opacity: var(--swatch-disabled-opacity, 0.322);
    pointer-events: none;
}
.variant-option__button-label:has(:checked) {
    background: #477DFD;
    box-shadow: -5.209px -5.209px 0 0 rgba(0, 0, 0, 0.15) inset;
}
.variant-option__button-label:has(:checked) .strikethrough-variant {
    background: linear-gradient(to right bottom, transparent calc(50% - 1px), var(--color-swatch-border), transparent calc(50% + 1px));
}
@media (hover: hover) {
    .variant-option__button-label:not(:has(input[data-option-available=false])):not(:has(input:checked)):hover {
        box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23), 0 0 0 0 rgba(0, 0, 0, 0.15) inset;
        opacity: 0.7;
        background: #FFF;
    }
    .variant-option__button-label:has(input[data-option-available="false"]), .variant-option__button-label:has(input[data-option-available="false"]):hover, .variant-option__button-label:has(input[data-option-available="false"]) input, .variant-option__button-label:has(input[data-option-available="false"]):hover input {
        cursor: default !important;
    }
    .variant-option__button-label *, .variant-option__button-label:hover * {
        cursor: default;
    }
    .variant-option__button-label:has(:checked):hover {
        background: #477DFD;
        opacity: 1;
        box-shadow: -5.209px -5.209px 0 0 rgba(0, 0, 0, 0.15) inset;
    }
    .variant-option__button-label:not('[data-option-available=false]'):hover .strikethrough-variant {
        background: linear-gradient(to right bottom, transparent calc(50% - 1px), var(--color-swatch-border), transparent calc(50% + 1px));
    }
}
.variant-option__button-label--has-swatch {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--swatch-width, var(--swatch-base-size));
    height: var(--swatch-height, var(--swatch-base-size));
    border-radius: inherit;
    padding: 0;
    border: none;
    min-height: auto;
}
.variant-option__button-label--has-swatch::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 0 0 var(--swatch-active-offset) inset var(--swatch-active-background-color), 0 0 0 var(--swatch-active-border-width) var(--swatch-active-border-color);
    transition: opacity var(--swatch-transition-duration) var(--swatch-transition-easing), visibility var(--swatch-transition-duration) var(--swatch-transition-easing), box-shadow var(--swatch-transition-duration) var(--swatch-transition-easing);
    border-radius: inherit;
    will-change: opacity, visibility, box-shadow;
}
.variant-option__button-label--has-swatch:hover, .variant-option__button-label--has-swatch:has(:checked) {
    --swatch-stroke-color: rgb(var(--color-foreground));
    --swatch-active-border-color: rgb(var(--color-foreground));
    --swatch-active-background-color: rgb(var(--color-background));
    --swatch-active-offset: 0.3rem;
    --swatch-active-border-width: 0.1rem;
    background-color: transparent;
}
.variant-option__button-label--has-swatch:hover::before, .variant-option__button-label--has-swatch:has(:checked)::before {
    opacity: 1;
    visibility: visible;
}
.variant-option__button-label--has-swatch .strikethrough-variant {
    background: linear-gradient(to right bottom, transparent calc(50% - 1px), var(--color-swatch-border), transparent calc(50% + 1px));
}
.variant-option__button-label--square {
    border-radius: var(--border-radius, 0);
}
.variant-option--card .variant-option__button-label--square {
    --offset: var(--swatch-card-offset);
    height: calc(var(--swatch-width, var(--swatch-base-size)) / 2 + var(--offset));
    padding-bottom: var(--offset);
}
.variant-option--card .variant-option__button-label--square::before {
    box-shadow: none;
    border-bottom: var(--card-swatch-border-width) solid var(--swatch-active-border-color);
}
.variant-option--card .variant-option__button-label--square .strikethrough-variant {
    height: calc(100% - var(--offset));
}
.variant-option--card .variant-option__button-label--square .hidden-swatches__count {
    padding-bottom: var(--offset);
}
.variant-option--card .variant-option__button-label--square:hover, .variant-option--card .variant-option__button-label--square:has(:checked) {
    --swatch-stroke-color: var(--color-swatch-border);
}
.variant-option__button-label--circle {
    border-radius: 50%;
    height: var(--swatch-width, var(--swatch-base-size));
    max-height: unset;
}
.variant-option--card .variant-option__button-label--circle .hidden-swatches__count {
    height: 100%;
}
.variant-option__select {
    --input-height: 4.4rem;
    text-transform: capitalize;
}

.swatch {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--swatch-background);
    border: var(--swatch-border-width) solid var(--color-swatch-border);
    border-radius: inherit;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: border-color var(--swatch-transition-duration) var(--swatch-transition-easing);
}

@media (prefers-reduced-motion: reduce) {
    .variant-option__button-label--has-swatch,
    .variant-option__button-label--has-swatch::before,
    .variant-option__button-label svg,
    .swatch {
        transition: none;
    }
}
.hidden-swatches__count {
    display: flex;
    align-self: center;
    align-items: center;
    justify-content: flex-start;
    color: rgb(var(--color-foreground)/60%);
    background-color: transparent;
    padding: 0;
    border: 0;
    border-radius: 0;
    position: relative;
    width: var(--swatch-width);
}
.hidden-swatches__count::before {
    /* This doesn't work in Safari without the counter-reset. https://stackoverflow.com/a/40179718 */
    counter-reset: overflow-count var(--overflow-count);
    content: "+" counter(overflow-count);
    line-height: 1;
    cursor: pointer;
}
.hidden-swatches__count:hover {
    color: rgb(var(--color-foreground));
}

/* stylelint-disable-next-line custom-property-pattern */
/* stylelint-disable-next-line custom-property-pattern */
/* stylelint-disable-next-line custom-property-pattern */
.swipe-all {
    --column-width: calc(min(var(--swipe-container-width, 100vw), 100vw) * var(--1-col-percent, 0.76));
    overflow: auto hidden !important;
    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);
    scrollbar-width: none;
    display: grid !important;
    align-self: stretch;
    /* Hide scrollbar */
}
.swipe-all .swipe__inner {
    --slider-grid: auto / auto-flow var(--column-width);
    display: grid !important;
    grid: var(--slider-grid);
    column-gap: var(--f-column-gap-mobile, var(--f-column-gap));
    margin-inline: 0 !important;
}
.swipe-all .swipe__inner > * {
    scroll-snap-align: start;
    width: var(--swipe-item-width, 100%);
}
.swipe-all--auto-cols {
    --column-width: fit-content(100%);
    --swipe-item-width: auto;
}
.swipe-all::-webkit-scrollbar {
    display: none;
}

@media (max-width: 767.98px) {
    .swipe-mobile {
        --column-width-mobile: calc(min(var(--swipe-container-width, 100vw), 100vw) * var(--1-col-percent, 0.76));
        overflow: auto hidden !important;
        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);
        scrollbar-width: none;
        display: grid !important;
        align-self: stretch;
        /* Column variants */
        /* Hide scrollbar */
    }
    .swipe-mobile.swiper {
        padding-inline: var(--page-padding);
        margin-inline: calc(var(--page-padding) * -1);
    }
    .swipe-mobile .swipe__inner {
        --slider-grid: auto / auto-flow var(--column-width-mobile);
        display: grid !important;
        grid: var(--slider-grid);
        column-gap: var(--f-column-gap-mobile, var(--f-column-gap));
        margin-inline: 0 !important;
        scroll-snap-align: start;
    }
    .swipe-mobile .swipe__inner > * {
        scroll-snap-align: start;
        width: var(--swipe-item-width, 100%);
    }
    .swipe-mobile--2-cols {
        --column-width-mobile: calc(min(var(--swipe-container-width, 100vw), 100vw) * var(--2-cols-percent, 0.38));
    }
    .swipe-mobile--3-cols {
        --column-width-mobile: calc(min(var(--swipe-container-width, 100vw), 100vw) * var(--3-cols-percent, 0.28));
    }
    .swipe-mobile--auto-cols {
        --column-width-mobile: fit-content(100%);
        --swipe-item-width: auto;
    }
    .swipe-mobile--custom-width {
        --column-width-mobile: calc(var(--swipe-container-width, 100vw) * var(--swipe-column-width, 0.5));
    }
    .swipe-mobile::-webkit-scrollbar {
        display: none;
    }
}
/* Edge shadows used to wrap .swiper or .swipe elements to create shadows on the sides */
.edge__shadows {
    position: relative;
    /* stylelint-disable-next-line media-feature-range-notation */
}
.edge__shadows::before, .edge__shadows::after {
    content: "";
    position: absolute;
    inset-block: 0;
    pointer-events: none;
    z-index: 2;
    width: clamp(var(--page-padding), 10%, var(--page-padding) + 6.5rem);
    background: linear-gradient(to right, rgb(var(--color-background)/100%) var(--page-padding), rgb(var(--color-background)/0%));
    transition: opacity var(--animation-duration--fast) var(--animation-easing);
    opacity: 0;
}
.edge__shadows::before {
    inset-inline-start: calc(var(--page-padding) * -1);
}
.edge__shadows::after {
    inset-inline-end: calc(var(--page-padding) * -1);
    transform: scaleX(-1);
}
.edge__shadows.is--active::before, .edge__shadows.is--active::after {
    opacity: 1;
}
.edge__shadows.is--beginning::before {
    opacity: 0;
}
.edge__shadows.is--end::after {
    opacity: 0;
}
@media (min-width: 1200px) {
    .edge__shadows::before, .edge__shadows::after {
        width: clamp(var(--page-padding) + 1.5rem, var(--page-padding) + 10%, var(--page-padding) + 6.5rem);
    }
}

.pagination__list .pagination__item {
    min-width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    gap: 0.6rem;
    line-height: 1;
}

.pagination__item--current {
    background-color: var(--color-secondary-button-background);
    color: var(--color-secondary-button-text);
    border-color: var(--color-secondary-button-background);
}

.pagination__item--previous {
    padding-inline-end: 1.2rem;
}

.pagination__item--next {
    padding-inline-start: 1.2rem;
}

.image-card {
    gap: var(--gap);
    --badge-color: var(--badge-text-color, 255 255 255);
}

.image-card__inner {
    height: 100%;
}

.image-card__texts {
    align-items: var(--horizontal-alignment);
}

.image-card__content :is(a, button) {
    pointer-events: auto;
}

.image-card__content {
    min-width: 0;
}

.image-card__label {
    inset-block-start: var(--edge-padding-block, 2rem);
    inset-inline-start: var(--edge-padding-inline, 2rem);
    color: rgb(var(--badge-color));
    background: linear-gradient(111.49deg, rgb(var(--badge-color)/40%) -8.95%, rgb(var(--badge-color)/1%) 114%);
    backdrop-filter: blur(100px);
}

.image-card__label::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    padding: 0.1rem;
    border-radius: inherit;
    background: linear-gradient(-45deg, rgb(var(--badge-color)/50%) 0%, rgb(var(--badge-color)/10%) 50%, rgb(var(--badge-color)/50%) 100%);
    mask: linear-gradient(#000 0 0) exclude, linear-gradient(#000 0 0) content-box;
}

.image-card__badge {
    padding: var(--edge-padding-block, 2rem) var(--edge-padding-inline, 2rem);
}

.badge-subtext {
    color: var(--subtext-color, rgb(var(--color-foreground)));
}

.badge-text {
    color: var(--text-color, rgb(var(--color-foreground)));
}

.image-card__media .media {
    aspect-ratio: unset;
    height: 100%;
}
.image-card__media [style*="--ratio"] {
    position: relative;
    overflow: hidden;
}
.image-card__media [style*="--ratio"]::before {
    display: block;
    width: 100%;
    content: "";
    height: 0;
    padding-block-start: calc(100% / (0.0001 + var(--ratio, 1.7777777778)));
}
.image-card__media [style*="--ratio"] > *:first-child:is(img),
.image-card__media [style*="--ratio"] .media__image {
    inset-block-start: 0;
    inset-inline: 0;
    position: absolute !important;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.image-card--static .image-card__inner {
    container: card-inner/inline-size;
}
.image-card--static .image-card__subheading {
    margin-block-end: 2rem;
}
.image-card--static .image-card__text {
    margin-block-start: 1.2rem;
}
@container card-inner style(--vertical-alignment: space-between) {
    .image-card--static .image-card__subheading {
        margin-bottom: 1.6rem;
    }
}

.image-card--content-outside .image-card__content {
    padding-block-start: 0;
}

@media (max-width: 767.98px) {
    .image-card {
        gap: var(--gap-mobile);
    }
    .image-card__label {
        inset-block-start: 2rem;
        inset-inline-start: 2rem;
    }
    .image-card--content-outside .image-card__label {
        inset-block-start: 1rem;
        inset-inline-start: 1rem;
    }
    .image-card__badge {
        padding: 2rem;
    }
    .image-card--static .image-card__subheading {
        margin-block-end: 1.6rem;
    }
    .image-card__media [style*="--ratio"]::before {
        padding-block-start: calc(100% / (0.0001 + var(--ratio-mobile, var(--ratio, 1.7777777778))));
    }
    .image-card__button:has(.btn--full-mobile) {
        width: 100%;
    }
}
.author-info__avatar {
    width: var(--width);
}

testimonial-parallax {
    contain: layout;
}

.testimonial {
    align-items: flex-start;
}
.testimonial .media {
    height: auto;
}
.testimonial__product a {
    border-top: 1px solid rgb(var(--color-border)/var(--color-border-alpha));
    padding-block-start: var(--testimonial-product-pt, 1.2rem);
    margin-block-start: 1.2rem;
}
.testimonial__product-media {
    flex: 0 0 var(--product-media-width, 4rem);
    border-radius: min(0.6rem, var(--product-card-media-radius));
}
.testimonial--stacked .testimonial__content {
    padding: 2rem 1.6rem;
}
.testimonial--stacked.testimonial--image-away-edge {
    padding: 1.6rem 1.6rem 2rem;
}
.testimonial--stacked.testimonial--image-away-edge .testimonial__content {
    padding: 2.4rem 0 0;
}
.testimonial--inline {
    --testimonial-product-pt: 2rem;
}
.testimonial--inline .testimonial__content {
    padding: 3.2rem 3.2rem 2rem;
}
.testimonial--inline .testimonial__product a {
    margin-block-start: 3.2rem;
}
.testimonial--inline.testimonial--image-away-edge {
    padding: 1.6rem 2.4rem 1.6rem 1.6rem;
}
.testimonial--inline.testimonial--image-away-edge .testimonial__content {
    padding: 0 0 0 2.4rem;
}
.testimonial--image-stretch {
    align-items: stretch;
}
.testimonial--image-stretch .testimonial__media .media {
    aspect-ratio: unset;
    height: 100%;
}
.testimonial--image-stretch .testimonial__media [style*="--ratio"] {
    position: relative;
    overflow: hidden;
}
.testimonial--image-stretch .testimonial__media [style*="--ratio"]::before {
    display: block;
    width: 100%;
    content: "";
    height: 0;
    padding-block-start: calc(100% / (0.0001 + var(--ratio, 1.7777777778)));
}
.testimonial--image-stretch .testimonial__media [style*="--ratio"] > *:first-child,
.testimonial--image-stretch .testimonial__media [style*="--ratio"] .media__image {
    inset-block-start: 0;
    inset-inline: 0;
    position: absolute !important;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.testimonial.color-inherit {
    gap: 2.4rem;
    padding: 0 !important;
}
.testimonial.color-inherit .testimonial__content {
    padding: 0 !important;
}

@media (min-width: 768px) {
    .testimonial--inline .testimonial__media {
        flex: 0 0 40%;
    }
}
@media (max-width: 767.98px) {
    .author-info__avatar {
        width: var(--width-mobile, var(--width));
    }
    .testimonial--stacked .testimonial__content {
        padding: 2.4rem 1.2rem 1.6rem;
    }
    .testimonial--stacked.testimonial--image-away-edge {
        padding: 1.2rem 1.2rem 1.6rem;
    }
    .testimonial--inline .testimonial__media [style*="--ratio"]::before {
        padding-block-start: calc(100% / (0.0001 + var(--ratio-mobile, var(--ratio, 1.7777777778))));
    }
    .testimonial--inline .testimonial__content {
        padding: 2.4rem 1.2rem 1.6rem;
    }
    .testimonial--inline.testimonial--image-away-edge {
        padding: 1.2rem 1.2rem 1.6rem;
    }
    .testimonial--inline.testimonial--image-away-edge .testimonial__content {
        padding: 2.4rem 0 0;
    }
}
.table {
    table-layout: auto;
    border-collapse: collapse;
    box-shadow: none;
    width: 100%;
}
.table tr {
    border-bottom: 1px solid rgb(var(--color-foreground)/20%);
}
.table th,
.table td {
    text-align: start;
    padding: 1.7rem;
}
@media (min-width: 1024px) {
    .table th,
    .table td {
        padding: 2.2rem;
    }
}
.table th:first-of-type,
.table td:first-of-type {
    padding-inline-start: 0;
}
.table th {
    padding-block: 1rem;
}

.table-container--mobile-scrollable {
    overflow: auto hidden;
    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);
    scrollbar-width: none;
}
.table-container--mobile-scrollable .table td,
.table-container--mobile-scrollable .table th {
    white-space: nowrap;
}
.table-container--mobile-scrollable.fixed-side .table td:first-of-type,
.table-container--mobile-scrollable.fixed-side .table th:first-of-type {
    position: sticky;
    inset-inline-start: 0;
    background: rgb(var(--color-background));
}
.table-container--mobile-scrollable.fixed-side .table td:first-of-type::before,
.table-container--mobile-scrollable.fixed-side .table th:first-of-type::before {
    content: "";
    width: var(--page-padding);
    height: 100%;
    background: rgb(var(--color-background));
    position: absolute;
    inset-inline-start: calc(var(--page-padding) * -1);
    top: 0;
}
@media (min-width: 768px) {
    .table-container--mobile-scrollable {
        overflow: visible;
        padding-inline: 0;
        margin-inline: 0;
        scroll-padding-inline: 0;
    }
    .table-container--mobile-scrollable .table td,
    .table-container--mobile-scrollable .table th {
        white-space: normal;
    }
    .table-container--mobile-scrollable.fixed-side .table td:first-of-type,
    .table-container--mobile-scrollable.fixed-side .table th:first-of-type {
        position: static;
        background: transparent;
    }
    .table-container--mobile-scrollable.fixed-side .table td:first-of-type::before,
    .table-container--mobile-scrollable.fixed-side .table th:first-of-type::before {
        display: none;
    }
}

@keyframes waveDraw {
    to {
        stroke-dashoffset: 0;
    }
}
:where(*):has(> .highlight-text) {
    position: relative;
    z-index: 0;
}

.highlight-text {
    --hl-default-color: rgb(var(--color-foreground));
    color: var(--hl-text-color, var(--hl-default-color));
    background: inherit;
    font-family: var(--font-highlight--family);
    font-style: var(--hl-font-style);
    text-transform: var(--font-highlight--transform);
    letter-spacing: var(--font-highlight--letter-spacing);
}
.color-subtext .highlight-text {
    --hl-default-color: var(--color-foreground-secondary);
}
.color-gradient .highlight-text {
    --hl-default-color: inherit;
}
.highlight-text--wavy-underline {
    display: inline-block;
}
.highlight-text--wavy-underline svg {
    bottom: calc(-1.4rem + 0.2em);
    inset-inline-start: 2%;
    width: 96%;
    height: 2rem;
    color: var(--hl-shape-color, var(--hl-text-color, var(--hl-default-color)));
}
.highlight-text--wavy-underline path[stroke-width] {
    stroke-width: clamp(0.2rem, 0.138em, 0.138em);
}
.highlight-text--wavy-underline.animate svg path {
    animation: 1.3s cubic-bezier(0.65, 0, 0.35, 1) 0s 1 normal forwards running waveDraw;
    stroke-dasharray: 999;
    stroke-dashoffset: 999;
}
.highlight-text--solid-background {
    --hl-shape-thickness: 92%;
    --hl-shape-y: center;
    background: linear-gradient(to var(--transform-origin-end), var(--hl-shape-color, rgb(var(--color-foreground)/20%)), var(--hl-shape-color, rgb(var(--color-foreground)/20%))) var(--transform-origin-end) var(--hl-shape-y)/0 var(--hl-shape-thickness) no-repeat;
    transition: background-size var(--animation-duration--long) var(--animation-easing--smooth);
}
.highlight-text--solid-background.animate {
    background-size: 100% var(--hl-shape-thickness);
    background-position: var(--transform-origin-start) var(--hl-shape-y);
}
.color-gradient .highlight-text--color-inherit span {
    background: var(--color-gradient);
    color: transparent;
    background-clip: text;
}
@media (max-width: 767.98px) {
    .highlight-text--wavy-underline svg {
        height: 1.2rem;
    }
    .highlight-text--wavy-underline path[stroke-width] {
        stroke-width: 0.5rem;
    }
}

/**
 * Page Transition Component
 * Provides fade overlay effect during page navigation
 * Note: Animation is handled by Web Animations API (animation.js) in JavaScript
 */
.no-js .loading-bar {
    display: none;
}

.page-transition {
    position: fixed;
    inset: 0;
    z-index: 100;
    background-color: rgb(var(--color-foreground));
    pointer-events: none;
    /* Safari: promote to GPU layer for smooth opacity animation */
    will-change: opacity;
    transform: translateZ(0);
}

body:not(.page-transitions-enabled) page-transition {
    display: none;
}

.back-to-top {
    bottom: 2.4rem;
    inset-inline-end: 2.4rem;
    transition: all 0.3s ease;
    z-index: var(--layer-sticky);
    transform: translateY(2rem);
}
.back-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateZ(0);
}
.back-to-top .btn {
    box-shadow: 0 0 15px rgb(var(--color-primary-button-text)/20%);
}
body:has(.sticky-add-to-cart__wrapper[data-sticky=true]) .back-to-top {
    opacity: 0;
    visibility: hidden;
    transform: translateY(2rem);
}

/* Gap Helper Classes for Flexbox and Grid */
/* Based on the spacing scale provided in the design system */
:root {
    --spacing-1: 0.4rem;
    --spacing-2: 0.8rem;
    --spacing-3: 1.2rem;
    --spacing-4: 1.6rem;
    --spacing-5: 2rem;
    --spacing-6: 2.4rem;
    --spacing-7: 3.2rem;
    --spacing-8: 4rem;
    --spacing-9: 4.8rem;
    --spacing-10: 6rem;
    --spacing-11: 10rem;
    --spacing-12: 16rem;
}

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

.gap-x-1 {
    column-gap: var(--spacing-1);
}

.gap-y-1 {
    row-gap: var(--spacing-1);
}

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

.gap-x-2 {
    column-gap: var(--spacing-2);
}

.gap-y-2 {
    row-gap: var(--spacing-2);
}

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

.gap-x-3 {
    column-gap: var(--spacing-3);
}

.gap-y-3 {
    row-gap: var(--spacing-3);
}

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

.gap-x-4 {
    column-gap: var(--spacing-4);
}

.gap-y-4 {
    row-gap: var(--spacing-4);
}

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

.gap-x-5 {
    column-gap: var(--spacing-5);
}

.gap-y-5 {
    row-gap: var(--spacing-5);
}

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

.gap-x-6 {
    column-gap: var(--spacing-6);
}

.gap-y-6 {
    row-gap: var(--spacing-6);
}

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

.gap-x-7 {
    column-gap: var(--spacing-7);
}

.gap-y-7 {
    row-gap: var(--spacing-7);
}

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

.gap-x-8 {
    column-gap: var(--spacing-8);
}

.gap-y-8 {
    row-gap: var(--spacing-8);
}

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

.gap-x-9 {
    column-gap: var(--spacing-9);
}

.gap-y-9 {
    row-gap: var(--spacing-9);
}

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

.gap-x-10 {
    column-gap: var(--spacing-10);
}

.gap-y-10 {
    row-gap: var(--spacing-10);
}

.gap-11 {
    gap: var(--spacing-11);
}

.gap-x-11 {
    column-gap: var(--spacing-11);
}

.gap-y-11 {
    row-gap: var(--spacing-11);
}

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

.gap-x-12 {
    column-gap: var(--spacing-12);
}

.gap-y-12 {
    row-gap: var(--spacing-12);
}

.gap-0 {
    gap: 0;
}

.gap-x-0 {
    column-gap: 0;
}

.gap-y-0 {
    row-gap: 0;
}

@media (min-width: 768px) {
    .md\:gap-1 {
        gap: var(--spacing-1);
    }
    .md\:gap-x-1 {
        column-gap: var(--spacing-1);
    }
    .md\:gap-y-1 {
        row-gap: var(--spacing-1);
    }
    .md\:gap-2 {
        gap: var(--spacing-2);
    }
    .md\:gap-x-2 {
        column-gap: var(--spacing-2);
    }
    .md\:gap-y-2 {
        row-gap: var(--spacing-2);
    }
    .md\:gap-3 {
        gap: var(--spacing-3);
    }
    .md\:gap-x-3 {
        column-gap: var(--spacing-3);
    }
    .md\:gap-y-3 {
        row-gap: var(--spacing-3);
    }
    .md\:gap-4 {
        gap: var(--spacing-4);
    }
    .md\:gap-x-4 {
        column-gap: var(--spacing-4);
    }
    .md\:gap-y-4 {
        row-gap: var(--spacing-4);
    }
    .md\:gap-5 {
        gap: var(--spacing-5);
    }
    .md\:gap-x-5 {
        column-gap: var(--spacing-5);
    }
    .md\:gap-y-5 {
        row-gap: var(--spacing-5);
    }
    .md\:gap-6 {
        gap: var(--spacing-6);
    }
    .md\:gap-x-6 {
        column-gap: var(--spacing-6);
    }
    .md\:gap-y-6 {
        row-gap: var(--spacing-6);
    }
    .md\:gap-7 {
        gap: var(--spacing-7);
    }
    .md\:gap-x-7 {
        column-gap: var(--spacing-7);
    }
    .md\:gap-y-7 {
        row-gap: var(--spacing-7);
    }
    .md\:gap-8 {
        gap: var(--spacing-8);
    }
    .md\:gap-x-8 {
        column-gap: var(--spacing-8);
    }
    .md\:gap-y-8 {
        row-gap: var(--spacing-8);
    }
    .md\:gap-9 {
        gap: var(--spacing-9);
    }
    .md\:gap-x-9 {
        column-gap: var(--spacing-9);
    }
    .md\:gap-y-9 {
        row-gap: var(--spacing-9);
    }
    .md\:gap-10 {
        gap: var(--spacing-10);
    }
    .md\:gap-x-10 {
        column-gap: var(--spacing-10);
    }
    .md\:gap-y-10 {
        row-gap: var(--spacing-10);
    }
    .md\:gap-11 {
        gap: var(--spacing-11);
    }
    .md\:gap-x-11 {
        column-gap: var(--spacing-11);
    }
    .md\:gap-y-11 {
        row-gap: var(--spacing-11);
    }
    .md\:gap-12 {
        gap: var(--spacing-12);
    }
    .md\:gap-x-12 {
        column-gap: var(--spacing-12);
    }
    .md\:gap-y-12 {
        row-gap: var(--spacing-12);
    }
    .md\:gap-0 {
        gap: 0;
    }
    .md\:gap-x-0 {
        column-gap: 0;
    }
    .md\:gap-y-0 {
        row-gap: 0;
    }
}
@media (min-width: 1024px) {
    .lg\:gap-1 {
        gap: var(--spacing-1);
    }
    .lg\:gap-x-1 {
        column-gap: var(--spacing-1);
    }
    .lg\:gap-y-1 {
        row-gap: var(--spacing-1);
    }
    .lg\:gap-2 {
        gap: var(--spacing-2);
    }
    .lg\:gap-x-2 {
        column-gap: var(--spacing-2);
    }
    .lg\:gap-y-2 {
        row-gap: var(--spacing-2);
    }
    .lg\:gap-3 {
        gap: var(--spacing-3);
    }
    .lg\:gap-x-3 {
        column-gap: var(--spacing-3);
    }
    .lg\:gap-y-3 {
        row-gap: var(--spacing-3);
    }
    .lg\:gap-4 {
        gap: var(--spacing-4);
    }
    .lg\:gap-x-4 {
        column-gap: var(--spacing-4);
    }
    .lg\:gap-y-4 {
        row-gap: var(--spacing-4);
    }
    .lg\:gap-5 {
        gap: var(--spacing-5);
    }
    .lg\:gap-x-5 {
        column-gap: var(--spacing-5);
    }
    .lg\:gap-y-5 {
        row-gap: var(--spacing-5);
    }
    .lg\:gap-6 {
        gap: var(--spacing-6);
    }
    .lg\:gap-x-6 {
        column-gap: var(--spacing-6);
    }
    .lg\:gap-y-6 {
        row-gap: var(--spacing-6);
    }
    .lg\:gap-7 {
        gap: var(--spacing-7);
    }
    .lg\:gap-x-7 {
        column-gap: var(--spacing-7);
    }
    .lg\:gap-y-7 {
        row-gap: var(--spacing-7);
    }
    .lg\:gap-8 {
        gap: var(--spacing-8);
    }
    .lg\:gap-x-8 {
        column-gap: var(--spacing-8);
    }
    .lg\:gap-y-8 {
        row-gap: var(--spacing-8);
    }
    .lg\:gap-9 {
        gap: var(--spacing-9);
    }
    .lg\:gap-x-9 {
        column-gap: var(--spacing-9);
    }
    .lg\:gap-y-9 {
        row-gap: var(--spacing-9);
    }
    .lg\:gap-10 {
        gap: var(--spacing-10);
    }
    .lg\:gap-x-10 {
        column-gap: var(--spacing-10);
    }
    .lg\:gap-y-10 {
        row-gap: var(--spacing-10);
    }
    .lg\:gap-11 {
        gap: var(--spacing-11);
    }
    .lg\:gap-x-11 {
        column-gap: var(--spacing-11);
    }
    .lg\:gap-y-11 {
        row-gap: var(--spacing-11);
    }
    .lg\:gap-12 {
        gap: var(--spacing-12);
    }
    .lg\:gap-x-12 {
        column-gap: var(--spacing-12);
    }
    .lg\:gap-y-12 {
        row-gap: var(--spacing-12);
    }
    .lg\:gap-0 {
        gap: 0;
    }
    .lg\:gap-x-0 {
        column-gap: 0;
    }
    .lg\:gap-y-0 {
        row-gap: 0;
    }
}
@media (min-width: 1200px) {
    .xl\:gap-1 {
        gap: var(--spacing-1);
    }
    .xl\:gap-x-1 {
        column-gap: var(--spacing-1);
    }
    .xl\:gap-y-1 {
        row-gap: var(--spacing-1);
    }
    .xl\:gap-2 {
        gap: var(--spacing-2);
    }
    .xl\:gap-x-2 {
        column-gap: var(--spacing-2);
    }
    .xl\:gap-y-2 {
        row-gap: var(--spacing-2);
    }
    .xl\:gap-3 {
        gap: var(--spacing-3);
    }
    .xl\:gap-x-3 {
        column-gap: var(--spacing-3);
    }
    .xl\:gap-y-3 {
        row-gap: var(--spacing-3);
    }
    .xl\:gap-4 {
        gap: var(--spacing-4);
    }
    .xl\:gap-x-4 {
        column-gap: var(--spacing-4);
    }
    .xl\:gap-y-4 {
        row-gap: var(--spacing-4);
    }
    .xl\:gap-5 {
        gap: var(--spacing-5);
    }
    .xl\:gap-x-5 {
        column-gap: var(--spacing-5);
    }
    .xl\:gap-y-5 {
        row-gap: var(--spacing-5);
    }
    .xl\:gap-6 {
        gap: var(--spacing-6);
    }
    .xl\:gap-x-6 {
        column-gap: var(--spacing-6);
    }
    .xl\:gap-y-6 {
        row-gap: var(--spacing-6);
    }
    .xl\:gap-7 {
        gap: var(--spacing-7);
    }
    .xl\:gap-x-7 {
        column-gap: var(--spacing-7);
    }
    .xl\:gap-y-7 {
        row-gap: var(--spacing-7);
    }
    .xl\:gap-8 {
        gap: var(--spacing-8);
    }
    .xl\:gap-x-8 {
        column-gap: var(--spacing-8);
    }
    .xl\:gap-y-8 {
        row-gap: var(--spacing-8);
    }
    .xl\:gap-9 {
        gap: var(--spacing-9);
    }
    .xl\:gap-x-9 {
        column-gap: var(--spacing-9);
    }
    .xl\:gap-y-9 {
        row-gap: var(--spacing-9);
    }
    .xl\:gap-10 {
        gap: var(--spacing-10);
    }
    .xl\:gap-x-10 {
        column-gap: var(--spacing-10);
    }
    .xl\:gap-y-10 {
        row-gap: var(--spacing-10);
    }
    .xl\:gap-11 {
        gap: var(--spacing-11);
    }
    .xl\:gap-x-11 {
        column-gap: var(--spacing-11);
    }
    .xl\:gap-y-11 {
        row-gap: var(--spacing-11);
    }
    .xl\:gap-12 {
        gap: var(--spacing-12);
    }
    .xl\:gap-x-12 {
        column-gap: var(--spacing-12);
    }
    .xl\:gap-y-12 {
        row-gap: var(--spacing-12);
    }
    .xl\:gap-0 {
        gap: 0;
    }
    .xl\:gap-x-0 {
        column-gap: 0;
    }
    .xl\:gap-y-0 {
        row-gap: 0;
    }
}
@media (min-width: 1440px) {
    .xxl\:gap-1 {
        gap: var(--spacing-1);
    }
    .xxl\:gap-x-1 {
        column-gap: var(--spacing-1);
    }
    .xxl\:gap-y-1 {
        row-gap: var(--spacing-1);
    }
    .xxl\:gap-2 {
        gap: var(--spacing-2);
    }
    .xxl\:gap-x-2 {
        column-gap: var(--spacing-2);
    }
    .xxl\:gap-y-2 {
        row-gap: var(--spacing-2);
    }
    .xxl\:gap-3 {
        gap: var(--spacing-3);
    }
    .xxl\:gap-x-3 {
        column-gap: var(--spacing-3);
    }
    .xxl\:gap-y-3 {
        row-gap: var(--spacing-3);
    }
    .xxl\:gap-4 {
        gap: var(--spacing-4);
    }
    .xxl\:gap-x-4 {
        column-gap: var(--spacing-4);
    }
    .xxl\:gap-y-4 {
        row-gap: var(--spacing-4);
    }
    .xxl\:gap-5 {
        gap: var(--spacing-5);
    }
    .xxl\:gap-x-5 {
        column-gap: var(--spacing-5);
    }
    .xxl\:gap-y-5 {
        row-gap: var(--spacing-5);
    }
    .xxl\:gap-6 {
        gap: var(--spacing-6);
    }
    .xxl\:gap-x-6 {
        column-gap: var(--spacing-6);
    }
    .xxl\:gap-y-6 {
        row-gap: var(--spacing-6);
    }
    .xxl\:gap-7 {
        gap: var(--spacing-7);
    }
    .xxl\:gap-x-7 {
        column-gap: var(--spacing-7);
    }
    .xxl\:gap-y-7 {
        row-gap: var(--spacing-7);
    }
    .xxl\:gap-8 {
        gap: var(--spacing-8);
    }
    .xxl\:gap-x-8 {
        column-gap: var(--spacing-8);
    }
    .xxl\:gap-y-8 {
        row-gap: var(--spacing-8);
    }
    .xxl\:gap-9 {
        gap: var(--spacing-9);
    }
    .xxl\:gap-x-9 {
        column-gap: var(--spacing-9);
    }
    .xxl\:gap-y-9 {
        row-gap: var(--spacing-9);
    }
    .xxl\:gap-10 {
        gap: var(--spacing-10);
    }
    .xxl\:gap-x-10 {
        column-gap: var(--spacing-10);
    }
    .xxl\:gap-y-10 {
        row-gap: var(--spacing-10);
    }
    .xxl\:gap-11 {
        gap: var(--spacing-11);
    }
    .xxl\:gap-x-11 {
        column-gap: var(--spacing-11);
    }
    .xxl\:gap-y-11 {
        row-gap: var(--spacing-11);
    }
    .xxl\:gap-12 {
        gap: var(--spacing-12);
    }
    .xxl\:gap-x-12 {
        column-gap: var(--spacing-12);
    }
    .xxl\:gap-y-12 {
        row-gap: var(--spacing-12);
    }
    .xxl\:gap-0 {
        gap: 0;
    }
    .xxl\:gap-x-0 {
        column-gap: 0;
    }
    .xxl\:gap-y-0 {
        row-gap: 0;
    }
}
/* Utility Classes */
/* Display utilities */
.flex {
    display: flex;
}

.block {
    display: block;
}

.grid {
    display: grid;
}

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

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

.row-span-full {
    grid-row: 1/-1;
}

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

.col-2 {
    grid-column: 2;
}

.hidden {
    display: none;
}

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

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

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

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

/* Flex direction */
.flex-col {
    flex-direction: column;
}

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

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

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

/* Flex grow, shrink, basis */
.flex-1 {
    flex: 1;
}

.flex-auto {
    flex: auto;
}

.h-full {
    height: 100%;
}

.overflow-hidden {
    overflow: hidden;
}

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

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

/* Flex wrap */
.flex-wrap {
    flex-wrap: wrap;
}
.flex-nowrap {
    flex-wrap: nowrap;
}

/* Align items */
.items-start {
    align-items: flex-start;
}
.items-center {
    align-items: center;
}
.items-end {
    align-items: flex-end;
}
.items-stretch {
    align-items: stretch;
}

/* Justify content */
.justify-start, .justify-left {
    justify-content: flex-start;
}
.justify-center {
    justify-content: center;
}
.justify-end, .justify-right {
    justify-content: flex-end;
}
.justify-between {
    justify-content: space-between;
}
.justify-around {
    justify-content: space-around;
}

/* Align self */
.self-start {
    align-self: flex-start;
}
.self-center {
    align-self: center;
}
.self-end {
    align-self: flex-end;
}
.self-auto {
    align-self: auto;
}
.self-stretch {
    align-self: stretch;
}

/* Justify self */
.justify-self-start {
    justify-self: start;
}
.justify-self-center {
    justify-self: center;
}
.justify-self-end {
    justify-self: end;
}

/* Row/Column span */
.col-span-1 {
    grid-column: span 1/span 1;
}

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

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

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

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

.col-start-1 {
    grid-column-start: 1;
}

.col-start-2 {
    grid-column-start: 2;
}

.col-start-3 {
    grid-column-start: 3;
}

.col-start-4 {
    grid-column-start: 4;
}

.col-start-5 {
    grid-column-start: 5;
}

.col-start-6 {
    grid-column-start: 6;
}

.col-start-7 {
    grid-column-start: 7;
}

.col-start-8 {
    grid-column-start: 8;
}

.m-0 {
    margin: 0;
}

.p-0 {
    padding: 0;
}

/* Align content */
.content-end {
    align-content: flex-end;
}

/* Position utilities */
.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.static {
    position: static;
}

.sticky {
    position: sticky;
}

.fixed {
    position: fixed;
}

@media (min-width: 768px) {
    .sticky-element {
        position: sticky;
        top: var(--sticky-element-top, 0);
        transition: top var(--animation-duration--medium) var(--animation-easing--smooth);
    }
    .header-pinned .sticky-element--adapt {
        top: calc(var(--sticky-element-top, 0) + var(--header-height, 0));
    }
}
/* Z-index */
.z--1 {
    z-index: -1;
}

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

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

/* Position values */
.top-0 {
    inset-block-start: 0;
}

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

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

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

.inset-0 {
    inset: 0;
}

.opacity-0 {
    opacity: 0;
}

.visibility-hidden {
    visibility: hidden;
}

.\!bg-none {
    background-color: transparent !important;
}

.\!bg-transparent-20 {
    background-color: rgb(var(--color-background)/20%) !important;
}

.w-full {
    width: 100%;
}

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

.min-w-0 {
    min-width: 0;
}

/* Object utilities */
.object-cover {
    object-fit: cover;
}

/* Overflow utilities */
.overflow-hidden {
    overflow: hidden;
}
.overflow-visible {
    overflow: visible;
}
.overflow-auto {
    overflow: auto;
}
.overflow-x-clip {
    overflow-x: clip;
}
.overflow-y-clip {
    overflow-y: clip;
}

/* Color utilities */
.color-transparent {
    color: transparent;
}

.color-subtext {
    color: var(--color-foreground-secondary);
}

.color-text {
    color: rgb(var(--color-foreground));
}

.color-current {
    color: currentcolor;
}

.color-gradient {
    background: var(--color-gradient);
    color: transparent;
    background-clip: text;
}
.color-gradient > * {
    background: inherit;
    color: inherit;
}

/* Text utilities */
.text-decoration-none {
    text-decoration: none;
}

/* Text alignment */
.text-left {
    --text-align: start;
    text-align: start;
}
.text-center {
    --text-align: center;
    text-align: center;
}
.text-right {
    --text-align: end;
    text-align: end;
}

/* Text wrapping */
.text-wrap {
    overflow-wrap: break-word;
    hyphens: auto;
}

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

.text-ellipsis {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

/* Text line limiting */
[class*=text-limit-] {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: var(--line-clamp, unset);
    line-clamp: var(--line-clamp, unset);
    -webkit-box-orient: vertical;
}

/* Hover image scale */
.media-hover--scale .media-hover__element {
    scale: var(--hover-scale-x, 1) var(--hover-scale-y, 1);
    transition: .2s all var(--ease-in-out-sine);
    object-position: center center;
}
@media screen and (pointer: fine) {
    .media-hover--scale:hover {
        --hover-scale-x: 1.03;
        --hover-scale-y: 1.03;
    }
}

.text-limit-1-line {
    --line-clamp: 1;
}
.text-limit-2-lines {
    --line-clamp: 2;
}
.text-limit-3-lines {
    --line-clamp: 3;
}
.text-limit-4-lines {
    --line-clamp: 4;
}
.text-limit-5-lines {
    --line-clamp: 5;
}

.text-capitalize {
    text-transform: capitalize;
}

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

.cursor-pointer {
    cursor: pointer;
}

.cursor-auto {
    cursor: auto;
}

.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.disabled > * {
    cursor: not-allowed;
}

.list-unstyled {
    list-style: none;
}
.list-unstyled:not(.spacing-style) {
    margin: 0;
    padding: 0;
}


/* Accessibility utilities */
.visually-hidden {
    /* stylelint-disable-next-line declaration-no-important */
    position: absolute !important;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip-path: rect(0 0 0 0);
    /* stylelint-disable-next-line declaration-no-important */
    overflow-wrap: normal !important;
}

.focus-visible--inset:focus-visible {
    z-index: 9;
    outline: none;
    box-shadow: inset 0 0 0 2px rgb(var(--color-focus-ring)), inset 0 0 0 3px Canvas !important;
    border-radius: var(--focus-radius, min(4px, inherit));
}
.dialog.keyboard-navigation .focus-visible--inset:focus {
    outline: none !important;
}
.focus-visible--absolute:focus-visible {
    outline: none;
}
.focus-visible--absolute:focus-visible::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 9;
    box-shadow: inset 0 0 0 2px rgb(var(--color-focus-ring)), inset 0 0 0 3px Canvas;
    border-radius: var(--focus-radius, var(--border-radius, inherit));
}
.dialog.keyboard-navigation .focus-visible--absolute:focus {
    outline: none !important;
}

.focus-within--inset *:focus {
    outline: none;
    box-shadow: none !important;
}
.focus-within--inset:has(:focus-visible) {
    box-shadow: 0 0 0 2px rgb(var(--color-focus-ring)), inset 0 0 0 3px Canvas;
}
.focus-within--absolute *:focus {
    outline: none;
    box-shadow: none !important;
}
.focus-within--absolute:has(:focus-visible)::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 9;
    box-shadow: inset 0 0 0 2px rgb(var(--color-focus-ring)), inset 0 0 0 3px Canvas;
    border-radius: var(--focus-radius, var(--border-radius, inherit));
}

/* Component utilities */
/* Reversed link component */
.reversed-link {
    position: relative;
    text-decoration: none;
    cursor: pointer;
}
.reversed-link__text {
    position: relative;
    display: inline-block;
    max-width: 100%;
    text-decoration: none;
}
link-item-decoration {
    position: absolute;
    inset: 0;
    display: block;
    pointer-events: none;
    overflow: visible;
}
.link-decoration {
    position: absolute;
    display: block;
    pointer-events: none;
    clip-path: inset(0 100% 0 0);
    transition: clip-path .6s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}
.link-decoration svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}
.reversed-link[aria-current="true"] .link-decoration {
    clip-path: inset(0 0 0 0);
    transition-delay: var(--link-decoration-delay, 0s);
}

/* State utilities */
/* Notification colors */
.notification--success {
    color: rgb(var(--color-notification-success));
}
.notification--error {
    color: rgb(var(--color-notification-error));
}
.notification--warning {
    color: rgb(var(--color-notification-warning));
}
.notification--info {
    color: rgb(var(--color-notification-info));
}
.notification--out-of-stock {
    color: rgb(var(--color-notification-out-of-stock));
}

/* Alert component */
.alert {
    padding: 1.2rem 1.6rem;
    border-radius: min(1rem, var(--badge-corner-radius));
}
.alert--success {
    color: rgb(var(--color-notification-success));
}
.alert--error {
    color: rgb(var(--color-notification-error));
    background-color: rgb(var(--color-notification-error)/10%);
}
.alert--warning {
    color: rgb(var(--color-notification-warning));
    background-color: rgb(var(--color-notification-warning)/10%);
}
.alert--info {
    color: rgb(var(--color-notification-info));
    background-color: rgb(var(--color-notification-info)/10%);
}
.alert--small {
    padding: 0.6rem 1.2rem;
}
.alert__content {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

/* Fixed overlay */
.fixed-overlay {
    position: fixed;
    inset: 0;
    pointer-events: none;
    /* Default: fade out with delay, then hide visibility */
    transition: var(--animation-duration--long) var(--fixed-overlay-easing);
    transition-property: opacity, visibility;
    opacity: 0;
    visibility: hidden;
    background-color: rgb(var(--color-foreground)/var(--dialog-backdrop-opacity));
}

/* Scrollable */
.v-scrollable {
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    overflow: hidden auto;
}
.v-scrollable::-webkit-scrollbar {
    width: 0.6rem;
}
.v-scrollable::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    background-clip: padding-box;
    background: rgb(var(--color-foreground)/10%);
}
.v-scrollable::-webkit-scrollbar-track {
    background: transparent;
    border: none;
}
.v-scrollable--hidden::-webkit-scrollbar {
    width: 0;
}

/* Responsive utilities */
/* Responsive display utilities */
@media (min-width: 640px) {
    /* Display utilities */
    .sm\:flex {
        display: flex;
    }
    .sm\:block {
        display: block;
    }
    .sm\:grid {
        display: grid;
    }
    .sm\:inline-block {
        display: inline-block;
    }
    .sm\:inline-flex {
        display: inline-flex;
    }
    .sm\:hidden {
        display: none;
    }
    .\!sm\:hidden {
        display: none !important;
    }
    .sm\:table-cell {
        display: table-cell;
    }
    /* Flexbox utilities */
    /* Flex direction */
    .sm\:flex-col {
        flex-direction: column;
    }
    .sm\:flex-row {
        flex-direction: row;
    }
    .sm\:flex-row-reverse {
        flex-direction: row-reverse;
    }
    .sm\:flex-column-reverse {
        flex-direction: column-reverse;
    }
    /* Flex grow, shrink, basis */
    .sm\:flex-1 {
        flex: 1;
    }
    .sm\:flex-auto {
        flex: auto;
    }
    .sm\:shrink-0 {
        flex-shrink: 0;
    }
    .sm\:flex-grow {
        flex-grow: 1;
    }
    /* Flex wrap */
    .sm\:flex-wrap {
        flex-wrap: wrap;
    }
    .sm\:flex-nowrap {
        flex-wrap: nowrap;
    }
    /* Align items */
    .sm\:items-start {
        align-items: flex-start;
    }
    .sm\:items-center {
        align-items: center;
    }
    .sm\:items-end {
        align-items: flex-end;
    }
    .sm\:items-stretch {
        align-items: stretch;
    }
    /* Justify content */
    .sm\:justify-start, .sm\:justify-left {
        justify-content: flex-start;
    }
    .sm\:justify-center {
        justify-content: center;
    }
    .sm\:justify-end, .sm\:justify-right {
        justify-content: flex-end;
    }
    .sm\:justify-between {
        justify-content: space-between;
    }
    .sm\:justify-around {
        justify-content: space-around;
    }
    /* Align self */
    .sm\:self-start {
        align-self: flex-start;
    }
    .sm\:self-center {
        align-self: center;
    }
    .sm\:self-end {
        align-self: flex-end;
    }
    .sm\:self-auto {
        align-self: auto;
    }
    .sm\:self-stretch {
        align-self: stretch;
    }
    /* Justify self */
    .sm\:justify-self-start {
        justify-self: start;
    }
    .sm\:justify-self-center {
        justify-self: center;
    }
    .sm\:justify-self-end {
        justify-self: end;
    }
    /* Align content */
    .sm\:content-end {
        align-content: flex-end;
    }
    /* Text alignment */
    .sm\:text-left {
        --text-align: start;
        text-align: start;
    }
    .sm\:text-center {
        --text-align: center;
        text-align: center;
    }
    .sm\:text-right {
        --text-align: end;
        text-align: end;
    }
    .sm\:w-full {
        width: 100%;
    }
    /* Row/Column span */
    .sm\:col-span-1 {
        grid-column: span 1/span 1;
    }
    .sm\:col-span-2 {
        grid-column: span 2/span 2;
    }
    .sm\:col-span-3 {
        grid-column: span 3/span 3;
    }
    .sm\:col-span-4 {
        grid-column: span 4/span 4;
    }
    .sm\:col-span-5 {
        grid-column: span 5/span 5;
    }
    .sm\:col-start-1 {
        grid-column-start: 1;
    }
    .sm\:col-start-2 {
        grid-column-start: 2;
    }
    .sm\:col-start-3 {
        grid-column-start: 3;
    }
    .sm\:col-start-4 {
        grid-column-start: 4;
    }
    .sm\:col-start-5 {
        grid-column-start: 5;
    }
    .sm\:col-start-6 {
        grid-column-start: 6;
    }
    .sm\:col-start-7 {
        grid-column-start: 7;
    }
    .sm\:col-start-8 {
        grid-column-start: 8;
    }
}
@media (min-width: 768px) {
    /* Display utilities */
    .md\:flex {
        display: flex;
    }
    .md\:block {
        display: block;
    }
    .md\:grid {
        display: grid;
    }
    .md\:inline-block {
        display: inline-block;
    }
    .md\:inline-flex {
        display: inline-flex;
    }
    .md\:hidden {
        display: none;
    }
    .\!md\:hidden {
        display: none !important;
    }
    .md\:table-cell {
        display: table-cell;
    }
    /* Flexbox utilities */
    /* Flex direction */
    .md\:flex-col {
        flex-direction: column;
    }
    .md\:flex-row {
        flex-direction: row;
    }
    .md\:flex-row-reverse {
        flex-direction: row-reverse;
    }
    .md\:flex-column-reverse {
        flex-direction: column-reverse;
    }
    /* Flex grow, shrink, basis */
    .md\:flex-1 {
        flex: 1;
    }
    .md\:flex-auto {
        flex: auto;
    }
    .md\:shrink-0 {
        flex-shrink: 0;
    }
    .md\:flex-grow {
        flex-grow: 1;
    }
    /* Flex wrap */
    .md\:flex-wrap {
        flex-wrap: wrap;
    }
    .md\:flex-nowrap {
        flex-wrap: nowrap;
    }
    /* Align items */
    .md\:items-start {
        align-items: flex-start;
    }
    .md\:items-center {
        align-items: center;
    }
    .md\:items-end {
        align-items: flex-end;
    }
    .md\:items-stretch {
        align-items: stretch;
    }
    /* Justify content */
    .md\:justify-start, .md\:justify-left {
        justify-content: flex-start;
    }
    .md\:justify-center {
        justify-content: center;
    }
    .md\:justify-end, .md\:justify-right {
        justify-content: flex-end;
    }
    .md\:justify-between {
        justify-content: space-between;
    }
    .md\:justify-around {
        justify-content: space-around;
    }
    /* Align self */
    .md\:self-start {
        align-self: flex-start;
    }
    .md\:self-center {
        align-self: center;
    }
    .md\:self-end {
        align-self: flex-end;
    }
    .md\:self-auto {
        align-self: auto;
    }
    .md\:self-stretch {
        align-self: stretch;
    }
    /* Justify self */
    .md\:justify-self-start {
        justify-self: start;
    }
    .md\:justify-self-center {
        justify-self: center;
    }
    .md\:justify-self-end {
        justify-self: end;
    }
    /* Align content */
    .md\:content-end {
        align-content: flex-end;
    }
    /* Text alignment */
    .md\:text-left {
        --text-align: start;
        text-align: start;
    }
    .md\:text-center {
        --text-align: center;
        text-align: center;
    }
    .md\:text-right {
        --text-align: end;
        text-align: end;
    }
    .md\:w-full {
        width: 100%;
    }
    /* Row/Column span */
    .md\:col-span-1 {
        grid-column: span 1/span 1;
    }
    .md\:col-span-2 {
        grid-column: span 2/span 2;
    }
    .md\:col-span-3 {
        grid-column: span 3/span 3;
    }
    .md\:col-span-4 {
        grid-column: span 4/span 4;
    }
    .md\:col-span-5 {
        grid-column: span 5/span 5;
    }
    .md\:col-start-1 {
        grid-column-start: 1;
    }
    .md\:col-start-2 {
        grid-column-start: 2;
    }
    .md\:col-start-3 {
        grid-column-start: 3;
    }
    .md\:col-start-4 {
        grid-column-start: 4;
    }
    .md\:col-start-5 {
        grid-column-start: 5;
    }
    .md\:col-start-6 {
        grid-column-start: 6;
    }
    .md\:col-start-7 {
        grid-column-start: 7;
    }
    .md\:col-start-8 {
        grid-column-start: 8;
    }
}
@media (min-width: 1024px) {
    /* Display utilities */
    .lg\:flex {
        display: flex;
    }
    .lg\:block {
        display: block;
    }
    .lg\:grid {
        display: grid;
    }
    .lg\:inline-block {
        display: inline-block;
    }
    .lg\:inline-flex {
        display: inline-flex;
    }
    .lg\:hidden {
        display: none;
    }
    .\!lg\:hidden {
        display: none !important;
    }
    .lg\:table-cell {
        display: table-cell;
    }
    /* Flexbox utilities */
    /* Flex direction */
    .lg\:flex-col {
        flex-direction: column;
    }
    .lg\:flex-row {
        flex-direction: row;
    }
    .lg\:flex-row-reverse {
        flex-direction: row-reverse;
    }
    .lg\:flex-column-reverse {
        flex-direction: column-reverse;
    }
    /* Flex grow, shrink, basis */
    .lg\:flex-1 {
        flex: 1;
    }
    .lg\:flex-auto {
        flex: auto;
    }
    .lg\:shrink-0 {
        flex-shrink: 0;
    }
    .lg\:flex-grow {
        flex-grow: 1;
    }
    /* Flex wrap */
    .lg\:flex-wrap {
        flex-wrap: wrap;
    }
    .lg\:flex-nowrap {
        flex-wrap: nowrap;
    }
    /* Align items */
    .lg\:items-start {
        align-items: flex-start;
    }
    .lg\:items-center {
        align-items: center;
    }
    .lg\:items-end {
        align-items: flex-end;
    }
    .lg\:items-stretch {
        align-items: stretch;
    }
    /* Justify content */
    .lg\:justify-start, .lg\:justify-left {
        justify-content: flex-start;
    }
    .lg\:justify-center {
        justify-content: center;
    }
    .lg\:justify-end, .lg\:justify-right {
        justify-content: flex-end;
    }
    .lg\:justify-between {
        justify-content: space-between;
    }
    .lg\:justify-around {
        justify-content: space-around;
    }
    /* Align self */
    .lg\:self-start {
        align-self: flex-start;
    }
    .lg\:self-center {
        align-self: center;
    }
    .lg\:self-end {
        align-self: flex-end;
    }
    .lg\:self-auto {
        align-self: auto;
    }
    .lg\:self-stretch {
        align-self: stretch;
    }
    /* Justify self */
    .lg\:justify-self-start {
        justify-self: start;
    }
    .lg\:justify-self-center {
        justify-self: center;
    }
    .lg\:justify-self-end {
        justify-self: end;
    }
    /* Align content */
    .lg\:content-end {
        align-content: flex-end;
    }
    /* Text alignment */
    .lg\:text-left {
        --text-align: start;
        text-align: start;
    }
    .lg\:text-center {
        --text-align: center;
        text-align: center;
    }
    .lg\:text-right {
        --text-align: end;
        text-align: end;
    }
    .lg\:w-full {
        width: 100%;
    }
    /* Row/Column span */
    .lg\:col-span-1 {
        grid-column: span 1/span 1;
    }
    .lg\:col-span-2 {
        grid-column: span 2/span 2;
    }
    .lg\:col-span-3 {
        grid-column: span 3/span 3;
    }
    .lg\:col-span-4 {
        grid-column: span 4/span 4;
    }
    .lg\:col-span-5 {
        grid-column: span 5/span 5;
    }
    .lg\:col-start-1 {
        grid-column-start: 1;
    }
    .lg\:col-start-2 {
        grid-column-start: 2;
    }
    .lg\:col-start-3 {
        grid-column-start: 3;
    }
    .lg\:col-start-4 {
        grid-column-start: 4;
    }
    .lg\:col-start-5 {
        grid-column-start: 5;
    }
    .lg\:col-start-6 {
        grid-column-start: 6;
    }
    .lg\:col-start-7 {
        grid-column-start: 7;
    }
    .lg\:col-start-8 {
        grid-column-start: 8;
    }
}
@media (min-width: 1200px) {
    /* Display utilities */
    .xl\:flex {
        display: flex;
    }
    .xl\:block {
        display: block;
    }
    .xl\:grid {
        display: grid;
    }
    .xl\:inline-block {
        display: inline-block;
    }
    .xl\:inline-flex {
        display: inline-flex;
    }
    .xl\:hidden {
        display: none;
    }
    .\!xl\:hidden {
        display: none !important;
    }
    .xl\:table-cell {
        display: table-cell;
    }
    /* Flexbox utilities */
    /* Flex direction */
    .xl\:flex-col {
        flex-direction: column;
    }
    .xl\:flex-row {
        flex-direction: row;
    }
    .xl\:flex-row-reverse {
        flex-direction: row-reverse;
    }
    .xl\:flex-column-reverse {
        flex-direction: column-reverse;
    }
    /* Flex grow, shrink, basis */
    .xl\:flex-1 {
        flex: 1;
    }
    .xl\:flex-auto {
        flex: auto;
    }
    .xl\:shrink-0 {
        flex-shrink: 0;
    }
    .xl\:flex-grow {
        flex-grow: 1;
    }
    /* Flex wrap */
    .xl\:flex-wrap {
        flex-wrap: wrap;
    }
    .xl\:flex-nowrap {
        flex-wrap: nowrap;
    }
    /* Align items */
    .xl\:items-start {
        align-items: flex-start;
    }
    .xl\:items-center {
        align-items: center;
    }
    .xl\:items-end {
        align-items: flex-end;
    }
    .xl\:items-stretch {
        align-items: stretch;
    }
    /* Justify content */
    .xl\:justify-start, .xl\:justify-left {
        justify-content: flex-start;
    }
    .xl\:justify-center {
        justify-content: center;
    }
    .xl\:justify-end, .xl\:justify-right {
        justify-content: flex-end;
    }
    .xl\:justify-between {
        justify-content: space-between;
    }
    .xl\:justify-around {
        justify-content: space-around;
    }
    /* Align self */
    .xl\:self-start {
        align-self: flex-start;
    }
    .xl\:self-center {
        align-self: center;
    }
    .xl\:self-end {
        align-self: flex-end;
    }
    .xl\:self-auto {
        align-self: auto;
    }
    .xl\:self-stretch {
        align-self: stretch;
    }
    /* Justify self */
    .xl\:justify-self-start {
        justify-self: start;
    }
    .xl\:justify-self-center {
        justify-self: center;
    }
    .xl\:justify-self-end {
        justify-self: end;
    }
    /* Align content */
    .xl\:content-end {
        align-content: flex-end;
    }
    /* Text alignment */
    .xl\:text-left {
        --text-align: start;
        text-align: start;
    }
    .xl\:text-center {
        --text-align: center;
        text-align: center;
    }
    .xl\:text-right {
        --text-align: end;
        text-align: end;
    }
    .xl\:w-full {
        width: 100%;
    }
    /* Row/Column span */
    .xl\:col-span-1 {
        grid-column: span 1/span 1;
    }
    .xl\:col-span-2 {
        grid-column: span 2/span 2;
    }
    .xl\:col-span-3 {
        grid-column: span 3/span 3;
    }
    .xl\:col-span-4 {
        grid-column: span 4/span 4;
    }
    .xl\:col-span-5 {
        grid-column: span 5/span 5;
    }
    .xl\:col-start-1 {
        grid-column-start: 1;
    }
    .xl\:col-start-2 {
        grid-column-start: 2;
    }
    .xl\:col-start-3 {
        grid-column-start: 3;
    }
    .xl\:col-start-4 {
        grid-column-start: 4;
    }
    .xl\:col-start-5 {
        grid-column-start: 5;
    }
    .xl\:col-start-6 {
        grid-column-start: 6;
    }
    .xl\:col-start-7 {
        grid-column-start: 7;
    }
    .xl\:col-start-8 {
        grid-column-start: 8;
    }
}
@media (min-width: 1440px) {
    /* Display utilities */
    .xxl\:flex {
        display: flex;
    }
    .xxl\:block {
        display: block;
    }
    .xxl\:grid {
        display: grid;
    }
    .xxl\:inline-block {
        display: inline-block;
    }
    .xxl\:inline-flex {
        display: inline-flex;
    }
    .xxl\:hidden {
        display: none;
    }
    .\!xxl\:hidden {
        display: none !important;
    }
    .xxl\:table-cell {
        display: table-cell;
    }
    /* Flexbox utilities */
    /* Flex direction */
    .xxl\:flex-col {
        flex-direction: column;
    }
    .xxl\:flex-row {
        flex-direction: row;
    }
    .xxl\:flex-row-reverse {
        flex-direction: row-reverse;
    }
    .xxl\:flex-column-reverse {
        flex-direction: column-reverse;
    }
    /* Flex grow, shrink, basis */
    .xxl\:flex-1 {
        flex: 1;
    }
    .xxl\:flex-auto {
        flex: auto;
    }
    .xxl\:shrink-0 {
        flex-shrink: 0;
    }
    .xxl\:flex-grow {
        flex-grow: 1;
    }
    /* Flex wrap */
    .xxl\:flex-wrap {
        flex-wrap: wrap;
    }
    .xxl\:flex-nowrap {
        flex-wrap: nowrap;
    }
    /* Align items */
    .xxl\:items-start {
        align-items: flex-start;
    }
    .xxl\:items-center {
        align-items: center;
    }
    .xxl\:items-end {
        align-items: flex-end;
    }
    .xxl\:items-stretch {
        align-items: stretch;
    }
    /* Justify content */
    .xxl\:justify-start, .xxl\:justify-left {
        justify-content: flex-start;
    }
    .xxl\:justify-center {
        justify-content: center;
    }
    .xxl\:justify-end, .xxl\:justify-right {
        justify-content: flex-end;
    }
    .xxl\:justify-between {
        justify-content: space-between;
    }
    .xxl\:justify-around {
        justify-content: space-around;
    }
    /* Align self */
    .xxl\:self-start {
        align-self: flex-start;
    }
    .xxl\:self-center {
        align-self: center;
    }
    .xxl\:self-end {
        align-self: flex-end;
    }
    .xxl\:self-auto {
        align-self: auto;
    }
    .xxl\:self-stretch {
        align-self: stretch;
    }
    /* Justify self */
    .xxl\:justify-self-start {
        justify-self: start;
    }
    .xxl\:justify-self-center {
        justify-self: center;
    }
    .xxl\:justify-self-end {
        justify-self: end;
    }
    /* Align content */
    .xxl\:content-end {
        align-content: flex-end;
    }
    /* Text alignment */
    .xxl\:text-left {
        --text-align: start;
        text-align: start;
    }
    .xxl\:text-center {
        --text-align: center;
        text-align: center;
    }
    .xxl\:text-right {
        --text-align: end;
        text-align: end;
    }
    .xxl\:w-full {
        width: 100%;
    }
    /* Row/Column span */
    .xxl\:col-span-1 {
        grid-column: span 1/span 1;
    }
    .xxl\:col-span-2 {
        grid-column: span 2/span 2;
    }
    .xxl\:col-span-3 {
        grid-column: span 3/span 3;
    }
    .xxl\:col-span-4 {
        grid-column: span 4/span 4;
    }
    .xxl\:col-span-5 {
        grid-column: span 5/span 5;
    }
    .xxl\:col-start-1 {
        grid-column-start: 1;
    }
    .xxl\:col-start-2 {
        grid-column-start: 2;
    }
    .xxl\:col-start-3 {
        grid-column-start: 3;
    }
    .xxl\:col-start-4 {
        grid-column-start: 4;
    }
    .xxl\:col-start-5 {
        grid-column-start: 5;
    }
    .xxl\:col-start-6 {
        grid-column-start: 6;
    }
    .xxl\:col-start-7 {
        grid-column-start: 7;
    }
    .xxl\:col-start-8 {
        grid-column-start: 8;
    }
}
/* Interaction states */
/* Hover effects for reversed links */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    .reversed-link:not([aria-disabled], .reversed-link--no-hover):hover .link-decoration {
        clip-path: inset(0 0 0 0);
        transition-delay: var(--link-decoration-delay, 0s);
    }
}
.edge-gap {
    padding-block: var(--edge-padding-block);
    padding-inline: var(--edge-padding-inline);
}
@media (max-width: 767.98px) {
    .edge-gap {
        padding-block: var(--edge-padding-block-mobile, var(--edge-padding-block));
        padding-inline: var(--edge-padding-inline-mobile, var(--edge-padding-inline));
    }
}
.edge-gap--none {
    --edge-padding-block: 0;
    --edge-padding-inline: 0;
}
.edge-gap--lg {
    --edge-padding-block: 4rem;
    --edge-padding-inline: 4rem;
    --edge-padding-block-mobile: 2.4rem;
    --edge-padding-inline-mobile: 2rem;
}
.edge-gap--md {
    --edge-padding-block: 3.2rem;
    --edge-padding-inline: 3.2rem;
    --edge-padding-block-mobile: 2.4rem;
    --edge-padding-inline-mobile: 2rem;
}
.edge-gap--sm {
    --edge-padding-block: 2.4rem;
    --edge-padding-inline: 2.4rem;
    --edge-padding-block-mobile: 2.4rem;
    --edge-padding-inline-mobile: 2rem;
}

.rounded {
    --focus-radius: 99.9rem;
    overflow: hidden;
    border-radius: 99.9rem;
}

.media-mask-clip {
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    overflow: hidden;
}

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

.color-background-2 {
    background-color: rgb(var(--color-background-secondary));
}

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

@media (max-width: 767.98px) {
    .logo-block--image {
        max-width: var(--logo-width-mobile);
    }
}
.product-price {
    --price-gap-x: 1.2rem;
}

.product-information--main .product-price-block .compare-at-price {
    font-size: var(--font-size--h5);
}

shopify-accelerated-checkout,
shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-button-border-radius: var(--button-corner-radius, 0rem);
    --shopify-accelerated-checkout-button-block-size: 4.5rem;
}

button.shopify-payment-button__button--unbranded {
    position: relative;
    z-index: 0;
    font-family: var(--font-button--family);
    letter-spacing: var(--font-button--letter-spacing);
    text-transform: var(--font-button--transform);
    font-size: var(--font-size--paragraph);
    line-height: var(--button-line-height, var(--font-paragraph--line-height, 1.6));
    padding: var(--button-padding-block, 1rem) var(--button-padding-inline, 2.4rem);
    transition: background-color, color, border-color, opacity, transform var(--animation-duration--medium);
    color: rgb(var(--color-primary-button-text));
    background-color: rgb(var(--color-primary-button-background)) !important;
    border: var(--button-border-thickness, 0.1rem) var(--button-border-style, solid) rgb(var(--color-primary-button-background));
}

button.shopify-payment-button__button--unbranded::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset-block: 0;
    inset-inline-start: 0;
    width: 0;
    transition: width 0.3s;
    border-radius: inherit;
    background-color: rgb(var(--color-primary-button-text));
}

button.shopify-payment-button__button--unbranded:not([disabled]):hover {
    color: rgb(var(--color-primary-button-background));
    border: var(--button-border-thickness, 0.1rem) solid rgb(var(--color-primary-button-background));
}

button.shopify-payment-button__button--unbranded:not([disabled]):hover::before {
    width: 100%;
}

.accelerated-checkout-block {
    margin-block-start: 0.8rem;
}

more-payment-options-link {
    font-size: smaller;
}

more-payment-options-link a {
    color: var(--color-foreground-secondary);
}

more-payment-options-link a:hover {
    color: var(--color-foreground);
}

.shopify-payment-button__more-options[aria-hidden=true] {
    display: none;
}

/* Media */
.card-layered__media {
    z-index: var(--layer-base);
}

.card-layered__media .media {
    aspect-ratio: unset;
    height: 100%;
}

.card-layered__media [style*="--ratio"] {
    position: relative;
    overflow: hidden;
}

.card-layered__media [style*="--ratio"]::before {
    display: block;
    width: 100%;
    content: "";
    height: 0;
    padding-block-start: calc(100% / (0.0001 + var(--ratio, 1.7777777778)));
}

.card-layered__media [style*="--ratio"] > *:first-child:is(img),
.card-layered__media [style*="--ratio"] .media__image {
    inset-block-start: 0;
    inset-inline: 0;
    position: absolute !important;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* Wrapper */
.card-layered__wrapper {
    transition: backdrop-filter var(--animation-duration--fast) var(--animation-easing--smooth);
}

.card-layered__wrapper .text-block p {
    width: 100%;
}

/* Button */
.card-layered__button path.icon--plus-line-2 {
    transform: rotate(0deg);
    transform-origin: center;
    transition: transform var(--animation-duration--slow) var(--animation-easing);
}

/* Description */
.card-layered__description {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--animation-duration--medium) var(--animation-easing);
}

/* States - Open */
.card-layered.open .card-layered__wrapper {
    background: linear-gradient(111.49deg, rgba(255, 255, 255, 0.4) -8.95%, rgba(255, 255, 255, 0.01) 114%), rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(100px);
    -webkit-backdrop-filter: blur(100px);
}

.card-layered.open .card-layered__button .icon--plus-line-2 {
    transform: rotate(270deg);
}

.card-layered__button[aria-expanded=true] path.icon--plus-line-2 {
    transform: rotate(270deg);
}

/* Media Queries - Mobile */
@media (max-width: 767.98px) {
    .card-layered__media [style*="--ratio"]::before {
        padding-block-start: calc(100% / (0.0001 + var(--ratio-mobile, var(--ratio, 1.7777777778))));
    }
}
.read-more__content::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(-180deg, rgb(var(--color-background)/0%) 0%, rgb(var(--color-background)/100%) 100%);
    transition: all var(--animation-duration--medium) var(--animation-easing--smooth);
}

.read-more.is-disabled .read-more__toggle {
    display: none;
}

.read-more.is-collapsed .read-more__content::before {
    opacity: 1;
}

.read-more__toggle {
    align-self: var(--horizontal-alignment-mobile, flex-start);
}

@media (min-width: 768px) {
    .read-more__toggle {
        align-self: var(--horizontal-alignment, flex-start);
    }
}
.contact-form .form-status-list,
.contact-form .form-error {
    margin-block-end: 2.4rem;
}
.contact-form .contact__fields {
    grid-template-columns: repeat(2, 1fr);
}
.contact-form .contact__fields .form-field--full {
    grid-column: 1/3;
}
@media (max-width: 767.98px) {
    .contact-form .form-field {
        grid-column: 1/3;
    }
}
@media (min-width: 768px) {
    .contact-form .contact__button {
        width: fit-content;
    }
}

.coundown-timer-iwt--card {
    padding: var(--content-padding, 1.2rem);
}

.coundown-timer-iwt .countdown-timer {
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .coundown-timer-iwt {
        --content-padding: 1.2rem 1.6rem;
    }
}
.countdown-timer {
    --item-gap: var(--item-gap-x, 1.2rem);
}
.countdown-timer__inner {
    gap: var(--item-gap);
}
.countdown-timer__block {
    margin-inline-end: calc(var(--item-gap) + 0.121875em);
}
.countdown-timer__block:last-child {
    margin-inline-end: 0;
}
.countdown-timer__block:last-child .countdown-timer__number::after {
    display: none;
}
.countdown-timer__number {
    min-width: 1.3em;
    color: rgb(var(--number-color, var(--color-foreground)));
    line-height: 1;
}
.countdown-timer__separator {
    top: 50%;
    inset-inline-end: calc((var(--item-gap) + 0.121875em) * -1);
    transform: translateY(-50%);
    line-height: 1;
}
.countdown-timer__separator::after {
    content: ":";
    font-size: 0.5em;
}
.countdown-timer__text {
    font-family: var(--font-body--family);
    font-style: var(--font-body--style);
    font-size: var(--font-size--paragraph);
}
.countdown-timer--card .countdown-timer__number {
    min-width: clamp(5rem, 2.1875em, 10rem);
    aspect-ratio: 1;
    border-radius: 1rem;
    padding: 1rem;
    background: linear-gradient(111.49deg, rgb(var(--number-background, var(--color-foreground))/40%) -8.95%, rgb(var(--number-background, var(--color-foreground))/1%) 114%);
    backdrop-filter: blur(50px);
}
.countdown-timer--card .countdown-timer__number::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    padding: 0.1rem;
    border-radius: inherit;
    background: linear-gradient(-45deg, rgb(var(--number-background, var(--color-foreground))/50%) 0%, rgb(var(--number-background, var(--color-foreground))/10%) 50%, rgb(var(--number-background, var(--color-foreground))/50%) 100%);
    mask: linear-gradient(#000 0 0) exclude, linear-gradient(#000 0 0) content-box;
}
@media (max-width: 767.98px) {
    .countdown-timer {
        --item-gap: var(--item-gap-x-mobile, var(--item-gap-x));
    }
}

.counter__number {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    line-height: 1;
}
.counter__number-text {
    line-height: inherit;
}
.counter__number-prefix, .counter__number-suffix {
    line-height: inherit;
}
.counter__number-display {
    min-width: 100%;
}
.counter__content .button-block {
    padding-top: 2.4rem;
}
.counter--shadow {
    border: 0;
    box-shadow: inset 0 0 0 var(--border-width) var(--border-color);
}
.counter--card {
    padding-block: 3rem;
    padding-inline: 1.6rem;
}
@media (min-width: 768px) {
    .counter__content .button-block {
        padding-top: 3.2rem;
    }
    .counter--card {
        padding-block: 4rem;
        padding-inline: 3.2rem;
    }
}

.block-product-recommendations .carousel__controls--group {
    --carousel-controls-margin-top: 0;
}
.block-product-recommendations:has([data-has-recommendations=false]) {
    display: none;
}
.block-product-recommendations__product-placeholder {
    background-color: rgb(var(--color-foreground));
    opacity: 0.1;
}
.block-product-recommendations--grid .block-product-recommendations__product-placeholder {
    min-height: 12rem;
    aspect-ratio: 3/4;
    border-radius: var(--card-placeholder-radius);
}
.block-product-recommendations--list .block-product-recommendations__product-placeholder {
    min-height: 13rem;
    border-radius: min(1rem, var(--card-placeholder-radius));
}
.block-product-recommendations__heading {
    padding-bottom: 1.6rem;
}
@media (min-width: 768px) {
    .block-product-recommendations__heading {
        padding-bottom: 2rem;
    }
}

.product-bought-together__list {
    gap: 1rem;
}
.product-bought-together__list-wrap {
    max-height: min(52.6rem, 100svh - 3.2rem);
}

.promotion-alert__wrapper,
.promotion-alert__content {
    display: flex;
    gap: 1.2rem;
}

.promotion-alert__wrapper {
    justify-content: space-between;
    align-items: center;
    padding: 1.6rem 1.2rem;
    color: rgb(var(--promotion-alert-color));
    background-color: rgb(var(--promotion-alert-color)/10%);
}

.promotion-alert__text {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.promotion-alert__text > * {
    color: rgb(var(--promotion-alert-color));
}

.marquee__items {
    flex: 0 0 auto;
    will-change: transform;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

.marquee__items > * {
    margin-inline: calc(var(--f-column-gap-mobile, var(--f-column-gap)) / 2);
}

.marquee__inner {
    scrollbar-width: none;
    -ms-overflow-style: none;
    will-change: transform;
    backface-visibility: hidden;
    contain: layout;
}

.marquee__inner::-webkit-scrollbar {
    display: none;
}

.marquee {
    transform: var(--transform-rotate);
    z-index: var(--layer-raised);
    max-width: 100%;
}

.marquee--has-edge::before,
.marquee--has-edge::after {
    --rotate: 90deg;
    content: "";
    position: absolute;
    inset-block: 0;
    width: calc(var(--offset, 0px) + 2px);
    background: rgb(var(--color-background));
    z-index: 1;
}

.marquee--edge-fade::before,
.marquee--edge-fade::after {
    width: var(--edge-fade-width, clamp(5rem, 7.6%, 11rem));
    background: linear-gradient(var(--rotate), rgb(var(--color-background)) 37.84%, transparent 100%);
}

.marquee--has-edge::before {
    inset-inline-start: calc(-1 * var(--offset, 0px) - 1px);
}

.marquee--has-edge::after {
    --rotate: 270deg;
    inset-inline-end: calc(-1 * var(--offset, 0px) - 1px);
}

.marquee--rotated {
    --offset: 0px;
}

@media (min-width: 768px) {
    .marquee__items > * {
        margin-inline: calc(var(--f-column-gap) / 2);
    }
}
.marquee__items.animate {
    animation-name: scrolling-left;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-duration: var(--duration, 20s);
    animation-play-state: running;
    width: max-content;
}

.marquee[data-direction=reverse] .marquee__items.animate {
    animation-name: scrolling-right;
}

.marquee.paused .marquee__inner {
    overflow: auto hidden;
}
.marquee.paused .marquee__items.animate {
    animation-play-state: paused;
}

.newsletter > * {
    flex: 1 1 0px;
}

.newsletter-form--design-1 .form-control {
    padding-inline: 2rem 5.8rem;
}
.newsletter-form--design-1 .newsletter-form__field {
    --input-height: 5.8rem;
}
.newsletter-form--design-1 .newsletter-form__field:not(:has(input:focus)) {
    --color-primary-button-background: var(--color-input-text);
    --color-primary-button-text: var(--color-input-background);
}
.newsletter-form--design-1 .newsletter-form__field:has(input:focus) {
    --color-primary-button-background: var(--color-input-focus-text, var(--color-input-background));
    --color-primary-button-text: var(--color-input-focus-background, var(--color-input-text));
}
.newsletter-form--design-1 .newsletter-form__button {
    position: absolute;
    inset-inline-end: 1rem;
    top: 50%;
    transform: translateY(-50%);
}

.video-card {
    container-type: inline-size;
    container-name: video-card;
}
.video-card__content {
    transition: all var(--animation-duration--medium) var(--animation-easing);
    padding: 2rem;
    background: linear-gradient(111.49deg, rgb(var(--color-foreground)/40%) -8.95%, rgb(var(--color-foreground)/1%) 114%);
    -webkit-backdrop-filter: blur(50px);
    backdrop-filter: blur(50px);
}
.video-card__content::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
    padding: 0.05rem;
    border-radius: inherit;
    background: linear-gradient(-45deg, rgb(var(--color-foreground)/50%), rgb(var(--color-foreground)/10%), rgb(var(--color-foreground)/50%));
    mask: linear-gradient(#000 0 0) exclude, linear-gradient(#000 0 0) content-box;
}
@media (max-width: 767.98px) {
    .video-card__content {
        padding: 1.6rem;
    }
}
.video-card__content--empty {
    padding: 0;
}
@container video-card (min-width: 250px) {
    .video-card__content {
        position: absolute;
        inset-inline: 0;
        bottom: 0;
        border-radius: 0;
    }
}
.video-card .deferred-media__poster-button {
    opacity: 1;
}
.video-card .video-placeholder-wrapper__poster-icon,
.video-card .deferred-media__poster-icon {
    top: 2rem;
    right: 2rem;
    left: auto;
    transform: none;
    z-index: 2;
    --button-width: 3.6rem;
    --button-height: 3.6rem;
}
@media (max-width: 767.98px) {
    .video-card .video-placeholder-wrapper__poster-icon,
    .video-card .deferred-media__poster-icon {
        top: 1.4rem;
        right: 1.4rem;
        --button-width: 3rem;
        --button-height: 3rem;
    }
}
.video-card .video-interaction__controls-inner {
    bottom: unset;
    top: 0;
    padding: 2rem;
}
@media (max-width: 767.98px) {
    .video-card .video-interaction__controls-inner {
        padding: 1.4rem;
    }
    .video-card .video-interaction__controls-inner .video-interaction__control {
        width: 3rem;
        height: 3rem;
    }
}
.video-card .author-info__avatar {
    top: -3rem;
    right: 2rem;
    border: 0.3rem solid rgb(var(--color-white));
    box-shadow: 0 1rem 3rem rgb(var(--color-black)/25%);
    width: var(--avatar-width, 6rem);
    background: rgb(var(--color-background));
}
@media (max-width: 767.98px) {
    .video-card .author-info__avatar {
        --avatar-width: 4rem;
        top: -2rem;
        right: 1rem;
    }
}
.video-card__content--empty .author-info__avatar {
    top: -8rem;
}
@container video-card (min-width: 250px) {
    .video-card.is-hovering .video-card__content, .video-card:has(deferred-media[data-playing]) .video-card__content {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(100%);
    }
    .video-card.is-hovering .deferred-media__poster-button .deferred-media__poster-icon, .video-card:has(deferred-media[data-playing]) .deferred-media__poster-button .deferred-media__poster-icon {
        display: none;
    }
}
.video-card.is-hovering .deferred-media__poster-button .deferred-media__poster-icon, .video-card:has(deferred-media[data-playing]) .deferred-media__poster-button .deferred-media__poster-icon {
    display: none;
}
@media (max-width: 767.98px) {
    .video-card deferred-media[data-media-loaded=true] .deferred-media__poster-icon {
        display: none;
    }
    .video-card .video-interaction-hint {
        opacity: 1;
    }
}
.video-card:hover .video-placeholder-wrapper__poster-icon {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all var(--animation-duration--medium) var(--animation-easing);
}

.badge-block__inner {
    transform: var(--transform-rotate);
    width: var(--badge-width);
}
.badge-block__inner:not(.badge-block--shape-none) {
    aspect-ratio: 1;
}
.badge-block--mode-float {
    position: absolute;
    top: var(--inset-block-start);
    inset-inline-start: clamp(var(--badge-clamp-min-inline, -9999px), var(--inset-inline-start), var(--badge-clamp-max-inline, 9999px));
}
.badge-block--mode-float .badge-block__float-layer {
    display: block;
    width: max-content;
}
.badge-block__shape {
    color: var(--background-color);
}
.badge-block__shape svg {
    width: 100%;
}
.badge-block--shape-none .badge-block__shape, .badge-block--shape-circle .badge-block__shape {
    background-color: var(--background-color);
}
.badge-block--shape-none:not(.rounded), .badge-block--shape-custom:not(.rounded) {
    border-radius: var(--border-radius);
}
.badge-block--shape-circle .badge-block__shape {
    clip-path: circle(50% at center);
}
.badge-block__texts {
    padding: 1.4rem;
}
.badge-block--mode-align.badge-block--animation-float-up {
    animation: float-up var(--mover-duration, 1.5s) linear infinite alternate;
}
.badge-block--mode-align.badge-block--animation-float-down {
    animation: float-down var(--mover-duration, 1.5s) linear infinite alternate;
}
.badge-block--mode-float .badge-block__float-layer.badge-block--animation-float-up {
    animation: float-up var(--mover-duration, 1.5s) linear infinite alternate;
}
.badge-block--mode-float .badge-block__float-layer.badge-block--animation-float-down {
    animation: float-down var(--mover-duration, 1.5s) linear infinite alternate;
}
@media (prefers-reduced-motion: reduce) {
    .badge-block--mode-align.badge-block--animation-float-up, .badge-block--mode-align.badge-block--animation-float-down, .badge-block--mode-float .badge-block__float-layer.badge-block--animation-float-up, .badge-block--mode-float .badge-block__float-layer.badge-block--animation-float-down {
        animation: none;
    }
}

.badge-subtext {
    color: var(--subtext-color, rgb(var(--color-foreground)));
}

.badge-text {
    color: var(--text-color, rgb(var(--color-foreground)));
}

@media (max-width: 767.98px) {
    .badge-block__inner {
        width: var(--badge-width-mobile);
    }
    .badge-block--mode-float {
        top: var(--inset-block-start-mobile);
        inset-inline-start: clamp(var(--badge-clamp-min-inline, -9999px), var(--inset-inline-start-mobile), var(--badge-clamp-max-inline, 9999px));
    }
}
.spinning-icon-badge {
    --inner-angle: calc((360 / var(--char-length)) * 1deg);
    --character-size: 1.2;
    --radius: calc(var(--character-size) / (sin(var(--inner-angle))) * -1ch);
    --badge-radius: calc(var(--radius) * -2 * 1.3);
    --badge-size: var(--badge-radius);
    font-size: var(--char-size);
    width: var(--badge-size, 8.3rem);
    height: var(--badge-size, 8.3rem);
}
.spinning-icon-badge-block {
    width: fit-content;
}
.spinning-icon-badge__chars {
    animation: spinLoading 12s linear infinite reverse;
    will-change: transform;
    transform-style: preserve-3d;
    text-transform: uppercase;
}
.spinning-icon-badge__chars span {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(calc(var(--inner-angle) * var(--char-id))) translateY(var(--radius));
}
.spinning-icon-badge__icon {
    --icon-size: 38.5%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
.spinning-icon-badge__icon .icon--image {
    width: var(--icon-size);
    aspect-ratio: 1;
}
.spinning-icon-badge__icon img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
@media (max-width: 767.98px) {
    .spinning-icon-badge {
        font-size: var(--char-size-mobile);
    }
}

.rating-wrapper,
.rating {
    display: flex;
    align-items: center;
}

.rating-wrapper {
    --star-fill-color-rgb: var(--color-foreground);
    width: 100%;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.rating {
    gap: 0.2rem;
}

.stars {
    height: var(--star-size);
    fill: var(--empty-star-fill-color);
}

.filled-star {
    fill: rgb(var(--star-fill-color));
}

.rating-count-separator {
    padding-inline: 0.6rem;
}

.half-star {
    position: relative;
}

.half-star__fill {
    clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%);
}

:root {
    --text-align-default: left;
}

[style*="--horizontal-alignment: center"] .text-block {
    --text-align-default: center;
}

[style*="--horizontal-alignment: flex-end"] .text-block {
    --text-align-default: right;
}

[style*="--horizontal-alignment: flex-start"] > .text-block {
    --text-align-default: left;
}

[style*="--horizontal-alignment: center"] > .text-block {
    --text-align-default: center;
}

[style*="--horizontal-alignment: flex-end"] > .text-block {
    --text-align-default: right;
}

[style*="--horizontal-alignment-mobile: center"] .text-block {
    --text-align-mobile: center;
}

[style*="--horizontal-alignment-mobile: flex-end"] .text-block {
    --text-align-mobile: right;
}

[style*="--horizontal-alignment-mobile: flex-start"] > .text-block {
    --text-align-mobile: left;
}

[style*="--horizontal-alignment-mobile: center"] > .text-block {
    --text-align-mobile: center;
}

[style*="--horizontal-alignment-mobile: flex-end"] > .text-block {
    --text-align-mobile: right;
}

.text-block {
    width: var(--width);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: var(--horizontal-alignment);
}

.text-block > * {
    width: var(--width);
    max-width: var(--max-width, 100%);
    text-align: var(--text-align, var(--text-align-default));
    text-wrap: var(--text-wrap);
}

.reset-text-alignment .text-block {
    --text-align-default: unset;
    --text-align-mobile: unset;
}

@media (max-width: 767.98px) {
    .text-block {
        align-items: var(--horizontal-alignment-mobile, var(--horizontal-alignment));
    }
    .text-block > * {
        width: var(--width-mobile, var(--width));
        max-width: var(--max-width-mobile, var(--max-width, 100%));
        text-align: var(--text-align-mobile, var(--text-align, var(--text-align-default)));
    }
    .mobile-no-br br {
        display: none;
    }
}
@media (min-width: 768px) {
    .image-block--img-full .image-block__image img {
        width: 100%;
    }
}
@media (max-width: 767.98px) {
    .image-block--img-mobile-full .image-block__image img {
        width: 100%;
    }
}

.image-with-badges__media .media__image {
    width: 100%;
}

.image-stack {
    width: var(--images-size);
    aspect-ratio: 1;
    border: 0.3rem solid rgb(var(--color-background-secondary));
    transition: all var(--animation-duration--medium) var(--animation-easing--smooth);
    position: relative;
}
.image-stack .media:has(.placeholder) {
    background: rgb(var(--color-background));
}
.image-stack:not(:first-child) {
    margin-inline-start: calc((var(--images-size) / 2 + var(--images-gap) + 0.4rem) * -1);
    box-shadow: -1rem 0 1.4rem rgb(var(--color-foreground)/9%);
}

.images-stack {
    --images-gap: 0.5rem;
    --images-size: 6rem;
    overflow: visible;
    width: max-content;
    min-width: max-content;
    flex-shrink: 0;
}
.images-stack__wrapper {
    gap: var(--images-gap);
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    width: max-content;
    min-width: max-content;
    overflow: visible;
}
.images-stack:not(:hover) .images-stack__wrapper {
    grid-auto-columns: max-content;
}
.images-stack:has(:focus-visible) .images-stack__wrapper, .images-stack:hover .images-stack__wrapper {
    grid-auto-columns: minmax(0, max-content);
}
.images-stack:has(:focus-visible) .image-stack, .images-stack:hover .image-stack {
    margin-inline-start: 0;
}

.image-comparison {
    --drag-thickness: 0.055rem;
    --button-width: 6.2rem;
    --button-height: 4.6rem;
    --heading-offset-x: 1.6rem;
    --heading-offset-y: 1.6rem;
}
.image-comparison[is-visible] {
    --percent: 50%;
}
.image-comparison__animation-trigger {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.1rem;
    pointer-events: none;
}
.image-comparison__image {
    display: block;
    position: relative;
    overflow: hidden;
    background: rgb(var(--color-background));
}
.image-comparison__image img {
    user-select: none;
    -webkit-user-drag: none;
}
.image-comparison__image-before .placeholder {
    background-color: rgb(var(--color-foreground)/20%);
}
.image-comparison__image-after {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.image-comparison__button {
    cursor: pointer;
    z-index: 2;
    color: inherit;
    background-color: transparent;
    border: none;
    padding: 0;
    transition: none;
}
.image-comparison__button::before {
    content: "";
    position: absolute;
    background-color: rgb(var(--color-foreground));
    pointer-events: none;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.11);
}
.image-comparison__button-range {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    width: var(--button-width);
    height: var(--button-height);
    border-radius: var(--button-height);
    color: rgb(var(--color-foreground));
    background: linear-gradient(111.49deg, rgb(var(--color-foreground), 40%) -8.95%, rgb(var(--color-foreground), 1%) 114%);
    backdrop-filter: blur(50px);
    box-shadow: 0 9px 11px rgba(0, 0, 0, 0.11);
}
.image-comparison__heading {
    inset-block: auto var(--heading-offset-y);
    inset-inline: var(--heading-offset-x) auto;
    user-select: none;
    transition: opacity var(--animation-duration-medium) var(--animation-easing);
}
.image-comparison__image-after .image-comparison__heading {
    inset-inline: auto var(--heading-offset-x);
}
.image-comparison--heading-style-badge .image-comparison__heading {
    padding: 0.3rem 0.9rem;
    border-radius: 99rem;
    color: rgb(var(--color-foreground));
    background: linear-gradient(111.49deg, rgb(var(--color-foreground)/40%) -8.95%, rgb(var(--color-foreground)/1%) 114%);
    backdrop-filter: blur(50px);
}
.image-comparison--heading-style-badge .image-comparison__heading::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    padding: 0.1rem;
    border-radius: inherit;
    background: linear-gradient(-45deg, rgb(var(--color-foreground)/50%) 0%, rgb(var(--color-foreground)/10%) 50%, rgb(var(--color-foreground)/50%) 100%);
    mask: linear-gradient(#000 0 0) exclude, linear-gradient(#000 0 0) content-box;
}
.image-comparison[data-direction=horizontal] .image-comparison__image-after {
    clip-path: inset(0 0 0 var(--percent, 50%));
}
.image-comparison[data-direction=horizontal] .image-comparison__button {
    top: 0;
    inset-inline-start: var(--percent, 50%);
    margin-inline-start: -1.4rem;
    height: 100%;
    width: 2.8rem;
    cursor: col-resize;
}
.image-comparison[data-direction=horizontal] .image-comparison__button::before {
    top: 0;
    left: 50%;
    height: 100%;
    width: var(--drag-thickness);
    margin-left: calc(var(--drag-thickness) / -2);
}
.image-comparison[data-direction=vertical] .image-comparison__image-before .image-comparison__heading {
    inset-block: var(--heading-offset-y) auto;
}
.image-comparison[data-direction=vertical] .image-comparison__image-after {
    clip-path: inset(var(--percent, 50%) 0 0 0);
}
.image-comparison[data-direction=vertical] .image-comparison__image-after .image-comparison__heading {
    inset-inline: var(--heading-offset-x) auto;
}
.image-comparison[data-direction=vertical] .image-comparison__button {
    left: 0;
    top: var(--percent, 50%);
    width: 100%;
    height: 2.8rem;
    margin-top: -1.4rem;
    cursor: row-resize;
}
.image-comparison[data-direction=vertical] .image-comparison__button::before {
    top: 50%;
    left: 0;
    width: 100%;
    height: var(--drag-thickness);
    margin-top: calc(var(--drag-thickness) / -2);
}
.image-comparison[data-direction=vertical] .image-comparison__button-range {
    transform: translate(-50%, -50%) rotate(90deg);
}
.image-comparison.is-animating .image-comparison__image-after {
    transition-property: clip-path;
    transition-duration: 1s;
    transition-timing-function: ease;
}
.image-comparison.is-animating .image-comparison__button {
    transition-property: top, left, right;
    transition-duration: 1s;
    transition-timing-function: ease;
}
.image-comparison.is-dragging .image-comparison__heading {
    opacity: 0;
}
@media (min-width: 768px) {
    .image-comparison {
        --drag-thickness: 0.1rem;
        --heading-offset-x: 2rem;
        --heading-offset-y: 2rem;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .image-comparison:not([is-visible]) {
        --percent: 95%;
    }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 768px) {
    .image-comparison:not([is-visible]) {
        --percent: 97.8%;
    }
}
.location--card {
    padding: 1.6rem 1.6rem 2.4rem;
}

.location__text {
    --font-paragraph--spacing: clamp(0.8rem, 0.5em, 2.4rem);
}

@media (min-width: 768px) {
    .location--card {
        padding: 1.6rem;
    }
    .location__media {
        max-width: 35%;
    }
    .location__media .media {
        width: 100%;
        height: 100%;
    }
    .location__inner {
        padding-block: 1.6rem;
    }
}
.press {
    container-type: inline-size;
    container-name: press;
}

.press__image {
    width: var(--image-width);
}

.press__text {
    order: -1;
}

@container press style(--horizontal-alignment: center) {
    .press__info,
    .press__info .author-info__inner {
        align-items: var(--horizontal-alignment);
    }
}
@media (max-width: 767.98px) {
    .press__image {
        width: var(--image-mobile-width);
    }
}
.product-overlay-card {
    container-type: inline-size;
}
.product-overlay-card .media__image {
    width: 100%;
}
.product-overlay-card__content {
    inset-inline: var(--overlay-inset-x, 1.2rem);
    bottom: var(--overlay-inset-bottom, 1rem);
    padding: 1rem;
    border-radius: 1rem;
    background: linear-gradient(111.49deg, rgb(var(--color-foreground)/40%) -8.95%, rgb(var(--color-foreground)/1%) 114%);
    backdrop-filter: blur(50px);
}
.product-overlay-card__content::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    padding: 0.1rem;
    border-radius: inherit;
    background: linear-gradient(-45deg, rgb(var(--color-foreground)/50%) 0%, rgb(var(--color-foreground)/10%) 50%, rgb(var(--color-foreground)/50%) 100%);
    mask: linear-gradient(#000 0 0) exclude, linear-gradient(#000 0 0) content-box;
}
.product-overlay-card__image-wrap {
    width: var(--thumbnail-width, 5rem);
}
.product-overlay-card__image {
    border-radius: 1rem;
}
.product-overlay-card__image .media:has(.placeholder) {
    background: rgb(var(--color-foreground)/100%);
}
.product-overlay-card__image .placeholder {
    background-color: rgb(var(--color-background)/0%);
    fill: rgb(var(--color-background)/50%);
    color: rgb(var(--color-background)/50%);
}
.product-overlay-card__action {
    display: var(--action-display, none);
}
.product-overlay-card__title {
    font-family: var(--font-pcard-title--family);
    font-style: var(--font-pcard-title--style);
    font-size: var(--font-pcard-title--size);
    text-transform: var(--font-pcard-title--transform);
    letter-spacing: var(--font-pcard-title--letter-spacing);
}
.product-overlay-card:has(.quick-add__product-form-component--multi-variant):not(:has(swatches-variant-picker)) .quick-add__button--add {
    display: none;
}

/* stylelint-disable-next-line media-feature-range-notation */
@container (min-width: 341px) {
    .product-overlay-card__content {
        --overlay-inset-x: 2rem;
        --overlay-inset-bottom: 2rem;
        --thumbnail-width: 6rem;
    }
}
/* stylelint-disable-next-line media-feature-range-notation */
@container (min-width: 301px) {
    .product-overlay-card__content {
        --action-display: block;
    }
}
.collection-highlight-pcard .button-block {
    padding-top: 3.2rem;
}
@media (min-width: 768px) {
    .collection-highlight-pcard {
        padding: 1.6rem;
    }
    .collection-highlight-pcard__info {
        padding-bottom: 1.6rem;
    }
}
@media (max-width: 767.98px) {
    .collection-highlight-pcard {
        border: 0;
        border-radius: min(var(--product-card-media-radius, 0), 1rem);
    }
    .collection-highlight-pcard__media {
        border-radius: inherit;
    }
}

.icon-box {
    gap: var(--icon-spacing);
    pointer-events: none;
}
.icon-box a {
    pointer-events: auto;
}
.icon-box__content {
    gap: var(--content-gap);
}
.icon-box--card {
    padding-block: calc(var(--box-padding-y, 1.9rem) + max(0.1rem, var(--border-width, 0.1rem)));
    padding-inline: calc(var(--box-padding-x, 1.5rem) + max(0.1rem, var(--border-width, 0.1rem)));
    transition: box-shadow var(--animation-duration--medium) var(--animation-easing);
}
.icon-box--shadow {
    border: 0;
    box-shadow: inset 0 0 0 var(--border-width) var(--border-color);
}
.icon-box--vertical {
    --box-padding-y: 2rem;
}
.icon-box__arrow::before {
    background: rgb(var(--color-primary-button-background));
}

@media (hover: hover) and (pointer: fine) {
    .icon-box--card:hover {
        box-shadow: inset 0 0 0 max(0.1rem, var(--border-width, 0px)) rgb(var(--color-foreground));
    }
    .icon-box--card:hover .icon-box__arrow {
        color: rgb(var(--color-primary-button-text));
        border-color: rgb(var(--color-primary-button-background));
    }
    .icon-box--card:hover .icon-box__arrow::before {
        width: calc(100% + var(--button-border-thickness, 0.1rem) * 2);
    }
}
.icon-list--circle .list-item__icon .icon {
    box-sizing: content-box;
    padding: 0.6rem;
    border-radius: 50%;
    background: rgb(var(--color-background-secondary));
}

.list-item {
    align-items: var(--item-ver-align, center);
}
.list-item__icon .text-block {
    width: 0;
    visibility: hidden;
    text-wrap: nowrap;
}

.section-header-block .button-block {
    margin-top: 2.4rem;
}

@media (min-width: 768px) {
    .section-header-block .button-block {
        margin-top: 3.2rem;
    }
}
.featured-collection-block__header .carousel__controls {
    margin: 0;
}
@media (max-width: 767.98px) {
    .featured-collection-block__header .carousel__controls {
        display: none;
    }
}

.collection-item {
    width: var(--width-mobile, var(--width, 100%));
}
.collection-item--shadow .collection-item__link {
    border: 0;
    box-shadow: inset 0 0 0 var(--border-width) var(--border-color);
}
.collection-item__link {
    padding: calc(0.7rem + var(--border-width, 0.1rem));
    transition: box-shadow var(--animation-duration--medium) var(--animation-easing--smooth);
}
.collection-item__image {
    width: var(--c-media-width, 4rem);
    border-radius: min(var(--border-radius), 1rem);
}
@media (min-width: 768px) {
    .collection-item {
        --c-media-width: 5rem;
        width: var(--width, 100%);
    }
}
@media (hover: hover) and (pointer: fine) {
    .collection-item:hover .collection-item__link {
        box-shadow: inset 0 0 0 max(0.1rem, var(--border-width, 0px)) rgb(var(--color-foreground));
    }
}

.lookbook-card {
    --overlay-padding: 1rem;
    --item-gap: 2rem;
    --dialog-max-width: 77rem;
    --dialog-header-spacing: 2rem;
    --dialog-padding-x: 1.6rem;
    --dialog-padding-y: 2.4rem;
    width: var(--card-width-mobile, var(--card-width, 100%));
}

.lookbook-card__overlay .btn {
    --button-padding-inline: 1.6rem;
}

.lookbook-card__overlay {
    padding: var(--overlay-padding);
}

.lookbook-card .dialog__inner {
    height: min-content;
    padding: 0 var(--dialog-padding-x) var(--dialog-padding-y);
}

.lookbook-card .dialog__header {
    position: sticky;
    top: 0;
    padding-block: var(--dialog-padding-y) var(--dialog-header-spacing);
    background: rgb(var(--color-background));
}

.lookbook-card .dialog__close::before {
    content: "";
    position: absolute;
    width: 3.8rem;
    height: 3.8rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.lookbook-card__dialog-products > li + li {
    margin-top: var(--item-gap);
    padding-top: var(--item-gap);
    border-top: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
}

@media (min-width: 768px) {
    .lookbook-card {
        --overlay-padding: 2rem;
        --item-gap: 2.4rem;
        --dialog-header-spacing: 2.4rem;
        --dialog-padding-x: 4rem;
        --dialog-padding-y: 4rem;
        width: var(--card-width, 100%);
    }
    .lookbook-card .dialog__close .icon {
        --icon-size: 2.4rem;
    }
    .lookbook-card .dialog__header {
        padding-block: var(--dialog-header-spacing);
    }
    .lookbook-card .product-card--horizontal {
        --product-card-media-width: 9rem;
    }
}
@media (max-width: 767.98px) {
    .lookbook-card__dialog .layout-panel-grid {
        display: flex;
    }
}
.announcement-bar .carousel__button {
    opacity: 1 !important;
    width: 3.2rem;
    height: 3.2rem;
    box-shadow: none;
    cursor: pointer;
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
}

.announcement-bar .carousel__button--prev {
    inset-inline-start: 0;
}

.announcement-bar .carousel__button--next {
    inset-inline-end: 0;
}

.announcement__content {
    padding-inline: 2rem;
    overflow-wrap: break-word;
}

@media (min-width: 1200px) {
    .announcement-bar__wrapper {
        max-width: var(--content-width, 30%);
    }
}
@media (max-width: 767.98px) {
    .announcement-bar {
        padding-top: 0.8rem;
        padding-bottom: 0.8rem;
    }
}
.header {
    --animation-nav-delay: 0.1s;
    --header-logo-opacity: 1;
    --header-icon-size: 4rem;
    --header-grid-template: "icons-left logo icons" / 1fr auto 1fr;
    --cart-count-offset-x: -0.5rem;
    --dropdown-offset-top: 3rem;
    --dropdown-offset-bottom: 4rem;
    z-index: var(--layer-header-menu);
    background-color: transparent !important;
}
.header[is=sticky-header] {
    transition: transform var(--animation-duration--fast) var(--animation-easing);
}
body:not(.header-pinned) .header-scrolled .header[is=sticky-header] {
    will-change: transform;
}
.header__background {
    transition: padding var(--animation-duration--fast) var(--animation-easing);
}
.header__background-inner {
    transition: border-radius 0.1s var(--animation-easing), box-shadow var(--animation-duration--fast) var(--animation-easing);
    width: 100%;
    height: 100%;
}
.header__background-inner::before {
    content: "";
    position: absolute;
    bottom: 0;
    height: 1px;
    width: 100%;
    background: rgb(var(--color-border)/var(--color-border-alpha));
    transition: all var(--animation-duration--fast) var(--animation-easing);
    opacity: 0;
}
.header__top {
    display: grid;
    column-gap: 1.2rem;
    grid-template: var(--header-grid-template);
    z-index: 2;
    pointer-events: all;
    padding-block: var(--padding-block-start) var(--padding-block-end);
    transition: padding var(--animation-duration--fast) var(--animation-easing);
    transform: translate3d(0, 0, 0);
}
.header__logo--text, .header__navigation, .header__icons {
    transition: color var(--animation-duration--fast) var(--animation-easing);
}
.header__logo {
    grid-area: logo;
    max-width: max-content;
    aspect-ratio: 1.91/1;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header__logo, .header__logo--image {
    width: var(--logo-width-mobile);
}
.header__logo--image logo-sprite{
    visibility: hidden;
}
.header__logo--image[data-sprite-ready] .logo { visibility: hidden; }
.header__logo--image[data-sprite-ready] logo-sprite{
    visibility: visible;
}
@media (min-width: 768px) {
    .header__logo, .header__logo--image {
        width: var(--logo-width);
    }
}
.header__logo--transparent {
    opacity: calc(1 - var(--header-logo-opacity));
}
.header__logo .logo {
    transition: opacity var(--animation-duration--fast) var(--animation-easing);
}
.header__logo .logo:not(.header__logo--transparent) {
    opacity: var(--header-logo-opacity);
}
.header__navigation {
    grid-area: nav;
}
.header__icons {
    grid-area: icons;
}
.header__icons--left {
    grid-area: icons-left;
}
.header__buttons {
    padding-right: 1.2rem;
    gap: 1.5rem;
}
@media (max-width: 767px) {
    .header__buttons {
        padding-right: 0;
    }
}
.header__buttons > :is(a, button) {
    width: var(--header-icon-size);
    height: var(--header-icon-size);
}
.header .toggle-navigation-button {
    opacity: 0;
    visibility: hidden;
    margin-inline-end: 0;
    width: 0;
    transition: visibility 0.3s, opacity 0.3s, width 0.3s, margin-inline-end 0.3s;
}
.header .toggle-navigation-button.is-show {
    opacity: 1;
    visibility: visible;
    margin-inline-end: 1.2rem;
    width: 2.4rem;
}
.header .dropdown[open] {
    pointer-events: auto;
}
.header .dropdown[open] .dropdown__nav > li {
    --translate-x: 0;
}
@media (max-width: 767.98px) {
    .header__top {
        padding-block: 1rem;
    }
}
@media (min-width: 1024px) {
    .header {
        --header-icon-size: 3.6rem;
    }
}
@media (min-width: 768px) {
    .header {
        --cart-count-offset-x: -0.9rem;
    }
}

.header-section {
    position: relative;
    z-index: 2;
}

.header-sticky {
    z-index: 30;
    position: sticky;
    top: 0;
    pointer-events: none;
}
.header-sticky.header-scrolled .header__background-inner {
    box-shadow: 0 4px 18px rgb(var(--color-foreground)/10%);
}
.header-sticky.header-scrolled .header__background-inner::before {
    opacity: 0 !important;
}

@media (min-width: 768px) {
    body:has(.shopify-section:first-child [data-header-overlay]) .header {
        position: absolute;
        width: 100%;
        margin: 0 auto;
        padding-inline: var(--page-padding);
        transform: translateY(var(--header-offset-absolute, 3rem));
        will-change: transform;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header__top {
        padding-inline: 0;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header__background {
        margin: 0 auto;
        padding-inline: var(--page-padding);
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header-sticky {
        top: 0;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header-sticky.header-scrolled {
        position: sticky;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header-sticky.header-scrolled .header {
        --header-offset-absolute: 0;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header-sticky.header-scrolled .header__top {
        position: static;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header-sticky.header-scrolled .header__background {
        padding-inline: 0;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header-sticky:not(.header-scrolled) .header__top,
    body:has(.shopify-section:first-child [data-header-overlay]) .header-section:not(.header-sticky) .header__top {
        padding-inline: 2rem;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header-sticky:not(.header-scrolled) .header__background-inner,
    body:has(.shopify-section:first-child [data-header-overlay]) .header-section:not(.header-sticky) .header__background-inner {
        border-radius: 1rem;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header-sticky:not(.header-scrolled) .mega-menu,
    body:has(.shopify-section:first-child [data-header-overlay]) .header-section:not(.header-sticky) .mega-menu {
        border-bottom-left-radius: 1rem;
        border-bottom-right-radius: 1rem;
    }
    body:has(.shopify-section:first-child [data-header-overlay]) .header-sticky:not(.header-scrolled) .mega-menu__wrapper,
    body:has(.shopify-section:first-child [data-header-overlay]) .header-section:not(.header-sticky) .mega-menu__wrapper {
        padding-inline: 3rem;
    }
}
body:not(:has(.shopify-section:first-child [data-header-overlay])) .header--show-sperator-line .header__background-inner::before {
    opacity: 1;
}

@media (max-width: 767.98px) {
    .header--show-sperator-line .header__background-inner::before {
        opacity: 1;
    }
}
.cart-has-items .header__buttons:has(.cart-icon) {
    margin-inline-end: 0;
}
.cart-has-items .cart-icon {
    margin-inline-end: calc(var(--cart-count-offset-x) * -1);
}

.header-section .fixed-overlay {
    top: 0;
    height: 100%;
}
.header-section + .topbar-section {
    z-index: 0;
}

body:not(.header-pinned) .header-scrolled {
    pointer-events: none;
}
body:not(.header-pinned) .header-scrolled .header {
    transform: translateY(-100%) !important;
}

.menu__item {
    position: relative;
    z-index: 0;
    text-decoration: none;
    color: inherit;
    line-height: 1.6;
    padding: 0.6rem 1.2rem;
    column-gap: 0.6rem;
    font-family: var(--font-navigation--family);
    font-style: var(--font-navigation--style);
    text-transform: var(--font-navigation--transform);
    letter-spacing: var(--font-navigation--letter-spacing);
    transition: color var(--animation-duration--fast) var(--animation-easing);
}
.menu__item__circle,
.menu__item__sparkle {
    position: absolute;
    pointer-events: none;
    color: rgb(var(--color-secondary-button-background));
    overflow: visible;
}
.menu__item__circle {
    width: calc(100% + 0.6rem);
    height: calc(100% + 0.6rem);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: none;
    min-width: 42px;
}
.menu__item__sparkle {
    width: 1.4rem;
    height: 1.4rem;
    transform: rotate(12deg);
    top: -0.6rem;
    right: -0.5rem;
    max-width: none;
}
menu-item-decoration {
    display: contents;
}
.menu__item__circle path,
.menu__item__sparkle path {
    fill: none;
    stroke: var(--color-secondary-button-background);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.menu__item__circle path {
    stroke-dasharray: var(--menu-circle-dash, 105);
    stroke-dashoffset: var(--menu-circle-dash, 105);
}
.menu__item__sparkle path {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
}
footer .menu__item__circle path,
footer .menu__item__sparkle path {
    stroke: #ffffff;
}
footer .menu__item__circle {
    width: 130%;
    height: 130%;
}
footer .menu__item__sparkle {
    top: -1.4rem;
    right: -1.3rem;
}
.menu__item__circle path {
    transition: stroke-dashoffset 300ms var(--animation-easing);
}
.menu__item__sparkle path {
    transition: stroke-dashoffset 250ms var(--animation-easing);
}

@media (hover: hover) {
    :has(> menu-item-decoration):hover .menu__item__circle path {
        stroke-dashoffset: 0;
        transition-duration: 450ms;
    }
    :has(> menu-item-decoration):hover .menu__item__sparkle path {
        stroke-dashoffset: 0;
        transition-duration: 180ms;
    }
    :has(> menu-item-decoration):hover .menu__item__sparkle path:nth-child(1) {
        transition-delay: 120ms;
    }
    :has(> menu-item-decoration):hover .menu__item__sparkle path:nth-child(2) {
        transition-delay: 165ms;
    }
    :has(> menu-item-decoration):hover .menu__item__sparkle path:nth-child(3) {
        transition-delay: 210ms;
    }
}
@media (min-width: 1024px) {
    .header--logo-left {
        --header-grid-template: "logo nav icons" / auto auto 1fr;
    }
    .header--logo-left .header__navigation {
        margin-inline-start: 2.8rem;
    }
    .header--logo-center {
        --header-grid-template: "nav logo icons" / 1fr auto 1fr;
    }
}
.has-mega-menu .header__background-inner {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    transition: border-radius 0.1s var(--animation-easing), box-shadow var(--animation-duration--medium) var(--animation-easing--smooth);
}

.mega-menu-closing .header__background-inner {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    transition: border-radius 0.6s var(--animation-easing) var(--mega-menu-close-delay, 0.4s), box-shadow var(--animation-duration--fast) var(--animation-easin);
}

.no-js details[is=details-dropdown][open] > .dropdown,
.no-js details[is=details-mega][open] > .mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    top: 100%;
}

@media (max-width: 767.98px) {
    .header--with-dividers {
        --header-icon-size: 6rem;
        --header-grid-template: "icons-left logo icons" / auto auto 1fr;
    }
    .header--with-dividers .header__top {
        padding: 0;
        column-gap: 1.5rem;
    }
    .header--with-dividers .header__logo {
        padding-block: 0.8rem;
    }
    .header--with-dividers .header__logo img {
        width: auto;
        max-height: calc(var(--header-icon-size) - 1.6rem);
    }
    .header--with-dividers .header__buttons {
        margin: 0;
    }
    .header--with-dividers .header__icons--left .header__buttons > :is(a, button) {
        border-inline-end: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
    }
    .header--with-dividers .header__icons--right .header__buttons > :is(a, button) {
        border-inline-start: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
    }
    .header--with-dividers .cart-icon {
        margin: 0;
    }
    .header--with-dividers .cart-count {
        top: 1.1rem;
        inset-inline-end: 0.5rem;
    }
}
/* CSS Variables */
.section-slideshow {
    --slide-padding-x: 4rem;
    --slide-padding-y: 4rem;
    --carousel-progressbar-width: 14rem;
}

/* Slide Base */
.slide {
    height: var(--slide-height);
    max-height: 100dvh;
}

.slideshow:has(.slideshow__controls) .slide {
    grid-template-rows: minmax(0, 1fr) var(--control-height, auto);
}

/* Slide Media */
.slide__media img,
.slide__media svg,
.slide__media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Slide Content */
.slide__content {
    padding-block: var(--slide-padding-y);
    padding-inline: var(--slide-padding-x);
    grid-row: 1/span 1;
    z-index: var(--layer-raised);
    min-width: 0;
}

/* Slideshow Base */
.slideshow {
    grid-template-rows: minmax(0, 1fr) auto;
}

.slideshow .swiper-slide {
    height: auto;
}

/* Slideshow Controls */
.slideshow__controls {
    --carousel-controls-margin-top: 0;
    z-index: 1;
    background: transparent !important;
    width: auto;
    grid-row: 2/-1;
    padding: 0 var(--slide-padding-x) var(--slide-show-control-offset-bottom, var(--slide-padding-y));
}

/* Slideshow Variants */
.slideshow--content-inside {
    --slide-padding-x: 0;
}

.slideshow--content-inside .slide__content,
.slideshow--content-inside .slideshow__controls {
    grid-column: 2;
}

.slideshow--height-adapt .slide {
    height: 100%;
}

.slideshow--height-small {
    --slide-height: 42rem;
}

.slideshow--height-medium {
    --slide-height: 52rem;
}

.slideshow--height-large {
    --slide-height: 62rem;
}

/* Overlap Feature */
.section--allow-overlap {
    --slide-show-control-offset-bottom: calc(var(--slide-padding-y) + clamp(0rem, calc(7.78vw - 5.967rem), 2rem));
    position: relative;
    z-index: var(--layer-base);
    padding-block-end: 0;
}

.section--allow-overlap .slideshow {
    position: relative;
    z-index: var(--layer-base);
}

.shopify-section:has(.section--allow-overlap) + .shopify-section {
    position: relative;
    z-index: var(--layer-raised);
}

.shopify-section:has(.section--allow-overlap) + .shopify-section .section {
    margin-block-start: clamp(-3.4rem, -6.226vw + 2.975rem, -1.8rem);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.shopify-section:has(.section--allow-overlap) {
    position: sticky;
    top: 0;
    z-index: var(--layer-lowest);
}

/* States */
.slideshow[data-autoplay=false] .pagination-item.is-active .pagination-item__progress-bar {
    transform: scaleX(1);
}

/* Media Queries - Desktop */
@media (min-width: 768px) {
    .slideshow--height-small {
        --slide-height: 57rem;
    }
    .slideshow--height-medium {
        --slide-height: 66rem;
    }
    .slideshow--height-large {
        --slide-height: 75rem;
    }
    [data-header-overlay] .slide__content {
        margin-block-start: calc(var(--header-height, 8rem) + 3rem);
        transition: all 0.3s ease;
    }
}
/* Media Queries - Mobile */
@media (max-width: 767.98px) {
    .slideshow {
        --slide-padding-x: 1.6rem;
        --slide-padding-y: 2.4rem;
    }
    .slideshow--content-inside {
        --slide-padding-x: 0;
    }
    .slide__inner {
        width: 100%;
        contain: layout;
    }
    .slideshow__controls-progress-text .carousel__controls {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .slideshow__controls-progress-text .carousel__custom-pagination--combined {
        display: contents !important;
    }
    .slideshow__controls-progress-text .carousel__custom-pagination--combined .pagination-combined {
        display: contents !important;
    }
    .slideshow__controls-progress-text .carousel__custom-pagination--combined .pagination-combined__text {
        align-self: flex-start;
        text-align: start;
    }
    .slideshow__controls-progress-text .carousel__custom-pagination--combined .pagination-combined__progress {
        grid-column: 1/-1;
    }
    .slideshow__controls-progress-text .carousel__controls-buttons {
        grid-column: 2/3;
        grid-row: 1/2;
    }
    body:has([data-sticky-type=always]) .shopify-section:has(.section--allow-overlap) {
        top: var(--header-height, 0);
    }
}
.footer {
    border: 0 var(--border-style) var(--border-color);
    border-top-width: var(--border-width);
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}
.footer__top-blocks {
    margin-inline: -1.5rem;
}
.footer__top-block {
    padding-inline: 1.5rem;
    flex: unset;
}
.footer__details .accordion__summary {
    padding-block: 1rem;
    min-height: 5rem;
}
.footer__details .accordion__inner {
    padding-block: 0 2rem;
}
.footer__bottom {
    padding-top: 2rem;
}
.footer__bottom-row {
    padding-block-end: 2.4rem;
    position: relative !important;
}
@media (max-width: 1250px) {
    .footer__image {
        transform: scale(0.8) !important;
        pointer-events: none !important;
    }
}
@media (min-width: 768px) {
    .footer__copyright {
        order: -1;
    }
}
@media (max-width: 767.98px) {
    .footer__bottom-row > * {
        width: 100%;
    }
}
@media (max-width: 1023.98px) {
    .footer__top-block--with-border .footer__details {
        border-bottom: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
    }
    .footer__top-block {
        order: var(--col-order, "unset");
    }
}
@media (min-width: 1024px) {
    .footer__top-block {
        width: var(--col-width, 100%);
    }
    .footer__bottom-row:last-child {
        padding-block: 3rem 4rem;
        border-top: 1px solid rgb(var(--color-border)/var(--color-border-alpha));
    }
    .footer__details .accordion__summary {
        pointer-events: none;
        padding-block: 0 1.2rem;
    }
    .footer__details .accordion__inner {
        padding-block: 0;
    }
    .footer__bottom {
        padding-top: 4rem;
    }
}

.highlight-text-image .image-block {
    vertical-align: middle;
    max-width: 100%;
    width: var(--image-width-mobile);
    margin: 0.2rem 0.4rem;
}

@media (min-width: 768px) {
    .highlight-text-image .image-block {
        width: var(--image-width);
        margin: 0.4rem 0.8rem;
    }
}
.collection-highlight {
    --thumbnail-width: 4.8rem;
    --thumbnail-spacing: 0.6rem;
    --title-wavy-offset: -1rem;
}
.collection-highlight__wrapper {
    gap: 0.8rem 1rem;
    grid-template-columns: repeat(2, 1fr);
}
.collection-highlight__images {
    aspect-ratio: var(--image-aspect-ratio-mobile, 1);
    min-width: 0;
    height: 100%;
    max-width: 100%;
}
.collection-highlight__images .image-card {
    height: 100%;
}
.collection-highlight__image, .collection-highlight__preview {
    opacity: 0;
    visibility: hidden;
    transition: all var(--animation-duration--medium) var(--animation-easing);
    transition-property: opacity, visibility;
}
.collection-highlight__image.is-active, .collection-highlight__preview.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}
.collection-highlight__content-footer {
    transition: height var(--animation-duration--medium) var(--animation-easing--smooth);
}
.collection-highlight .image-card__media {
    max-height: 100%;
    overflow: hidden;
}
.collection-highlight__content {
    padding-inline: var(--content-padding-x, 2.4rem);
    row-gap: var(--content-spacing, 2.4rem);
}
.collection-highlight__title-thumbnail {
    position: absolute;
    top: 50%;
    inset-inline-end: 0;
    width: var(--thumbnail-width);
    aspect-ratio: 1;
    transform: translate(0, -50%) scale(var(--thumbnail-scaling, 0));
    opacity: var(--thumbnail-opacity);
    transform-origin: right center;
    transition: all var(--animation-duration--medium) var(--animation-easing--smooth);
}
.collection-highlight__title {
    transition: all var(--animation-duration--medium) var(--animation-easing--smooth);
    color: rgb(var(--color-foreground)/40%);
    min-height: var(--thumbnail-width);
    margin-bottom: var(--titles-gap, 1.2rem);
}
.collection-highlight--title-wavy-underline .collection-highlight__title::after {
    content: "";
    position: absolute;
    bottom: var(--title-wavy-offset);
    left: 0;
    width: 100%;
    height: 0.8rem;
    mask-image: var(--title-wavy-image, url('data:image/svg+xml;utf8,<svg width="137" height="8" viewBox="0 0 137 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M-17 9L-12.7069 4C-10.4489 1.37022 -6.37867 1.37022 -4.12069 4C-1.86271 6.62978 2.20753 6.62978 4.46552 4C6.7235 1.37022 10.7937 1.37022 13.0517 4C15.3097 6.62978 19.3799 6.62978 21.6379 4C23.8959 1.37022 27.9662 1.37022 30.2241 4C32.4821 6.62978 36.5524 6.62978 38.8103 4C41.0683 1.37022 45.1386 1.37022 47.3965 4C49.6545 6.62978 53.7248 6.62978 55.9828 4C58.2407 1.37022 62.311 1.37022 64.569 4C66.8269 6.62978 70.8972 6.62978 73.1552 4C75.4131 1.37022 79.4834 1.37022 81.7414 4C83.9994 6.62978 88.0696 6.62978 90.3276 4C92.5856 1.37022 96.6558 1.37022 98.9138 4C101.172 6.62978 105.242 6.62978 107.5 4C109.758 1.37022 113.828 1.37022 116.086 4C118.344 6.62978 122.414 6.62978 124.672 4C126.93 1.37022 131.001 1.37022 133.259 4C135.517 6.62978 139.587 6.62977 141.845 4C144.103 1.37023 148.173 1.37022 150.431 4C152.689 6.62978 156.759 6.62978 159.017 4C161.275 1.37022 165.345 1.37022 167.603 4C169.861 6.62978 173.932 6.62978 176.19 4C178.448 1.37022 182.518 1.37022 184.776 4C187.034 6.62978 191.104 6.62978 193.362 4C195.62 1.37022 199.69 1.37022 201.948 4C204.206 6.62978 208.276 6.62978 210.534 4C212.792 1.37022 216.863 1.37022 219.121 4C221.379 6.62978 225.449 6.62978 227.707 4L232 -1" stroke="currentColor" stroke-width="3" vector-effect="non-scaling-stroke"/></svg>'));
    mask-size: auto 100%;
    background: rgb(var(--color-foreground));
    opacity: 0;
    transition: all var(--animation-duration--medium) var(--animation-easing--smooth);
}
.collection-highlight--title-wavy-underline .collection-highlight__title[aria-current=true]::after {
    opacity: 1;
}
.collection-highlight--title-underline .collection-highlight__title::after {
    content: "";
    position: absolute;
    bottom: -0.8rem;
    inset-inline-start: 0;
    width: 0;
    height: 0.2rem;
    background: rgb(var(--color-foreground));
    transition: all var(--animation-duration--medium) var(--animation-easing--smooth);
}
.collection-highlight--title-underline .collection-highlight__title[aria-current=true]::after {
    width: 100%;
}
.collection-highlight__title[aria-current=true] {
    --thumbnail-scaling: 1;
    --thumbnail-opacity: 1;
    color: rgb(var(--color-foreground));
}
.collection-highlight__title[aria-current=true]:has(.collection-highlight__title-thumbnail) {
    padding-inline-end: calc(var(--thumbnail-width) + var(--thumbnail-spacing));
}
@media (min-width: 768px) {
    .collection-highlight {
        --content-spacing: 6rem;
        --content-padding-x: 4rem;
        --thumbnail-width: 6rem;
        --thumbnail-spacing: 0.8rem;
        --title-wavy-offset: -0.5rem;
        --title-wavy-image: url('data:image/svg+xml;utf8,<svg width="137" height="8" viewBox="0 0 137 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M-17 9L-12.7069 4C-10.4489 1.37022 -6.37867 1.37022 -4.12069 4C-1.86271 6.62978 2.20753 6.62978 4.46552 4C6.7235 1.37022 10.7937 1.37022 13.0517 4C15.3097 6.62978 19.3799 6.62978 21.6379 4C23.8959 1.37022 27.9662 1.37022 30.2241 4C32.4821 6.62978 36.5524 6.62978 38.8103 4C41.0683 1.37022 45.1386 1.37022 47.3965 4C49.6545 6.62978 53.7248 6.62978 55.9828 4C58.2407 1.37022 62.311 1.37022 64.569 4C66.8269 6.62978 70.8972 6.62978 73.1552 4C75.4131 1.37022 79.4834 1.37022 81.7414 4C83.9994 6.62978 88.0696 6.62978 90.3276 4C92.5856 1.37022 96.6558 1.37022 98.9138 4C101.172 6.62978 105.242 6.62978 107.5 4C109.758 1.37022 113.828 1.37022 116.086 4C118.344 6.62978 122.414 6.62978 124.672 4C126.93 1.37022 131.001 1.37022 133.259 4C135.517 6.62978 139.587 6.62977 141.845 4C144.103 1.37023 148.173 1.37022 150.431 4C152.689 6.62978 156.759 6.62978 159.017 4C161.275 1.37022 165.345 1.37022 167.603 4C169.861 6.62978 173.932 6.62978 176.19 4C178.448 1.37022 182.518 1.37022 184.776 4C187.034 6.62978 191.104 6.62978 193.362 4C195.62 1.37022 199.69 1.37022 201.948 4C204.206 6.62978 208.276 6.62978 210.534 4C212.792 1.37022 216.863 1.37022 219.121 4C221.379 6.62978 225.449 6.62978 227.707 4L232 -1" stroke="currentColor" stroke-width="4" vector-effect="non-scaling-stroke"/></svg>');
    }
    .collection-highlight__images {
        aspect-ratio: var(--image-aspect-ratio, 1);
    }
    .collection-highlight--image-left .collection-highlight__images {
        order: -1;
    }
}

.collections-with-image {
    --titles-padding-bottom: 0rem;
}
.collections-with-image--title-wavy-underline {
    --titles-padding-bottom: 0.2rem;
}
.collections-with-image__image, .collections-with-image__product {
    transition: opacity var(--animation-duration--medium) var(--animation-easing), visibility var(--animation-duration--medium) var(--animation-easing);
    opacity: 0;
    visibility: hidden;
}
.collections-with-image__image.is-active, .collections-with-image__product.is-active {
    opacity: 1;
    visibility: visible;
}
.collections-with-image__content-footer {
    transition: height var(--animation-duration--medium) var(--animation-easing--smooth);
}
.collections-with-image__images {
    aspect-ratio: 1;
}
.collections-with-image__title {
    --underline-thickness: 0.2rem;
    --underline-color: var(--shape-color, rgb(var(--color-foreground)));
    margin-bottom: calc(var(--titles-gap, 1.8rem) - var(--titles-padding-bottom));
}
.collections-with-image__title-text {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    transition: color var(--animation-duration--fast) var(--animation-easing), text-shadow var(--animation-duration--fast) var(--animation-easing), transform var(--animation-duration--medium) var(--animation-easing--smooth);
    color: var(--color-title);
}
.collections-with-image__title .highlight-text {
    font-family: inherit;
    font-style: inherit;
}
.collections-with-image__title .highlight-text__svg {
    inset-block-start: 88%;
    opacity: 0;
}
.collections-with-image__title .highlight-text__svg path {
    animation-duration: 0.8s !important;
}
.collections-with-image__title [class*=text-limit-] {
    padding-bottom: var(--titles-padding-bottom);
}
.collections-with-image__title[aria-current=true] .collections-with-image__title-text {
    color: var(--color-highlighted-title, var(--color-title));
}
.collections-with-image__title[aria-current=true] .highlight-text__svg {
    opacity: 1;
}
.collections-with-image__title[aria-current=true] .link-decoration {
    clip-path: inset(0 0 0 0);
    transition-delay: var(--link-decoration-delay, 0s);
}
.collections-with-image--highlighted-title-bolder [aria-current=true] .collections-with-image__title-text {
    text-shadow: 0.5px 0 0 currentcolor, -0.5px 0 0 currentcolor;
}
.collections-with-image--highlighted-title-italic [aria-current=true] .collections-with-image__title-text {
    transform: skew(-7.5deg);
}
@media (min-width: 768px) {
    .collections-with-image .section-header-block {
        width: clamp(20%, 38.3rem, 30%);
    }
    .collections-with-image__collections {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
        padding-inline-start: var(--content-padding-x);
    }
    .collections-with-image__collections > * {
        min-width: 0;
    }
}
@media (min-width: 768px) and (min-width: 1200px) {
    .collections-with-image__collections {
        gap: 5rem;
    }
}
@media (min-width: 768px) {
    .collections-with-image .section-header-block {
        padding-inline-end: var(--content-padding-x);
        border-inline-end: 1px solid rgb(var(--color-foreground)/10%);
    }
    .collections-with-image .product-card--horizontal {
        --product-card-media-width: 6rem;
    }
}
@media (min-width: 768px) and (min-width: 1200px) {
    .collections-with-image .product-card--horizontal {
        --product-card-media-width: 9rem;
    }
}
@media (min-width: 1440px) {
    .collections-with-image .product-card--horizontal {
        --product-card-media-width: 11rem;
    }
}
@media (max-width: 767.98px) {
    .collections-with-image__collections {
        margin-top: 2.4rem;
    }
    .collections-with-image__title-text {
        color: rgb(var(--color-foreground)/30%);
    }
    .collections-with-image .section-header-block {
        display: contents;
    }
    .collections-with-image .text-block {
        order: -9;
    }
    .collections-with-image .button-block {
        order: 9;
    }
    .collections-with-image__collections-info {
        display: contents;
    }
    .collections-with-image__content-footer {
        order: 9;
        margin-top: 2.4rem;
        width: 100%;
    }
    .collections-with-image__images {
        width: 76.5%;
        margin-top: 2.4rem;
    }
    .collections-with-image__title {
        white-space: nowrap;
        overflow: visible;
        display: block;
    }
    .collections-with-image .product-card--horizontal {
        --product-card-media-width: 8rem;
    }
}

.collections-with-bg {
    --content-padding-x: 1.6rem;
    --content-padding-y: 3.2rem;
    --products-width: 7rem;
    --titles-padding-bottom: 0rem;
}
.collections-with-bg--height-small {
    --media-height: 42rem;
}
.collections-with-bg--height-medium {
    --media-height: 52rem;
}
.collections-with-bg--height-large {
    --media-height: 62rem;
}
.collections-with-bg--title-wavy-underline {
    --titles-padding-bottom: 0.2rem;
}
.collections-with-bg__images {
    min-width: 0;
    height: var(--media-height);
    max-height: calc(100dvh - var(--header-height, 0));
}
.collections-with-bg__images .media {
    width: 100%;
    height: 100%;
    aspect-ratio: unset;
}
.collections-with-bg__content {
    min-width: 0;
    padding-inline: var(--content-padding-x);
    padding-block: var(--content-padding-y);
    grid-row: 1/span 1;
    z-index: var(--layer-raised);
}
.collections-with-bg--content-inside .collections-with-bg__content {
    grid-column: 2;
}
.collections-with-bg__image, .collections-with-bg__product, .collections-with-bg__description {
    transition: opacity var(--animation-duration--medium) var(--animation-easing), visibility var(--animation-duration--medium) var(--animation-easing);
    opacity: 0;
    visibility: hidden;
}
.collections-with-bg__image.is-active, .collections-with-bg__product.is-active, .collections-with-bg__description.is-active {
    opacity: 1;
    visibility: visible;
}
.collections-with-bg--height-adapt .collections-with-bg__image {
    aspect-ratio: var(--ratio);
}
@media (max-width: 767.98px) {
    .collections-with-bg--height-adapt .collections-with-bg__image {
        aspect-ratio: var(--ratio-mobile);
    }
}
.collections-with-bg__preview {
    transition: height var(--animation-duration--medium) var(--animation-easing--smooth);
}
.collections-with-bg__title {
    --underline-thickness: 0.1rem;
    --underline-color: var(--shape-color, rgb(var(--color-foreground)));
    margin-bottom: calc(var(--titles-gap, 1.8rem) - var(--titles-padding-bottom));
}
.collections-with-bg__title-text {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    transition: color var(--animation-duration--fast) var(--animation-easing), text-shadow var(--animation-duration--fast) var(--animation-easing), transform var(--animation-duration--medium) var(--animation-easing--smooth);
    color: var(--color-title);
}
.collections-with-bg__title .highlight-text {
    font-family: inherit;
    font-style: inherit;
}
.collections-with-bg__title .highlight-text__svg {
    inset-block-start: 88%;
    opacity: 0;
}
.collections-with-bg__title .highlight-text__svg path {
    animation-duration: 0.8s !important;
}
.collections-with-bg__title [class*=text-limit-] {
    padding-bottom: var(--titles-padding-bottom);
}
.collections-with-bg__title[aria-current=true] .collections-with-bg__title-text {
    color: var(--color-highlighted-title, var(--color-title));
}
.collections-with-bg__title[aria-current=true] .highlight-text__svg {
    opacity: 1;
}
.collections-with-bg__title[aria-current=true] .link-decoration {
    clip-path: inset(0 0 0 0);
    transition-delay: var(--link-decoration-delay, 0s);
}
.collections-with-bg--highlighted-title-bolder [aria-current=true] .collections-with-bg__title-text {
    text-shadow: 0.5px 0 0 currentcolor, -0.5px 0 0 currentcolor;
}
.collections-with-bg--highlighted-title-italic [aria-current=true] .collections-with-bg__title-text {
    transform: skew(-7.5deg);
}
.collections-with-bg__descriptions .button-block {
    margin-top: 2rem;
}
.collections-with-bg__products {
    width: var(--products-width);
    max-width: 100%;
}
@media (min-width: 768px) {
    .collections-with-bg {
        --content-padding-x: 5rem;
        --content-padding-y: 8rem;
        --products-width: 27.2rem;
    }
    .collections-with-bg--content-inside {
        --content-padding-x: 0;
    }
    .collections-with-bg--content-outside {
        --products-offset-end: 3rem;
    }
    .collections-with-bg--height-small {
        --media-height: 57rem;
    }
    .collections-with-bg--height-medium {
        --media-height: 66rem;
    }
    .collections-with-bg--height-large {
        --media-height: 75rem;
    }
    .collections-with-bg__products {
        margin-inline-end: var(--products-offset-end, 0);
    }
    .collections-with-bg__collections {
        max-width: 50%;
    }
    .collections-with-bg__descriptions {
        margin-top: var(--descriptions-gap);
    }
    .collections-with-bg__descriptions .button-block {
        margin-top: 3.2rem;
    }
    .collections-with-bg__description-content {
        max-width: 38rem;
    }
}
@media (max-width: 767.98px) {
    .collections-with-bg .section-header-block {
        height: auto;
    }
    .collections-with-bg--container-full.collections-with-bg--content-inside {
        --content-padding-x: 0;
    }
    .collections-with-bg__collections {
        display: contents;
    }
    .collections-with-bg__descriptions {
        order: 9;
        margin-top: 2rem;
    }
    .collections-with-bg__products {
        margin-top: 4.2rem;
    }
    .collections-with-bg__title {
        white-space: nowrap;
        overflow: visible;
        display: block;
    }
}

.collection-highlight-scrolling {
    --content-padding-x: 1.6rem;
    --content-padding-y: 3.2rem;
    --titles-padding-bottom: 0rem;
    --images-gap: 1.2rem;
    contain: layout;
}
.collection-highlight-scrolling--title-wavy-underline {
    --titles-padding-bottom: 0.2rem;
}
.collection-highlight-scrolling__title {
    --underline-thickness: 0.1rem;
    --underline-color: var(--shape-color, rgb(var(--color-foreground)));
    margin-bottom: calc(var(--titles-gap, 1.8rem) - var(--titles-padding-bottom));
}
.collection-highlight-scrolling__title-heading {
    gap: 0.6rem;
}
.collection-highlight-scrolling__title-text {
    position: absolute;
    display: block;
    top: 0;
    inset-inline-start: 0;
    max-width: 100%;
    transition: color var(--animation-duration--fast) var(--animation-easing), text-shadow var(--animation-duration--fast) var(--animation-easing), transform var(--animation-duration--medium) var(--animation-easing--smooth);
    color: var(--color-title);
}
.collection-highlight-scrolling__title-product-count {
    transition: color var(--animation-duration--fast) var(--animation-easing);
}
.collection-highlight-scrolling__title .highlight-text {
    font-family: inherit;
    font-style: inherit;
}
.collection-highlight-scrolling__title .highlight-text__svg {
    inset-block-start: 88%;
    opacity: 0;
}
.collection-highlight-scrolling__title .highlight-text__svg path {
    animation-duration: 0.8s !important;
}
.collection-highlight-scrolling__title [class*=text-limit-] {
    padding-bottom: var(--titles-padding-bottom);
}
.collection-highlight-scrolling__title[aria-current=true] .collection-highlight-scrolling__title-text {
    color: var(--color-highlighted-title, var(--color-title));
}
.collection-highlight-scrolling__title[aria-current=true] .collection-highlight-scrolling__title-product-count {
    color: var(--color-highlighted-title, var(--color-title));
}
.collection-highlight-scrolling__title[aria-current=true] .highlight-text__svg {
    opacity: 1;
}
.collection-highlight-scrolling__title[aria-current=true] .link-decoration {
    clip-path: inset(0 0 0 0);
    transition-delay: var(--link-decoration-delay, 0s);
}
.collection-highlight-scrolling--highlighted-title-bolder [aria-current=true] .collection-highlight-scrolling__title-text {
    text-shadow: 0.5px 0 0 currentcolor, -0.5px 0 0 currentcolor;
}
.collection-highlight-scrolling--highlighted-title-italic [aria-current=true] .collection-highlight-scrolling__title-text {
    transform: skew(-7.5deg);
}
.collection-highlight-scrolling__wrapper {
    padding-inline: var(--content-padding-x);
    padding-block: var(--content-padding-y);
}
.collection-highlight-scrolling--content-inside .collection-highlight-scrolling__wrapper-inner {
    grid-column: 2;
}
.collection-highlight-scrolling__images {
    gap: var(--images-gap);
    will-change: transform;
}
.collection-highlight-scrolling__image-heading {
    gap: 0.6rem;
}
.collection-highlight-scrolling__titles {
    will-change: transform;
}
.collection-highlight-scrolling__titles-container::before, .collection-highlight-scrolling__titles-container::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    pointer-events: none;
    z-index: 2;
    height: calc(1em * var(--line-height));
    background: linear-gradient(to bottom, rgb(var(--color-background)/100%), rgb(var(--color-background)/0%));
    transition: opacity var(--animation-duration--medium) var(--animation-easing);
    transform: translateY(-50%);
}
.collection-highlight-scrolling__titles-container::before {
    top: 0;
}
.is--beginning .collection-highlight-scrolling__titles-container::before {
    opacity: 0;
}
.collection-highlight-scrolling__titles-container::after {
    bottom: 0;
    transform: translateY(50%) scaleY(-1);
}
.is--end .collection-highlight-scrolling__titles-container::after {
    opacity: 0;
}
.collection-highlight-scrolling .content-overlay-style {
    padding: 2.4rem;
    background: linear-gradient(0deg, rgb(var(--color-background)/70%) 0%, rgb(var(--color-background)/0%) 83.77%);
}
.collection-highlight-scrolling .section-header-block {
    height: auto;
}
@media (min-width: 768px) {
    .collection-highlight-scrolling {
        --content-padding-x: 5rem;
        --content-padding-y: 8rem;
        --images-gap: 3rem;
    }
    .collection-highlight-scrolling--content-inside .collection-highlight-scrolling__wrapper {
        padding-inline: 0;
    }
    .collection-highlight-scrolling__images {
        width: 52.5%;
    }
    .collection-highlight-scrolling__content {
        width: 47.5%;
        max-height: calc(var(--container-height) - var(--content-padding-y) * 2);
    }
}
@media (min-width: 1440px) {
    .collection-highlight-scrolling {
        --images-gap: 5rem;
        --content-padding-x: 10rem;
    }
}
@media (max-width: 767.98px) {
    .collection-highlight-scrolling--container-full.collection-highlight-scrolling--content-inside {
        --content-padding-x: 0;
    }
    .collection-highlight-scrolling__container {
        --border-radius: 0 !important;
        display: block;
    }
}

.products-highlight__banner-video {
    padding-block: var(--banner-padding-y);
}

.products-highlight__banner-video-inner {
    width: 100%;
    max-width: min(63.5%, 100% - 6rem);
}

@media (min-width: 768px) {
    .products-highlight__banner-video-inner {
        max-width: min(51.7%, 100% - 6rem);
    }
    .products-highlight__banner-image .media {
        aspect-ratio: unset;
        height: 100%;
    }
    .products-highlight__banner-image [style*="--ratio"] {
        position: relative;
        overflow: hidden;
    }
    .products-highlight__banner-image [style*="--ratio"]::before {
        display: block;
        width: 100%;
        content: "";
        height: 0;
        padding-block-start: calc(100% / (0.0001 + var(--ratio, 1.7777777778)));
    }
    .products-highlight__banner-image [style*="--ratio"] > *:first-child:is(img),
    .products-highlight__banner-image [style*="--ratio"] .media__image {
        inset-block-start: 0;
        inset-inline: 0;
        position: absolute !important;
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
    .products-highlight__products {
        width: calc(50% - 3rem);
        padding-block: 3.2rem;
        padding-inline: var(--content-padding-start) var(--content-offset-x, 0);
    }
    .products-highlight__banner {
        width: calc(50% + 3rem);
    }
    .products-highlight--image-right .products-highlight__products {
        padding-inline: var(--content-offset-x, 0) var(--content-padding-start);
    }
    .products-highlight--image-right .products-highlight__banner {
        order: 9;
    }
}
@media (min-width: 1024px) {
    .products-highlight {
        --content-offset-x: 5rem;
    }
    .products-highlight__banner {
        padding-inline: 5rem 0;
    }
    .products-highlight--image-right .products-highlight__banner {
        padding-inline: 0 5rem;
    }
}
/* stylelint-disable-next-line media-feature-range-notation */
@media (min-width: 1600px) {
    .products-highlight__products {
        justify-content: space-around;
    }
    .products-highlight__products-carousel {
        flex-grow: 0;
    }
}
@media (max-width: 767.98px) {
    .products-highlight__banner-image .media {
        height: 100%;
    }
    .products-highlight {
        --carousel-controls-margin-top: 1.6rem;
    }
    .products-highlight__banner {
        margin-block: 2.4rem;
    }
    .products-highlight__products {
        display: contents;
    }
    .products-highlight .section-header-block {
        display: contents;
    }
    .products-highlight .text-block {
        order: -9;
    }
    .products-highlight .button-block {
        order: 9;
    }
}
.products-bundle {
    --number-size: 3rem;
}
.products-bundle__number {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: var(--number-size);
    aspect-ratio: 1;
    border-radius: 50%;
}
.products-bundle__hotspot {
    --factor-x: -1;
    top: var(--offset-top-mobile);
    inset-inline-start: var(--offset-left-mobile);
    transform: translate(calc(var(--offset-left-mobile) * var(--factor-x)), calc(var(--offset-top-mobile) * -1));
    transform-origin: center;
    cursor: pointer;
    background-color: rgb(var(--color-background));
    border: 1px solid rgb(var(--color-border)/var(--color-border-alpha));
    transition: all var(--animation-duration--medium) var(--animation-easing);
    transition-property: color, background-color;
}
.products-bundle__hotspot.is-selected {
    color: rgb(var(--color-background));
    background: rgb(var(--color-foreground));
}
.products-bundle__product {
    transition: opacity var(--animation-duration--medium) var(--animation-easing);
}
.products-bundle__product-number {
    background: rgb(var(--color-background-secondary));
}
.products-bundle__content {
    padding: var(--content-padding, 2.4rem 1.6rem);
}
.products-bundle.is-hover .products-bundle__product-block:not(.is-selected) .products-bundle__product {
    opacity: 0.5;
}
.products-bundle-section.color-scheme-in-container--no {
    --content-padding: 2.4rem 0 0;
}
@media (min-width: 768px) {
    .products-bundle__hotspot {
        top: var(--offset-top);
        inset-inline-start: var(--offset-left);
    }
    .products-bundle__banner-wrap {
        width: 50%;
    }
    .products-bundle__content {
        width: 50%;
        padding: var(--content-padding-y, 3.2rem) var(--content-padding-x);
    }
    .products-bundle--image-right .products-bundle__banner-wrap {
        order: 9;
    }
    .products-bundle--image-height-full .products-bundle {
        align-items: stretch;
    }
    .products-bundle--image-height-full .products-bundle__banner {
        height: 100%;
    }
    .products-bundle--image-height-full .products-bundle__banner .media {
        height: 100%;
        width: 100%;
    }
}
@media (max-width: 767.98px) {
    .products-bundle .swiper-wrapper {
        flex-direction: column;
    }
    .products-bundle .swiper-slide + .swiper-slide {
        margin-top: 2rem;
        padding-top: 2rem;
        border-top: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
    }
}

.products-bundle-selection {
    --close-button-offset-y: 1.5rem;
}
.products-bundle-selection__bar-list {
    padding-top: var(--close-button-offset-y);
}
.products-bundle-selection__bar-item-content {
    width: 100%;
    aspect-ratio: 1;
    border-radius: min(1rem, var(--product-card-media-radius));
}
.products-bundle-selection__bar-item-content::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    border: 1px solid rgb(var(--color-foreground)/20%);
    opacity: 0;
    transition: opacity var(--animation-duration--medium) var(--animation-easing);
}
.products-bundle-selection__bar-item-border {
    color: rgb(var(--color-foreground)/20%);
    display: none;
}
.products-bundle-selection__bar-item-remove {
    position: absolute;
    top: calc(var(--close-button-offset-y) * -1);
    inset-inline-end: -0.4rem;
    padding: 0;
    width: 3rem;
    height: 3rem;
    line-height: 1;
    border-radius: 50%;
    box-shadow: 0 8px 14px rgb(var(--color-foreground)/15%);
}
.products-bundle-selection__bar-item.is-product .products-bundle-selection__bar-item-content::after {
    opacity: 1;
}
.products-bundle-selection__bar-item.is-placeholder .products-bundle-selection__bar-item-border {
    display: block;
}
.products-bundle-selection__bar-item.is-placeholder .products-bundle-selection__bar-item-remove {
    display: none;
}
.products-bundle-selection__bar-count {
    min-width: 2.4rem;
    height: 2.4rem;
    border-radius: 1.2rem;
    text-align: center;
}
.products-bundle-selection .product-card__form {
    --input-height: 4.4rem;
    --button-height: 4.4rem;
    margin-top: 0.4rem;
}
.products-bundle-selection .product-card__form .btn {
    --button-padding-inline: 2rem;
}
.products-bundle-selection__bar-items .accordion__details {
    border: 0;
}
.products-bundle-selection__bar-items .accordion__inner {
    padding-block: 0;
}
@media (min-width: 768px) {
    .products-bundle-selection {
        --close-button-offset-y: 1.3rem;
    }
    .products-bundle-selection__bar-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 10rem));
        gap: 1.2rem;
    }
    .products-bundle-selection__bar-column {
        flex: 0 0 clamp(20%, 38rem, 30%);
    }
    .products-bundle-selection .product-card__form {
        margin-top: 0.8rem;
    }
}
@media (max-width: 767.98px) {
    .products-bundle-selection__bar-column {
        display: contents;
    }
    .products-bundle-selection__bar {
        display: contents;
    }
    .products-bundle-selection-section {
        padding-bottom: 0;
    }
    .products-bundle-selection__bar-items {
        position: sticky;
        bottom: 0;
        z-index: 1;
        order: 9;
        margin-top: 2.4rem;
    }
    .products-bundle-selection__bar-items::before {
        content: "";
        position: absolute;
        top: 0;
        height: 100%;
        inset-inline: calc(-1 * var(--page-padding));
        background: rgb(var(--color-background));
        border-radius: 2rem 2rem 0 0;
        box-shadow: 0 -1rem 2rem rgb(var(--color-foreground)/10%);
    }
    .products-bundle-selection__bar-items .accordion__details.is-open .accordion__summary {
        padding-bottom: 0;
    }
    .products-bundle-selection__bar-items .accordion__summary {
        padding-block: 2.4rem;
    }
    .products-bundle-selection__bar-items .accordion__inner {
        padding-bottom: var(--padding-block-end);
    }
    .products-bundle-selection__bar-list-wrap .swipe-mobile {
        --swipe-item-width: clamp(
                6rem,
                calc(
                        (100vw - var(--page-padding, 1.6rem) * 2 - var(--scrollbar-width, 0) - 2.4rem) /
                        3
                ),
                10rem
        );
    }
}

.product-suggestion {
    --number-size: 2.4rem;
    --card-spacing: 0.8rem;
    --card-padding-x: 1.2rem;
    --card-padding-y: 2.4rem;
}

.product-suggestion__cards {
    gap: var(--card-spacing);
}

.product-suggestion__card.is-open .accordion__summary {
    cursor: auto;
    padding-bottom: calc(var(--card-padding-y) - 0.8rem);
}

.product-suggestion__card-header {
    padding: var(--card-padding-y) var(--card-padding-x);
}

.product-suggestion__card-number {
    width: var(--number-size);
    height: var(--number-size);
    border-radius: 50%;
    background: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
}

.product-suggestion .accordion__inner {
    padding-inline: var(--card-padding-x);
    padding-bottom: var(--card-padding-y);
}

.product-suggestion__card-badges .btn {
    cursor: auto;
    height: 3.6rem;
    padding-inline: 1.2rem;
    border-color: rgb(var(--color-border)/var(--color-border-alpha));
}

@media (min-width: 768px) {
    .product-suggestion {
        --card-padding-x: 4rem;
        --card-padding-y: 4rem;
        --card-spacing: 1rem;
        --number-size: 3rem;
    }
}
@media (max-width: 767.98px) {
    .product-suggestion__card-badges.mobile-visible {
        display: block !important;
        position: absolute;
        pointer-events: none;
        visibility: hidden;
        opacity: 0;
    }
}
.product-highlight-point {
    padding: 1.6rem;
    background-color: rgb(var(--color-background)/85%);
}
.product-highlight-point__header {
    gap: 1rem;
}

@media (min-width: 768px) {
    .product-highlight-points__column:nth-child(2n+1) {
        transform: translateY(calc(var(--f-row-gap) / 2));
    }
    .product-highlight-point {
        max-width: 32rem;
        backdrop-filter: blur(4px);
    }
}
@media (max-width: 767.98px) {
    .product-highlight-points__header {
        position: static;
    }
}
.flex-carousel .swiper-slide-custom {
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
}

.flex-carousel .swiper-backface-hidden .swiper-slide-custom {
    transform: translateZ(0);
    backface-visibility: hidden;
}

.flex-carousel--columns .swiper-slide-custom {
    width: 100%;
}

.scrolling-card-layered {
    --sticky-spacing: 1.1rem;
    --width-reduced: 4rem;
    contain: layout;
}

.scrolling-card-layered__cards {
    max-width: 44rem;
}

.scrolling-card-layered__card {
    position: sticky;
    top: var(--offset-top, calc(var(--header-height) + 2rem + var(--item-index) * var(--sticky-spacing)));
    will-change: transform;
    transform-origin: top center;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
}

@media (min-width: 768px) {
    .scrolling-card-layered {
        --sticky-spacing: 2rem;
        --width-reduced: 6rem;
    }
}
.scrolling-cards__headings {
    height: calc(clamp(3.4rem, 2.729vw + 1.307rem, 4.8rem) * 2.4);
}

.block-scrolling__headings {
    will-change: transform;
    backface-visibility: hidden;
}

.scrolling-cards__button {
    margin-top: 2.4rem;
}

.block-scrolling-cards,
.scrolling-cards__card {
    contain: layout;
}

@media (min-width: 768px) {
    .scrolling-cards__content,
    .scrolling-cards__cards .layout-panel-grid {
        display: grid;
        grid-template-columns: 1fr 1.2fr 1fr;
        grid-template-areas: "card1  heading card2";
        gap: var(--row-gap, 8rem) var(--column-gap, 3rem);
    }
    .scrolling-cards--has-cards .scrolling-cards__content {
        align-items: center;
        position: sticky;
        top: 0;
        height: min(100%, 100dvh - var(--header-height));
    }
    .scrolling-cards--has-cards .scrolling-cards__content-wrapper {
        position: absolute;
        inset: 0;
    }
    .scrolling-cards__content-inner {
        grid-column: heading;
    }
    .scrolling-cards__cards .f-column {
        display: flex;
        align-items: flex-start;
    }
    .scrolling-cards__cards .f-column:nth-child(odd) {
        grid-column: card1;
    }
    .scrolling-cards__cards .f-column:nth-child(even) {
        grid-column: card2;
        align-items: flex-end;
        padding-top: var(--zigzag-height, 8rem);
    }
    .scrolling-cards__button {
        margin-top: 3.2rem;
    }
}
@media (min-width: 1024px) {
    .scrolling-cards {
        --zigzag-height: 14rem;
        --column-gap: 5rem;
    }
}
.collage-product-card-overlay__cols {
    display: contents;
}
@media (min-width: 768px) {
    .collage-product-card-overlay {
        --gap-x: 4rem;
        --gap-y: 6rem;
    }
    .collage-product-card-overlay__grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--gap-y) var(--gap-x);
        align-items: flex-start;
    }
    .collage-product-card-overlay__cols {
        display: flex;
        flex-direction: column;
        gap: var(--gap-y);
    }
    .collage-product-card-overlay__cols-first > :nth-child(even) > *, .collage-product-card-overlay__cols-last > :nth-child(odd) > * {
        margin-inline: auto;
        max-width: var(--card-width, 78.4%);
    }
    .collage-product-card-overlay__cols-last {
        padding-top: var(--zigzag-offset, 0);
    }
}
@media (min-width: 1024px) {
    .collage-product-card-overlay {
        --gap-x: 6.4rem;
        --gap-y: 12rem;
    }
    .collage-product-card-overlay__grid {
        max-width: clamp(82.54%, max(82.54%, 110.6rem), 90%);
        margin-inline: auto;
    }
}
@media (min-width: 1440px) {
    .collage-product-card-overlay {
        --gap-x: 6rem;
    }
}

@keyframes dotscale {
    50% {
        transform: translateZ(0) scale3d(0.85, 0.85, 0.85);
    }
}
.shop-the-look {
    --banner-width: 66.737%;
    width: 100%;
    max-width: max(65%, 94.4rem);
    margin: 0 auto;
}
.shop-the-look__dialog .dialog__content {
    padding: 2.4rem 1.6rem;
}
@media (min-width: 768px) {
    .shop-the-look__banner {
        width: var(--banner-width);
    }
    .shop-the-look__content {
        width: calc(100% - var(--banner-width));
    }
}

.hotspot-icon {
    --factor-x: -1;
    width: 4.8rem;
    top: var(--offset-top-mobile);
    inset-inline-start: var(--offset-left-mobile);
    transform: translate(calc(var(--offset-left-mobile) * var(--factor-x)), calc(var(--offset-top-mobile) * -1));
    transform-origin: center;
    cursor: pointer;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: transparent;
}
@media (min-width: 768px) {
    .hotspot-icon {
        top: var(--offset-top);
        inset-inline-start: var(--offset-left);
        transform: translate(calc(var(--offset-left) * var(--factor-x)), calc(var(--offset-top) * -1));
    }
}
.hotspot-icon::before, .hotspot-icon::after {
    content: "";
    border-radius: 50%;
    position: absolute;
    width: 100%;
    aspect-ratio: 1;
    pointer-events: none;
    transform: translateZ(0) scale(1);
}
.hotspot-icon::before {
    background-color: rgb(var(--color-black)/20%);
    width: 66.66%;
    z-index: 2;
    transition: all 0.4s;
}
.hotspot-icon::after {
    background-color: rgb(var(--color-black)/10%);
    animation: 1.5s dotscale ease infinite;
    z-index: 1;
    transition: all 0.4s;
}
.hotspot-icon__dot {
    background-color: rgb(var(--color-white));
    width: 33.33%;
    z-index: 3;
    border-radius: 50%;
    aspect-ratio: 1;
    cursor: pointer;
    transition: all 0.4s;
}
.hotspot-icon__tooltip {
    z-index: 11;
    cursor: auto;
    transition: 0.3s ease-out;
    inset: auto auto calc(100% + 0.3rem);
    overflow: visible;
    height: 3.6rem;
    border-radius: 3.6rem;
    padding: 0 1.2rem;
    gap: 0.6rem;
    white-space: nowrap;
    background: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
}
.hotspot-icon__tooltip::before, .hotspot-icon__tooltip::after {
    content: "";
    width: 100%;
    height: 1.4rem;
    position: absolute;
    left: 0;
}
.hotspot-icon__tooltip::before {
    top: 100%;
}
.hotspot-icon__tooltip::after {
    bottom: 100%;
}
.hotspot-icon.is-selected {
    z-index: 1;
}
.hotspot-icon.is-selected .hotspot-icon__tooltip {
    background: rgb(var(--color-primary-button-background));
    color: rgb(var(--color-primary-button-text));
}

.hotspot-icon__product {
    --card-margin-x: 1.2rem;
    inset-block: var(--card-offset-y, 50% auto);
    inset-inline: var(--card-offset-x, 100% auto);
    transform: translate(var(--card-margin-x), var(--card-margin-y, -50%));
    transition: all var(--animation-duration--medium) var(--animation-easing);
    transition-property: opacity, visibility;
}
.hotspot-icon__product::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    inset-inline-end: var(--card-margin-x, 100%);
    border: 0 solid transparent;
    border-block-width: 12rem;
    border-inline-width: 0 3.6rem;
}
.hotspot-icon__product-wrapper {
    padding: var(--product-padding, 0.8rem 0.8rem 1.2rem);
    width: var(--product-width, 13.6rem);
    border-radius: min(1rem, var(--product-card-media-radius, 0));
    box-shadow: 0 0 2rem rgb(var(--color-foreground)/10%);
}
.hotspot-icon__product-media {
    border-radius: calc(min(1rem, var(--product-card-media-radius, 0rem)) - 0.2rem);
}
.hotspot-icon.is-selected .hotspot-icon__product {
    opacity: 1;
    visibility: visible;
}
@media (min-width: 768px) {
    .hotspot-icon__product {
        --product-width: 17.4rem;
        --product-padding: 1.2rem 1.2rem 1.6rem;
    }
}

.hotspot-card__info .button-block {
    margin-top: 2.4rem;
}
@media (max-width: 767.98px) {
    .hotspot-card__image {
        width: 14rem;
    }
    .hotspot-card__content {
        display: contents;
    }
    .hotspot-card__heading {
        order: -1;
        margin-bottom: 1.6rem;
        padding-inline-end: 3.2rem;
    }
}

.lookbook-carousel {
    --carousel-controls-padding-y: 1.9rem;
    --carousel-controls-margin-top: 0;
    --slide-padding-x: 1.6rem;
    --slide-padding-y: 1.2rem;
    grid-template-rows: minmax(0, 1fr) auto;
}
.lookbook-carousel .swiper-slide {
    height: auto;
}
.lookbook-carousel--content-inside {
    --slide-padding-x: 0 !important;
}
.lookbook-carousel--content-inside .lookbook-carousel__controls,
.lookbook-carousel--content-inside .lookbook-slide__content {
    grid-column: 2;
}
.lookbook-carousel--height-adapt {
    height: 100%;
}
.lookbook-carousel--height-small {
    --slide-height: 42rem;
}
.lookbook-carousel--height-medium {
    --slide-height: 52rem;
}
.lookbook-carousel--height-large {
    --slide-height: 62rem;
}
.lookbook-carousel__controls {
    z-index: 1;
    width: auto;
    grid-row: 2/-1;
    padding-inline: var(--slide-padding-x);
    background: transparent !important;
}
.lookbook-carousel__controls .carousel__controls {
    padding-block: var(--carousel-controls-padding-y);
    box-shadow: 0 -0.1rem 0 0 rgb(var(--color-border)/var(--color-border-alpha));
}
.lookbook-carousel:has(.lookbook-carousel__controls) .lookbook-slide {
    grid-template-rows: minmax(0, 1fr) var(--control-height, auto);
}
@media (min-width: 768px) {
    .lookbook-carousel {
        --carousel-controls-padding-y: 2.4rem;
        --slide-padding-x: 5rem;
        --slide-padding-y: 2.4rem;
    }
    .lookbook-carousel--height-small {
        --slide-height: 57rem;
    }
    .lookbook-carousel--height-medium {
        --slide-height: 66rem;
    }
    .lookbook-carousel--height-large {
        --slide-height: 75rem;
    }
}

.lookbook-slide {
    --item-padding-x: 1.6rem;
    --item-padding-y: 2rem;
    height: var(--slide-height);
    max-height: min(100dvh, var(--slide-height));
}
.lookbook-slide .media img,
.lookbook-slide .media svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lookbook-slide__content {
    padding-block: var(--slide-padding-y);
    padding-inline: var(--slide-padding-x);
    grid-row: 1/span 1;
    z-index: var(--layer-raised);
    max-height: inherit;
}
.lookbook-slide__content-inner {
    background: none;
}
.lookbook-slide__popover-wrapper {
    width: 8rem;
    height: 100%;
}
.lookbook-slide__popover-wrapper[open] .lookbook-slide__popover {
    opacity: 1;
    visibility: visible;
    transform: translateZ(0);
}
.lookbook-slide__popover {
    max-height: 100%;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity var(--animation-duration--medium) var(--animation-easing), visibility var(--animation-duration--medium) var(--animation-easing), transform var(--animation-duration--medium) var(--animation-easing--smooth);
}
.lookbook-slide__popover-toggle {
    transition: opacity var(--animation-duration--medium) var(--animation-easing), visibility var(--animation-duration--medium) var(--animation-easing);
}
.lookbook-slide__popover-close::before {
    display: block;
    content: "";
    position: absolute;
    inset-block: -1.5rem;
    inset-inline: calc(-1 * var(--item-padding-x));
}
.lookbook-slide__popover-header {
    position: sticky;
    padding: 1.2rem var(--item-padding-x);
    border-bottom: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
}
.lookbook-slide__popover-body {
    padding-block: var(--item-padding-y);
}
.lookbook-slide__product {
    padding-inline: var(--item-padding-x);
}
.lookbook-slide__product + .lookbook-slide__product {
    padding-top: var(--item-padding-y);
    margin-top: var(--item-padding-y);
    border-top: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
}
.lookbook-slide__dialog .dialog__header {
    position: sticky;
    padding: 2.4rem var(--item-padding-x) 2rem;
}
.lookbook-slide__dialog .dialog__content {
    max-height: inherit;
}
.lookbook-slide__dialog .dialog__body {
    padding-block: 0 2.4rem;
}
.lookbook-slide__dialog .lookbook-slide__product {
    margin-inline: var(--item-padding-x);
    padding-inline: 0;
}
@media (min-width: 768px) {
    .lookbook-slide {
        --item-padding-y: 1.6rem;
    }
    .lookbook-slide__popover-wrapper {
        width: min(36.5rem, 50%);
    }
    .lookbook-slide__popover-wrapper[open] .lookbook-slide__popover-toggle {
        opacity: 0;
        visibility: hidden;
    }
    .lookbook-slide__product .product-card--horizontal {
        --product-card-media-width: 9rem;
        --product-card-wrapper-gap: 1.2rem;
    }
}
@media (max-width: 767.98px) {
    .lookbook-slide__popover-toggle {
        --button-padding-inline: 1.5rem;
    }
}

.hero-banner .hero-banner--content-inside {
    --edge-padding-inline: 0;
    --edge-padding-inline-mobile: 0;
}
.hero-banner .hero-banner--content-inside .hero-banner__content {
    grid-column: 2;
}
.hero-banner .section__wrapper {
    height: var(--height);
}
.hero-banner .media--adapt {
    --height: 100%;
}
.hero-banner .media--small {
    --height: 35rem;
}
.hero-banner .media--medium {
    --height: 45rem;
}
.hero-banner .media--large {
    --height: 52rem;
}
.hero-banner .marquee {
    order: var(--order);
    margin-block-end: 3rem;
}
.hero-banner .marquee.marquee--top {
    margin-block: 3rem 0;
}

.hero-banner__media img,
.hero-banner__media svg,
.hero-banner__media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 767.98px) {
    .hero-banner .media--small {
        --height: 30rem;
    }
    .hero-banner .media--medium {
        --height: 34rem;
    }
    .hero-banner .media--large {
        --height: 48rem;
    }
    .hero-banner .media-mobile--adapt {
        --height: 100%;
    }
    .hero-banner .marquee {
        margin-block-end: 2.4rem;
    }
    .hero-banner .marquee.marquee--top {
        margin-block-start: 2.4rem;
    }
}
.newsletter.page-width .newsletter__wrapper {
    padding-inline: 1.6rem;
}

.newsletter__media .media,
.newsletter__media .media__image {
    width: 100%;
    height: 100%;
}

@media (min-width: 768px) {
    .newsletter__content-inner {
        max-width: var(--content-width);
    }
    .layered-images {
        position: absolute;
        inset: 0;
    }
    .layered-image {
        position: absolute;
        top: var(--top);
        inset-inline-start: var(--left);
        width: 100%;
        max-width: min(var(--width), max(160px, var(--width) * 0.8));
    }
    .layered-image--move-y .layered-image__inner {
        animation: float-up var(--mover-duration, 3s) linear infinite alternate;
    }
    .layered-image--move-y-reverse .layered-image__inner {
        animation: float-down var(--mover-duration, 3s) linear infinite alternate;
    }
}
@media (min-width: 1440px) {
    .layered-image {
        max-width: var(--width);
    }
}
.testimonial--parallax {
    max-width: 100%;
    height: auto;
    position: relative;
    z-index: 2;
}

.testimonial-parallax-header {
    --text-align-default: center;
}

@media (min-width: 768px) {
    .testimonials-parallax__column {
        grid-column: 1/end;
        grid-row: var(--row-start)/span 4;
    }
    .testimonial--parallax {
        backdrop-filter: blur(4px);
        background-color: rgb(var(--color-background)/85%);
    }
    .testimonial-parallax-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        position: sticky;
        inset-block-start: 50%;
        z-index: 1;
        margin-bottom: 0;
    }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
    .testimonial--parallax {
        width: 24rem;
    }
}
@media (min-width: 768px) {
    .testimonial--parallax {
        width: 29.2rem;
    }
}
@media (max-width: 767.98px) {
    .testimonials-parallax__header {
        position: static;
    }
    .testimonial--parallax {
        transform: none !important;
    }
}
.media-gallery .deferred-media__poster-icon,
.media-gallery .video-placeholder-wrapper__poster-icon {
    top: unset;
    bottom: 1rem;
    left: 1rem;
    transform: unset;
    --button-width: 3.4rem;
    --button-height: 3.4rem;
}
.media-gallery__content {
    margin-block-start: 1.2rem;
}
@media (max-width: 767.98px) {
    .media-gallery__content {
        margin-block-start: 0.4rem;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .media-zoom-reveal .media__image {
        transform: scale(1.15);
        opacity: 0;
        transition: transform 1.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease-in-out;
    }
    .media-zoom-reveal.is-revealed .media__image {
        transform: none;
        opacity: 1;
    }
}
@media (min-width: 768px) {
    .blog-posts__grid .button-block {
        margin-block-start: 4rem;
    }
    .blog-posts__featured-grid .section-header-block {
        margin-block-end: 4rem;
    }
    .blog-posts__featured-grid .button-block {
        margin-block-start: 0;
    }
    .blog-posts__featured-grid .blog-posts__inner {
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: repeat(3, auto);
    }
    .blog-posts__featured-grid .f-column {
        grid-column: 4/6;
    }
    .blog-posts__featured-grid .f-column:first-child {
        grid-area: 1/1/4/4;
    }
    .blog-posts--featured_grid .article-card--row .article-card__media {
        --focus-radius: min(1rem, var(--border-radius));
        border-radius: min(1rem, var(--border-radius));
    }
    .blog-posts .divider {
        inset-block-end: calc(-1 * var(--f-row-gap) / 2);
        height: 0.1rem;
        background: rgb(var(--color-background-secondary, 1));
    }
}
@media (max-width: 767.98px) {
    .blog-posts__grid .button-block {
        margin-block-start: 3.2rem;
    }
    .blog-posts__featured-grid .section-header-block {
        margin-block-end: 2.4rem;
    }
    .blog-posts .article-card__tags {
        --content-padding: 1.8rem;
    }
    .blog-posts .article-card--overlay .article-card__tags {
        padding-block: var(--edge-padding-block-mobile);
        padding-inline: var(--edge-padding-inline-mobile);
    }
}

testimonial-slider {
    --avatar-size: 100px;
    --item-gap: 8px;
    --content-gap: 2.4rem;
    --slide-duration: 600ms;
    --slide-easing: cubic-bezier(0.4, 0, 0.2, 1);
    --content-easing: cubic-bezier(0.4, 0, 0.2, 1);
    --height-duration: 400ms;
    --height-easing: cubic-bezier(0.4, 0, 0.2, 1);
    --progress-height: var(--slider-progressbar-height, 0.2rem);
    --progress-bg: rgb(var(--color-foreground) / 10%);
    --progress-color: rgb(var(--color-foreground));
    --progress-radius: 0;
    --progress-width: var(--slider-progressbar-width, 14rem);
    --progress-max-width: 200px;
    --progress-transition: width var(--slide-duration) var(--slide-easing);
    --slide-active-gap-offset: 5rem;
    margin: 0 auto;
    min-height: 0;
    overflow-x: clip;
}

@media screen and (width >= 640px) {
    testimonial-slider {
        --avatar-size: 120px;
        --item-gap: 10px;
    }
}
@media screen and (width >= 1200px) {
    testimonial-slider {
        --avatar-size: 140px;
        --item-gap: 10px;
    }
}
@media screen and (width >= 1440px) {
    testimonial-slider {
        --avatar-size: 170px;
        --item-gap: 10px;
    }
}
/* ===== MAIN SLIDER ===== */
.testimonial-slider__container {
    position: relative;
    width: 100%;
    overflow: hidden;
    cursor: grab;
    min-height: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

/* ===== THUMBNAILS (MOBILE) ===== */
.testimonial-slider__thumbnails {
    display: none;
    gap: 8px;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-bottom: 2.4rem;
    padding-inline: var(--page-padding);
    margin-inline: calc(var(--page-padding) * -1);
    scroll-padding-inline: var(--page-padding);
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
}

.testimonial-slider__thumbnails::-webkit-scrollbar {
    display: none;
}

.testimonial-slider__thumbnails .testimonial-slider__slide-avatar {
    opacity: 1;
    visibility: visible;
}

.testimonial-slider__thumbnail {
    flex-shrink: 0;
    width: var(--avatar-size);
    cursor: pointer;
    opacity: 0.4;
    transition: opacity 0.3s ease;
}

.testimonial-slider__thumbnail--active {
    opacity: 1;
}

/* Container state: dragging */
.testimonial-slider__container--dragging {
    cursor: grabbing;
}

.testimonial-slider__container--dragging * {
    cursor: grabbing !important;
    pointer-events: none;
}

/* Container state: single slide (no interaction) */
.testimonial-slider__container--single {
    cursor: default !important;
}

.testimonial-slider__container--single * {
    cursor: default !important;
}

/* ===== SLIDES TRACK ===== */
.testimonial-slider__track {
    display: flex;
    gap: var(--item-gap);
    position: relative;
    align-items: flex-start;
    user-select: none;
    min-height: 0;
    will-change: transform, height;
    transform: translateZ(0);
}

.testimonial-slider__track:not([style*=height]) {
    height: auto;
}

/* ===== SLIDE (BASE) ===== */
.testimonial-slider__slide {
    flex-shrink: 0;
    display: flex;
    width: 100%;
    max-width: calc(100% - var(--avatar-size) * var(--slides-visible-count, 2) - var(--item-gap) * var(--slides-visible-count, 2));
    padding: 0;
    padding-inline-end: var(--slide-active-gap-offset);
    border-radius: 12px;
    background: inherit;
    cursor: default;
    transform: translateZ(0);
}

.testimonial-slider__slide:active {
    cursor: grabbing;
}

.testimonial-slider__slide .testimonial-slide {
    gap: 2.4rem;
}

.testimonial-slider__slide .testimonial-slide__media {
    max-width: 100%;
    align-self: self-start;
}

/* Inactive slides: hide content, collapse width */
.testimonial-slider__slide--inactive {
    margin-inline-end: calc(var(--slide-active-content-width, 0px) * -1 - var(--content-gap) - var(--slide-active-gap-offset));
}

.testimonial-slider__slide--inactive .testimonial-slider__slide-content {
    opacity: 0;
    visibility: hidden;
    clip-path: inset(0 100% 0 0);
}

/* ===== SLIDE CONTENT (BASE) ===== */
.testimonial-slider__slide-content {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    clip-path: inset(0 100% 0 0);
    will-change: clip-path, opacity;
    transform: translateZ(0);
}

/* ===== SLIDE INNER CONTENT ===== */
.testimonial-slider__slide-inner {
    flex: 1;
    white-space: normal;
}

/* ===== SLIDE AVATAR (BASE) ===== */
.testimonial-slider__slide-avatar {
    width: var(--avatar-size);
    flex-shrink: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    pointer-events: none;
    overflow: hidden;
}

.testimonial-slider__slide-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Avatar placeholder modifier */
.testimonial-slider__slide-avatar--placeholder {
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #ccc;
}

.testimonial-slider__slide-avatar--placeholder .placeholder-text {
    font-size: calc(var(--avatar-size) * 0.4);
    color: #999;
    user-select: none;
}

/* ===== SLIDE STATES ===== */
.testimonial-slider__slide--active .testimonial-slider__slide-content {
    opacity: 1;
    visibility: visible;
    clip-path: inset(0 0 0 0);
}

.testimonial-slider__slide--active .testimonial-slider__slide-avatar {
    opacity: 1;
    visibility: visible;
}

.testimonial-slider__slide--next .testimonial-slider__slide-avatar {
    opacity: 1;
    visibility: visible;
}

/* ===== CONTROLS ===== */
.testimonial-slider__controls-wrapper {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    pointer-events: none;
    width: calc(100% - var(--avatar-size) * var(--slides-visible-count, 2) - var(--item-gap) * var(--slides-visible-count, 2) - var(--slide-active-gap-offset));
}

.testimonial-slider__controls {
    display: flex;
    align-items: center;
    gap: var(--slider-controls-gap, 1.2rem);
    pointer-events: all;
}

.testimonial-slider__nav-buttons {
    display: flex;
    align-items: center;
    gap: var(--slider-controls-buttons-gap, 0.8rem);
}

.testimonial-slider__button {
    position: relative;
    display: flex;
    cursor: pointer;
}

.testimonial-slider__button::before {
    content: "";
    position: absolute;
    inset: calc(var(--carousel-controls-buttons-gap, 0.8rem) / 2 * -1);
}

.testimonial-slider__button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

/* ===== PAGINATION (PROGRESS BAR) ===== */
.testimonial-slider__pagination {
    flex: 1;
    width: var(--progress-width);
    height: var(--progress-height);
    background: var(--progress-bg);
    border-radius: var(--progress-radius);
    overflow: hidden;
    position: relative;
}

.testimonial-slider__progress {
    height: 100%;
    background: var(--progress-color);
    width: var(--progress-width, 0%);
    transition: var(--progress-transition);
    will-change: width;
    transform-origin: left top;
    transform: translateZ(0);
}

/* ===== COUNTER ===== */
.testimonial-slider__counter {
    white-space: nowrap;
}

/* ===== ACCESSIBILITY ===== */
/* ===== MOBILE RESPONSIVE ===== */
@media (width <= 1023.98px) and (width >= 768px) {
    .testimonial-slider__controls-wrapper {
        padding-inline-start: calc(var(--avatar-size) + var(--content-gap));
    }
}
@media (width <= 1023.98px) {
    .testimonial-slider__controls-wrapper {
        width: 100%;
        position: static;
        justify-content: flex-start;
        margin-block-start: 2.4rem;
    }
}
@media (width <= 767.98px) {
    testimonial-slider {
        --progress-width: 100%;
        overflow: visible;
    }
    .testimonial-slider__thumbnails {
        display: flex;
    }
    .testimonial-slider__container {
        margin-top: 0;
    }
    .testimonial-slider__track {
        align-items: flex-start;
        gap: 20px;
    }
    .testimonial-slider__slide {
        --slide-active-gap-offset: 0;
        width: 100%;
        min-width: 100%;
        flex-shrink: 0;
        margin: 0;
    }
    .testimonial-slider__slide--active {
        width: 100%;
    }
    .testimonial-slider__slide .testimonial-slider__slide-avatar {
        display: none;
    }
    .testimonial-slider__slide-content {
        width: 100%;
        max-height: none;
        opacity: 1;
        visibility: visible;
        clip-path: none;
        white-space: normal;
    }
    .testimonial-slider__slide-inner {
        width: 100%;
        padding-left: 0;
    }
    .testimonial-slider__controls-wrapper {
        margin-block-start: 1.6rem;
    }
    .testimonial-slider__controls {
        width: 100%;
    }
}
/* stylelint-disable-next-line media-feature-range-notation */
@media (min-width: 1536px) {
    testimonial-slider {
        --slides-visible-count: 3;
    }
}
/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
    .testimonial-slider__track,
    .testimonial-slider__slide,
    .testimonial-slider__slide-content,
    .testimonial-slider__progress,
    .testimonial-slider__thumbnail {
        transition: none !important;
        animation: none !important;
    }
    .testimonial-slider__track {
        transition: none !important;
    }
}
/* ===== DESKTOP HIDDEN ELEMENTS ===== */
@media (width >= 768px) {
    .testimonial-slider__thumbnails {
        display: none;
    }
}
testimonial-slider {
    position: relative;
}

testimonial-slider::after {
    content: "";
    position: absolute;
    inset-block-start: 0;
    height: var(--avatar-size);
    inset-inline-end: calc(var(--page-padding) * -1);
    transform: scaleX(-1);
    width: calc(var(--page-padding) + var(--avatar-size));
    background: linear-gradient(to right, rgb(var(--color-background)/100%) var(--page-padding), rgb(var(--color-background)/0%));
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.3s ease;
    z-index: 2;
}

testimonial-slider.is-at-end::after {
    opacity: 0;
}

.testimonial-split__product {
    padding: var(--pcard-offset, 1.2rem);
}
.testimonial-split__media-image {
    height: 100%;
    aspect-ratio: unset;
}

.testimonials-split-slider__medias {
    --thumbnail-width: 5rem;
    container-type: inline-size;
}
.testimonials-split-slider__media {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all var(--animation-duration--medium) var(--animation-easing);
}
.testimonials-split-slider__media.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.testimonials-split-slider .swiper {
    max-width: 100%;
}
.testimonials-split-slider--left .carousel__controls {
    --carousel-controls-margin-top: 0;
}
.testimonials-split-slider--left .carousel__controls-buttons {
    z-index: var(--layer-flat);
}
.testimonials-split-slider--center .testimonial-split__text {
    --text-align: center;
    --text-align-mobile: center;
    flex: none;
}
.testimonials-split-slider--center .testimonial-split__content {
    justify-content: center;
}
.testimonials-split-slider--center .author-info {
    justify-content: center;
}
.testimonials-split-slider--center .carousel__controls {
    --carousel-controls-margin-top: 4rem;
    --carousel-progressbar-width: 100%;
}

@container (min-width: 301px) {
    .testimonials-split-slider__medias .product-overlay-card__content {
        --action-display: block;
    }
}
@media (min-width: 768px) {
    .testimonials-split-slider {
        --pcard-offset: 2rem;
    }
    .testimonials-split-slider__medias {
        --thumbnail-width: 8rem;
        width: 37.5%;
    }
    .testimonials-split-slider__content {
        width: 62.5%;
    }
    .testimonials-split-slider--media-wide .testimonials-split-slider__medias,
    .testimonials-split-slider--media-wide .testimonials-split-slider__content {
        width: 50%;
    }
    .testimonials-split-slider--media-wide .testimonial-split__product {
        justify-content: flex-start;
    }
    .testimonials-split-slider--media-wide .product-overlay-card__content {
        width: 37rem;
        max-width: 100%;
    }
    .testimonials-split-slider--media-right .testimonials-split-slider__content {
        order: -1;
    }
}
@media (min-width: 1024px) {
    .testimonials-split-slider {
        --pcard-offset: 3rem;
    }
}
@media (max-width: 1023.98px) {
    .testimonials-split-slider__medias {
        --overlay-inset-x: 1rem;
        --overlay-inset-bottom: 1rem;
        --thumbnail-width: 5rem;
    }
    .testimonials-split-slider .carousel__controls {
        --carousel-controls-margin-top: 2rem;
        --carousel-progressbar-width: 100%;
        position: static;
        align-self: self-start;
        width: 100%;
    }
    .testimonials-split-slider--center .carousel__controls {
        align-self: center;
        width: 100%;
    }
}
@media (max-width: 767.98px) {
    .testimonials-split-slider--media-wide {
        --pcard-offset: 1.6rem;
    }
    .testimonials-split-slider .carousel__controls {
        --carousel-controls-margin-top: 2.4rem;
    }
}
.press-slider {
    --carousel-controls-margin-top: 0;
}
.press-slider__thumbnails .swiper {
    container-type: unset;
}
.press-slider__thumbnails .swiper-slide {
    width: fit-content;
}
.press-slider--center .section-header-block {
    margin-inline-end: 0;
}
@media (min-width: 768px) {
    .press-slider-section .section-header-block--left {
        flex-shrink: 0;
        width: 22.8rem;
        max-width: 25%;
        padding-block-end: 0;
    }
    .press-slider-section .section-header-block--left .section-header-block__inner {
        border-inline-end: 1px solid rgb(var(--color-border)/var(--color-border-alpha));
        padding-inline-end: 3rem;
    }
    .press-slider-section .section-header-block--top {
        padding-inline-end: 0;
    }
    .press-slider-section .page-width__inner:has(.section-header-block--left) {
        flex-direction: row;
    }
    .press-slider--center .press-slide__thumbnail-wrap {
        margin-inline: calc(var(--thumbnails-gap) / 2);
    }
    .press-slider--center .carousel__controls {
        justify-content: center;
    }
    .press-slider--center .author-info__bio {
        justify-content: center;
    }
}
@media (max-width: 767.98px) {
    .press-slider .section-header-block {
        margin-inline-end: 0;
    }
    .press-slider__thumbnails {
        display: none;
    }
    .press-slider--mobile-center .carousel__controls {
        justify-content: center;
    }
    .press-slider--mobile-center .author-info__bio {
        justify-content: center;
    }
}

.press-slide__image, .press-slide__thumbnail-wrap {
    width: var(--image-width-mobile);
}
@media (min-width: 768px) {
    .press-slide__image, .press-slide__thumbnail-wrap {
        width: var(--image-width);
    }
}
.press-slide__thumbnail {
    opacity: 0.5;
    transition: opacity var(--animation-duration--medium) var(--animation-easing);
}
.press-slide__thumbnail.is-active {
    opacity: 1;
}

@media (min-width: 768px) {
    .countdown-timer-section .layered-image {
        --translate-x: calc(var(--left) * -1);
        --translate-y: calc(var(--top) * -1);
        --scale: 0.6;
        transform: translate(var(--translate-x), var(--translate-y)) scale(var(--scale));
        height: fit-content;
    }
}
@media (min-width: 1024px) {
    .countdown-timer-section .layered-image {
        --scale: 1;
    }
}
.countdown-timer-section .countdown-timer__number {
    background: rgb(var(--number-background));
}
@media (min-width: 768px) {
    .countdown-timer__images {
        margin-bottom: 0;
        margin-inline: auto;
        padding-inline: 0;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .countdown-timer__button {
        margin-block-start: 3.2rem;
    }
}

.comparison-gallery {
    --wrapper-padding-x: 0;
}
.comparison-gallery .swipe__inner {
    --swipe-item-width: 6.8rem;
}
.comparison-gallery-item__thumbnail {
    width: 6.8rem;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
    padding: 0.3rem;
    transition: border-color var(--animation-duration--medium) var(--animation-easing);
}
.comparison-gallery-item__thumbnail[aria-current=true] {
    --color-border-alpha: 1;
}
.comparison-gallery__product-thumbnails {
    --page-padding: 1.6rem;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
}
.comparison-gallery__images, .comparison-gallery__product-infos {
    transition: height var(--animation-duration--long) var(--animation-easing--smooth);
}
.comparison-gallery__product, .comparison-gallery__image {
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--animation-duration--medium) var(--animation-easing);
}
.comparison-gallery__product[aria-current=true], .comparison-gallery__image[aria-current=true] {
    opacity: 1;
    visibility: visible;
}
.comparison-gallery__product .button-block {
    padding-top: 2.4rem;
}
@media (min-width: 768px) {
    .comparison-gallery {
        --wrapper-padding-x: 0rem;
        --content-padding-x: 5rem;
        --image-column-width: 50%;
    }
    .comparison-gallery .swipe__inner {
        --swipe-item-width: 6.8rem;
    }
    .comparison-gallery__images {
        flex: 0 0 var(--image-column-width);
        max-width: var(--image-column-width);
        padding-inline-start: var(--wrapper-padding-x);
    }
    .comparison-gallery__content {
        flex: 0 0 calc(100% - var(--image-column-width));
        max-width: calc(100% - var(--image-column-width));
        padding-inline: var(--content-padding-x) var(--wrapper-padding-x);
    }
    .comparison-gallery__product .button-block {
        padding-top: 3.2rem;
    }
}
@media (min-width: 1200px) {
    .comparison-gallery {
        --wrapper-padding-x: 0rem;
        --content-padding-x: 5rem;
        --image-column-width: 60%;
    }
}
@media (min-width: 1440px) {
    .comparison-gallery {
        --content-padding-x: 10rem;
        --wrapper-padding-x: 5rem;
        --image-column-width: 57.5%;
    }
}
@media (max-width: 767.98px) {
    .comparison-gallery__content {
        display: contents;
    }
    .comparison-gallery__content > * {
        width: 100%;
    }
    .comparison-gallery .section-header-block {
        order: -9;
    }
    .comparison-gallery__product-thumbnails {
        order: -8;
        padding-bottom: 0;
        border-bottom: 0;
        margin-bottom: 1.6rem;
    }
    .comparison-gallery__product-infos {
        margin-top: 1.6rem;
    }
}
@media (hover: hover) {
    .comparison-gallery-item__thumbnail:hover {
        --color-border-alpha: 1;
    }
}

.comparison-table .image-block,
.comparison-table .image-block__image,
.comparison-table .media,
.comparison-table .media__image {
    width: 100%;
    height: 100%;
}
.comparison-table__header {
    padding: 2.4rem 2rem;
}
@media (min-width: 768px) {
    .comparison-table__header {
        padding: 4rem;
    }
}
.comparison-table__content {
    grid-area: 1/2/end/end;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    overflow: auto hidden;
    scrollbar-width: thin;
}
@media (max-width: 767.98px) {
    .comparison-table__content {
        scrollbar-width: none;
    }
    .comparison-table__content::-webkit-scrollbar {
        display: none;
    }
}

.quick-comparison-table {
    border-collapse: collapse;
    width: 100%;
    height: 100%;
    table-layout: fixed;
}
.quick-comparison-table tr:not(:last-child) td::after {
    content: "";
    position: absolute;
    bottom: 0;
    inset-inline: 0;
    z-index: 10;
    border-bottom: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
}
.quick-comparison-table td {
    position: relative;
    padding: 1.1rem 1.6rem;
    text-align: center;
    vertical-align: middle;
    width: 11rem;
    height: 7rem;
    z-index: 0;
}
.quick-comparison-table .td-label {
    text-align: start;
    width: 20rem;
}
.quick-comparison-table .td-checkbox {
    font-size: 0;
}
.quick-comparison-table tr td:first-child,
.quick-comparison-table tr td:nth-child(2) {
    background-color: rgb(var(--color-background-secondary));
}
@media (max-width: 767.98px) {
    .quick-comparison-table .icon--extra-extra-large {
        --icon-size: 2.4rem;
    }
}
@media (min-width: 768px) {
    .quick-comparison-table-container {
        display: grid;
        grid-template-columns: 30% 1fr;
    }
    .quick-comparison-table td {
        width: 20rem;
    }
    .quick-comparison-table .td-label {
        z-index: 9;
        position: sticky;
        inset-inline-start: 0;
        width: 33rem;
        padding-inline-start: 3.2rem;
    }
}

.scroll-progress-bar {
    width: 100%;
    margin-block-start: 2rem;
}
.scroll-progress-bar .progress-container {
    width: 8rem;
    height: 0.8rem;
    border-radius: 2rem;
    margin: 0 auto;
    overflow: hidden;
    background-color: rgb(var(--color-background)/40%);
}
.scroll-progress-bar .progress-bar {
    height: 100%;
    background-color: rgb(var(--color-background));
    width: 0%;
    transition: width 0.1s ease-out;
}

.section--icon-boxes .icon-boxes__wrapper .icon-box {
    height: 100%;
}
.section--icon-boxes .icon-boxes__wrapper .icon-box:not(.color-inherit) {
    padding: 2.4rem 1.6rem 3.2rem;
}
.section--icon-boxes .dialog {
    --dialog-max-width: 55rem;
}
.section--icon-boxes .dialog__content {
    padding: 4rem 3rem;
}
.section--icon-boxes .dialog .icon-box {
    --icon-box-padding-top: 2rem;
    --icon-box-margin-top: 2rem;
}
.section--icon-boxes .dialog .icon-box + .icon-box {
    padding-block-start: var(--icon-box-padding-top);
    margin-block-start: var(--icon-box-margin-top);
    border-top: 0.1rem solid rgb(var(--color-border)/var(--color-border-alpha));
}
.section--icon-boxes .dialog .icon-box .icon--custom-size {
    --icon-size: calc(var(--icon-custom-size) * 0.96);
}

@media (min-width: 768px) {
    .section--icon-boxes .carousel .swiper-slide {
        height: auto;
    }
}
@media (min-width: 1200px) {
    .section--icon-boxes .swiper-initialized .swiper-slide:not(.swiper-slide-fully-visible) {
        opacity: 0.4;
    }
}
@media (max-width: 767.98px) {
    .section--icon-boxes .dialog__content {
        padding: 2.4rem 1.6rem;
    }
    .section--icon-boxes .dialog .icon-box {
        --icon-box-padding-top: 1.6rem;
        --icon-box-margin-top: 1.6rem;
        --icon-spacing: 1.2rem !important;
        --content-gap: 0.8rem !important;
    }
    .section--icon-boxes .dialog .icon-box .icon--custom-size {
        --icon-size: calc(var(--icon-custom-size-mobile) * 0.75);
    }
}
.timeline-media {
    aspect-ratio: var(--block-ratio);
}
.timeline-media .spinning-icon-badge-block {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    z-index: 1;
    transform: translate(50%, -50%);
}
.timeline-media__image {
    position: absolute;
    width: var(--width);
}
.timeline-media__image--first {
    inset-block-start: 0;
    inset-inline-start: 0;
}
.timeline-media__image--secondary {
    inset-block-end: 0;
    inset-inline-end: 0;
}

.timeline-block {
    column-gap: 4rem;
}
.timeline-block__progress {
    --progress: 0%;
    --main-color: rgb(var(--progress-bar-color) / 100%);
    --dot-size: 1.2rem;
    --progress-size: 0.1rem;
    --dashed-start: 0px;
    --dashed-end: 2px;
    --dashed-gap: 2px;
    --step-length: calc(var(--dashed-end) + var(--dashed-gap));
    width: var(--dot-size);
    flex-shrink: 0;
    transform: translateY(1rem);
    background: radial-gradient(circle at center calc(var(--dot-size) / 2), var(--main-color) calc(var(--dot-size) / 2), transparent calc(var(--dot-size) / 2)) top/100% 100% no-repeat, repeating-linear-gradient(to bottom, var(--main-color) var(--dashed-start) var(--dashed-end), transparent var(--dashed-end) var(--step-length)) top/var(--progress-size) var(--progress) no-repeat, repeating-linear-gradient(to bottom, rgb(var(--color-foreground)/20%) var(--dashed-start) var(--dashed-end), transparent var(--dashed-end) var(--step-length)) top/var(--progress-size) no-repeat;
}
.timeline-block__badge {
    color: var(--badge-color);
    background: var(--badge-background-color);
}
.timeline-block__content {
    row-gap: var(--content-row-gap);
    padding-block-end: 6rem;
}
.timeline-block:last-child .timeline-block__progress {
    background: radial-gradient(circle at center calc(var(--dot-size) / 2), var(--main-color) calc(var(--dot-size) / 2), transparent calc(var(--dot-size) / 2)) top/100% 100% no-repeat;
}
.timeline-block:last-child .timeline-block__content {
    padding-block-end: 0;
}
.timeline-block:only-child .timeline-block__progress {
    display: none;
}
@media (max-width: 767.98px) {
    .timeline-block {
        column-gap: 2rem;
    }
    .timeline-block__content {
        padding-block-end: 3.2rem;
    }
}

.progress-timeline__media {
    --sticky-element-top: calc(var(--header-height, 0px) + var(--media-padding-top, 0px));
}
.progress-timeline__media:has(.spinning-icon-badge-block) {
    padding-block-start: var(--media-padding-top, 0);
}
@media (max-width: 767.98px) {
    .progress-timeline__media {
        order: -1;
        padding-inline: 1.2rem;
    }
}

body:not(:has(.header[is=sticky-header])) .section--scrolling-layers {
    --header-height: 0px;
}

.scrolling-layer-item {
    position: sticky;
    top: var(--header-height, 0);
    contain: layout;
}
.scrolling-layer-item__icon {
    padding: 2rem;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid rgb(var(--color-border)/50%);
    color: rgb(var(--color-foreground));
    background: linear-gradient(111.49deg, rgb(var(--color-foreground)/40%) -8.95%, rgb(var(--color-foreground)/1%) 114%);
    -webkit-backdrop-filter: blur(100px);
    backdrop-filter: blur(100px);
    position: relative;
}
.scrolling-layer-item__icon::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: linear-gradient(-45deg, rgb(var(--color-foreground)/50%), rgb(var(--color-foreground)/10%), rgb(var(--color-foreground)/50%));
    mask: linear-gradient(rgb(var(--color-background)/100%) 0 0) exclude, linear-gradient(rgb(var(--color-background)/100%) 0 0) content-box;
}
.scrolling-layer-item__media {
    flex: 0 0 540px;
    max-width: 50%;
}

@media (max-width: 767.98px) {
    .scrolling-layer-item__media {
        order: -1;
        flex: auto;
        width: 100%;
        max-width: 100%;
    }
    .scrolling-layer-item__icon {
        padding: 1rem;
    }
}
.cbb-frequently-bought-selector-list {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 15px !important;
}
.cbb-frequently-bought-selector-list li:has(.cbb-frequently-bought-selector-label-compare-at-price:first-child:empty) {
    display: none;
}
.cbb-recommendations-variant-select {
    -webkit-appearance: none !important;
    margin: 0 !important;
    -moz-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    max-width: none !important;
    min-width: 140px !important;
    height: 4.5rem !important;
    padding: 0.8rem 4rem 0.8rem 2rem !important;
    border-radius: 5rem !important;
    border-width: 0.27rem !important;
    border-style: solid !important;
    background-color: var(--color-secondary-button-background) !important;
    color: var(--color-secondary-button-text) !important;
    border-color: var(--color-secondary-button-border) !important;
    box-shadow: 2.61px 3px 0 0 rgba(9, 50, 78, 0.23), -5.209px -5.209px 0 0 rgba(0, 0, 0, 0.15) inset !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 1.6rem center !important;
    background-size: 1.2rem auto !important;
    font-family: var(--font-button--family) !important;
    font-style: var(--font-button--style) !important;
    font-weight: var(--font-button--weight) !important;
    letter-spacing: var(--font-button--letter-spacing) !important;
    text-transform: var(--font-button--transform) !important;
    font-size: 1.6rem !important;
    line-height: var(--font-paragraph--line-height, 1.6) !important;
    cursor: pointer !important;
    min-height: 0 !important;
    max-height: none !important;
    transition-property: background-color, color, border-color, box-shadow !important;
    transition-duration: .2s !important;
    transition-timing-function: var(--ease-in-out-sine) !important;
}

@media (hover: hover) {
    .cbb-recommendations-variant-select:hover {
        color: rgba(255, 255, 255, 0.7) !important;
        background-color: #4E7FE3 !important;
        box-shadow: 0 0 0 0 rgba(9, 50, 78, 0.23), 0 0 0 0 rgba(0, 0, 0, 0.15) inset !important;
    }
}
.cart-items__tier-protection { display: none; }
.shipping-protection-toggle { cursor: pointer; text-transform: uppercase }
.shipping-protection-toggle__label { font-size: var(--text-body-sm); }

/* Match & Save upsell block */
.match-and-save {
    display: block;
    position: relative;
    container-type: inline-size;
    margin-top: 18px;
}
.match-and-save__card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 20px;
    border-radius: 16px;
    background: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    overflow: hidden;
}
.match-and-save__badge {
    position: absolute;
    top: 0;
    left: 18px;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 2;
    line-height: 0;
    height: 38px;
}
.match-and-save__badge svg,
.match-and-save__badge img {
    display: block;
    height: 100%;
    width: auto;
    filter: drop-shadow(2px 2px 0 #00142D80);
}
.match-and-save__card { cursor: pointer; }
.match-and-save[data-unavailable="true"] .match-and-save__card { cursor: not-allowed; }
.match-and-save__media {
    flex-shrink: 0;
    width: 40%;
    max-width: 220px;
    border-radius: 12px;
    overflow: hidden;
    align-self: stretch;
}
.match-and-save__media .media {
    border-radius: 12px;
    overflow: hidden;
    height: 100%;
}
.match-and-save__media img,
.match-and-save__media .media__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.match-and-save__content {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    flex: 1;
}
.match-and-save__heading {
    margin: 0;
    font-family: "Fat Frank", sans-serif;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}
.match-and-save__body {
    margin: 0;
    font-family: "Menco", sans-serif;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}
.match-and-save__body p { margin: 0; }
.match-and-save__footer {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.match-and-save__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    border-radius: 999px;
    flex-wrap: wrap;
    background-color: #ffffff;
    color: #00142D;
    border: 1px solid #00142D;
    font-size: 18px;
}
.match-and-save__cta:hover,
.match-and-save__cta:focus {
    background-color: #ffffff;
    color: #00142D;
    border-color: #00142D;
}
.match-and-save__price-row {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}
.match-and-save__price {
    font-weight: 700;
}
.match-and-save__compare {
    text-decoration: line-through;
    opacity: 0.5;
    font-weight: 500;
    font-size: 14px;
}
.match-and-save[data-unavailable="true"] .match-and-save__cta {
    opacity: 0.55;
    cursor: not-allowed;
}
.match-and-save__cta.btn--loading .match-and-save__cta-text,
.match-and-save__cta.btn--loading .match-and-save__price-row {
    visibility: hidden;
}
.match-and-save__cta .match-and-save__spinner {
    position: absolute;
}
.match-and-save__error.hidden { display: none; }
.match-and-save__placeholder {
    padding: 20px;
    border: 1px dashed rgb(var(--color-foreground) / 0.4);
    border-radius: 16px;
    text-align: center;
    font-size: 1.4rem;
    color: rgb(var(--color-foreground) / 0.7);
}

@container (max-width: 380px) {
    .match-and-save__card {
        flex-direction: column;
        align-items: stretch;
    }
    .match-and-save__media {
        width: 100%;
        max-width: none;
        align-self: flex-start;
    }
}
