:root {
    --background-error-color: #ff9b9b;
}

/* Filtering */
.category-filters {
    background-color: #F5F5F5;
    padding: 7px;
    margin: 15px 0px;
    border: 1px solid #e8e8e8;
    position: relative;
}

.category-filters-heading {
    font-size: 16px;
    font-weight: bolder;
}

.category-filters-reset {
    float: right;
    margin-top: -23px;
    margin-right: 50px;
}

.category-filters-collapsible {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
}

.category-filters-collapse {
    cursor: pointer;
}

.category-filters-arrow {
    position: absolute;
    right: 15px;
    top: 7px;
}

.category-filters-arrow img {
    filter: invert(70%);
}

.upside-down img {
    transform: rotate(180deg);
}

.category-filters .filter-group {
    padding-right: 35px;
}

.category-filters .filter-group .filter-group-name {
    font-weight: bolder;
    margin-bottom: 5px;
}

.category-filters .filter-group .filter-group-filter label {
    font-weight: normal;
    cursor: pointer;
}

.category-filters .filter-group .filter-group-filter label .filter-value-count {
    color: grey;
}

.category-filters .filter-group .filter-group-filter input[type="checkbox"] {
    width: 18px;
    height: 18px;
    vertical-align: middle;
    margin-top: 0px;
    cursor: pointer;
}

.category-filters .filter-group-price {
    margin-bottom: 10px;

    #filtering-price-slider {
        margin-bottom: 15px;
        padding-left: 15px;
        padding-right: 13px;

        .noUi-connect {
            background: #86beda;
        }
    }

    .filtering-price-inputs {
        display: flex;
        justify-content: space-between;

        .filtering-price-input-group {
            width: 120px;

            input {
                width: 90px;
                height: 28px;
            }
        }

        .filtering-price-group-right {
            text-align: right;
            margin-left: 10px;
        }
    }
}

.category_filter_no_result {
    margin-top: 15px;
}

.filtering-hidden {
    display: none;
}

/* categories menu */
ul.categories_menu_horizontal {
    padding-left: 0px;
}

ul.categories_menu_horizontal li {
    display: inline-block;
    margin-right: 15px;
}

.category-description-collapsed {
    display: none;
}

.added_to_cart_popup {
    .btn-default {
        margin-right: 5px;
    }
}

/* product offering in pop up after add to cart */
.added_to_cart_popup_min_width .itembox {
    text-align: left;
}

.added_to_cart_popup_min_width .pop-up-buttons a {
    margin: 3px;
}

@media screen and (min-width: 991px) {
    .added_to_cart_popup_min_width {
        min-width: 900px;
        max-width: 960px !important;
    }
}

@media screen and (min-width: 1400px) {
    .added_to_cart_popup_min_width {
        max-width: 1340px !important;
    }
}

@media screen and (max-width: 990px) {
    .added_to_cart_popup_min_width {
        max-width: 100%;
    }

    .added_to_cart_popup_min_width .col-md-6 {
        padding: 0px 5px;
    }
}

/* left box for some KE themes */
.left-box {
    margin-top: 10px;
    margin-left: 2px;
}

.left-box .owl-nav .owl-prev,
.left-box .owl-nav .owl-next {
    display: none !important;
}

.left-box .itembox .itembox-content .owl-stage {
    width: 100% !important;
}

.left-box .itembox .itembox-content .owl-item {
    width: 80% !important;
    margin-left: 10%;
}

.left-box .itembox .itembox-content .owl-item .itembox-item {
    border: none;
    padding-top: 5px !important;
    margin-top: 5px !important;
    border-top: 1px solid #e5e5e5;
}

.left-box h2 {
    padding-bottom: 0px !important;
}

/* configurations table */
.table-configuration {
    .form-group {
        margin-bottom: 0px;
    }
}

.deactivated-add-to-cart-configurator {
    filter: grayscale(100%);
}


/* variant configiurator KE */
div#configurator-variants {
    margin-top: 10px;
}

div#configurator-variants div.configurator-feature-value,
div#configurator-variants div.configurator-feature-value-box {
    margin: 0px 30px 20px 0px;
    float: left;
    text-align: center;
    padding: 3px;
    border: 1px solid transparent;
}

div#configurator-variants div.configurator-feature-value:hover {
    border: 1px solid #494949;
    cursor: pointer;
}

div#configurator-variants div.configurator-feature-value.configurator-feature-value-active {
    border: 1px solid black;
    opacity: 1;
}

div#configurator-variants div.configurator-feature-value img,
div#configurator-variants a.configurator-feature-value-image img {
    height: 70px;
    width: auto;
}

div#configurator-variants div.configurator-feature-value-name {
    display: block;
    margin-top: 10px;
}

input.configurator-feature-value {
    margin-right: 7px;
}

/* cart */
.cart-product-stripes-wrapper {
    position: relative;
}

.cart-product-stripes-wrapper>.product-stripes {
    top: 0;
    left: 0;
}

