﻿
@media (max-width: 480px) {
    .product__media-wrapper .slider-component .splide__slide img {
        width: 100%;
        height: 100%;
        margin: 5%;
    }
}

.promo-container {
    display: inline-block;
    box-shadow: 0 15px 50px rgba(0,0,0,0.1);
    padding: 60px 15px 85px;
    position: relative;
    border-radius: 10px;
    max-width: 100%;
}

#cart-promotion-top:empty,
#cart-promotion-section:empty {
    display: none;
}

#cart-promotion-top {
    align-self: center;
}

.flex-container {
    display: flex;
    align-items: center;
    position: relative;
}

.sf_promo-prod-img {
    max-height: 100%;
}

.plus-icon {
    justify-content: center;
    margin: 50px;
    align-self: center;
}

.sf_promo-main-prod,
.secondary-prod {
    margin: 3px 10px;
    padding: 10px;
    text-decoration: none;
    width: 200px;
    min-width: 150px;
}

.secondary-prod {
    width: 180px;
}

.sf_promo-main-container-margin .sf_promo-main-prod,
.secondary-prod {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    flex-direction: column;
}


    .sf_promo-main-container-margin .sf_promo-main-prod > div,
    .secondary-prod > div {
        width: 100%;
    }


    .sf_promo-main-container-margin .sf_promo-main-prod .checkbox-select-wrapper,
    .secondary-prod .checkbox-select-wrapper {
        flex: 1;
        align-items: flex-start;
    }

        .sf_promo-main-container-margin .sf_promo-main-prod .checkbox-select-wrapper .input-check,
        .secondary-prod .checkbox-select-wrapper .input-check {
            margin-top: 2px !important;
        }

    .sf_promo-main-prod.is-selected,
    .secondary-prod.is-selected {
        border-radius: 5px;
        background-color: rgba(0,0,0,0.02);
        box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
    }

        .sf_promo-main-prod.is-selected .img-container,
        .secondary-prod.is-selected .img-container {
            border-color: transparent;
        }

.cart-promotion-prod {
    margin: 15px;
    text-decoration: none;
    width: 200px;
    padding: 10px;
}

    .cart-promotion-prod:hover {
        border: 1px solid #9E8137;
    }

/* -- quantity box -- */
.buttons_added {
    display: flex;
    text-align-last: center;
    margin-left: 30%;
}

    .buttons_added.minus {
        background-color: white;
        border: 0;
        font-size: 1rem;
        padding: 0;
        font-weight: bold;
        margin: 0 10px;
    }

    .buttons_added.input-text {
        border: 0;
        margin: 0;
        padding: 0;
        font-size: 16px;
    }

    .buttons_added.plus {
        background: white;
        border: 0;
        font-weight: bold;
        padding: 0;
        margin: 0 10px;
    }

.view-all {
    position: absolute;
    top: -3px;
    right: 20px;
}

.ml-2 {
    margin-right: 1rem;
}

.display-control {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    position: relative;
}

.sf_promo-product-price-wrapper .sf_promo-product-original-price {
    position: absolute;
    max-width: 90%;
}

/*Hide for small*/

.hide-for-small-selected {
    display: flex;
    margin-left: 22%;
}

.sf_promo-main-container-margin {
    margin-top: 20px;
    display: flex;
    max-width: 100%;
    overflow: auto;
}

.sf_promo-container-height-opacity {
    max-height: 800px;
    overflow: hidden;
    position: relative;
}

.sf_promo-container-white-gradient:after {
    background: #fff;
    background: -webkit-gradient(left top,right top,color-stop(0,#fff),color-stop(100%,hsla(0,0%,100%,0)));
    background: linear-gradient(360deg,#fff 0,hsla(0,0%,100%,0));
}

.sf_promo-container-white-gradient:after {
    content: "";
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 100px;
    z-index: 2;
}

.sf_promo-select {
    width: 100%;
    max-width: 100%;
    padding: 5px 10px;
    background-position: right 10px center;
    margin: 0;
    border: none;
}

.top-right {
    position: absolute;
    top: 0;
    right: 0;
    color: white;
}

.sf_promo-qty-adjust {
    display: inline-flex;
}

.sf_promo-product-single__btn-qty-adjust {
    cursor: pointer;
    font-size: 1.4em;
    line-height: 1.7;
}

.sf_promo-qty-adjust input {
    width: 30px;
    min-width: 30px;
    text-align: center;
    border: none;
    padding: 0;
    font-size: 1.2em;
    box-shadow: none;
    margin-bottom: 0;
    color: currentColor;
    background: transparent;
    -moz-appearance: textfield;
    
}

    .sf_promo-qty-adjust input::-webkit-outer-spin-button,
    .sf_promo-qty-adjust input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

.sf_promo-quantity-selector {
    display: inline-block;
    width: 100px;
}


.sf_promo-promo-label-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    /* max-height: 35px; */
    max-width: 100%;
}

.sf_promo-promo-label {
    position: relative;
    cursor: pointer;
    display: inline-block;
    margin-right: 6px;
    margin-top: 12px;
    border: 1px solid;
    font-size: 0.8em;
    padding: 8px 16px;
    font-weight: 400;
    line-height: 1.3;
    border-radius: 2px;
    max-width: 100%;
}

    .sf_promo-promo-label:before {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background: currentColor;
        z-index: 1;
        opacity: 0.05;
        top: 0;
        left: 0;
        border-radius: 2px;
    }

    .sf_promo-promo-label.sf_promo-label-unclickable {
        border: 1px dashed;
    }

    .sf_promo-promo-label.sf_promo-label-clickable {
        padding-right: 2.6em;
    }

    .sf_promo-promo-label .sf_promo-svg-icon {
        position: absolute;
        top: 50%;
        right: 8px;
        transform: translate(0,-50%);
        -webkit-transform: translate(0,-50%);
        width: 1.4em;
        height: 1.4em;
        fill: none;
    }

    .sf_promo-promo-label.sf_promo-label-unclickable,
    .sf_promo-promo-label.sf_promo-label-unclickable:hover {
        cursor: default;
    }

#sf_promo-tag {
    display: inline;
}

#sf_promo-view-more-tag {
    font-size: 13px;
    cursor: pointer;
    padding: 7px 10px;
    border: none;
}

.sf_promo-tag-label-title {
    /* white-space: nowrap; */
    overflow: hidden;
    text-overflow: ellipsis;
}

.mobile-btn-adjust {
    padding: 0 10px;
    position: absolute;
    margin-left: 11%;
}

.progress-bar-bg {
    background-color: #C8C8C8;
    width: 50%;
    height: 5px;
    margin: 15px auto;
    align-self: center;
}

.progress-bar {
    background-color: #9E8137;
    width: 50%;
    height: 5px;
}

.amount-entitled-text {
    font-weight: bold;
    margin-left: 5px;
}

.sf_promo-ribbon {
    position: absolute;
    top: 20px;
    left: 0;
    display: inline-block;
    z-index: 2;
    font-size: 14px;
    line-height: 34px;
    padding: 0 15px 0 25px;
    max-width: 90%;
    box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.15);
}

    .sf_promo-ribbon:after, .sf_promo-ribbon:before {
        content: "";
        position: absolute;
        z-index: -1;
        right: -17px;
        width: 0;
        height: 0;
        border-left: 17px solid transparent;
        border-right: 17px solid transparent;
    }

    .sf_promo-ribbon:before {
        top: 0;
        border-top: 17px solid;
    }

    .sf_promo-ribbon:after {
        bottom: 0;
        border-bottom: 17px solid;
    }

.sf_promo-ribbon-text {
    max-width: 360px;
}

    .sf_promo-ribbon-text span {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        display: block;
        max-width: 100%;
    }

.sf_promo-container, .promotion-form {
    position: relative;
}

.promotion-form {
    margin-top: 20px;
}

.sf_promo-add-product-icon {
    width: 2.4em;
    height: 2.2em;
}

    .sf_promo-add-product-icon:hover {
        border: 1px solid black;
        border-radius: 5px;
    }

.sf_promo-product-grid-container {
    display: grid;
    grid-template-columns: auto auto auto auto auto;
    grid-gap: 20px;
    width: 100%;
}

.large--three-quarters .sf_promo-product-grid-container {
    grid-template-columns: auto auto auto;
}

.sf_promo-product-grid-container .secondary-prod {
    margin: 0;
}

.sf_promo-product-top-right-tag {
    position: absolute;
    top: 0;
    right: 0;
    color: white;
}

.sf_promo-product-main-prod-section {
    margin-left: 30px;
}

    .sf_promo-product-main-prod-section .main-prod-promo-container {
        margin-bottom: 30px;
        display: flex;
        align-items: center;
    }

        .sf_promo-product-main-prod-section .main-prod-promo-container .promotion-label {
            background-color: #5898E7;
            color: white;
            padding: 10px;
            margin-right: 10px;
            border-radius: 10px;
        }

    .sf_promo-product-main-prod-section .original-price {
        text-decoration: line-through;
        display: block;
        margin-bottom: 5px;
        color: #797979
    }

    .sf_promo-product-main-prod-section .discounted-price {
        display: block;
        color: #9E8137;
        font-weight: bold;
    }

.select-counter-container {
    float: right;
    margin-right: 50px;
    margin-bottom: 50px;
}

span.selected {
    color: #9E8137;
    font-weight: bolder;
    font-size: 30px;
}

span.gift-text {
    color: #9E8137;
    font-weight: bolder;
    font-size: 20px;
}

.free-label-text {
    font-weight: bold;
    display: inline-block;
    background-color: #5898E7;
    color: white;
    padding: 4px 15px;
    border-radius: 8px;
    font-size: 15px;
    text-align: center;
    margin-right: 0.5rem;
    transform: translateY(-0.3em);
    -webkit-transform: translateY(-0.3em);
}

.sf_promo-gift-title {
    display: block;
    margin-top: 20px;
}

.sf_promo-gift-original-price {
    text-decoration: line-through;
    display: block;
    margin-bottom: 5px;
    color: #797979
}

.sf_promo-gift-discounted-price {
    display: block;
    color: #9E8137;
    font-weight: bold;
}

.sf_promo-gift-select {
    width: 50%;
}


.sf_promo-page-header-title {
    margin: 0;
    text-align: center;
    font-size: 30px;
    margin-bottom: 20px;
}

    .sf_promo-page-header-title:not(:only-child) {
        margin-bottom: 1rem;
    }

.sf_promo-page-header-gift-entitled {
    color: #9E8137;
    font-size: 30px;
}

.sf_promo-center {
    text-align: center;
}

.sf_promo-form {
    position: relative;
    margin: 2rem;
}

#cart-promotion-section .sf_promo-form {
    margin: 0;
}

/*.sf_promo-form button[type=submit] {*/
/*    position: absolute;
*/    /*right: 35px;
    bottom: 20px;
    z-index: 2;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    font: inherit;
    padding: 0.9rem 3rem 1.1rem;
    text-decoration: none;
    border: 0;
    border-radius: 0;
    background-color: rgba(var(--color-button), var(--alpha-button-background));
    box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border));
    color: rgb(var(--color-button-text));
    min-width: 12rem;
    min-height: 4.5rem;
    transition: box-shadow var(--duration-short) ease;
    -webkit-appearance: none;
    appearance: none;
}*/

.img-container {
    position: relative;
    width: 100%;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 10px;
    border: 1px solid rgba(0,0,0,0.08);
    overflow: hidden;
    border-radius: 5px;
}

.checkbox-select-wrapper {
    display: flex;
    align-items: center;
    margin: 5px 0;
    line-height: 1.4;
}

    .checkbox-select-wrapper .input-check {
        margin-right: 8px;
    }

        .checkbox-select-wrapper .input-check input {
            min-width: initial;
        }

.sf_promo-product-original-price {
    text-decoration: line-through;
    color: #999;
    line-height: 1.2;
}

.sf_promo-product-discounted-price {
    font-weight: bold;
    margin-bottom: 0;
}

.hide {
    display: none;
}

.get-more-promotion, .view-more-promotion {
    text-align: -webkit-center;
    background: none;
    border: 0;
    width: 100%;
}

button#view-more-promotion {
    margin-top: 2rem;
}

.btm-fixed-container {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    box-shadow: 0 -10px 25px rgba(0, 0, 0, 0.05);
    background-color: white;
    max-width: 1200px;
    z-index: 9999;
    width: 100%;
    height: 100px;
    justify-content: flex-end;
    display: flex;
    align-items: center;
    padding-right: 20px;
    margin: 3rem 0;
}

    .btm-fixed-container .cancel-btn {
        margin-right: 20px;
        font-size: 1.3em;
    }

.page-sf-promotion .btm-fixed-container .add-to-cart {
    position: relative;
    right: initial;
    bottom: initial;
}

.page-sf-promotion {
    max-width: 1200px;
    margin: 0 auto;
}

    .page-sf-promotion .sf_promo-main-prod {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 2rem;
        padding-bottom: 3rem;
        border-bottom: 1px solid rgba(0,0,0,0.1);
    }

        .page-sf-promotion .sf_promo-main-prod .sf_promo-product-main-prod-section {
            width: 100%;
            min-width: 250px;
            max-width: 550px;
        }

        .page-sf-promotion .sf_promo-main-prod .sf_promo-select {
            padding: 10px;
        }

        .page-sf-promotion .sf_promo-main-prod .checkbox-select-wrapper,
        .page-sf-promotion .sf_promo-main-prod .display-control {
            max-width: 300px;
            font-size: 1rem;
        }

        .page-sf-promotion .sf_promo-main-prod.is-selected {
            padding: 1rem;
        }

        .page-sf-promotion .sf_promo-main-prod .img-container {
            width: 100%;
            max-width: 250px;
            height: 250px;
            margin: 0;
        }

        .page-sf-promotion .sf_promo-main-prod h3 {
            margin-bottom: 0.5rem;
        }

    .page-sf-promotion .secondary-prod {
        justify-self: center;
    }

#cart-promotion-section {
    text-align: center;
}

    #cart-promotion-section .promo-container {
        box-shadow: none;
        padding: 0 15px 80px;
        margin: 2rem auto;
    }

    #cart-promotion-section .sf_promo-main-container-margin > div:first-child {
        margin-left: 2px;
    }

#cart-promotion-top .text-image-wrapper {
    place-content: center;
    display: flex;
    align-items: center;
    padding: 15px 25px 10px;
    text-align: center;
}

#cart-promotion-top .checked-img {
    margin: 0 10px;
    width: 20px;
    height: 20px;
}

#cart-promotion-top .entitled-title, .potential-title {
    font-weight: bold;
    font-size: 15px
}

#cart-promotion-top .grey-hr {
    border-top: solid #B1B1B1;
    border-width: 1px 0 0;
    width: 50%;
    margin: auto;
    margin-top: 5px;
    margin-bottom: 5px;
}

.sold-out-text {
    border: solid 1px grey;
    padding: 2px 10px;
    font-size: 11px;
    white-space: nowrap;
    color: white;
    background: gray;
    box-shadow: 0 15px 50px rgba(0,0,0,0.35);
    ;
}

.svg-icon {
    width: 1.2em;
    height: 1.4em;
    vertical-align: middle;
    fill: currentcolor;
    margin-top: -0.2em;
}

.lds-ring {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

    .lds-ring div {
        box-sizing: border-box;
        display: block;
        position: absolute;
        width: 64px;
        height: 64px;
        margin: 8px;
        border: 8px solid #fff;
        border-radius: 50%;
        animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
        border-color: #fff transparent transparent transparent;
    }

        .lds-ring div:nth-child(1) {
            animation-delay: -0.45s;
        }

        .lds-ring div:nth-child(2) {
            animation-delay: -0.3s;
        }

        .lds-ring div:nth-child(3) {
            animation-delay: -0.15s;
        }

@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.sf_promo-loader {
    border: 5px solid #dedede;
    border-radius: 50%;
    border-top: 5px solid #333;
    width: 60px;
    height: 60px;
    -webkit-animation: spin 700ms linear infinite;
    animation: spin 700ms linear infinite;
}

.sf_promo-is-loading {
    position: relative;
    cursor: not-allowed;
    pointer-events: none;
    color: transparent !important;
}

    .sf_promo-is-loading:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -12px;
        margin-left: -12px;
        width: 24px;
        height: 24px;
        border: 4px solid #dedede;
        border-radius: 50%;
        border-top: 4px solid #333;
        -webkit-animation: spin 700ms linear infinite;
        animation: spin 700ms linear infinite;
        z-index: 2;
    }

.promo-loading-wrapper {
    display: flex;
    place-content: center;
    margin-top: 20px;
}

.entitled-label {
    position: absolute;
    left: 0;
    top: 0;
    background-color: #5898E7;
    color: white;
    padding: 0 10px;
    border-radius: 3px;
}

.float-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sf_promo-tag-wrapper {
    margin-bottom: 20px;
}

.sf_promo-tag-container {
    width: 100%;
    max-width: 450px;
}

/* Safari */
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media screen and (max-width: 768px) {
    .sf_promo-form {
        margin: 2rem 0;
    }

        .sf_promo-form button[type=submit] {
            right: 20px;
        }

    .sf_promo-ribbon-text {
        max-width: 200px;
    }

    .promo-container {
        width: calc(100% - 30px);
        margin: 10px auto;
        padding: 20px 0px 85px;
        display: block;
    }

    .img-container {
        height: 120px;
    }

    .sf_promo-main-prod,
    .secondary-prod {
        margin: 5px;
        width: auto;
        min-width: none;
    }

    .sf_promo-product-main-prod-section .main-prod-promo-container {
        display: block;
        margin-bottom: 0;
    }

    .hide-for-small, .hide-for-small-selected {
        display: none;
    }

    .sf_promo-product-grid-container .secondary-prod,
    .secondary-prod:nth-child(3),
    #cart-promotion-section .secondary-prod:nth-child(1), #cart-promotion-section .secondary-prod:nth-child(2) {
        display: block;
    }

    #cart-promotion-section .promo-container {
        padding: 0 0 80px;
    }

    #cart-promotion-section .sf_promo-main-container-margin {
        margin: 1rem 0 0;
    }

    .sf_promo-product-grid-container {
        grid-template-columns: auto auto;
        grid-gap: 10px;
    }

    .mobile-btn-adjust {
        margin-left: 28%;
        ;
    }

    .sf_promo-main-container-margin {
        justify-content: space-between;
        margin: 50px 10px 0;
    }

    .display-control {
        display: flex;
    }

    .view-all {
        top: 30px;
        right: 20px;
    }

    .buttons_added {
        margin-left: 0;
    }

    .btm-fixed-container {
        position: fixed;
        width: 100%;
        height: 80px;
        left: 0;
        margin: 0;
    }

        .btm-fixed-container .add-to-cart {
            bottom: 15px;
        }

    .page-sf-promotion .sf_promo-main-prod .sf_promo-product-main-prod-section {
        width: 100%;
        min-width: 100%;
        margin: 2rem 0 0;
    }
}
.product {
    margin: 0;
}

.product--no-media {
    max-width: 57rem;
    margin: 0 auto;
}

.product__media-wrapper {
    padding-left: 0;
}

.product__info-wrapper {
    padding-left: 0;
    padding-bottom: 0;
}

.product__media-wrapper .slider-component .splide__slide img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
}

.product__media-wrapper .slider-component .splide__slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 749px) {
    .product-section {
        margin-top: 0;
    }
}

@media screen and (min-width: 750px) {
    .product__info-container--sticky {
        position: sticky;
        top: 3rem;
        z-index: 2;
    }

    .product__info-wrapper {
        padding-left: 5rem;
    }

    .product__media-container .slider-buttons {
        display: none;
    }
}

@media screen and (min-width: 990px) {
    .product:not(.product--no-media):not(.featured-product) .product__media-wrapper {
        max-width: 55%;
        width: calc(55% - 1rem / 2);
    }

    .product:not(.product--no-media):not(.featured-product) .product__info-wrapper {
        padding-left: 4rem;
        max-width: 45%;
        width: calc(45% - 1rem / 2);
    }

    /*.product:not(.product--no-media) .product__info-container .product-form {
        max-width: 450px;
    }*/
}

/* Product form */

.product-form {
    display: block;
}

/* Form Elements */
.product-form__input {
    flex: 0 0 100%;
    padding: 0;
    margin: 0 0 1.2rem 0;
    min-width: fit-content;
    border: none;
    position: relative;
}

.selector-wrapper.product-form__input::after {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='icon-caret' viewBox='0 0 10 6'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
    height: 0.6rem;
    width: 1rem;
    pointer-events: none;
    position: absolute;
    bottom: 2rem;
    right: 1.5rem;
}

variant-radios,
variant-selects {
    display: block;
}

.product-form__input--dropdown {
    margin-bottom: 1.6rem;
}

.product-form__input .form__label {
    padding-left: 0;
}

fieldset.product-form__input .form__label {
    margin-bottom: 0.2rem;
}

.product-form__input input[type='radio'] {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    height: 1px;
    width: 1px;
}

    .product-form__input input[type='radio'] + label {
        border: 0.1rem solid rgba(var(--color-foreground), 0.55);
        border-radius: 4rem;
        color: rgb(var(--color-foreground));
        display: inline-block;
        margin: 0.7rem 0.5rem 0.2rem 0;
        padding: 1rem 2rem;
        font-size: 1.4rem;
        letter-spacing: 0.1rem;
        line-height: 1;
        text-align: center;
        transition: border var(--duration-short) ease;
        cursor: pointer;
    }

        .product-form__input input[type='radio'] + label:hover {
            border: 0.1rem solid rgb(var(--color-foreground));
        }

    .product-form__input input[type='radio']:checked + label {
        background-color: rgb(var(--color-foreground));
        color: rgb(var(--color-background));
    }

    .product-form__input input[type='radio']:disabled + label,
    .product-form__input input[type='radio'].disabled + label {
        border-color: rgba(var(--color-foreground), 0.1);
        color: rgba(var(--color-foreground), 0.4);
        /* text-decoration: line-through; */
    }

    .product-form__input input[type='radio']:focus-visible + label {
        box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55);
    }

    /* Fallback */
    .product-form__input input[type='radio'].focused + label {
        box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55);
    }

/* 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;
}

.product-form__input .select {
    max-width: 25rem;
}

.product-form__submit {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.no-js .product-form__submit.button--secondary {
    --color-button: var(--color-base-accent-1);
    --color-button-text: var(--color-base-solid-button-labels);
    --alpha-button-background: 1;
}


/* Product info */

.product__info-container > * + * {
    margin: 1rem 0;
}

.product__info-container .product-form,
.product__info-container .product__description {
    margin: 2.5rem 0;
}

