/* Footer mobile optimization: no internal scroll, capped to 30% viewport */
@media (max-width: 767px) {
    footer .bg-footer {
        max-height: 30vh;
        max-height: 30dvh;
        overflow: hidden;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    footer .bg-footer .row {
        display: flex;
        flex-wrap: wrap;
        margin-left: -6px;
        margin-right: -6px;
    }

    footer .bg-footer .row > [class*="col-"] {
        float: none;
        width: 50%;
        padding-left: 6px;
        padding-right: 6px;
        margin-bottom: 8px;
    }

    footer .bg-footer .row > [class*="col-"]:nth-child(n+3) {
        display: none;
    }

    footer .bg-footer .box .box-heading {
        margin-bottom: 6px;
        font-size: 13px;
        line-height: 1.25;
    }

    footer .bg-footer h3 + p,
    footer .bg-footer h3 + ul,
    footer .bg-footer h3 + .box-content {
        margin-top: 6px;
    }

    footer .bg-footer .box-content p {
        margin-bottom: 0;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    footer .bg-footer .box-content ul li {
        line-height: 1.35;
    }

    footer .bg-footer .box-content ul li + li {
        margin-top: 2px;
    }

    footer .bg-footer .box-content ul li:nth-child(n+5) {
        display: none;
    }
}

@media (max-width: 479px) {
    footer .bg-footer {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    footer .bg-footer .row > [class*="col-"] {
        width: 50%;
        margin-bottom: 6px;
    }

    footer .bg-footer .box .box-heading {
        font-size: 12px;
    }

    footer .bg-footer .box-content ul li {
        font-size: 11px;
    }
}