/************************************* product-slider css start *************************************/
/*====================================
    product next-prev css
====================================*/
a.np-product.prev {
    left: 0;
}
a.np-product.next {
    right: 0;
}

/* next-prev text css */
a.np-product span {
    transform: rotate(180deg);
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    letter-spacing: 5px;
}

/*====================================
    product-slider-big swiper css
====================================*/
.product-detail-slider .product-img-big.slider-big-h .swiper:not(.swiper-initialized) .swiper-slide:not([style]),
.product-detail-slider .product-img-big.slider-big-v .swiper:not(.swiper-initialized) .swiper-slide:not([style]),
.product-detail-slider .product-img-big.slider-big-f .swiper:not(.swiper-initialized) .swiper-slide:not([style]),
.product-detail-slider .product-img-big.slider-big-s .swiper:not(.swiper-initialized) .swiper-slide:not([style]) {
    width: 100%;
}
@media (min-width: 768px) {
    .product-detail-slider .product-img-big.slider-big-f .swiper:not(.swiper-initialized) .swiper-slide:not([style]) {
        width: 33.33%;
    }
}

/*====================================
    product-img-big css
====================================*/
/* slider-big product-item-img css */
@media (min-width: 1200px) {
    .product-detail-slider .product-img-big .product-swiper-slide .product-item-img:hover span.pro-zoom img.zoomImg {
        cursor: crosshair;
    }
}

/* slider-big navigation css */
.product-detail-slider .product-img-big .swiper-buttons button.swiper-prev {
    left: 15px;
}
.product-detail-slider .product-img-big .swiper-buttons button.swiper-next {
    right: 15px;
}
.product-detail-slider .product-img-big .swiper-buttons button[disabled] {
    opacity: 0.5;
    pointer-events: none;
}

/* slider-big dots css */
.product-detail-slider .product-img-big .swiper-dots .swiper-pagination {
    width: unset;
    position: unset;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -5px 0px 0px -5px;
}
.product-detail-slider .product-img-big .swiper-dots .swiper-pagination span {
    width: 10px;
    height: 10px;
    background-color: transparent;
    margin: 5px 0px 0px 5px;
    opacity: 1;
    border: 1px solid var(--dominant-font-color);
}
.product-detail-slider .product-img-big .swiper-dots .swiper-pagination span.swiper-pagination-bullet-active {
    background-color: var(--dominant-font-color);
    border-color: var(--dominant-font-color);
}

/*====================================
    product-slider-small swiper css
====================================*/
.product-detail-slider .product-img-small.slider-small-h .swiper:not(.swiper-initialized) .swiper-slide:not([style]) {
    width: 25%;
}
.product-detail-slider .product-img-small.slider-small-v .swiper:not(.swiper-initialized) .swiper-slide:not([style]) {
    width: 25%;
}
@media (min-width: 576px) {
    .product-detail-slider .product-img-small.slider-small-v .swiper:not(.swiper-initialized) .swiper-slide:not([style]) {
        width: 100%;
    }
}

/*====================================
    product-img-small css
====================================*/
.product-detail-slider .product-img-small .product-swiper-slide .product-item-img {
    border: 1px solid transparent;
}
.product-detail-slider .product-img-small .product-swiper-slide .product-item-img:hover,
.product-detail-slider .product-img-small .product-swiper-slide.swiper-slide-thumb-active .product-item-img {
   border-color: var(--heading-font-color);
}
/************************************* product-slider css end *************************************/

/************************************* prouct-detail-info css start *************************************/
/*====================================
    product-price css
====================================*/
.product-detail-info .product-price .price-box {
    margin-top: -9px;
}
.product-detail-info .product-price .price-box>* {
    margin-top: 9px;
}
.product-detail-info .product-price .price-box span.discount-price::before {
    content: "(";
}
.product-detail-info .product-price .price-box span.discount-price::after {
    content: ")";
}

