/** Shopify CDN: Minification failed

Line 2563:12 "padding-ilnine-start" is not a known CSS property
Line 2662:0 Unexpected "}"

**/
/*
 * @author  Agence Dn'D <contact@dnd.fr>
 * @license https://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 * @link    https://www.dnd.fr/
 */

product-info {
    display: block;
}

.product {
    margin: 0;
    column-gap: 0;
}

.product__media-wrapper {
    padding-bottom: 0;
    position: relative;
}

@media screen and (max-width: 749px) {
    .product .product__media-wrapper.flex-grid__item {
        width: 100vw;
        max-width: 100vw;
        margin-inline: calc(50% - 50vw);
    }
}

.product__thumbnails-wrapper,
.no-js .product__thumbnails-wrapper {
    display: none;
}

media-gallery {
    display: block;
    position: relative;
}

/* Same tier stack the cards wear, anchored over the gallery's lead media.
   pointer-events stays off so the stack never blocks zoom or swipe. */
.product__badges {
    position: absolute;
    top: 1.2rem;
    inset-inline-end: 1.2rem;
    z-index: 4;
    display: flex;
    align-items: flex-end;
    gap: var(--sp-2d5);
    pointer-events: none;
}

media-gallery .media-wrapper.media-wrapper--intrinsic-size {
    padding-left: calc((100% - var(--intrinsic-width)) / 2);
    padding-right: calc((100% - var(--intrinsic-width)) / 2);
    background-color: transparent;
}

@media screen and (min-width: 750px) {
    .product--right {
        flex-direction: row-reverse;
    }

    .product__thumbnails-wrapper {
        display: block;
        position: absolute;
        z-index: 2;
        top: 0;
        right: -2.3rem;
        bottom: 0;
        width: 4.6rem;
        pointer-events: none;
    }

    .product__thumbnails {
        position: sticky;
        top: 6rem;
        width: 100%;
        list-style: none;
        padding: 0;
        margin: 6rem 0 0;
        display: grid;
        row-gap: var(--sp-2d5);
        pointer-events: visible;
    }

    .product__thumbnail {
        cursor: pointer;
        position: relative;
        overflow: hidden;
        box-shadow: 0 0 4rem rgba(var(--color-foreground), 0.2);
    }

    .product__thumbnail::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        box-shadow: inset 0 0 0 0.2rem rgb(var(--color-background));
        transition: box-shadow var(--duration-default) ease;
    }

    .product__thumbnail.is-active::after {
        box-shadow: inset 0 0 0 0.2rem rgb(var(--color-foreground));
    }

    .product__thumbnails .media {
        pointer-events: none;
        background-color: rgba(var(--color-foreground), 0.06);
        transition: transform var(--duration-long) ease;
    }

    .product__thumbnails .media-wrapper.loading {
        box-shadow: inset 0 0 0 0.2rem rgb(var(--color-background));
    }

    .product__thumbnails .deferred-media__poster-button {
        bottom: 0.5rem;
        right: 0.5rem;
        width: 2rem;
        height: 2rem;
        border-radius: 0.4rem;
        pointer-events: none;
        color: rgb(var(--color-background));
        background-color: rgba(var(--color-foreground), 0.9);
    }
}

@media screen and (min-width: 990px) {
    .product__thumbnails-wrapper {
        width: 6rem;
        right: -3rem;
    }
}

@media screen and (hover: hover) {
    .product__thumbnail:hover::after {
        box-shadow: inset 0 0 0 0.3rem rgb(var(--color-background));
    }

    .product__thumbnail.is-active:hover::after {
        box-shadow: inset 0 0 0 0.3rem rgb(var(--color-foreground));
    }

    .product__thumbnail:hover .media {
        transform: scale(1.1);
    }
}

.product__info-wrapper {
    padding-bottom: 0;
}

.product__media-wrapper .slider-mobile--overlay .slider-buttons {
    bottom: 0;
    margin-bottom: 0;
}

.product__media-wrapper .slider-mobile--overlay .slider-button {
    width: 5rem;
    height: 5rem;
    text-align: center;
}

@media screen and (min-width: 750px) {
    .product--thumbnail_slider .product__media-gallery,
    .product--stacked .product__info-container--sticky,
    .product--columns .product__info-container--sticky {
        display: block;
        position: sticky;
        top: var(--product-media-sticky-top, var(--header-bottom-position, 0px));
        z-index: 1;
    }

    .product--right .product__info-container {
        padding-inline-start: 0;
        padding-inline-end: 5rem;
    }

    .product__info-container {
        padding-top: var(--sp-12);
        padding-inline-start: 5rem;
    }

    .product__media-wrapper .slider-buttons {
        display: none;
    }

    .product--thumbnail_slider:not(.product--hide-thumbnails) .product__media-item:not(.is-active),
    .product--thumbnail_slider:not(.product--hide-thumbnails) .product__media-item.is-active ~ .product__media-item.is-active {
        display: none;
    }
}

@media screen and (min-width: 990px) {
    .product--right .product__info-container {
        padding-inline-start: 0;
        padding-inline-end: 7rem;
    }

    .product__info-container {
        padding-inline-start: 7rem;
    }

    .product--large:not(.product--no-media) .product__media-wrapper,
    .product--small:not(.product--no-media) .product__info-wrapper {
        max-width: 60%;
        width: calc(60% - var(--grid-horizontal-spacing) / 2);
    }

    .product--large:not(.product--no-media) .product__info-wrapper,
    .product--small:not(.product--no-media) .product__media-wrapper {
        max-width: 40%;
        width: calc(40% - var(--grid-horizontal-spacing) / 2);
    }

    .product--medium:not(.product--no-media) .product__media-wrapper,
    .product--medium:not(.product--no-media) .product__info-wrapper {
        max-width: 50%;
        width: calc(50% - var(--grid-horizontal-spacing) / 2);
    }
}


@media screen and (min-width: 1200px) {
    .product--right .product__info-container {
        padding-inline-start: 8rem;
        padding-inline-end: 12rem;
    }

    .product__info-container {
        padding-inline-start: 12rem;
        padding-inline-end: 8rem;
    }
}

/* Dynamic checkout */

.shopify-payment-button__button {
    font-size: var(--font-button-size);
    letter-spacing: 0.3rem;
    line-height: calc(1 + 0.2 / var(--font-body-scale));
    min-width: 12rem;
    min-height: 4.6rem;
    text-transform: uppercase;
    font-weight: var(--font-medium);
    border-radius: var(--button-radius);
    overflow: hidden;
    position: relative;
    z-index: 1;
    font-family: var(--font-button-family);
    margin-top: var(--button-shadow-vertical-offset);
}

@media screen and (min-width: 750px) {
    .shopify-payment-button__button {
        min-height: 5rem;
    }
}

.shopify-payment-button__button--unbranded {
    color: rgb(var(--color-button-text));
    background-color: rgb(var(--color-button-background));
    border: var(--button-border-width) solid rgb(var(--color-button-border));
    transition-property: color, background-color, box-shadow;
    transition-duration: var(--duration-long);
    transition-timing-function: ease;
    box-shadow: var(--button-shadow-horizontal-offset) var(--button-shadow-vertical-offset) rgba(var(--color-shadow), var(--shadow-opacity));
}

