/* Technical rebranding overrides. Existing layout and component styles stay intact. */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

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

@media (max-width: 767px) {
    .breadcrumb {
        flex-wrap: wrap;
        gap: 8px 0;
        max-width: 100%;
        overflow: visible;
        padding-bottom: 4px;
        white-space: normal;
    }

    .breadcrumb-item {
        flex: 0 1 auto;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .breadcrumb-item a,
    .breadcrumb-item span {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

/* Широкий фирменный логотип ВКонтакте в тёмном футере. */
#footer .soc-i {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 170px !important;
    height: 43px !important;
    padding: 6px 9px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#footer .soc-i:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 22px rgba(0, 0, 0, 0.24);
}

#footer .soc-i img {
    display: block;
    width: 100% !important;
    height: auto !important;
}

#footer .bagira-footer-address {
    display: block;
    max-width: 260px;
    margin: 8px 0 0 auto;
    color: #a9a9a9;
    font-size: 14px;
    line-height: 1.35;
    text-align: right;
}

#footer .bagira-footer-email {
    display: inline-block;
    margin-top: 7px;
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    text-decoration: none;
}

#footer .bagira-footer-email:hover {
    color: #f6cf58;
}

@media (max-width: 767px) {
    #footer .soc-i {
        width: 170px !important;
        height: 43px !important;
        padding: 6px 9px;
    }

    #footer .bagira-footer-address {
        max-width: 180px;
        font-size: 13px;
        line-height: 1.3;
    }

    #footer .bagira-footer-email {
        max-width: 180px;
        font-size: 13px;
        word-break: break-word;
    }
}

@media (max-width: 991px) {
    input,
    select,
    textarea {
        font-size: 16px !important;
    }
}

/* Вместо форм обратного звонка — прямой телефон компании. */
.bagira-phone-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: min(500px, 100%);
    margin: 24px 0 36px;
    padding: 24px 28px;
    border-radius: 16px;
    background: #2f6f50;
    color: #fff;
    box-shadow: 0 12px 30px rgba(31, 75, 55, .14);
}

.bagira-phone-contact__label {
    margin-bottom: 5px;
    color: rgba(255, 255, 255, .76);
    font-size: 15px;
}

.bagira-phone-contact__number {
    color: #fff;
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 600;
    line-height: 1.15;
    text-decoration: none;
}

.bagira-phone-contact__number:hover {
    color: #f6cf58;
}

.bagira-phone-contact__note {
    margin-top: 9px;
    color: rgba(255, 255, 255, .78);
    font-size: 14px;
    line-height: 1.45;
}

.bagira-product-contact__details {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 10px;
    margin-top: 19px;
    padding-top: 17px;
    border-top: 1px solid rgba(255, 255, 255, .22);
    text-align: left;
}

.bagira-product-contact__item {
    display: block;
    padding: 11px 13px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 10px;
    background: rgba(255, 255, 255, .09);
    color: #fff;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease;
}

.bagira-product-contact__item:hover {
    border-color: rgba(255, 255, 255, .3);
    background: rgba(255, 255, 255, .15);
    color: #fff;
}

.bagira-product-contact__caption,
.bagira-product-contact__value {
    display: block;
}