/*====================================
    product-ratting css
====================================*/
.product-detail-info .product-ratting .pro-review-write {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: -12px;
    margin-left: -7.5px;
    margin-right: -7.5px;
}
.product-detail-info .product-ratting .pro-review-write>* {
    margin-top: 12px;
    padding-left: 7.5px;
    padding-right: 7.5px;
}
.product-detail-info .product-ratting .pro-review-write .pro-review span.review-ratting span.review-caption {
    display: block;
    font-size: var(--body-font-size);
    margin-left: 10px;
}
@media (min-width: 576px) {
    .product-detail-info .product-ratting .pro-review-write {
        margin-left: -15px;
        margin-right: -15px;
    }
    .product-detail-info .product-ratting .pro-review-write>* {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/*====================================
    product-availability css
====================================*/
.product-detail-info .product-stock span.stock-fill,
.product-detail-info .product-stock span.stock-empty {
    --bs-bg-opacity: 0.1;
    --bs-border-opacity: 0.1;
    border: 1px solid;
}
.product-detail-info .product-stock span.stock-fill::before,
.product-detail-info .product-stock span.stock-empty::before {
    content: "";
    display: inline-block;
    --bs-text-opacity: 1;
    width: 10px;
    height: 10px;
    margin-right: 8px;
    border-radius: 50%;
}
.product-detail-info .product-stock span.stock-fill::before {
    color: rgba(var(--bs-success-rgb), var(--bs-text-opacity));
    background: currentColor;
    box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), var(--bs-text-opacity));
    -webkit-animation: pulse-success 2s infinite;
    animation: pulse-success 2s infinite;
}
.product-detail-info .product-stock span.stock-empty::before {
    color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity));
    background: currentColor;
    box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), var(--bs-text-opacity));
    -webkit-animation: pulse-danger 2s infinite;
    animation: pulse-danger 2s infinite;
}

/*====================================
    product-timer css
====================================*/
.product-detail-info .product-timer {
    --bs-bg-opacity: 0.1;
    --bs-border-opacity: 0.1;
    border: 1px solid;
}
.product-detail-info .product-timer ul>* {
    position: relative;
}
.product-detail-info .product-timer ul>*::before {
    content: ":";
    position: absolute;
    left: -1.5px;
}
.product-detail-info .product-timer ul>*:first-child::before {
    display: none;
}

/*====================================
    product-variant css
====================================*/
.product-detail-info .product-variant .product-variant-option .product-option-block.size label.cust-checkbox-label span.cust-check {
    padding: 10px 15px;
}

/*====================================
    product-quantity-action css
====================================*/
.product-detail-info .product-quantity .js-qty-wrapper .js-qty-wrap button.js-qty-adjust,
.product-detail-info .product-quantity .js-qty-wrapper .js-qty-wrap input.js-qty-num {
    height: 40px;
}
.product-detail-info .product-quantity .product-action {
    width: calc(100% - 120px);
}
.product-detail-info .product-quantity .product-action button,
.product-detail-info .product-button a {
    padding-left: 15px;
    padding-right: 15px;
}

/*====================================
    product-preorder css
====================================*/
.product-detail-info .product-preorder {
    position: relative;
    z-index: 1;
}
.product-detail-info .product-preorder::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--dominant-font-color);
    opacity: 0.1;
    z-index: -1;
}
/************************************* prouct-detail-info css end *************************************/

/************************************* size-modal css start *************************************/
/*====================================
    size-modal css
====================================*/
.size-modal .size-modal-content .table-img {
    width: 100%;
}
@media (min-width: 400px) {
    .size-modal .size-modal-content .table-img {
        width: 66.67%;
    }
}
@media (min-width: 576px) {
    .size-modal .size-modal-content .table-img {
        width: 75%;
    }
}
/************************************* size-modal css end *************************************/

/************************************* frequently-bought css start *************************************/
/*====================================
    frequent-image css
====================================*/
.frequent .frequent-group form .frequent-detail .frequent-image ul {
    margin-left: -15px;
    margin-right: -15px;
}
.frequent .frequent-group form .frequent-detail .frequent-image ul>* {
    padding-left: 15px;
    padding-right: 15px;
}
.frequent .frequent-group form .frequent-detail .frequent-image ul li {
    position: relative;
}
.frequent .frequent-group form .frequent-detail .frequent-image ul li::before {
    content: "\f4b2";
    font-family: remixicon !important;
    font-size: 16px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%);
}
.frequent .frequent-group form .frequent-detail .frequent-image ul li:first-child::before {
    display: none;
}
.frequent .frequent-group form .frequent-detail .frequent-image ul li span.freq-img.active img {
    border-color: var(--heading-font-color);
}

