/* Local mobile corrections for profconsult.online. */
@media (max-width: 767px) {
    /* Keep the cookie action above the external chat launcher. */
    #cookieNote.cookie-note { z-index: 20000; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; }
    .cookie-accept { min-height: 44px; }
    /* The chat remains available; its automatic invitation must not cover content. */
    .b24-widget-button-popup { display: none !important; }
    .b24-widget-button-wrapper.b24-widget-button-position-bottom-left { left: 10px; bottom: 10px; bottom: max(10px, env(safe-area-inset-bottom)); }

    /* The original 75px/50px padding leaves too little room for the banner CTA. */
    .banners-big .slides .item .text .inner { padding-left: 16px !important; padding-right: 16px !important; }
    .banners-big .slides .item .text .btn { max-width: 100%; white-space: normal; min-height: 44px; }

    header .btn.btn-responsive-nav { width: 44px; height: 44px; padding: 8px; top: 13px; }
    .main .content-md, .main .page-top { overflow-wrap: anywhere; }
    .main--inner .content .qualifications__tab {
        padding: 12px 6px; font-size: 13px; min-height: 44px;
        word-break: normal; overflow-wrap: normal; text-align: center;
    }

    /* A finite flex column keeps the entire article scrollable in landscape. */
    .main--inner .content .modalBlock { z-index: 20001; padding: 12px; }
    .main--inner .content .modalBlock__inner {
        box-sizing: border-box; width: 100%; height: 600px;
        max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px);
        min-height: 0; padding: 12px 16px 16px;
        transition: transform .3s;
    }
    .main--inner .content .modalBlock__content {
        display: flex; flex-direction: column; min-width: 0; min-height: 0; width: 100%;
    }
    .main--inner .content .modalBlock__head {
        position: static; transform: none; display: flex; justify-content: flex-end; flex-shrink: 0;
    }
    .main--inner .content .modalBlock__close { width: 44px; height: 44px; }
    .main--inner .content .modalBlock__info { flex: 1; min-height: 0; gap: 16px; }
    .main--inner .content .modalBlock__info > .neadHeight { flex-shrink: 0; margin: 0; }
    .main--inner .content .modalBlock__list { flex: 1; min-height: 0; max-height: none !important; margin: 0; overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 359px) {
    header .logo img { max-width: calc(100vw - 90px); }
}
