/*
 * Mobile entry and portal contract.
 * This small file is also linked directly from website.layout so mobile
 * correctness does not depend on Odoo's compiled attachment cache.
 */
html body [data-cai-galaxy-entry].cai-login-shell {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip;
}

html body .cai-entry-nav {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

.codifyai-site.codifyai-portal-page {
    max-width: 100%;
    overflow-x: clip;
}

@media (max-width: 767.98px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    html body [data-cai-galaxy-entry] {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        padding: 76px 14px 28px;
    }

    html body .cai-entry-nav {
        gap: 12px;
        padding: 10px 14px;
    }

    html body .cai-entry-nav a:last-child {
        max-width: 58%;
        justify-content: flex-end;
        text-align: right;
        font-size: 12px;
    }

    html body [data-cai-galaxy-entry] .cai-login-intro {
        width: 100%;
        margin: 10px auto 18px;
    }

    html body [data-cai-galaxy-entry] .cai-login-intro h1 {
        font-size: 32px !important;
    }

    html body [data-cai-galaxy-entry] .cai-login-intro p {
        margin-top: 8px;
        font-size: 15px;
        line-height: 1.5;
    }

    html body [data-cai-galaxy-entry] .cai-login-card {
        width: 100%;
        max-width: 100%;
        padding: 16px;
        border-radius: 12px;
    }

    .codifyai-site.codifyai-portal-page {
        min-height: 100dvh;
        padding-bottom: 28px;
        padding-bottom: max(28px, env(safe-area-inset-bottom));
    }

    .codifyai-site.codifyai-portal-page > .container {
        width: 100%;
        max-width: 100%;
        padding-inline: 14px;
    }

    .codifyai-site.codifyai-portal-page h1 {
        font-size: clamp(1.75rem, 9vw, 2.35rem);
        line-height: 1.05;
    }

    .codifyai-site.codifyai-portal-page h2 {
        font-size: clamp(1.4rem, 7vw, 1.9rem);
        line-height: 1.15;
    }

    .codifyai-site.codifyai-portal-page .breadcrumb {
        flex-wrap: nowrap;
        max-width: 100%;
        overflow-x: auto;
        padding-bottom: 5px;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .codifyai-site.codifyai-portal-page .card,
    .codifyai-site.codifyai-portal-page .o_portal_my_home .card,
    .codifyai-site.codifyai-portal-page .o_portal_docs .list-group-item {
        width: 100%;
        min-width: 0;
        border-radius: 14px !important;
        overflow-wrap: anywhere;
    }

    .codifyai-site.codifyai-portal-page .card:hover,
    .codifyai-site.codifyai-portal-page .o_portal_my_home .card:hover {
        transform: none;
    }

    .codifyai-site.codifyai-portal-page .card-body,
    .codifyai-site.codifyai-portal-page .card-header,
    .codifyai-site.codifyai-portal-page .card-footer,
    .codifyai-site.codifyai-portal-page .o_portal_docs .list-group-item {
        padding: 15px !important;
    }

    .codifyai-site.codifyai-portal-page .table-responsive,
    .codifyai-site.codifyai-portal-page .o_portal_my_doc_table {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .codifyai-site.codifyai-portal-page .btn {
        min-height: 44px;
        white-space: normal;
    }
}
