/* =========================================================
   FLEXI COMMERCE
   PRODUCT COMPONENTS
   PREMIUM PRODUCT CARD SYSTEM
========================================================= */


/* =========================================================
   ROOT / BOX MODEL
========================================================= */

.fc-product-card,
.fc-product-card *,
.fc-product-card *::before,
.fc-product-card *::after {
    box-sizing: border-box;
}


/* =========================================================
   PRODUCT CARD
========================================================= */

.fc-product-card {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: 260px !important;

    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;

    margin: 0 auto !important;
    padding: 0 !important;

    overflow: hidden !important;

    background: #ffffff !important;

    border: 1px solid #e1ebe5 !important;
    border-radius: 18px !important;

    box-shadow:
        0 7px 24px rgba(7, 55, 39, .07) !important;

    transition:
        transform .35s cubic-bezier(.22, 1, .36, 1),
        box-shadow .35s ease,
        border-color .35s ease !important;
}


.fc-product-card:hover {
    transform: translateY(-5px) !important;

    border-color: #cbded4 !important;

    box-shadow:
        0 18px 40px rgba(7, 55, 39, .13) !important;
}


/* =========================================================
   PRODUCT IMAGE AREA
========================================================= */

.fc-product-card-image-wrap {
    position: relative !important;

    display: block !important;

    width: 100% !important;

    height: 245px !important;
    min-height: 245px !important;
    max-height: 245px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    background:
        linear-gradient(
            145deg,
            #f8faf8 0%,
            #eef5f1 100%
        ) !important;
}


.fc-product-card-image-link {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    text-decoration: none !important;
}


/*
 * IMPORTANT:
 * Product image will NEVER be cropped.
 * Entire product image remains visible.
 */

.fc-product-card-image {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
    object-position: center center !important;

    border: 0 !important;
    outline: 0 !important;

    background: transparent !important;

    transition:
        transform .55s cubic-bezier(.22, 1, .36, 1) !important;
}


/* =========================================================
   IMAGE HOVER
========================================================= */

.fc-product-card:hover .fc-product-card-image {
    transform: scale(1.035) !important;
}


/* =========================================================
   IMAGE SOFT BOTTOM LIGHT
========================================================= */

.fc-product-card-image-wrap::after {
    content: "" !important;

    position: absolute !important;

    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    height: 55px !important;

    pointer-events: none !important;

    background:
        linear-gradient(
            to top,
            rgba(5, 45, 33, .07),
            transparent
        ) !important;

    z-index: 2 !important;
}


/* =========================================================
   SALE BADGE
========================================================= */

.fc-product-card-sale {
    position: absolute !important;

    top: 12px !important;
    left: 12px !important;

    z-index: 8 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 26px !important;

    margin: 0 !important;
    padding: 5px 9px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #176a4b !important;
    color: #ffffff !important;

    font-family: inherit !important;

    font-size: 9px !important;
    font-weight: 800 !important;

    line-height: 1 !important;

    letter-spacing: .07em !important;

    text-transform: uppercase !important;

    box-shadow:
        0 5px 14px rgba(23, 106, 75, .20) !important;
}


/* =========================================================
   WISHLIST
========================================================= */

.fc-product-card-wishlist {
    position: absolute !important;

    top: 11px !important;
    right: 11px !important;

    z-index: 10 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 40px !important;
    height: 40px !important;

    min-width: 40px !important;
    min-height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    border:
        1px solid rgba(255, 255, 255, .9) !important;

    border-radius: 50% !important;

    background:
        rgba(255, 255, 255, .95) !important;

    color: #176a4b !important;

    box-shadow:
        0 7px 20px rgba(0, 0, 0, .11) !important;

    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;

    cursor: pointer !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    transition:
        transform .25s ease,
        background-color .25s ease,
        color .25s ease,
        box-shadow .25s ease !important;
}


