/* =========================================================
   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;
    }
}
















/* =========================================================
   ATIRDA SHOP / CATEGORY PRODUCT AJAX SECTION
   Premium Atirda Design
   FC CLASS NAMES PRESERVED
========================================================= */


/* =========================================================
   MAIN SECTION
========================================================= */

.fc-category-products-section {
    width: 100%;

    padding: 100px 30px;

    margin: 0 auto;

    background: #faf9f5;

    box-sizing: border-box;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.fc-category-products-heading {
    max-width: 760px;

    margin: 0 auto;

    text-align: center;
}


/* =========================================================
   EYEBROW
   Premium Atirda Collection Label
========================================================= */

.fc-category-products-eyebrow {
    display: inline-block;

    margin-bottom: 16px;

    color: #8d7a3e;

    font-family:
        Arial,
        sans-serif;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2.8px;

    line-height: 1.4;

    text-transform: uppercase;
}


/* =========================================================
   MAIN HEADING
========================================================= */

.fc-category-products-heading h2 {
    margin: 0;

    color: #18351f;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(42px, 5vw, 64px);

    font-weight: 500;

    line-height: 1.05;

    letter-spacing: -0.5px;
}


/* =========================================================
   HEADING HIGHLIGHT
   Plant = Olive Green
========================================================= */

.fc-category-products-heading h2 span {
    color: #8d9c53;
}


/* Also support existing highlight classes */

.fc-category-products-heading h2 .highlight,
.fc-category-products-heading h2 .fc-highlight {
    color: #8d9c53;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.fc-category-products-heading p {
    max-width: 590px;

    margin: 21px auto 0;

    color: #687168;

    font-family:
        Arial,
        sans-serif;

    font-size: 15px;

    font-weight: 400;

    line-height: 1.75;

    letter-spacing: 0;
}


/* =========================================================
   CATEGORY TABS
========================================================= */

.fc-category-products-tabs {
    display: flex;

    justify-content: center;

    align-items: center;

    gap: 10px;

    margin: 42px auto 48px;

    padding: 0;

    flex-wrap: wrap;
}


/* =========================================================
   CATEGORY TAB
   Strong override to prevent theme/button CSS conflicts
========================================================= */

.fc-category-products-section
.fc-category-products-tabs
.fc-category-products-tab {

    position: relative !important;

    display: inline-flex !important;

    align-items: center !important;

    justify-content: center !important;

    min-height: 44px !important;

    padding: 12px 24px !important;

    border: 1px solid #d9ded6 !important;

    border-radius: 40px !important;

    background: #ffffff !important;

    color: #536057 !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 12px !important;

    font-weight: 700 !important;

    letter-spacing: .5px !important;

    line-height: 1 !important;

    text-decoration: none !important;

    box-shadow: none !important;

    transform: none !important;

    cursor: pointer !important;

    box-sizing: border-box !important;

    transition:
        border-color .3s ease,
        background-color .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease !important;
}


/* =========================================================
   TAB HOVER
========================================================= */

.fc-category-products-section
.fc-category-products-tabs
.fc-category-products-tab:hover {

    border-color: #82945b !important;

    background: #ffffff !important;

    color: #18351f !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 7px 20px
        rgba(24, 53, 31, .08) !important;
}


/* =========================================================
   ACTIVE TAB
========================================================= */

.fc-category-products-section
.fc-category-products-tabs
.fc-category-products-tab.is-active {

    border-color: #18351f !important;

    background: #18351f !important;

    color: #ffffff !important;

    box-shadow:
        0 9px 24px
        rgba(24, 53, 31, .17) !important;

    transform: none !important;
}


/* =========================================================
   ACTIVE TAB HOVER
========================================================= */

.fc-category-products-section
.fc-category-products-tabs
.fc-category-products-tab.is-active:hover {

    border-color: #18351f !important;

    background: #18351f !important;

    color: #ffffff !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 11px 28px
        rgba(24, 53, 31, .20) !important;
}


/* =========================================================
   TAB FOCUS
========================================================= */

.fc-category-products-section
.fc-category-products-tabs
.fc-category-products-tab:focus-visible {

    outline:
        2px solid #82945b !important;

    outline-offset: 3px !important;
}


/* =========================================================
   PRODUCT CONTENT
========================================================= */

[data-fc-category-products-content] {

    position: relative;

    width: 100%;

    min-height: 180px;

    transition:
        opacity .25s ease,
        transform .25s ease;
}


/* =========================================================
   PRODUCT GRID
========================================================= */

.fc-category-products-section
.fc-product-grid {

    width:
        min(1240px, 100%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 24px;
}


/* =========================================================
   IMPORTANT
   Existing product card CSS remains untouched.

   We DO NOT modify:
   - product card
   - product image
   - sale badge
   - wishlist
   - price
   - add to cart
   - flying cart
========================================================= */


/* =========================================================
   AJAX LOADING
========================================================= */

.fc-category-products-section.is-loading
[data-fc-category-products-content] {

    opacity: .45;

    pointer-events: none;
}


/* =========================================================
   LOADING OVERLAY
========================================================= */

.fc-category-products-section.is-loading
[data-fc-category-products-content]::after {

    content: "";

    position: absolute;

    top: 50%;

    left: 50%;

    width: 38px;

    height: 38px;

    margin-left: -19px;

    margin-top: -19px;

    border-radius: 50%;

    border:
        3px solid
        rgba(24, 53, 31, .15);

    border-top-color:
        #18351f;

    z-index: 20;

    animation:
        fcCategorySpin
        .7s linear infinite;
}


@keyframes fcCategorySpin {

    from {
        transform:
            rotate(0deg);
    }

    to {
        transform:
            rotate(360deg);
    }

}


/* =========================================================
   PRODUCT REVEAL
========================================================= */

.fc-products-loaded {

    animation:
        fcCategoryProductsReveal
        .35s ease both;
}


@keyframes fcCategoryProductsReveal {

    from {

        opacity: 0;

        transform:
            translateY(10px);
    }

    to {

        opacity: 1;

        transform:
            translateY(0);
    }

}


/* =========================================================
   ERROR STATE
========================================================= */

.fc-category-products-error {

    min-height: 220px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 10px;

    padding: 40px 20px;

    text-align: center;

    border:
        1px solid #e9ebe6;

    border-radius: 14px;

    background: #ffffff;

    color: #687168;

    box-sizing: border-box;
}


/* =========================================================
   ERROR ICON
========================================================= */

.fc-category-products-error-icon {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:
        rgba(190, 60, 60, .10);

    color: #b43b3b;

    font-size: 20px;

    font-weight: 700;
}


/* =========================================================
   ERROR TEXT
========================================================= */

.fc-category-products-error-text {

    display: flex;

    flex-direction: column;

    gap: 4px;
}


.fc-category-products-error-text strong {

    color: #1d2e21;

    font-size: 15px;
}


.fc-category-products-error-text span {

    color: #747b74;

    font-size: 13px;
}


/* =========================================================
   EMPTY PRODUCT GRID
========================================================= */

.fc-category-products-section
.fc-product-grid:empty {

    min-height: 180px;

    display: flex;

    align-items: center;

    justify-content: center;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

    .fc-category-products-section {

        padding:
            80px 25px;
    }


    .fc-category-products-section
    .fc-product-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .fc-category-products-section {

        padding:
            70px 18px;
    }


    /* -----------------------------------------
       HEADING
    ----------------------------------------- */

    .fc-category-products-heading h2 {

        font-size: 40px;

        line-height: 1.08;

        letter-spacing: -0.3px;
    }


    .fc-category-products-heading p {

        max-width: 540px;

        margin-top: 18px;

        font-size: 14px;

        line-height: 1.7;
    }


    /* -----------------------------------------
       CATEGORY TABS
    ----------------------------------------- */

    .fc-category-products-tabs {

        gap: 7px;

        margin:
            32px auto 35px;

        flex-wrap: wrap;
    }


    .fc-category-products-section
    .fc-category-products-tabs
    .fc-category-products-tab {

        min-height:
            40px !important;

        padding:
            10px 17px !important;

        font-size:
            10px !important;

        letter-spacing:
            .4px !important;
    }


    /* -----------------------------------------
       PRODUCT GRID
    ----------------------------------------- */

    .fc-category-products-section
    .fc-product-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 12px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .fc-category-products-section {

        padding:
            65px 14px;
    }


    .fc-category-products-heading h2 {

        font-size: 36px;
    }


    .fc-category-products-section
    .fc-product-grid {

        grid-template-columns:
            1fr;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .fc-category-products-tab,

    [data-fc-category-products-content],

    .fc-products-loaded {

        transition:
            none !important;

        animation:
            none !important;
    }


    .fc-category-products-section.is-loading
    [data-fc-category-products-content]::after {

        animation:
            none !important;
    }

}