html[lang="bn"] body,
html[lang="bn"] input,
html[lang="bn"] select,
html[lang="bn"] textarea,
html[lang="bn"] button {
    font-family: "Noto Sans Bengali", "Kalpurush", "Nirmala UI", "Shonar Bangla", "Vrinda", system-ui, sans-serif;
}

.language-switcher {
    white-space: nowrap;
}

.language-switcher form {
    display: inline-flex;
    margin: 0;
}

.language-switcher-button {
    border: 0;
    padding: .25rem .35rem;
    background: transparent;
    color: inherit;
    font: inherit;
    text-decoration: none;
    cursor: pointer;
}

.navbar-dark .language-switcher-button,
.rta-nav-actions .language-switcher-button,
.participant-sidebar .language-switcher-button,
.auth-header .language-switcher-button {
    color: #ffffff;
}

.language-switcher-button.active {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.language-switcher-divider {
    opacity: .7;
}

.auth-header .language-switcher {
    margin-left: auto;
}
/* Language switcher: visible on the dark railway navigation bar */
.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.language-switcher form {
    display: inline-flex;
    margin: 0;
}

.language-switcher-button {
    color: #ffffff !important;
    background: transparent;
    border: 1px solid transparent;
    padding: 6px 9px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    border-radius: 4px;
}

.language-switcher-button:hover,
.language-switcher-button:focus,
.language-switcher-button.active {
    color: #ffffff !important;
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
}

.language-switcher-divider {
    color: #ffffff !important;
    opacity: 0.8;
}

/* Keep the switcher visible and aligned on smaller screens */
@media (max-width: 991.98px) {
    .language-switcher {
        margin-top: 10px;
        margin-bottom: 10px;
    }
}

/* Make English and বাংলা visible in the navbar */
.navbar .language-switcher,
.navbar .language-switcher form {
    display: inline-flex !important;
    align-items: center;
    margin: 0;
}

.navbar .language-switcher-button {
    color: #ffffff !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    padding: 6px 9px;
    cursor: pointer;
}

.navbar .language-switcher-button:hover,
.navbar .language-switcher-button:focus,
.navbar .language-switcher-button.active {
    color: #ffffff !important;
    border-color: #ffffff !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

.navbar .language-switcher-divider {
    color: #ffffff !important;
}

/* Final override for the English / বাংলা buttons */
nav.navbar.navbar-dark.bg-rta-navy .language-switcher button.language-switcher-button,
nav.navbar.navbar-dark.bg-rta-navy .language-switcher button.language-switcher-button:visited,
nav.navbar.navbar-dark.bg-rta-navy .language-switcher button.language-switcher-button:hover,
nav.navbar.navbar-dark.bg-rta-navy .language-switcher button.language-switcher-button:focus,
nav.navbar.navbar-dark.bg-rta-navy .language-switcher button.language-switcher-button:active {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

nav.navbar.navbar-dark.bg-rta-navy .language-switcher-divider {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* Public navigation on authentication pages */
.auth-header {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.auth-public-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-left: auto;
}

.auth-public-nav a {
    color: #ffffff !important;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.auth-public-nav a:hover,
.auth-public-nav a:focus {
    color: #ffffff !important;
    text-decoration: underline;
    text-underline-offset: 5px;
}

.auth-header .language-switcher {
    flex-shrink: 0;
}

@media (max-width: 1100px) {
    .auth-public-nav {
        order: 3;
        flex-basis: 100%;
        flex-wrap: wrap;
        margin-left: 0;
        gap: 10px 18px;
    }
}

@media (max-width: 600px) {
    .auth-header {
        gap: 12px;
    }

    .auth-public-nav {
        justify-content: flex-start;
    }

    .auth-public-nav a {
        font-size: 13px;
    }
}

/* Align the login-page header with the main website navigation */
.auth-header {
    width: 100%;
    min-height: 76px;
    padding: 12px 6% !important;
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: nowrap;
    background: #0A2540;
    color: #ffffff;
}

.auth-header .brand-mark {
    flex-shrink: 0;
}

.auth-header > div:nth-child(2) {
    flex-shrink: 0;
}

.auth-header .auth-public-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    margin-left: auto;
    flex-wrap: nowrap;
}

.auth-header .auth-public-nav a,
.auth-header .auth-public-nav a:visited,
.auth-header .auth-public-nav a:hover,
.auth-header .auth-public-nav a:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
    text-decoration: none;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
}

.auth-header .auth-public-nav a:hover,
.auth-header .auth-public-nav a:focus {
    text-decoration: underline;
    text-underline-offset: 5px;
}

.auth-header .language-switcher {
    flex-shrink: 0;
    margin-left: 12px;
}

.auth-header .language-switcher-button,
.auth-header .language-switcher-divider {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff;
}

@media (max-width: 1200px) {
    .auth-header {
        flex-wrap: wrap;
    }

    .auth-header .auth-public-nav {
        order: 3;
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px 20px;
        margin: 8px 0 0;
    }
}

@media (max-width: 600px) {
    .auth-header {
        padding: 14px 18px !important;
    }

    .auth-header .auth-public-nav {
        justify-content: flex-start;
        gap: 10px 16px;
    }

    .auth-header .auth-public-nav a {
        font-size: 13px;
    }
}
/* Final override: login navigation links must remain white */
header.auth-header nav.auth-public-nav a,
header.auth-header nav.auth-public-nav a:link,
header.auth-header nav.auth-public-nav a:visited,
header.auth-header nav.auth-public-nav a:hover,
header.auth-header nav.auth-public-nav a:active,
header.auth-header nav.auth-public-nav a:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration-color: #ffffff !important;
}

/* Final spacing adjustment for the login-page navigation */
@media (min-width: 1201px) {
    body header.auth-header nav.auth-public-nav {
        margin-left: auto !important;
        margin-right: 8px !important;
        justify-content: flex-end !important;
        gap: 20px !important;
        flex: 0 1 auto !important;
    }

    body header.auth-header nav.auth-public-nav a {
        white-space: nowrap;
        font-size: 15px !important;
        line-height: 1.5;
    }

    body header.auth-header .language-switcher {
        margin-left: 8px !important;
    }
}


/* Login navigation: spacing and cache-refresh fix */
header.auth-header nav.auth-public-nav {
    gap: 20px !important;
    margin-left: auto !important;
    margin-right: 12px !important;
}

header.auth-header nav.auth-public-nav a,
header.auth-header nav.auth-public-nav a:link,
header.auth-header nav.auth-public-nav a:visited,
header.auth-header nav.auth-public-nav a:hover,
header.auth-header nav.auth-public-nav a:active,
header.auth-header nav.auth-public-nav a:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
/* Participant portal: language switcher at the top-right */
.participant-top-language-bar {
    position: relative;
    z-index: 1001;
    width: 100%;
    min-height: 56px;
    padding: 6px 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background: #0A2540;
    box-sizing: border-box;
}

.participant-top-language-inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.participant-top-language-bar .language-switcher {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    color: #fff;
}

.participant-top-language-bar .language-switcher form {
    display: inline-flex;
    margin: 0;
}

.participant-top-language-bar .language-switcher-button,
.participant-top-language-bar .language-switcher-divider {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.participant-top-language-bar .language-switcher-button {
    padding: 6px 9px;
}

@media (max-width: 576px) {
    .participant-top-language-bar {
        min-height: 48px;
        padding: 5px 12px;
    }
}

/* Participant portal: language switcher at the top-right */
.participant-top-language-bar {
    position: relative;
    z-index: 1001;
    width: 100%;
    min-height: 56px;
    padding: 6px 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background: #0A2540;
    box-sizing: border-box;
}
.participant-top-language-inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.participant-top-language-bar .language-switcher {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    color: #fff;
}
.participant-top-language-bar .language-switcher form {
    display: inline-flex;
    margin: 0;
}
.participant-top-language-bar .language-switcher-button,
.participant-top-language-bar .language-switcher-divider {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
.participant-top-language-bar .language-switcher-button {
    padding: 6px 9px;
}
@media (max-width: 576px) {
    .participant-top-language-bar {
        min-height: 48px;
        padding: 5px 12px;
    }
}
