/**
 * Mobile: prevent horizontal page scroll (empty strip on the right, bottom scrollbar).
 */

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

    body.digibank-neo-ui {
        overflow-x: hidden;
        max-width: 100%;
        width: 100%;
    }

    body.digibank-neo-ui .layout,
    body.digibank-neo-ui .layout .page-container,
    body.digibank-neo-ui main.fix,
    body.digibank-neo-ui footer,
    body.digibank-neo-ui .footer-section,
    body.digibank-neo-ui .footer-bottom,
    body.digibank-neo-ui .footer-area,
    body.digibank-neo-ui .footer-style-two {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* Admin: only tables scroll sideways, not the whole page */
    body.digibank-neo-ui .layout .page-container {
        padding-left: 0 !important;
        max-width: 100%;
    }

    body.digibank-neo-ui .layout .site-table.table-responsive,
    body.digibank-neo-ui .layout .site-datatable {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }

    /* User dashboard: clip shell; tables keep their own scroll */
    body:has(.main-user-dahboard) {
        overflow-x: hidden !important;
    }

    .main-user-dahboard {
        overflow-x: hidden !important;
        max-width: 100%;
    }

    .main-user-dahboard .site-table,
    .main-user-dahboard .site-datatable,
    .main-user-dahboard .data-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* Corporate / default footer bar — clip decorative logo overflow */
    .footer-bottom {
        overflow: hidden;
    }

    .footer-bottom .footer-logo::before {
        max-width: calc(100vw - 24px);
    }

    .exchange-marquee {
        max-width: 100%;
    }

    #ruby-widget-root .ruby-panel {
        max-width: calc(100vw - 32px);
        right: 0 !important;
    }
}

@media (max-width: 575.98px) {
    body.digibank-neo-ui .layout .site-table .table-filter > .filter {
        grid-template-columns: 1fr !important;
    }

    .footer-bottom .footer-logo {
        max-width: calc(100% - 24px);
    }
}

/*
 * Landing “Get Started” plan tabs: one centered row on phones
 * (Project Savings / Fixed Investments / Loan).
 */
@media (max-width: 767.98px) {
    .price-tab-content {
        align-items: center !important;
    }

    .price-tab-list.td-tab {
        width: 100% !important;
        max-width: 100% !important;
        padding: 6px !important;
        border-radius: 999px !important;
        display: flex !important;
        justify-content: center !important;
        box-sizing: border-box;
        margin-left: auto;
        margin-right: auto;
    }

    .price-tab-list.td-tab .nav-tabs {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        gap: 4px !important;
        margin: 0 auto !important;
    }

    .price-tab-list.td-tab .nav-tabs .nav-item {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        margin: 0 !important;
        width: auto !important;
    }

    .price-tab-list.td-tab .nav-tabs .nav-link {
        width: 100% !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 6px !important;
        font-size: 10px !important;
        line-height: 1.15 !important;
        gap: 4px !important;
        border-radius: 999px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .price-tab-list.td-tab .nav-tabs .nav-link.active .icon {
        display: none !important;
    }
}

@media (max-width: 400px) {
    .price-tab-list.td-tab .nav-tabs .nav-link {
        font-size: 9px !important;
        padding: 0 4px !important;
        height: 32px !important;
        min-height: 32px !important;
    }
}

/*
 * Hero CTAs (“Become a Member” / “Explore Savings”): one smaller row on mobile.
 */
@media (max-width: 767.98px) {
    .banner-style-two .banner-content .btn-wrap,
    .banner-area .banner-content .btn-wrap {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .banner-style-two .banner-content .btn-wrap .site-btn,
    .banner-area .banner-content .btn-wrap .site-btn {
        flex: 1 1 0;
        min-width: 0;
        height: 46px !important;
        min-height: 46px !important;
        padding: 0 14px !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        border-radius: 999px !important;
        text-align: center;
    }
}

@media (max-width: 400px) {
    .banner-style-two .banner-content .btn-wrap .site-btn,
    .banner-area .banner-content .btn-wrap .site-btn {
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 10px !important;
        font-size: 13px !important;
    }
}

/*
 * Admin referral bounty cards: title + Active/Deactive on one compact row (match frontend mobile pattern).
 */
body.digibank-neo-ui .layout .site-card .site-card-header .card-header-switch {
    flex: 0 0 auto;
    max-width: 100%;
    margin-left: auto;
}

body.digibank-neo-ui .layout .site-card .site-card-header .card-header-switch .switch-field {
    margin-bottom: 0 !important;
    width: auto;
    min-width: 148px;
}

body.digibank-neo-ui .layout .site-card .site-card-header .card-header-switch .switch-field label {
    width: auto;
    min-width: 72px;
    padding: 8px 14px;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    body.digibank-neo-ui .layout .site-card .site-card-header {
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 12px 14px !important;
    }

    body.digibank-neo-ui .layout .site-card .site-card-header .title {
        flex: 1 1 auto;
        min-width: 0;
        font-size: 13px !important;
        line-height: 1.2 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0 !important;
    }

    body.digibank-neo-ui .layout .site-card .site-card-header .card-header-switch {
        flex: 0 0 auto;
        width: auto !important;
        max-width: 58%;
    }

    body.digibank-neo-ui .layout .site-card .site-card-header .card-header-switch .switch-field {
        min-width: 0;
        width: 100%;
    }

    body.digibank-neo-ui .layout .site-card .site-card-header .card-header-switch .switch-field label {
        min-width: 0;
        flex: 1 1 0;
        padding: 6px 8px !important;
        font-size: 11px !important;
        line-height: 1.1 !important;
    }
}