@media screen and (hover: hover) {
    .shopify-payment-button__button--unbranded::after {
        content: '';
        z-index: -1;
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        transform: skew(-15deg);
        background-image: linear-gradient(90deg, transparent, rgba(var(--color-button-text), 0.25), transparent);
    }

    .shopify-payment-button__button--unbranded:hover:not([disabled]) {
        box-shadow: none;
        background-color: rgba(var(--color-button-background), 0.85);
        transition-delay: var(--duration-default);
    }

    .shopify-payment-button__button--unbranded:hover::after {
        animation: shine var(--duration-animate) ease;
    }
}

.shopify-payment-button__more-options {
    margin: var(--sp-6d5) 0 var(--sp-4);
    font-size: var(--font-12);
    line-height: calc(1 + 0.5 / var(--font-body-scale));
    letter-spacing: 0.05rem;
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

/* Product form */

.product-form {
    display: block;
}

.product-form__error-message-wrapper:not([hidden]) {
    display: flex;
    align-items: flex-start;
    font-size: var(--font-12);
    margin-bottom: var(--sp-6);
}

.product-form__error-message-wrapper svg {
    flex-shrink: 0;
    width: 1.2rem;
    height: 1.2rem;
    margin-right: var(--sp-3);
    margin-top: var(--sp-2);
}

/* Form Elements */
.product-form__input {
    flex: 0 0 100%;
    padding: 0;
    margin: 0 0 var(--sp-5) 0;
    min-width: fit-content;
    border: none;
    display: flex;
    flex-wrap: wrap;
}

noscript .product-form__input {
    margin: var(--sp-8) 0 0;
}

variant-radios,
variant-selects {
    display: block;
}

.product-form__input--dropdown {
    margin-bottom: var(--sp-6d5);
}

.product-form__input .form__label {
    font-size: var(--font-14);
    width: 100%;
    padding-inline-start: 0;
}

fieldset.product-form__input .form__label {
    font-size: 1.3rem;
    margin-bottom: var(--sp-1d5);
}

.product-form__input .form__label-info {
    display: inline-block;
    color: rgba(var(--color-foreground), 0.7);
    text-transform: none;
}

.product-form__input .form__facet-checkbox,
.product-form__input .form__facet-radio {
    position: relative;
    display: flex;
    align-items: center;
    word-break: break-word;
    line-height: 1.6rem;
    cursor: pointer;
}

.product-form__input .form__facet-checkbox input[type=checkbox] {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    height: 0.1rem;
    width: 0.1rem;
}

.product-form__input .form__facet-checkbox .icon {
    color: rgb(var(--color-border));
    background-color: rgb(var(--color-background));
    margin-inline-end: var(--sp-4);
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
}

.product-form__input .form__facet-checkbox .icon path:last-child {
    color: rgb(var(--color-foreground));
}

.product-form__input .form__facet-radio .icon {
    display: block;
    width: 2rem;
    height: 2rem;
    margin-inline-end: var(--sp-4);
    position: relative;
    border: 1px solid rgb(var(--color-border));
    border-radius: 50%;
}

.product-form__input .form__facet-radio .icon::after {
    content: '';
    width: 0.6rem;
    height: 0.6rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: currentColor;
    border-radius: 50%;
}

.product-form__input .form__facet-checkbox .icon path:last-child,
.product-form__input .form__facet-radio .icon::after {
    opacity: 0;
    transition: opacity var(--duration-short) ease;
}

.product-form__input .form__facet-checkbox > input[type=checkbox]:checked ~ .icon-checkmark path:last-child,
.product-form__input .form__facet-radio > input[type=radio]:checked ~ .icon::after {
    opacity: 1;
}

.product-form__input fieldset.product-form__input {
    flex-direction: column;
    row-gap: var(--sp-4);
}

.product-form__input .form__popup {
    width: 100%;
    margin-top: var(--sp-4);
}

.product-form__input .form__popup .link {
    align-items: flex-end;
    font-size: inherit;
    line-height: 1.2;
}

.product-form__input input[type=radio] {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    height: 0.1rem;
    width: 0.1rem;
}

.product-form__input input[type=radio] + label {
    border: 0.1rem solid rgb(var(--color-grey));
    background-color: rgb(var(--color-white));
    color: rgb(var(--color-foreground));
    margin-top: var(--sp-2d5);
    margin-bottom: var(--sp-1d5);
    margin-inline-end: var(--sp-4);
    padding: var(--sp-2d5) var(--sp-6d5);
    min-width: 4rem;
    min-height: 4rem;
    font-size: var(--font-14);
    font-weight: var(--font-medium);
    line-height: 1;
    display: flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    z-index: 1;
    transition-property: color, box-shadow;
    transition-timing-function: ease;
    transition-duration: var(--duration-default);
    border-radius: var(--sp-3);
}

@media screen and (hover: hover) {
    .product-form__input input.button-input__input:not(:disabled):not([data-crossout]) + label:hover {
        border-color: rgb(var(--color-pink));
    }
}

.product-form__input input.button-input__input + label::before {
    content: '';
    position: absolute;
    left: 1rem;
    top: 50%;
    width: calc(100% - 2rem);
    border-bottom: 0.1rem solid rgb(var(--color-border));
    transform: rotate(-30deg);
    opacity: 0;
    transition: opacity var(--duration-default) ease;
}

.product-form__input input.button-input__input + label::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: background-color var(--duration-default) ease;
    border-radius: var(--sp-3);
}

.product-form__input input[type=radio]:checked + label {
    color: rgb(var(--color-foreground));
}

.product-form__input input.button-input__input:checked + label {
    border-color: rgb(var(--color-pink));
}

.product-form__input input.button-input__input:checked + label::after {
    background-color: rgb(var(--color-white));
}

.product-form__input input[type=radio]:disabled + label,
.product-form__input input[type=radio][data-crossout] + label {
    color: rgb(var(--color-border));
    overflow: hidden;
}

.product-form__input input[type=radio]:disabled + label {
    cursor: not-allowed;
}

.product-form__input input[type=radio]:disabled + label::before,
.product-form__input input[type=radio][data-crossout] + label::before {
    opacity: 1;
}

.product-form__input input.button-input__input:disabled + label::after,
.product-form__input input.button-input__input[data-crossout] + label::after {
    background-color: transparent;
}

.product-form__input input[type=radio]:focus-visible + label {
    outline: 0.2rem solid rgb(var(--color-keyboard-focus));
    outline-offset: 0.3rem;
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)),
    0 0 0.5rem 0.4rem rgba(var(--color-keyboard-focus), 0.5);
}

/* Fallback */
.product-form__input input[type=radio].focused + label,
.no-js .shopify-payment-button__button [role=button]:focus + label {
    outline: 0.2rem solid rgb(var(--color-keyboard-focus));
    outline-offset: 0.3rem;
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)),
    0 0 0.5rem 0.4rem rgba(var(--color-keyboard-focus), 0.5);
}

/* No outline when focus-visible is available in the browser */
.no-js .product-form__input input[type=radio]:focus:not(:focus-visible) + label {
    box-shadow: none;
}

/* Color swatches */
.product-form__input {
    --swatch-input--size: 4.4rem;
}

.product-form__input .swatch {
    --swatch--size: var(--swatch-input--size, 4.4rem);
    --swatch--border-radius: var(--swatch-input--border-radius, 50%);
    display: block;
    width: var(--swatch--size);
    max-width: 100%;
    aspect-ratio: 1 / 1;
    background: var(--swatch--background);
    background-position: var(--swatch-focal-point, initial);
    background-origin: border-box;
    background-size: cover;
    outline: 0.1rem solid rgba(var(--color-foreground), 0.15);
    box-shadow: inset 0 0 0 0.3rem var(--swatch-outline-color);
    border-radius: var(--swatch--border-radius);
    transition: scale var(--duration-long) ease;
    scale: 0.85;
    overflow: hidden;
}

