.block-product-card .product-card-style--card {
    background-color: rgb(var(--color-background));
}

.block-product-card__layer-image-wrapper {
    position: relative;
    display: flex;
    width: 100%;
    padding: var(--padding);
    overflow: hidden;
}

@media (min-width: 969px) {
    .block-product-card__layer-image-wrapper.hover:hover .block-product-card__image:nth-of-type(1) {
        opacity: 0;
    }

    .block-product-card__layer-image-wrapper.hover:hover .block-product-card__image:nth-of-type(2) {
        opacity: 1;
    }
}

.block-product-card__image-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    aspect-ratio: var(--aspect-ratio);
    overflow: hidden;    
    border-radius: var(--border-radius);
}

.block-product-card__image-wrapper>svg {
    width: 100%;
    height: 100%;
}

.block-product-card__image-wrapper>.block-product-card__image {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: var(--fit-type);
    transition: opacity 1s;
}

.block-product-card__image-wrapper>.block-product-card__image:nth-of-type(1) {
    opacity: 1;
}

.block-product-card__image-wrapper>.block-product-card__image:nth-of-type(2) {
    opacity: 0;
}

.block-product-card__layer-wrapper {
    position: absolute;
    inset: 0;
}

.block-product-card__quick-add {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    cursor: pointer;
    background-color: rgb(0 0 0 / 40%);
    border: 0;
    border-radius: 50%;
}

.block-product-card__quick-add:hover {
    background-color: rgb(0 0 0 / 60%);
}

.block-product-card__quick-add svg {
    width: 100%;
    height: 100%;
}

@media (max-width: 959px) {
    .block-product-card__quick-add {
        width: 24px;
        height: 24px;
    }
}

.block-product-card__quick-add .icon-loading {
    display: none;
    margin: 8px;
    color: rgb(255 255 255 / 100%);
    animation: animation-button-loading linear 1.5s infinite;
}

.block-product-card__quick-add.loading {
    pointer-events: none;
    background-color:var(--color-grey);
}

.block-product-card__quick-add.loading .quick-add-icon {
    display: none;
}

.block-product-card__quick-add.loading .icon-loading {
    display: block;
}


.block-product-card__quick-add.loading .quick-add-text {
    visibility: hidden;
}

.block-product-card__modal-content {
    position: relative;
    width: 80vw;
    max-width: 1200px;
    max-height: 80vh;
    overflow-y: auto;
    /* The fetched product page's own markup/scripts land here verbatim and
       can carry their own positioned, z-indexed elements (gallery controls,
       sticky buy bar, etc.). isolation:isolate traps all of that inside its
       own stacking context so nothing it contains can render above the
       modal's close button, which sits outside this element as a sibling. */
    isolation: isolate;
}

.block-product-card__modal-content .breadcrumb {display:none;}

@media (max-width: 959px) {
    .block-product-card__modal-content {
        width: 100%;
    }
}

.block-product-card__modal-content .quick-add-hidden {
    display: none;
}

.block-product-card__modal-content theme-product-detail {
    --page-padding: 40px;
    --detail-padding-inline-start: 0px !important;
    --detail-padding-inline-end: 0px !important;
    --detail-padding-block-start: 0px !important;
    --detail-padding-block-end: 0px !important;

    padding: var(--page-padding);
}

.block-product-card__modal-close {
    position: absolute;
    inset-block-start: 10px;
    inset-inline-end: 15px;
    z-index: 20;
    pointer-events: auto;
    color: var(--color-body);
    background: white;
}

.block-product-card__title.product-card-style--card {
    padding-inline: 8px;
}

.block-product-card__price.product-card-style--card {
    padding-inline: 8px;
}

.block-product-card__discount-tag {
    padding: 4px 12px;
    color: rgb(255 255 255 / 100%);
    background-color: rgb(227 38 25 / 100%);
    border-radius: var(--product-discount-radius);
}

.block-product-card__sold-out {
    padding: 4px 12px;
    color: rgb(0 0 0 / 100%);
    background-color: rgb(255 255 255 / 100%);
    border-radius: var(--product-discount-radius);
}