.fc-product-card-wishlist:hover {
    transform: scale(1.08) !important;

    background: #ffffff !important;

    color: #0b5138 !important;

    box-shadow:
        0 9px 24px rgba(0, 0, 0, .15) !important;
}


.fc-product-card-wishlist svg {
    display: block !important;

    width: 19px !important;
    height: 19px !important;

    margin: 0 !important;
    padding: 0 !important;

    fill: none !important;

    stroke: currentColor !important;

    stroke-width: 1.8 !important;

    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}


.fc-product-card-wishlist.is-active {
    background: #176a4b !important;
    color: #ffffff !important;
}


/* =========================================================
   CARD BODY
========================================================= */

.fc-product-card-body {
    position: relative !important;

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;

    min-height: 0 !important;
    height: auto !important;

    margin: 0 !important;

    padding:
        13px 14px 14px !important;

    background: #ffffff !important;
}


/* =========================================================
   CATEGORY
========================================================= */

.fc-product-card-category {
    display: block !important;

    width: 100% !important;

    margin:
        0 0 5px !important;

    padding: 0 !important;

    overflow: hidden !important;

    color: #71837b !important;

    font-family: inherit !important;

    font-size: 9px !important;
    font-weight: 800 !important;

    line-height: 1.3 !important;

    letter-spacing: .08em !important;

    text-transform: uppercase !important;

    text-decoration: none !important;

    white-space: nowrap !important;

    text-overflow: ellipsis !important;
}


.fc-product-card-category:hover {
    color: #176a4b !important;
}


/* =========================================================
   PRODUCT NAME
========================================================= */

.fc-product-card-title {
    display: -webkit-box !important;

    width: 100% !important;

    min-height: 0 !important;
    max-height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    color: #17372a !important;

    font-family: inherit !important;

    font-size: 15px !important;
    font-weight: 750 !important;

    line-height: 1.3 !important;

    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}


.fc-product-card-title a {
    display: -webkit-box !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    color: #17372a !important;

    font: inherit !important;

    line-height: inherit !important;

    text-decoration: none !important;

    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}


.fc-product-card-title a:hover {
    color: #176a4b !important;
}


/* =========================================================
   RATING / NEWLY LAUNCHED
========================================================= */

.fc-product-card-rating {
    display: flex !important;
    align-items: center !important;

    width: 100% !important;

    min-height: 20px !important;

    margin:
        6px 0 0 !important;

    padding: 0 !important;

    gap: 4px !important;
}


.fc-card-stars {
    display: inline-flex !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #f4a928 !important;

    font-size: 11px !important;

    line-height: 1 !important;

    letter-spacing: .7px !important;
}


.fc-card-rating-number {
    color: #536960 !important;

    font-size: 10px !important;
    font-weight: 700 !important;

    line-height: 1 !important;
}


.fc-card-review-count {
    color: #899790 !important;

    font-size: 10px !important;

    line-height: 1 !important;
}


.fc-card-new-label {
    display: inline-flex !important;
    align-items: center !important;

    min-height: 20px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #23815d !important;

    font-size: 10px !important;
    font-weight: 750 !important;

    line-height: 1 !important;
}


/* =========================================================
   PRICE
========================================================= */

.fc-product-card-price {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;

    width: 100% !important;

    min-height: 29px !important;

    margin:
        8px 0 0 !important;

    padding: 0 !important;

    gap: 6px !important;
}


.fc-card-regular-price {
    margin: 0 !important;
    padding: 0 !important;

    color: #909b95 !important;

    font-size: 10px !important;
    font-weight: 500 !important;

    line-height: 1.2 !important;

    text-decoration: line-through !important;
}


.fc-card-sale-price {
    margin: 0 !important;
    padding: 0 !important;

    color: #123d2d !important;

    font-size: 18px !important;
    font-weight: 800 !important;

    line-height: 1.2 !important;
}


