html,
body {
    min-width: 0;
    max-width: 100%;
}

.b-head-control-panel,
.h-layout-clear,
.b-promo-banner.b-online-edit-banner.b-promo-banner_type_text,
.b-info-banner.b-info-banner_level-info {
    display: none !important;
}

body {
    overflow-x: hidden;
}

img,
iframe,
video {
    max-width: 100%;
}

.b-user-content img {
    height: auto;
}

@media only screen and (max-width: 979px) {
    .b-header__nav-part {
        height: auto;
    }
    .b-page__wrapper,
    .b-page__main-content,
    .b-page__footer-wrapper,
    .b-header__wrapper,
    .b-info-box__wrapper,
    .b-sticky-panel__body {
        width: 100%;
        max-width: none;
        padding-right: 20px;
        padding-left: 20px;
        box-sizing: border-box;
    }

    .b-header__wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px 20px;
    }

    .b-header-company-name {
        display: flex;
        flex: 1 1 420px;
        align-items: center;
        max-width: none;
        min-width: 0;
        padding: 14px 0 4px;
    }

    .b-header-company-name__logo-wrapper {
        flex: 0 0 auto;
    }

    .b-header-company-name__description {
        min-width: 0;
    }

    .b-header-company-name__title {
        overflow-wrap: anywhere;
    }

    .b-header__search {
        display: block;
        flex: 1 1 300px;
        width: auto;
        padding: 4px 0 14px;
    }

    .b-header__cart {
        display: block;
        flex: 0 0 auto;
        padding: 4px 0 14px;
    }

    .b-search,
    .b-search__field {
        width: 100%;
        box-sizing: border-box;
    }

    .b-menu__holder {
        display: flex;
        flex-wrap: wrap;
    }

    .b-menu__item {
        float: none;
    }

    .b-page__content-wrapper {
        display: flex;
        flex-direction: column;
    }

    .b-page__content {
        order: 1;
        width: 100%;
        padding-left: 0;
        box-sizing: border-box;
    }

    .b-page__sidebar,
    .b-sidebar {
        position: static;
        float: none;
        width: 100%;
        max-width: none;
        margin: 0 0 24px;
        box-sizing: border-box;
    }

    .b-product-gallery,
    .b-product-groups-gallery,
    .b-product-groups-list,
    .b-portfolio-main-page,
    .b-portfolio-list,
    .b-sitewide-links,
    .b-carousel__holder,
    .b-publication-group__list,
    .b-publication-list__list,
    .b-photos__list,
    .b-photos-folders,
    .b-portfolio__gallery,
    .b-used-goods {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }

    .b-product-gallery__item {
        width: 48%;
        margin-right: 4%;
    }

    .b-product-gallery__item:nth-child(2n) {
        margin-right: 0;
    }

    .b-footer__wrapper,
    .b-footer__content {
        width: 100%;
        box-sizing: border-box;
    }

    .b-user-content,
    .b-user-content * {
        overflow-wrap: anywhere;
    }

    .b-user-content table,
    .b-info-table,
    .b-jobs__table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
    }
}

@media only screen and (max-width: 639px) {
    .b-page__wrapper,
    .b-page__main-content,
    .b-page__footer-wrapper,
    .b-header__wrapper,
    .b-info-box__wrapper,
    .b-sticky-panel__body {
        padding-right: 12px;
        padding-left: 12px;
    }

    .b-header__top .b-header__wrapper {
        display: block;
    }

    .b-header-company-name {
        flex: 1 1 100%;
        flex-direction: column;
        align-items: flex-start;
    }

    .b-header-company-name__description {
        margin-top: 10px;
    }

    .b-header-company-name__title {
        font-size: 18px;
        line-height: 1.25;
    }

    .b-header__search {
        flex-basis: calc(100% - 70px);
    }

    .b-menu__holder {
        display: block;
    }

    .b-menu__item,
    .b-menu__link-wrap,
    .b-menu__link {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .b-menu__sub-nav,
    .b-sub-menu {
        max-width: calc(100vw - 24px);
    }

    .b-product-gallery__item,
    .b-product-groups-gallery__item,
    .b-product-groups-list__item,
    .b-portfolio-main-page__item,
    .b-portfolio-list__item,
    .b-publication-group__item,
    .b-publication-list__item,
    .b-photos__item,
    .b-photos-folders__item,
    .b-portfolio__gallery-item,
    .b-used-goods__item {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }

    .b-product-gallery__image-link {
        width: 100%;
    }

    .b-product-gallery__image {
        max-width: 100%;
        height: auto;
    }

    .b-contact-info__row,
    .b-contact-info__row::before,
    .b-contact-info__cell,
    .b-info-table__row,
    .b-info-table__row::before,
    .b-info-table__cell {
        display: block;
        width: auto;
    }

    .b-custom-button,
    .b-product-gallery__btn {
        max-width: 100%;
    }
}

/* Product details */
@media only screen and (max-width: 979px) {
    .b-product {
        width: 100%;
    }

    .b-product__container {
        display: grid;
        grid-template-columns: minmax(240px, 42%) minmax(0, 1fr);
        width: 100%;
        overflow: hidden;
        border-radius: 10px;
        box-shadow: 0 4px 18px rgba(0, 40, 85, 0.1);
    }

    .b-product__container::before,
    .b-product__container::after {
        display: none;
    }

    .b-product__image-panel {
        float: none;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 20px;
        border-right: 1px solid #e9ecef;
        box-sizing: border-box;
    }

    .b-product__info-holder {
        width: auto;
        min-width: 0;
        margin-left: 0;
        padding: 20px;
        box-sizing: border-box;
    }

    .b-title_type_product_name {
        width: 100%;
        margin-bottom: 14px;
        font-size: 21px;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }

    .b-product-cost__price {
        font-size: 24px;
        line-height: 1.2;
    }

    .b-product__order-panel {
        width: 100%;
        margin: 20px 0;
    }

    .b-product__order-panel .b-custom-button {
        min-height: 44px;
        padding: 11px 24px;
        border-radius: 6px;
        font-size: 15px;
    }

    .b-product-data {
        display: flex;
        flex-wrap: wrap;
        gap: 5px 14px;
    }

    .b-product-data__item {
        margin: 0;
    }

    .b-product-info {
        width: 100%;
    }

    .b-product-info__cell {
        overflow-wrap: anywhere;
    }

    .b-extra-photos,
    .b-extra-photos__container {
        max-width: 100%;
    }
}

@media only screen and (max-width: 639px) {
    .b-product__container {
        display: block;
        border-radius: 8px;
    }

    .b-product__image-panel {
        width: 100%;
        padding: 16px;
        border-right: 0;
        border-bottom: 1px solid #e9ecef;
    }

    .b-product__info-holder {
        width: 100%;
        padding: 18px 16px;
    }

    .b-title_type_product_name {
        font-size: 19px;
        line-height: 1.35;
    }

    .b-product-cost__price {
        font-size: 22px;
    }

    .b-product__order-panel .b-custom-button {
        display: block;
        width: 100%;
    }

    .b-product-info,
    .b-product-info tbody,
    .b-product-info tr,
    .b-product-info__cell {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .b-product-info__cell {
        padding: 12px 0;
    }

    .b-product-info__header {
        margin-bottom: 12px;
        font-size: 18px;
        line-height: 1.35;
    }

    .b-return-policy,
    .b-product__free-delivery {
        line-height: 1.45;
    }
}