/*====================================
    frequent-info css
====================================*/
.frequent .frequent-group form .frequent-detail .frequent-info .frequent-content a {
    border-bottom: 1px solid var(--heading-font-color);
}
.frequent .frequent-group form .frequent-detail .frequent-info .frequent-content a[aria-expanded="true"] i {
    transform: scaleY(-1);
}

/*====================================
    frequent-total css
====================================*/
.frequent .frequent-group form .frequent-total .frequent-total-price .freq-total-box.price-box {
    margin-top: -9px;
}
.frequent .frequent-group form .frequent-total .frequent-total-price .freq-total-box.price-box>* {
    margin-top: 9px;
}
/************************************* product-frequently-bought css end *************************************/

/************************************* product-detail-tab css start *************************************/
/*====================================
    product-tab-nav css
====================================*/
.product-tab .product-tab-nav ul.nav-tabs {
    margin-left: -7.5px;
    margin-right: -7.5px;
}
.product-tab .product-tab-nav ul.nav-tabs>* {
    padding-left: 7.5px;
    padding-right: 7.5px;
}
@media(min-width: 576px) {
    .product-tab .product-tab-nav ul.nav-tabs {
        margin-left: -15px;
        margin-right: -15px;
    }
    .product-tab .product-tab-nav ul.nav-tabs>* {
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media(min-width: 1400px) {
    .product-tab .product-tab-nav ul.nav-tabs {
        margin-left: -25px;
        margin-right: -25px;
    }
    .product-tab .product-tab-nav ul.nav-tabs>* {
        padding-left: 25px;
        padding-right: 25px;
    }
}

/*====================================
    horizontal-tab css
====================================*/
.product-tab.horizontal-tab .product-tab-nav ul.nav-tabs {
    margin-top: -13px;
}
.product-tab.horizontal-tab .product-tab-nav ul.nav-tabs>* {
    margin-top: 13px;
}
.product-tab.horizontal-tab .product-tab-nav ul.nav-tabs li a {
    color: var(--heading-font-color);
    margin-bottom: -1px;
    border-bottom: 2px solid transparent;
    -webkit-transition: color 0.5s ease-in-out,border-color 0.5s ease-in-out;
    transition: color 0.5s ease-in-out,border-color 0.5s ease-in-out;
}
.product-tab.horizontal-tab .product-tab-nav ul.nav-tabs li a:hover,
.product-tab.horizontal-tab .product-tab-nav ul.nav-tabs li a.active {
    color: var(--dominant-font-color);
}
.product-tab.horizontal-tab .product-tab-nav ul.nav-tabs li a.active {
    border-color: var(--dominant-font-color);
}

/*====================================
    collapse-tab css
====================================*/
.product-tab .collapse-tab:last-child {
    border-bottom: 1px solid rgba(var(--border-color),var(--border-opacity));
}
.product-tab .collapse-tab button.collapse-tab-btn {
    -webkit-transition: color 0.5s ease-in-out,border-color 0.5s ease-in-out;
    transition: color 0.5s ease-in-out,border-color 0.5s ease-in-out;
}
.product-tab .collapse-tab button.collapse-tab-btn,
.product-tab .collapse-tab button.collapse-tab-btn[aria-expanded="false"] {
    color: var(--heading-font-color);
}
.product-tab .collapse-tab button.collapse-tab-btn[aria-expanded="true"] {
    color: var(--dominant-font-color);
}
.product-tab .collapse-tab button.collapse-tab-btn[aria-expanded="true"] span.tab-icon i::before {
    content: "\f1af";
}

/*====================================
    vertical-tab css
====================================*/
.product-tab.vertical-tab .product-tab-nav ul.nav-tabs {
    margin-top: -12px;
}
.product-tab.vertical-tab .product-tab-nav ul.nav-tabs>* {
    margin-top: 12px;
}
.product-tab.vertical-tab .product-tab-nav ul.nav-tabs li a {
    position: relative;
    z-index: 1;
}
.product-tab.vertical-tab .product-tab-nav ul.nav-tabs li a span {
    color: var(--heading-font-color);
    border-bottom: 2px solid transparent;
    -webkit-transition: color 0.5s ease-in-out,border-color 0.5s ease-in-out;
    transition: color 0.5s ease-in-out,border-color 0.5s ease-in-out;
}
.product-tab.vertical-tab .product-tab-nav ul.nav-tabs li a.active span {
    color: var(--dominant-font-color);
    border-color: var(--dominant-font-color);
}
.product-tab.vertical-tab .product-tab-nav ul.nav-tabs li a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: rgba(var(--border-color),var(--border-opacity));
    z-index: -1;
}
/************************************* product-detail-tab css end *************************************/

/************************************* product-detail-description css start *************************************/
/*====================================
    product-description-info css
====================================*/
.product-description-info {
    display: flex;
    flex-wrap: wrap;
    margin-top: -20px;
}
.product-description-info>* {
    width: 100%;
    margin-top: 20px;
}

/* product-description-info heading css */
.product-description-info h6 {
    font-size: 18px;
}

/* product-description-info 'ul', 'li' css */
.product-description-info ul {
    list-style-type: disc;
    padding-left: 17px;
}
.product-description-info ul li {
    margin-top: 8px;
}
.product-description-info ul li:first-child {
    margin-top: 0px;
}
.product-description-info ul li::marker {
    color: var(--heading-font-color);
}
/************************************* product-detail-description css end *************************************/

/************************************* product-detail-review css start *************************************/
/*====================================
    product-review css
====================================*/
.product-review .product-review-count span.product-review-stars {
    width: 32px;
}
.product-review .product-review-count span.product-review-progress {
    width: calc(100% - 96px);
    height: 5px;
    position: relative;
    z-index: 1;
}
.product-review .product-review-count span.product-review-progress::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--heading-font-color);
    z-index: -1;
    opacity: 0.2;
}
.product-review .product-review-count span.product-review-number {
    width: 64px;
}