.bagira-product-contact__caption {
    color: rgba(255, 255, 255, .68);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.bagira-product-contact__value {
    margin-top: 4px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

/* Кнопка звонка на странице контактов. */
.contactsPage .contactsBlock .contactsInfo > div:last-child {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.contactsPage .contactsBlock .contactsInfo .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(280px, 100%) !important;
    height: auto;
    min-height: 58px;
    padding: 16px 28px;
    border: 1px solid #2f6f50;
    border-radius: 10px;
    background: #2f6f50 !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(31, 75, 55, .16);
}

.contactsPage .contactsBlock .contactsInfo .btn:hover {
    border-color: #255b40;
    background: #255b40 !important;
}

.contactsPage .bagira-contact-trust > .row {
    flex-wrap: wrap !important;
    justify-content: center;
    row-gap: 24px;
}

.contactsPage .bagira-contact-trust .trust-item {
    height: 100%;
    padding: 26px 20px;
    border: 1px solid #e8ede9;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(31, 75, 55, .07);
}

.contactsPage .bagira-contact-address {
    display: block;
    color: #212121;
    text-decoration: none;
}

.contactsPage .bagira-contact-address:hover,
.contactsPage .bagira-contact-email:hover {
    color: #2f6f50;
}

.contactsPage .bagira-contact-email {
    display: block;
    width: max-content;
    max-width: 100%;
    margin-top: 10px;
    color: #2f6f50;
    font-size: 17px;
    font-weight: 500;
    text-decoration: none;
}

.contactsPage .mapBlock {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #eef3ef 0%, #dfe9e2 100%);
}

.contactsPage .bagira-map-link {
    position: absolute;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 20px;
    border-radius: 10px;
    background: #2f6f50;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(31, 75, 55, .22);
}

.contactsPage .bagira-map-link:hover {
    background: #255b40;
    color: #fff;
}

/* Компактная телефонная карточка справа от галереи товара. */
@media (min-width: 992px) {
    .catalog-detail .rightSchemeForm .detail-form {
        padding: 30px;
    }

    .catalog-detail .rightSchemeForm .bagira-phone-contact {
        align-items: center;
        width: 100%;
        margin: 0;
        padding: 28px 20px;
        text-align: center;
    }

    .catalog-detail .rightSchemeForm .bagira-phone-contact__label,
    .catalog-detail .rightSchemeForm .bagira-phone-contact__note {
        width: 100%;
    }

    .catalog-detail .rightSchemeForm .bagira-phone-contact__number {
        font-size: clamp(27px, 2.35vw, 34px);
        white-space: nowrap;
    }
}

@media (max-width: 991px) {
    .bagira-phone-contact {
        align-items: center;
        margin: 22px auto 30px;
        padding: 22px 18px;
        text-align: center;
    }

    .bagira-phone-contact__number {
        font-size: 28px;
    }

    .catalog-detail .rightSchemeForm .detail-form {
        padding: 20px;
    }

    .catalog-detail .rightSchemeForm .bagira-phone-contact {
        width: 100%;
        margin: 0;
    }
}

@media (max-width: 767px) {
    .contactsPage .mobile-block {
        display: none !important;
    }

    .contactsPage .contactsBlock .contactsInfo > div:last-child {
        justify-content: stretch;
    }

    .contactsPage .contactsBlock .contactsInfo .btn {
        width: 100% !important;
        min-height: 56px;
    }

    .contactsPage .bagira-contact-trust > .row {
        row-gap: 14px;
    }

    .contactsPage .bagira-contact-trust .trust-item {
        padding: 22px 18px;
    }

    .contactsPage .bagira-map-link {
        right: 14px;
        bottom: 14px;
        min-height: 44px;
        padding: 10px 15px;
        font-size: 14px;
    }
}

/* Количество моделей в плитках каталога на главной. */
.catalogSections-item .cat-title:has(.cat-count) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.catalogSections-item .cat-title__name {
    display: block;
}

.catalogSections-item .cat-count {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    background: rgba(16, 38, 28, .54);
    color: rgba(255, 255, 255, .94);
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    backdrop-filter: blur(5px);
}

/* Фирменный знак в мобильной карточке заказа вместо старой подложки. */
.OrderFurnitureApartment.green::before {
    background-position: center 8px;
    background-size: 76% auto;
    filter: brightness(0) invert(1);
    opacity: .12;
}

/* Старые брендированные фоновые изображения на архивной странице партнёров не показываем. */
.partnersPage .directorText .personalText {
    background-image: none !important;
}

@media (max-width: 767px) {
    .catalogSections-item .cat-title:has(.cat-count) {
        gap: 4px;
    }

    .catalogSections-item .cat-count {
        min-height: 20px;
        padding: 3px 7px;
        font-size: 11px;
    }
}

.reviewYa,
.subscribe-block,
.completed-projects,
.personal-list,
.placeSlider,
.sharing,
.SliderYoutube,
.videoReviewLine,
.videoReview,
iframe[src*="youtube"],
iframe[src*="rutube"],
iframe[src*="vimeo"] {
    display: none !important;
}

/* Готовый макет блока соцсетей: изображение уже содержит весь текст и графику. */
.subscribe-block.bagira-social-banner {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: clamp(20px, 2.2vw, 36px) 20px;
    overflow: hidden;
    background: #fff;
}

.bagira-social-banner > a {
    display: block;
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(13, 62, 45, .10);
}

.bagira-social-banner > a > img {
    display: block;
    width: 100%;
    height: auto;
}

.bagira-social-banner__legacy {
    display: none !important;
}

.aboutGallery img {
    object-fit: cover;
    object-position: center;
}

@media (max-width: 1199px) {
    .productsRows > .row.g-5 {
        margin-right: 0;
        margin-left: 0;
    }
}

@media (max-width: 575px) {
    .pagination {
        flex-wrap: wrap;
        gap: 6px;
        max-width: 100%;
    }

    .pagination .page-item,
    .pagination .page-item + .page-item {
        width: 36px;
        height: 36px;
        margin-left: 0;
    }

    .pagination .page-item .page-link {
        font-size: 14px;
    }
}

@media (max-width: 359px) {
    .pagination {
        gap: 4px;
    }

    .pagination .page-item,
    .pagination .page-item + .page-item {
        width: 32px;
        height: 32px;
    }

    .container-xxl.y777 > .d-flex > .btn-success {
        width: 104px;
        padding-right: 10px;
        padding-left: 10px;
        font-size: 13px;
    }
}

@media (max-width: 767px) {
    .mapBlock {
        min-height: 360px;
        margin-top: 24px;
    }

    .mapBlock #map {
        height: 360px;
    }
}

@media (max-width: 575px) {
    .reviews_slide .author-name,
    .review-card .author-name {
        font-size: 12px !important;
        line-height: 1.3;
    }
}

/* FAQ на главной между каталогом и блоком социальных сетей. */
.bagira-faq {
    padding: clamp(64px, 7vw, 110px) 20px;
    background: #f3f4f1;
    color: #17221d;
}

.bagira-faq__inner {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(50px, 6vw, 96px);
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.bagira-faq__intro {
    align-self: start;
}

.bagira-faq__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 15px;
    border-radius: 999px;
    background: #f6cf58;
    color: #173c2d;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .02em;
}

.bagira-faq h2 {
    max-width: 520px;
    margin: 24px 0 20px;
    font-size: clamp(36px, 3.3vw, 54px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.bagira-faq__intro > p {
    max-width: 470px;
    margin: 0;
    color: #5d6863;
    font-size: 18px;
    line-height: 1.55;
}

.bagira-faq__contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 420px;
    margin-top: 42px;
    padding: 26px 28px;
    border-radius: 18px;
    background: #2f6f50;
    color: #fff;
    box-shadow: 0 14px 34px rgba(30, 82, 59, .14);
}

.bagira-faq__contact-title {
    margin-bottom: 7px;
    color: rgba(255, 255, 255, .78);
    font-size: 15px;
}

.bagira-faq__phone {
    color: #fff;
    font-size: clamp(24px, 2vw, 31px);
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

.bagira-faq__phone:hover {
    color: #f6cf58;
}

.bagira-faq__hours {
    margin-top: 11px;
    color: rgba(255, 255, 255, .72);
    font-size: 13px;
    line-height: 1.45;
}

.bagira-faq__contact-details {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 9px;
    margin-top: 18px;
    margin-bottom: 0;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, .22);
}

.bagira-faq__contact-row {
    display: block;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 10px;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease;
}

.bagira-faq__contact-row:hover {
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .12);
}

.bagira-faq__contact-caption,
.bagira-faq__contact-value {
    display: block;
    margin: 0;
}

.bagira-faq__contact-caption {
    color: rgba(255, 255, 255, .66);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.2;
    text-transform: uppercase;
}

.bagira-faq__contact-value {
    margin-top: 4px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.bagira-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bagira-faq__list details {
    overflow: hidden;
    border: 1px solid #dfe4df;
    border-radius: 16px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.bagira-faq__list details[open] {
    border-color: rgba(47, 111, 80, .35);
    box-shadow: 0 12px 30px rgba(31, 67, 51, .08);
}

.bagira-faq__list summary {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 78px;
    padding: 20px 74px 20px 25px;
    color: #17221d;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
    list-style: none;
}

.bagira-faq__list summary::-webkit-details-marker {
    display: none;
}

.bagira-faq__list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 22px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #eef3ef;
    color: #2f6f50;
    font-size: 27px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-50%);
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.bagira-faq__list details[open] summary::after {
    background: #2f6f50;
    color: #fff;
    transform: translateY(-50%) rotate(45deg);
}

.bagira-faq__answer {
    padding: 0 74px 23px 25px;
    color: #606b66;
    font-size: 16px;
    line-height: 1.6;
}

@media (max-width: 991px) {
    .bagira-faq__inner {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .bagira-faq h2,
    .bagira-faq__intro > p,
    .bagira-faq__contact {
        max-width: 680px;
    }
}

@media (max-width: 575px) {
    .bagira-faq {
        padding: 52px 14px;
    }

    .bagira-faq h2 {
        margin-top: 18px;
        font-size: 34px;
    }

    .bagira-faq__intro > p {
        font-size: 16px;
    }

    .bagira-faq__contact {
        margin-top: 28px;
        padding: 22px;
    }

    .bagira-faq__list summary {
        min-height: 70px;
        padding: 17px 62px 17px 19px;
        font-size: 17px;
    }

    .bagira-faq__list summary::after {
        right: 16px;
        width: 34px;
        height: 34px;
        font-size: 24px;
    }

    .bagira-faq__answer {
        padding: 0 20px 20px;
        font-size: 15px;
    }

    .subscribe-block.bagira-social-banner {
        padding: 14px 10px;
    }

    .bagira-social-banner > a {
        border-radius: 10px;
        box-shadow: 0 6px 18px rgba(13, 62, 45, .10);
    }
}

a.about_video-wrapper {
    pointer-events: none;
    cursor: default;
}

.textBlock h2,
.textBlock h3,
.textBlock h2 span,
.textBlock h3 span {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) {
    .catalogSections-item,
    .service-item,
    .trust-item,
    .bagira-social-banner > a,
    .bagira-faq__list details,
    .bagira-product-contact__item,
    .bagira-faq__contact-row {
        transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
    }

    .catalogSections-item:hover,
    .service-item:hover,
    .contactsPage .trust-item:hover,
    .bagira-social-banner > a:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 34px rgba(24, 67, 47, .14);
    }
}

/* Читаемая вёрстка политики обработки персональных данных. */
.privacy-policy {
    max-width: 1120px;
}

.privacy-policy h2 {
    margin-top: 38px;
    margin-bottom: 16px;
    font-size: 30px;
    line-height: 1.25;
}

.privacy-policy p,
.privacy-policy li,
.privacy-policy td,
.privacy-policy th {
    font-size: 16px;
    line-height: 1.55;
}

.privacy-policy .table {
    min-width: 900px;
    margin: 20px 0 8px;
}

.privacy-policy .table th {
    padding: 14px 16px;
    background: #3a7653;
    color: #fff;
    font-weight: 600;
    vertical-align: middle;
}

.privacy-policy .table td {
    padding: 14px 16px;
    vertical-align: top;
}

/* Брендированную подложку на странице компании не показываем. */
.aboutProductionPage .personalText {
    background-image: none !important;
}

/* После удаления старого брендированного фона текст о компании занимает секцию целиком. */
.aboutProductionPage .personalText .designerBlock {
    padding: 48px 0;
}

.aboutProductionPage .personalText .designerBlock > .col-xl-6 {
    width: 100%;
    padding-bottom: 0 !important;
}

.aboutProductionPage .personalText .designerBlock .pHead {
    margin-top: 0;
}

.aboutProductionPage .personalText .designerBlock .pText,
.aboutProductionPage .personalText .designerBlock .pText p {
    max-width: 980px;
}

/* Умеренный отступ перед блоком «О компании» на главной. */
.mainPage .container-xxl.pb107.ccc777 {
    padding-top: 64px !important;
}

.greenLine .bagira-cta-logo {
    display: block;
    width: min(360px, 80%);
    max-height: 220px;
    margin: 2rem auto;
    object-fit: contain;
    filter: invert(1) brightness(2);
    opacity: .92;
}

/* Белый логотип на темном фоне футера. */
.footer img[src*="logo_bottom.svg"] {
    filter: brightness(0) invert(1);
}

/* Елена в карточке персонального дизайнера на страницах товаров. */
@media (min-width: 992px) {
    .catalog-detail .personalDesigner .designer[src$="Elena.webp"] {
        align-self: flex-end;
        width: 220px;
        height: 250px;
        margin-top: 0;
        object-fit: cover;
        object-position: center top;
    }
}

@media (max-width: 991px) {
    .catalog-detail .personalDesigner .designerGM[src$="Elena.webp"] {
        width: 185px;
        height: 220px;
        object-fit: cover;
        object-position: center top;
    }
}

/* Простая ссылка на каталог вместо формы заявки на главной. */
.feedback__catalog-action {
    display: flex;
    justify-content: center;
}

.feedback__form .feedback__catalog-link {
    min-width: 280px;
    margin: 0;
    padding: 0 36px;
}

/* Убираем пустой промежуток между каталогом-CTA и блоком консультации. */
.feedback {
    margin-bottom: 0 !important;
}

/* Новый договор в блоке официальной гарантии. */
.doc__img img[src$="documentglav.webp"] {
    width: 360px;
    height: auto;
    max-width: 100%;
}

/* Аккуратная компоновка всплывающей консультации. */
:is(#RegistrationSlonModal, #designerModal) {
    margin-top: 0 !important;
}

:is(#RegistrationSlonModal, #designerModal) .modal-dialog {
    width: calc(100% - 40px);
    max-width: 1080px;
    margin: 32px auto;
}

:is(#RegistrationSlonModal, #designerModal) .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 16px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
}

:is(#RegistrationSlonModal, #designerModal) .modal-body {
    padding: 0 !important;
}

:is(#RegistrationSlonModal, #designerModal) .modal-body .btn-close {
    top: 18px;
    right: 18px;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock {
    min-height: 520px;
    margin: 0 !important;
    align-items: stretch;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock > .col-lg-7.pt76 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 48px 20px 44px 48px !important;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock .blockHead {
    margin-top: 0 !important;
    font-size: 42px;
    line-height: 1.25;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock p {
    margin-bottom: 18px;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock form.mb-4 {
    max-width: 570px;
    margin-bottom: 0 !important;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock .inputBlock input {
    max-width: 100%;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock .btnBlock {
    display: grid !important;
    grid-template-columns: minmax(245px, 305px) minmax(190px, 1fr);
    gap: 16px;
    margin-top: 20px !important;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock .btn {
    width: 100%;
    margin-right: 0 !important;
    padding: 20px 24px;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock > .col-lg-5 {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    overflow: hidden;
}

:is(#RegistrationSlonModal, #designerModal) .designerBlock .woman[src$="Elena.webp"] {
    display: block;
    width: 330px;
    max-width: 94%;
    max-height: 500px;
    margin: 0 auto;
    object-fit: contain;
    object-position: center bottom;
}

/* Компактный блок консультации: форма и фото дизайнера одной высоты. */
@media (min-width: 992px) {
    .feedback {
        background-image: url("../../Zurnal.webp") !important;
        background-repeat: no-repeat !important;
        background-position: center top !important;
    }

    .greyLine.withBtnGreen.pb-0 > .container-xxl > .designerBlock > .col-lg-7.pt76 {
        padding-top: 52px !important;
    }

    .greyLine.withBtnGreen.pb-0 > .container-xxl > .designerBlock form.mb-4 {
        margin-bottom: 44px !important;
    }

    .greyLine.withBtnGreen.pb-0 > .container-xxl > .designerBlock .woman {
        display: block;
        width: 380px;
        height: 420px;
        max-height: none;
        margin: -30px auto 0;
        object-fit: cover;
        object-position: center top;
    }
}

@media (max-width: 991px) {
    .privacy-policy {
        padding-top: 34px !important;
        padding-bottom: 70px !important;
    }

    .privacy-policy .pageHead {
        font-size: 32px;
        line-height: 1.15;
    }

    .privacy-policy h2 {
        margin-top: 30px;
        font-size: 24px;
    }

    :is(#RegistrationSlonModal, #designerModal) .modal-dialog {
        width: calc(100% - 20px);
        margin: 10px auto;
    }

    :is(#RegistrationSlonModal, #designerModal) .modal-content {
        max-height: calc(100vh - 20px);
        overflow-y: auto;
    }

    :is(#RegistrationSlonModal, #designerModal) .designerBlock {
        min-height: 0;
    }

    :is(#RegistrationSlonModal, #designerModal) .designerBlock > .col-lg-7.pt76 {
        padding: 48px 22px 24px !important;
    }

    :is(#RegistrationSlonModal, #designerModal) .designerBlock .blockHead {
        font-size: 30px;
        line-height: 1.18;
        text-align: center !important;
    }

    :is(#RegistrationSlonModal, #designerModal) .designerBlock p {
        font-size: 17px;
        text-align: center !important;
    }

    :is(#RegistrationSlonModal, #designerModal) .designerBlock .btnBlock {
        display: flex !important;
        flex-direction: column;
        gap: 12px;
    }

    :is(#RegistrationSlonModal, #designerModal) .designerBlock .inf {
        text-align: center;
    }

    :is(#RegistrationSlonModal, #designerModal) .designerBlock > .col-lg-5 {
        height: 250px;
    }

    :is(#RegistrationSlonModal, #designerModal) .designerBlock .woman[src$="Elena.webp"] {
        width: 190px;
        max-height: 250px;
    }

    .doc__img:has(img[src$="documentglav.webp"]) {
        left: 0;
    }

    .doc__img img[src$="documentglav.webp"] {
        display: block;
        width: 300px;
        margin: 0 auto;
    }

    .mainPage .container-xxl.pb107.ccc777 {
        padding-top: 36px !important;
    }

    .feedback__form .feedback__catalog-link {
        width: min(360px, 100%);
        margin-top: 0;
    }
}

/* Полировка главной страницы для телефонов. */
.mainPage .bagira-header-meta {
    display: none;
}

@media (min-width: 768px) {
    .mainPage .trust {
        margin: 34px 0 42px;
        padding: 8px;
        overflow: hidden;
        border: 1px solid #e2e8e3;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 12px 28px rgba(31, 68, 50, .08);
    }

    .mainPage .trust > .row {
        --bs-gutter-x: 0;
        flex-wrap: wrap !important;
        margin: 0;
    }

    .mainPage .trust > .row > [class*="col-"] {
        padding: 0;
    }

    .mainPage .trust-item {
        height: 100%;
        min-height: 162px;
        margin: 0;
        padding: 20px 12px 17px;
    }

    .mainPage .trust-item .img {
        width: 44px;
        height: 44px;
        margin-bottom: 11px;
    }

    .mainPage .trust-item .img img {
        width: 25px;
        height: 25px;
        object-fit: contain;
    }

    .mainPage .trust-item b {
        margin-bottom: 6px;
        font-size: 18px;
        line-height: 1.16;
    }

    .mainPage .trust-item span {
        color: #647069;
        font-size: 13px;
        line-height: 1.34;
    }
}

@media (min-width: 992px) {
    .mainPage .trust > .row > [class*="col-"]:not(:last-child) .trust-item {
        border-right: 1px solid #e8ece9;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .mainPage .trust > .row > [class*="col-"]:not(:nth-child(3n)) .trust-item {
        border-right: 1px solid #e8ece9;
    }

    .mainPage .trust > .row > [class*="col-"]:nth-child(-n+3) .trust-item {
        border-bottom: 1px solid #e8ece9;
    }
}

@media (max-width: 767.98px) {
    .mainPage {
        background: #fff;
    }

    .mainPage #header {
        position: relative;
        z-index: 20;
        box-shadow: 0 8px 24px rgba(24, 52, 39, .07);
    }

    .mainPage #header > .container-xxl > .row.pt-3.pb-3 > .col-5 {
        width: 72%;
    }

    .mainPage #header > .container-xxl > .row.pt-3.pb-3 > .col-7 {
        width: 28%;
        padding-left: 0;
    }

    .mainPage #header .logo {
        width: 100%;
        margin-right: 0;
    }

    .mainPage #header .logo > a:first-child {
        flex: 0 0 auto;
        margin-right: 10px;
    }

    .mainPage #header .bagira-logo {
        width: 94px;
        height: auto;
    }

    .mainPage .bagira-header-meta {
        display: flex;
        min-width: 0;
        flex: 1 1 auto;
        flex-direction: column;
        justify-content: center;
        margin: 0 !important;
        padding-left: 10px;
        border-left: 1px solid #dfe4e0;
    }

    .mainPage .bagira-header-address {
        display: flex;
        min-width: 0;
        flex-direction: column;
        color: #38463f;
        font-size: 10px;
        line-height: 1.18;
        text-align: left;
        text-decoration: none;
    }

    .mainPage .bagira-header-address strong,
    .mainPage .bagira-header-address span {
        display: block;
    }

    .mainPage .bagira-header-address strong {
        margin-bottom: 3px;
        color: #1f2b25;
        font-size: 11px;
        font-weight: 700;
    }

    .mainPage .bagira-header-phone {
        display: block;
        margin-top: 4px;
        color: #2f6f50;
        font-size: 10px;
        font-weight: 700;
        line-height: 1.1;
        text-decoration: none;
        white-space: nowrap;
    }

    .mainPage .mobile-block {
        display: none !important;
    }

    .mainPage .bagira-mobile-quicknav {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 112px;
        gap: 8px;
        align-items: stretch;
        margin-top: 10px;
    }

    .mainPage .bagira-mobile-quicknav .mnu-mobile-line {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow: hidden;
        border: 1px solid #e0e6e1;
        border-radius: 12px;
        background: #f4f6f4;
    }

    .mainPage .bagira-mobile-quicknav .mnu-mobile-line li {
        display: flex;
        min-width: 0;
        margin: 0;
    }

    .mainPage .bagira-mobile-quicknav .mnu-mobile-line li + li {
        margin-left: 0;
        border-left: 1px solid #dde4df;
    }

    .mainPage .bagira-mobile-quicknav .mnu-mobile-line a {
        display: flex;
        width: 100%;
        min-height: 46px;
        align-items: center;
        justify-content: center;
        padding: 7px 4px;
        color: #29362f;
        font-size: clamp(11.5px, 3.35vw, 13px);
        font-weight: 600;
        line-height: 1;
        text-align: center;
        text-decoration: none;
        white-space: nowrap;
    }

    .mainPage .bagira-mobile-quicknav > .btn {
        display: flex;
        min-height: 46px;
        align-items: center;
        justify-content: center;
        padding: 8px 10px;
        border-radius: 12px;
        font-size: 14px;
        box-shadow: 0 7px 18px rgba(31, 86, 59, .15);
    }

    .mainPage .bagira-main-banner {
        width: auto;
        margin: 14px 4px 0 !important;
        border-radius: 18px !important;
        box-shadow: 0 12px 28px rgba(27, 54, 42, .13);
    }

    .mainPage .bagira-main-banner img {
        height: clamp(174px, 51vw, 196px) !important;
    }

    .mainPage .trust {
        margin: 24px 4px 34px;
        padding: 8px;
        overflow: visible;
        border: 1px solid #e2e8e3;
        border-radius: 19px;
        background: #fff;
        box-shadow: 0 12px 28px rgba(31, 68, 50, .09);
    }

    .mainPage .trust > .row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        width: 100%;
        margin: 0;
        overflow: visible;
    }

    .mainPage .trust > .row > [class*="col-"] {
        width: auto !important;
        max-width: none;
        padding: 0;
    }

    .mainPage .trust-item {
        justify-content: flex-start;
        height: 100%;
        min-height: 124px;
        margin: 0;
        padding: 14px 9px 13px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .mainPage .trust > .row > [class*="col-"]:nth-child(-n+4) .trust-item {
        border-bottom: 1px solid #e8ece9;
    }

    .mainPage .trust > .row > [class*="col-"]:nth-child(odd) .trust-item {
        border-right: 1px solid #e8ece9;
    }

    .mainPage .trust-item .img {
        width: 38px;
        height: 38px;
        margin-bottom: 8px;
        background: #f0f4f1;
    }

    .mainPage .trust-item .img img {
        width: 23px;
        height: 23px;
        object-fit: contain;
    }

    .mainPage .trust-item b {
        margin-bottom: 4px;
        font-size: 16px;
        line-height: 1.16;
    }

    .mainPage .trust-item span {
        color: #647069;
        font-size: 12px;
        line-height: 1.28;
    }

    .mainPage .quiz__buttons__hint {
        display: none !important;
    }

    .mainPage .greyLine.withBtn.pt76.pb107 {
        padding-top: 44px !important;
        padding-bottom: 48px !important;
        background: #f3f5f2;
    }

    .mainPage .greyLine.withBtn > .container-xxl {
        padding-right: 14px;
        padding-left: 14px;
    }

    .mainPage .greyLine.withBtn .blockHead {
        max-width: 330px;
        margin: 0 auto;
        font-size: 28px;
        line-height: 1.13;
        letter-spacing: -.35px;
    }

    .mainPage .greyLine.withBtn .blockDescr {
        max-width: 310px;
        margin: 10px auto 0;
        color: #69736e;
        font-size: 15px;
        line-height: 1.4;
    }

    .mainPage .catalogSections {
        margin-top: 27px;
    }

    .mainPage .catalogSections .row {
        --bs-gutter-x: 10px;
        --bs-gutter-y: 10px;
        margin-right: -5px;
        margin-left: -5px;
    }

    .mainPage .catalogSections-item {
        overflow: hidden;
        border-radius: 15px;
        background: #dfe5e0;
        box-shadow: 0 8px 20px rgba(22, 53, 38, .12);
    }

    .mainPage .catalogSections-item::after {
        border-radius: 15px;
        background: linear-gradient(180deg, rgba(13, 32, 23, 0) 34%, rgba(13, 32, 23, .82) 100%);
    }

    .mainPage .catalogSections .img {
        height: clamp(132px, 39vw, 152px);
    }

    .mainPage .catalogSections-item .cat-title {
        right: 10px;
        bottom: 11px;
        left: 11px;
        gap: 4px;
        font-size: 15px;
        line-height: 1.14;
        text-shadow: 0 1px 6px rgba(0, 0, 0, .35);
    }

    .mainPage .catalogSections-item .cat-count {
        min-height: 19px;
        padding: 3px 7px;
        font-size: 11px;
        text-shadow: none;
    }

    .mainPage .catalogSections .showMore {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 10px 22px;
        border: 1px solid rgba(47, 111, 80, .2);
        border-radius: 999px;
        background: #fff;
        box-shadow: 0 7px 18px rgba(22, 53, 38, .08);
        color: #2f6f50;
        font-size: 14px;
        text-decoration: none;
    }

    .mainPage .OrderFurnitureApartment {
        margin-top: 24px;
        padding: 22px 16px 16px;
        border: 1px solid #e1e7e2;
        border-radius: 17px;
        background: #fff;
        box-shadow: 0 10px 26px rgba(22, 53, 38, .08);
    }

    .mainPage .OrderFurnitureApartment .h {
        margin-bottom: 5px;
        font-size: 19px;
    }

    .mainPage .OrderFurnitureApartment .d {
        margin-bottom: 17px;
        color: #69736e;
        font-size: 14px;
    }

    .mainPage .OrderFurnitureApartment .btn {
        min-height: 50px;
        border-radius: 12px;
    }

    .mainPage .container-xxl.pb107.ccc777 {
        padding: 46px 14px 50px !important;
    }

    .mainPage .aboutBlock {
        margin: 0;
        padding: 20px;
        border: 1px solid #e5e9e6;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 12px 30px rgba(24, 60, 42, .08);
    }

    .mainPage .aboutBlock > [class*="col-"] {
        padding-right: 0;
        padding-left: 0;
    }

    .mainPage .aboutBlock .blockHead {
        margin-bottom: 8px;
        font-size: 28px;
        line-height: 1.15;
        letter-spacing: -.3px;
    }

    .mainPage .about-image-wrapper {
        overflow: hidden;
        margin: 4px 0 16px;
        border-radius: 15px;
    }

    .mainPage .about-image-wrapper img {
        width: 100%;
    }

    .mainPage .aboutBlock p {
        margin-bottom: 14px;
        color: #515c56;
        font-size: 15px;
        line-height: 1.55;
    }

    .mainPage .aboutBlock .aboutMore {
        display: inline-flex;
        min-height: 42px;
        align-items: center;
        padding: 9px 17px;
        border-radius: 999px;
        background: #eef4f0;
        font-size: 15px;
        text-decoration: none;
    }

    .mainPage .doc {
        padding: 48px 14px 54px;
        background: #f3f4f1;
    }

    .mainPage .doc__caption-title h2 {
        margin-bottom: 4px;
        font-size: 29px !important;
        line-height: 1.13 !important;
    }

    .mainPage .doc__caption-text {
        margin-top: 13px;
        font-size: 19px;
        line-height: 1.25;
    }

    .mainPage .doc__img:has(img[src$="documentglav.webp"]) {
        width: min(290px, 92%);
        margin: 24px auto 20px;
        padding: 14px;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 10px 28px rgba(27, 54, 42, .09);
    }

    .mainPage .doc__img img[src$="documentglav.webp"] {
        width: 100%;
    }

    .mainPage .doc__caption-block {
        max-width: 340px;
        margin: 0 auto;
        color: #59635e;
        font-size: 15px;
        line-height: 1.5;
    }

    .mainPage .feedback {
        padding: 0 14px 24px;
        background: #f3f4f1;
    }

    .mainPage .feedback__form {
        padding: 35px 20px 29px;
        border-radius: 20px;
        box-shadow: 0 13px 30px rgba(25, 67, 46, .16);
    }

    .mainPage .feedback__form::before {
        border-radius: 15px;
    }

    .mainPage .feedback .title {
        font-size: 25px;
        line-height: 1.17;
    }

    .mainPage .feedback .title br {
        display: none;
    }

    .mainPage .feedback .text {
        margin: 14px auto 25px;
        font-size: 15px;
        line-height: 1.45;
    }

    .mainPage .feedback__form .feedback__catalog-link {
        min-width: 0;
        min-height: 52px;
        border-radius: 12px;
    }

    .mainPage .bagira-faq {
        padding: 50px 14px 46px;
    }

    .mainPage .bagira-faq__inner {
        gap: 28px;
    }

    .mainPage .bagira-faq h2 {
        margin: 18px 0 14px;
        font-size: 29px;
        line-height: 1.12;
        letter-spacing: -.35px;
    }

    .mainPage .bagira-faq__intro > p {
        font-size: 15px;
        line-height: 1.5;
    }

    .mainPage .bagira-faq__contact {
        margin-top: 24px;
        padding: 21px;
        border-radius: 18px;
        box-shadow: 0 12px 27px rgba(26, 67, 47, .15);
    }

    .mainPage .bagira-faq__phone {
        font-size: 25px;
    }

    .mainPage .bagira-faq__list {
        gap: 9px;
    }

    .mainPage .bagira-faq__list details {
        border-radius: 14px;
    }

    .mainPage .bagira-faq__list summary {
        min-height: 66px;
        padding: 16px 58px 16px 17px;
        font-size: 15px;
        line-height: 1.3;
    }

    .mainPage .subscribe-block.bagira-social-banner {
        padding: 18px 10px 24px;
    }

    .mainPage .bagira-social-banner > a {
        border-radius: 14px;
        box-shadow: 0 10px 24px rgba(13, 62, 45, .14);
    }

    .mainPage .greyLine.withBtnGreen.pb-0 {
        padding: 46px 14px 0;
        overflow: hidden;
        background: #eff2ee;
    }

    .mainPage .greyLine.withBtnGreen.pb-0 > .container-xxl {
        padding: 0;
    }

    .mainPage .greyLine.withBtnGreen .designerBlock {
        overflow: hidden;
        margin: 0;
        border: 1px solid #e0e6e1;
        border-radius: 22px 22px 0 0;
        background: linear-gradient(145deg, #fff 0%, #f6f7f3 100%);
        box-shadow: 0 12px 30px rgba(25, 61, 43, .09);
    }

    .mainPage .greyLine.withBtnGreen .designerBlock > .col-lg-7.pt76 {
        padding: 34px 20px 10px !important;
    }

    .mainPage .greyLine.withBtnGreen .designerBlock .blockHead {
        max-width: 330px;
        margin: 0 auto;
        font-size: 28px;
        line-height: 1.15;
    }

    .mainPage .greyLine.withBtnGreen .designerBlock p {
        max-width: 300px;
        margin: 12px auto 0;
        color: #657069;
        font-size: 15px;
        line-height: 1.4;
    }

    .mainPage .greyLine.withBtnGreen .bagira-phone-contact {
        align-items: center;
        margin: 22px auto 0;
        padding: 18px 15px;
        border-radius: 15px;
        text-align: center;
        box-shadow: 0 10px 24px rgba(34, 82, 58, .17);
    }

    .mainPage .greyLine.withBtnGreen .bagira-phone-contact__number {
        font-size: 25px;
    }

    .mainPage .greyLine.withBtnGreen .designerBlock > .col-lg-5 {
        display: flex;
        min-height: 385px;
        align-items: flex-end;
        justify-content: center;
        overflow: hidden;
    }

    .mainPage .greyLine.withBtnGreen .designerBlock .woman {
        display: block;
        width: 245px;
        height: 315px;
        max-width: 88%;
        margin: 0 auto;
        object-fit: contain;
        object-position: center bottom;
    }

    .mainPage .greyLine.withBtnGreen .designerBlock .womanInfo {
        top: 15px;
        left: 50%;
        z-index: 2;
        width: auto;
        padding: 8px 10px;
        border: 1px solid rgba(47, 111, 80, .14);
        border-radius: 11px;
        background: rgba(255, 255, 255, .9);
        box-shadow: 0 7px 18px rgba(25, 61, 43, .09);
        text-align: center;
        transform: translateX(-50%);
        white-space: nowrap;
    }

    .mainPage .greyLine.withBtnGreen .designerBlock .womanInfo::before {
        display: none;
    }
}

@media (max-width: 359.98px) {
    .mainPage #header > .container-xxl > .row.pt-3.pb-3 > .col-5 {
        width: 74%;
    }

    .mainPage #header > .container-xxl > .row.pt-3.pb-3 > .col-7 {
        width: 26%;
    }

    .mainPage #header .bagira-logo {
        width: 86px;
    }

    .mainPage .bagira-header-meta {
        padding-left: 8px;
    }

    .mainPage .bagira-header-address {
        font-size: 9px;
    }

    .mainPage .bagira-header-address strong {
        font-size: 10px;
    }

    .mainPage .bagira-header-phone {
        font-size: 9px;
    }

    .mainPage .trust-item {
        min-height: 130px;
        padding-right: 7px;
        padding-left: 7px;
    }

    .mainPage .trust-item b {
        font-size: 16px;
    }

    .mainPage .trust-item span {
        font-size: 11.5px;
    }

    .mainPage .catalogSections-item .cat-title {
        font-size: 14px;
    }

    .mainPage .bagira-faq h2,
    .mainPage .greyLine.withBtn .blockHead,
    .mainPage .aboutBlock .blockHead,
    .mainPage .greyLine.withBtnGreen .designerBlock .blockHead {
        font-size: 26px;
    }
}

/* Одинаковая мобильная шапка на главной, в категориях и карточках товаров. */
.subPage .bagira-header-meta {
    display: none;
}

@media (max-width: 767.98px) {
    .subPage #header {
        position: relative;
        z-index: 20;
        box-shadow: 0 8px 24px rgba(24, 52, 39, .07);
    }

    .subPage #header > .container-xxl > .row.pt-3.pb-3 > .col-5 {
        width: 72%;
    }

    .subPage #header > .container-xxl > .row.pt-3.pb-3 > .col-7 {
        width: 28%;
        padding-left: 0;
    }

    .subPage #header .logo {
        width: 100%;
        margin-right: 0;
    }

    .subPage #header .logo > a:first-child {
        flex: 0 0 auto;
        margin-right: 10px;
    }

    .subPage #header .bagira-logo {
        width: 94px;
        height: auto;
    }

    .subPage #header .descr {
        display: none !important;
    }

    .subPage .bagira-header-meta {
        display: flex;
        min-width: 0;
        flex: 1 1 auto;
        flex-direction: column;
        justify-content: center;
        margin: 0 !important;
        padding-left: 10px;
        border-left: 1px solid #dfe4e0;
    }

    .subPage .bagira-header-address {
        display: flex;
        min-width: 0;
        flex-direction: column;
        color: #38463f;
        font-size: 10px;
        line-height: 1.18;
        text-align: left;
        text-decoration: none;
    }

    .subPage .bagira-header-address strong,
    .subPage .bagira-header-address span {
        display: block;
    }

    .subPage .bagira-header-address strong {
        margin-bottom: 3px;
        color: #1f2b25;
        font-size: 11px;
        font-weight: 700;
    }

    .subPage .bagira-header-phone {
        display: block;
        margin-top: 4px;
        color: #2f6f50;
        font-size: 10px;
        font-weight: 700;
        line-height: 1.1;
        text-decoration: none;
        white-space: nowrap;
    }

    .subPage .mobile-block {
        display: none !important;
    }

    .subPage .bagira-mobile-quicknav {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 112px;
        gap: 8px;
        align-items: stretch;
        margin-top: 10px;
    }

    .subPage .bagira-mobile-quicknav .mnu-mobile-line {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow: hidden;
        border: 1px solid #e0e6e1;
        border-radius: 12px;
        background: #f4f6f4;
    }

    .subPage .bagira-mobile-quicknav .mnu-mobile-line li {
        display: flex;
        min-width: 0;
        margin: 0;
    }

    .subPage .bagira-mobile-quicknav .mnu-mobile-line li + li {
        margin-left: 0;
        border-left: 1px solid #dde4df;
    }

    .subPage .bagira-mobile-quicknav .mnu-mobile-line a {
        display: flex;
        width: 100%;
        min-height: 46px;
        align-items: center;
        justify-content: center;
        padding: 7px 4px;
        color: #29362f;
        font-size: clamp(11.5px, 3.35vw, 13px);
        font-weight: 600;
        line-height: 1;
        text-align: center;
        text-decoration: none;
        white-space: nowrap;
    }

    .subPage .bagira-mobile-quicknav > .btn {
        display: flex;
        min-height: 46px;
        align-items: center;
        justify-content: center;
        padding: 8px 10px;
        border-radius: 12px;
        font-size: 14px;
        box-shadow: 0 7px 18px rgba(31, 86, 59, .15);
    }

    .subPage #main > .container-xxl.y777 + .container-xxl.pt76 {
        padding-top: 30px !important;
    }
}