/* Ajax loading */
.ajax-loading {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 10001;
    background: rgba(255, 255, 255, .75);
    padding: 15px;
    border-radius: 5px;
    margin-left: -40px;
    margin-top: -40px;
}

.configurator-feature-select {
    max-width: 250px;
}

/* slider on welcome page */
.owl-carousel {
    display: none;
}

.owl-carousel.owl-loaded {
    display: block;
}

/* inactive product */
div.product_not_exists {
    padding: 0.5em 1em;
    margin: 0.5em 0em;
    font-size: 1.5em;
}

/* Paging */
div.paging-wrapper-outer .item-count {
    text-align: left;
}

div.paging-wrapper-outer .paging-wrapper .paging {
    text-align: center;
}

div.paging-wrapper-outer .show-all-btn-wrapper {
    text-align: right;
}

div.paging-wrapper-outer-top {
    margin-top: 5px;
}

div.paging-wrapper-outer-top div.paging-wrapper-top {
    padding-top: 5px;
    margin-bottom: 2px;
}

div .paging-wrapper-outer-bottom .item-count {
    padding-top: 5px;
}

div.paging-wrapper-outer-bottom div.paging-wrapper-bottom {
    padding-top: 5px;
}

div.paging-wrapper-outer-bottom {
    margin-bottom: 5px;
}

.newsletter-block .right-part {
    display: inline-block;
}

/* solor order message in cart */
.solo_order_message {
    color: orange;
    font-weight: bold;
    margin-top: 1em;
    font-size: 0.9em;
}


/* customer */
.customer-messages {
    font-weight: bold;
    font-size: 1.2em;
    text-align: center;
}

.customer-panel {
    font-size: 1.2em;
    padding-bottom: 0.5em;
    text-align: center;
    display: block;
}


.terms_checkboxes_div label:hover {
    cursor: pointer;
}

/* sticky header & menu */
.is-sticky>.restrict-width-when-sticky {
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 767px) {
    .is-sticky>.restrict-width-when-sticky {
        max-width: 100%;
    }
}

@media screen and (min-width: 768px) {
    .is-sticky>.restrict-width-when-sticky {
        max-width: 720px;
    }
}

@media screen and (min-width: 992px) {
    .is-sticky>.restrict-width-when-sticky {
        max-width: 940px;
    }
}

@media screen and (min-width: 1200px) {
    .is-sticky>.restrict-width-when-sticky {
        max-width: 1140px;
    }
}

#notification-bar-text p {
    margin-bottom: 0px;
}

.upsell-only {

    /* KE product list */
    .stored-count-out-of-stock,
    .stored-count,
    .add-to-cart-group {
        display: none;
    }

    /* KE product detail */
    .product-add-to-shopping-basket-quantity,
    .product-add-to-shopping-basket,
    .es-countdown {
        display: none;
    }
}

.hide-overflowing-images {
    overflow: hidden;
    height: 80px;

    a img {
        max-width: 100% !important;
        width: auto;
        height: 80px;
    }
}

#show-overflowing-images-anchor {
    padding-top: 5px;
    text-align: right;
    display: none;
}

#errors {
    .errors-list {
        p {
            background-color: var(--background-error-color);
            padding: 3px 7px;
            border-radius: 2px;
        }
    }
}

.wholesale_message {
    text-align: center;
    font-size: 1.2em;
    background-color: #DBF7FF;
    padding: 0.5em 0em 0.1em 0em;
}

.fake_quantity_show_button {
    padding: 5px;
    display: block;
    font-size: 0.9em;
    font-weight: normal;
}

p.no_shipping {
    margin: 10px 0px;
}

.shipping-tab-hidden,
.shipping-tab-hidden-pickups {
    display: none;
}

.cart_limited_shipping_show {
    &:hover {
        cursor: pointer;
    }
}

p.variant_id {
    font-size: 0.85em;
}

.show_variant_button {
    display: table;
    padding: 0.5em !important;

    #alternative-products & {
        display: block;
    }

    .add-to-cart-group & {
        margin: 0 !important;
        color: white;
        font-size: 0.88em;
        font-weight: bold;
    }
}

.cart-products {
    .quantity-error {
        background-color: var(--background-error-color);
    }

    p.product_id {
        font-size: 0.9em;
        font-weight: normal;
    }
}

#hover-cart {
    #hover-cart-products {

        .product-image {
            img {
                height: 50px;
                width: auto;
            }
        }

        .product-cancel {
            width: 10px;
            text-align: right;
            float: right;
            font-weight: bold;
            position: relative;
            left: 7px;

            &:after {
                content: "\00d7";
                font-size: 21px;
                position: relative;
                top: -6px;
            }

            &:hover {
                cursor: pointer;
            }
        }
    }
}

.additional-service-panel {
    input[type="checkbox"] {
        width: 1.2em;
        height: 1.2em;
        vertical-align: bottom;
        margin-right: 0.2em;
    }

    h3 {
        font-size: 1.2em;
    }

    label {
        display: unset;
        cursor: pointer;
    }

    /* BS4 */
    .card-title {
        margin-bottom: 0em;
    }

    /* BS3 */
    .panel-body {
        padding-bottom: 5px;
    }
}