/*====================================
    product-review-form css
====================================*/
.product-review .product-review-form .product-review-ratting .product-ratting span.review-ratting span.review-star i {
    cursor: pointer;
}

/*====================================
    product-review-comment css
====================================*/
.product-review .product-review-comment .product-review-detail .product-reviewer-info span {
    position: relative;
    z-index: 1;
}
.product-review .product-review-comment .product-review-detail .product-reviewer-info span::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--dominant-font-color);
    opacity: 0.1;
    z-index: -1;
}
/************************************* product-detail-review css end *************************************/

/************************************* related-slider css start *************************************/
/*====================================
    related-slider swiper css
====================================*/
.collection-wrap #related-slider-full.swiper:not(.swiper-initialized) .swiper-slide:not([style]) {
    width: 50%;
}
@media (min-width: 768px) {
    .collection-wrap #related-slider-full.swiper:not(.swiper-initialized) .swiper-slide:not([style]) {
        width: 33.33%;
    }
}
@media (min-width: 1200px) {
    .collection-wrap #related-slider-full.swiper:not(.swiper-initialized) .swiper-slide:not([style]) {
        width: 25%;
    }
}
@media (min-width: 1400px) {
    .collection-wrap #related-slider-full.swiper:not(.swiper-initialized) .swiper-slide:not([style]) {
        width: 20%;
    }
}

/* slider-arrow button css */
@media (min-width: 576px) {
    .related-area .collection-wrap .swiper-buttons button.swiper-prev {
        transform: translateX(calc(-50% + 5px));
    }
    .related-area .collection-wrap .swiper-buttons button.swiper-next {
        transform: translateX(calc(50% - 5px));
    }
}
@media (min-width: 1500px) {
    .related-area .collection-wrap .swiper-buttons button.swiper-prev {
        transform: translateX(-50%);
    }
    .related-area .collection-wrap .swiper-buttons button.swiper-next {
        transform: translateX(50%);
    }
}
/************************************* related-slider css end *************************************/