.product-form__input .swatch-input__input + .swatch-input__label {
    padding: 0;
    min-width: auto;
    min-height: auto;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-inline-end: var(--sp-2);
    margin: var(--sp-3) var(--sp-3) var(--sp-1) 0;
}

.product-form__input .swatch--square {
    --swatch--border-radius: var(--swatch-input--border-radius, 0rem);
}

.product-form__input .swatch-input__input + .swatch-input__label.swatch-input__label--variant {
    --swatch-input--size: 4.6rem;
    margin-inline-end: var(--sp-3d5);
}

.product-form__input .swatch-input__input[disabled] + .swatch-input__label .swatch {
    opacity: 0.7;
}

.product-form__input .swatch-input__input:not([disabled]) + .swatch-input__label:hover .swatch,
.product-form__input .swatch-input__input:checked + .swatch-input__label .swatch {
    outline-width: 0.15rem;
    outline-color: rgb(var(--color-foreground), 0.45);
    scale: 1;
}

.product-form__input .swatch-input__input[data-crossout] + label > .swatch:after {
    --diagonal--size: calc(var(--swatch--size) * 1.414);
    --crossed-line--size: .1rem;
    content: "";
    position: absolute;
    bottom: calc(var(--crossed-line--size) * -.5);
    left: 0;
    width: var(--diagonal--size);
    height: var(--crossed-line--size);
    background-color: var(--swatch-outline-color);
    transform: rotate(-45deg);
    transform-origin: left;
}

.product-form__input--dropdown {
    --swatch-input--size: 2.8rem;
}

.product-form__input--dropdown .dropdown-swatch + select {
    padding-left: calc(var(--sp-10) + var(--swatch-input--size));
}

.product-form__input--dropdown .dropdown-swatch {
    position: absolute;
    left: 1.6rem;
    top: calc(50% - var(--swatch-input--size) / 2);
    width: var(--swatch-input--size);
    height: var(--swatch-input--size);
    z-index: 1;
}

.product-form__input--dropdown .dropdown-swatch .swatch {
    outline: 0.1rem solid rgba(var(--color-foreground), 0.15);
    box-shadow: inset 0 0 0 0.1rem var(--swatch-outline-color);
}

.product-form__buttons {
    display: flex;
    flex-wrap: wrap;
    grid-column-gap: 2rem;
    grid-row-gap: var(--sp-8);
}

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

@media screen and (min-width: 480px) {
    .product-form__quantity + .product-form__submit {
        width: calc(100% - 14rem);
        flex-grow: 1;
    }

    .no-js .product-form__quantity + .product-form__submit {
        width: 100%;
    }
}

.product-form__submit--with-price {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: var(--sp-3);
    padding-inline-start: var(--sp-4);
    padding-inline-end: var(--sp-4);
}

.product-form__submit-price {
    display: inline-flex;
    align-items: center;
    column-gap: var(--sp-3);
    font-weight: var(--font-medium);
}
.product-form__submit-price .price--on-sale .price__sale {
    gap: .5rem;
}

.product-form__submit-price::before {
    content: "-";
}

.product-form__submit .product-form__submit-price .price,
.product-form__submit .product-form__submit-price .price * {
    color: inherit;
}

.product-form__submit .product-form__submit-price .price--on-sale .price-item--regular::before {
    border-bottom-color: currentColor;
}

.product-form__submit-price .price {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1;
}

.product-form__submit-price .price bdi {
    font-size: inherit;
    font-family: inherit;
}

.product__loyalty {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-3);
    margin: 0 4rem;
    padding: var(--sp-5) var(--sp-8);
    background-color: rgb(var(--color-white));
    border-radius: 0 0 var(--border-radius-medium) var(--border-radius-medium);
    font-size: var(--font-14);
    font-weight: var(--font-medium);
    line-height: 1.3;
    text-align: center;
    color: rgb(var(--color-dark-pink));
}

.product__loyalty .icon {
    flex-shrink: 0;
    width: 1.8rem;
    height: 1.8rem;
}

.product__loyalty-points {
    font-weight: var(--font-black);
}

.product__reinsurance {
    display: block;
    padding: var(--sp-6) var(--sp-8);
    border-radius: var(--card-radius);
    background-color: rgb(var(--color-light-pink));
    text-align: center;
}

.product__reinsurance-slider {
    width: 100%;
}

.product__reinsurance-item {
    width: 100%;
    font-size: var(--font-12);
    line-height: 1.4;
    color: rgb(var(--color-foreground));
}

.product__reinsurance-item p {
    margin: 0;
}

.product__reinsurance .flickity-page-dots {
    position: static;
    padding: 0;
    background-color: transparent;
    margin-top: var(--sp-4);
}

.product__reinsurance .flickity-page-dot {
    opacity: 1;
    height: auto;
    width: 1.6rem;
    padding: 0;
}

.product__reinsurance .flickity-page-dot::after {
    width: 1.2rem;
    height: 0.2rem;
    border-radius: 0.1rem;
    background-color: rgb(var(--color-grey));
}

.product__reinsurance .flickity-page-dot.is-selected::after {
    background-color: rgb(var(--color-pink));
    transform: none;
}

.product__reinsurance + .complementary-products,
.product__reinsurance + .product__upsell,
.product__upsell + .complementary-products {
    margin-block-start: var(--sp-12);
}

.complementary-products {
    display: block;
}

.product__upsell-title {
    margin: var(--sp-4) 0 var(--sp-8);
    text-transform: uppercase;
    font-size: var(--font-20);
    font-weight: var(--font-black);
    color: rgb(var(--color-dark-pink));
}

.product__upsell-list {
    display: flex;
    flex-direction: column;
    gap: var(--sp-6);
}

.product__upsell-item {
    display: flex;
    align-items: center;
    gap: var(--sp-6);
    padding: var(--sp-6);
    border-radius: var(--border-radius-medium);
    background-color: rgb(var(--color-white));
}

.product__upsell-image {
    flex: 0 0 auto;
    width: 9rem;
    border-radius: var(--card-radius);
    overflow: hidden;
    background-color: rgb(var(--color-light-pink));
    line-height: 0;
    img {
        width: 100%;
        height: auto;
    }
}

.product__upsell-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: var(--sp-1d5);
    min-width: 0;
}

.product__upsell-name {
    font-weight: var(--font-bold);
    color: rgb(var(--color-foreground));
    text-decoration: none;
    line-height: 1.4;
}

.product__upsell-subtitle {
    font-size: var(--font-14);
    line-height: 1.3;
    color: rgb(var(--color-grey));
}

.product__upsell-price {
    margin-top: var(--sp-1d5);
    .price bdi {
        font-size: var(--font-14);
    }
    .price--on-sale {
        .price__sale {
            column-gap: var(--sp-2d5);
        }
        .price-item--regular bdi {
            font-size: var(--font-12);
        }
    }
}

.product__upsell-add {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    border: none;
    border-radius: 50%;
    background-color: rgb(var(--color-pink));
    color: rgb(var(--color-white));
    cursor: pointer;
    .icon {
        width: 1.8rem;
        height: 1.8rem;
    }
}

@media screen and (max-width: 749px) {
    .product__upsell-title {
        font-size: var(--font-16);
    }

    .dialog-instant {
        padding-block-end: 0;
    }
}

.shopify-payment-button {
    width: 100%;
    margin-top: -1rem;
}

