/* ==========================================================================
   bpayd public home / login pages redesign (2026).
   Loaded AFTER master-min.css, bootstrap and bpayd-theme.css so its
   overrides always win. Shared by Login.cshtml and AgentUserLogin.cshtml.
   ========================================================================== */

        body.bpayd-login {
            margin: 0;
            padding: 0 !important;
            background: #fff;
            font-family: "Open Sans", "Segoe UI", Roboto, Arial, sans-serif;
            color: #333;
        }

        /* ---- sticky header ----
           The bar spans the page, but its content aligns with the regular
           bootstrap .container so logo/nav line up with the hero content. */
        #header {
            position: -webkit-sticky;
            position: sticky !important;
            top: 0;
            z-index: 1000;
            height: auto !important;
            min-height: 0 !important;
            background: #fff !important;
            border-bottom: 1px solid #f0f0f0;
            -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
            padding: 4px 0 !important;
        }

            #header .row {
                align-items: center;
                min-height: 0;
            }

        .header-logo {
            margin: 0 !important;
            padding: 4px 0;
        }

            .header-logo img {
                display: block;
            }

        #header #nav-wrap {
            display: flex;
            justify-content: flex-end;
            align-items: center;
        }

        /* reserve room on the right so the nav never tucks under the
           absolutely-positioned language selector (the header container is
           roughly the window width on these standalone pages) */
        @media (min-width: 768px) and (max-width: 1500px) {
            #header #nav-wrap {
                padding-right: 185px;
            }
        }

        /* The Google-translate card declares position:fixed in an inline <style>,
           but Bootstrap 4 (loaded later) wins with .card{position:relative},
           so the widget falls into the header flex row and wraps onto a 2nd
           line — that was the empty band under the topbar. Pin it absolutely
           to the sticky header so it sits inline at the far right and the
           dead row disappears. */
        .card.language-selector {
            position: absolute !important;
            top: 7px !important;
            right: 24px !important;
            left: auto !important;
            bottom: auto !important;
            transform: none !important;
            margin: 0 !important;
            padding: 4px 10px !important;
            box-shadow: none !important;
            border: 1px solid #ececf1 !important;
            border-radius: 8px !important;
            z-index: 1001;
            cursor: default !important;
        }

        /* the inner bootstrap .container around ul#nav must not center or
           width-constrain the menu inside its column */
        #header #nav-wrap > .container {
            width: auto;
            max-width: none;
            margin: 0;
            padding: 0;
        }

        #header ul#nav {
            display: flex;
            align-items: center;
            margin: 0;
            height: auto !important;
        }

            #header ul#nav > li {
                height: auto !important;
                padding: 0 4px;
            }

                /* master-min gives #nav a 28px vertical padding + a 3px border-top
                   (~80px-tall links) — neutralize every variant explicitly */
                #header ul#nav > li > a {
                    color: #333;
                    font-weight: 600;
                    font-size: 14px;
                    padding: 9px 14px !important;
                    border-top: 0 !important;
                    border-radius: 8px;
                    line-height: 1.4 !important;
                    transition: color 0.15s ease, background-color 0.15s ease;
                }

                    #header ul#nav > li > a:hover {
                        color: #b11556;
                        background: rgba(177, 21, 86, 0.06);
                    }

        #header .btn.blue {
            height: auto;
            padding: 9px 26px;
            border-radius: 50px !important;
            font-weight: 600;
            font-size: 14px;
            box-shadow: 0 3px 10px rgba(177, 21, 86, 0.25);
        }

        #header ul#nav .dropdown-menu {
            border: 1px solid #f0f0f0;
            border-radius: 10px !important;
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
            overflow: hidden;
            padding: 6px 0;
        }

            #header ul#nav .dropdown-menu a {
                color: #333;
                padding: 10px 18px;
            }

                #header ul#nav .dropdown-menu a:hover {
                    background: rgba(177, 21, 86, 0.07);
                    color: #b11556;
                }

        /* ---- hero ---- */
        .bp-hero {
            background: linear-gradient(160deg, rgba(177, 21, 86, 0.07) 0%, rgba(177, 21, 86, 0.02) 45%, #fff 100%);
            padding: 36px 0 56px;
        }

        .bp-hero-copy {
            padding-right: 40px;
        }

        .bp-hero-title {
            font-size: 40px;
            font-weight: 700;
            line-height: 1.2;
            color: #2b2b35;
            margin: 0 0 16px;
            letter-spacing: -0.5px;
        }

        .bp-hero-subtitle {
            font-size: 17px;
            color: #5a6470;
            margin: 0 0 24px;
            line-height: 1.6;
        }

        .bp-hero-checks {
            list-style: none;
            margin: 0 0 28px;
            padding: 0;
        }

            .bp-hero-checks li {
                font-size: 15px;
                font-weight: 600;
                color: #3a3f48;
                padding: 6px 0;
            }

            .bp-hero-checks .fa {
                color: #b11556;
                margin-right: 10px;
                font-size: 17px;
            }

        .bp-hero-badges {
            display: flex;
            gap: 14px;
            align-items: center;
            flex-wrap: wrap;
        }

            .bp-hero-badges img {
                width: 150px;
                height: auto;
            }

        /* ---- login card ---- */
        .bp-login-card {
            padding: 28px 28px 24px !important;
            border: 1px solid #f0f0f0 !important;
            border-radius: 16px !important;
            box-shadow: 0 18px 50px rgba(43, 21, 56, 0.14) !important;
            max-width: 430px;
            margin: 0 auto;
        }

        .bp-login-tabs {
            display: flex;
            background: #f4f5f7;
            border-radius: 10px;
            padding: 4px;
            margin-bottom: 28px;
            gap: 4px;
        }

        .bp-tab {
            flex: 1;
            border: 0;
            background: transparent;
            border-radius: 8px;
            padding: 10px 8px;
            font-size: 14px;
            font-weight: 600;
            color: #5a6470;
            cursor: pointer;
            transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
            white-space: nowrap;
        }

            .bp-tab:hover {
                color: #b11556;
            }

            .bp-tab.active {
                background: #fff;
                color: #b11556;
                box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
            }

            .bp-tab:focus {
                outline: none;
            }

        .bp-card-title {
            font-size: 20px;
            font-weight: 700;
            color: #2b2b35;
            margin-bottom: 18px;
        }

        .bp-login-card .btn-primary {
            min-height: 44px;
            font-weight: 600;
            font-size: 15px;
        }

        /* legacy CSS gives <form> a bottom margin — that was the dead space
           at the bottom of the card */
        .bp-login-card form {
            margin: 0 !important;
        }

        /* master-min.css floats .col-md-* left (Bootstrap-3 grid) at >=961px.
           Inside the login card the column is a full-width vertical stack, so
           the float pulls the button out of flow and the links below ignore
           its height — that's why they looked glued. Neutralize it. */
        .bp-login-card .col-md-12 {
            float: none !important;
            margin-bottom: 0;
        }

        .bp-card-links {
            clear: both;
            margin: 24px 0 0 !important;
            padding: 16px 0 0 !important;
            border-top: 1px solid #e8e8ee;
        }

            .bp-card-links p {
                font-size: 13px;
                color: #5a6470;
                line-height: 1.45;
                margin: 0 !important;
            }

                .bp-card-links p + p {
                    margin-top: 12px !important;
                }

            .bp-card-links a {
                color: #b11556;
                font-weight: 600;
                white-space: nowrap;
            }

        /* float-label inputs already themed by bpayd-theme; give the boxed look */
        .bp-login-card .float-label-control input.form-control {
            border: 1.5px solid #e0e0e0;
            border-radius: 8px !important;
        }

        .bp-login-card .float-label-control {
            margin-bottom: 1.8em;
            margin-top: 0.6em;
        }

        /* ---- features ---- */
        .bp-features-section {
            padding: 56px 0 48px;
            background: #fff;
        }

        .bp-section-title {
            font-size: 26px;
            font-weight: 700;
            color: #2b2b35;
            text-align: center;
            margin: 0 0 8px;
        }

        .bp-section-subtitle {
            text-align: center;
            color: #5a6470;
            font-size: 15px;
            margin: 0 0 16px;
        }

        .bp-feature-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 22px;
            margin-top: 32px;
        }

        .bp-feature-card {
            background: #fff;
            border: 1px solid #ececf1;
            border-radius: 14px !important;
            padding: 26px 24px;
            transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
        }

            .bp-feature-card:hover {
                border-color: rgba(177, 21, 86, 0.25);
                box-shadow: 0 12px 30px rgba(43, 21, 56, 0.1);
                transform: translateY(-3px);
            }

        .bp-feature-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 52px;
            height: 52px;
            border-radius: 12px;
            background: rgba(177, 21, 86, 0.09);
            margin-bottom: 16px;
        }

            .bp-feature-icon .fa {
                font-size: 22px;
                color: #b11556;
            }

        .bp-feature-img {
            width: 52px;
            height: auto;
            margin-bottom: 14px;
        }

        .bp-feature-card h5 {
            font-size: 16px;
            font-weight: 700;
            color: #2b2b35;
            margin: 0 0 8px;
        }

        .bp-feature-card p {
            font-size: 14px;
            color: #666e74;
            line-height: 1.6;
            margin: 0;
        }

        /* ---- quick reference strip ---- */
        .bp-quickref {
            border-top: 1px solid #f0f0f0;
            padding: 18px 0;
            text-align: center;
            background: #fafafb;
        }

        .bp-quickref-title {
            font-weight: 700;
            color: #2b2b35;
            font-size: 13px;
            margin-right: 8px;
        }

        .bp-quickref a {
            color: #5a6470;
            font-size: 13px;
            font-weight: 600;
        }

            .bp-quickref a:hover {
                color: #b11556;
            }

        .bp-quickref-sep {
            color: #c4c9d0;
            margin: 0 8px;
        }

        /* ---- footer ---- */
        .footer {
            position: static !important;
            background: #202020 !important;
            border-top: 0 !important;
            padding: 18px 12px !important;
            margin: 0 !important;
            text-align: center;
        }

            .footer p {
                color: #ffffff;
                font-size: 13px;
                margin: 0;
            }

        /* ---- mobile ---- */
        @media (max-width: 767px) {
            html,
            body {
                overflow-x: hidden;
            }

            #header {
                padding: 8px 0;
            }

            #img-logo-w1 {
                width: 82px !important;
            }

            .header-logo {
                padding-left: 15px;
            }

            #nav-wrap #menu-icon {
                width: 100%;
                display: flex;
                justify-content: flex-end;
            }

            #nav-wrap .dropdown-content {
                right: 12px;
                left: auto !important;
            }

            /* on phones the selector would cover the hamburger — drop it
               just below the bar instead */
            .card.language-selector {
                top: 56px !important;
                right: 12px !important;
            }

            .bp-hero {
                padding: 28px 0 40px;
            }

            .bp-hero-copy {
                padding-right: 15px;
                margin-top: 36px;
            }

            .bp-hero-title {
                font-size: 28px;
            }

            .bp-login-card {
                max-width: 100%;
                padding: 22px 18px 16px !important;
            }

            .bp-feature-grid {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .bp-quickref-sep {
                margin: 0 4px;
            }

            .bp-quickref a {
                display: inline-block;
                padding: 2px 0;
            }
        }

        @media (min-width: 768px) and (max-width: 991px) {
            .bp-feature-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .bp-hero-copy {
                padding-right: 20px;
            }
        }