.product__text {
    margin-bottom: 0;
}

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__title {
    word-break: break-word;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

    .product__title + .product__text.caption-with-letter-spacing {
        margin-top: -1.5rem;
    }

.product__text.caption-with-letter-spacing + .product__title {
    margin-top: 0;
}

.product__accordion .accordion__content {
    padding: 0 1rem;
}

.product .price {
    align-items: flex-start;
}

.product .price--on-sale dl {
    margin-bottom: 0.5rem;
}

.product .price--sold-out .price__badge-sold-out {
    background: transparent;
    color: rgb(var(--color-background));
    padding: 1rem 1.6rem 0 0.6rem;
    border: none;
}

.product .price--sold-out .price__badge-sale {
    display: none;
}

@media screen and (min-width: 750px) {
    .product__info-container .price--on-sale .price-item--regular {
        font-size: 1.6rem;
    }

    .product__info-container > *:first-child {
        margin-top: 0;
    }
}

.product__description-title {
    font-weight: 600;
}

.product--no-media .product__title,
.product--no-media .product__text,
.product--no-media noscript .product-form__input {
    text-align: center;
}

.product--no-media noscript .product-form__input,
.product--no-media .share-button {
    max-width: 100%;
}

.product--no-media fieldset.product-form__input,
.product--no-media .product-form__quantity,
.product--no-media .product-form__input--dropdown,
.product--no-media .share-button,
.product--no-media .product__view-details,
.product--no-media .store-availability-container,
.product--no-media .product-form {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

    .product--no-media .product-form > .form {
        max-width: 30rem;
        width: 100%;
    }

.product--no-media .product-form__quantity,
.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 1.2rem auto;
}

.product--no-media .product__info-container > modal-opener {
    display: block;
    text-align: center;
}

.product--no-media .product-popup-modal__button {
    padding-right: 0;
}

.product--no-media .price {
    justify-content: center;
}

.product--no-media .product__info-wrapper {
    padding-left: 0;
}

/* Product media */

@media screen and (max-width: 749px) {
    .product__media-list {
        margin-left: -2.5rem;
        padding-bottom: 2rem;
        margin-bottom: 3rem;
        width: calc(100% + 4rem);
    }

    .product__media-wrapper .slider-component {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }

    .slider.slider--mobile.product__media-list {
        padding-bottom: 0;
        margin-bottom: 0.5rem;
    }

    .slider.product__media-list::-webkit-scrollbar {
        height: 0.2rem;
        width: 0.2rem;
    }

    .product__media-list::-webkit-scrollbar-thumb {
        background-color: rgb(var(--color-foreground));
    }

    .product__media-list::-webkit-scrollbar-track {
        background-color: rgba(var(--color-foreground), 0.2);
    }

    .product__media-list .product__media-item {
        width: calc(100% - 3rem);
    }

    .slider.product__media-list .product__media-item:first-of-type {
        padding-left: 1.5rem;
    }
}

@media screen and (min-width: 750px) {
    .product__media-item:first-child {
        width: 100%;
    }

    .product-media-modal__content > .product__media-item--variant.product__media-item--variant {
        display: none;
    }

    .product-media-modal__content > .product__media-item--variant:first-child {
        display: block;
    }
}

.product__media-item--variant {
    display: none;
}

    .product__media-item--variant:first-child {
        display: block;
    }

@media screen and (min-width: 750px) and (max-width: 989px) {
    .product__media-list .product__media-item:first-child {
        padding-left: 0;
    }

    .product__media-list .product__media-item {
        padding: 0 0 0.5rem;
        width: 100%;
    }
}

.product__media-icon .icon {
    width: 1.2rem;
    height: 1.4rem;
}

.product__media-icon {
    background-color: rgb(var(--color-background));
    border-radius: 50%;
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
    color: rgb(var(--color-foreground));
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    width: 3rem;
    position: absolute;
    left: 1.5rem;
    top: 1.5rem;
    z-index: 1;
    transition: color var(--duration-short) ease, opacity var(--duration-short) ease;
}

.product__media-video .product__media-icon {
    opacity: 1;
}

.product__modal-opener--image .product__media-toggle:hover {
    cursor: zoom-in;
}

.product__modal-opener:hover .product__media-icon {
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
}

@media screen and (min-width: 750px) {
    .grid__item.product__media-item--full {
        width: 100%;
    }
}

@media screen and (min-width: 990px) {
    .product__modal-opener .product__media-icon {
        opacity: 0;
    }

    .product__modal-opener:hover .product__media-icon,
    .product__modal-opener:focus .product__media-icon {
        opacity: 1;
    }
}

.product__media-item > * {
    display: block;
    position: relative;
}

.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%;
}

.image-modal-wrapper.is-active,
.product-media-modal {
    background-color: rgb(var(--color-background));
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
}

    .image-modal-wrapper.is-active,
    .product-media-modal[open] {
        visibility: visible;
        opacity: 1;
        z-index: 110000;
    }

.image-modal-wrapper.is-active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-media-modal__dialog {
    display: flex;
    align-items: center;
    height: 100vh;
}

.product-media-modal__content {
    max-height: 100vh;
    width: 100%;
    overflow: auto;
}

    .product-media-modal__content > *:not(.active),
    .product__media-list .deferred-media {
        display: none;
    }

@media screen and (min-width: 750px) {
    .product-media-modal__content {
        padding-bottom: 2rem;
    }

        .product-media-modal__content > *:not(.active) {
            display: block;
        }

    .product__modal-opener:not(.product__modal-opener--image) {
        display: none;
    }

    .product__media-list .deferred-media {
        display: block;
    }
}

.product__media-list .deferred-media,
.product__media-list .product__modal-opener {
    border: 0.1rem solid rgba(var(--color-foreground), 0.04);
}

.product-media-modal__content > * {
    display: block;
    height: auto;
    margin: auto;
    border: 0.1rem solid rgba(var(--color-foreground), 0.04);
}

.product-media-modal__content .media {
    background: none;
}

.product-media-modal__model {
    width: 100%;
}

.js-image-modal-close,
.product-media-modal__toggle {
    background-color: rgb(var(--color-background));
    border: 0.1rem solid rgba(var(--color-foreground), 0.5);
    border-radius: 50%;
    color: rgba(var(--color-foreground), 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    right: 2rem;
    padding: 1.2rem;
    position: fixed;
    z-index: 2;
    top: 2rem;
    width: 4rem;
}

.product-media-modal__content .deferred-media {
    width: 100%;
}

@media screen and (min-width: 750px) {
    .product-media-modal__content {
        padding: 2rem 11rem;
    }

        .product-media-modal__content > * {
            width: 100%;
        }

            .product-media-modal__content > * + * {
                margin-top: 2rem;
            }

    .product-media-modal__toggle {
        right: 5rem;
        top: 2.2rem;
    }
}

@media screen and (min-width: 990px) {
    .product-media-modal__content {
        padding: 2rem 11rem;
    }

        .product-media-modal__content > * + * {
            margin-top: 1.5rem;
        }

    .product-media-modal__content {
        padding-bottom: 1.5rem;
    }

    .product-media-modal__toggle {
        right: 5rem;
    }
}

.product-media-modal__toggle:hover {
    color: rgba(var(--color-foreground), 0.75);
}

.product-media-modal__toggle .icon {
    height: auto;
    margin: 0;
    width: 2.2rem;
}

/* 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;
    overflow: auto;
    width: 100%;
    background: rgba(var(--color-foreground), 0.2);
    height: 100%;
}

    .product-popup-modal[open] {
        opacity: 1;
        visibility: visible;
        z-index: 101;
    }

.product-popup-modal__content {
    background-color: rgb(var(--color-background));
    overflow: auto;
    height: 80%;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 5rem;
    width: 92%;
    position: absolute;
    top: 0;
    padding: 0 1.5rem 0 3rem;
}

@media screen and (min-width: 750px) {
    .product-popup-modal__content {
        padding-right: 1.5rem;
        margin-top: 10rem;
        width: 70%;
        padding: 0 3rem;
    }
}

.product-popup-modal__content img {
    max-width: 100%;
}

@media screen and (max-width: 749px) {
    .product-popup-modal__content table {
        display: block;
        max-width: fit-content;
        overflow-x: auto;
        white-space: nowrap;
        margin: 0;
    }
}

.product-popup-modal__opener {
    display: inline-block;
}

.product-popup-modal__button {
    font-size: 1.6rem;
    padding-right: 1.3rem;
    padding-left: 0;
    height: 4.4rem;
    text-underline-offset: 0.3rem;
    text-decoration-thickness: 0.1rem;
    transition: text-decoration-thickness var(--duration-short) ease;
}

    .product-popup-modal__button:hover {
        text-decoration-thickness: 0.2rem;
    }

.product-popup-modal__content-info {
    padding-right: 4.4rem;
}

    .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__toggle {
    background-color: rgb(var(--color-background));
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
    border-radius: 50%;
    color: rgba(var(--color-foreground), 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: sticky;
    padding: 1.2rem;
    z-index: 2;
    top: 1.5rem;
    width: 4rem;
    margin: 0 0 0 auto;
}

    .product-popup-modal__toggle:hover {
        color: rgba(var(--color-foreground), 0.75);
    }

    .product-popup-modal__toggle .icon {
        height: auto;
        margin: 0;
        width: 2.2rem;
    }

.product-form__buttons {
    margin-top: 2.5rem;
}

    .product-form__buttons .btn {
        display: flex;
        width: 100%;
    }

.product__description.rte {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(0,0,0,0.1);
}

.float-bottom-modal {
    position: fixed;
    top: initial;
    bottom: 1px;
    left: 1px;
    right: 1px;
    width: auto;
    max-width: none;
    min-width: none;
    z-index: 100;
    padding: 20px 10px 30px;
}

.slider-component .icons-wrapper {
    position: absolute;
    top: 20px;
    right: 15px;
}

.button-circle {
    display: flex;
    line-height: 1;
    color: #fff;
    background: rgba(0,0,0,0.5);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

    .button-circle svg,
    .button-circle svg.icon-share {
        margin: 0;
    }

.float-bottom-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
}

    .float-bottom-modal-overlay::after {
        top: 0 !important;
    }

.product {
    margin: 0;
}

.product--no-media {
    max-width: 57rem;
    margin: 0 auto;
}

.product__media-wrapper {
    padding-left: 0;
}

.product__info-wrapper {
    padding-left: 0;
    padding-bottom: 0;
}

.product__media-wrapper .slider-component .splide__slide img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
}

.product__media-wrapper .slider-component .splide__slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 749px) {
    .product-section {
        margin-top: 0;
    }
}

@media screen and (min-width: 750px) {
    .product__info-container--sticky {
        position: sticky;
        top: 3rem;
        z-index: 2;
    }

    .product__info-wrapper {
        padding-left: 5rem;
    }

    .product__media-container .slider-buttons {
        display: none;
    }
}

/*@media screen and (min-width: 990px) {
    .product:not(.product--no-media):not(.featured-product) .product__media-wrapper {
        max-width: 55%;
        width: calc(55% - 1rem / 2);
    }

    .product:not(.product--no-media):not(.featured-product) .product__info-wrapper {
        padding-left: 4rem;
        max-width: 45%;
        width: calc(45% - 1rem / 2);
    }*/

   /* .product:not(.product--no-media) .product__info-container .product-form {
        max-width: 450px;
    }*/
/*}*/

/* Product form */

.product-form {
    display: block;
}

/* Form Elements */
.product-form__input {
    flex: 0 0 100%;
    padding: 0;
    margin: 0 0 1.2rem 0;
    min-width: fit-content;
    border: none;
    position: relative;
}

.selector-wrapper.product-form__input::after {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='icon-caret' viewBox='0 0 10 6'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
    height: 0.6rem;
    width: 1rem;
    pointer-events: none;
    position: absolute;
    bottom: 2rem;
    right: 1.5rem;
}

variant-radios,
variant-selects {
    display: block;
}

.product-form__input--dropdown {
    margin-bottom: 1.6rem;
}

.product-form__input .form__label {
    padding-left: 0;
}

fieldset.product-form__input .form__label {
    margin-bottom: 0.2rem;
}

.product-form__input input[type='radio'] {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    height: 1px;
    width: 1px;
}

    .product-form__input input[type='radio'] + label {
        border: 0.1rem solid rgba(var(--color-foreground), 0.55);
        border-radius: 4rem;
        color: rgb(var(--color-foreground));
        display: inline-block;
        margin: 0.7rem 0.5rem 0.2rem 0;
        padding: 1rem 2rem;
        font-size: 1.4rem;
        letter-spacing: 0.1rem;
        line-height: 1;
        text-align: center;
        transition: border var(--duration-short) ease;
        cursor: pointer;
    }

        .product-form__input input[type='radio'] + label:hover {
            border: 0.1rem solid rgb(var(--color-foreground));
        }

    .product-form__input input[type='radio']:checked + label {
        background-color: rgb(var(--color-foreground));
        color: rgb(var(--color-background));
    }

    .product-form__input input[type='radio']:disabled + label,
    .product-form__input input[type='radio'].disabled + label {
        border-color: rgba(var(--color-foreground), 0.1);
        color: rgba(var(--color-foreground), 0.4);
        /* text-decoration: line-through; */
    }

    .product-form__input input[type='radio']:focus-visible + label {
        box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55);
    }

    /* Fallback */
    .product-form__input input[type='radio'].focused + label {
        box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55);
    }

/* 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;
}

.product-form__input .select {
    max-width: 25rem;
}

.product-form__submit {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.no-js .product-form__submit.button--secondary {
    --color-button: var(--color-base-accent-1);
    --color-button-text: var(--color-base-solid-button-labels);
    --alpha-button-background: 1;
}


/* Product info */

.product__info-container > * + * {
    margin: 1rem 0;
}

.product__info-container .product-form,
.product__info-container .product__description {
    margin: 2.5rem 0;
}

.product__text {
    margin-bottom: 0;
}

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__title {
    word-break: break-word;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

    .product__title + .product__text.caption-with-letter-spacing {
        margin-top: -1.5rem;
    }

.product__text.caption-with-letter-spacing + .product__title {
    margin-top: 0;
}

.product__accordion .accordion__content {
    padding: 0 1rem;
}

.product .price {
    align-items: flex-start;
}

.product .price--on-sale dl {
    margin-bottom: 0.5rem;
}

.product .price--sold-out .price__badge-sold-out {
    background: transparent;
    color: rgb(var(--color-background));
    padding: 1rem 1.6rem 0 0.6rem;
    border: none;
}

.product .price--sold-out .price__badge-sale {
    display: none;
}

@media screen and (min-width: 750px) {
    .product__info-container .price--on-sale .price-item--regular {
        font-size: 1.6rem;
    }

    .product__info-container > *:first-child {
        margin-top: 0;
    }
}

.product__description-title {
    font-weight: 600;
}

.product--no-media .product__title,
.product--no-media .product__text,
.product--no-media noscript .product-form__input {
    text-align: center;
}

.product--no-media noscript .product-form__input,
.product--no-media .share-button {
    max-width: 100%;
}

.product--no-media fieldset.product-form__input,
.product--no-media .product-form__quantity,
.product--no-media .product-form__input--dropdown,
.product--no-media .share-button,
.product--no-media .product__view-details,
.product--no-media .store-availability-container,
.product--no-media .product-form {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

    .product--no-media .product-form > .form {
        max-width: 30rem;
        width: 100%;
    }

.product--no-media .product-form__quantity,
.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 1.2rem auto;
}

.product--no-media .product__info-container > modal-opener {
    display: block;
    text-align: center;
}

.product--no-media .product-popup-modal__button {
    padding-right: 0;
}

.product--no-media .price {
    justify-content: center;
}

.product--no-media .product__info-wrapper {
    padding-left: 0;
}

/* Product media */

@media screen and (max-width: 749px) {
    .product__media-list {
        margin-left: -2.5rem;
        padding-bottom: 2rem;
        margin-bottom: 3rem;
        width: calc(100% + 4rem);
    }

    .product__media-wrapper .slider-component {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }

    .slider.slider--mobile.product__media-list {
        padding-bottom: 0;
        margin-bottom: 0.5rem;
    }

    .slider.product__media-list::-webkit-scrollbar {
        height: 0.2rem;
        width: 0.2rem;
    }

    .product__media-list::-webkit-scrollbar-thumb {
        background-color: rgb(var(--color-foreground));
    }

    .product__media-list::-webkit-scrollbar-track {
        background-color: rgba(var(--color-foreground), 0.2);
    }

    .product__media-list .product__media-item {
        width: calc(100% - 3rem);
    }

    .slider.product__media-list .product__media-item:first-of-type {
        padding-left: 1.5rem;
    }
}

@media screen and (min-width: 750px) {
    .product__media-item:first-child {
        width: 100%;
    }

    .product-media-modal__content > .product__media-item--variant.product__media-item--variant {
        display: none;
    }

    .product-media-modal__content > .product__media-item--variant:first-child {
        display: block;
    }
}

.product__media-item--variant {
    display: none;
}

    .product__media-item--variant:first-child {
        display: block;
    }

@media screen and (min-width: 750px) and (max-width: 989px) {
    .product__media-list .product__media-item:first-child {
        padding-left: 0;
    }

    .product__media-list .product__media-item {
        padding: 0 0 0.5rem;
        width: 100%;
    }
}

.product__media-icon .icon {
    width: 1.2rem;
    height: 1.4rem;
}

.product__media-icon {
    background-color: rgb(var(--color-background));
    border-radius: 50%;
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
    color: rgb(var(--color-foreground));
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    width: 3rem;
    position: absolute;
    left: 1.5rem;
    top: 1.5rem;
    z-index: 1;
    transition: color var(--duration-short) ease, opacity var(--duration-short) ease;
}

.product__media-video .product__media-icon {
    opacity: 1;
}

.product__modal-opener--image .product__media-toggle:hover {
    cursor: zoom-in;
}

.product__modal-opener:hover .product__media-icon {
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
}

@media screen and (min-width: 750px) {
    .grid__item.product__media-item--full {
        width: 100%;
    }
}

@media screen and (min-width: 990px) {
    .product__modal-opener .product__media-icon {
        opacity: 0;
    }

    .product__modal-opener:hover .product__media-icon,
    .product__modal-opener:focus .product__media-icon {
        opacity: 1;
    }
}

.product__media-item > * {
    display: block;
    position: relative;
}

.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%;
}

.image-modal-wrapper.is-active,
.product-media-modal {
    background-color: rgb(var(--color-background));
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
}

    .image-modal-wrapper.is-active,
    .product-media-modal[open] {
        visibility: visible;
        opacity: 1;
        z-index: 110000;
    }

.image-modal-wrapper.is-active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-media-modal__dialog {
    display: flex;
    align-items: center;
    height: 100vh;
}

.product-media-modal__content {
    max-height: 100vh;
    width: 100%;
    overflow: auto;
}

    .product-media-modal__content > *:not(.active),
    .product__media-list .deferred-media {
        display: none;
    }

@media screen and (min-width: 750px) {
    .product-media-modal__content {
        padding-bottom: 2rem;
    }

        .product-media-modal__content > *:not(.active) {
            display: block;
        }

    .product__modal-opener:not(.product__modal-opener--image) {
        display: none;
    }

    .product__media-list .deferred-media {
        display: block;
    }
}

.product__media-list .deferred-media,
.product__media-list .product__modal-opener {
    border: 0.1rem solid rgba(var(--color-foreground), 0.04);
}

.product-media-modal__content > * {
    display: block;
    height: auto;
    margin: auto;
    border: 0.1rem solid rgba(var(--color-foreground), 0.04);
}

.product-media-modal__content .media {
    background: none;
}

.product-media-modal__model {
    width: 100%;
}

.js-image-modal-close,
.product-media-modal__toggle {
    background-color: rgb(var(--color-background));
    border: 0.1rem solid rgba(var(--color-foreground), 0.5);
    border-radius: 50%;
    color: rgba(var(--color-foreground), 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    right: 2rem;
    padding: 1.2rem;
    position: fixed;
    z-index: 2;
    top: 2rem;
    width: 4rem;
}

.product-media-modal__content .deferred-media {
    width: 100%;
}

@media screen and (min-width: 750px) {
    .product-media-modal__content {
        padding: 2rem 11rem;
    }

        .product-media-modal__content > * {
            width: 100%;
        }

            .product-media-modal__content > * + * {
                margin-top: 2rem;
            }

    .product-media-modal__toggle {
        right: 5rem;
        top: 2.2rem;
    }
}

@media screen and (min-width: 990px) {
    .product-media-modal__content {
        padding: 2rem 11rem;
    }

        .product-media-modal__content > * + * {
            margin-top: 1.5rem;
        }

    .product-media-modal__content {
        padding-bottom: 1.5rem;
    }

    .product-media-modal__toggle {
        right: 5rem;
    }
}

.product-media-modal__toggle:hover {
    color: rgba(var(--color-foreground), 0.75);
}

.product-media-modal__toggle .icon {
    height: auto;
    margin: 0;
    width: 2.2rem;
}

/* 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;
    overflow: auto;
    width: 100%;
    background: rgba(var(--color-foreground), 0.2);
    height: 100%;
}

    .product-popup-modal[open] {
        opacity: 1;
        visibility: visible;
        z-index: 101;
    }

.product-popup-modal__content {
    background-color: rgb(var(--color-background));
    overflow: auto;
    height: 80%;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 5rem;
    width: 92%;
    position: absolute;
    top: 0;
    padding: 0 1.5rem 0 3rem;
}

@media screen and (min-width: 750px) {
    .product-popup-modal__content {
        padding-right: 1.5rem;
        margin-top: 10rem;
        width: 70%;
        padding: 0 3rem;
    }
}

.product-popup-modal__content img {
    max-width: 100%;
}

@media screen and (max-width: 749px) {
    .product-popup-modal__content table {
        display: block;
        max-width: fit-content;
        overflow-x: auto;
        white-space: nowrap;
        margin: 0;
    }
}

.product-popup-modal__opener {
    display: inline-block;
}

.product-popup-modal__button {
    font-size: 1.6rem;
    padding-right: 1.3rem;
    padding-left: 0;
    height: 4.4rem;
    text-underline-offset: 0.3rem;
    text-decoration-thickness: 0.1rem;
    transition: text-decoration-thickness var(--duration-short) ease;
}

    .product-popup-modal__button:hover {
        text-decoration-thickness: 0.2rem;
    }

.product-popup-modal__content-info {
    padding-right: 4.4rem;
}

    .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__toggle {
    background-color: rgb(var(--color-background));
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
    border-radius: 50%;
    color: rgba(var(--color-foreground), 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: sticky;
    padding: 1.2rem;
    z-index: 2;
    top: 1.5rem;
    width: 4rem;
    margin: 0 0 0 auto;
}

    .product-popup-modal__toggle:hover {
        color: rgba(var(--color-foreground), 0.75);
    }

    .product-popup-modal__toggle .icon {
        height: auto;
        margin: 0;
        width: 2.2rem;
    }

.product-form__buttons {
    margin-top: 2.5rem;
}

    .product-form__buttons .btn {
        display: flex;
        width: 100%;
    }

.product__description.rte {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(0,0,0,0.1);
}

.float-bottom-modal {
    position: fixed;
    top: initial;
    bottom: 1px;
    left: 1px;
    right: 1px;
    width: auto;
    max-width: none;
    min-width: none;
    z-index: 100;
    padding: 20px 10px 30px;
}

.slider-component .icons-wrapper {
    position: absolute;
    top: 20px;
    right: 15px;
}

.button-circle {
    display: flex;
    line-height: 1;
    color: #fff;
    background: rgba(0,0,0,0.5);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

    .button-circle svg,
    .button-circle svg.icon-share {
        margin: 0;
    }

.float-bottom-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
}

    .float-bottom-modal-overlay::after {
        top: 0 !important;
    }

.price {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    font-size: 1.6rem;
    line-height: 1.5;
    color: rgb(var(--color-foreground));
}

    .price.price--unavailable {
        visibility: hidden;
    }

.price--end {
    justify-content: flex-end;
}

.price dl {
    margin: 0;
    display: flex;
    flex-direction: column;
}

.price dd {
    margin: 0 0.8rem 0 0;
}

.price .price__last:last-of-type {
    margin: 0;
}

@media screen and (min-width: 750px) {
    .price {
        margin-bottom: 0;
    }
}

.price--large {
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 0.13rem;
}

@media screen and (min-width: 750px) {
    .price--large {
        font-size: 2rem;
    }
}

.price--sold-out .price__availability,
.price__regular {
    display: block;
}

.price__sale,
.price__availability,
.price .price__badge-sale,
.price .price__badge-sold-out,
.price--on-sale .price__regular,
.price--on-sale .price__availability,
.price--no-compare .price__compare {
    display: none;
}

.price--sold-out .price__badge-sold-out,
.price--on-sale .price__badge-sale {
    display: inline-flex;
}

.price--on-sale .price__sale {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.price--center {
    display: flex;
    justify-content: center;
}

.price--on-sale .price-item--regular {
    text-decoration: line-through;
    color: rgba(var(--color-foreground), 0.75);
    font-size: 1.3rem;
}

.unit-price {
    font-size: 1.1rem;
    letter-spacing: 0.04rem;
    line-height: 1.2;
    margin-top: 0.2rem;
    text-transform: uppercase;
    color: rgba(var(--color-foreground), 0.7);
}

/*!
 * froala_editor v2.6.2 (https://www.froala.com/wysiwyg-editor)
 * License https://froala.com/wysiwyg-editor/terms/
 * Copyright 2014-2017 Froala Labs
 */
.clearfix:after {
    clear: both;
    display: block;
    content: "";
    height: 0
}

.hide-by-clipping {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0
}

.fr-view span[style~="color:"] a {
    color: inherit
}

.fr-view strong {
    font-weight: 700
}

.fr-view table {
    border: none;
    border-collapse: collapse;
    empty-cells: show;
    max-width: 100%
}

    .fr-view table.fr-dashed-borders td, .fr-view table.fr-dashed-borders th {
        border-style: dashed
    }

    .fr-view table.fr-alternate-rows tbody tr:nth-child(2n) {
        background: #f5f5f5
    }

    .fr-view table td, .fr-view table th {
        border: 1px solid #ddd
    }

        .fr-view table td:empty, .fr-view table th:empty {
            height: 20px
        }

        .fr-view table td.fr-highlighted, .fr-view table th.fr-highlighted {
            border: 1px double red
        }

        .fr-view table td.fr-thick, .fr-view table th.fr-thick {
            border-width: 2px
        }

    .fr-view table th {
        background: #e6e6e6
    }

.fr-view hr {
    clear: both;
    user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    page-break-after: always
}

.fr-view .fr-file {
    position: relative
}

    .fr-view .fr-file:after {
        position: relative;
        content: "\1F4CE";
        font-weight: 400
    }

.fr-view pre {
    white-space: pre-wrap;
    word-wrap: break-word
}

.fr-view[dir=rtl] blockquote {
    border-left: none;
    border-right: 2px solid #5e35b1;
    margin-right: 0;
    padding-right: 5px;
    padding-left: 0
}

    .fr-view[dir=rtl] blockquote blockquote {
        border-color: #00bcd4
    }

        .fr-view[dir=rtl] blockquote blockquote blockquote {
            border-color: #43a047
        }

.fr-view blockquote {
    border-left: 2px solid #5e35b1;
    margin-left: 0;
    padding-left: 5px;
    color: #5e35b1
}

    .fr-view blockquote blockquote {
        border-color: #00bcd4;
        color: #00bcd4
    }

        .fr-view blockquote blockquote blockquote {
            border-color: #43a047;
            color: #43a047
        }

.fr-view span.fr-emoticon {
    font-weight: 400;
    font-family: Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;
    display: inline;
    line-height: 0
}

    .fr-view span.fr-emoticon.fr-emoticon-img {
        background-repeat: no-repeat !important;
        font-size: inherit;
        height: 1em;
        width: 1em;
        min-height: 20px;
        min-width: 20px;
        display: inline-block;
        margin: -.1em .1em .1em;
        line-height: 1;
        vertical-align: middle
    }

.fr-view .fr-text-gray {
    color: #aaa !important
}

.fr-view .fr-text-bordered {
    border-top: 1px solid #222;
    border-bottom: 1px solid #222;
    padding: 10px 0
}

.fr-view .fr-text-spaced {
    letter-spacing: 1px
}

.fr-view .fr-text-uppercase {
    text-transform: uppercase
}

.fr-view img {
    position: relative;
    max-width: 100%
}

    .fr-view img.fr-dib {
        margin: 5px auto;
        display: block;
        float: none;
        vertical-align: top
    }

        .fr-view img.fr-dib.fr-fil {
            margin-left: 0
        }

        .fr-view img.fr-dib.fr-fir {
            margin-right: 0
        }

    .fr-view img.fr-dii {
        display: inline-block;
        float: none;
        vertical-align: bottom;
        margin-left: 5px;
        margin-right: 5px;
        max-width: calc(100% - 10px)
    }

        .fr-view img.fr-dii.fr-fil {
            float: left;
            margin: 5px 5px 5px 0;
            max-width: calc(100% - 5px)
        }

        .fr-view img.fr-dii.fr-fir {
            float: right;
            margin: 5px 0 5px 5px;
            max-width: calc(100% - 5px)
        }

    .fr-view img.fr-rounded {
        border-radius: 100%;
        -moz-border-radius: 100%;
        -webkit-border-radius: 100%;
        -moz-background-clip: padding;
        -webkit-background-clip: padding-box;
        background-clip: padding-box
    }

    .fr-view img.fr-bordered {
        border: 10px solid #ccc;
        box-sizing: content-box
    }

.fr-view .fr-video {
    text-align: center;
    position: relative
}

    .fr-view .fr-video > * {
        box-sizing: content-box;
        max-width: 100%;
        border: none
    }

    .fr-view .fr-video.fr-dvb {
        display: block;
        clear: both
    }

        .fr-view .fr-video.fr-dvb.fr-fvl {
            text-align: left
        }

        .fr-view .fr-video.fr-dvb.fr-fvr {
            text-align: right
        }

    .fr-view .fr-video.fr-dvi {
        display: inline-block
    }

        .fr-view .fr-video.fr-dvi.fr-fvl {
            float: left
        }

        .fr-view .fr-video.fr-dvi.fr-fvr {
            float: right
        }

.fr-view a.fr-strong {
    font-weight: 700
}

.fr-view a.fr-green {
    color: green
}

.fr-view button.fr-rounded, .fr-view input.fr-rounded, .fr-view textarea.fr-rounded {
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box
}

.fr-view button.fr-large, .fr-view input.fr-large, .fr-view textarea.fr-large {
    font-size: 24px
}

a.fr-view.fr-strong {
    font-weight: 700
}

a.fr-view.fr-green {
    color: green
}

img.fr-view {
    position: relative;
    max-width: 100%
}

    img.fr-view.fr-dib {
        margin: 5px auto;
        display: block;
        float: none;
        vertical-align: top
    }

        img.fr-view.fr-dib.fr-fil {
            margin-left: 0
        }

        img.fr-view.fr-dib.fr-fir {
            margin-right: 0
        }

    img.fr-view.fr-dii {
        display: inline-block;
        float: none;
        vertical-align: bottom;
        margin-left: 5px;
        margin-right: 5px;
        max-width: calc(100% - 10px)
    }

        img.fr-view.fr-dii.fr-fil {
            float: left;
            margin: 5px 5px 5px 0;
            max-width: calc(100% - 5px)
        }

        img.fr-view.fr-dii.fr-fir {
            float: right;
            margin: 5px 0 5px 5px;
            max-width: calc(100% - 5px)
        }

    img.fr-view.fr-rounded {
        border-radius: 100%;
        -moz-border-radius: 100%;
        -webkit-border-radius: 100%;
        -moz-background-clip: padding;
        -webkit-background-clip: padding-box;
        background-clip: padding-box
    }

    img.fr-view.fr-bordered {
        border: 10px solid #ccc;
        box-sizing: content-box
    }

.fr-view table td.fr-borderless, .fr-view table th.fr-borderless {
    border-style: none
}

.fr-view .fr-video .video-wrapper {
    position: static;
    overflow: initial;
    max-width: 100%;
    padding-bottom: inherit;
    height: 0;
    height: inherit
}

    .fr-view .fr-video .video-wrapper iframe {
        position: static;
        top: inherit;
        left: inherit;
        border: none
    }

.fr-view hr {
    border-color: initial
}

[data-f-id] {
    display: none
}


.promo-container {
    display: inline-block;
    box-shadow: 0 15px 50px rgba(0,0,0,0.1);
    padding: 60px 15px 85px;
    position: relative;
    border-radius: 10px;
    max-width: 100%;
}

#cart-promotion-top:empty,
#cart-promotion-section:empty {
    display: none;
}