.product-form__submit[aria-disabled=true] + .shopify-payment-button,
.product-form__submit[disabled] + .shopify-payment-button {
    pointer-events: none;
}

@media screen and (forced-colors: active) {
    .product-form__submit[aria-disabled=true] {
        color: Window;
    }
}

/* Overrides */
.shopify-payment-button__more-options {
    color: rgb(var(--color-foreground));
}

.shopify-payment-button__button--hidden {
    display: none;
}

/* Product info */

.product__info-container > * + * {
    margin: var(--sp-8) 0 0;
}

.product__info-container .product__description {
    line-height: 1.4;
}

.product__info-container .product-form,
.product__info-container .product__description,
.product__info-container .share-button {
    margin: var(--sp-10) 0 0;
}

.product__info-container .product__accordion + .share-button,
.product__info-container .product-link__button + .share-button {
    margin-top: var(--sp-6);
}

.product__info-container .spr-summary-starrating,
.product__info-container .rating {
    margin-top: -1rem;
}

.product__info-container .rating {
    display: block;
}

.product__info-container .rating .rating-star {
    --letter-spacing: 0.2;
    --font-size: 1.8;
}

.product__info-container .spacing-section {
    display: block;
    margin: 0;
    min-height: var(--spacing-section-mobile);
}

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

.product__info-container .spacing-section + * {
    margin-top: 0;
}

.product__text {
    display: flex;
    align-items: center;
    margin-bottom: var(--sp-4);
    line-height: calc(1 + 0.6 / var(--font-body-scale));
}

.product__text .link {
    font-size: inherit;
    line-height: calc(1 + 0.4 / var(--font-body-scale));
}

.product__text .icon {
    fill: rgb(var(--color-foreground));
    height: calc(var(--font-heading-scale) * 2rem);
    width: calc(var(--font-heading-scale) * 2rem);
    margin-right: calc(var(--font-heading-scale) * var(--sp-4));
}

a.product__text {
    display: block;
    text-decoration: none;
    color: rgba(var(--color-foreground), 0.75);
}

.product__text.caption-with-letter-spacing {
    text-transform: uppercase;
}

.product__text + .product__text {
    margin-top: var(--sp-4);
}

.breadcrumb-wrapper + .product__title {
    margin-top: var(--sp-8);
}

.product__title {
    margin-bottom: var(--sp-6);
    margin-top: 0;
    display: flex;
    justify-content: space-between;
    column-gap: var(--sp-12);
}

.product__title .product__heading {
    margin: 0;
    word-break: break-word;
}

.product__title-group {
    display: flex;
    flex-direction: column;
}

.product__subtitle {
    margin: var(--sp-2d5) 0 0;
    font-size: var(--font-16);
    font-weight: var(--font-medium);
    line-height: 1.3;
}

.product__characteristic {
    display: flex;
    align-items: baseline;
    column-gap: var(--sp-5);
    padding: var(--sp-5) 0;
}

.product__characteristic:not(:first-child) {
    border-bottom: 0.1rem solid rgba(var(--color-black), 0.1);
    margin: 0;
}

.product__characteristic-label {
    flex-shrink: 0;
    font-size: var(--font-12);
    font-weight: var(--font-black);
    text-transform: uppercase;
    letter-spacing: 0.05rem;
    color: rgb(var(--color-dark-pink));
}

.product__characteristic-value {
    font-size: var(--font-14);
    font-weight: var(--font-medium);
    line-height: 1.4;
    color: rgb(var(--color-foreground));
}

.product__button-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-6);
    padding: var(--sp-3) var(--sp-4);
    border-radius: var(--border-radius-medium);
    background-color: rgb(var(--color-light-pink));

    .button {
        flex-shrink: 0;
        gap: var(--sp-3);
        background-color: rgb(var(--color-white));
        border-color: rgb(var(--color-white));
        color: rgb(var(--color-foreground));
        font-size: var(--font-12);
        font-weight: var(--font-medium);
        text-transform: none;
        letter-spacing: normal;
        box-shadow: none;
        white-space: nowrap;
        .icon {
            width: 1rem;
            height: auto;
            margin: 0;
            transform: rotate(-90deg);
        }
    }
}

.product__button-link--full {
    text-decoration: none;
    cursor: pointer;
}

.product__button-link-label {
    font-size: var(--font-14);
    font-weight: var(--font-medium);
    line-height: 1.3;
    color: rgb(var(--color-foreground));
}

@media screen and (max-width: 749px) {
    .product__button-link {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--sp-6);
    }
}

@media screen and (min-width: 750px) {
    .product__title .price {
        margin-top: var(--sp-2d5);
    }
}

.product__title .price .price__sale,
.product__title .price .price__last,
.product__title .price .unit-price {
    justify-content: flex-end;
}

.product__title .price .unit-price {
    margin-top: 0;
}

.product__title + .product__text.caption-with-letter-spacing,
.product__title + .product__sku {
    margin-top: -1rem;
}

.product__text.caption-with-letter-spacing + .product__title {
    font-weight: var(--font-medium);
}

.breadcrumb + .product__title {
    margin-top: var(--sp-4);
}

.product__sku + .rating {
    margin-top: 0;
}

.product__accordion .summary__title {
    padding: 0 var(--sp-6);
}

.product__accordion .accordion__title {
    font-size: 1.3rem;
    text-transform: uppercase;
    letter-spacing: 0.3rem;
    display: flex;
    align-items: center;
    max-width: 100%;
}

.product__accordion .accordion__content {
    padding-inline-start: var(--sp-6);
    padding-inline-end: var(--sp-6);
    font-size: var(--font-14);
    line-height: calc(1 + 0.6 / var(--font-body-scale));
    max-height: 25rem;
    overflow-x: hidden;
    overflow-y: auto;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
    scrollbar-width: thin;
}

.product__accordion .accordion__content::-webkit-scrollbar {
    appearance: none;
    width: 0.9rem;
    background-clip: padding-box;
    border: 0.3rem solid transparent;
    border-radius: 1.6rem;
    background-color: rgba(var(--color-border), 0.3);
}

.product__accordion .accordion__content::-webkit-scrollbar-thumb {
    border: 0.3rem solid transparent;
    background-clip: padding-box;
    border-radius: 1.6rem;
    background-color: rgb(var(--color-border));
}

.product__accordion .accordion__content li {
    line-height: calc(1 + 0.4 / var(--font-body-scale));
}

.product__accordion + .product-link__button {
    margin-top: 0;
    border-top: 0;
}

.product-link__button {
    border-top: 0.1rem solid rgb(var(--color-border));
    border-bottom: 0.1rem solid rgb(var(--color-border));
}

.product-link__button a {
    line-height: 1;
    padding: var(--sp-6) 0;
    display: block;
    position: relative;
    text-decoration: none;
    color: rgb(var(--color-foreground));
}

.product-link__button .summary__title {
    display: flex;
    flex: 1;
}

.product-link__button .accordion__title {
    font-size: 1.3rem;
    text-transform: uppercase;
    letter-spacing: 0.3rem;
    display: flex;
    align-items: center;
    max-width: 100%;
}

.product-link__button .icon-caret {
    position: absolute;
    top: 50%;
    margin-top: -0.3rem;
    right: 1.5rem;
    height: 0.6rem;
    transform: rotate(-90deg);
}

related-buttons {
    position: relative;
    display: block;
    transition: 0.6s;
    transform-style: preserve-3d;
}

related-buttons a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: rotateX(0);
}

