.product-combinations-container {
    margin: 60px 0;
    padding: 0;
    width: 100%;
}

.product-combinations-container .heading-section-title {
    display: flex;
    align-items: center;
    font-size: 24px;
    position: relative;
    margin-bottom: 20px;
    gap: 20px;
    text-transform: none;
}

.product-combinations-container .heading-section-title span {
    flex: 1 0 max-content;
    justify-content: center;
    display: flex;
}

.product-combinations-container .heading-section-title:after {
    content: "";
    position: relative;
    display: block;
    border-bottom: 1px solid var(--border-color);
    width: 100%;
}

.combinations-body {
    padding: 15px 20px;
    border-radius: 7px;
    border: 1px solid var(--border-color);
    background: #FFF;
    display: none;
}

.combination-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 15px;
    margin-bottom: 15px;
    position: relative;
}

.combination-row:not(.combination-row:last-child):after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: calc(100% + 40px);
    background: var(--border-color);
    margin-left: -20px;
}

.combination-row:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
}

.combinations-body-left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.combinations-body-left a {
    position: relative;
}

.combinations-body-left img {
    max-width: 100px;
}

.combinations-body-left .product-info {
    display: contents;
}

.combinations-body-left .product-info .product-tags {
    top: 5px;
}

.combinations-body-left .product-info .product-tags li {
    font-size: 11px;
    margin-bottom: 4px;
    max-width: 90px;
}

@media (max-width: 767px) {
    .combinations-body-left .product-info .product-tags li {
        font-size: 10px;
    }
}

@media (max-width: 359px) {
    .combinations-body-left .product-info .product-tags li {
        max-width: 80px;
    }
}

.combinations-body-left h3 {
    color: var(--text-color);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 23px;
    margin-bottom: 10px;
}

.combinations-body-left h3:hover {
    color: var(--main-text);
}

.combinations-body-left .combination-attributes {
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 10px;
}

.combinations-body-right {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.combinations-body-right .combination-price {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px 0;
}

.combinations-body-right .combination-price span {
    font-size: 19px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.combinations-body-right .combination-price span.price-with-discount {
    color: #F00;
}

.combinations-body-right .combination-price span .pcs {
    font-size: 12px;
}

.combinations-body-right .combination-price .old-price {
    font-size: 13px;
    font-weight: 400;
    color: #65717C;
    text-decoration: line-through;
}

.combinations-body-right .add-to-cart-or-refresh {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

.combinations-body-right .amount-hold {
    padding: 11px 10px;
    border: 1px solid var(--border-color);
    border-radius: 5px;
    background: var(--menu-bg);
    align-items: center;
    display: flex;
    float: left;
    width: auto;
    height: 45px;
}

.combinations-body-right .attribute-add-to-cart-container button {
    height: 45px;
}

.combinations-body-right .amount-hold input,
.combinations-body-right .amount-hold input:focus,
.combinations-body-right .amount-hold input:active {
    height: unset;
    padding: 0 2px;
    border: none;
    outline: none;
    text-align: center;
    font-size: 15px;
    font-weight: 400;
    line-height: normal;
    box-shadow: none;
    color: var(--text-color);
    max-width: 40px;
    margin: 0;
}

.combinations-body-right .amount-hold .btn-number {
    width: 23px;
    min-width: 23px;
    height: 23px;
    flex: 1 0 23px;
    cursor: pointer;
}

.combinations-body-right .amount-hold .btn-number.btn-less {
    background: url(../../../../themes/framework/assets/img/minus.svg) no-repeat center center transparent;
}

.combinations-body-right .amount-hold .btn-number.btn-more {
    background: url(../../../../themes/framework/assets/img/plus.svg) no-repeat center center transparent;
}

.prpc-sorting label {
    margin: 0;
}

#prpc-sort {
    margin: 0;
    color: var(--text-color);
}

.prpc-controls {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.prpc-filters .btn-secondary-checkout,
.prpc-filters .btn-secondary-checkout:focus,
.prpc-filters .btn-secondary-checkout:hover,
.prpc-filters .btn-secondary-checkout:active {
    gap: 10px;
    height: 41px;
    font-size: 15px;
}

.filters-body {
    display: none;
}

.filters-body.active {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}

.prpc-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.filters-body .prpc-filter-title {
    color: var(--text-color);
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.filters-body .prpc-filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.filters-body .prpc-filter-options .checkbox-item,
.filters-body .prpc-filter-options .checkbox-item label,
.filters-body .prpc-filter-options .color-checkbox-item {
    margin: 0;
    width: auto;
}

.filters-body .prpc-filter-options .color-checkbox-item label {
    margin: 0;
    padding: 0;
}

.filters-body .prpc-filter-options .color-checkbox-item label span {
    display: block;
    position: relative;
    transform: unset;
    top: unset;
}

.filters-body .prpc-filter-options .color-checkbox-item:hover span,
.filters-body .prpc-filter-options .color-checkbox-item input:checked + label span {
    border-color: var(--main-color);
}

.product-combinations-container {
  position: relative;
}

.prpc-overlay {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.6);
  display: none;
  z-index: 5;
}

.prpc-overlay.active {
  display: block;
}

.lds-dual-ring {
  position: absolute;
  left: calc(50% - 25px);
  top: calc(50% - 25px);
  width: 50px;
  height: 50px;
}

.lds-dual-ring:after {
  content: " ";
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 4px solid var(--main-color, #333);
  border-color: var(--main-color, #333) transparent var(--main-color, #333) transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
    .prpc-pagination-inner .pagination-hold .pagination-middle-container .paginate {
        margin: 0;
    }

    .prpc-pagination-inner .pagination-hold .pagination-middle-container .paginate .product-pagination-count,
    .prpc-pagination-inner .pagination-hold .pagination-middle-container .paginate>:last-child {
        display: block;
    }
}

@media (max-width: 767px) {
    .prpc-controls {
        flex-direction: column;
        gap: 10px;
    }

    .prpc-controls .prpc-filters,
    .prpc-controls .prpc-sorting,
    .prpc-controls .prpc-sorting label {
        width: 100%;
    }

    .combinations-body {
        padding: 15px;
    }

    .combination-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .combination-row:not(.combination-row:last-child):after {
        width: calc(100% + 30px);
        margin-left: -15px;
    }

    .combinations-body-left {
        gap: 15px;
    }

    .combinations-body-left a {
        display: flex;
    }

    .combinations-body-left img {
        max-width: 90px;
        flex: 1 0 90px;
        width: 100%;
    }

    .combinations-body-right {
        padding-left: 105px;
    }

    .prpc-pagination-inner .pagination-hold .pagination-middle-container .paginate {
        margin: 0;
    }

    .product-combinations-container {
        margin: 40px 0;
    }
}

@media (max-width: 575px) {
    .attribute-add-to-cart-container button {
        height: 45px;
        padding: 13px 28px;
    }

    .attribute-add-to-cart-container button span {
        display: none;
    }

    .combinations-body-right .add-to-cart-or-refresh {
        flex-wrap: wrap;
        gap: 8px;
    }
}

@media (max-width: 359px) {
    .combinations-body-left img {
        max-width: 75px;
        flex: 1 0 75px;
        width: 100%;
    }

    .combinations-body-right {
        padding-left: 90px;
    }
}