#cart-promotion-top {
    align-self: center;
}

.flex-container {
    display: flex;
    align-items: center;
    position: relative;
}

.sf_promo-prod-img {
    max-height: 100%;
}

.plus-icon {
    justify-content: center;
    margin: 50px;
    align-self: center;
}

.sf_promo-main-prod,
.secondary-prod {
    margin: 3px 10px;
    padding: 10px;
    text-decoration: none;
    width: 200px;
    min-width: 150px;
}

.secondary-prod {
    /*width: 80%;*/
}

.sf_promo-main-container-margin .sf_promo-main-prod,
.secondary-prod {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    flex-direction: column;
}


    .sf_promo-main-container-margin .sf_promo-main-prod > div,
    .secondary-prod > div {
        width: 100%;
    }


    .sf_promo-main-container-margin .sf_promo-main-prod .checkbox-select-wrapper,
    .secondary-prod .checkbox-select-wrapper {
        flex: 1;
        align-items: flex-start;
    }

        .sf_promo-main-container-margin .sf_promo-main-prod .checkbox-select-wrapper .input-check,
        .secondary-prod .checkbox-select-wrapper .input-check {
            margin-top: 2px !important;
        }

    .sf_promo-main-prod.is-selected,
    .secondary-prod.is-selected {
        border-radius: 5px;
        background-color: rgba(0,0,0,0.02);
        box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15);
    }

        .sf_promo-main-prod.is-selected .img-container,
        .secondary-prod.is-selected .img-container {
            border-color: transparent;
        }

.cart-promotion-prod {
    margin: 15px;
    text-decoration: none;
    width: 200px;
    padding: 10px;
}

    .cart-promotion-prod:hover {
        border: 1px solid #9E8137;
    }

/* -- quantity box -- */
.buttons_added {
    display: flex;
    text-align-last: center;
    margin-left: 30%;
}

    .buttons_added.minus {
        background-color: white;
        border: 0;
        font-size: 1rem;
        padding: 0;
        font-weight: bold;
        margin: 0 10px;
    }

    .buttons_added.input-text {
        border: 0;
        margin: 0;
        padding: 0;
        font-size: 16px;
    }

    .buttons_added.plus {
        background: white;
        border: 0;
        font-weight: bold;
        padding: 0;
        margin: 0 10px;
    }

.view-all {
    position: absolute;
    top: -3px;
    right: 20px;
}

.ml-2 {
    margin-right: 1rem;
}

.display-control {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    position: relative;
}

.sf_promo-product-price-wrapper .sf_promo-product-original-price {
    position: absolute;
    max-width: 90%;
}

/*Hide for small*/

.hide-for-small-selected {
    display: flex;
    margin-left: 22%;
}

.sf_promo-main-container-margin {
    margin-top: 20px;
    display: flex;
    max-width: 100%;
    overflow: auto;
    /*width: 200px;*/
}

.sf_promo-container-height-opacity {
    max-height: 800px;
    overflow: hidden;
    position: relative;
}

.sf_promo-container-white-gradient:after {
    background: #fff;
    background: -webkit-gradient(left top,right top,color-stop(0,#fff),color-stop(100%,hsla(0,0%,100%,0)));
    background: linear-gradient(360deg,#fff 0,hsla(0,0%,100%,0));
}

.sf_promo-container-white-gradient:after {
    content: "";
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 100px;
    z-index: 2;
}

.sf_promo-select {
    width: 100%;
    max-width: 100%;
    padding: 5px 10px;
    background-position: right 10px center;
    margin: 0;
    border: none;
}

.top-right {
    position: absolute;
    top: 0;
    right: 0;
    color: white;
}

.sf_promo-qty-adjust {
    display: inline-flex;
}

.sf_promo-product-single__btn-qty-adjust {
    cursor: pointer;
    font-size: 1.4em;
    line-height: 1.7;
    padding: 10px;
}

.sf_promo-qty-adjust input {
    width: 30px;
    min-width: 30px;
    text-align: center;
    border: none;
    padding: 0;
    font-size: 14px;
    box-shadow: none;
    margin-bottom: 0;
/*    color: currentColor;
    background: transparent;*/
    -moz-appearance: textfield;
    height: 65px;
}

    .sf_promo-qty-adjust input::-webkit-outer-spin-button,
    .sf_promo-qty-adjust input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

.sf_promo-quantity-selector {
    display: inline-block;
    width: 100px;
}


.sf_promo-promo-label-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    /* max-height: 35px; */
    max-width: 100%;
}

.sf_promo-promo-label {
    position: relative;
    cursor: pointer;
    display: inline-block;
    margin-right: 6px;
    margin-top: 12px;
    border: 1px solid;
    font-size: 0.8em;
    padding: 8px 16px;
    font-weight: 400;
    line-height: 1.3;
    border-radius: 2px;
    max-width: 100%;
}

    .sf_promo-promo-label:before {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background: currentColor;
        z-index: 1;
        opacity: 0.05;
        top: 0;
        left: 0;
        border-radius: 2px;
    }

    .sf_promo-promo-label.sf_promo-label-unclickable {
        border: 1px dashed;
    }

    .sf_promo-promo-label.sf_promo-label-clickable {
        padding-right: 2.6em;
    }

    .sf_promo-promo-label .sf_promo-svg-icon {
        position: absolute;
        top: 50%;
        right: 8px;
        transform: translate(0,-50%);
        -webkit-transform: translate(0,-50%);
        width: 1.4em;
        height: 1.4em;
        fill: none;
    }

    .sf_promo-promo-label.sf_promo-label-unclickable,
    .sf_promo-promo-label.sf_promo-label-unclickable:hover {
        cursor: default;
    }

#sf_promo-tag {
    display: inline;
}

#sf_promo-view-more-tag {
    font-size: 13px;
    cursor: pointer;
    padding: 7px 10px;
    border: none;
}

.sf_promo-tag-label-title {
    /* white-space: nowrap; */
    overflow: hidden;
    text-overflow: ellipsis;
}

.mobile-btn-adjust {
    padding: 0 10px;
    position: absolute;
    margin-left: 11%;
}

.progress-bar-bg {
    background-color: #C8C8C8;
    width: 50%;
    height: 5px;
    margin: 15px auto;
    align-self: center;
}

.progress-bar {
    background-color: #9E8137;
    width: 50%;
    height: 5px;
}

.amount-entitled-text {
    font-weight: bold;
    margin-left: 5px;
}

.sf_promo-ribbon {
    position: absolute;
    top: 20px;
    left: 0;
    display: inline-block;
    z-index: 2;
    font-size: 14px;
    line-height: 34px;
    padding: 0 15px 0 25px;
    max-width: 90%;
    box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.15);
}

    .sf_promo-ribbon:after, .sf_promo-ribbon:before {
        content: "";
        position: absolute;
        z-index: -1;
        right: -17px;
        width: 0;
        height: 0;
        border-left: 17px solid transparent;
        border-right: 17px solid transparent;
    }

    .sf_promo-ribbon:before {
        top: 0;
        border-top: 17px solid;
    }

    .sf_promo-ribbon:after {
        bottom: 0;
        border-bottom: 17px solid;
    }

.sf_promo-ribbon-text {
    max-width: 360px;
}

    .sf_promo-ribbon-text span {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        display: block;
        max-width: 100%;
    }

.sf_promo-container, .promotion-form {
    position: relative;
}

.promotion-form {
    margin-top: 20px;
}

.sf_promo-add-product-icon {
    width: 2.4em;
    height: 2.2em;
}

    .sf_promo-add-product-icon:hover {
        border: 1px solid black;
        border-radius: 5px;
    }

.sf_promo-product-grid-container {
    display: grid;
    grid-template-columns: auto auto auto auto auto;
    grid-gap: 20px;
    width: 100%;
}

.large--three-quarters .sf_promo-product-grid-container {
    grid-template-columns: auto auto auto;
}

.sf_promo-product-grid-container .secondary-prod {
    margin: 0;
}

.sf_promo-product-top-right-tag {
    position: absolute;
    top: 0;
    right: 0;
    color: white;
}

.sf_promo-product-main-prod-section {
    margin-left: 30px;
}

    .sf_promo-product-main-prod-section .main-prod-promo-container {
        margin-bottom: 30px;
        display: flex;
        align-items: center;
    }

        .sf_promo-product-main-prod-section .main-prod-promo-container .promotion-label {
            background-color: #5898E7;
            color: white;
            padding: 10px;
            margin-right: 10px;
            border-radius: 10px;
        }

    .sf_promo-product-main-prod-section .original-price {
        text-decoration: line-through;
        display: block;
        margin-bottom: 5px;
        color: #797979
    }

    .sf_promo-product-main-prod-section .discounted-price {
        display: block;
        color: #9E8137;
        font-weight: bold;
    }

.select-counter-container {
    float: right;
    margin-right: 50px;
    margin-bottom: 50px;
}

span.selected {
    color: #9E8137;
    font-weight: bolder;
    font-size: 30px;
}

span.gift-text {
    color: #9E8137;
    font-weight: bolderr;
    font-size: 20px;
}

.free-label-text {
    font-weight: bold;
    display: inline-block;
    background-color: #5898E7;
    color: white;
    padding: 4px 15px;
    border-radius: 8px;
    font-size: 15px;
    text-align: center;
    margin-right: 0.5rem;
    transform: translateY(-0.3em);
    -webkit-transform: translateY(-0.3em);
}

.sf_promo-gift-title {
    display: block;
    margin-top: 20px;
}

.sf_promo-gift-original-price {
    text-decoration: line-through;
    display: block;
    margin-bottom: 5px;
    color: #797979
}

.sf_promo-gift-discounted-price {
    display: block;
    color: #9E8137;
    font-weight: bold;
}

.sf_promo-gift-select {
    width: 50%;
}


.sf_promo-page-header-title {
    margin: 0;
    text-align: center;
    font-size: 30px;
    margin-bottom: 20px;
}

    .sf_promo-page-header-title:not(:only-child) {
        margin-bottom: 1rem;
    }

.sf_promo-page-header-gift-entitled {
    color: #9E8137;
    font-size: 30px;
}

.sf_promo-center {
    text-align: center;
}

.sf_promo-form {
    position: relative;
    margin: 2rem;
}

#cart-promotion-section .sf_promo-form {
    margin: 0;
}

.sf_promo-form button[type=submit] {
    position: absolute;
/*    right: 35px;
*/    bottom: 20px;
    z-index: 2;
    width: 80%;
}

.img-container {
    position: relative;
    width: 100%;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 10px;
    border: 1px solid rgba(0,0,0,0.08);
    overflow: hidden;
    border-radius: 5px;
}

.checkbox-select-wrapper {
    display: flex;
    align-items: center;
    margin: 5px 0;
    line-height: 1.4;
}

    .checkbox-select-wrapper .input-check {
        margin-right: 8px;
    }

        .checkbox-select-wrapper .input-check input {
            min-width: initial;
        }

.sf_promo-product-original-price {
    text-decoration: line-through;
    color: #999;
    line-height: 1.2;
}

.sf_promo-product-discounted-price {
    font-weight: bold;
    margin-bottom: 0;
}

.hide {
    display: none;
}

.get-more-promotion, .view-more-promotion {
    text-align: -webkit-center;
    background: none;
    border: 0;
    width: 100%;
}

button#view-more-promotion {
    margin-top: 2rem;
}

.btm-fixed-container {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    box-shadow: 0 -10px 25px rgba(0, 0, 0, 0.05);
    background-color: white;
    max-width: 1200px;
    z-index: 9999;
    width: 100%;
    height: 100px;
    justify-content: flex-end;
    display: flex;
    align-items: center;
    padding-right: 20px;
    margin: 3rem 0;
}

    .btm-fixed-container .cancel-btn {
        margin-right: 20px;
        font-size: 1.3em;
    }

.page-sf-promotion .btm-fixed-container .add-to-cart {
    position: relative;
    right: initial;
    bottom: initial;
}

.page-sf-promotion {
    max-width: 1200px;
    margin: 0 auto;
}

    .page-sf-promotion .sf_promo-main-prod {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 2rem;
        padding-bottom: 3rem;
        border-bottom: 1px solid rgba(0,0,0,0.1);
    }

        .page-sf-promotion .sf_promo-main-prod .sf_promo-product-main-prod-section {
            width: 100%;
            min-width: 250px;
            max-width: 550px;
        }

        .page-sf-promotion .sf_promo-main-prod .sf_promo-select {
            padding: 10px;
        }

        .page-sf-promotion .sf_promo-main-prod .checkbox-select-wrapper,
        .page-sf-promotion .sf_promo-main-prod .display-control {
            max-width: 300px;
            font-size: 1rem;
        }

        .page-sf-promotion .sf_promo-main-prod.is-selected {
            padding: 1rem;
        }

        .page-sf-promotion .sf_promo-main-prod .img-container {
            width: 100%;
            max-width: 250px;
            height: 250px;
            margin: 0;
        }

        .page-sf-promotion .sf_promo-main-prod h3 {
            margin-bottom: 0.5rem;
        }

    .page-sf-promotion .secondary-prod {
        justify-self: center;
    }

#cart-promotion-section {
    text-align: center;
}

    #cart-promotion-section .promo-container {
        box-shadow: none;
        padding: 0 15px 80px;
        margin: 2rem auto;
    }

    #cart-promotion-section .sf_promo-main-container-margin > div:first-child {
        margin-left: 2px;
    }

#cart-promotion-top .text-image-wrapper {
    place-content: center;
    display: flex;
    align-items: center;
    padding: 15px 25px 10px;
    text-align: center;
}

#cart-promotion-top .checked-img {
    margin: 0 10px;
    width: 20px;
    height: 20px;
}

#cart-promotion-top .entitled-title, .potential-title {
    font-weight: bold;
    font-size: 15px
}

#cart-promotion-top .grey-hr {
    border-top: solid #B1B1B1;
    border-width: 1px 0 0;
    width: 50%;
    margin: auto;
    margin-top: 5px;
    margin-bottom: 5px;
}

.sold-out-text {
    border: solid 1px grey;
    padding: 2px 10px;
    font-size: 11px;
    white-space: nowrap;
    color: white;
    background: gray;
    box-shadow: 0 15px 50px rgba(0,0,0,0.35);
    ;
}

.svg-icon {
    width: 1.2em;
    height: 1.4em;
    vertical-align: middle;
    fill: currentcolor;
    margin-top: -0.2em;
}

.lds-ring {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

    .lds-ring div {
        box-sizing: border-box;
        display: block;
        position: absolute;
        width: 64px;
        height: 64px;
        margin: 8px;
        border: 8px solid #fff;
        border-radius: 50%;
        animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
        border-color: #fff transparent transparent transparent;
    }

        .lds-ring div:nth-child(1) {
            animation-delay: -0.45s;
        }

        .lds-ring div:nth-child(2) {
            animation-delay: -0.3s;
        }

        .lds-ring div:nth-child(3) {
            animation-delay: -0.15s;
        }

@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.sf_promo-loader {
    border: 5px solid #dedede;
    border-radius: 50%;
    border-top: 5px solid #333;
    width: 60px;
    height: 60px;
    -webkit-animation: spin 700ms linear infinite;
    animation: spin 700ms linear infinite;
}

.sf_promo-is-loading {
    position: relative;
    cursor: not-allowed;
    pointer-events: none;
    color: transparent !important;
}

    .sf_promo-is-loading:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -12px;
        margin-left: -12px;
        width: 24px;
        height: 24px;
        border: 4px solid #dedede;
        border-radius: 50%;
        border-top: 4px solid #333;
        -webkit-animation: spin 700ms linear infinite;
        animation: spin 700ms linear infinite;
        z-index: 2;
    }

.promo-loading-wrapper {
    display: flex;
    place-content: center;
    margin-top: 20px;
}

.entitled-label {
    position: absolute;
    left: 0;
    top: 0;
    background-color: #5898E7;
    color: white;
    padding: 0 10px;
    border-radius: 3px;
}

.float-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.sf_promo-tag-wrapper {
    margin-bottom: 20px;
}

.sf_promo-tag-container {
    width: 100%;
    max-width: 450px;
}

/* Safari */
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@media screen and (max-width: 768px) {
    .sf_promo-form {
        margin: 2rem 0;
    }

        .sf_promo-form button[type=submit] {
            right: 58px;
            width: 72%
        }

    .sf_promo-ribbon-text {
        max-width: 200px;
    }

    .promo-container {
        width: calc(100% - 30px);
        margin: 10px auto;
        padding: 20px 0px 85px;
        display: block;
    }

    .img-container {
        height: 120px;
    }

    .sf_promo-main-prod,
    .secondary-prod {
        margin: 5px;
        width: auto;
        min-width: none;
    }

    .sf_promo-product-main-prod-section .main-prod-promo-container {
        display: block;
        margin-bottom: 0;
    }

    .hide-for-small, .hide-for-small-selected {
        display: none;
    }

    .sf_promo-product-grid-container .secondary-prod,
    .secondary-prod:nth-child(3),
    #cart-promotion-section .secondary-prod:nth-child(1), #cart-promotion-section .secondary-prod:nth-child(2) {
        display: block;
        width: 200px;
    }

    #cart-promotion-section .promo-container {
        padding: 0 0 80px;
    }

    #cart-promotion-section .sf_promo-main-container-margin {
        margin: 1rem 0 0;
        display: inline-flex;
        width: 100%;
        justify-content: center;
    }

    .sf_promo-product-grid-container {
        grid-template-columns: auto auto;
        grid-gap: 10px;
    }

    .mobile-btn-adjust {
        margin-left: 28%;
        ;
    }

    .sf_promo-main-container-margin {
        justify-content: space-between;
        margin: 50px 10px 0;
    }

    .display-control {
        display: flex;
    }

    .view-all {
        top: 30px;
        right: 20px;
    }

    .buttons_added {
        margin-left: 0;
    }

    .btm-fixed-container {
        position: fixed;
        width: 100%;
        height: 80px;
        left: 0;
        margin: 0;
    }

        .btm-fixed-container .add-to-cart {
            bottom: 15px;
        }

    .page-sf-promotion .sf_promo-main-prod .sf_promo-product-main-prod-section {
        width: 100%;
        min-width: 100%;
        margin: 2rem 0 0;
    }
}
/* General Container Styles */
/*.grid__item {
    padding: 20px;
}
*/
.product__info-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    font-family: Arial, sans-serif;
}