div#show-or-hide-company {
    margin-bottom: 15px;

    #show-company,
    #hide-company,
    #company-column {
        display: none;

    }
}

.blog-date-updated {
    font-size: 0.9em;
}

.blog-post .thumbnail {
    margin-top: 20px;

    img {
        max-width: 100%;
    }
}

.blog-gallery a {
    display: block;
    height: 150px;
    width: auto;
    text-align: center;

    img {
        height: 140px;
        max-width: 100%;
    }
}

.landing-page .thumbnail {
    margin-top: 20px;

    img {
        max-width: 100%;
    }
}

div.pah,
div.nah {
    display: none;
}

.body-landing-page {
    .breadcrumbs {
        display: none;
    }
}

/* banner between products */
.product-banner {
    display: flex !important;

    img {
        max-width: 100%;
        height: auto;
        display: block;
        max-height: 100%;
        margin: 0 auto;
        align-self: center;
    }
}

.product.product-banner {
    box-shadow: none;
    background-color: transparent;
    padding: 0;
    border: none;
}

@media screen and (max-width: 767px) {
    .product-banner .banner-asbg {
        display: none;
    }

    .product-banner img {
        display: block;
        margin: 0 auto;
    }
}

p.blog-excerpt-detail {
    font-weight: bold;
}

p.blog-excerpt-blog {
    font-weight: bold;
}

p.landing-page-excerpt {
    font-weight: bold;
}

#use_credit_checkbox,
label[for="use_credit_checkbox"] {
    cursor: pointer;
}

#use_credit_checkbox {
    width: 1.2em;
    height: 1.2em;
    margin-right: 0.2em;
}

label[for="use_credit_checkbox"] {
    font-size: 1.2em;
}

span.configurator-note {
    color: red;
    font-size: 0.85em;
}

.product-similar-categories {
    background: #f9f9f954;
    border: solid 1px #f9f9f9;
    margin: 30px 0;
    border-radius: 2px;

    &__box {
        display: flex;
        flex-wrap: wrap;
    }

    &__item {
        margin: 0.5em;
        font-size: 0.85em;
    }

    &__item {
        & a {
            text-decoration: none;
            display: flex;

            .bi {
                margin-right: 5px;
                font-size: 110%;
            }
        }
    }
}

.category-sorting-links {
    &__list {
        margin: 0;
        padding: 0;
        list-style-type: none;
    }

    &__item {
        font-size: 12px;
        margin-bottom: 7px;

        &:last-child {
            margin-bottom: 0;
        }
    }
}

.manufacturers_list_wrapper img {
    width: 100%;
}

img.pdf-invoice {
    width: 16px;
    height: 16px;
}

table.customer-order-detail-table {
    font-size: 1rem;

    .customer-order-img-wrapper {
        width: 60px;
        height: 60px;

        img {
            height: auto;
            max-width: 100%;
        }
    }
}

.localized-eshops-links {
    div {
        font-size: 0.85em;
        margin-bottom: 0.15em;
    }
}

.designer-modal {
    z-index: 2147483647 !important;

    .fancybox-stage {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .fancybox-iframe {
        background-color: white;
        max-height: calc(100vh - 48px);
        object-fit: contain;
    }

    .fancybox-slide {
        padding: 24px;
    }
}

.designer-pdf {
    display: none;
}

img.designer-image-preview {
    max-width: 80px;
    max-height: 80px;
    margin-right: 5px;
    border: 1px solid #eaecef;
    display: none;
    cursor: pointer;
}

.additional_services_products_image {
    width: 50px;
    height: 50px;
    margin-right: 10px;
    aspect-ratio: 1;
    object-fit: contain;
}

/* ratings */
.review-cards {
    .rounded-circle {
        text-align: center;
        font-size: 23px;
        line-height: 72px;
        text-transform: uppercase;
        letter-spacing: 1px;
        background-clip: padding-box;
    }

    .reaction {
        margin: 30px 10px 10px 30px;
        background-color: #fff;
        padding: 14px 20px !important;
        border: 0 !important;
        box-shadow: 0 0 40px rgba(0, 0, 0, 0.05);
    }
}

a[data-bs-custom-class="popper-simple-tooltip"] {
    text-decoration: none !important;

    &:hover {
        text-decoration: none !important;
    }
}

/* tertiary descriptions */
.tertiary-description {
    .t-right-col img {
        width: 80px !important;
        height: 80px !important;
        object-fit: contain;

        @media screen and (min-width: 768px) and (max-width: 991px) {
            width: 60px !important;
            height: 60px !important;
        }
    }
}

.scroll-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
    cursor: pointer;
    width: 55px;
    height: 55px;
    z-index: 1000;
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;

    &.show {
        opacity: 1;
        visibility: visible;
    }
}

.favorite-action[data-action="remove"] {
    opacity: 0.8;
}