related-buttons a:last-child:not(:only-child) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    transform: rotateX(180deg);
}

related-buttons a > * {
    pointer-events: none;
}

related-buttons.is-flipped {
    transform: rotateX(180deg);
}

related-buttons.is-flipped a:first-child:only-child {
    transform: rotateX(180deg);
}

.product-countdown {
    margin-bottom: var(--sp-12);
}

.product-countdown .countdown {
    background-color: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    --color-border: var(--color-foreground);
}

.product-countdown .h4 {
    margin: 0 0 var(--sp-4);
}

.product-countdown svg {
    fill: currentColor;
    height: 1.6rem;
    margin-inline-end: var(--sp-3);
    margin-bottom: -0.2rem;
}

.product-countdown--compact {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--sp-4);
    padding: var(--sp-8);
    background-color: rgb(var(--color-background));
    border: 0.1rem solid rgba(var(--color-foreground), 0.2);
    border-radius: min(var(--button-radius), 0.8rem);
}

.product-countdown--compact .h4 {
    margin: 0;
}

.product-countdown--compact .countdown {
    background-color: transparent;
    width: auto;
    border: none;
    column-gap: var(--sp-4);
    font-size: calc(var(--font-heading-scale) * var(--font-16));
    line-height: calc(1 + .3 / max(1, var(--font-heading-scale)));
}

.product-countdown--compact .countdown__item {
    padding: 0;
    width: auto;
}

.product-countdown--compact .countdown__item + .countdown__item {
    border: none;
}

.product-separator hr {
    margin: 0;
}

.product-link__image {
    display: flex;
}

.product-link__image a {
    display: block;
    line-height: 1;
}

.product-link__image img {
    max-width: 100%;
    width: auto;
    height: var(--image-height);
}

#ProductImages {
    display: block;
    position: relative;
    visibility: hidden;
    top: -7rem;
}

.product__info-container .price {
    line-height: calc(1 + 0.5 / var(--font-price-scale));
    letter-spacing: 0.13rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
}

.product__info-container .price--sold-out .price__badge-sale {
    display: none;
}

.product__info-container .price .price__last {
    display: flex;
}

.product__info-container .price .unit-price,
.product__info-container .price .unit-price bdi,
.product__info-container .price--on-sale .price-item--regular bdi {
    font-size: calc(var(--font-heading-scale) * var(--font-16));
}

.product__info-container .price--large bdi {
    font-size: calc(var(--font-heading-scale) * 2.8rem);
}

.product__info-container .price--medium bdi {
    font-size: calc(var(--font-heading-scale) * 2.2rem);
}

@media screen and (min-width: 750px) {
    .product__info-container > *:first-child {
        margin-top: 0;
    }
}

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

.product--no-media {
    max-width: 57rem;
    margin: 0 auto;
}

.product--no-media .product__info-container {
    padding-inline-start: 0;
    padding-inline-end: 0;
}

.product--no-media .product__info-container .rating,
.product--no-media .product__inventory-item,
.product--no-media .product__tax {
    text-align: center;
}

.product--no-media .product__title,
.product--no-media .product__text,
.product--no-media .product-link__image {
    justify-content: center;
}

.product--no-media fieldset.product-form__input,
.product--no-media .product-form__input--dropdown,
.product--no-media .share-button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.product__tax {
    margin-top: 0;
}

.product--no-media .product-link__button {
    justify-content: center;
}

.product--no-media .product-form__input--dropdown {
    flex-direction: column;
    max-width: 100%;
}

.product--no-media fieldset.product-form__input {
    flex-wrap: wrap;
    margin: 0 auto var(--sp-5) auto;
}

.product--no-media .product__info-container > modal-opener {
    display: block;
    text-align: center;
}

.product--no-media .price {
    justify-content: center;
}

/* Product media */

product-gallery {
    display: block;
    overflow: hidden;
}

.product__media-list {
    margin-bottom: 0;
}

.slider.product__media-list {
    margin-top: 0;
    padding-bottom: 0;
}

@media screen and (max-width: 749px) {
    .product__media-wrapper product-gallery {
        margin-bottom: var(--sp-12);
    }

    .product--mobile-adapt .product__media-list {
        height: 0;
        padding-bottom: var(--force-image-ratio-percent);
    }
}

.product__media-item--variant {
    display: none;
}

.product__media-item--variant:first-child {
    display: block;
}

[data-gang-option] {
    display: none;
}

[data-gang-option].gang__active {
    display: block;
}

.product__media-icon .icon {
    width: 1.4rem;
    height: 1.4rem;
}

.product__modal-opener--video .product__media-icon .icon {
    width: 2.4rem;
    height: 2.4rem;
}

