/* Shared mobile adjustments for the main site pages; desktop styles are unchanged. */
.mobile-scroll-hint {
    display: none;
}

.mobile-sidebar-close {
    display: none;
}

@media (max-width: 767px) {
    .page-sidebar {
        position: fixed;
        top: 16px;
        bottom: 16px;
        right: 16px;
        width: calc(100% - 32px);
        max-width: 320px;
        padding: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #fff;
        z-index: 30;
    }

    .page-sidebar > .block-in {
        width: 100%;
    }

    .overlay-sidebar {
        z-index: 29;
    }

    .page-sidebar .mobile-sidebar-close {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        position: sticky;
        top: 0;
        right: auto;
        width: 100%;
        min-height: 48px;
        margin: 0;
        background: #294461;
        color: #fff;
        z-index: 1;
    }

    html {
        scroll-padding-top: 72px;
    }

    .nav-main .container, .page-sidebar {
        visibility: hidden;
    }

    body.show-nav .nav-main .container, .page-sidebar.toggled {
        visibility: visible;
    }

    .nav-main.fixed {
        top: 0;
        left: 0;
        right: 0;
        height: 56px;
        padding: 0;
        background: #fff;
        box-shadow: 0 2px 8px #0002;
    }

    .nav-main.fixed::before {
        content: "Меню";
        position: absolute;
        left: 72px;
        top: 16px;
        font-size: 16px;
        line-height: 24px;
        color: #383336;
    }

    .nav-main.fixed .btn--nav {
        left: 16px;
        top: 6px;
        box-shadow: none;
    }

    .nav-main.fixed .container {
        position: absolute;
        top: 56px;
        left: 0;
        right: 0;
        padding: 0;
        width: 100%;
    }

    .nav-main.fixed .nav-main-in {
        padding-top: 0;
    }

    .nav-main.fixed .nav-main-in > ul {
        max-height: calc(100vh - 56px);
        max-height: calc(100dvh - 56px);
    }

    .info-items-list[class*="list--mode-"] [class^="col-"],
    .info-items-list[class*="list--phone-"] [class^="col-"],
    .info-items-list[class*="list--mode-"] .info-item,
    .info-items-list[class*="list--phone-"] .info-item {
        width: 100%;
        left: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .info-items-list[class*="list--mode-"] .info-item::after,
    .info-items-list[class*="list--phone-"] .info-item::after {
        display: none;
    }

    .offer-items-listmy, .offer-items-listmy > .row,
    .offer-items-list, .offer-items-list > .row {
        margin-left: 0;
        margin-right: 0;
    }

    .offer-item .item-title {
        height: auto;
        min-height: 85px;
        padding: 20px 36px 20px 64px;
        line-height: 1.4;
    }

    .offer-item .item-title > div {
        min-width: 0;
        overflow-wrap: break-word;
        vertical-align: middle;
    }

    .offer-item .item-title .icon {
        left: 16px;
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
    }

    .offer-item .item-body-my {
        padding: 0;
    }

    .offer-item .center-tl {
        padding-right: 16px;
    }

    .footer {
        height: auto;
        overflow: visible;
    }

    .footer > .container {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 24px 15px;
    }

    .footer .column {
        width: 100%;
        margin: 0;
        text-align: center;
    }

    .footer .column-right { order: 2; }
    .footer .column-center { order: 3; }

    .footer .footer-contacts {
        position: relative;
        top: auto;
        right: auto;
        margin: 0;
        width: auto;
        padding: 0 0 0 28px;
        text-align: left;
    }

    .footer-contacts ul {
        margin: 0;
    }

    .footer-contacts li {
        padding: 0;
        display: block;
    }

    .footer-contacts a {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        min-height: 36px;
    }

    .footer .share {
        position: static;
        width: auto;
        margin: 12px 0 0;
        text-align: center;
    }

    .footer .share a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
    }

    .smart-feature-content {
        padding-right: 0 !important;
    }

    .smart-feature-content .list--iconed .row {
        margin-right: 0;
    }

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

    .case-item .section-offset > h3:has(> span) {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .case-item .section-offset > h3 > span {
        max-width: 100%;
    }

    iframe[src*="youtube.com/embed"] {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .tariff-cards {
        overflow: visible;
    }

    .tariff-cards table, .tariff-cards tbody {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .tariff-cards colgroup, .tariff-cards thead,
    .tariff-cards .tariff-card-hidden {
        display: none;
    }

    .tariff-cards tbody > tr:not(.tariff-card-hidden) {
        display: block;
        margin-bottom: 16px;
        background: #fff;
        border: 1px solid #4778ab;
        border-radius: 8px;
        overflow: hidden;
    }

    .tariff-cards.table table tbody tr td {
        width: 100%;
        height: auto;
        padding: 12px;
        border: 0;
        background: #fff;
        color: #383336;
        text-align: left;
        font-size: 15px;
        line-height: 1.4;
    }

    .tariff-cards.table table tbody tr td:first-child {
        display: block;
        background: #4778ab;
        color: #fff;
        font-weight: 700;
        font-size: 17px;
    }

    .tariff-cards td:first-child::after {
        content: attr(data-caption);
        display: block;
        margin-top: 6px;
        font-size: 12px;
        font-weight: 400;
    }

    .tariff-cards table tbody td[data-label] {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        align-items: center;
        border-top: 1px solid #e2e7ed;
    }

    .tariff-cards td[data-label]::before {
        content: attr(data-label);
    }

    .tariff-value {
        font-weight: 700;
        white-space: nowrap;
    }

    .tariff-value::after {
        content: attr(data-unit);
    }

    .mobile-scroll-hint {
        display: block;
        font-size: 14px;
        line-height: 1.4;
        margin-bottom: 12px;
    }

    .table[tabindex]:focus-visible {
        outline: 2px solid #294461;
        outline-offset: 2px;
    }

    html {
        font-size: 16px;
    }

    body {
        min-width: 0;
        -webkit-user-select: text;
        user-select: text;
    }

    #sms_tab::before {
        content: "";
        display: block;
        width: 100%;
        max-width: 388px;
        aspect-ratio: 388 / 519;
        background: url(../img/sms_mobile.png) center / contain no-repeat;
        margin: 0 auto;
    }

    .title-item .title-1 {
        font-size: clamp(24px, 6.5vw, 32px);
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .promo-item .item-title {
        font-size: clamp(28px, 7.5vw, 35px);
        line-height: 1.2;
    }

    .promo-item .item-in > .item-img {
        max-width: 100%;
    }

    .hero-item, .service-items-list, .cabinet-item .item-preview,
    .tab-pane {
        margin-left: 0;
        margin-right: 0;
    }

    .hero-item h5 {
        margin-left: 0;
        margin-right: 0;
    }

    .content-tabs [role=tab] {
        height: auto;
        min-height: 54px;
        padding: 14px 32px 14px 70px;
        line-height: 1.4;
        white-space: normal;
    }

    .btn {
        max-width: 100%;
        white-space: normal;
    }

    .header-contacts .btn, .hero-item .btn {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .header-contacts li a {
        display: inline-block;
        padding: 3px 0;
    }

    .header, .header-wrapper, .header > .container {
        height: 300px;
    }

    .btn--nav {
        width: 44px;
        height: 44px;
    }

    .nav-main.fixed .btn--nav {
        background: #fff;
        border-radius: 6px;
        box-shadow: 0 2px 8px #0003;
    }

    body.show-nav .nav-main.fixed .btn--nav {
        background: #294461;
    }

    .section-content, .promo-item .item-text, .footer {
        overflow-wrap: break-word;
    }

    .fixed1 .container {
        padding-left: 8px;
        padding-right: 8px;
    }

    .fixed1 .project-switcher > li.header_container.active a img,
    .fixed1 .project-switcher > li.header_container.deactive:not(.project-flowzap) a img {
        max-width: calc(100% - 8px);
        margin-left: 4px;
        margin-right: 4px;
    }
}

@media (max-width: 360px) {
    .fixed1 .project-switcher > li.header_container {
        width: 66px;
    }

    .fixed1 .project-switcher > li.header_container a img {
        width: 58px;
    }

    .fixed1 .project-switcher > li.project-flowzap {
        width: 100px;
    }

    .fixed1 .project-switcher > li.project-flowzap a img {
        width: 24px;
        height: 24px;
    }

    .fixed1 .project-flowzap .project-flowzap__link {
        gap: 1px;
    }

    .fixed1 .lang-switcher__item {
        padding-left: 1px;
        padding-right: 1px;
    }
}
