.js-output {
    color: red;
    margin-top: 20px;
}

.js-output.__is-success {
    color: green;
}

.js-output:empty {
    margin-bottom: 0;
    margin-top: 0;
}

.alert {
    color: red;
    margin-bottom: 1em;
}

.alert.alert-success {
    color: green;
}

.alert.alert-warning {
    color: yellow;
}

#bx-soa-main-notifications .alert.alert-warning {
    color: inherit;
}

#bx-soa-order .alert.alert-warning {
    color: #8A6D3B;
}

.btn-default {
    border-radius: 0 !important;
}

.bx-soa-section {
    border-radius: 0 !important;
}

.bx-soa-item-imgcontainer {
    border-radius: 0 !important;
    background-size: cover !important;
}

.bx-soa-section-title-container {
    background: #f3f3f3 !important;
}

.bx-soa-section.bx-selected {
    border: 1px solid #3c3c3c !important;
}

.bx-soa-pp-company.bx-selected .bx-soa-pp-company-graf-container {
    border-color: #040404 !important;
    border-radius: 0 !important;
}

.btn-pay {
    margin-top: 10px;
    display: inline-block;
}

.checkout {
    padding-top: 25rem;
}

.hide {
    display: none;
}

.page-header__card-delete-link {
    display: none;
}

.page-header__cart-list-item:hover .page-header__card-delete-link {
    display: inline-block;
}

.page-header__cart-submit-btn-white {
    color: #fff !important;
}

.checkout-2 {
    padding-top: 2rem;
}

.simple-page {
    margin-top: 14rem;
    margin-bottom: 6rem;
}

.simple-page .product__description-heading {
    font-size: 1.8rem;
    margin-bottom: 2rem;
    -webkit-text-decoration-line: none;
    text-decoration-line: none;
}

.simple-page .product__description-text {
    max-width: 80rem;
    font-size: 1.3rem;
    line-height: 1.8rem;
}

.simple-page .product__description-text b {
    font-weight: 800;
    font-family: 'SFUI Display', sans-serif;
}

.bx-pagination .bx-pagination-container ul li.bx-active span {
    background: #000;
}

.simple-page .product__description-text--full {
    max-width: 100%;
}

.product__description-text h4 {
    margin-top: 2rem;
}

.page-footer__address-phone {
    font-size: 2.4rem;
}

@media all and (max-width: 640px) {
    .page-header__mobile-menu {
        padding: 0;
    }
}

.product__image-block--video {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.product__image-block--video video {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

.catalog__card-image-gallery-card--empty {
    height: 3px;
    background: #000;
}

.catalog__card-image-gallery-card--detail {
    max-height: 700px;
    margin-bottom: 4rem;
}

.product__variants-select select {
    color: #000;
    background-color: #fff;
}

/*
@media all and (min-width: 641px) {
    .product__image-block {
        max-height: 97vh;
        height: 100%;
    }

    .product__image-link {
        max-height: 100%;
        height: 100%;
    }

    .product__image {
        width: auto;
        max-height: 100%;
    }
}
*/
.recommended__products-card-gallery,
.recommended__products-card-image {
    max-height: 394px;
    overflow: hidden;
}

.page-header__nav-dropdown-brands-links {
    max-height: 320px;
    overflow-y: scroll;
}

.page-content, .page-main {
    position: relative;
}

.catalog__filters-dropdown-checkbox-input[disabled],
[disabled] + .catalog__filters-dropdown-checkbox-text {
    opacity: 0.5;
}

@media all and (max-width: 640px) {
    .catalog__filters-accordion {
        width: 100%;
    }

    .finished__totals-item__mod {
        flex-direction: column;
    }

    .finished__totals-item-value__pay {
        width: 100%;
    }

    .btn-pay {
        width: 100%;
        display: block;
        font-size: 2rem;
        margin: 1rem 0;
    }

    .home, .home .container {
        /*height: 100vh !important;*/
    }

    .home__slider-card-title {
        font-size: 1.4rem;
    }

    .home__slider-card-learn-more {
        font-size: 1.1rem;
    }

    .checkout__use-promo .checkout__form-submit {
        width: auto;
    }

    #profile_name + .account-label {
        width: 100%;
    }

    .page-header__logo {
        font-size: 2rem;
    }

    .page-header::before {
        left: 0;
        right: 0;
        top: 0;
    }
}

.page-header.js-fixed-header {
    position: absolute;
}

.account-input.error + .account-label {
    color: red !important;
}

.order-payment-action a.checkout__form-submit {
    color: #fff;
    display: block;
    margin: 0 auto;
}

.contacts__row {
    gap: 20px;
}

.page-header__right-block {
    position: relative;
}

.js-favorites-link {
    display: none;
}

.js-favorites-link.show {
    width: 24px;
    height: 24px;
    line-height: 24px;
    display: flex;
    align-items: center;
    position: absolute;
    right: 25px;
    top: -3px;
}

.page-header .js-favorites-link.show {
    display: none;
}

.page-header--dark .js-favorites-link.show {
    display: flex;
}

.page-header--dark .recommended__products-card-fav svg {
    fill: #000;
}

@media all and (max-width: 640px) {
    .js-favorites-link.show {
        top: 0;
    }
}

.intro__content,
.intro__content .intro__title {
    color: #fff;
}

.page {
    font-size: 1.8rem;
    line-height: 120%;
    padding-top: 22rem;
    margin-bottom: 15rem;
}

.page h1 {
    font-size: 3.6rem;
    margin-bottom: 2.5rem;
    margin-top: 4.5rem;
}

.page h2 {
    font-size: 3rem;
    margin-bottom: 2.5rem;
    margin-top: 4.5rem;
}

.page h3 {
    font-size: 2.4rem;
    margin-bottom: 2.5rem;
    margin-top: 4.5rem;
}

.page h4 {
    font-size: 1.8rem;
    margin-bottom: 2.5rem;
}

.page h5 {
    font-size: 1.6rem;
    margin-bottom: 2.5rem;
}

.page h6 {
    font-size: 1.2rem;
    margin-bottom: 2.5rem;
}

.page p {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
}

.page a {
    text-decoration: underline;
}

.page a:hover {
    text-decoration: none;
}

@media all and (max-width: 640px) {
    .page {
        margin-bottom: 5rem;
        padding-top: 11rem;
    }
}

.catalog__list--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.catalog__list--4 .catalog__list-item {
    grid-column: span 1 !important;
}

@media all and (max-width: 640px) {
    .catalog__list--4 {
        grid-template-columns: repeat(2, minmax(0px, 1fr));
    }
}

.product__title {
    max-width: 48rem;
}