.product__media-icon {
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    box-shadow: 0 0 4rem rgba(var(--color-foreground), 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.6rem;
    width: 3.6rem;
    position: absolute;
    right: 1rem;
    top: 1rem;
    z-index: 1;
}

.product__media-video .product__media-icon {
    opacity: 1;
}

@media screen and (min-width: 750px) {
    .flex-grid__item.product__media-item--full {
        width: 100%;
    }

    .product--columns .product__media-list {
        row-gap: var(--grid-horizontal-spacing);
        --grid-horizontal-spacing: 0.2rem;
    }

    .product--columns .product__media-item:not(.product__media-item--single):not(:only-child) {
        max-width: calc(50% - var(--grid-horizontal-spacing) / 2);
    }

    .product--columns .product__media-list .media-wrapper {
        opacity: 1;
        transform: translateZ(0);
    }

    .product--columns .thumbnail-slider {
        display: none;
    }

    .product__media-icon {
        right: 1.5rem;
        top: 1.5rem;
    }
}

@media screen and (min-width: 990px) {
    .product__media-icon {
        display: none;
    }
}

.product__media-item {
    padding-inline-start: 0;
    padding-bottom: 0;
}

.product__media-item > * {
    display: block;
    position: relative;
}

product-gallery .product__media-toggle {
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: block;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    height: 100%;
    width: 100%;
}

@media screen and (min-width: 990px) {
    product-gallery .product__media-toggle {
        cursor: none;
    }
}

.product-media-modal {
    background-color: rgb(var(--color-background));
    box-sizing: border-box;
    position: static;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
}

.product-media-modal[open] {
    position: fixed;
    height: 100%;
    width: 100%;
}

.product-media-modal:not([open]) {
    content-visibility: hidden !important;
}

.product-media-modal:not([open]) * {
    display: none;
    content-visibility: hidden !important;
}

@media screen and (min-width: 750px) {
    .product-media-modal {
        padding: 0;
    }
}

.product-media-modal[open] {
    z-index: 101;
    opacity: 1;
    pointer-events: visible;
    transform: scale(1);
    transition-property: opacity, transform;
    transition-timing-function: ease;
    transition-duration: var(--duration-long);
}

.product-media-modal__content {
    height: 100vh;
    overflow: auto;
    width: 100%;
}

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

.product__media-list .deferred-media {
    display: none;
}

@media screen and (min-width: 750px) {
    .product-media-modal__content {
        height: 100vh;
    }

    /* The zoomed media stay on the page column: uncapped they span the full
       viewport, which upscales most sources past their pixels on wide screens.
       The cap sits on the children, not the scroller, so the scrollbar keeps
       the viewport edge. */
    .product-media-modal__content > * {
        max-width: var(--page-width);
    }

    .product__modal-opener:not(.product__modal-opener--image) {
        display: none;
    }

    .product__media-list .deferred-media {
        display: block;
    }
}

.product-media-modal__content > * {
    width: 100%;
    height: auto;
    margin: auto;
}

.product-media-modal__content .media {
    background: none;
}

.product-media-modal__model {
    width: 100%;
}

.product-media-modal__toggle {
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    box-shadow: 0 0 4rem rgba(var(--color-foreground), 0.2);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: var(--sp-5);
    position: fixed;
    top: 2rem;
    right: 2rem;
    z-index: 2;
    width: 4.4rem;
    height: 4.4rem;
}

.product-media-modal__content .deferred-media {
    width: 100%;
}

@media screen and (min-width: 750px) {
    .product-media-modal__toggle {
        width: 6rem;
        height: 6rem;
        right: 4.8rem;
        top: 3.5rem;
    }
}

@media screen and (min-width: 990px) {
    .product-media-modal__toggle {
        right: 4.3rem;
        top: 3rem;
    }
}

.product-media-modal__toggle .icon {
    pointer-events: none;
    display: block;
    position: relative;
    width: 2rem;
    height: 2rem;
    transform: rotate(45deg);
    transition: transform var(--duration-default) ease;
}

@media screen and (min-width: 750px) {
    .product-media-modal__toggle .icon {
        width: 3rem;
        height: 3rem;
    }
}

@media screen and (hover: hover) {
    .product-media-modal__toggle:hover .icon {
        transform: scale(0.8) rotate(135deg);
    }
}

/* Product share */

.share-button {
    display: block;
    position: relative;
}

/* Product popup */

.product-popup-modal {
    box-sizing: border-box;
    opacity: 0;
    position: fixed;
    visibility: hidden;
    z-index: -1;
    margin: 0 auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    cursor: url(cross.svg), url(cross.png), zoom-out;
    background-color: rgba(var(--color-overlay), 0.5);
    transition: opacity var(--duration-default) ease;
}

@media screen and (min-width: 750px) {
    .product-popup-modal {
        align-items: center;
    }
}

.product-popup-modal[open] {
    opacity: 1;
    visibility: visible;
    z-index: 101;
}

.product-popup-modal__content {
    background-color: rgb(var(--color-background));
    margin: 0 auto;
    position: relative;
    cursor: auto;
    max-width: 72rem;
    min-width: 36rem;
    min-height: 28rem;
}

.product-popup-modal__content img {
    max-width: 100%;
}

.product-popup-modal__content table {
    width: 100%;
}

@media screen and (max-width: 749px) {
    .product-popup-modal__content {
        width: 100%;
        max-width: 100%;
        border-top-left-radius: 0.8rem;
        border-top-right-radius: 0.8rem;
    }

    .product-popup-modal__content table {
        display: block;
        max-width: fit-content;
        overflow-x: auto;
        white-space: nowrap;
        margin: 0;
    }
}

.product-popup-modal__content table tbody tr:nth-child(odd) {
    background-color: rgba(var(--color-foreground), 0.06);
}

.product-popup-modal__opener {
    display: block;
}

.product-popup-modal__button {
    font-size: var(--font-16);
    line-height: calc(1 + 0.8 / var(--font-body-scale));
}

.product-popup-modal__content-info {
    padding: var(--sp-10) var(--sp-6);
    max-height: 80vh;
    overflow-x: hidden;
    overflow-y: auto;
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth;
    scrollbar-width: thin;
}

@media screen and (min-width: 750px) {
    .product-popup-modal__content-info {
        padding: 3rem 4.5rem;
    }
}

.product-popup-modal__content-info::-webkit-scrollbar {
    appearance: none;
    width: 0.9rem;
    background-clip: padding-box;
    border: 0.3rem solid transparent;
    border-radius: 1.6rem;
    background-color: rgba(var(--color-border), 0.3);
}

.product-popup-modal__content-info::-webkit-scrollbar-thumb {
    border: 0.3rem solid transparent;
    background-clip: padding-box;
    border-radius: 1.6rem;
    background-color: rgb(var(--color-border));
}

.product-popup-modal__content-info > * {
    height: auto;
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
}

@media screen and (max-width: 749px) {
    .product-popup-modal__content-info > * {
        max-height: 100%;
    }
}

.product-popup-modal__content-info > .h2 {
    word-break: break-word;
    margin-bottom: var(--sp-6);
}

.product-popup-modal__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 2rem;
    right: 2rem;
    height: 4.4rem;
    width: 4.4rem;
    border-radius: 50%;
    color: rgb(var(--color-foreground));
    background-color: rgb(var(--color-background));
    box-shadow: 0 0 4rem rgba(var(--color-foreground), 0.2);
    border: none;
    outline: none;
    padding: 0;
    cursor: pointer;
    z-index: 1;
}

@media screen and (max-width: 749px) {
    .product-popup-modal__toggle {
        top: 0;
        right: 50%;
        margin-top: -5.5rem;
        margin-right: -2.2rem;
    }
}

.product-popup-modal__toggle .icon {
    pointer-events: none;
    position: relative;
    width: 2rem;
    height: 2rem;
    transition: transform var(--duration-default) ease;
    will-change: transform;
    transform: scale(1) rotate(45deg);
}

@media screen and (hover: hover) {
    .product-popup-modal__toggle:hover .icon {
        transform: scale(0.8) rotate(135deg);
    }
}