.product__info-container {
      border-radius: 20px;
    margin: 15px;
}

/* Product Title */
.product__title {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 15px;
}

/* Price Section */
#price {
    margin-bottom: 20px;
}

.price {
    font-size: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.price__regular,
.price__sale {
    margin-right: 15px;
}

.price-item {
    color: #333;
    font-size: 21px;
}

.price-item--sale {
    color: red;
    font-weight: bold;
}

.price__badge-sale {
    background-color: #ffd700;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 0.9rem;
    color: #000;
}

.price__badge-sold-out {
    background-color: #f44336;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 0.9rem;
    color: #fff;
}

/* Promotion Section */
.sf_promo-tag-wrapper {
    margin-top: 20px;
}

.sf_promo-promo-label {
    color: #ED1B25;
    cursor: pointer;
}

    .sf_promo-promo-label:hover {
        text-decoration: underline;
    }

/* Form Styles */
.product-form {
    margin-top: 20px;
}

.selector-wrapper-productSelect {
    margin-bottom: 20px;
}

.quantity {
    display: flex;
    align-items: center;
    gap: 10px;
}

.quantity__button {
    background: #f0f0f0;
    border: 1px solid #ccc;
/*    padding: 5px;
*/    cursor: pointer;
/*    transition: background-color 0.3s;
*/}

    .quantity__button:hover {
        background: #ddd;
    }

.quantity__input {
    width: 50px;
    text-align: center;
    border: 1px solid #ccc;
    padding: 5px;
}

/* Buttons */
.product-form__submit {
    background-color: #007bff;
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    transition: background-color 0.3s;
}

/*    .product-form__submit:hover {
        background-color: #0056b3;
    }*/

/* Share Button */
.share-button__button {
    background: none;
    border: none;
    color: #007bff;
    cursor: pointer;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 5px;
}

    .share-button__button:hover {
        text-decoration: underline;
    }

/* Error Message */
.form__message {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #EB001B;
    background-color: #ffe6e6;
    padding: 10px;
    border: 1px solid #EB001B;
    border-radius: 5px;
}

.js-error-content {
    font-size: 0.9rem;
}
.product {
    margin: 0;
}

.product--no-media {
    max-width: 57rem;
    margin: 0 auto;
}

.product__media-wrapper {
    padding-left: 0;
}

.product__info-wrapper {
    padding-left: 0;
    padding-bottom: 0;
}

.product__media-wrapper .slider-component .splide__slide img {
    display: block;
    width: auto;
    max-width: 100%;
/*    max-height: 92%;
*/    margin: 0 auto;
}

.product__media-wrapper .slider-component .splide__slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 749px) {
    .product-section {
        margin-top: 0;
    }
}

@media screen and (min-width: 750px) {
    .product__info-container--sticky {
        position: sticky;
        top: 3rem;
        z-index: 2;
    }

    .product__info-wrapper {
        padding-left: 5rem;
    }

    .product__media-container .slider-buttons {
        display: none;
    }
}

/*@media screen and (min-width: 990px) {
    .product:not(.product--no-media):not(.featured-product) .product__media-wrapper {
        max-width: 55%;
        width: calc(55% - 1rem / 2);
    }

    .product:not(.product--no-media):not(.featured-product) .product__info-wrapper {
        padding-left: 4rem;
        max-width: 45%;
        width: calc(45% - 1rem / 2);
    }*/

 /*   .product:not(.product--no-media) .product__info-container .product-form {
        max-width: 450px;
    }*/
/*}*/

/* Product form */

.product-form {
    display: block;
}

/* Form Elements */
.product-form__input {
    flex: 0 0 100%;
    padding: 0;
    margin: 0 0 1.2rem 0;
    min-width: fit-content;
    border: none;
    position: relative;
}

.selector-wrapper.product-form__input::after {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='icon-caret' viewBox='0 0 10 6'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
    height: 0.6rem;
    width: 1rem;
    pointer-events: none;
    position: absolute;
    bottom: 2rem;
    right: 1.5rem;
}

variant-radios,
variant-selects {
    display: block;
}

.product-form__input--dropdown {
    margin-bottom: 1.6rem;
}

.product-form__input .form__label {
    padding-left: 0;
}

fieldset.product-form__input .form__label {
    margin-bottom: 0.2rem;
}

.product-form__input input[type='radio'] {
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    height: 1px;
    width: 1px;
}

    .product-form__input input[type='radio'] + label {
        border: 0.1rem solid rgba(var(--color-foreground), 0.55);
        border-radius: 4rem;
        color: rgb(var(--color-foreground));
        display: inline-block;
        margin: 0.7rem 0.5rem 0.2rem 0;
        padding: 1rem 2rem;
        font-size: 1.4rem;
        letter-spacing: 0.1rem;
        line-height: 1;
        text-align: center;
        transition: border var(--duration-short) ease;
        cursor: pointer;
    }

        .product-form__input input[type='radio'] + label:hover {
            border: 0.1rem solid rgb(var(--color-foreground));
        }

    .product-form__input input[type='radio']:checked + label {
        background-color: rgb(var(--color-foreground));
        color: rgb(var(--color-background));
    }

    .product-form__input input[type='radio']:disabled + label,
    .product-form__input input[type='radio'].disabled + label {
        border-color: rgba(var(--color-foreground), 0.1);
        color: rgba(var(--color-foreground), 0.4);
        /* text-decoration: line-through; */
    }

    .product-form__input input[type='radio']:focus-visible + label {
        box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55);
    }

    /* Fallback */
    .product-form__input input[type='radio'].focused + label {
        box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0 0.5rem rgba(var(--color-foreground), 0.55);
    }

/* 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;
}

.product-form__input .select {
    max-width: 25rem;
}

.product-form__submit {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.no-js .product-form__submit.button--secondary {
    --color-button: var(--color-base-accent-1);
    --color-button-text: var(--color-base-solid-button-labels);
    --alpha-button-background: 1;
}


/* Product info */

.product__info-container > * + * {
    margin: 1rem 0;
}

.product__info-container .product-form,
.product__info-container .product__description {
    margin: 2.5rem 0;
}

.product__text {
    margin-bottom: 0;
}

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__title {
    word-break: break-word;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

    .product__title + .product__text.caption-with-letter-spacing {
        margin-top: -1.5rem;
    }

.product__text.caption-with-letter-spacing + .product__title {
    margin-top: 0;
}

.product__accordion .accordion__content {
    padding: 0 1rem;
}

.product .price {
    align-items: flex-start;
}

.product .price--on-sale dl {
    margin-bottom: 0.5rem;
}

.product .price--sold-out .price__badge-sold-out {
    background: transparent;
    color: rgb(var(--color-background));
    padding: 1rem 1.6rem 0 0.6rem;
    border: none;
}

.product .price--sold-out .price__badge-sale {
    display: none;
}



@media screen and (min-width: 750px) {
    .product__info-container .price--on-sale .price-item--regular {
        font-size: 1.6rem;
    }

    .product__info-container > *:first-child {
        margin-top: 0;
    }
}

.product__description-title {
    font-weight: 600;
}

.product--no-media .product__title,
.product--no-media .product__text,
.product--no-media noscript .product-form__input {
    text-align: center;
}

.product--no-media noscript .product-form__input,
.product--no-media .share-button {
    max-width: 100%;
}

.product--no-media fieldset.product-form__input,
.product--no-media .product-form__quantity,
.product--no-media .product-form__input--dropdown,
.product--no-media .share-button,
.product--no-media .product__view-details,
.product--no-media .store-availability-container,
.product--no-media .product-form {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

    .product--no-media .product-form > .form {
        max-width: 30rem;
        width: 100%;
    }

.product--no-media .product-form__quantity,
.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 1.2rem auto;
}

.product--no-media .product__info-container > modal-opener {
    display: block;
    text-align: center;
}

.product--no-media .product-popup-modal__button {
    padding-right: 0;
}

.product--no-media .price {
    justify-content: center;
}

.product--no-media .product__info-wrapper {
    padding-left: 0;
}

/* Product media */

@media screen and (max-width: 749px) {
    .product__media-list {
        margin-left: -2.5rem;
        padding-bottom: 2rem;
        margin-bottom: 3rem;
        width: calc(100% + 4rem);
    }

    .product__media-wrapper .slider-component {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
        margin-top: -3.5rem;
    }

    .slider.slider--mobile.product__media-list {
        padding-bottom: 0;
        margin-bottom: 0.5rem;
    }

    .slider.product__media-list::-webkit-scrollbar {
        height: 0.2rem;
        width: 0.2rem;
    }

    .product__media-list::-webkit-scrollbar-thumb {
        background-color: rgb(var(--color-foreground));
    }

    .product__media-list::-webkit-scrollbar-track {
        background-color: rgba(var(--color-foreground), 0.2);
    }

    .product__media-list .product__media-item {
        width: calc(100% - 3rem);
    }

    .slider.product__media-list .product__media-item:first-of-type {
        padding-left: 1.5rem;
    }
}

@media screen and (min-width: 750px) {
    .product__media-item:first-child {
        width: 100%;
    }

    .product-media-modal__content > .product__media-item--variant.product__media-item--variant {
        display: none;
    }

    .product-media-modal__content > .product__media-item--variant:first-child {
        display: block;
    }
}

.product__media-item--variant {
    display: none;
}

    .product__media-item--variant:first-child {
        display: block;
    }

@media screen and (min-width: 750px) and (max-width: 989px) {
    .product__media-list .product__media-item:first-child {
        padding-left: 0;
    }

    .product__media-list .product__media-item {
        padding: 0 0 0.5rem;
        width: 100%;
    }
}

.product__media-icon .icon {
    width: 1.2rem;
    height: 1.4rem;
}

.product__media-icon {
    background-color: rgb(var(--color-background));
    border-radius: 50%;
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
    color: rgb(var(--color-foreground));
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    width: 3rem;
    position: absolute;
    left: 1.5rem;
    top: 1.5rem;
    z-index: 1;
    transition: color var(--duration-short) ease, opacity var(--duration-short) ease;
}

.product__media-video .product__media-icon {
    opacity: 1;
}

.product__modal-opener--image .product__media-toggle:hover {
    cursor: zoom-in;
}

.product__modal-opener:hover .product__media-icon {
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
}

@media screen and (min-width: 750px) {
    .grid__item.product__media-item--full {
        width: 100%;
    }
}

@media screen and (min-width: 990px) {
    .product__modal-opener .product__media-icon {
        opacity: 0;
    }

    .product__modal-opener:hover .product__media-icon,
    .product__modal-opener:focus .product__media-icon {
        opacity: 1;
    }
}

.product__media-item > * {
    display: block;
    position: relative;
}

.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%;
}

.image-modal-wrapper.is-active,
.product-media-modal {
    background-color: rgb(var(--color-background));
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
}

    .image-modal-wrapper.is-active,
    .product-media-modal[open] {
        visibility: visible;
        opacity: 1;
        z-index: 110000;
    }

.image-modal-wrapper.is-active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-media-modal__dialog {
    display: flex;
    align-items: center;
    height: 100vh;
}

.product-media-modal__content {
    max-height: 100vh;
    width: 100%;
    overflow: auto;
}

    .product-media-modal__content > *:not(.active),
    .product__media-list .deferred-media {
        display: none;
    }

@media screen and (min-width: 750px) {
    .product-media-modal__content {
        padding-bottom: 2rem;
    }

        .product-media-modal__content > *:not(.active) {
            display: block;
        }

    .product__modal-opener:not(.product__modal-opener--image) {
        display: none;
    }

    .product__media-list .deferred-media {
        display: block;
    }
}

.product__media-list .deferred-media,
.product__media-list .product__modal-opener {
    border: 0.1rem solid rgba(var(--color-foreground), 0.04);
}

.product-media-modal__content > * {
    display: block;
    height: auto;
    margin: auto;
    border: 0.1rem solid rgba(var(--color-foreground), 0.04);
}

.product-media-modal__content .media {
    background: none;
}

.product-media-modal__model {
    width: 100%;
}