.av-collection .block-product-card__title .title-text ,
.block-product-card__title .title-text {
    text-transform: uppercase;
    font-family: var(--font-family-sans);
    font-size: var(--font-size-xs);
    line-height:var(--line-height-default);
    font-weight: var(--font-weight-medium);
    color: var(--color-body);
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-inline-end: 0;
    text-overflow: ellipsis;
    min-height:40px;
}





.av-collection .block-product-card__price,
.block-product-card__price,
.av-collection .block-product-card__price,
.block-product-card__price {
    font-family: var(--font-family-sans);
    font-size: var(--font-size-s) !important;
    font-weight: var(--font-weight-medium) !important;
    color: var(--color-price) !important;    
}

.av-view-btn {
    width: 42px;
    height: 32px;
    padding: 1px 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    cursor: pointer;
}

.av-view-btn svg rect {
    fill: none;
    stroke: #9a9a9a;
    stroke-width: 1;
}

.av-view-btn--active {
    background: #f7f7f7;
}

.av-view-btn--active svg rect {
    stroke: #000;
}

.title-price-container {
    width: 100%;
}

.av-product-item .block-product-card>a,
.block-product-list .block-product-card>a {
    position: relative;
    padding: var(--size-12);
}

.av-product-item .block-product-card__layer-image-wrapper,
.block-product-card__layer-image-wrapper {
    position: static;
    overflow: visible;
}

.quick-add-icon {width:20px;height:20px;}

product-item theme-product-form .block-product-card__quick-add, product-item theme-quick-add-modal .block-product-card__quick-add {pointer-events: auto;width: 40px;height: 40px;background: transparent;border: none;
    border-radius: 0;color: var(--color-body);display: flex;align-items: center;justify-content: center;cursor: pointer;
    transition: all var(--motion-ease-in) var(--speed-slow), color 0.3s ease-in-out;}
product-item .block-product-card__quick-add svg {width: 20px;height: 20px;color: inherit;}
product-item .block-product-card__quick-add::before {display:none;}
product-item .block-product-card__quick-add:hover {background: var(--color-body);color: white;}

.sold-out {opacity:0.8;}
.sold-out-badge {position: absolute;
    z-index: 1000;background-color: var(--color-grey);display: inline-block;
    font-size: var(--font-size-xxs);color: var(--color-darkbody);padding: var(--size-4);
    top: 0;opacity: 0.5;transform: translatex(-50%);left: 50%;}


@media (max-width: 967px) {
    .block-product-card__sold-out {
        padding: 2px 8px;
    }
    .block-product-card__discount-tag {
        padding: 2px 8px;
    }

    .block-product-card__modal-content theme-product-detail {
        --page-padding: 20px;
    }
    
    .block-product-card__modal-content theme-product-detail theme-product-media-gallery[data-mobile-layout="fullscreen"] {
        margin-block-start: calc(-1 * var(--page-padding));
    }

    .av-product-item .block-product-card > a, .block-product-list .block-product-card > a {padding: 0;}
    .av-collection .block-product-card__title .title-text,
        .block-product-card__title .title-text {font-size: var(--font-size-xs);min-height:30px;margin-bottom:var(--size-8);}
    .av-collection__list {--column-gap: var(--size-8);gap:var(--column-gap);row-gap:var(--size-24);}
}

@media (max-width:758px) {
    .title-price-container {width: 100%;margin-top: var(--size-8);}
    .block-product-card__title {text-align:center;}
        product-item theme-product-form .block-product-card__quick-add,
        product-item theme-quick-add-modal .block-product-card__quick-add {
            position: relative;
            width: auto;
            height: 42px;
            border: 1px solid var(--color-body);
            padding: var(--size-8) var(--size-12);
            min-width:145px;
        }

        /* Keep the button's width locked to the (still laid-out) text while
           loading, instead of shrinking to fit the icon-only content. */
        product-item theme-product-form .block-product-card__quick-add.loading .quick-add-text,
        product-item theme-quick-add-modal .block-product-card__quick-add.loading .quick-add-text {
            visibility: hidden;display:none;
        }
        /*product-item theme-product-form .block-product-card__quick-add.loading .loading--rotator,
        product-item theme-quick-add-modal .block-product-card__quick-add.loading .loading--rotator {
        }*/

        .block-product-card__price.product-card-style--normal {
            text-align: center;
        }

        .title-price-container .title-container {min-height: 70px;}
        .quick-add-container {}
}