.fc-card-discount {
    display: inline-flex !important;
    align-items: center !important;

    min-height: 20px !important;

    margin: 0 !important;

    padding:
        4px 6px !important;

    border: 0 !important;
    border-radius: 5px !important;

    background: #edf7f1 !important;
    color: #176a4b !important;

    font-size: 8px !important;
    font-weight: 800 !important;

    line-height: 1 !important;

    white-space: nowrap !important;
}


/* =========================================================
   ACTION AREA
========================================================= */

.fc-product-card-actions {
    display: flex !important;

    width: 100% !important;

    margin:
        11px 0 0 !important;

    padding: 0 !important;
}


/* =========================================================
   ADD TO CART
========================================================= */

.fc-product-card-add {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;

    min-height: 40px !important;
    height: 40px !important;

    margin: 0 !important;

    padding:
        0 12px !important;

    border:
        1px solid #176a4b !important;

    border-radius: 9px !important;

    outline: none !important;

    background:
        #176a4b !important;

    background-image: none !important;

    color: #ffffff !important;

    font-family: inherit !important;

    font-size: 12px !important;
    font-weight: 750 !important;

    line-height: 1 !important;

    text-align: center !important;

    text-decoration: none !important;

    cursor: pointer !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    box-shadow: none !important;

    transition:
        transform .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease !important;
}


.fc-product-card-add:hover {
    background:
        #0b5138 !important;

    background-image: none !important;

    border-color:
        #0b5138 !important;

    color:
        #ffffff !important;

    box-shadow:
        0 8px 20px rgba(23, 106, 75, .20) !important;

    transform:
        translateY(-1px) !important;
}


.fc-product-card-add:focus,
.fc-product-card-add:focus-visible {
    outline:
        2px solid rgba(23, 106, 75, .25) !important;

    outline-offset:
        2px !important;
}


.fc-product-card-add:active {
    transform:
        scale(.98) !important;
}