@media (max-width: 359.98px) {
    .subPage #header > .container-xxl > .row.pt-3.pb-3 > .col-5 {
        width: 74%;
    }

    .subPage #header > .container-xxl > .row.pt-3.pb-3 > .col-7 {
        width: 26%;
    }

    .subPage #header .bagira-logo {
        width: 86px;
    }

    .subPage .bagira-header-meta {
        padding-left: 8px;
    }

    .subPage .bagira-header-address {
        font-size: 9px;
    }

    .subPage .bagira-header-address strong {
        font-size: 10px;
    }

    .subPage .bagira-header-phone {
        font-size: 9px;
    }
}
/* Accessible SEO heading for archive pages whose visible design has no H1. */
.bagira-seo-heading {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 767px) {
    /* Bootstrap's wide gutter escaped its project-detail wrapper by 12px. */
    .completed-project-detail > .row.g-5 {
        margin-right: 0;
        margin-left: 0;
    }
}

/* Каталог без фильтров: освободившаяся ширина отдана ровной сетке товаров. */
.productsRows > .row {
    --bs-gutter-x: clamp(20px, 2.4vw, 38px);
    --bs-gutter-y: 0;
}

.productsRows .bagira-catalog-grid-wrap > .row {
    --bs-gutter-x: clamp(20px, 2.4vw, 38px);
    --bs-gutter-y: clamp(34px, 3vw, 50px);
    justify-content: center;
}

