.j2commerce-product-module {

    --j2c-body-font-size: 13px;
    --j2c-body-font-weight:400;
    --j2c-body-line-height:1.5;
    --j2c-body-color: #4e5562;
    --j2c-component-color: #333d4c;
    --bs-heading-color:#181d25;
    --j2c-component-active-color:#181d25;
    --j2c-component-active-bg:#eef1f6;
    --j2c-white:#fff;
    --j2c-box-shadow: 0 0.5rem 2rem -0.25rem hsla(216, 9%, 44%, .1);
    --j2c-tertiary-color:#9ca3af;
    --j2c-info-rgb: 47, 108, 213;
    --j2c-info: #2f6ed5;
    --j2c-btn-bg: #eef1f6;
}


.j2commerce-product-module [class*=" j2c-"], .j2commerce-product-module [class^=j2c-] {display:inline-flex;}
.j2commerce-product-module {font-family:var(--j2c-font-sans-serif), sans-serif;font-size: var(--j2c-body-font-size);font-weight: var(--j2c-body-font-weight);line-height: var(--j2c-body-line-height);color:var(--j2c-body-color);-webkit-text-size-adjust: 100%;}
.j2commerce-product-module .cursor-pointer {cursor:pointer!important;}
.j2commerce-product-module .cursor-zoom-in {cursor: zoom-in !important;}
.j2commerce-product-module .underline-effect {text-decoration: none;background-image: linear-gradient(currentColor,currentColor);background-position: 0 100%;background-repeat: no-repeat;background-size: 0 2px;transition: background-size .3s;}
.j2commerce-product-module .underline-effect:hover	{text-decoration: none;background-image: linear-gradient(currentColor,currentColor);background-position: 0 100%;background-repeat: no-repeat;background-size: 0 2px;transition: background-size .3s;background-size: 100% 2px;}

.j2commerce-product-module .ratio {position: relative;width: 100%;}
.j2commerce-product-module .ratio:before {content: "";display: block;padding-top: var(--j2c-aspect-ratio);}
.j2commerce-product-module .ratio>* {height: 100%;left: 0;position: absolute;top: 0;width: 100%;}
.j2commerce-product-module .product-card {position: relative;border: var(--bs-border-width) var(--bs-border-style) var(--bs-white)!important;}
.j2commerce-product-module .product-card:hover {z-index:2;box-shadow: var(--j2c-box-shadow);border-color:var(--bs-border-color)!important;}
.j2commerce-product-module .product-card.hover-effect-opacity .hover-effect-target {transition: none;}
.j2commerce-product-module .hover-effect-opacity:hover .hover-effect-target.opacity-0 {opacity: 1 !important;visibility: visible !important;}
.j2commerce-product-module .product-card .product-title {height:42px;overflow:hidden;}
.j2commerce-product-module .text-body-tertiary {--j2c-text-opacity: 1;color: var(--j2c-tertiary-color)!important;}
.j2commerce-product-module .bg-info {background:var(--j2c-info)!important;}
.j2commerce-product-module .btn-secondary {
    --bs-btn-color: #333d4c;
    --bs-btn-bg: #eef1f6;
    --bs-btn-border-color: #eef1f6;
    --bs-btn-hover-color: #181d25;
    --bs-btn-hover-bg: #e0e5eb;
    --bs-btn-hover-border-color: #e0e5eb;
    --bs-btn-active-color: #333d4c;
    --bs-btn-active-bg: #e0e5eb;
    --bs-btn-active-border-color: #e0e5eb;
    --bs-btn-disabled-color: #333d4c;
    --bs-btn-disabled-bg: #eef1f6;
    --bs-btn-disabled-border-color: #eef1f6;
    --bs-secondary-rgb: 108, 117, 125;
    background: var(--bs-btn-bg);
    border-color: var(--bs-btn-border-color);
}
.j2commerce-product-module .btn-secondary:hover {
    background: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
    color: var(--bs-btn-hover-color);
}
.j2commerce-product-module .product-card-button {
    --bs-btn-color: #333d4c;
    --bs-btn-bg: #eef1f6;
    --bs-btn-hover-bg: #131920;
    --bs-btn-hover-border-color: #131920;
    --bs-btn-active-bg: #131920;
    --bs-btn-active-border-color: #131920;
    background: var(--bs-btn-bg);
}
.j2commerce-product-module .product-card:hover .product-card-button {
    --bs-btn-color:#fff;
    --bs-btn-bg: #222934;
    --bs-btn-border-color: #222934;
    --bs-btn-hover-bg: #131920;
    --bs-btn-hover-border-color: #131920;
    --bs-btn-active-bg: #131920;
    --bs-btn-active-border-color: #131920;
    background: var(--bs-btn-bg);
    color: var(--bs-btn-color);
}
.j2commerce-product-module .btn-primary, .j2commerce-product-module .product-card .count-input:not(.collapsed) .product-card-button, .j2commerce-product-module .product-card:hover .product-card-button, .j2commerce-product-module [data-bs-theme=dark] .product-card:hover .product-card-button {--bs-btn-hover-bg: #131920;--bs-btn-active-bg: #131920;--bs-btn-hover-border-color: #131920;--bs-btn-active-border-color: #131920;}

.j2commerce-product-module .product-card .count-input:not(.collapsed) .product-card-button:hover, .j2commerce-product-module .product-card:hover .product-card-button:hover {color:#fff;}
.j2commerce-product-module .btn-icon {--bs-btn-size: 2.5rem;flex-shrink: 0;height: var(--bs-btn-size);padding: 0;width: var(--bs-btn-size);line-height: var(--bs-btn-size);}
/*End Category Products*/



/*Animations*/
/* Slide Animations */

.j2commerce-product-module .animate-slide-end {
    overflow: hidden;
}

.j2commerce-product-module .animate-slide-end:hover .animate-target,
.j2commerce-product-module .animate-slide-end:focus-visible .animate-target {
    animation: slide-end 0.3s forwards;
}

.j2commerce-product-module .animate-slide-start {
    overflow: hidden;
}

.j2commerce-product-module .animate-slide-start:hover .animate-target,
.j2commerce-product-module .animate-slide-start:focus-visible .animate-target {
    animation: slide-start 0.3s forwards;
}

.j2commerce-product-module .animate-slide-up {
    overflow: hidden;
}

.j2commerce-product-module .animate-slide-up:hover .animate-target,
.j2commerce-product-module .animate-slide-up:focus-visible .animate-target {
    animation: slide-up 0.3s forwards;
}

.j2commerce-product-module .animate-slide-down {
    overflow: hidden;
}

.j2commerce-product-module .animate-slide-down:hover .animate-target,
.j2commerce-product-module .animate-slide-down:focus-visible .animate-target {
    animation: slide-down 0.3s forwards;
}

@keyframes slide-end {
    49% {
        transform: translate(100%);
    }
    50% {
        opacity: 0;
        transform: translate(-100%);
    }
    51% {
        opacity: 1;
    }
}

@keyframes slide-start {
    49% {
        transform: translate(-100%);
    }
    50% {
        opacity: 0;
        transform: translate(100%);
    }
    51% {
        opacity: 1;
    }
}

@keyframes slide-up {
    49% {
        transform: translateY(-100%);
    }
    50% {
        opacity: 0;
        transform: translateY(100%);
    }
    51% {
        opacity: 1;
    }
}

@keyframes slide-down {
    49% {
        transform: translateY(100%);
    }
    50% {
        opacity: 0;
        transform: translateY(-100%);
    }
    51% {
        opacity: 1;
    }
}

/*End Animations*/