.fc-product-card-add.is-loading {
    opacity: .72 !important;

    cursor: wait !important;

    pointer-events: none !important;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.fc-product-grid {
    display: grid !important;

    width: 100% !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 24px !important;

    align-items: start !important;
}


.fc-product-grid .fc-product-card {
    width: 100% !important;

    max-width: none !important;

    margin:
        0 auto !important;
}


/* =========================================================
   PRODUCT SLIDER
========================================================= */

.fc-product-slider {
    position: relative !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


.fc-product-slider-track {
    display: flex !important;

    width: 100% !important;

    gap: 22px !important;

    margin: 0 !important;

    padding:
        5px 2px 15px !important;

    overflow-x: auto !important;

    scroll-behavior: smooth !important;

    scrollbar-width: none !important;

    -webkit-overflow-scrolling:
        touch !important;
}


.fc-product-slider-track::-webkit-scrollbar {
    display: none !important;
}


.fc-product-slide {
    flex:
        0 0 calc(
            (100% - 66px) / 4
        ) !important;

    width:
        calc(
            (100% - 66px) / 4
        ) !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


.fc-product-slide .fc-product-card {
    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;
}


/* =========================================================
   SLIDER ARROWS
========================================================= */

.fc-product-slider-arrow,
.fc-category-slider-arrow {
    position: absolute !important;

    top: 50% !important;

    z-index: 20 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    border:
        1px solid #dce8e1 !important;

    border-radius: 50% !important;

    background:
        #ffffff !important;

    color:
        #176a4b !important;

    font-size: 17px !important;

    line-height: 1 !important;

    cursor: pointer !important;

    box-shadow:
        0 8px 24px rgba(0, 0, 0, .11) !important;

    transform:
        translateY(-50%) !important;

    appearance: none !important;
    -webkit-appearance: none !important;
}


.fc-product-slider-arrow:hover,
.fc-category-slider-arrow:hover {
    background:
        #176a4b !important;

    border-color:
        #176a4b !important;

    color:
        #ffffff !important;
}


.fc-product-slider-arrow.prev,
.fc-category-slider-arrow.prev {
    left:
        -18px !important;
}


.fc-product-slider-arrow.next,
.fc-category-slider-arrow.next {
    right:
        -18px !important;
}


/* =========================================================
   CATEGORY SLIDER
========================================================= */

.fc-category-slider {
    position: relative !important;

    width: 100% !important;
}


.fc-category-slider-track {
    display: flex !important;

    width: 100% !important;

    gap: 20px !important;

    margin: 0 !important;

    padding:
        4px 2px 14px !important;

    overflow-x: auto !important;

    scroll-behavior: smooth !important;

    scrollbar-width: none !important;
}


.fc-category-slider-track::-webkit-scrollbar {
    display: none !important;
}


.fc-category-card {
    position: relative !important;

    display: block !important;

    flex:
        0 0 220px !important;

    width: 220px !important;
    height: 220px !important;

    min-width: 220px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;

    border-radius:
        20px !important;

    background:
        #edf7f1 !important;

    text-decoration:
        none !important;
}


.fc-category-card img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit:
        cover !important;

    transition:
        transform .55s cubic-bezier(.22, 1, .36, 1) !important;
}


.fc-category-card:hover img {
    transform:
        scale(1.06) !important;
}


.fc-category-card::after {
    content: "" !important;

    position: absolute !important;

    inset: 0 !important;

    background:
        linear-gradient(
            to top,
            rgba(5, 45, 33, .72),
            rgba(5, 45, 33, 0) 58%
        ) !important;

    pointer-events: none !important;
}


.fc-category-card span {
    position: absolute !important;

    left: 15px !important;
    right: 15px !important;
    bottom: 15px !important;

    z-index: 3 !important;

    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 750 !important;

    line-height: 1.3 !important;

    text-decoration:
        none !important;
}


/* =========================================================
   EMPTY STATE
========================================================= */

.fc-product-components-empty,
.fc-product-search-empty {
    width: 100% !important;

    margin:
        20px 0 !important;

    padding:
        35px 20px !important;

    border:
        1px solid #e1ebe5 !important;

    border-radius:
        16px !important;

    background:
        #f8fbf9 !important;

    color:
        #73827b !important;

    text-align:
        center !important;

    font-size:
        14px !important;
}


/* =========================================================
   SEARCH RESULTS
========================================================= */

.fc-product-search-results {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


.fc-product-search-heading {
    margin:
        0 0 28px !important;

    padding: 0 !important;
}


.fc-product-search-heading > span {
    display: block !important;

    margin:
        0 0 7px !important;

    color:
        #71837b !important;

    font-size:
        11px !important;

    font-weight:
        800 !important;

    letter-spacing:
        .1em !important;

    text-transform:
        uppercase !important;
}


.fc-product-search-heading h1 {
    margin: 0 !important;
    padding: 0 !important;

    color:
        #17372a !important;

    font-size:
        30px !important;

    font-weight:
        750 !important;

    line-height:
        1.2 !important;
}


/* =========================================================
   FLYING CART IMAGE
========================================================= */

.fc-component-flying-cart-image {
    position: fixed !important;

    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: contain !important;

    margin: 0 !important;
    padding: 0 !important;

    border:
        2px solid #ffffff !important;

    border-radius:
        15px !important;

    background:
        #ffffff !important;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, .25),
        0 5px 15px rgba(0, 0, 0, .12) !important;

    pointer-events:
        none !important;

    z-index:
        2147483647 !important;

    will-change:
        transform,
        opacity !important;

    transition:
        transform 850ms cubic-bezier(.22, 1, .36, 1),
        opacity 850ms ease !important;

    transform-origin:
        center center !important;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 1100px) {

    .fc-product-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        gap:
            20px !important;
    }


    .fc-product-slide {
        flex-basis:
            calc(
                (100% - 44px) / 3
            ) !important;

        width:
            calc(
                (100% - 44px) / 3
            ) !important;
    }
}


/* =========================================================
   MOBILE
   TWO PRODUCTS PER ROW
========================================================= */

@media screen and (max-width: 760px) {

    /*
     * Always 2 products side by side.
     */

    .fc-product-grid {
        display: grid !important;

        width: 100% !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            10px !important;

        align-items:
            start !important;
    }


    /*
     * Grid card fills only its own half.
     */

    .fc-product-grid .fc-product-card {
        width: 100% !important;

        max-width: none !important;

        min-width: 0 !important;

        margin: 0 !important;

        border-radius:
            14px !important;
    }


    /*
     * MOBILE IMAGE:
     * Entire image visible.
     * No crop.
     */

    .fc-product-card-image-wrap {
        width: 100% !important;

        height: auto !important;

        min-height: 0 !important;

        max-height: none !important;

        aspect-ratio:
            1 / 1 !important;

        overflow:
            hidden !important;
    }


    .fc-product-card-image-link {
        display: flex !important;

        align-items:
            center !important;

        justify-content:
            center !important;

        width: 100% !important;

        height: 100% !important;
    }


    .fc-product-card-image {
        width: 100% !important;

        height: 100% !important;

        object-fit:
            contain !important;

        object-position:
            center center !important;

        transform:
            none !important;
    }


    .fc-product-card:hover .fc-product-card-image {
        transform:
            scale(1.025) !important;
    }


    /* ---------------------------------------------
       MOBILE BODY
    --------------------------------------------- */

    .fc-product-card-body {
        padding:
            9px 9px 10px !important;
    }


    /* ---------------------------------------------
       CATEGORY
    --------------------------------------------- */

    .fc-product-card-category {
        margin:
            0 0 4px !important;

        font-size:
            7.5px !important;

        letter-spacing:
            .06em !important;

        line-height:
            1.25 !important;
    }


    /* ---------------------------------------------
       PRODUCT NAME
    --------------------------------------------- */

    .fc-product-card-title {
        font-size:
            12.5px !important;

        line-height:
            1.28 !important;

        max-height:
            32px !important;

        -webkit-line-clamp:
            2 !important;
    }


    /* ---------------------------------------------
       RATING
    --------------------------------------------- */

    .fc-product-card-rating {
        min-height:
            17px !important;

        margin-top:
            4px !important;

        gap:
            3px !important;
    }


    .fc-card-stars {
        font-size:
            8.5px !important;

        letter-spacing:
            .4px !important;
    }


    .fc-card-rating-number,
    .fc-card-review-count,
    .fc-card-new-label {
        font-size:
            8.5px !important;
    }


    /* ---------------------------------------------
       PRICE
    --------------------------------------------- */

    .fc-product-card-price {
        min-height:
            24px !important;

        margin-top:
            5px !important;

        gap:
            4px !important;
    }


    .fc-card-regular-price {
        font-size:
            8.5px !important;
    }


    .fc-card-sale-price {
        font-size:
            14px !important;
    }


    .fc-card-discount {
        min-height:
            17px !important;

        padding:
            3px 4px !important;

        border-radius:
            4px !important;

        font-size:
            6.5px !important;
    }


    /* ---------------------------------------------
       ADD TO CART
    --------------------------------------------- */

    .fc-product-card-actions {
        margin-top:
            7px !important;
    }


    .fc-product-card-add {
        min-height:
            34px !important;

        height:
            34px !important;

        padding:
            0 5px !important;

        border-radius:
            8px !important;

        font-size:
            9.5px !important;
    }


    /* ---------------------------------------------
       SALE BADGE
    --------------------------------------------- */

    .fc-product-card-sale {
        top:
            7px !important;

        left:
            7px !important;

        min-height:
            20px !important;

        padding:
            4px 6px !important;

        font-size:
            6.5px !important;
    }


    /* ---------------------------------------------
       WISHLIST
    --------------------------------------------- */

    .fc-product-card-wishlist {
        top:
            6px !important;

        right:
            6px !important;

        width:
            31px !important;

        height:
            31px !important;

        min-width:
            31px !important;

        min-height:
            31px !important;
    }


    .fc-product-card-wishlist svg {
        width:
            15px !important;

        height:
            15px !important;
    }


    /* ---------------------------------------------
       MOBILE PRODUCT SLIDER
       2 PRODUCTS VISIBLE
    --------------------------------------------- */

    .fc-product-slide {
        flex:
            0 0 calc(
                (100% - 10px) / 2
            ) !important;

        width:
            calc(
                (100% - 10px) / 2
            ) !important;

        min-width:
            0 !important;
    }


    .fc-product-slide .fc-product-card {
        width:
            100% !important;

        max-width:
            none !important;

        margin:
            0 !important;
    }


    /* ---------------------------------------------
       MOBILE SLIDER ARROWS
    --------------------------------------------- */

    .fc-product-slider-arrow,
    .fc-category-slider-arrow {
        width:
            32px !important;

        height:
            32px !important;

        font-size:
            13px !important;
    }


    .fc-product-slider-arrow.prev,
    .fc-category-slider-arrow.prev {
        left:
            -5px !important;
    }


    .fc-product-slider-arrow.next,
    .fc-category-slider-arrow.next {
        right:
            -5px !important;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media screen and (max-width: 480px) {

    /*
     * Keep exactly 2 columns.
     */

    .fc-product-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            8px !important;
    }


    .fc-product-grid .fc-product-card {
        border-radius:
            12px !important;
    }


    /*
     * FULL PRODUCT IMAGE
     * NO CROPPING
     */

    .fc-product-card-image-wrap {
        aspect-ratio:
            1 / 1 !important;

        height:
            auto !important;

        min-height:
            0 !important;

        max-height:
            none !important;
    }


    .fc-product-card-image {
        object-fit:
            contain !important;

        object-position:
            center center !important;
    }


    /* ---------------------------------------------
       BODY
    --------------------------------------------- */

    .fc-product-card-body {
        padding:
            8px 8px 9px !important;
    }


    /* ---------------------------------------------
       CATEGORY
    --------------------------------------------- */

    .fc-product-card-category {
        font-size:
            7px !important;

        margin-bottom:
            3px !important;
    }


    /* ---------------------------------------------
       TITLE
    --------------------------------------------- */

    .fc-product-card-title {
        font-size:
            11.5px !important;

        line-height:
            1.28 !important;

        max-height:
            30px !important;
    }


    /* ---------------------------------------------
       RATING
    --------------------------------------------- */

    .fc-product-card-rating {
        margin-top:
            4px !important;

        min-height:
            16px !important;
    }


    .fc-card-stars {
        font-size:
            8px !important;
    }


    .fc-card-rating-number,
    .fc-card-review-count,
    .fc-card-new-label {
        font-size:
            8px !important;
    }


    /* ---------------------------------------------
       PRICE
    --------------------------------------------- */

    .fc-product-card-price {
        margin-top:
            5px !important;

        gap:
            3px !important;

        min-height:
            23px !important;
    }


    .fc-card-regular-price {
        font-size:
            8px !important;
    }


    .fc-card-sale-price {
        font-size:
            13.5px !important;
    }


    .fc-card-discount {
        min-height:
            16px !important;

        padding:
            3px 4px !important;

        font-size:
            6px !important;
    }


    /* ---------------------------------------------
       BUTTON
    --------------------------------------------- */

    .fc-product-card-actions {
        margin-top:
            6px !important;
    }


    .fc-product-card-add {
        min-height:
            32px !important;

        height:
            32px !important;

        padding:
            0 4px !important;

        border-radius:
            7px !important;

        font-size:
            8.5px !important;
    }


    /* ---------------------------------------------
       SALE
    --------------------------------------------- */

    .fc-product-card-sale {
        top:
            6px !important;

        left:
            6px !important;

        min-height:
            18px !important;

        padding:
            3px 5px !important;

        font-size:
            6px !important;
    }


    /* ---------------------------------------------
       WISHLIST
    --------------------------------------------- */

    .fc-product-card-wishlist {
        top:
            5px !important;

        right:
            5px !important;

        width:
            29px !important;

        height:
            29px !important;

        min-width:
            29px !important;

        min-height:
            29px !important;
    }


    .fc-product-card-wishlist svg {
        width:
            14px !important;

        height:
            14px !important;
    }


    /* ---------------------------------------------
       CATEGORY CARD
    --------------------------------------------- */

    .fc-category-card {
        flex-basis:
            185px !important;

        width:
            185px !important;

        min-width:
            185px !important;

        height:
            185px !important;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media screen and (max-width: 380px) {

    .fc-product-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            7px !important;
    }


    .fc-product-card {
        border-radius:
            11px !important;
    }


    /*
     * Still show complete image.
     */

    .fc-product-card-image-wrap {
        aspect-ratio:
            1 / 1 !important;

        height:
            auto !important;

        min-height:
            0 !important;

        max-height:
            none !important;
    }


    .fc-product-card-image {
        width:
            100% !important;

        height:
            100% !important;

        object-fit:
            contain !important;
    }


    .fc-product-card-body {
        padding:
            7px !important;
    }


    .fc-product-card-category {
        font-size:
            6.5px !important;
    }


    .fc-product-card-title {
        font-size:
            10.5px !important;

        max-height:
            28px !important;
    }


    .fc-product-card-rating {
        min-height:
            15px !important;

        margin-top:
            3px !important;
    }


    .fc-card-stars {
        font-size:
            7px !important;
    }


    .fc-card-rating-number,
    .fc-card-review-count,
    .fc-card-new-label {
        font-size:
            7px !important;
    }


    .fc-product-card-price {
        min-height:
            21px !important;

        margin-top:
            4px !important;

        gap:
            3px !important;
    }


    .fc-card-regular-price {
        font-size:
            7px !important;
    }


    .fc-card-sale-price {
        font-size:
            12.5px !important;
    }


    .fc-card-discount {
        min-height:
            15px !important;

        padding:
            2px 3px !important;

        font-size:
            5.5px !important;
    }


    .fc-product-card-actions {
        margin-top:
            5px !important;
    }


    .fc-product-card-add {
        min-height:
            30px !important;

        height:
            30px !important;

        border-radius:
            6px !important;

        font-size:
            8px !important;
    }


    .fc-product-card-sale {
        top:
            5px !important;

        left:
            5px !important;

        min-height:
            17px !important;

        padding:
            3px 4px !important;

        font-size:
            5.5px !important;
    }


    .fc-product-card-wishlist {
        top:
            4px !important;

        right:
            4px !important;

        width:
            27px !important;

        height:
            27px !important;

        min-width:
            27px !important;

        min-height:
            27px !important;
    }


    .fc-product-card-wishlist svg {
        width:
            13px !important;

        height:
            13px !important;
    }
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.fc-product-card a:focus-visible,
.fc-product-card button:focus-visible,
.fc-product-slider button:focus-visible,
.fc-category-slider button:focus-visible {
    outline:
        2px solid #23815d !important;

    outline-offset:
        3px !important;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .fc-product-card,
    .fc-product-card-image,
    .fc-product-card-wishlist,
    .fc-product-card-add,
    .fc-category-card img {
        transition:
            none !important;
    }


    .fc-product-card:hover {
        transform:
            none !important;
    }


    .fc-product-card:hover .fc-product-card-image {
        transform:
            none !important;
    }
}