.product .slider.product__media-list,
.product .slider.thumbnail-list {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.product .slider.product__media-list::-webkit-scrollbar,
.product .slider.thumbnail-list::-webkit-scrollbar {
    display: none;
}

/* Product thumbnail */

.thumbnail-list {
    display: flex;
    flex: 1;
    justify-content: center;
    max-width: 45rem;
    column-gap: var(--sp-2d5);
    scroll-padding-inline-start: 0.6rem;
}

@media screen and (min-width: 750px) {
    .product--stacked .thumbnail-list {
        display: none;
    }
}

.thumbnail-slider .thumbnail-list + .slider-buttons {
    position: absolute;
    width: 27rem;
    left: 50%;
    bottom: 0;
    margin-bottom: 0;
    transform: translate(-50%);
    height: 100%;
    pointer-events: none;
    display: flex;
    justify-content: space-between;
}

.thumbnail-slider .slider-button {
    pointer-events: visible;
    background-color: transparent;
    width: 4.4rem;
    height: 4.4rem;
    text-align: center;
}

.thumbnail-slider .slider-button .icon {
    width: 1.4rem;
}

.thumbnail-slider .slider-button--prev {
    transform: translateX(-100%);
}

.thumbnail-slider .slider-button--prev .icon {
    transform: rotate(90deg);
}

.thumbnail-slider .slider-button--next {
    transform: translateX(100%);
}

.thumbnail-slider .slider-button--next .icon {
    transform: rotate(-90deg);
}

.thumbnail-slider .slider-button--next::after {
    content: none;
}

.thumbnail-list_item--variant:not(:first-child) {
    display: none;
}

@media screen and (max-width: 749px) {
    .product--zoom-disabled .product__modal-opener:not(.product__modal-opener--image) {
        display: none;
    }

    .product--zoom-disabled .product__media-list .deferred-media {
        display: block;
    }

    .product__modal-opener {
        width: 100%;
    }

    .product__modal-opener:not(.product__modal-opener--image) .product__media-icon .icon {
        width: 2.4rem;
        height: 2.4rem;
    }

    media-gallery .thumbnail-slider {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: -1.5rem;
        margin-bottom: var(--sp-6);
    }

    .thumbnail-list,
    .thumbnail-list[data-media-count="2"],
    .thumbnail-list[data-media-count="3"],
    .thumbnail-list[data-media-count="4"] {
        max-width: none;
    }

    .thumbnail-list__item.slider__slide {
        width: 5.6rem;
    }

    .thumbnail-slider .thumbnail-list + .slider-buttons {
        display: none;
    }

    .product .slider.slider--mobile {
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .product .slider.slider--mobile::-webkit-scrollbar {
        display: none;
    }
}

@media screen and (min-width: 750px) {
    [data-animate-image] .product--thumbnail_slider use-animate[data-animate=fade-up] {
        transform: none;
    }

    .product--thumbnail_slider .thumbnail-slider {
        z-index: 5;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 0;
    }

    .product--hide-thumbnails .thumbnail-slider {
        display: none;
    }

    .product--hide-thumbnails .product__media-list {
        position: relative;
        flex-wrap: inherit;
        overflow-y: hidden;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        display: flex;
        margin: 0;
        list-style: none;
    }

    .product--hide-thumbnails.product--adapt .product__media-list {
        height: 0;
        padding-bottom: var(--force-image-ratio-percent);
    }

    .product--hide-thumbnails .product__media-wrapper .slider-buttons {
        display: flex;
    }

    .product__media-gallery .slider-mobile-gutter .slider-button {
        display: none;
    }

    .product--thumbnail_slider .slider-mobile-gutter .slider-button {
        display: none;
    }

    .thumbnail-list.slider--tablet-up .thumbnail-list__item.slider__slide {
        width: 6rem;
    }

    .thumbnail-list.slider--tablet-up[data-media-count="2"] {
        max-width: 13.8rem;
    }

    .thumbnail-list.slider--tablet-up[data-media-count="3"] {
        max-width: 20.4rem;
    }
}

.thumbnail {
    width: 100%;
    cursor: pointer;
    border: none;
    background-color: transparent;
}

.thumbnail::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset 0 0 0 0.1rem transparent;
    border-radius: 0.8rem;
    transition: box-shadow var(--duration-default) ease;
}

.thumbnail[aria-current]::after {
    box-shadow: inset 0 0 0 0.1rem rgb(var(--color-white));
}

.thumbnail img {
    pointer-events: none;
    transition: transform var(--duration-long) ease;
}

@media screen and (hover: hover) {
    .thumbnail:not([aria-current]):hover::after {
        box-shadow: inset 0 0 0 0.2rem rgba(var(--color-foreground), .04);
    }

    .thumbnail:not([aria-current]):hover img {
        transform: scale(1.1);
    }
}

.thumbnail-list__item {
    position: relative;
    border-radius: 0.8rem;
    overflow: hidden;
}

.thumbnail-list__item .deferred-media__poster-button {
    bottom: 0.5rem;
    right: 0.5rem;
    width: 2rem;
    height: 2rem;
    border-radius: 0.4rem;
    pointer-events: none;
    color: rgb(var(--color-background));
    background-color: rgba(var(--color-foreground), 0.9);
}

/* Product gallery */

.gallery-cursor {
    display: none;
}

@media screen and (min-width: 990px) {
    .gallery-cursor {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 6.4rem;
        height: 6.4rem;
        position: fixed;
        left: 30rem;
        top: 30rem;
        z-index: 2;
        pointer-events: none;
        cursor: none;
        background-color: rgb(var(--color-background));
        box-shadow: 0 0 4rem rgba(var(--color-foreground), 0.2);
        border-radius: 50%;
        transform: scale(0);
        transform-origin: center;
        transition: transform var(--duration-long) ease;
    }

    .gallery-cursor.show {
        transform: scale(1);
    }

    .gallery-cursor .icon {
        pointer-events: none;
        display: block;
        position: relative;
        width: 3rem;
        height: 3rem;
        transition: transform var(--duration-default) ease;
    }
}

@media screen and (min-width: 750px) {
    [data-animate-image] .product:not(.featured-product) .product__media-no-animate use-animate:not(.loading),
    [data-animate-image] .product:not(.featured-product) .product__media-no-animate use-animate:not(.loading) > .image-animate {
        opacity: 1;
        animation: none;
        transform: none;
    }
}

@media screen and (max-width: 749px) {
    [data-animate-image] .product:not(.featured-product) use-animate[data-animate^=fade] {
        opacity: 1;
        transform: none;
    }
}

/* Recipient form */
.recipient-form {
    /* (2.88[line-height] - 1.6rem) / 2 */
    --recipient-checkbox-margin-top: 0.64rem;

    display: block;
    position: relative;
    max-width: 44rem;
    margin-bottom: var(--sp-10);
}

.recipient-form-field-label {
    margin: var(--sp-2d5) 0;
}

.recipient-form-field-label--space-between {
    display: flex;
    justify-content: space-between;
}

.recipient-checkbox {
    flex-grow: 1;
    font-size: var(--font-16);
    display: flex;
    word-break: break-word;
    align-items: flex-start;
    max-width: inherit;
    position: relative;
    cursor: pointer;
}

.no-js .recipient-checkbox {
    display: none;
}

.recipient-form > input[type='checkbox'] {
    position: absolute;
    width: 1.6rem;
    height: 1.6rem;
    margin: var(--recipient-checkbox-margin-top) 0;
    top: 0;
    left: 0;
    z-index: -1;
    appearance: none;
    -webkit-appearance: none;
}

.recipient-fields__field {
    margin: 0 0 var(--sp-8) 0;
}

.recipient-fields .field__label {
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: calc(100% - 3.5rem);
    overflow: hidden;
}

.recipient-checkbox > svg {
    margin-top: var(--recipient-checkbox-margin-top);
    margin-right: var(--sp-5);
    flex-shrink: 0;
}

.recipient-form .icon-checkmark {
    visibility: hidden;
    position: absolute;
    left: 0.28rem;
    z-index: 5;
    top: 0.4rem;
}

.recipient-form > input[type='checkbox']:checked + label .icon-checkmark {
    visibility: visible;
}

.js .recipient-fields {
    display: none;
}

.recipient-fields hr {
    margin: var(--sp-6d5) auto;
}

.recipient-form > input[type='checkbox']:checked ~ .recipient-fields {
    display: block;
    animation: animateMenuOpen var(--duration-default) ease;
}

.recipient-form > input[type='checkbox']:not(:checked, :disabled) ~ .recipient-fields,
.recipient-email-label {
    display: none;
}

.js .recipient-email-label.required,
.no-js .recipient-email-label.optional {
    display: inline;
}

.recipient-form ul {
    line-height: calc(1 + 0.6 / var(--font-body-scale));
    padding-left: 4.4rem;
    text-align: left;
}

.recipient-form ul a {
    display: inline;
}

.recipient-form .error-message::first-letter {
    text-transform: capitalize;
}

@media screen and (forced-colors: active) {
    .recipient-fields > hr {
        border-top: 0.1rem solid rgb(var(--color-background));
    }

    .recipient-checkbox > svg {
        background-color: inherit;
        border: 0.1rem solid rgb(var(--color-background));
    }

    .recipient-form > input[type='checkbox']:checked + label .icon-checkmark {
        border: none;
    }
}

/* Product page highlights block */
.product__highlights {
    margin-top: 0;
}

.dialog-instant {
    .dialog-question-text-title {
        color: rgb(var(--color-dark-pink));
        font-size: var(--font-20);
        font-weight: var(--font-black);
        letter-spacing: 0 !important;
    }
    .dialog-question-text-description {
        color: rgb(var(--color-pink));
        font-size: var(--font-14);
        font-weight: var(--font-medium);
        margin-top: var(--sp-3);
    }
}

@media screen and (max-width: 749px) {
    .dialog-instant .dialog-question-text-title {
        font-size: var(--font-16);
    }
}

.yotpo-widget-instance {
    .yotpo-sr-bottom-line-text {
        text-decoration: underline;
    }
}

.page-width--full-width .yotpo-widget-instance {
    max-width: var(--page-width);
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media screen and (min-width: 750px) {
    .page-width--full-width .yotpo-widget-instance {
        padding: 0 5rem;
    }
}

.section-product-yotpo {
    .yotpo-base-layout {
        width: 100% !important;
    }

    .yotpo-head {
        margin-block-start: var(--sp-10) !important;
    }

    .yotpo-headline {
        font-size: var(--font-h2-size);
        font-weight: var(--font-black) !important;
        color: rgb(var(--color-dark-pink));
        text-transform: uppercase;
    }

    .yotpo-review-border-dotted {
        display: none !important;
    }

    .yotpo-paragraph-summary-container {
        background-color: rgba(var(--color-pink), 0.1);
        padding: var(--sp-9);
        border-radius: var(--border-radius-medium);
    }

    .yotpo-paragraph-summary {
        margin: 0 !important;
        padding: 0 !important;
    }

    .yotpo-reviews-summary-button {
        color: rgb(var(--color-dark-pink));
        border-color: rgb(var(--color-dark-pink));
    }

    .yotpo-reviews-summary-button-text {
        font-weight: var(--font-medium);
    }

    .yotpo-smart-topic-filter {
        background-color: rgb(var(--color-white)) !important;
        color: rgb(var(--color-foreground)) !important;
    }

    .yotpo-reviews-item {
        background-color: rgb(var(--color-white)) !important;
        padding: var(--sp-9);
        border-radius: var(--border-radius-medium);
        margin-bottom: var(--sp-6);
    }

    .yotpo-review {
        margin: 0 !important;
    }

    .yotpo-reviews-pagination-item {
        color: rgb(var(--color-pink)) !important;
        font-weight: var(--font-bold) !important;

        &.selected {
            color: rgb(var(--color-dark-pink)) !important;
            background: none !important;
        }

        .yotpo-pagination-icon {
            fill: rgb(var(--color-dark-pink)) !important;
        }
    }
}

@media screen and (max-width: 749px) {
    .section-product-yotpo .yotpo-head {
        margin-block-start: 0 !important;
    }
}

@media screen and (hover: hover) {
    .product-form__submit:hover:not([disabled]):not([aria-disabled="true"]) {
        background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
    }
}

.product-form__input--pill .form__label {
    font-size: var(--font-14);
    font-weight: var(--font-bold);
    text-transform: none;
    color: rgb(var(--color-foreground));
}

.product-form__input--pill .form__label::after {
    content: ' :';
}

.product-form__input input.button-input__input + label {
    border: .1rem solid rgb(var(--color-light-grey));
    color: rgb(var(--color-foreground));
    justify-content: center;
}
.product-info--unavailable .product-form,
.product-info--unavailable .product__loyalty {
    display: none;
}

.appstle_widget_title {
    display: none !important;
}

.appstle_subscription_wrapper {
    margin-bottom: 0 !important;

    .appstle_subscription_wrapper_option {
        border-color: rgb(var(--color-dark-pink)) !important;
        background-color: rgb(var(--color-white)) !important;
        padding: var(--sp-4) var(--sp-6) !important;

        &.appstle_include_dropdown {
            margin-block-start: var(--sp-4) !important;
        }
    }

    .appstle_one_time_text,
    .appstle_subscribe_save_text {
        font-weight: var(--font-medium);
        font-size: var(--font-14);
    }

    .appstle-save-badge {
        background-color: rgb(var(--color-pink)) !important;
        font-weight: var(--font-medium) !important;
        letter-spacing: 0 !important;
    }

    .appstle_circle {
        border-color: rgb(var(--color-grey)) !important;
        color: rgb(var(--color-grey)) !important;
        &::before {
            display: none !important;
        }
    }

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

    .appstleSelectedSellingPlanOptionDescription {
        ul {
            padding-ilnine-start: 0;
        }
    }
    .appstle_subscription_amount_wrapper {
        display: none !important;
        position: absolute !important;
        visibility: hidden !important;
    }
    .appstle_select {
        border-color: rgb(var(--color-dark-pink)) !important;
        border-radius: var(--card-radius) !important;
    }
    .appstle-text-and-badge-wrapper {
        line-height: 1;
    }
}

.appstleLoyaltyTable {
    .appstle_loyalty_title {
        color: rgb(var(--color-pink)) !important;
    }

    .appstle-loyalty-table {
        box-shadow: 0 0 0 .1rem rgb(var(--color-dark-pink)) !important;
        font-weight: rgb(var(--color-white));
        background-color: white;

        td {
            border-color: rgb(var(--color-dark-pink)) !important;
            border: 0 !important;
            padding: var(--sp-1) var(--sp-6);
        }

        .appstle-reward-items {
            padding: 0 14px;

            .appstle-dot {
                display: none !important;
            }
        }
    }

    .appstle-loyalty-table.ugc-iconContainer {
        display: none !important;
    }
}

.appstle-tootltip-parent {
    .appstle_tooltip_appstle {
        visibility: hidden;
    }

    .tooltip_subscription_svg {
        display: none;
    }

    .appstle_tooltip_title {
        color: rgb(var(--color-foreground)) !important;
        font-weight: var(--font-medium);
        font-size: var(--font-12);
    }

    .appstle_tooltip {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        box-shadow: none !important;
        background-color: rgb(var(--color-white)) !important;
        border: .1rem solid rgb(var(--color-pink)) !important;
        border-radius: var(--border-radius-medium) !important;
        inset-inline-start: 0;
        color: rgb(var(--color-foreground)) !important;

        &::before {
            border-color: rgb(var(--color-pink)) !important;
            top: -7px !important;
            left: 15px !important;
        }
    }
}

.appstle_subscription_save {
    display: none;
}

@layer appstle-design {
    :is(#appstle_subscription_widget0, [id^="appstle_subscription_widget"]):where(.appstle_sub_widget):where(.WIDGET_TYPE_1, .WIDGET_TYPE_2, .WIDGET_TYPE_7, .WIDGET_TYPE_8, .as-cards):where(:not(.appstle_collection_compact)) .appstle_widget_title {
        display: none !important;
    }
    :is(#appstle_subscription_widget0, [id^="appstle_subscription_widget"]):where(.appstle_sub_widget):where(.WIDGET_TYPE_1, .WIDGET_TYPE_2, .WIDGET_TYPE_7, .WIDGET_TYPE_8, .as-cards):where(:not(.appstle_collection_compact)) .appstle-save-badge.appstle-save-badge {
        background-color: rgb(var(--color-pink)) !important;
    }
    :is(#appstle_subscription_widget0, [id^="appstle_subscription_widget"]):where(.appstle_sub_widget):where(.WIDGET_TYPE_1, .WIDGET_TYPE_2, .WIDGET_TYPE_7, .WIDGET_TYPE_8, .as-cards):where(:not(.appstle_collection_compact)) .appstle_tooltip {
            box-shadow: none !important;
            background-color: rgb(var(--color-white)) !important;
            border: .1rem solid rgb(var(--color-pink)) !important;
            border-radius: var(--border-radius-medium) !important;
            color: rgb(var(--color-foreground)) !important;
        }
    }
}