.js-image-modal-close,
.product-media-modal__toggle {
    background-color: rgb(var(--color-background));
    border: 0.1rem solid rgba(var(--color-foreground), 0.5);
    border-radius: 50%;
    color: rgba(var(--color-foreground), 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    right: 2rem;
    padding: 1.2rem;
    position: fixed;
    z-index: 2;
    top: 2rem;
    width: 4rem;
}

.product-media-modal__content .deferred-media {
    width: 100%;
}

@media screen and (min-width: 750px) {
    .product-media-modal__content {
        padding: 2rem 11rem;
    }

        .product-media-modal__content > * {
            width: 100%;
        }

            .product-media-modal__content > * + * {
                margin-top: 2rem;
            }

    .product-media-modal__toggle {
        right: 5rem;
        top: 2.2rem;
    }
}

@media screen and (min-width: 990px) {
    .product-media-modal__content {
        padding: 2rem 11rem;
    }

        .product-media-modal__content > * + * {
            margin-top: 1.5rem;
        }

    .product-media-modal__content {
        padding-bottom: 1.5rem;
    }

    .product-media-modal__toggle {
        right: 5rem;
    }
}

.product-media-modal__toggle:hover {
    color: rgba(var(--color-foreground), 0.75);
}

.product-media-modal__toggle .icon {
    height: auto;
    margin: 0;
    width: 2.2rem;
}

/* 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;
    overflow: auto;
    width: 100%;
    background: rgba(var(--color-foreground), 0.2);
    height: 100%;
}

    .product-popup-modal[open] {
        opacity: 1;
        visibility: visible;
        z-index: 101;
    }

.product-popup-modal__content {
    background-color: rgb(var(--color-background));
    overflow: auto;
    height: 80%;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 5rem;
    width: 92%;
    position: absolute;
    top: 0;
    padding: 0 1.5rem 0 3rem;
}

@media screen and (min-width: 750px) {
    .product-popup-modal__content {
        padding-right: 1.5rem;
        margin-top: 10rem;
        width: 70%;
        padding: 0 3rem;
    }
}

.product-popup-modal__content img {
    max-width: 100%;
}

@media screen and (max-width: 749px) {
    .product-popup-modal__content table {
        display: block;
        max-width: fit-content;
        overflow-x: auto;
        white-space: nowrap;
        margin: 0;
    }
}

.product-popup-modal__opener {
    display: inline-block;
}

.product-popup-modal__button {
    font-size: 1.6rem;
    padding-right: 1.3rem;
    padding-left: 0;
    height: 4.4rem;
    text-underline-offset: 0.3rem;
    text-decoration-thickness: 0.1rem;
    transition: text-decoration-thickness var(--duration-short) ease;
}

    .product-popup-modal__button:hover {
        text-decoration-thickness: 0.2rem;
    }

.product-popup-modal__content-info {
    padding-right: 4.4rem;
}

    .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__toggle {
    background-color: rgb(var(--color-background));
    border: 0.1rem solid rgba(var(--color-foreground), 0.1);
    border-radius: 50%;
    color: rgba(var(--color-foreground), 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: sticky;
    padding: 1.2rem;
    z-index: 2;
    top: 1.5rem;
    width: 4rem;
    margin: 0 0 0 auto;
}

    .product-popup-modal__toggle:hover {
        color: rgba(var(--color-foreground), 0.75);
    }

    .product-popup-modal__toggle .icon {
        height: auto;
        margin: 0;
        width: 2.2rem;
    }

.product-form__buttons {
    margin-top: 2.5rem;
}

    .product-form__buttons .btn {
        display: flex;
        width: 100%;
    }

.product__description.rte {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(0,0,0,0.1);
}

.float-bottom-modal {
    position: fixed;
    top: initial;
    bottom: 1px;
    left: 1px;
    right: 1px;
    width: auto;
    max-width: none;
    min-width: none;
    z-index: 100;
    padding: 20px 10px 30px;
}

.slider-component .icons-wrapper {
    position: absolute;
    top: 20px;
    right: 15px;
}

.button-circle {
    display: flex;
    line-height: 1;
    color: #fff;
    background: rgba(0,0,0,0.5);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

    .button-circle svg,
    .button-circle svg.icon-share {
        margin: 0;
    }

.float-bottom-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
}

    .float-bottom-modal-overlay::after {
        top: 0 !important;
    }
/* Color custom properties */

:root,
.color-background-1 {
    --color-foreground: var(--color-base-text);
    --color-background: var(--color-base-background-1);
    --gradient-background: var(--gradient-base-background-1);
}

.color-background-2 {
    --color-background: var(--color-base-background-2);
    --gradient-background: var(--gradient-base-background-2);
}

.color-inverse {
    --color-foreground: var(--color-base-background-1);
    --color-background: var(--color-base-text);
    --gradient-background: rgb(var(--color-base-text));
}

.color-accent-1 {
    --color-foreground: var(--color-base-solid-button-labels);
    --color-background: var(--color-base-accent-1);
    --gradient-background: var(--gradient-base-accent-1);
}

.color-accent-2 {
    --color-foreground: var(--color-base-solid-button-labels);
    --color-background: var(--color-base-accent-2);
    --gradient-background: var(--gradient-base-accent-2);
}

.color-foreground-outline-button {
    --color-foreground: var(--color-base-outline-button-labels);
}

.color-foreground-accent-1 {
    --color-foreground: var(--color-base-accent-1);
}

.color-foreground-accent-2 {
    --color-foreground: var(--color-base-accent-2);
}

:root,
.color-background-1 {
    --color-link: var(--color-base-outline-button-labels);
    --alpha-link: 0.85;
}

.color-background-2,
.color-inverse,
.color-accent-1,
.color-accent-2 {
    --color-link: var(--color-foreground);
    --alpha-link: 0.7;
}

:root,
.color-background-1 {
    --color-button: var(--color-base-accent-1);
    --color-button-text: var(--color-base-solid-button-labels);
    --alpha-button-background: 1;
    --alpha-button-border: 1;
}

.color-background-2,
.color-inverse,
.color-accent-1,
.color-accent-2 {
    --color-button: var(--color-foreground);
    --color-button-text: var(--color-background);
}

.button--secondary {
    --color-button: var(--color-base-outline-button-labels);
    --color-button-text: var(--color-base-outline-button-labels);
    --alpha-button-background: 0;
}

.color-background-2 .button--secondary,
.color-inverse .button--secondary,
.color-accent-1 .button--secondary,
.color-accent-2 .button--secondary {
    --color-button: var(--color-foreground);
    --color-button-text: var(--color-foreground);
}

.button--tertiary {
    --color-button: var(--color-base-outline-button-labels);
    --color-button-text: var(--color-base-outline-button-labels);
    --alpha-button-background: 0;
    --alpha-button-border: 0.2;
}

.color-background-2 .button--tertiary,
.color-inverse .button--tertiary,
.color-accent-1 .button--tertiary,
.color-accent-2 .button--tertiary {
    --color-button: var(--color-foreground);
    --color-button-text: var(--color-foreground);
}

:root,
.color-background-1 {
    --color-badge-background: var(--color-background);
    --color-badge-border: var(--color-foreground);
    --alpha-badge-border: 0.1;
}

.color-background-2,
.color-inverse,
.color-accent-1,
.color-accent-2 {
    --color-badge-background: var(--color-background);
    --color-badge-border: var(--color-background);
    --alpha-badge-border: 1;
}

:root,
.color-background-1,
.color-background-2 {
    --color-card-hover: var(--color-base-text);
}

.color-inverse {
    --color-card-hover: var(--color-base-background-1);
}

.color-accent-1,
.color-accent-2 {
    --color-card-hover: var(--color-base-solid-button-labels);
}

:root,
.color-icon-text {
    --color-icon: rgb(var(--color-base-text));
}

.color-icon-accent-1 {
    --color-icon: rgb(var(--color-base-accent-1));
}

.color-icon-accent-2 {
    --color-icon: rgb(var(--color-base-accent-2));
}

.color-icon-outline-button {
    --color-icon: rgb(var(--color-base-outline-button-labels));
}

.color-light-text {
    color: rgba(var(--color-base-text), 0.6);
}

/* base */

.no-js:not(html) {
    display: none !important;
}

html.no-js .no-js:not(html) {
    display: block !important;
}

.no-js-inline {
    display: none !important;
}

html.no-js .no-js-inline {
    display: inline-block !important;
}

html.no-js .no-js-hidden {
    display: none !important;
}

.page-width {
/*    max-width: var(--page-width);
*/    margin: 0 auto;
    padding: 0 1.5rem;
}

.page-width-desktop {
    padding: 0;
    margin: 0 auto;
}

@media screen and (min-width: 750px) {
    .page-width {
        padding: 15px 5rem;
    }

    .page-width--narrow {
        padding: 0 9rem;
    }

    .page-width-desktop {
        padding: 0;
    }
}

@media screen and (min-width: 990px) {
    .page-width--narrow {
        max-width: 72.6rem;
        padding: 0;
    }

    .page-width-desktop {
        max-width: var(--page-width);
        padding: 0 5rem;
    }
}

.element-margin {
    margin-top: 5rem;
}
/*
.spaced-section {
    margin-top: 5rem;
}*/

    .spaced-section:last-child {
        margin-bottom: 5rem;
    }

.spaced-section--full-width + .spaced-section--full-width {
    margin-top: 0;
}

.spaced-section--full-width:first-child {
    margin-top: 0;
}

.spaced-section--full-width:last-child {
    margin-bottom: 0;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-1 {
    margin-top: 0.5rem !important;
}

.mt-2 {
    margin-top: 1rem !important;
}

.mt-3 {
    margin-top: 1.5rem !important;
}

.mt-4 {
    margin-top: 2rem !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-1 {
    margin-bottom: 0.5rem !important;
}

.mb-2 {
    margin-bottom: 1rem !important;
}

.mb-3 {
    margin-bottom: 1.5rem !important;
}

.mb-4 {
    margin-bottom: 2rem !important;
}

.ml-1 {
    margin-left: 0.5rem !important;
}

.ml-2 {
    margin-left: 1rem !important;
}

.p-2 {
    padding: 1rem !important;
}

.p-3 {
    padding: 2rem !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pl-0 {
    padding-left: 0 !important;
}

.py-1 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

.lh-2 {
    line-height: 1.2 !important;
}

.gap-x-2 {
    column-gap: 1rem;
}

.gap-y-1 {
    row-gap: 0.5rem;
}

.gap-y-2 {
    row-gap: 1rem;
}

body,
.color-background-1,
.color-background-2,
.color-inverse,
.color-accent-1,
.color-accent-2 {
    color: rgba(var(--color-foreground), 0.75);
/*    background-color: rgb(var(--color-background));
*/}

.background-secondary {
    background-color: rgba(var(--color-foreground), 0.04);
    padding: 4rem 0 5rem;
}

@media screen and (min-width: 750px) {
    .background-secondary {
        padding: 6rem 0 5rem;
    }
}

.grid-auto-flow {
    display: grid;
    grid-auto-flow: column;
}

.page-margin,
.challenge__container {
    margin: 7rem auto;
}

.rte-width {
    max-width: 82rem;
    margin: 0 auto 2rem;
}

.rte, img {
    max-width: 100%;
}

.list-unstyled {
    margin: 0;
    padding: 0;
    list-style: none;
}

.hidden, .hide {
    display: none !important;
}

.visually-hidden {
    position: absolute !important;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    word-wrap: normal !important;
}

.visually-hidden--inline {
    margin: 0;
    height: 1em;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-auto {
    overflow: auto;
}

.skip-to-content-link:focus {
    z-index: 9999;
    position: inherit;
    overflow: auto;
    width: auto;
    height: auto;
    clip: auto;
}

.full-width-link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}

h1,
h2,
h3,
h4,
h5,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
/*    font-family: var(--font-heading-family);
*/    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    letter-spacing: 0.06rem;
    color: rgb(var(--color-foreground));
    line-height: 1.3;
}

.h0 {
    font-size: 4rem;
}

@media only screen and (min-width: 750px) {
    .h0 {
        font-size: 5.2rem;
    }
}

h1,
.h1 {
    font-size: 3rem;
}

@media only screen and (min-width: 750px) {
    h1,
    .h1 {
        font-size: 4rem;
    }
}

h2,
.h2 {
    font-size: 2rem;
}

@media only screen and (min-width: 750px) {
    h2,
    .h2 {
        font-size: 2.4rem;
    }
}

h3,
.h3 {
    font-size: 1.7rem;
}

@media only screen and (min-width: 750px) {
    h3,
    .h3 {
        font-size: 1.8rem;
    }
}

h4,
.h4 {
    font-family: var(--font-heading-family);
    font-style: var(--font-heading-style);
    font-size: 1.5rem;
}

h5,
.h5 {
    font-size: 1.2rem;
}

@media only screen and (min-width: 750px) {
    h5,
    .h5 {
        font-size: 1.3rem;
    }
}

h6,
.h6 {
    color: rgba(var(--color-foreground), 0.75);
    margin-block-start: 1.67em;
    margin-block-end: 1.67em;
}

blockquote {
    font-style: italic;
    color: rgba(var(--color-foreground), 0.75);
    border-left: 0.2rem solid rgba(var(--color-foreground), 0.2);
    padding-left: 1rem;
}

@media screen and (min-width: 750px) {
    blockquote {
        padding-left: 1.5rem;
    }
}

.caption {
    font-size: 1rem;
    letter-spacing: 0.07rem;
    line-height: 1.7;
}

@media screen and (min-width: 750px) {
    .caption {
        font-size: 1.2rem;
    }
}

.caption-with-letter-spacing {
    font-size: 1rem;
    letter-spacing: 0.13rem;
    line-height: 1.2;
    text-transform: uppercase;
}

.caption-large,
.customer .field input,
.customer select,
.field__input,
.form__label,
.select__select {
    font-size: 1.3rem;
    line-height: 1.5;
    letter-spacing: 0.04rem;
}

.color-foreground {
    color: rgb(var(--color-foreground));
}

table:not([class]) {
    table-layout: fixed;
    border-collapse: collapse;
    font-size: 1.4rem;
    border-style: hidden;
    box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.2);
    /* draws the table border  */
}

    table:not([class]) td,
    table:not([class]) th {
        padding: 1em;
        border: 0.1rem solid rgba(var(--color-foreground), 0.2);
    }

.hidden {
    display: none !important;
}

@media screen and (max-width: 749px) {
    .small-hide {
        display: none !important;
    }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
    .medium-hide {
        display: none !important;
    }
}

@media screen and (min-width: 990px) {
    .large-up-hide {
        display: none !important;
    }
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

.uppercase {
    text-transform: uppercase;
}

.light {
    opacity: 0.7;
}

a:empty,
ul:empty,
dl:empty,
div:empty,
section:empty,
article:empty,
p:empty,
h1:empty,
h2:empty,
h3:empty,
h4:empty,
h5:empty,
h6:empty {
    display: none;
}

.link,
.customer a {
    cursor: pointer;
/*    display: inline-block;
*/    border: none;
    box-shadow: none;
/*    text-decoration: underline;
*/    text-underline-offset: 0.3rem;
    color: rgb(var(--color-link));
    background-color: transparent;
    font-size: 1.4rem;
    font-family: inherit;
}

    .customer a.h3 {
        font-size: 1.8rem;
    }

.link--text {
    color: rgb(var(--color-foreground));
}

    .link--text:hover {
        color: rgba(var(--color-foreground), 0.75);
    }

.link-with-icon {
    display: inline-flex;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.1rem;
    text-decoration: none;
    margin-bottom: 4.5rem;
    white-space: nowrap;
}

    .link-with-icon .icon {
        width: 1.5rem;
        margin-left: 1rem;
    }

.circle-divider::after {
    content: '\2022';
    margin: 0 1.3rem 0 1.5rem;
}

.circle-divider:last-of-type::after {
    display: none;
}

hr {
    border: none;
    height: 0.1rem;
    background-color: rgba(var(--color-foreground), 0.2);
    display: block;
    margin: 5rem 0;
}

@media screen and (min-width: 750px) {
    hr {
        margin: 7rem 0;
    }
}

.full-unstyled-link {
    text-decoration: none;
    color: currentColor;
    display: block;
}

.placeholder {
    background-color: rgba(var(--color-foreground), 0.04);
    color: rgba(var(--color-foreground), 0.55);
    fill: rgba(var(--color-foreground), 0.55);
}

details > * {
    box-sizing: border-box;
}

.break {
    word-break: break-word;
}

.visibility-hidden {
    visibility: hidden;
}

@media (prefers-reduced-motion) {
    .motion-reduce {
        transition: none !important;
    }
}

:root {
    --duration-short: 100ms;
    --duration-default: 200ms;
    --duration-long: 500ms;
}

.underlined-link,
.customer a {
    color: rgba(var(--color-link), var(--alpha-link));
    text-underline-offset: 0.3rem;
    text-decoration-thickness: 0.1rem;
    transition: text-decoration-thickness ease 100ms;
}

    .underlined-link:hover,
    .customer a:hover {
        color: red;
        text-decoration-thickness: 0.2rem;
    }

.icon-arrow {
    width: 1.5rem;
}

/* arrow animation */
.animate-arrow .icon-arrow path {
    transform: translateX(-0.25rem);
    transition: transform var(--duration-short) ease;
}

.animate-arrow:hover .icon-arrow path {
    transform: translateX(-0.05rem);
}

/* base-details-summary */
summary {
    cursor: pointer;
    list-style: none;
    position: relative;
}

    summary .icon-caret {
        position: absolute;
        height: 0.6rem;
        right: 1.5rem;
        top: calc(50% - 0.2rem);
    }

    summary::-webkit-details-marker {
        display: none;
    }

.disclosure-has-popup {
    position: relative;
}

    .disclosure-has-popup[open] > summary::before {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        display: block;
        cursor: default;
        content: ' ';
        background: transparent;
    }

    .disclosure-has-popup > summary::before {
        display: none;
    }

    .disclosure-has-popup[open] > summary + * {
        z-index: 100;
    }

@media screen and (min-width: 750px) {
    .disclosure-has-popup[open] > summary + * {
        z-index: 2;
    }
}

/* base-focus */
/*
  Focus ring - default (with offset)
*/

*:focus {
    outline: 0;
    box-shadow: none;
}

*:focus-visible {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: 0.3rem;
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

/* Fallback - for browsers that don't support :focus-visible, a fallback is set for :focus */
.focused, .no-js *:focus {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: 0.3rem;
    box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

    /* Negate the fallback side-effect for browsers that support :focus-visible */
    .no-js *:focus:not(:focus-visible) {
        outline: 0;
        box-shadow: none;
    }


/*
  Focus ring - inset
*/

.focus-inset:focus-visible {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: -0.2rem;
    box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.focused.focus-inset, .no-js .focus-inset:focus {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: -0.2rem;
    box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

    .no-js .focus-inset:focus:not(:focus-visible) {
        outline: 0;
        box-shadow: none;
    }

/*
  Focus ring - none
*/

/* Dangerous for a11y - Use with care */
.focus-none {
    box-shadow: none !important;
    outline: 0 !important;
}

.focus-offset:focus-visible {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: 1rem;
    box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

.focus-offset.focused, .no-js .focus-offset:focus {
    outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
    outline-offset: 1rem;
    box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

    .no-js .focus-offset:focus:not(:focus-visible) {
        outline: 0;
        box-shadow: none;
    }

/* component-title */
.title,
.title-wrapper-with-link {
    margin: 3rem 0 2rem;
}

    .title-wrapper-with-link .title {
        margin: 0;
    }

.title-wrapper {
    margin-bottom: 3rem;
}

.title-wrapper-with-link {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    margin: 4rem 0 3rem;
    flex-wrap: wrap;
}

.title--primary {
    margin: 4rem 0;
}

.title-wrapper--self-padded-tablet-down,
.title-wrapper--self-padded-mobile {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

@media screen and (min-width: 750px) {
    .title-wrapper--self-padded-mobile {
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (min-width: 990px) {
    .title,
    .title-wrapper-with-link {
        margin: 0rem 0 3rem;
    }

    .title--primary {
        margin: 2rem 0;
    }

    .title-wrapper-with-link {
        align-items: center;
    }

        .title-wrapper-with-link .title {
            margin-bottom: 0;
        }

    .title-wrapper--self-padded-tablet-down {
        padding-left: 0;
        padding-right: 0;
    }
}

.title-wrapper-with-link .link-with-icon {
    margin: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

    .title-wrapper-with-link .link-with-icon svg {
        width: 1.5rem;
    }

.title-wrapper-with-link a {
    color: rgb(var(--color-link));
    margin-top: 0;
    flex-shrink: 0;
}

@media screen and (min-width: 990px) {
    .title-wrapper-with-link.title-wrapper-with-link--no-heading {
        display: none;
    }
}

.subtitle {
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 0.05rem;
    color: rgba(var(--color-foreground), 0.7);
}

/* component-grid */
.grid {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2rem;
    margin-left: -0.5rem;
    padding: 0;
    list-style: none;
}

@media screen and (min-width: 750px) {
    .grid {
        margin-left: -1rem;
    }
}

.grid__item {
    padding-left: 0.5rem;
    padding-bottom: 0.5rem;
    width: calc(25% - 0.5rem * 3 / 4);
    max-width: 50%;
    flex-grow: 1;
    flex-shrink: 0;
}

@media screen and (min-width: 750px) {
    .grid__item {
        padding-left: 1rem;
        padding-bottom: 1rem;
        width: calc(25% - 1rem * 3 / 4);
        max-width: 50%;
    }
}

.grid--gapless .grid__item {
    padding-left: 0;
    padding-bottom: 0;
}

@media screen and (max-width: 749px) {
    .grid__item.slider__slide--full-width {
        width: 100%;
        max-width: none;
    }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
    .grid--one-third-max.grid--3-col-tablet .grid__item {
        max-width: 33.33%;
    }
}

@media screen and (min-width: 990px) {
    .grid--quarter-max.grid--5-col-desktop .grid__item {
        max-width: 20%;
    }

    .grid--quarter-max.grid--4-col-desktop .grid__item {
        max-width: 25%;
    }
}

.grid--1-col .grid__item {
    max-width: 100%;
    width: 100%;
}

.grid--3-col .grid__item {
    width: calc(33.33% - 0.5rem * 2 / 3);
}

@media screen and (min-width: 750px) {
    .grid--3-col .grid__item {
        width: calc(33.33% - 1rem * 2 / 3);
    }
}

.grid--2-col .grid__item {
    width: calc(50% - 0.5rem / 2);
}

@media screen and (min-width: 750px) {
    .grid--2-col .grid__item {
        width: calc(50% - 1rem / 2);
    }

    .grid--4-col-tablet .grid__item {
        width: calc(25% - 1rem * 3 / 4);
    }

    .grid--3-col-tablet .grid__item {
        width: calc(33.33% - 1rem * 2 / 3);
    }

    .grid--2-col-tablet .grid__item {
        width: calc(50% - 1rem / 2);
    }
}

@media screen and (min-width: 990px) {
    .grid--5-col-desktop .grid__item {
        width: calc(20% - 1rem * 3 / 4);
    }

    .grid--4-col-desktop .grid__item {
        width: calc(25% - 1rem * 3 / 4);
    }

    .grid--3-col-desktop .grid__item {
        width: calc(33.33% - 1rem * 2 / 3);
    }

    .grid--2-col-desktop .grid__item {
        width: calc(50% - 1rem / 2);
    }

    .grid--1-col-desktop .grid__item {
        width: 100%;
    }
}

.grid__item--vertical-align {
    align-self: center;
}

.grid__item--full-width {
    flex: 0 0 100%;
    max-width: 100%;
}

@media screen and (max-width: 749px) {
    .grid--peek.slider--mobile {
        margin: 0;
        width: 100%;
    }

        .grid--peek.slider--mobile .grid__item {
            box-sizing: content-box;
            margin: 0;
        }

    .grid--peek .grid__item {
        width: calc(50% - 3.75rem / 2);
    }

        .grid--peek .grid__item:first-of-type {
            padding-left: 1.5rem;
        }

        .grid--peek .grid__item:last-of-type {
            padding-right: 1.5rem;
        }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
    .slider--tablet.grid--peek .grid__item {
        width: calc(25% - 4rem * 3 / 4);
    }

    .slider--tablet.grid--peek.grid--3-col-tablet .grid__item {
        width: calc(33.33% - 4rem * 2 / 3);
    }

    .slider--tablet.grid--peek.grid--2-col-tablet .grid__item {
        width: calc(50% - 4rem / 2);
    }

    .slider--tablet.grid--peek .grid__item:first-of-type {
        padding-left: 1.5rem;
    }

    .slider--tablet.grid--peek .grid__item:last-of-type {
        padding-right: 1.5rem;
    }
}

@media screen and (max-width: 989px) {
    .slider--tablet.grid--peek {
        margin: 0;
        width: 100%;
    }

        .slider--tablet.grid--peek .grid__item {
            box-sizing: content-box;
            margin: 0;
        }
}

/* component-media */
.media {
    display: block;
    background-color: rgba(var(--color-foreground), 0.1);
    position: relative;
    overflow: hidden;
}

.media--transparent {
    background-color: transparent;
}

.media > *:not(.zoom, .deferred-media__poster-button),
.media model-viewer {
    display: block;
    max-width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

.media > img {
    object-fit: cover;
    object-position: center center;
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.media--square {
    padding-bottom: 100%;
}

.media--portrait {
    padding-bottom: 125%;
}

.media--landscape {
    padding-bottom: 66.6%;
}

.media--cropped {
    padding-bottom: 56%;
}

.media--16-9 {
    padding-bottom: 56.25%;
}

.media--circle {
    padding-bottom: 100%;
    border-radius: 50%;
}

.media.media--hover-effect > img + img {
    opacity: 0;
}


@media screen and (min-width: 990px) {
    .media--cropped {
        padding-bottom: 63%;
    }

}



deferred-media {
    display: block;
}

/* component-button */
/* Button - default */

.button,
.btn,
.challenge__button,
.customer button {
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    font: inherit;
    padding: 0.9rem 3rem 1.1rem;
    text-decoration: none;
    border: 0;
    border-radius: 0;
    background-color: rgba(var(--color-button), var(--alpha-button-background));
    box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border));
    color: rgb(var(--color-button-text));
    min-width: 12rem;
    min-height: 4.5rem;
    transition: box-shadow var(--duration-short) ease;
    -webkit-appearance: none;
    appearance: none;
}

a {
    color: rgba(var(--color-button), var(--alpha-button-background));
}

.button:focus-visible {
    box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)), 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

.button:focus {
    box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)), 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

    .button:focus:not(:focus-visible) {
        box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border));
    }

.button,
.btn,
.button-label,
.challenge__button,
.customer button {
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
    line-height: 1.2;
}

.button--tertiary {
    font-size: 1.2rem;
    padding: 1rem 1.5rem;
    min-width: 9rem;
    min-height: 3.5rem;
}

.button--small {
    padding: 1.2rem 2.6rem;
    min-width: 10rem;
    min-height: unset;
}

/* Button - hover */

.button:not([disabled]):hover,
.challenge__button:hover,
.customer button:hover {
    box-shadow: 0 0 0 0.2rem rgba(var(--color-button), var(--alpha-button-border));
}

/* Button - other */

.button:disabled,
.button[aria-disabled='true'],
.button.disabled,
.customer button:disabled,
.customer button[aria-disabled='true'],
.customer button.disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.button--full-width {
    display: flex;
    width: 100%;
}

.btn.loading,
.btn.btn--loading,
.button.loading {
    color: transparent;
    pointer-events: none;
}

    .btn.loading:after,
    .btn.btn--loading:after,
    .button.loading:after {
        animation: loading var(--duration-long) infinite linear;
        border: 0.5rem solid rgba(var(--color-button-text), 0.4);
        border-left: 0.5rem solid rgb(var(--color-button-text));
        border-radius: 100%;
        box-sizing: content-box;
        content: '';
        display: block;
        height: 2rem;
        position: absolute;
        width: 2rem;
    }

@keyframes loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Button - social share */

.share-button {
    display: block;
    position: relative;
}

    .share-button details {
        width: fit-content;
    }

.share-button__button {
    font-size: 1.4rem;
    display: flex;
    min-height: 2.4rem;
    align-items: center;
    color: rgba(var(--color-link), var(--alpha-link));
    margin-left: 0;
    padding-left: 0;
}

.share-button_copy-wrapper {
    display: flex;
    width: 100%;
    background: rgba(0,0,0,0.05);
    margin: 5px;
}

.social-sharing-icons {
    margin: 8px 8px 0;
}

    .social-sharing-icons .sharing-icons-label {
        line-height: 1;
        margin-bottom: 8px;
        text-align: left;
    }

    .social-sharing-icons .share-icon-button {
        text-decoration: none;
        color: var(--color-base-text);
        margin: 0 5px;
    }

        .social-sharing-icons .share-icon-button svg {
            width: 2.5rem;
            height: 2.5rem;
        }

.share-button__button:hover,
details[open] > .share-button__button {
    color: rgb(var(--color-link));
}

details[open] > .share-button__fallback {
    animation: animateMenuOpen var(--duration-default) ease;
}

.share-button__button:hover {
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

.share-button__button,
.share-button__fallback button {
    cursor: pointer;
    background-color: transparent;
    border: none;
}

    .share-button__button .icon-share {
        margin-right: 1rem;
    }

.share-button__fallback {
    background: rgb(var(--color-background));
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: absolute;
    top: 3rem;
    left: 0.1rem;
    z-index: 6;
    width: 100%;
    min-width: 31rem;
    max-width: 50rem;
    box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.55);
}

    .share-button__fallback button {
        width: 4.4rem;
        height: 4.4rem;
        padding: 0;
        flex-shrink: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

        .share-button__fallback button:hover {
            color: rgba(var(--color-foreground), 0.75);
        }

            .share-button__fallback button:hover svg {
                transform: scale(1.07);
            }

.share-button__close:not(.hidden) + .share-button__copy {
    display: none;
}

.share-button__close,
.share-button__copy {
    background-color: transparent;
    color: rgb(var(--color-foreground));
}

.share-button__fallback .field__input {
    box-shadow: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.share-button__fallback .icon {
    width: 1.5rem;
    height: 1.5rem;
}

.share-button__message:not(:empty) {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    margin-top: 0;
    padding: 0.8rem 0 0.8rem 1.5rem;
}

    .share-button__message:not(:empty):not(.hidden) ~ * {
        display: none;
    }

/* component-form */
.field__input,
.select__select,
.customer .field input,
.customer select {
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    color: rgb(var(--color-foreground));
    font-size: 1.6rem;
    width: 100%;
    box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.15), inset 0 2px 3px rgba(0,0,0,0.05);
    height: 4.5rem;
    box-sizing: border-box;
    transition: box-shadow var(--duration-short) ease;
}

    .field__input.no-float-label {
        padding: 1.2rem 1.5rem !important;
    }

    .field__input:disabled,
    .select__select:disabled,
    .customer .field input:disabled,
    .customer select:disabled {
        color: rgba(var(--color-foreground),0.6);
        background: rgba(0,0,0,0.06);
    }

.select__select {
    font-family: var(--font-body-family);
    font-style: var(--font-body-style);
    font-weight: var(--font-body-weight);
    font-size: 1.2rem;
    color: rgba(var(--color-foreground), 0.75);
}

    .field__input:hover,
    .select__select:hover,
    .customer .field input:hover,
    .customer select:hover,
    .localization-form__select:hover {
        box-shadow: 0 0 0 0.2rem rgba(var(--color-foreground), 0.55);
    }

    .field__input:focus,
    .select__select:focus,
    .customer .field input:focus,
    .customer select:focus,
    .localization-form__select:focus {
        box-shadow: 0 0 0 0.2rem rgba(var(--color-foreground), 0.75);
        outline: transparent;
    }

.text-area,
.select {
    display: inline-block;
    position: relative;
    width: 100%;
}

    /* Select */

    .select .icon-caret,
    .customer select + svg {
        height: 0.6rem;
        pointer-events: none;
        position: absolute;
        top: calc(50% - 0.2rem);
        right: 1.5rem;
    }

.select__select,
.customer select {
    cursor: pointer;
    line-height: 1.6;
    padding: 0 4rem 0 1.5rem;
}

/* Field */

.field {
    position: relative;
    width: 100%;
    display: flex;
}

.customer .field {
    display: block;
}

.field--with-error {
    flex-wrap: wrap;
}

.field__input,
.customer .field input {
    flex-grow: 1;
    text-align: left;
/*    padding: 26px;
*/}

.field__label,
.customer .field label {
    font-size: 1.6rem;
    left: 1.5rem;
    top: 1rem;
    margin-bottom: 0;
    pointer-events: none;
    position: absolute;
    transition: top var(--duration-short) ease, font-size var(--duration-short) ease;
    color: rgba(var(--color-foreground), 0.55);
    letter-spacing: 0.1rem;
    line-height: 1.5;
}

.field__input:focus ~ .field__label,
.field__input:not(:placeholder-shown) ~ .field__label,
.field__input:-webkit-autofill ~ .field__label,
.customer .field input:focus ~ label,
.customer .field input:not(:placeholder-shown) ~ label,
.customer .field input:-webkit-autofill ~ label,
.customer .field.on_focus label,
.field__input.on_focus ~ .field__label {
    font-size: 1rem;
    top: 0.3em;
    letter-spacing: 0.04rem;
}

.customer .field.on_focus select {
    padding-top: 1.4rem;
}

.field__input:focus,
.field__input:not(:placeholder-shown),
.field__input:-webkit-autofill,
.customer .field input:focus,
.customer .field input:not(:placeholder-shown),
.customer .field input:-webkit-autofill {
    padding: 2.2rem 1.5rem 0.8rem;
}

.field__input::-webkit-search-cancel-button,
.customer .field input::-webkit-search-cancel-button {
    display: none;
}

.field__input::placeholder,
.customer .field input::placeholder {
    opacity: 0;
}

.field__button {
    align-items: center;
    background-color: transparent;
    border: 0;
    color: currentColor;
    cursor: pointer;
    display: flex;
    height: 4.4rem;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 4.4rem;
}

    .field__button > svg {
        height: 2.5rem;
        width: 2.5rem;
    }

.field__input:-webkit-autofill ~ .field__button,
.field__input:-webkit-autofill ~ .field__label,
.customer .field input:-webkit-autofill ~ label {
    color: rgb(0, 0, 0);
}

/* Text area */

.text-area {
    font-family: var(--font-body-family);
    font-style: var(--font-body-style);
    font-weight: var(--font-body-weight);
    padding: 1.2rem;
    min-height: 10rem;
    resize: none;
}

.text-area--resize-vertical {
    resize: vertical;
}

input[type='checkbox'] {
    display: inline-block;
    width: auto;
    margin-right: 0.5rem;
}

/* Form global */

.form__label {
    display: block;
    margin-bottom: 0.6rem;
}

.form__message {
    align-items: center;
    display: flex;
    font-size: 1.4rem;
    line-height: 1;
    margin-top: 1rem;
}

.form__message--large {
    font-size: 1.6rem;
}

.customer .field .form__message {
    font-size: 1.4rem;
    text-align: left;
}

.form__message .icon,
.customer .form__message svg {
    flex-shrink: 0;
    height: 1.3rem;
    margin-right: 0.5rem;
    width: 1.3rem;
}

.form__message--large .icon,
.customer .form__message svg {
    height: 1.5rem;
    width: 1.5rem;
    margin-right: 1rem;
}

.customer .field .form__message svg {
    align-self: start;
}

.form-status {
    margin: 0;
    font-size: 1.6rem;
}

.form-status-list {
    padding: 0;
    margin: 2rem 0 4rem;
}

    .form-status-list li {
        list-style-position: inside;
    }

    .form-status-list .link::first-letter {
        text-transform: capitalize;
    }

/* component-quantity */
.quantity {
    border: 0.1rem solid rgba(var(--color-base-text), 0.08);
    position: relative;
    height: 4.5rem;
    width: 14rem;
    display: flex;
}

.quantity__input {
    color: currentColor;
    font-size: 1.4rem;
    font-weight: 500;
    opacity: 0.85;
    text-align: center;
    background-color: transparent;
    border: 0;
    padding: 0 0.5rem;
    width: 100%;
    flex-grow: 1;
    -webkit-appearance: none;
    appearance: none;
}

    .quantity__input:disabled {
        color: rgba(var(--color-foreground),0.6);
        background: rgba(0,0,0,0.06);
    }

.quantity__button {
    width: 4.5rem;
    flex-shrink: 0;
    font-size: 1.8rem;
    border: 0;
    background-color: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(var(--color-foreground));
    padding: 16px;
}

    .quantity__button svg {
        width: 1rem;
        pointer-events: none;
    }

.quantity__input:-webkit-autofill,
.quantity__input:-webkit-autofill:hover,
.quantity__input:-webkit-autofill:active {
    box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
    -webkit-box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
}

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.quantity__input[type='number'] {
    -moz-appearance: textfield;
}

/* component-modal */
.modal__toggle {
    list-style-type: none;
}

.no-js details[open] .modal__toggle {
    position: absolute;
    z-index: 2;
}

.modal__toggle-close {
    display: none;
}

.no-js details[open] svg.modal__toggle-close {
    display: flex;
    z-index: 1;
    height: 1.7rem;
    width: 1.7rem;
}

.modal__toggle-open {
    display: flex;
}

.no-js details[open] .modal__toggle-open {
    display: none;
}

.no-js .modal__close-button.link {
    display: none;
}

/*.modal__close-button.link {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0rem;
    height: 4.4rem;
    width: 4.4rem;
    background-color: transparent;
}*/

.modal__close-button .icon {
    width: 1.7rem;
    height: 1.7rem;
}

.modal__content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgb(var(--color-background));
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.media-modal {
    cursor: zoom-out;
}

    .media-modal .deferred-media {
        cursor: initial;
    }

/* component-cart-count-bubble */
.cart-count-bubble:empty {
    display: none;
}

.cart-count-bubble {
    position: absolute;
    background-color: rgb(var(--color-button));
    color: rgb(var(--color-button-text));
    height: 1.7rem;
    min-width: 1.7rem;
    border-radius: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.9rem;
    bottom: 0.8rem;
    left: 2.2rem;
    line-height: 1.1;
}

/* section-announcement-bar */
#section-announcement-bar {
    z-index: 4;
}

.announcement-bar {
    border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
    color: rgb(var(--color-foreground));
}

.announcement-bar__link {
    display: block;
    width: 100%;
    padding: 1rem 2rem;
    text-decoration: none;
}

    .announcement-bar__link:hover {
        color: rgb(var(--color-foreground));
        background-color: rgba(var(--color-card-hover), 0.06);
    }

    .announcement-bar__link .icon-arrow {
        display: inline-block;
        pointer-events: none;
        margin-left: 0.8rem;
        vertical-align: middle;
        margin-bottom: 0.2rem;
    }

    .announcement-bar__link .announcement-bar__message {
        padding: 0;
    }

.announcement-bar__message {
    text-align: center;
    padding: 1rem 2rem;
    margin: 0;
    letter-spacing: 0.1rem;
}

/* section-header */

/* section-header */
#easystore-section-header {
    z-index: 3;
}

.easystore-section-header-sticky {
    position: sticky;
    top: 0;
}

.easystore-section-header-hidden {
    transform: translateY(-100%);
}

#easystore-section-header.animate {
    transition: transform 0.15s ease-out;
}

/* Main Header Layout */
.header-wrapper {
    display: block;
    position: relative;
    background-color: rgb(var(--color-background));
    z-index: 3;
}

.section-header-sticky {
    position: sticky;
    top: 0;
}

.header-wrapper--border-bottom {
    border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.header {
    display: grid;
    grid-template-areas: 'left-icon heading icons';
    grid-template-columns: 1fr 2fr 1fr;
    align-items: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

@media screen and (min-width: 990px) {
    .header {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .header--has-menu:not(.header--middle-left) {
        padding-bottom: 0;
    }

    .header--top-left {
        grid-template-areas:
            'heading icons'
            'navigation navigation';
        grid-template-columns: 1fr auto;
    }

    .header--middle-left {
        grid-template-areas: 'heading navigation icons';
        grid-template-columns: auto 1fr auto;
        column-gap: 2rem;
    }

    .header--top-center {
        grid-template-areas:
            'left-icon heading icons'
            'navigation navigation navigation'
            '. search .';
    }

    .header--middle-left .header__inline-menu {
        min-width: 45rem;
    }

    .header:not(.header--middle-left) .header__inline-menu {
        margin-top: 1.05rem;
    }
}

.header *[tabindex='-1']:focus {
    outline: none;
}

.header__heading {
    margin: 0;
    line-height: 0;
}

.header > .header__heading-link {
    line-height: 0;
}

.header__heading,
.header__heading-link {
    grid-area: heading;
    justify-self: center;
}

.header__heading-link {
/*    display: inline-block;
*/    padding: 0.75rem;
    text-decoration: none;
    word-break: break-word;
}

    .header__heading-link:hover .h2 {
        color: rgb(var(--color-foreground));
    }

    .header__heading-link .h2 {
        line-height: 1;
        color: rgba(var(--color-foreground), 0.75);
    }

/*.header__heading-logo {
    height: auto;
    width: var(--logo-width);
    max-width: 100%;
}*/

@media screen and (min-width: 990px) {
    .header__heading-link {
        margin-left: -0.75rem;
    }

    .header__heading,
    .header__heading-link {
        justify-self: start;
    }

    .header--top-center .header__heading-link,
    .header--top-center .header__heading {
        justify-self: center;
    }
}

/* Header icons */
.header__icons {
    display: flex;
    grid-area: icons;
    justify-self: end;
}

.header__icon:not(.header__icon--summary),
.header__icon span {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header__icon span {
    height: 100%;
}

.header__icon::after {
    content: none;
}

.header__icon:hover .icon,
.modal__close-button:hover .icon {
    transform: scale(1.07);
}

.header__icon .icon {
    height: 2rem;
    width: 2rem;
    fill: none;
    vertical-align: middle;
}

.header__icon,
.header__icon--cart .icon {
    height: 4.4rem;
    width: 4.4rem;
}

.header__icon--cart {
    position: relative;
    margin-right: -1.2rem;
}

@media screen and (max-width: 989px) {
    menu-drawer ~ .header__icons .header__icon--account {
        display: none;
    }
}

/* Search */
menu-drawer + .header__search {
    display: none;
}

.header > .header__search {
    grid-area: left-icon;
    justify-self: start;
}

.header:not(.header--has-menu) * > .header__search {
    display: none;
}

.header__search {
    display: inline-flex;
    line-height: 0;
}

.header--top-center > .header__search {
    display: none;
}

.header--top-center * > .header__search {
    display: inline-flex;
}

@media screen and (min-width: 990px) {
    .header:not(.header--top-center) * > .header__search,
    .header--top-center > .header__search {
        display: inline-flex;
    }

    .header:not(.header--top-center) > .header__search,
    .header--top-center * > .header__search {
        /* display: none; */
    }
}

.no-js .predictive-search {
    display: none;
}

details[open] > .search-modal {
    opacity: 1;
    animation: animateMenuOpen var(--duration-default) ease;
}

details[open] .modal-overlay {
    display: block;
}

    details[open] .modal-overlay::after {
        position: absolute;
        content: '';
        background-color: rgb(var(--color-foreground), 0.5);
        top: 100%;
        left: 0;
        right: 0;
        height: 100vh;
    }

.no-js details[open] > .header__icon--search {
    top: 1rem;
    right: 0.5rem;
}

.search-modal {
    opacity: 0;
    border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
    height: 100%;
}

.search-modal__content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0 5rem 0 1rem;
    line-height: 1.8;
}

.search-modal__form {
    width: 100%;
}

.search-modal__close-button {
    position: absolute;
    right: 0.3rem;
}

@media screen and (min-width: 750px) {
    .search-modal__close-button {
        right: 1rem;
    }

    .search-modal__content {
        padding: 0 6rem;
    }
}

@media screen and (min-width: 990px) {
    .search-modal__form {
        max-width: 47.8rem;
    }

    .search-modal__close-button {
        position: initial;
        margin-left: 0.5rem;
    }
}

/* Header menu drawer */
.header__icon--menu .icon {
    display: block;
    position: absolute;
    opacity: 1;
    transform: scale(1);
    transition: transform 150ms ease, opacity 150ms ease;
}

details:not([open]) > .header__icon--menu .icon-close,
details[open] > .header__icon--menu .icon-hamburger {
    visibility: hidden;
    opacity: 0;
    transform: scale(0.8);
}

.js details[open]:not(.menu-opening) > .header__icon--menu .icon-close {
    visibility: hidden;
}

.js details[open]:not(.menu-opening) > .header__icon--menu .icon-hamburger {
    visibility: visible;
    opacity: 1;
    transform: scale(1.07);
}

.header__inline-menu details[open] > .header__submenu {
    opacity: 1;
    transform: translateY(0);
    animation: animateMenuOpen var(--duration-default) ease;
}

/* Header menu */
.header__inline-menu {
    margin-left: -1.2rem;
    grid-area: navigation;
    display: none;
}

.header--top-center .header__inline-menu,
.header--top-center .header__heading-link {
    margin-left: 0;
}

@media screen and (min-width: 990px) {
    .header__inline-menu {
        display: block;
    }

    .header--top-center .header__inline-menu {
        justify-self: center;
    }

        .header--top-center .header__inline-menu > .list-menu--inline {
            justify-content: center;
        }

   /* .header--middle-left .header__inline-menu {
        margin-left: 0;
    }*/
}

.header__menu {
    padding: 0 1rem;
}

.header__menu-item {
    padding: 1.2rem;
    text-decoration: none;
    color: rgba(var(--color-foreground), 0.75);
}

    .header__menu-item a {
        color: currentColor;
        text-decoration: none;
    }

    .header__menu-item:hover {
        color: rgb(var(--color-foreground));
    }

    .header__menu-item span {
        transition: text-decoration var(--duration-short) ease;
    }

    .header__menu-item:hover span {
        text-decoration: underline;
        text-underline-offset: 0.3rem;
    }

.header__active-menu-item {
    transition: text-decoration-thickness var(--duration-short) ease;
    color: rgb(var(--color-foreground));
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

.header__menu-item:hover .header__active-menu-item {
    text-decoration-thickness: 0.2rem;
}

.header__submenu {
    transition: opacity var(--duration-default) ease, transform var(--duration-default) ease;
}

    .header__submenu.list-menu {
        padding: 2rem 0;
    }

    .header__submenu .header__submenu {
        position: absolute;
        top: calc(-0.5rem - 1px);
        left: 100%;
        width: 100%;
        padding: 0.5rem 0;
    }

    .header__submenu .header__menu-item:after {
        right: 2rem;
    }

    .header__submenu .header__menu-item {
        padding: 0.95rem 3.5rem 0.95rem 2rem;
    }

    .header__submenu .header__submenu .header__menu-item {
        padding-left: 3rem;
    }

.header__menu-item .icon-caret {
    right: 0.8rem;
}

.header__submenu .icon-caret {
    right: 2rem;
}

details-disclosure > details {
    position: relative;
}

@keyframes animateMenuOpen {
    0% {
        opacity: 0;
        transform: translateY(-1.5rem);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.overflow-hidden-mobile,
.overflow-hidden-tablet {
    overflow: hidden;
}

@media screen and (min-width: 750px) {
    .overflow-hidden-mobile {
        overflow: auto;
    }
}

@media screen and (min-width: 990px) {
    .overflow-hidden-tablet {
        overflow: auto;
    }
}

.badge {
    border: 1px solid transparent;
    border-radius: 4rem;
    display: inline-block;
    font-size: 1.2rem;
    letter-spacing: 0.1rem;
    line-height: 1;
    padding: 0.6rem 1.3rem;
    text-align: center;
    background-color: rgb(var(--color-badge-background));
    border-color: rgba(var(--color-badge-border), var(--alpha-badge-border));
    color: rgb(var(--color-foreground));
    word-break: break-word;
}

    .badge.badge-circle {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0.6rem;
        width: 2.34em;
        height: 2.34em;
        box-shadow: 0px 0px 10px -2px rgba(0,0,0,0.1);
    }

@media screen and (max-width: 749px) {
    .slider-mobile-gutter .badge.badge-circle {
        width: 1.17em;
        height: 1.17em;
    }
}

.gradient {
    background: var(--color-background);
    background: var(--gradient-background);
    background-attachment: fixed;
}

.select:after {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='icon-caret' viewBox='0 0 10 6'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
    height: 0.6rem;
    width: 1rem;
    pointer-events: none;
    position: absolute;
    top: calc(50% - 0.2rem);
    right: 1.5rem;
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.splide {
    position: relative;
}

    .splide .splide__arrow {
        background: rgba(var(--color-button), 0.9);
        width: 3em;
        height: 3em;
    }

        .splide .splide__arrow svg {
            fill: rgb(var(--color-button-text));
        }

        .splide .splide__arrow:disabled {
            display: none;
        }

    .splide .splide__pagination__page.is-active {
        background: rgba(var(--color-button), 0.7);
        transform: scale(1.3);
        border: none;
        box-shadow: none;
    }

    .splide .splide__pagination__page {
        background-color: #fff;
        box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
        border: 1px solid rgba(0, 0, 0, 0.2);
        opacity: 0.9;
    }

.splide_pagination-bottom {
    margin-bottom: 10rem;
}

    .splide_pagination-bottom .splide__pagination {
        bottom: -4rem;
    }

.splide-index-count {
    position: absolute;
    bottom: 20px;
    right: 20px;
    line-height: 1;
    color: #fff;
    background: rgba(0,0,0,0.5);
    padding: 5px 8px;
    border-radius: 50px;
    letter-spacing: 3px;
    font-size: 12px;
}


@media screen and (max-width: 749px) {
    .splide .splide__arrow {
        display: none !important;
    }
}

.d-flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-justify-center {
    justify-content: center;
}

.flex-space-between {
    justify-content: space-between;
}

.flex-align-center {
    align-items: center;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

.rotate-90 {
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
}

select.currency-picker {
    height: 3.5rem;
}

.note {
    margin: 1.5rem 0;
    padding: 1rem 1.5rem;
    background: rgba(0,0,0,0.05);
}

    .note.form-success {
        background: rgba(145, 245, 150,0.3);
    }

    .note.errors {
        background: rgba(245, 185, 145, 0.3);
        padding-left: 3rem;
    }

.svg-icon {
    width: 1.2em;
    height: 1.4em;
    vertical-align: middle;
    fill: currentcolor;
    margin-top: -0.2em;
}

.collection .title-wrapper-with-link--no-heading {
    justify-content: flex-end;
}

img {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.table-wrapper {
    overflow: auto;
}

    .table-wrapper table {
        min-width: 100%;
        width: auto !important;
    }

.justify-center {
    justify-content: center;
}

/* ==== Flex table ==== */
.flex-table {
    border: 0.01rem solid rgba(var(--color-foreground), 0.08);
    display: flex;
    flex-direction: column;
}

.flex-table-tr {
    padding: 2.2rem;
}

    .flex-table-tr:not(:last-child) {
        border-bottom: 0.01rem solid rgba(var(--color-foreground), 0.08);
    }

.transparent {
    opacity: 0 !important;
}

.list-menu--right {
    right: 0;
}

.list-menu--disclosure {
    position: absolute;
    min-width: 100%;
    width: 20rem;
    border: 1px solid rgba(var(--color-foreground), 0.2);
    background-color: rgb(var(--color-background));
    z-index: 2;
}

    .list-menu--disclosure:focus {
        outline: none;
    }

.list-menu__item--active {
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

.list-menu--disclosure.localization-selector {
    max-height: 18rem;
    overflow: auto;
    width: 10rem;
    padding: 0.5rem;
}
@keyframes fadeEffect {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.tab_drawer_heading {
    display: none;
}

@media screen and (max-width: 480px) {
    .prod-desc-tab {
        display: none;
    }
    /* Color custom properties */

    :root,
    .color-background-1 {
        --color-foreground: var(--color-base-text);
        --color-background: var(--color-base-background-1);
        --gradient-background: var(--gradient-base-background-1);
    }

    .color-background-2 {
        --color-background: var(--color-base-background-2);
        --gradient-background: var(--gradient-base-background-2);
    }

    .color-inverse {
        --color-foreground: var(--color-base-background-1);
        --color-background: var(--color-base-text);
        --gradient-background: rgb(var(--color-base-text));
    }

    .color-accent-1 {
        --color-foreground: var(--color-base-solid-button-labels);
        --color-background: var(--color-base-accent-1);
        --gradient-background: var(--gradient-base-accent-1);
    }

    .color-accent-2 {
        --color-foreground: var(--color-base-solid-button-labels);
        --color-background: var(--color-base-accent-2);
        --gradient-background: var(--gradient-base-accent-2);
    }

    .color-foreground-outline-button {
        --color-foreground: var(--color-base-outline-button-labels);
    }

    .color-foreground-accent-1 {
        --color-foreground: var(--color-base-accent-1);
    }

    .color-foreground-accent-2 {
        --color-foreground: var(--color-base-accent-2);
    }

    :root,
    .color-background-1 {
        --color-link: var(--color-base-outline-button-labels);
        --alpha-link: 0.85;
    }

    .color-background-2,
    .color-inverse,
    .color-accent-1,
    .color-accent-2 {
        --color-link: var(--color-foreground);
        --alpha-link: 0.7;
    }

    :root,
    .color-background-1 {
        --color-button: var(--color-base-accent-1);
        --color-button-text: var(--color-base-solid-button-labels);
        --alpha-button-background: 1;
        --alpha-button-border: 1;
    }

    .color-background-2,
    .color-inverse,
    .color-accent-1,
    .color-accent-2 {
        --color-button: var(--color-foreground);
        --color-button-text: var(--color-background);
    }

    .button--secondary {
        --color-button: var(--color-base-outline-button-labels);
        --color-button-text: var(--color-base-outline-button-labels);
        --alpha-button-background: 0;
    }

    .color-background-2 .button--secondary,
    .color-inverse .button--secondary,
    .color-accent-1 .button--secondary,
    .color-accent-2 .button--secondary {
        --color-button: var(--color-foreground);
        --color-button-text: var(--color-foreground);
    }

    .button--tertiary {
        --color-button: var(--color-base-outline-button-labels);
        --color-button-text: var(--color-base-outline-button-labels);
        --alpha-button-background: 0;
        --alpha-button-border: 0.2;
    }

    .color-background-2 .button--tertiary,
    .color-inverse .button--tertiary,
    .color-accent-1 .button--tertiary,
    .color-accent-2 .button--tertiary {
        --color-button: var(--color-foreground);
        --color-button-text: var(--color-foreground);
    }

    :root,
    .color-background-1 {
        --color-badge-background: var(--color-background);
        --color-badge-border: var(--color-foreground);
        --alpha-badge-border: 0.1;
    }

    .color-background-2,
    .color-inverse,
    .color-accent-1,
    .color-accent-2 {
        --color-badge-background: var(--color-background);
        --color-badge-border: var(--color-background);
        --alpha-badge-border: 1;
    }

    :root,
    .color-background-1,
    .color-background-2 {
        --color-card-hover: var(--color-base-text);
    }

    .color-inverse {
        --color-card-hover: var(--color-base-background-1);
    }

    .color-accent-1,
    .color-accent-2 {
        --color-card-hover: var(--color-base-solid-button-labels);
    }

    :root,
    .color-icon-text {
        --color-icon: rgb(var(--color-base-text));
    }

    .color-icon-accent-1 {
        --color-icon: rgb(var(--color-base-accent-1));
    }

    .color-icon-accent-2 {
        --color-icon: rgb(var(--color-base-accent-2));
    }

    .color-icon-outline-button {
        --color-icon: rgb(var(--color-base-outline-button-labels));
    }

    .color-light-text {
        color: rgba(var(--color-base-text), 0.6);
    }

    /* base */

    .no-js:not(html) {
        display: none !important;
    }

    html.no-js .no-js:not(html) {
        display: block !important;
    }

    .no-js-inline {
        display: none !important;
    }

    html.no-js .no-js-inline {
        display: inline-block !important;
    }

    html.no-js .no-js-hidden {
        display: none !important;
    }

    .page-width {
        max-width: var(--page-width);
        margin: 0 auto;
        padding: 2px 1.5rem;
    }

    .page-width-desktop {
        padding: 0;
        margin: 0 auto;
    }

    @media screen and (min-width: 750px) {
        .page-width {
            padding: 0 5rem;
        }

        .page-width--narrow {
            padding: 0 9rem;
        }

        .page-width-desktop {
            padding: 0;
        }
    }

    @media screen and (min-width: 990px) {
        .page-width--narrow {
            max-width: 72.6rem;
            padding: 0;
        }

        .page-width-desktop {
            max-width: var(--page-width);
            padding: 0 5rem;
        }
    }

    .element-margin {
        margin-top: 5rem;
    }

/*    .spaced-section {
        margin-top: 5rem;
    }*/

        .spaced-section:last-child {
            margin-bottom: 5rem;
        }

    .spaced-section--full-width + .spaced-section--full-width {
        margin-top: 0;
    }

    .spaced-section--full-width:first-child {
        margin-top: 0;
    }

    .spaced-section--full-width:last-child {
        margin-bottom: 0;
    }

    .mt-0 {
        margin-top: 0 !important;
    }

    .mt-1 {
        margin-top: 0.5rem !important;
    }

    .mt-2 {
        margin-top: 1rem !important;
    }

    .mt-3 {
        margin-top: 1.5rem !important;
    }

    .mt-4 {
        margin-top: 2rem !important;
    }

    .mb-0 {
        margin-bottom: 0 !important;
    }

    .mb-1 {
        margin-bottom: 0.5rem !important;
    }

    .mb-2 {
        margin-bottom: 1rem !important;
    }

    .mb-3 {
        margin-bottom: 1.5rem !important;
    }

    .mb-4 {
        margin-bottom: 2rem !important;
    }

    .ml-1 {
        margin-left: 0.5rem !important;
    }

    .ml-2 {
        margin-left: 1rem !important;
    }

    .p-2 {
        padding: 1rem !important;
    }

    .p-3 {
        padding: 2rem !important;
    }

    .pt-0 {
        padding-top: 0 !important;
    }

    .pb-0 {
        padding-bottom: 0 !important;
    }

    .pl-0 {
        padding-left: 0 !important;
    }

    .py-1 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }

    .lh-2 {
        line-height: 1.2 !important;
    }

    .gap-x-2 {
        column-gap: 1rem;
    }

    .gap-y-1 {
        row-gap: 0.5rem;
    }

    .gap-y-2 {
        row-gap: 1rem;
    }

    body,
    .color-background-1,
    .color-background-2,
    .color-inverse,
    .color-accent-1,
    .color-accent-2 {
        color: rgba(var(--color-foreground), 0.75);
        background-color: rgb(var(--color-background));
    }

    .background-secondary {
        background-color: rgba(var(--color-foreground), 0.04);
        padding: 4rem 0 5rem;
    }

    @media screen and (min-width: 750px) {
        .background-secondary {
            padding: 6rem 0 5rem;
        }
    }

    .grid-auto-flow {
        display: grid;
        grid-auto-flow: column;
    }

    .page-margin,
    .challenge__container {
        margin: 7rem auto;
    }

    .rte-width {
        max-width: 82rem;
        margin: 0 auto 2rem;
    }

    .rte, img {
        max-width: 100%;
    }

    .list-unstyled {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .hidden, .hide {
        display: none !important;
    }

    .visually-hidden {
        position: absolute !important;
        overflow: hidden;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
        clip: rect(0 0 0 0);
        word-wrap: normal !important;
    }

    .visually-hidden--inline {
        margin: 0;
        height: 1em;
    }

    .overflow-hidden {
        overflow: hidden;
    }

    .overflow-auto {
        overflow: auto;
    }

    .skip-to-content-link:focus {
        z-index: 9999;
        position: inherit;
        overflow: auto;
        width: auto;
        height: auto;
        clip: auto;
    }

    .full-width-link {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    .h0,
    .h1,
    .h2,
    .h3,
    .h4,
    .h5 {
/*        font-family: var(--font-heading-family);
*/        font-style: var(--font-heading-style);
        font-weight: var(--font-heading-weight);
        letter-spacing: 0.06rem;
        color: rgb(var(--color-foreground));
        line-height: 1.3;
    }

    .h0 {
        font-size: 4rem;
    }

    @media only screen and (min-width: 750px) {
        .h0 {
            font-size: 5.2rem;
        }
    }

    h1,
    .h1 {
        font-size: 3rem;
    }

    @media only screen and (min-width: 750px) {
        h1,
        .h1 {
            font-size: 4rem;
        }
    }

    h2,
    .h2 {
        font-size: 2rem;
    }

    @media only screen and (min-width: 750px) {
        h2,
        .h2 {
            font-size: 2.4rem;
        }
    }

    h3,
    .h3 {
        font-size: 1.7rem;
    }

    @media only screen and (min-width: 750px) {
        h3,
        .h3 {
            font-size: 1.8rem;
        }
    }

    h4,
    .h4 {
        font-family: var(--font-heading-family);
        font-style: var(--font-heading-style);
        font-size: 1.5rem;
    }

    h5,
    .h5 {
        font-size: 1.2rem;
    }

    @media only screen and (min-width: 750px) {
        h5,
        .h5 {
            font-size: 1.3rem;
        }
    }

    h6,
    .h6 {
        color: rgba(var(--color-foreground), 0.75);
        margin-block-start: 1.67em;
        margin-block-end: 1.67em;
    }

    blockquote {
        font-style: italic;
        color: rgba(var(--color-foreground), 0.75);
        border-left: 0.2rem solid rgba(var(--color-foreground), 0.2);
        padding-left: 1rem;
    }

    @media screen and (min-width: 750px) {
        blockquote {
            padding-left: 1.5rem;
        }
    }

    .caption {
        font-size: 1rem;
        letter-spacing: 0.07rem;
        line-height: 1.7;
    }

    @media screen and (min-width: 750px) {
        .caption {
            font-size: 1.2rem;
        }
    }

    .caption-with-letter-spacing {
        font-size: 1rem;
        letter-spacing: 0.13rem;
        line-height: 1.2;
        text-transform: uppercase;
    }

    .caption-large,
    .customer .field input,
    .customer select,
    .field__input,
    .form__label,
    .select__select {
        font-size: 1.3rem;
        line-height: 1.5;
        letter-spacing: 0.04rem;
    }

    .color-foreground {
        color: rgb(var(--color-foreground));
    }

    table:not([class]) {
        table-layout: fixed;
        border-collapse: collapse;
        font-size: 1.4rem;
        border-style: hidden;
        box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.2);
        /* draws the table border  */
    }

        table:not([class]) td,
        table:not([class]) th {
            padding: 1em;
            border: 0.1rem solid rgba(var(--color-foreground), 0.2);
        }

    .hidden {
        display: none !important;
    }

    @media screen and (max-width: 749px) {
        .small-hide {
            display: none !important;
        }
    }

    @media screen and (min-width: 750px) and (max-width: 989px) {
        .medium-hide {
            display: none !important;
        }
    }

    @media screen and (min-width: 990px) {
        .large-up-hide {
            display: none !important;
        }
    }

    .center {
        text-align: center;
    }

    .right {
        text-align: right;
    }

    .uppercase {
        text-transform: uppercase;
    }

    .light {
        opacity: 0.7;
    }

    a:empty,
    ul:empty,
    dl:empty,
    div:empty,
    section:empty,
    article:empty,
    p:empty,
    h1:empty,
    h2:empty,
    h3:empty,
    h4:empty,
    h5:empty,
    h6:empty {
        display: none;
    }

    .link,
    .customer a {
        cursor: pointer;
        display: inline-block;
        border: none;
        box-shadow: none;
/*        text-decoration: underline;
*/        text-underline-offset: 0.3rem;
        color: rgb(var(--color-link));
        background-color: transparent;
        font-size: 1.4rem;
        font-family: inherit;
    }

        .customer a.h3 {
            font-size: 1.8rem;
        }

    .link--text {
        color: rgb(var(--color-foreground));
    }

        .link--text:hover {
            color: rgba(var(--color-foreground), 0.75);
        }

    .link-with-icon {
        display: inline-flex;
        font-size: 1.4rem;
        font-weight: 600;
        letter-spacing: 0.1rem;
        text-decoration: none;
        margin-bottom: 4.5rem;
        white-space: nowrap;
    }

        .link-with-icon .icon {
            width: 1.5rem;
            margin-left: 1rem;
        }

    .circle-divider::after {
        content: '\2022';
        margin: 0 1.3rem 0 1.5rem;
    }

    .circle-divider:last-of-type::after {
        display: none;
    }

    hr {
        border: none;
        height: 0.1rem;
        background-color: rgba(var(--color-foreground), 0.2);
        display: block;
        margin: 5rem 0;
    }

    @media screen and (min-width: 750px) {
        hr {
            margin: 7rem 0;
        }
    }

    .full-unstyled-link {
        text-decoration: none;
        color: currentColor;
        display: block;
    }

    .placeholder {
        background-color: rgba(var(--color-foreground), 0.04);
        color: rgba(var(--color-foreground), 0.55);
        fill: rgba(var(--color-foreground), 0.55);
    }

    details > * {
        box-sizing: border-box;
    }

    .break {
        word-break: break-word;
    }

    .visibility-hidden {
        visibility: hidden;
    }

    @media (prefers-reduced-motion) {
        .motion-reduce {
            transition: none !important;
        }
    }

    :root {
        --duration-short: 100ms;
        --duration-default: 200ms;
        --duration-long: 500ms;
    }

    .underlined-link,
    .customer a {
        color: rgba(var(--color-link), var(--alpha-link));
        text-underline-offset: 0.3rem;
        text-decoration-thickness: 0.1rem;
        transition: text-decoration-thickness ease 100ms;
    }

        .underlined-link:hover,
        .customer a:hover {
            color: rgb(var(--color-link));
            text-decoration-thickness: 0.2rem;
        }

    .icon-arrow {
        width: 1.5rem;
    }

    /* arrow animation */
    .animate-arrow .icon-arrow path {
        transform: translateX(-0.25rem);
        transition: transform var(--duration-short) ease;
    }

    .animate-arrow:hover .icon-arrow path {
        transform: translateX(-0.05rem);
    }

    /* base-details-summary */
    summary {
        cursor: pointer;
        list-style: none;
        position: relative;
    }

        summary .icon-caret {
            position: absolute;
            height: 0.6rem;
            right: 1.5rem;
            top: calc(50% - 0.2rem);
        }

        summary::-webkit-details-marker {
            display: none;
        }

    .disclosure-has-popup {
        position: relative;
    }

        .disclosure-has-popup[open] > summary::before {
            position: fixed;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: 2;
            display: block;
            cursor: default;
            content: ' ';
            background: transparent;
        }

        .disclosure-has-popup > summary::before {
            display: none;
        }

        .disclosure-has-popup[open] > summary + * {
            z-index: 100;
        }

    @media screen and (min-width: 750px) {
        .disclosure-has-popup[open] > summary + * {
            z-index: 2;
        }
    }

    /* base-focus */
    /*
  Focus ring - default (with offset)
*/

    *:focus {
        outline: 0;
        box-shadow: none;
    }

    *:focus-visible {
        outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
        outline-offset: 0.3rem;
        box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
    }

    /* Fallback - for browsers that don't support :focus-visible, a fallback is set for :focus */
    .focused, .no-js *:focus {
        outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
        outline-offset: 0.3rem;
        box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
    }

        /* Negate the fallback side-effect for browsers that support :focus-visible */
        .no-js *:focus:not(:focus-visible) {
            outline: 0;
            box-shadow: none;
        }


    /*
  Focus ring - inset
*/

    .focus-inset:focus-visible {
        outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
        outline-offset: -0.2rem;
        box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
    }

    .focused.focus-inset, .no-js .focus-inset:focus {
        outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
        outline-offset: -0.2rem;
        box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
    }

        .no-js .focus-inset:focus:not(:focus-visible) {
            outline: 0;
            box-shadow: none;
        }

    /*
  Focus ring - none
*/

    /* Dangerous for a11y - Use with care */
    .focus-none {
        box-shadow: none !important;
        outline: 0 !important;
    }

    .focus-offset:focus-visible {
        outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
        outline-offset: 1rem;
        box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
    }

    .focus-offset.focused, .no-js .focus-offset:focus {
        outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
        outline-offset: 1rem;
        box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
    }

        .no-js .focus-offset:focus:not(:focus-visible) {
            outline: 0;
            box-shadow: none;
        }

    /* component-title */
    .title,
    .title-wrapper-with-link {
        margin: 3rem 0 2rem;
    }

        .title-wrapper-with-link .title {
            margin: 0;
        }

    .title-wrapper {
        margin-bottom: 3rem;
    }

    .title-wrapper-with-link {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 1rem;
        margin: 4rem 0 3rem;
        flex-wrap: wrap;
    }
/*
    .title--primary {
        margin: 4rem 0;
    }
*/
    .title-wrapper--self-padded-tablet-down,
    .title-wrapper--self-padded-mobile {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    @media screen and (min-width: 750px) {
        .title-wrapper--self-padded-mobile {
            padding-left: 0;
            padding-right: 0;
        }
    }

    @media screen and (min-width: 990px) {
        .title,
        .title-wrapper-with-link {
            margin: 5rem 0 3rem;
        }

        .title--primary {
            margin: 2rem 0;
        }

        .title-wrapper-with-link {
            align-items: center;
        }

            .title-wrapper-with-link .title {
                margin-bottom: 0;
            }

        .title-wrapper--self-padded-tablet-down {
            padding-left: 0;
            padding-right: 0;
        }
    }

    .title-wrapper-with-link .link-with-icon {
        margin: 0;
        flex-shrink: 0;
        display: flex;
        align-items: center;
    }

        .title-wrapper-with-link .link-with-icon svg {
            width: 1.5rem;
        }

    .title-wrapper-with-link a {
        color: rgb(var(--color-link));
        margin-top: 0;
        flex-shrink: 0;
    }

    @media screen and (min-width: 990px) {
        .title-wrapper-with-link.title-wrapper-with-link--no-heading {
            display: none;
        }
    }

    .subtitle {
        font-size: 1.8rem;
        line-height: 1.8;
        letter-spacing: 0.05rem;
        color: rgba(var(--color-foreground), 0.7);
    }

    /* component-grid */
    .grid {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 2rem;
        margin-left: -0.5rem;
        padding: 0;
        list-style: none;
    }

    @media screen and (min-width: 750px) {
        .grid {
            margin-left: -1rem;
        }
    }

    .grid__item {
        padding-left: 0.5rem;
        padding-bottom: 0.5rem;
        width: calc(25% - 0.5rem * 3 / 4);
        max-width: 50%;
        flex-grow: 1;
        flex-shrink: 0;
    }

    @media screen and (min-width: 750px) {
        .grid__item {
            padding-left: 1rem;
            padding-bottom: 1rem;
            width: calc(25% - 1rem * 3 / 4);
            max-width: 50%;
        }
    }

    .grid--gapless .grid__item {
        padding-left: 0;
        padding-bottom: 0;
    }

    @media screen and (max-width: 749px) {
        .grid__item.slider__slide--full-width {
            width: 100%;
            max-width: none;
        }
    }

    @media screen and (min-width: 750px) and (max-width: 989px) {
        .grid--one-third-max.grid--3-col-tablet .grid__item {
            max-width: 33.33%;
        }
    }

    @media screen and (min-width: 990px) {
        .grid--quarter-max.grid--5-col-desktop .grid__item {
            max-width: 20%;
        }

        .grid--quarter-max.grid--4-col-desktop .grid__item {
            max-width: 25%;
        }
    }

    .grid--1-col .grid__item {
        max-width: 100%;
        width: 100%;
    }

    .grid--3-col .grid__item {
        width: calc(33.33% - 0.5rem * 2 / 3);
    }

    @media screen and (min-width: 750px) {
        .grid--3-col .grid__item {
            width: calc(33.33% - 1rem * 2 / 3);
        }
    }

    .grid--2-col .grid__item {
        width: calc(50% - 0.5rem / 2);
    }

    @media screen and (min-width: 750px) {
        .grid--2-col .grid__item {
            width: calc(50% - 1rem / 2);
        }

        .grid--4-col-tablet .grid__item {
            width: calc(25% - 1rem * 3 / 4);
        }

        .grid--3-col-tablet .grid__item {
            width: calc(33.33% - 1rem * 2 / 3);
        }

        .grid--2-col-tablet .grid__item {
            width: calc(50% - 1rem / 2);
        }
    }

    @media screen and (min-width: 990px) {
        .grid--5-col-desktop .grid__item {
            width: calc(20% - 1rem * 3 / 4);
        }

        .grid--4-col-desktop .grid__item {
            width: calc(25% - 1rem * 3 / 4);
        }

        .grid--3-col-desktop .grid__item {
            width: calc(33.33% - 1rem * 2 / 3);
        }

        .grid--2-col-desktop .grid__item {
            width: calc(50% - 1rem / 2);
        }

        .grid--1-col-desktop .grid__item {
            width: 100%;
        }
    }

    .grid__item--vertical-align {
        align-self: center;
    }

    .grid__item--full-width {
        flex: 0 0 100%;
        max-width: 100%;
    }

    @media screen and (max-width: 749px) {
        .grid--peek.slider--mobile {
            margin: 0;
            width: 100%;
        }

            .grid--peek.slider--mobile .grid__item {
                box-sizing: content-box;
                margin: 0;
            }

        .grid--peek .grid__item {
            width: calc(50% - 3.75rem / 2);
        }

            .grid--peek .grid__item:first-of-type {
                padding-left: 1.5rem;
            }

            .grid--peek .grid__item:last-of-type {
                padding-right: 1.5rem;
            }
    }

    @media screen and (min-width: 750px) and (max-width: 989px) {
        .slider--tablet.grid--peek .grid__item {
            width: calc(25% - 4rem * 3 / 4);
        }

        .slider--tablet.grid--peek.grid--3-col-tablet .grid__item {
            width: calc(33.33% - 4rem * 2 / 3);
        }

        .slider--tablet.grid--peek.grid--2-col-tablet .grid__item {
            width: calc(50% - 4rem / 2);
        }

        .slider--tablet.grid--peek .grid__item:first-of-type {
            padding-left: 1.5rem;
        }

        .slider--tablet.grid--peek .grid__item:last-of-type {
            padding-right: 1.5rem;
        }
    }

    @media screen and (max-width: 989px) {
        .slider--tablet.grid--peek {
            margin: 0;
            width: 100%;
        }

            .slider--tablet.grid--peek .grid__item {
                box-sizing: content-box;
                margin: 0;
            }
    }

    /* component-media */
    .media {
        display: block;
        background-color: rgba(var(--color-foreground), 0.1);
        position: relative;
        overflow: hidden;
    }

    .media--transparent {
        background-color: transparent;
    }

    .media > *:not(.zoom, .deferred-media__poster-button),
    .media model-viewer {
        display: block;
        max-width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
    }

    .media > img {
        object-fit: cover;
        object-position: center center;
        transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }

    .media--square {
        padding-bottom: 100%;
    }

    .media--portrait {
        padding-bottom: 125%;
    }

    .media--landscape {
        padding-bottom: 66.6%;
    }

    .media--cropped {
        padding-bottom: 56%;
    }

    .media--16-9 {
        padding-bottom: 56.25%;
    }

    .media--circle {
        padding-bottom: 100%;
        border-radius: 50%;
    }

    .media.media--hover-effect > img + img {
        opacity: 0;
    }

    @media screen and (min-width: 990px) {
        .media--cropped {
            padding-bottom: 63%;
        }
    }

    deferred-media {
        display: block;
    }

    /* component-button */
    /* Button - default */

    .button,
    .btn,
    .challenge__button,
    .customer button {
        cursor: pointer;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        font: inherit;
        padding: 0.9rem 3rem 1.1rem;
        text-decoration: none;
        border: 0;
        border-radius: 0;
        background-color: rgba(var(--color-button), var(--alpha-button-background));
        box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border));
        color: rgb(var(--color-button-text));
        min-width: 12rem;
        min-height: 4.5rem;
        transition: box-shadow var(--duration-short) ease;
        -webkit-appearance: none;
        appearance: none;
    }

    a {
        color: rgba(var(--color-button), var(--alpha-button-background));
    }

    .button:focus-visible {
        box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)), 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
    }

    .button:focus {
        box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border)), 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
    }

        .button:focus:not(:focus-visible) {
            box-shadow: 0 0 0 0.1rem rgba(var(--color-button), var(--alpha-button-border));
        }

    .button,
    .btn,
    .button-label,
    .challenge__button,
    .customer button {
        font-size: 1.5rem;
        letter-spacing: 0.1rem;
        line-height: 1.2;
    }

    .button--tertiary {
        font-size: 1.2rem;
        padding: 1rem 1.5rem;
        min-width: 9rem;
        min-height: 3.5rem;
    }

    .button--small {
        padding: 1.2rem 2.6rem;
        min-width: 10rem;
        min-height: unset;
    }

    /* Button - hover */

    .button:not([disabled]):hover,
    .challenge__button:hover,
    .customer button:hover {
        box-shadow: 0 0 0 0.2rem rgba(var(--color-button), var(--alpha-button-border));
    }

    /* Button - other */

    .button:disabled,
    .button[aria-disabled='true'],
    .button.disabled,
    .customer button:disabled,
    .customer button[aria-disabled='true'],
    .customer button.disabled {
        cursor: not-allowed;
        opacity: 0.5;
    }

    .button--full-width {
        display: flex;
        width: 100%;
    }

    .btn.loading,
    .btn.btn--loading,
    .button.loading {
        color: transparent;
        pointer-events: none;
    }

        .btn.loading:after,
        .btn.btn--loading:after,
        .button.loading:after {
            animation: loading var(--duration-long) infinite linear;
            border: 0.5rem solid rgba(var(--color-button-text), 0.4);
            border-left: 0.5rem solid rgb(var(--color-button-text));
            border-radius: 100%;
            box-sizing: content-box;
            content: '';
            display: block;
            height: 2rem;
            position: absolute;
            width: 2rem;
        }

    @keyframes loading {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    /* Button - social share */

    .share-button {
        display: block;
        position: relative;
    }

        .share-button details {
            width: fit-content;
        }

    .share-button__button {
        font-size: 1.4rem;
        display: flex;
        min-height: 2.4rem;
        align-items: center;
        color: rgba(var(--color-link), var(--alpha-link));
        margin-left: 0;
        padding-left: 0;
    }

    .share-button_copy-wrapper {
        display: flex;
        width: 100%;
        background: rgba(0,0,0,0.05);
        margin: 5px;
    }

    .social-sharing-icons {
        margin: 8px 8px 0;
    }

        .social-sharing-icons .sharing-icons-label {
            line-height: 1;
            margin-bottom: 8px;
            text-align: left;
        }

        .social-sharing-icons .share-icon-button {
            text-decoration: none;
            color: var(--color-base-text);
            margin: 0 5px;
        }

            .social-sharing-icons .share-icon-button svg {
                width: 2.5rem;
                height: 2.5rem;
            }

    .share-button__button:hover,
    details[open] > .share-button__button {
        color: rgb(var(--color-link));
    }

    details[open] > .share-button__fallback {
        animation: animateMenuOpen var(--duration-default) ease;
    }

    .share-button__button:hover {
        text-decoration: underline;
        text-underline-offset: 0.3rem;
    }

    .share-button__button,
    .share-button__fallback button {
        cursor: pointer;
        background-color: transparent;
        border: none;
    }

        .share-button__button .icon-share {
            margin-right: 1rem;
        }

    .share-button__fallback {
        background: rgb(var(--color-background));
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        position: absolute;
        top: 3rem;
        left: 0.1rem;
        z-index: 6;
        width: 100%;
        min-width: 31rem;
        max-width: 50rem;
        box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.55);
    }

        .share-button__fallback button {
            width: 4.4rem;
            height: 4.4rem;
            padding: 0;
            flex-shrink: 0;
            display: flex;
            justify-content: center;
            align-items: center;
        }

            .share-button__fallback button:hover {
                color: rgba(var(--color-foreground), 0.75);
            }

                .share-button__fallback button:hover svg {
                    transform: scale(1.07);
                }

    .share-button__close:not(.hidden) + .share-button__copy {
        display: none;
    }

    .share-button__close,
    .share-button__copy {
        background-color: transparent;
        color: rgb(var(--color-foreground));
    }

    .share-button__fallback .field__input {
        box-shadow: none;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
    }

    .share-button__fallback .icon {
        width: 1.5rem;
        height: 1.5rem;
    }

    .share-button__message:not(:empty) {
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        margin-top: 0;
        padding: 0.8rem 0 0.8rem 1.5rem;
    }

        .share-button__message:not(:empty):not(.hidden) ~ * {
            display: none;
        }

    /* component-form */
    .field__input,
    .select__select,
    .customer .field input,
    .customer select {
        -webkit-appearance: none;
        appearance: none;
        background-color: transparent;
        border: 0;
        border-radius: 0;
        color: rgb(var(--color-foreground));
        font-size: 1.6rem;
        width: 100%;
        box-shadow: 0 0 0 0.1rem rgba(var(--color-foreground), 0.15), inset 0 2px 3px rgba(0,0,0,0.05);
        height: 4.5rem;
        box-sizing: border-box;
        transition: box-shadow var(--duration-short) ease;
    }

        .field__input.no-float-label {
            padding: 1.2rem 1.5rem !important;
        }

        .field__input:disabled,
        .select__select:disabled,
        .customer .field input:disabled,
        .customer select:disabled {
            color: rgba(var(--color-foreground),0.6);
            background: rgba(0,0,0,0.06);
        }

    .select__select {
        font-family: var(--font-body-family);
        font-style: var(--font-body-style);
        font-weight: var(--font-body-weight);
        font-size: 1.2rem;
        color: rgba(var(--color-foreground), 0.75);
    }

        .field__input:hover,
        .select__select:hover,
        .customer .field input:hover,
        .customer select:hover,
        .localization-form__select:hover {
            box-shadow: 0 0 0 0.2rem rgba(var(--color-foreground), 0.55);
        }

        .field__input:focus,
        .select__select:focus,
        .customer .field input:focus,
        .customer select:focus,
        .localization-form__select:focus {
            box-shadow: 0 0 0 0.2rem rgba(var(--color-foreground), 0.75);
            outline: transparent;
        }

    .text-area,
    .select {
        display: inline-block;
        position: relative;
        width: 100%;
    }

        /* Select */

        .select .icon-caret,
        .customer select + svg {
            height: 0.6rem;
            pointer-events: none;
            position: absolute;
            top: calc(50% - 0.2rem);
            right: 1.5rem;
        }

    .select__select,
    .customer select {
        cursor: pointer;
        line-height: 1.6;
        padding: 0 4rem 0 1.5rem;
    }

    /* Field */

    .field {
        position: relative;
        width: 100%;
        display: flex;
    }

    .customer .field {
        display: block;
    }

    .field--with-error {
        flex-wrap: wrap;
    }

    .field__input,
    .customer .field input {
        flex-grow: 1;
        text-align: left;
        padding: 26px;
    }

    .field__label,
    .customer .field label {
        font-size: 1.6rem;
        left: 1.5rem;
        top: 1rem;
        margin-bottom: 0;
        pointer-events: none;
        position: absolute;
        transition: top var(--duration-short) ease, font-size var(--duration-short) ease;
        color: rgba(var(--color-foreground), 0.55);
        letter-spacing: 0.1rem;
        line-height: 1.5;
    }

    .field__input:focus ~ .field__label,
    .field__input:not(:placeholder-shown) ~ .field__label,
    .field__input:-webkit-autofill ~ .field__label,
    .customer .field input:focus ~ label,
    .customer .field input:not(:placeholder-shown) ~ label,
    .customer .field input:-webkit-autofill ~ label,
    .customer .field.on_focus label,
    .field__input.on_focus ~ .field__label {
        font-size: 1rem;
        top: 0.3em;
        letter-spacing: 0.04rem;
    }

    .customer .field.on_focus select {
        padding-top: 1.4rem;
    }

    .field__input:focus,
    .field__input:not(:placeholder-shown),
    .field__input:-webkit-autofill,
    .customer .field input:focus,
    .customer .field input:not(:placeholder-shown),
    .customer .field input:-webkit-autofill {
        padding: 2.2rem 1.5rem 0.8rem;
    }

    .field__input::-webkit-search-cancel-button,
    .customer .field input::-webkit-search-cancel-button {
        display: none;
    }

    .field__input::placeholder,
    .customer .field input::placeholder {
        opacity: 0;
    }

    .field__button {
        align-items: center;
        background-color: transparent;
        border: 0;
        color: currentColor;
        cursor: pointer;
        display: flex;
        height: 4.4rem;
        justify-content: center;
        overflow: hidden;
        padding: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 4.4rem;
    }

        .field__button > svg {
            height: 2.5rem;
            width: 2.5rem;
        }

    .field__input:-webkit-autofill ~ .field__button,
    .field__input:-webkit-autofill ~ .field__label,
    .customer .field input:-webkit-autofill ~ label {
        color: rgb(0, 0, 0);
    }

    /* Text area */

    .text-area {
        font-family: var(--font-body-family);
        font-style: var(--font-body-style);
        font-weight: var(--font-body-weight);
        padding: 1.2rem;
        min-height: 10rem;
        resize: none;
    }

    .text-area--resize-vertical {
        resize: vertical;
    }

    input[type='checkbox'] {
        display: inline-block;
        width: auto;
        margin-right: 0.5rem;
    }

    /* Form global */

    .form__label {
        display: block;
        margin-bottom: 0.6rem;
    }

    .form__message {
        align-items: center;
        display: flex;
        font-size: 1.4rem;
        line-height: 1;
        margin-top: 1rem;
    }

    .form__message--large {
        font-size: 1.6rem;
    }

    .customer .field .form__message {
        font-size: 1.4rem;
        text-align: left;
    }

    .form__message .icon,
    .customer .form__message svg {
        flex-shrink: 0;
        height: 1.3rem;
        margin-right: 0.5rem;
        width: 1.3rem;
    }

    .form__message--large .icon,
    .customer .form__message svg {
        height: 1.5rem;
        width: 1.5rem;
        margin-right: 1rem;
    }

    .customer .field .form__message svg {
        align-self: start;
    }

    .form-status {
        margin: 0;
        font-size: 1.6rem;
    }

    .form-status-list {
        padding: 0;
        margin: 2rem 0 4rem;
    }

        .form-status-list li {
            list-style-position: inside;
        }

        .form-status-list .link::first-letter {
            text-transform: capitalize;
        }

    /* component-quantity */
    .quantity {
        border: 0.1rem solid rgba(var(--color-base-text), 0.08);
        position: relative;
        height: 4.5rem;
        width: 14rem;
        display: flex;
    }

    .quantity__input {
        color: currentColor;
        font-size: 1.4rem;
        font-weight: 500;
        opacity: 0.85;
        text-align: center;
        background-color: transparent;
        border: 0;
        padding: 0 0.5rem;
        width: 100%;
        flex-grow: 1;
        -webkit-appearance: none;
        appearance: none;
    }

        .quantity__input:disabled {
            color: rgba(var(--color-foreground),0.6);
            background: rgba(0,0,0,0.06);
        }

    .quantity__button {
        width: 4.5rem;
        flex-shrink: 0;
        font-size: 1.8rem;
        border: 0;
        background-color: transparent;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgb(var(--color-foreground));
        padding: 0;
    }

        .quantity__button svg {
            width: 1rem;
            pointer-events: none;
        }

    .quantity__input:-webkit-autofill,
    .quantity__input:-webkit-autofill:hover,
    .quantity__input:-webkit-autofill:active {
        box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
        -webkit-box-shadow: 0 0 0 10rem rgb(var(--color-background)) inset !important;
    }

    .quantity__input::-webkit-outer-spin-button,
    .quantity__input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    .quantity__input[type='number'] {
        -moz-appearance: textfield;
    }

    /* component-modal */
    .modal__toggle {
        list-style-type: none;
    }

    .no-js details[open] .modal__toggle {
        position: absolute;
        z-index: 2;
    }

    .modal__toggle-close {
        display: none;
    }

    .no-js details[open] svg.modal__toggle-close {
        display: flex;
        z-index: 1;
        height: 1.7rem;
        width: 1.7rem;
    }

    .modal__toggle-open {
        display: flex;
    }

    .no-js details[open] .modal__toggle-open {
        display: none;
    }

    .no-js .modal__close-button.link {
        display: none;
    }

    .modal__close-button.link {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0rem;
        height: 4.4rem;
        width: 4.4rem;
        background-color: transparent;
    }

    .modal__close-button .icon {
        width: 1.7rem;
        height: 1.7rem;
    }

    .modal__content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgb(var(--color-background));
        z-index: 1;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .media-modal {
        cursor: zoom-out;
    }

        .media-modal .deferred-media {
            cursor: initial;
        }

    /* component-cart-count-bubble */
    .cart-count-bubble:empty {
        display: none;
    }

    .cart-count-bubble {
        position: absolute;
        background-color: rgb(var(--color-button));
        color: rgb(var(--color-button-text));
        height: 1.7rem;
        min-width: 1.7rem;
        border-radius: 2rem;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 0.9rem;
        bottom: 0.8rem;
        left: 2.2rem;
        line-height: 1.1;
    }

    /* section-announcement-bar */
    #section-announcement-bar {
        z-index: 4;
    }

    .announcement-bar {
        border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
        color: rgb(var(--color-foreground));
    }

    .announcement-bar__link {
        display: block;
        width: 100%;
        padding: 1rem 2rem;
        text-decoration: none;
    }

        .announcement-bar__link:hover {
            color: rgb(var(--color-foreground));
            background-color: rgba(var(--color-card-hover), 0.06);
        }

        .announcement-bar__link .icon-arrow {
            display: inline-block;
            pointer-events: none;
            margin-left: 0.8rem;
            vertical-align: middle;
            margin-bottom: 0.2rem;
        }

        .announcement-bar__link .announcement-bar__message {
            padding: 0;
        }

    .announcement-bar__message {
        text-align: center;
        padding: 1rem 2rem;
        margin: 0;
        letter-spacing: 0.1rem;
    }

    /* section-header */

    /* section-header */
    #easystore-section-header {
        z-index: 3;
    }

    .easystore-section-header-sticky {
        position: sticky;
        top: 0;
    }

    .easystore-section-header-hidden {
        transform: translateY(-100%);
    }

    #easystore-section-header.animate {
        transition: transform 0.15s ease-out;
    }

    /* Main Header Layout */
    .header-wrapper {
        display: block;
        position: relative;
        background-color: rgb(var(--color-background));
        z-index: 3;
    }

    .section-header-sticky {
        position: sticky;
        top: 0;
    }

    .header-wrapper--border-bottom {
        border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
    }

    .header {
        display: grid;
        grid-template-areas: 'left-icon heading icons';
        grid-template-columns: 1fr 2fr 1fr;
        align-items: center;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    @media screen and (min-width: 990px) {
        .header {
            padding-top: 2rem;
            padding-bottom: 2rem;
        }

        .header--has-menu:not(.header--middle-left) {
            padding-bottom: 0;
        }

        .header--top-left {
            grid-template-areas:
                'heading icons'
                'navigation navigation';
            grid-template-columns: 1fr auto;
        }

        .header--middle-left {
            grid-template-areas: 'heading navigation icons';
            grid-template-columns: auto 1fr auto;
            column-gap: 2rem;
        }

        .header--top-center {
            grid-template-areas:
                'left-icon heading icons'
                'navigation navigation navigation'
                '. search .';
        }

        .header--middle-left .header__inline-menu {
            min-width: 45rem;
        }

        .header:not(.header--middle-left) .header__inline-menu {
            margin-top: 1.05rem;
        }
    }

    .header *[tabindex='-1']:focus {
        outline: none;
    }

    .header__heading {
        margin: 0;
        line-height: 0;
    }

    .header > .header__heading-link {
        line-height: 0;
    }

    .header__heading,
    .header__heading-link {
        grid-area: heading;
        justify-self: center;
    }

    .header__heading-link {
        display: inline-block;
        padding: 0.75rem;
        text-decoration: none;
        word-break: break-word;
    }

        .header__heading-link:hover .h2 {
            color: rgb(var(--color-foreground));
        }

        .header__heading-link .h2 {
            line-height: 1;
            color: rgba(var(--color-foreground), 0.75);
        }

    .header__heading-logo {
        height: auto;
        width: var(--logo-width);
        max-width: 100%;
    }

    @media screen and (min-width: 990px) {
        .header__heading-link {
            margin-left: -0.75rem;
        }

        .header__heading,
        .header__heading-link {
            justify-self: start;
        }

        .header--top-center .header__heading-link,
        .header--top-center .header__heading {
            justify-self: center;
        }
    }

    /* Header icons */
    .header__icons {
        display: flex;
        grid-area: icons;
        justify-self: end;
    }

    .header__icon:not(.header__icon--summary),
    .header__icon span {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .header__icon span {
        height: 100%;
    }

    .header__icon::after {
        content: none;
    }

    .header__icon:hover .icon,
    .modal__close-button:hover .icon {
        transform: scale(1.07);
    }

    .header__icon .icon {
        height: 2rem;
        width: 2rem;
        fill: none;
        vertical-align: middle;
    }

    .header__icon,
    .header__icon--cart .icon {
        height: 4.4rem;
        width: 4.4rem;
    }

    .header__icon--cart {
        position: relative;
        margin-right: -1.2rem;
    }

    @media screen and (max-width: 989px) {
        menu-drawer ~ .header__icons .header__icon--account {
            display: none;
        }
    }

    /* Search */
    menu-drawer + .header__search {
        display: none;
    }

    .header > .header__search {
        grid-area: left-icon;
        justify-self: start;
    }

    .header:not(.header--has-menu) * > .header__search {
        display: none;
    }

    .header__search {
        display: inline-flex;
        line-height: 0;
    }

    .header--top-center > .header__search {
        display: none;
    }

    .header--top-center * > .header__search {
        display: inline-flex;
    }

    @media screen and (min-width: 990px) {
        .header:not(.header--top-center) * > .header__search,
        .header--top-center > .header__search {
            display: inline-flex;
        }

        .header:not(.header--top-center) > .header__search,
        .header--top-center * > .header__search {
            /* display: none; */
        }
    }

    .no-js .predictive-search {
        display: none;
    }

    details[open] > .search-modal {
        opacity: 1;
        animation: animateMenuOpen var(--duration-default) ease;
    }

    details[open] .modal-overlay {
        display: block;
    }

        details[open] .modal-overlay::after {
            position: absolute;
            content: '';
            background-color: rgb(var(--color-foreground), 0.5);
            top: 100%;
            left: 0;
            right: 0;
            height: 100vh;
        }

    .no-js details[open] > .header__icon--search {
        top: 1rem;
        right: 0.5rem;
    }

    .search-modal {
        opacity: 0;
        border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
        height: 100%;
    }

    .search-modal__content {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        padding: 0 5rem 0 1rem;
        line-height: 1.8;
    }

    .search-modal__form {
        width: 100%;
    }

    .search-modal__close-button {
        position: absolute;
        right: 0.3rem;
    }

    @media screen and (min-width: 750px) {
        .search-modal__close-button {
            right: 1rem;
        }

        .search-modal__content {
            padding: 0 6rem;
        }
    }

    @media screen and (min-width: 990px) {
        .search-modal__form {
            max-width: 47.8rem;
        }

        .search-modal__close-button {
            position: initial;
            margin-left: 0.5rem;
        }
    }

    /* Header menu drawer */
    .header__icon--menu .icon {
        display: block;
        position: absolute;
        opacity: 1;
        transform: scale(1);
        transition: transform 150ms ease, opacity 150ms ease;
    }

    details:not([open]) > .header__icon--menu .icon-close,
    details[open] > .header__icon--menu .icon-hamburger {
        visibility: hidden;
        opacity: 0;
        transform: scale(0.8);
    }

    .js details[open]:not(.menu-opening) > .header__icon--menu .icon-close {
        visibility: hidden;
    }

    .js details[open]:not(.menu-opening) > .header__icon--menu .icon-hamburger {
        visibility: visible;
        opacity: 1;
        transform: scale(1.07);
    }

    .header__inline-menu details[open] > .header__submenu {
        opacity: 1;
        transform: translateY(0);
        animation: animateMenuOpen var(--duration-default) ease;
    }

    /* Header menu */
    .header__inline-menu {
        margin-left: -1.2rem;
        grid-area: navigation;
        display: none;
    }

    .header--top-center .header__inline-menu,
    .header--top-center .header__heading-link {
        margin-left: 0;
    }

    @media screen and (min-width: 990px) {
        .header__inline-menu {
            display: block;
        }

        .header--top-center .header__inline-menu {
            justify-self: center;
        }

            .header--top-center .header__inline-menu > .list-menu--inline {
                justify-content: center;
            }

        .header--middle-left .header__inline-menu {
            margin-left: 0;
        }
    }

    .header__menu {
        padding: 0 1rem;
    }

    .header__menu-item {
        padding: 1.2rem;
        text-decoration: none;
        color: rgba(var(--color-foreground), 0.75);
    }

        .header__menu-item a {
            color: currentColor;
            text-decoration: none;
        }

        .header__menu-item:hover {
            color: rgb(var(--color-foreground));
        }

        .header__menu-item span {
            transition: text-decoration var(--duration-short) ease;
        }

        .header__menu-item:hover span {
            text-decoration: underline;
            text-underline-offset: 0.3rem;
        }

    .header__active-menu-item {
        transition: text-decoration-thickness var(--duration-short) ease;
        color: rgb(var(--color-foreground));
        text-decoration: underline;
        text-underline-offset: 0.3rem;
    }

    .header__menu-item:hover .header__active-menu-item {
        text-decoration-thickness: 0.2rem;
    }

    .header__submenu {
        transition: opacity var(--duration-default) ease, transform var(--duration-default) ease;
    }

        .header__submenu.list-menu {
            padding: 2rem 0;
        }

        .header__submenu .header__submenu {
            position: absolute;
            top: calc(-0.5rem - 1px);
            left: 100%;
            width: 100%;
            padding: 0.5rem 0;
        }

        .header__submenu .header__menu-item:after {
            right: 2rem;
        }

        .header__submenu .header__menu-item {
            padding: 0.95rem 3.5rem 0.95rem 2rem;
        }

        .header__submenu .header__submenu .header__menu-item {
            padding-left: 3rem;
        }

    .header__menu-item .icon-caret {
        right: 0.8rem;
    }

    .header__submenu .icon-caret {
        right: 2rem;
    }

    details-disclosure > details {
        position: relative;
    }

    @keyframes animateMenuOpen {
        0% {
            opacity: 0;
            transform: translateY(-1.5rem);
        }

        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .overflow-hidden-mobile,
    .overflow-hidden-tablet {
        overflow: hidden;
    }

    @media screen and (min-width: 750px) {
        .overflow-hidden-mobile {
            overflow: auto;
        }
    }

    @media screen and (min-width: 990px) {
        .overflow-hidden-tablet {
            overflow: auto;
        }
    }

    .badge {
        border: 1px solid transparent;
        border-radius: 4rem;
        display: inline-block;
        font-size: 1.2rem;
        letter-spacing: 0.1rem;
        line-height: 1;
        padding: 0.6rem 1.3rem;
        text-align: center;
        background-color: rgb(var(--color-badge-background));
        border-color: rgba(var(--color-badge-border), var(--alpha-badge-border));
        color: rgb(var(--color-foreground));
        word-break: break-word;
    }

        .badge.badge-circle {
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 0.6rem;
            width: 2.34em;
            height: 2.34em;
            box-shadow: 0px 0px 10px -2px rgba(0,0,0,0.1);
        }

    @media screen and (max-width: 749px) {
        .slider-mobile-gutter .badge.badge-circle {
            width: 1.17em;
            height: 1.17em;
        }
    }

    .gradient {
        background: var(--color-background);
        background: var(--gradient-background);
        background-attachment: fixed;
    }

    .select:after {
        content: '';
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' id='icon-caret' viewBox='0 0 10 6'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z' fill='currentColor'%3E%3C/path%3E%3C/svg%3E");
        height: 0.6rem;
        width: 1rem;
        pointer-events: none;
        position: absolute;
        top: calc(50% - 0.2rem);
        right: 1.5rem;
    }

    .text-right {
        text-align: right;
    }

    .text-left {
        text-align: left;
    }

    .text-center {
        text-align: center;
    }

    .splide {
        position: relative;
    }

        .splide .splide__arrow {
            background: rgba(var(--color-button), 0.9);
            width: 3em;
            height: 3em;
        }

            .splide .splide__arrow svg {
                fill: rgb(var(--color-button-text));
            }

            .splide .splide__arrow:disabled {
                display: none;
            }

        .splide .splide__pagination__page.is-active {
            background: rgba(var(--color-button), 0.7);
            transform: scale(1.3);
            border: none;
            box-shadow: none;
        }

        .splide .splide__pagination__page {
            background-color: #fff;
            box-shadow: 0 0 1px rgba(0, 0, 0, 0.1);
            border: 1px solid rgba(0, 0, 0, 0.2);
            opacity: 0.9;
        }

    .splide_pagination-bottom {
        margin-bottom: 10rem;
    }

        .splide_pagination-bottom .splide__pagination {
            bottom: -4rem;
        }

    .splide-index-count {
        position: absolute;
        bottom: 20px;
        right: 20px;
        line-height: 1;
        color: #fff;
        background: rgba(0,0,0,0.5);
        padding: 5px 8px;
        border-radius: 50px;
        letter-spacing: 3px;
        font-size: 12px;
    }


    @media screen and (max-width: 749px) {
        .splide .splide__arrow {
            display: none !important;
        }
    }

    .d-flex {
        display: flex;
    }

    .flex-wrap {
        flex-wrap: wrap;
    }

    .flex-justify-center {
        justify-content: center;
    }

    .flex-space-between {
        justify-content: space-between;
    }

    .flex-align-center {
        align-items: center;
    }

    .flex-shrink-0 {
        flex-shrink: 0;
    }

    .rotate-90 {
        transform: rotate(-90deg);
        -webkit-transform: rotate(-90deg);
    }

    select.currency-picker {
        height: 3.5rem;
    }

    .note {
        margin: 1.5rem 0;
        padding: 1rem 1.5rem;
        background: rgba(0,0,0,0.05);
    }

        .note.form-success {
            background: rgba(145, 245, 150,0.3);
        }

        .note.errors {
            background: rgba(245, 185, 145, 0.3);
            padding-left: 3rem;
        }

    .svg-icon {
        width: 1.2em;
        height: 1.4em;
        vertical-align: middle;
        fill: currentcolor;
        margin-top: -0.2em;
    }

    .collection .title-wrapper-with-link--no-heading {
        justify-content: flex-end;
    }

    img {
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
    }

    .table-wrapper {
        overflow: auto;
    }

        .table-wrapper table {
            min-width: 100%;
            width: auto !important;
        }

    .justify-center {
        justify-content: center;
    }

    /* ==== Flex table ==== */
    .flex-table {
        border: 0.01rem solid rgba(var(--color-foreground), 0.08);
        display: flex;
        flex-direction: column;
    }

    .flex-table-tr {
        padding: 2.2rem;
    }

        .flex-table-tr:not(:last-child) {
            border-bottom: 0.01rem solid rgba(var(--color-foreground), 0.08);
        }

    .transparent {
        opacity: 0 !important;
    }
}
.tab_drawer_heading {
    display : none;
}



/* Tab container styles */
.tabs {
    display: flex;
    border-bottom: 2px solid #ccc;
    font-family: 'Arial', sans-serif;
}

/* Individual tab styles */
.tab {
    padding: 10px 20px;
    cursor: pointer;
    border: 1px solid transparent;
    border-bottom: none;
    background: #f9f9f9;
    font-size: 16px;
    transition: background 0.3s, color 0.3s;
}

    .tab:hover {
        background: #eaeaea;
    }

    /* Active tab styles */
    .tab.active {
        font-weight: bold;
        color: #333;
        background: #fff;
        border-color: #ccc;
        border-bottom: 2px solid white;
    }

/* Tab content styles */
.tab-content {
    border-top: none;
     font-size: 14px;
    line-height: 1.5;
    border: none;
}

    /* Add optional styling for headings inside content */
    .tab-content h3 {
        font-size: 18px;
        margin-bottom: 10px;
        color: #444;
    }
h1,
h2,
h3,
h4,
h5,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5 {
/*    font-family: var(--font-heading-family);
*/    font-style: var(--font-heading-style);
    font-weight: var(--font-heading-weight);
    letter-spacing: 0.06rem;
    color: rgb(var(--color-foreground));
    line-height: 1.3;
}

.promo-container {
    border-radius: 8px;
    padding: 16px;
    max-width: 500px;
    margin: auto;
    font-family: Arial, sans-serif;
}

.promo-flex {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.promo-image img {
    max-width: 120px;
    border-radius: 6px;
}

.promo-content {
    flex: 1;
}

.promo-label {
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.promo-qty-adjust {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.qty-btn {
    padding: 4px 8px;
    font-size: 16px;
    cursor: pointer;
}

.qty-input {
    width: 50px;
    text-align: center;
    padding: 4px;
}

.promo-price {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.promo-button {
    background-color: #e60000;
    color: white;
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
}


/* Mobile-first styles (default) */
/*#ProductPhoto-track {
    height: 400px;
}*/

#zmimage,
#zmimage2 {
    /*height: 300px;*/
}

/* Desktop and larger screens */
@media screen and (min-width: 480px) {
    .product__media-wrapper .slider-component .splide__slide img {
        display: block;
        width: auto;
        max-width: 100%;
        max-height: 100%;
        margin: 0 auto;
        width: auto;
    }

    .page-width {
        padding: 12px;
    }
}


@media screen and (max-width: 749px) {
    .splide .splide__arrow {
        display: none !important;
    }

 
}

/* Desktop and larger screens */
@media screen and (min-width: 1024px) {
    #ProductPhoto-track {
        height: auto;
    }

    #zmimage,
    #zmimage2 {
        height: 500px;
    }

    .spaced-section {
        margin-top: 5px;
    }


}


@media screen and (min-width: 480px) {
    .cart__ctas button {
        width: 100%;
    }
}

@media screen and (min-width: 1024px) {
    .cart__ctas button {
        width: 80%;
    }


}

.promotions-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
    position: relative;
    font-family: 'Segoe UI', Roboto, sans-serif;
    overflow: hidden;
}

.promotions-title {
    text-align: center;
    margin-bottom: 0.75rem;
    letter-spacing: -0.5px;
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    font-size: 2.5rem;
    color: #2d3436;
}

.promotions-subtitle {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.6;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    color: #636e72;
    margin-bottom: 2rem;
}

.slider-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.slider-track {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

@media (min-width: 1025px) {
    .slide-wrapper {
        display: flex;
        flex: 0 0 100%;
        gap: 1.5rem;
        justify-content: center;
        min-width: 0;
        padding: 0 1rem;
    }

    .slide-item {
        flex: 0 0 calc(33.333% - 1rem);
        max-width: calc(33.333% - 1rem);
        min-width: 0;
        position: relative;
        box-shadow: 5px 5px 10px 0px rgba(0,0,0,.35);
        border-radius: 10px;
        overflow: hidden;
        background: white;
    }

        .slide-item img {
            width: 100%;
            height: 220px;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .slide-item:hover img {
            transform: scale(1.05);
        }
}

@media (max-width: 1024px) {
    .slide-wrapper {
        display: flex;
        flex: 0 0 100%;
        justify-content: center;
        padding: 1rem 3rem;
    }

    .slide-item {
        flex: 0 0 100%;
        max-width: 100%;
        position: relative;
        box-shadow: 5px 5px 10px 0px rgba(0,0,0,.35);
        border-radius: 10px;
        overflow: hidden;
        background: white;
    }

        .slide-item img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            transition: transform 0.5s ease;
        }
}

.slider-nav {
    position: absolute;
    top: 50%;
    width: calc(100% - 4rem);
    left: 2rem;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    z-index: 10;
}

    .slider-nav button {
        pointer-events: all;
        background: white;
        border: none;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 20px rgba(0,0,0,0.15);
        cursor: pointer;
        transition: all 0.3s ease;
    }

        .slider-nav button:hover {
            transform: scale(1.1);
            background: #e74c3c;
        }

            .slider-nav button:hover svg {
                stroke: white;
            }

        .slider-nav button svg {
            width: 24px;
            height: 24px;
            stroke: #e74c3c;
            stroke-width: 2;
        }

.dots-container {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 1.5rem;
    padding: 0.5rem;
}

.dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background-color: #dfe6e9;
    cursor: pointer;
    transition: all 0.3s ease;
}

    .dot.active {
        background-color: #e74c3c;
        transform: scale(1.2);
    }

.promotion-description-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0,0,0,0.8));
    padding: 2rem 1rem 1rem;
    color: white;
}

.promotion-description {
    margin: 0;
    font-size: 14px;
    text-align: center;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
    line-height: 1.4;
}

.hide-controls .slider-nav,
.hide-controls .dots-container {
    display: none !important;
}

@media (max-width: 768px) {
    .slider-nav button {
        display: none;
    }

    .promotions-container {
        padding: 1rem;
    }

    .slide-wrapper {
        padding: 1rem 2rem;
    }

    .promotion-description-wrapper {
        padding: 1.5rem 0.75rem 0.75rem;
    }

    .promotion-description {
        font-size: 13px;
    }

    .promotions-title {
        font-size: 2rem;
    }

    .promotions-subtitle {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    .slide-wrapper {
        padding: 1rem;
    }

    .slide-item img {
        height: 180px;
    }

    .promotion-description {
        font-size: 12px;
    }

    .promotions-title {
        font-size: 1.8rem;
    }

    .promotions-subtitle {
        font-size: 1.1rem;
    }
}