/************************************* product-comparison css start *************************************/
/*====================================
    product-comparison css
====================================*/
.product-comparison .product-compare-area {
    overflow-x: hidden;
}
.product-comparison .product-compare-area>* {
    overflow-x: auto;
    scrollbar-width: thin;
    -webkit-scrollbar-width: thin;
}
.product-comparison .product-compare-area>*::-webkit-scrollbar-track {
    background-color: #eeeeee;
}
.product-comparison .product-compare-area>*::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
}
.product-comparison .product-compare-area>*::-webkit-scrollbar-thumb:hover {
    background-color: var(--dominant-font-color);
}
@media (min-width: 1200px) {
    .product-comparison .product-compare-area>* {
        -webkit-scrollbar-width: unset;
        scrollbar-width: unset;
        max-width: unset;
        overflow-x: unset;
    }
}

/*====================================
    product-compare-block-row css
====================================*/
.product-comparison .product-compare-area .product-compare-block .product-compare-block-row {
    width: calc(100% + 33.33%);
}
@media (min-width: 420px) {
    .product-comparison .product-compare-area .product-compare-block .product-compare-block-row {
        width: calc(100% + 0%);
    }
}

/*====================================
    product-compare-col css
====================================*/
.product-comparison .product-compare-area .product-compare-block .product-compare-row .product-compare-col .flex-nowrap>* {
    position: relative;
}
.product-comparison .product-compare-area .product-compare-block .product-compare-row .product-compare-col .flex-nowrap>*::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: rgba(var(--border-color),var(--border-opacity));
}

/*====================================
    compare-modal css
====================================*/
@media (min-width: 768px) {
    .compare-modal .modal-dialog {
        max-width: 750px;
    }
}

/* compare-product-results css */
.compare-modal .compare-search .compare-product-results {
    max-height: 386px;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-scrollbar-width: thin;
    scrollbar-width: thin;
}
.compare-modal .compare-search .compare-product-results::-webkit-scrollbar {
    width: 2px;
}
.compare-modal .compare-search .compare-product-results::-webkit-scrollbar-track {
    background-color: #eeeeee;
}
.compare-modal .compare-search .compare-product-results::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
}
.compare-modal .compare-search .compare-product-results::-webkit-scrollbar-thumb:hover {
    background-color: var(--dominant-font-color);
}

/* compare-product-label css */
.compare-modal .compare-search .compare-product-results label.compare-product-label {
    display: block;
    position: relative;
    -webkit-user-select: none;
    user-select: none;
    cursor: pointer;
}
.compare-modal .compare-search .compare-product-results label.compare-product-label input.cust-checkbox {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
    cursor: pointer;
}
.compare-modal .compare-search .compare-product-results label.compare-product-label:hover .compare-product-content,
.compare-modal .compare-search .compare-product-results label.compare-product-label input.cust-checkbox:checked ~ .compare-product-content {
    border-color: var(--dominant-font-color);
}
/************************************* product-comparison css end *************************************/

/************************************* keyframes css start *************************************/
/*====================================
    blinking keyframes css
====================================*/
.blinking {
    -webkit-animation: blinking 2s cubic-bezier(.4, 0, .6, 1) infinite;
    animation: blinking 2s cubic-bezier(.4, 0, .6, 1) infinite;
}
@-webkit-keyframes blinking {
    50% {
        opacity: 0.5;
    }
}
@keyframes blinking {
    50% {
        opacity: 0.5;
    }
}

/*====================================
    pulse-success keyframes css
====================================*/
@-webkit-keyframes pulse-success {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 8px rgba(var(--bs-success-rgb), 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0);
    }
}
@keyframes pulse-success {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 8px rgba(var(--bs-success-rgb), 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(var(--bs-success-rgb), 0);
    }
}

/*====================================
    pulse-danger keyframes css
====================================*/
@-webkit-keyframes pulse-danger {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 8px rgba(var(--bs-danger-rgb), 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0);
    }
}
@keyframes pulse-danger {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 8px rgba(var(--bs-danger-rgb), 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(var(--bs-danger-rgb), 0);
    }
}

/*====================================
    borderAnimation keyframes css
====================================*/
@-webkit-keyframes borderAnimation {
    from {
        background-position: 0 0, -17px 0, 100% -17px, 0 100%;
    } to {
        background-position: 0 -17px, 0 0, 100% 0, -17px 100%;
    }
}
@keyframes borderAnimation {
    from {
        background-position: 0 0, -17px 0, 100% -17px, 0 100%;
    } to {
        background-position: 0 -17px, 0 0, 100% 0, -17px 100%;
    }
}
/************************************* keyframes css end *************************************/