.productsRows .bagira-catalog-grid-wrap > .row > .navItem {
    display: flex;
}

.productsRows .productTile {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    margin-bottom: 0;
}

.productsRows .productTile .sliderProduct {
    position: relative;
    width: 100%;
    height: 0 !important;
    padding-top: 56.25%;
    overflow: hidden;
    background: #f1f3f1;
}

.productsRows .productTile .sliderProduct .owl-stage-outer {
    position: absolute;
    inset: 0;
}

.productsRows .productTile .sliderProduct .owl-stage-outer,
.productsRows .productTile .sliderProduct .owl-stage,
.productsRows .productTile .sliderProduct .owl-item,
.productsRows .productTile .sliderProduct .owl-item > div,
.productsRows .productTile .sliderProduct a:not(.big) {
    height: 100%;
}

.productsRows .productTile .sliderProduct a:not(.big) {
    display: block;
}

.productsRows .productTile .sliderProduct img {
    display: block;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

.productsRows .productTile > .row:first-of-type {
    flex: 1 0 auto;
    align-content: flex-start;
}

.productsRows .productTile .new-price-block {
    margin-top: auto;
}

.productsRows .productTile .title {
    font-size: clamp(22px, 1.8vw, 27px);
    line-height: 1.22;
}

.productsRows .productTile .cart-short_descr {
    line-height: 1.45;
}

/* В каталоге по две карточки в ряд: стандартная страница из 16 товаров заполняется без пробелов. */
@media (min-width: 768px) {
    .productsRows .bagira-catalog-grid-wrap > .row > .navItem {
        width: 50%;
    }
}

/* После удаления образцов цветов описание проекта выглядит как законченный блок. */
.catalog-detail .bagira-project-divider {
    margin: clamp(28px, 3vw, 46px) 0 0;
    opacity: .12;
}

.catalog-detail #detailTabContent {
    margin-top: clamp(22px, 2.5vw, 38px);
}

.catalog-detail #detailTabContent .detailTextBlock {
    height: auto !important;
    padding: clamp(22px, 3vw, 38px);
    border: 1px solid #e3e8e4;
    border-radius: 18px;
    overflow: visible;
    background: #f7f8f6;
}

.catalog-detail #detailTabContent .detailTextBlock.hided::after,
.catalog-detail #detailTabContent .detailTextBlock .readFull {
    display: none !important;
}

.catalog-detail #detailTabContent .detailTextBlock h2 {
    margin-bottom: 16px;
}

.catalog-detail #detailTabContent .detailTextBlock > :last-child {
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .productsRows {
        margin-top: 24px;
    }

    .productsRows > .row,
    .productsRows .bagira-catalog-grid-wrap > .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 34px;
        margin-right: 0;
        margin-left: 0;
    }

    .productsRows .bagira-catalog-grid-wrap > .row > .navItem {
        padding-right: 0;
        padding-left: 0;
    }

    .productsRows .productTile {
        margin-bottom: 0;
    }

    .productsRows .productTile .title {
        font-size: 23px;
    }

    .catalog-detail #detailTabContent .detailTextBlock {
        padding: 22px 18px;
        border-radius: 14px;
    }
}
