/*
 * Public mobile layout corrections.
 *
 * Loaded after the main theme so compact desktop rules cannot restore fixed
 * heights on narrow screens.
 */
@media (max-width: 767.98px) {
    html,
    body,
    .portal-body {
        max-width: 100%;
        overflow-x: clip;
    }

    .portal-navbar {
        --portal-navbar-min-height: 3.5rem;
        --portal-navbar-toggle-padding-y: 0.55rem;
        --portal-navbar-toggle-padding-x: 0.85rem;
        --portal-navbar-toggle-gap: 0.45rem;
        --portal-navbar-toggle-font-size: 0.95rem;
        --portal-navbar-toggle-icon-size: 1.45rem;
    }

    .portal-nav-toggle {
        min-height: 2.75rem;
    }

    .portal-home-b-central-banner-section .portal-home-central-banner-frame,
    .portal-home-central-banner-section .portal-home-central-banner-frame {
        aspect-ratio: auto;
        min-height: 0;
        height: auto;
        background: transparent;
    }

    .portal-home-b-central-banner-section .portal-home-central-banner-image,
    .portal-home-central-banner-section .portal-home-central-banner-image {
        position: static;
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        object-fit: contain;
        object-position: center top;
    }

    .portal-body .portal-home-carousel-item,
    .portal-body .portal-home-carousel-media,
    .portal-home-carousel-item,
    .portal-home-carousel-media {
        min-height: 0;
        height: auto;
    }

    .portal-floating-sidebar,
    .portal-client-layout-body .portal-floating-sidebar {
        right: 0;
        max-width: 100vw;
    }

    .portal-floating-panel {
        width: min(20rem, calc(100vw - 4.25rem));
        max-width: calc(100vw - 4.25rem);
    }

    .portal-vlibras-host .vw-plugin-wrapper {
        right: 3.4rem !important;
    }

    .portal-cookie-banner {
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        max-width: 100%;
        margin: 0;
        box-sizing: border-box;
        padding: 1rem 4.15rem 1rem 1rem;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 1.1rem 1.1rem 0 0;
    }

    .portal-cookie-banner-copy,
    .portal-cookie-banner-actions {
        flex: 1 1 100%;
        min-width: 0;
    }

    .portal-cookie-banner-actions {
        justify-content: flex-start;
        gap: 0.6rem;
    }

    .portal-cookie-banner-actions .btn,
    .portal-cookie-banner-link {
        max-width: 100%;
        white-space: normal;
    }
}
