:root {
    --main-color: #643271;
    --sec-color: #d98b1c;
    --heading-color: #232331;
    --text-color: #1e1e1e;
    --white-color: #fff;
    --black-color: #000;
    --main-font: "Roboto", sans-serif;
    --heading-font: "Playfair Display", serif;
    --button-font: "Roboto", sans-serif;
}

/* ─── Global / Regional Account Type Badges ─────────────────────────── */
.badge-global,
.badge-regional,
.badge-gr {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
    white-space: nowrap;
    border: 2px solid transparent;
    transition: all 0.25s ease;
    cursor: default;
    user-select: none;
}

/* Global – white pill with purple text */
.badge-global {
    background: #ffffff;
    color: #643271 !important;
    border-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25),
                0 4px 10px rgba(0, 0, 0, 0.18);
}

.badge-global i {
    color: #643271;
    font-size: 11px;
}

/* Regional – amber pill with white text */
.badge-regional {
    background: #d98b1c;
    color: #ffffff !important;
    border-color: #d98b1c;
    box-shadow: 0 0 0 3px rgba(217, 139, 28, 0.35),
                0 4px 10px rgba(0, 0, 0, 0.18);
}

.badge-regional i {
    color: #ffffff;
    font-size: 11px;
}

/* Global·Regional hybrid – teal-to-purple gradient pill */
.badge-gr {
    background: linear-gradient(135deg, #4e2a84 0%, #1a7a6e 100%);
    color: #ffffff !important;
    border-color: transparent;
    box-shadow: 0 0 0 3px rgba(78, 42, 132, 0.25),
                0 4px 10px rgba(0, 0, 0, 0.18);
}

.badge-gr i {
    color: #ffffff;
    font-size: 11px;
}

/* User type chip — base structure */
.badge-user-type {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 11px;
    border-radius: 30px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.4px;
    white-space: nowrap;
    line-height: 1;
    cursor: default;
    user-select: none;
    transition: all 0.2s ease;
}

/* Navbar (purple background) — frosted white pill */
.app-header .badge-user-type {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.18);
    border: 1.5px solid rgba(255, 255, 255, 0.55);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08),
                0 3px 8px rgba(0, 0, 0, 0.18);
    text-transform: uppercase;
}

.app-header .badge-user-type i {
    color: #ffffff;
    font-size: 10px;
}

/* Profile dropdown (white background) — purple-tinted pill */
.profile-dropdown .badge-user-type {
    color: #643271 !important;
    background: rgba(100, 50, 113, 0.08);
    border: 1.5px solid rgba(100, 50, 113, 0.25);
}

.profile-dropdown .badge-user-type i {
    color: #643271;
    font-size: 10px;
}

/* BUG-029: header profile popup — fit content without clipping or horizontal scroll */
@media (min-width: 768px) {
    .navbar-nav .dropdown-menu.profile-menu-dd {
        width: 380px;
        max-width: calc(100vw - 24px);
        overflow-x: hidden;
    }
}

.profile-dropdown {
    overflow-x: hidden;
}

.profile-dropdown-user,
.profile-dropdown-email,
.profile-dropdown-badges {
    min-width: 0;
}

.profile-dropdown-email span {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.profile-dropdown .badge-user-type,
.profile-dropdown .badge-global,
.profile-dropdown .badge-regional {
    white-space: normal;
    word-break: break-word;
    line-height: 1.3;
}

/* Compact variant */
.badge-global.small-badge,
.badge-regional.small-badge,
.badge-gr.small-badge,
.badge-user-type.small-badge {
    font-size: 10px;
    padding: 3px 8px;
}

/* ─────────────────────────────────────────────────────────────────────── */

html,
body {
    font-family: var(--main-font);
}

a {
    text-decoration: none;
}

.container-fluid {
    padding: 0 4%;
}

@media (min-width: 1450px) {
    .container {
        max-width: 1500px;
    }
}

h1,
h2,
h3,
h5,
h6 {
    font-family: var(--heading-font);
}

p {
    font-family: var(--main-font);
}

.main_menu_hdr {
    background: none;
    z-index: 99;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
}

.left_top {
    display: flex;
    justify-content: flex-start;
}

.main_menu {
    display: block;
    position: relative;
    background: none;
    padding: 0px;
    border-radius: 0;
}

.main_menu .navigation.navbar {
    padding: 0;
}

.container-menu {
    width: 80%;
    margin: 0 auto;
}

.logo {
    display: block;
    padding: 0 15px;
}

.logo a {
    position: relative;
    z-index: 1;
    width: 150px;
    display: block;
}

.logo a img {
    width: 100%;
}

.login_prf {
    padding: 0 10px;
}

.login_prf a {
    color: #fff;
    background: var(--sec-color);
    padding: 10px 12px;
    border-radius: 30px;
    font-size: 17px;
    font-weight: 500;
}

.login_prf a:hover {
    background: var(--main-color);
}

.pure-button {
    color: var(--sec-color) !important;
    background: var(--main-color);
    padding: 5px 25px !important;
    border-radius: 30px;
    font-size: 15px !important;
    border: none;
    box-shadow: none;
    text-shadow: none;
    font-weight: 400;
}

/*-------- button Effect-------*/
.red_btn {
    display: inline-block;
    box-sizing: border-box;
    padding: 15px 40px;
    border-radius: 30px;
    position: relative;
    color: var(--white-color);
    background: var(--main-color);
    text-transform: uppercase;
    text-decoration: none;
    overflow: hidden;
    border: none;
}

.red_btn span {
    font-weight: 500;
    position: relative;
    font-family: var(--button-font);
    letter-spacing: 2px;
    color: var(--white-color);
}

.red_btn:before {
    content: "";
    height: 0;
    width: 100%;
    transform: translateX(0%);
    position: absolute;
    bottom: 0;
    left: 0;
    background: var(--sec-color);
    border-radius: 30px;
    transition: all ease-in 0.3s;
}

.red_btn:hover:before {
    bottom: 0;
    transition: all ease-in 0.3s;
    height: 100%;
}

.red_btn:hover span {
    color: var(--white-color);
}

.red_btn.white_bg {
    color: var(--black-color);
    background: var(--white-color);
}

.red_btn.white_bg:before {
    background: rgb(255 255 255 / 50%);
}

.red_btn.white_bg span {
    color: var(--black-color);
}

.red_btn.black_bg {
    color: var(--white-color);
    background: var(--black-color);
}

.red_btn.black_bg:before {
    background: rgb(0 0 0 / 50%);
}

.red_btn.black_bg span {
    color: var(--white-color);
}

/*-------- button Effect-------*/
.heading_hp h2 {
    font-size: 30px;
    line-height: 34px;
    font-weight: 600;
    color: var(--sec-color);
    position: relative;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
    text-align: center;
}

.heading_hp h4 {
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 25px;
}

.heading_hp h6 {
    font-weight: 600;
    color: var(--sec-color);
    margin-bottom: 0px;
    text-transform: uppercase;
    font-size: 30px;
}

.heading_hp p {
    font-size: 16px;
    color: rgb(0 0 0 / 100%);
    line-height: 28px;
    font-weight: 400;
    margin-bottom: 25px;
}

.heading_hp.text_white p {
    color: var(--white-color);
}

.srlt {
    width: 100%;
    min-height: 70px;
    height: 80px;
    overflow: hidden;
    overflow-y: scroll;
    padding-right: 10px;
}

.srlt::-webkit-scrollbar {
    width: 5px;
    border-radius: 10px;
    background-color: #ccc;
}

.srlt::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: var(--main-color);
}

.lion_aducation img {
    width: 100%;
}

.map-location {
    position: absolute;
}

.map-location-details {
    display: none;
    background: url(../../assets/images/back_tooltrip.jpg);
    padding: 1em;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-shadow: 0 0px 20px rgba(0, 0, 0, 0.1);
    position: absolute;
    width: 250px;
    overflow: hidden;
    overflow-y: auto;
    height: 250px;
    z-index: 999;
}

.map-location-details::-webkit-scrollbar {
    width: 5px;
    border-radius: 10px;
    background-color: #ccc;
}

.map-location-details::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: var(--main-color);
}

.map-point {
    display: flex;
    position: absolute;
    top: -10px;
    left: -10px;
    width: 150px;
    height: 150px;
    background: transparent;
    border-radius: 0;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    z-index: -1;
}

.nyc1 {
    top: 38%;
    right: 37%;
    transform: translate(33%, -39%);
}

.nyc2 {
    top: 66%;
    right: 44%;
    transform: translate(44%, -66%);
}

.nyc3 {
    top: 66%;
    right: 33%;
    transform: translate(33%, -66%);
}

.governance_sec {
    padding: 100px 0;
}

.single_img_lion {
    width: 100%;
}

.single_img_lion img {
    width: 100%;
}

.gt_float_switcher .gt-selected .gt-current-lang {
    padding: 8px 6px !important;
}

.gt_float_switcher {
    font-size: 14px !important;
}

.gt_float_switcher img {
    width: 20px !important;
}

.right_tran {
    position: relative;
    height: auto;
}

.gt_float_switcher .gt_options {
    position: absolute !important;
    background: #fff !important;
}

.gt_float_switcher .gt_options a {
    padding: 4px 8px !important;
    width: 117px !important;
}

.inner_faq_sec {
    padding: 100px 0;
}

.inner_faq_sec .accordion-button {
    font-size: 18px;
    font-family: var(--heading-font);
}

.inner_faq_sec .accordion-button:not(.collapsed) {
    color: #d98b1c;
    background-color: rgb(217 139 28 / 26%);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
    font-weight: 600;
}

.login-sec {
    padding: 100px 0;
}

.login_bg_sec {
    background: #fff;
    box-shadow: 0 0 38px rgb(0 0 0 / 10%);
    padding: 40px 30px;
    border-radius: 15px;
    border-top: 7px solid #643271;
}

.login_bg_sec .login-username .input,
.login_bg_sec .login-password .input {
    width: 100%;
    max-width: 100% !important;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #000;
    padding: 8px;
}

.input:focus-visible {
    border: none;
    outline: none;
    border-bottom: 1px solid #000;
}

.login-submit .button {
    background: #643271;
    color: #fff;
    border: none;
    padding: 10px 40px;
    border-radius: 30px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.login-sec .pmpro_member_log_out a {
    background: #643271;
    color: #fff;
    border: none;
    padding: 8px 40px;
    border-radius: 30px;
    margin-top: 15px;
    display: inline-block;
}

.pmpro_table.pmpro_checkout {
    width: 100%;
}

.pmpro_table.pmpro_checkout thead {
    background: #643271;
    color: #fff;
}

.pmpro_table.pmpro_checkout thead tr th {
    padding: 10px;
}

.pmpro_table.pmpro_checkout tbody tr td {
    padding: 10px;
}

.pmpro_table.pmpro_checkout tbody tr,
.pmpro_table.pmpro_checkout thead tr {
    border-width: 0.2px;
}

.pmpro_actions_nav a {
    background: #643271;
    color: #fff;
    padding: 9px 20px;
    border-radius: 30px;
    display: inline-block;
    margin-top: 15px;
}

.pmpro_actions_nav a:hover {
    background: var(--sec-color);
    color: #fff;
}

.pmpro_btn,
.pmpro_btn:link {
    background-color: #643271 !important;
    color: #fff !important;
    padding: 13px 20px !important;
    border-radius: 30px !important;
}

.checkout-cancel {
    position: absolute;
    bottom: 36px;
    left: 15%;
    background: var(--sec-color);
    color: #fff;
    padding: 10px 30px;
    font-size: 18px;
    border-radius: 30px;
}

.checkout-cancel:hover {
    background: var(--main-color);
    color: #fff;
}

.member-ship-sec {
    padding: 100px 0;
}

.member-ship-sec .pmpro_table thead {
    background: #643271;
    color: #fff;
}

.member-ship-sec .pmpro_table thead tr th {
    padding: 10px;
}

.member-ship-sec .pmpro_table tbody tr td {
    padding: 10px;
}

.member-ship-sec .pmpro_table tbody tr,
.member-ship-sec .pmpro_table thead tr {
    border-width: 0.2px;
}

.member-ship-sec .pmpro_account-membership-levelname .pmpro_actionlinks a {
    background-color: #643271 !important;
    color: #fff !important;
    padding: 5px 20px !important;
    border-radius: 30px !important;
}

.member-ship-sec
    .pmpro_account-membership-levelname
    .pmpro_actionlinks
    a:hover {
    background-color: var(--sec-color) !important;
    color: #fff !important;
}

.pmpro_actionlinks a {
    background-color: #643271 !important;
    color: #fff !important;
    padding: 6px 20px !important;
    border-radius: 30px !important;
    margin-top: 10px;
}

.pmpro_actionlinks a:hover {
    background-color: var(--sec-color) !important;
    color: #fff !important;
}

#pmpro_account .pmpro_box ul {
    list-style: none;
    padding-left: 0;
}

.member-ship-sec .heading_hp h2 {
    font-size: 30px;
    margin-bottom: 5px !important;
}

.member-ship-sec #pmpro_account #pmpro_account-profile {
    background: #e6e6e6;
    padding: 20px;
    border: 0;
}

.profile-sec {
    padding: 100px 0;
}

.profile_page_inr {
    background: #fff;
    box-shadow: 0 0 38px rgb(0 0 0 / 10%);
    padding: 15px;
    border-radius: 15px;
    border-top: 7px solid #643271;
}

.profile_page_inr .pmpro_member_profile_edit-fields input {
    width: 100%;
    max-width: 100% !important;
    border: 1px solid rgb(0 0 0 / 29%);
    padding: 8px;
    border-radius: 6px;
}

.profile_page_inr .pmpro_checkout_box-password input {
    width: 100%;
    max-width: 95% !important;
    border: 1px solid rgb(0 0 0 / 29%);
    padding: 8px;
    border-radius: 6px;
}

.profile_page_inr form.pmpro_form .pmpro_asterisk abbr {
    color: #ff0000;
}

.profile_page_inr .pmpro_btn.pmpro_btn-cancel {
    text-decoration: none;
}

.pmpro_member_display_name a {
    color: #643271;
}

.modal_code .modal-content {
    background: none;
}

.modal_code .pmpro_login_wrap h2 {
    display: none;
}

.modal_code .pmpro_actions_nav a {
    background: none;
    color: #643271;
    padding: 0px 0px;
    border-radius: 30px;
    display: inline-block;
    margin-top: 0;
}

.modal_code .pmpro_actions_nav {
    text-align: left !important;
}

.modal_code .login_bg_sec .login-username .input,
.modal_code .login_bg_sec .login-password .input {
    border: none;
    border-bottom: 1px solid rgb(0 0 0 / 29%);
    border-radius: 0px;
}

.modal_code .login_bg_sec .login-username .input:focus-visible,
.modal_code .login_bg_sec .login-password .input:focus-visible {
    outline: none;
}

.modal_code .pmpro_actions_nav {
    margin-bottom: 0;
}

.login_privacy {
    color: #000;
}

.login_privacy:hover {
    color: #643271;
}

.donate_bg_sec .modal-dialog {
    max-width: 685px;
}

.donate_bg_sec .asp_product_buy_btn.blue {
    color: var(--sec-color) !important;
    background: var(--main-color);
    padding: 7px 25px !important;
    border-radius: 30px;
    font-size: 16px !important;
    border: none;
    box-shadow: none;
    text-shadow: none;
    font-weight: 500;
    text-transform: uppercase;
}

.donate_bg_sec .asp_product_buy_btn.blue:hover {
    color: var(--main-color) !important;
    background: var(--sec-color);
    text-shadow: none !important;
}

.pure-button {
    color: var(--sec-color) !important;
    background: var(--main-color);
    padding: 7px 25px !important;
    border-radius: 30px;
    font-size: 16px !important;
    border: none;
    box-shadow: none;
    text-shadow: none;
    font-weight: 500;
    text-transform: uppercase;
}

#pmpro_user_fields .pmpro_checkout-h2-msg a {
    display: none;
}

.asp-thank-you-page-msg2,
.asp-thank-you-page-product-name,
.asp-thank-you-page-qty,
.asp-thank-you-page-item-price {
    display: none !important;
}

.asp-thank-you-page-msg1 {
    position: relative;
    font-size: 0 !important;
    color: #dff0d8 !important;
}

.asp-thank-you-page-msg1:before {
    content: "Thank you for your donation";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 50px;
    color: #858585;
    font-size: 30px !important;
}

.modal_checkbox {
    width: 100%;
}

.modal_checkbox .form-group {
    display: block;
    margin-bottom: 15px;
}

.modal_checkbox .form-group input {
    padding: 0;
    height: initial;
    width: initial;
    margin-bottom: 0;
    display: none;
    cursor: pointer;
}

.modal_checkbox .form-group label {
    position: relative;
    cursor: pointer;
}

.modal_checkbox .form-group label:before {
    content: "";
    -webkit-appearance: none;
    background-color: transparent;
    border: 2px solid var(--main-color);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05),
        inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
    padding: 10px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
    margin-right: 5px;
}

.modal_checkbox .form-group input:checked + label:after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 9px;
    width: 6px;
    height: 14px;
    border: solid var(--main-color);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.continue-btn {
    background: var(--main-color);
    color: var(--sec-color);
    padding: 10px 30px;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    opacity: 0.7;
    pointer-events: none;
}

#myButton.changed {
    opacity: 1;
    pointer-events: auto;
}

.ftr-frm .main-btn .red_btn:hover {
    background: var(--sec-color);
}

.join_member_box h2 {
    font-size: 30px;
    font-weight: 600;
    color: var(--sec-color);
    position: relative;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.join_member_box ul {
    list-style: auto;
}

/* Admin-sec */
.log-main {
    padding: 100px 0px;
    background: var(--main-color);
}

.admin-form {
}

.check-main .form-group label {
    font-weight: 500;
}

.check-main .form-group label:before {
    content: "";
    -webkit-appearance: none;
    background-color: transparent;
    border: 2px solid var(--main-color);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05),
        inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
    padding: 10px;
    display: inline-block;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
    margin-right: 5px;
}

.check-main .form-group input:checked + label:after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 9px;
    width: 6px;
    height: 14px;
    border: solid var(--main-color);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.check-main .form-group input {
    padding: 0;
    height: initial;
    width: initial;
    margin-bottom: 0;
    display: none;
    cursor: pointer;
}

.check-main .form-group label {
    position: relative;
    cursor: pointer;
}

.join-text {
    text-align: center;
}

.join-text a {
    color: var(--main-color);
    font-size: 16px;
    line-height: 20px;
    font-weight: 500;
    padding: 0px 10px;
}

.join-text-1 a {
    color: var(--text-color);
}

.logo-admin {
    width: 150px;
    height: 150px;
    margin: 0 auto 20px;
}

.logo-admin img {
    width: 100%;
    height: 100%;
}

.cancel-sub .button {
    background: transparent !important;
    border: 1px solid #643271 !important;
    color: var(--main-color) !important;
}

.member-text p {
    font-size: 15px;
    line-height: 22px;
    font-weight: 300;
}

.member-text p a {
    font-size: 15px;
    line-height: 22px;
    font-weight: 700;
    color: var(--text-color);
}

.member-text h4 {
    font-size: 24px;
    line-height: 28px;
    font-weight: 700;
    color: var(--text-color);
}

.member-text ul {
    padding: 0;
    margin: 20px 0px 0px 0px;
}

.member-text ul li {
    font-size: 15px;
    line-height: 22px;
    font-weight: 400;
    color: var(--text-color);
    list-style: none;
    padding-bottom: 25px;
    font-weight: 300;
}

.asp_product_buy_btn.blue {
    color: var(--sec-color) !important;
    background: var(--main-color);
    padding: 7px 25px !important;
    border-radius: 30px;
    font-size: 16px !important;
    border: none;
    box-shadow: none;
    text-shadow: none;
    font-weight: 500;
    text-transform: uppercase;
}

.admin-srl {
    width: 100%;
    max-height: 50vh;
    overflow: hidden;
    overflow-y: scroll;
    padding-right: 10px;
}

#admin-srl_1::-webkit-scrollbar {
    width: 5px;
    border-radius: 10px;
    background-color: #ccc;
}

#admin-srl_1::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: var(--main-color);
}

.filter_icon {
    display: flex;
    align-items: center;
}

.filter_icon span:first-child svg {
    padding: 5px;
    border: 1px solid #f1f1f1;
    width: 30px;
    height: 30px;
    margin-right: 8px;
}

.main {
    width: calc(100% - 0px);
    overflow: hidden;
    border-radius: 10px;
    color: white;
    display: flex;
}

/* BUG-0015: PDF document viewers — fill remaining viewport; only the document pane scrolls */
html:has(#pdf-viewer-wrapper),
body:has(#pdf-viewer-wrapper) {
    overflow: hidden;
    height: 100%;
}

body:has(#pdf-viewer-wrapper) .body-wrapper {
    min-height: 0;
}

.file-loader-overlay {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 420px;
    padding: 40px 20px;
    background: #f8f8f8;
    border-radius: 4px;
}

.file-loader-overlay .spinner-border {
    width: 3rem;
    height: 3rem;
    color: #7851a9;
}

.pdf-progress-wrap {
    width: 340px;
    max-width: 90%;
    margin-top: 18px;
}

.pdf-progress-meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #555;
    margin-bottom: 6px;
}

.pdf-progress-track {
    background: #ddd;
    border-radius: 6px;
    height: 9px;
    overflow: hidden;
}

.pdf-progress-bar {
    background: #7851a9;
    height: 100%;
    width: 0%;
    border-radius: 6px;
    transition: width 0.25s ease;
}

.pdf-viewer-wrapper {
    background: #525659;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.pdf-toolbar {
    background: #323639;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 14px;
    flex-wrap: wrap;
}

.pdf-toolbar button {
    background: #4a4d50;
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: 5px 12px;
    cursor: pointer;
    font-size: 14px;
}

.pdf-toolbar button:hover:not(:disabled) {
    background: #6a6d70;
}

.pdf-toolbar button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.pdf-toolbar .tb-spacer {
    flex: 1;
}

#pdf-zoom-label {
    min-width: 42px;
    text-align: center;
}

.pdf-pages-container {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    max-height: none;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.pdf-page-canvas {
    display: block;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
    max-width: 100%;
}

/* BUG-030: contain chat pages to the viewport so only the inner panels scroll.
   Drop the template min-heights that force the page taller than the viewport,
   then hide the residual window scroll — layout flow is left untouched. */
body:has(.messaging_sec.chat-layout) {
    overflow: hidden;
}

body:has(.messaging_sec.chat-layout) .body-wrapper {
    min-height: 0;
}

body:has(.messaging_sec.chat-layout) .container-fluid > .bg_white_border {
    min-height: 0;
}

/* BUG-030: chat layout — grid shell, scroll inside panels, compose pinned bottom */
.messaging_sec.chat-layout {
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    grid-template-areas:
        "chat-head"
        "chat-subhead"
        "chat-search"
        "chat-body";
    height: calc(100vh - 140px);
    overflow: hidden;
    position: relative;
}

body:has(.coupon_slider) .messaging_sec.chat-layout {
    height: calc(100vh - 180px);
}

.messaging_sec.chat-layout > .d-flex {
    grid-area: chat-head;
}

.messaging_sec.chat-layout > .SideNavhead {
    grid-area: chat-subhead;
}

.messaging_sec.chat-layout > .user-search-box {
    grid-area: chat-search;
}

.messaging_sec.chat-layout > .main {
    grid-area: chat-body;
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

/* keep modals/helpers out of the grid rows */
.messaging_sec.chat-layout > .modal,
.messaging_sec.chat-layout > #change-group-details,
.messaging_sec.chat-layout > #group-information {
    position: absolute;
    width: 0;
    height: 0;
    overflow: visible;
    pointer-events: none;
}

/* Raise chat shell above Bootstrap backdrop (nested modals sit inside page-wrapper) */
.messaging_sec.chat-layout:has(> .modal.show),
.messaging_sec.chat-layout:has(> .modal.showing),
.messaging_sec.chat-layout:has(#change-group-details .modal.show),
.messaging_sec.chat-layout:has(#change-group-details .modal.showing),
.messaging_sec.chat-layout:has(#group-information .modal.show),
.messaging_sec.chat-layout:has(#group-information .modal.showing),
.messaging_sec.chat-layout:has(section.Chat > .modal.show),
.messaging_sec.chat-layout:has(section.Chat > .modal.showing) {
    z-index: 1055;
    position: relative;
}

/* Avoid double-dimming: backdrop stacks above nested modals and washes them out */
body:has(.messaging_sec.chat-layout .modal.show) .modal-backdrop,
body:has(.messaging_sec.chat-layout .modal.showing) .modal-backdrop {
    display: none !important;
}

/* restore Bootstrap modal viewport when open (width/height:0 collapses form fields) */
.messaging_sec.chat-layout > .modal.show,
.messaging_sec.chat-layout > .modal.showing,
.messaging_sec.chat-layout > #change-group-details:has(.modal.show),
.messaging_sec.chat-layout > #change-group-details:has(.modal.showing),
.messaging_sec.chat-layout > #group-information:has(.modal.show),
.messaging_sec.chat-layout > #group-information:has(.modal.showing) {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1055;
    pointer-events: auto;
}

.messaging_sec.chat-layout > #change-group-details .modal,
.messaging_sec.chat-layout > #group-information .modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.messaging_sec.chat-layout > .modal.show,
.messaging_sec.chat-layout > .modal.showing,
.messaging_sec.chat-layout > #change-group-details .modal.show,
.messaging_sec.chat-layout > #change-group-details .modal.showing,
.messaging_sec.chat-layout > #group-information .modal.show,
.messaging_sec.chat-layout > #group-information .modal.showing {
    background-color: rgba(0, 0, 0, 0.5);
    overflow-x: hidden;
    overflow-y: auto;
    pointer-events: auto;
}

.messaging_sec.chat-layout .group_create.modal-content {
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.messaging_sec.chat-layout .group_create .modal-body {
    background-color: #fff;
}

.messaging_sec.chat-layout .main > div:first-child {
    flex: 0 0 auto;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    z-index: 2;
}

.messaging_sec.chat-layout .sideNav2 {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    /* BUG-039: opaque list panel so empty-state art cannot bleed through */
    background-color: #fff;
}

.messaging_sec.chat-layout section.Chat {
    flex: 1 1 auto;
    width: auto; /* override global section { width: 100% } that overflows the flex row */
    height: 100%;
    min-height: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: #fff;
    z-index: 1;
}

.messaging_sec.chat-layout section.Chat > .modal {
    position: absolute;
    width: 0;
    height: 0;
    overflow: visible;
    pointer-events: none;
}

.messaging_sec.chat-layout section.Chat > .modal.show,
.messaging_sec.chat-layout section.Chat > .modal.showing {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1055;
    pointer-events: auto;
    background-color: rgba(0, 0, 0, 0.5);
    overflow-x: hidden;
    overflow-y: auto;
}

.messaging_sec.chat-layout section.Chat > .MessageContainer {
    flex: 1 1 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.messaging_sec.chat-layout section.Chat > .row,
.messaging_sec.chat-layout section.Chat > .groupChatHead {
    flex-shrink: 0;
}

.messaging_sec.chat-layout section.Chat > [id^="group-member-form-"],
.messaging_sec.chat-layout section.Chat > form#MessageForm {
    flex-shrink: 0;
    margin-top: auto;
}

.messaging_sec.chat-layout #MessageForm,
.messaging_sec.chat-layout #TeamMessageForm {
    flex-shrink: 0;
    background: #fff;
    border-top: 1px solid #eee;
}

/* BUG-039: empty-state illustration stays above copy (no overlap) across zoom */
.messaging_sec.chat-layout section.Chat > .icon_chat {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    min-height: 0;
    min-width: 0;
    width: 100%;
    max-width: 36rem;
    margin: 0 auto;
    padding: 1.5rem;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    text-align: center;
    position: relative;
    /* soft background treatment of the illustration area */
    background-color: #fff;
}

.messaging_sec.chat-layout section.Chat > .icon_chat > span {
    /* never flex-shrink — that collapsed the box while the img still painted over h4/p */
    flex: 0 0 auto;
    display: block;
    width: min(100%, 18rem);
    max-width: 100%;
    margin: 0;
    line-height: 0;
    position: relative;
    z-index: 0;
}

.messaging_sec.chat-layout section.Chat > .icon_chat > span img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: min(12rem, 28vh);
    object-fit: contain;
}

.messaging_sec.chat-layout section.Chat > .icon_chat h4,
.messaging_sec.chat-layout section.Chat > .icon_chat p {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    max-width: 100%;
    margin: 0;
    background-color: #fff;
}

.messaging_sec.chat-layout section.Chat > .icon_chat p {
    margin-top: 0;
}

.sideNav1 {
    display: flex;

    backdrop-filter: blur(55px);
    list-style: none;
    flex-direction: column;
    font-size: 1.5rem;
    box-shadow: var(--box-shadow);

    border-radius: 10px;
    align-items: center;
    padding: 0px;
    width: calc(100% - 10px);
    gap: 5px;
    padding: 10px 0px;
    justify-content: center;
    height: fit-content;
    border: 1px solid #ffffff21;
}

.sideNav1 li {
    padding: 13px 0px;
    border-radius: 5px;
    cursor: pointer;
    transition-duration: 0.27s;
    margin: 0px;
    width: calc(100% - 10px);
    font-size: 1.3rem;
    display: flex;
    justify-content: center;
}

.sideNav1 li:hover,
.sideNav1 li.active {
    color: #00f5d4;
    background-color: #00f5d424;
}

.sideNav2 {
    height: 100%;
    box-shadow: var(--box-shadow);
    backdrop-filter: blur(55px);
    border-radius: 10px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    overflow: hidden;
    border: 1px solid #ffffff21;
    overflow-y: auto;
    width: 500px;
}

.messaging_sec .heading_hp h2 {
    text-transform: capitalize;
    font-size: 30px;
}

.SideNavhead {
    display: flex;
    align-items: center;
    padding: 0px;
    padding-bottom: 0px;
    border-bottom: 1px solid #c1c1c1;
    margin-bottom: 10px;
}

.SideNavhead h2 {
    color: #000;
    font-size: 1.5rem;
    margin-right: auto;
    margin-bottom: -6px;
    background: #fff;
}

.SideNavhead i {
    padding: 15px;
    cursor: pointer;
    font-size: larger;

    border-radius: 5px;
}

.SideNavhead i:hover {
    background-color: #9090903a;
}

section {
    box-shadow: var(--box-shadow);
    width: 100%;
    border-radius: 10px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    height: 100%;
    backdrop-filter: blur(2px);
    display: flex;
    flex-direction: column;
    border: 1px solid #ffffff21;
    overflow-x: hidden;
}

.SearchInputHolder {
    position: relative;
}

.searchInput {
    width: calc(100% - 40px);
    padding: 7px;
    border: none;
    background-color: transparent;
    color: white;
    font-family: Roboto;
    transition-duration: 0.25s;
    border-radius: 5px;
    padding-left: 30px;
    margin: 5px 20px;
    position: relative;
}

.SearchInputHolder i {
    position: absolute;
    bottom: 10px;
    left: 25px;
}

.searchInput::placeholder {
    color: #b0b0b0;
}

.SearchInputHolder hr {
    content: "";
    width: calc(100% - 40px);
    height: 2px;
    border-radius: 5px;
    padding: 1px;
    position: absolute;
    z-index: 100;
    left: 20px;
    background-color: #b0b0b0;
    border: none;
    bottom: 0px;
}

.SearchInputHolder .searchInput:focus + hr {
    background-color: #00f5d4;
    color: #00f5d4;
}

.searchInput:focus {
    color: #00f5d4;
    outline: none;
}

.group {
    display: grid;
    grid-template-columns: 55px calc(100% - 55px);
    grid-template-rows: repeat(2, 30px);
    width: calc(100% - 5px);
    margin: 0px;
    padding: 10px;
    list-style-type: none;
    border-radius: 0px;
    user-select: none;
    cursor: pointer;
    background: #f7f7f7;
    border-bottom: 1px solid #e7e7e7;
    position: relative;
}

.avatar {
    grid-row: 1 / span 2;
    border-radius: 50%;
    height: 40px;
    width: 40px;
}

.GroupDescrp {
    width: 100%;
    padding: 5px 10px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    color: var(--text-color);
    height: 38px;
    margin-bottom: 0;
    font-size: 14px;
}

.time_online {
    position: absolute;
    color: #566088;
    right: 8px;
    top: 5px;
    font-size: 12px;
    font-weight: 400;
}

.GroupName {
    font-weight: 900;
    padding: 7px 10px 0px;
    color: var(--text-color);
    margin-bottom: 0px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.group:hover {
    background-color: #ffffff21;
}

.group.active {
    background: var(--main-color);
}

.group.active .GroupName,
.group.active .GroupDescrp,
.group.active .time_online {
    color: var(--white-color);
}

.avatar img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    margin: auto;
    border-radius: 50%;
}

.ChatHead {
    display: flex;
    align-items: center;
    border-bottom: 2px solid #ffffff21;
    flex-direction: column;
}

.main_avtar img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
}

.ChatHead .group:hover {
    background-color: transparent;
}

.ChatHead .group {
    width: 300px;
    display: flex;
    align-items: center;
}

.ChatHead .group .GroupName {
    font-size: 1.3rem;
    padding-left: 20px;
}

.ChatHead .group .avatar {
    padding: 5px;
    height: 40px;
    width: 40px;
}

.sideNav2::-webkit-scrollbar {
    width: 3px;
}

.sideNav2::-webkit-scrollbar-track {
    background: #fff;
}

.sideNav2::-webkit-scrollbar-thumb {
    background: #d9d9d9;
    border-radius: 10px;
}

.sideNav2::-webkit-scrollbar-thumb:hover {
    background: #e9e9e9c8;
}

.MessageContainer::-webkit-scrollbar {
    width: 10px;
}

.MessageContainer::-webkit-scrollbar-track {
    background: #e9e9e948;
}

.MessageContainer::-webkit-scrollbar-thumb {
    background: #e9e9e962;
    border-radius: 10px;
}

.MessageContainer::-webkit-scrollbar-thumb:hover {
    background: #e9e9e9c8;
}

.MessageContainer {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    padding: 10px;
    flex-direction: column;
    overflow: hidden;
    overflow-y: auto;
}

#MessageForm {
    padding: 10px;
    display: flex;
    align-items: center;
    width: 100%;
    gap: 6px;
}

#MessageForm input {
    padding: 10px;
    flex: 1;
    border-radius: 10px;
    border: 1px solid #404040;
    background-color: transparent;
}

#MessageForm button {
    padding: 10px 15px;
    border: none;
    background-color: var(--sec-color);
    color: white;
    cursor: pointer;
    border-radius: 50%;
    margin: 0px 5px;
    font-size: 1.2rem;
    width: 50px;
    height: 50px;
}

#MessageForm input:focus {
    outline: none;
    border: 1px solid #00f5d4;
}

/* BUG-051: vertically center attachment (paperclip) with input + send */
#MessageForm .file-upload,
#TeamMessageForm .file-upload {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    flex-shrink: 0;
    padding: 0 4px;
    margin: 0;
}

#MessageForm .file-upload > span,
#TeamMessageForm .file-upload > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    margin: 0;
}

#MessageForm .file-upload svg,
#TeamMessageForm .file-upload svg {
    display: block;
}

#MessageForm .emojionearea,
#TeamMessageForm .emojionearea {
    flex: 1;
    min-width: 0;
    margin-bottom: 0 !important;
}

#MessageForm > div:last-child,
#TeamMessageForm > div:last-child {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.MessageContainer span {
    margin-bottom: auto;
}

.message {
    display: flex;
    width: fit-content;
    flex-direction: column;
    border-radius: 5px;
    margin: 5px;
    position: relative;
    max-width: 75%;
}

.you {
    color: #000000;
    text-align: left;
}

.message i {
    color: #00ab1e;
}

.messageDetails {
    font-size: 0.7rem;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    text-align: right;
    align-items: center;
    padding: 2px 0px;
}

.messageContent {
    font-size: 0.9rem;
}

/* BUG-073: keep full chat history visible while searching; highlight matches in context */
.MessageContainer.chat-is-searching .message.chat-search-dimmed {
    opacity: 0.45;
    transition: opacity 0.15s ease;
}

.MessageContainer.chat-is-searching .message.chat-search-match {
    opacity: 1;
}

.MessageContainer .chat-search-highlight,
.messageContent .chat-search-highlight {
    background: #ffe08a;
    color: inherit;
    padding: 0 2px;
    border-radius: 2px;
}

/* BUG-049: chat video thumbnail in bubble — click opens player modal */
.messageContent .chat-video-preview {
    position: relative;
    display: inline-block;
    width: fit-content;
    max-width: min(100%, 280px);
    line-height: 0;
    cursor: pointer;
    border: 0;
    padding: 0;
    background: transparent;
    border-radius: 8px;
    overflow: hidden;
    vertical-align: top;
}

.messageContent video.chat-video-attachment,
.messageContent .chat-video-preview video.chat-video-attachment,
.messageContent video {
    display: block;
    width: auto;
    height: auto;
    max-width: min(100%, 280px);
    max-height: 360px;
    min-height: 0;
    background: #111;
    border-radius: 8px;
    object-fit: scale-down;
}

.messageContent .chat-video-preview video.chat-video-attachment {
    pointer-events: none; /* click goes to wrapper → modal */
}

.messageContent .chat-video-play-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.28);
    color: #fff;
    font-size: 1.35rem;
    pointer-events: none;
    transition: background 0.15s ease;
}

.messageContent .chat-video-preview:hover .chat-video-play-icon {
    background: rgba(0, 0, 0, 0.4);
}

.messageContent .chat-video-format-badge {
    position: absolute;
    left: 8px;
    bottom: 8px;
    z-index: 1;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.4;
    pointer-events: none;
}

.chat-video-preview-fallback {
    max-width: 420px;
    margin: 24px auto;
    padding: 20px 24px;
    text-align: center;
    color: #f3f3f3;
    font-size: 0.95rem;
    line-height: 1.5;
}

.messageContent .chat-video-play-icon i {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #5a189a;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

/* BUG-050 / BUG-054: chat image — natural aspect ratio (never stretch/squeeze) */
.messageContent img.chat-image-attachment,
.messageContent a.chat-image-preview img,
.messageContent a.file-download img.chat-image-attachment {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(100%, 280px) !important;
    max-height: 360px !important;
    object-fit: contain !important;
    object-position: center center !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    align-self: flex-start !important;
    border-radius: 8px;
    cursor: zoom-in;
    background: transparent;
}

.messageContent a.chat-image-preview {
    display: inline-block !important;
    width: fit-content !important;
    max-width: min(100%, 280px);
    height: auto !important;
    line-height: 0;
    overflow: visible;
    vertical-align: top;
}

/* Shrink-wrap media bubbles so empty padding doesn't look like a crop frame */
.message-wrap > .messageContent:has(> a.chat-image-preview),
.message-wrap > .messageContent:has(> .chat-video-preview),
.message-wrap > .messageContent:has(> video.chat-video-attachment),
.message-wrap > .messageContent:has(> .chat-image-attachment) {
    width: fit-content;
    max-width: 100%;
    padding: 8px !important;
}

.me .message-wrap > .messageContent:has(> a.chat-image-preview),
.me .message-wrap > .messageContent:has(> .chat-video-preview),
.me .message-wrap > .messageContent:has(> video.chat-video-attachment) {
    padding-right: 28px !important; /* keep room for absolute ⋮ menu */
}

/* BUG-054: image/video lightbox
 * Tall images: scale by height so the FULL image shows; dark gaps left/right are OK.
 * Never stretch/squash to fill width.
 */
.chat-image-lightbox .modal-dialog,
.chat-video-lightbox .modal-dialog {
    width: min(92vw, 720px) !important;
    max-width: min(92vw, 720px) !important;
    margin: 1rem auto;
}

.chat-image-lightbox .modal-content.chat-image-preview-modal,
.chat-video-lightbox .modal-content.chat-video-preview-modal {
    background: #121218;
    border: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
}

.chat-lightbox-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    background: #1a1a22;
    flex: 0 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.chat-lightbox-title {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0;
    max-width: 50%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chat-lightbox-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.chat-lightbox-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 12px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease;
}

.chat-lightbox-btn:hover {
    background: rgba(255, 255, 255, 0.22);
    color: #fff !important;
}

.chat-lightbox-close {
    width: 36px;
    padding: 0;
    font-size: 1.1rem;
}

/* Dark stage: image centered; tall images get left/right dark gaps */
.chat-image-lightbox .modal-body.chat-lightbox-body,
.chat-video-lightbox .modal-body.chat-lightbox-body {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 20px 24px !important;
    background: #0b0b0f !important;
    box-sizing: border-box !important;
}

#chatImagePreviewImg.chat-image-preview-full,
#chatVideoPreviewPlayer.chat-video-preview-full,
.chat-image-preview-full,
.chat-video-preview-full {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    /* Height-first: full tall image fits in viewport */
    max-height: 78vh !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
    align-self: center !important;
    border-radius: 4px;
    background: transparent;
}

/* Download progress must sit above image/video lightbox */
#downloadProgressModal.download-progress-on-top,
#downloadProgressModal {
    z-index: 2100 !important;
}
.modal-backdrop.download-progress-backdrop {
    z-index: 2090 !important;
}

/* Theme sets --bs-progress-bg:#fff (invisible on white modal body) — force a visible track */
#downloadProgressModal .download-progress-track,
#downloadProgressModal .progress {
    --bs-progress-bg: #e9ecef !important;
    --bs-progress-bar-bg: #643271 !important;
    --bs-progress-height: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    background-color: #e9ecef !important;
    border: 1px solid #ced4da !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    display: flex !important;
}
#downloadProgressModal .progress-bar,
#downloadProgressModal #downloadProgressBar {
    background-color: #643271 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 22px !important;
    min-width: 0;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
#downloadProgressModal #downloadProgressPercent {
    color: #643271;
    font-size: 0.95rem;
}

/* Keep outgoing bubbles fully visible (dropdown must not widen / clip media) */
.message {
    box-sizing: border-box;
    max-width: min(75%, 100%);
    overflow: visible;
}

.message-wrap {
    display: flex;
    align-items: flex-start;
    max-width: 100%;
    min-width: 0;
    position: relative;
    overflow: visible;
}

.message-wrap > .messageContent {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: visible;
}

.message-wrap > .dropdown {
    position: absolute;
    top: 6px;
    right: 4px;
    z-index: 2;
}

.messaging_sec.chat-layout section.Chat > .MessageContainer,
.MessageContainer {
    padding-left: 12px;
    padding-right: 16px;
    overflow-x: hidden;
    overflow-y: auto;
}

.messageDetails .messageTime {
    margin-left: auto;
    padding-right: 5px;
    font-weight: 300;
    color: #c3c1c1;
}

.you .messageDetails .messageTime {
    color: rgb(38, 38, 38);
}

.you i {
    color: #036666;
}

.emojionearea .emojionearea-editor {
    min-height: unset !important;
}

.me {
    margin-left: auto;
    color: var(--black-color);
    text-align: right;
}

.me .messageContent {
    background-color: rgb(217 139 28 / 30%);
    color: var(--black-color);
    text-align: start;
    margin-bottom: 0;
    padding: 10px 22px;
    border-radius: 15px 0 15px 15px;
}

.you .messageContent {
    background-color: #dee2e6;
    color: #000000;
    text-align: left;
    margin-bottom: 0;
    padding: 10px 22px;
    border-radius: 0 15px 15px 15px;
}

.you .messageDetails {
    justify-content: start;
}

.you .messageDetails .messageTime {
    margin-left: 0;
}

.messageSeperator {
    position: relative;
    text-align: center;
}

.messageSeperator:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: rgb(0 0 0 / 20%);
    left: 0;
    top: 50%;
    transform: translate(0%, -50%);
}

.messageSeperator span {
    padding: 0px 13px;
    width: fit-content;
    background-color: #ffffff;
    color: #000;
    z-index: 1;
    position: relative;
    font-size: 14px;
}

.icon_chat {
    width: 100%;
    max-width: 36rem;
    margin: 0 auto;
    padding: 1.5rem;
    box-sizing: border-box;
    text-align: center;
}

.icon_chat span {
    display: block;
    width: min(100%, 18rem);
    max-width: 100%;
    margin: 0 auto 1rem;
    line-height: 0;
}

.icon_chat span img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: min(12rem, 28vh);
    object-fit: contain;
}

.icon_chat h4 {
    color: #000;
    position: relative;
    z-index: 1;
}

.icon_chat p {
    color: #000;
    position: relative;
    z-index: 1;
}

/* ---- partner ---------*/
.partner_box {
    padding: 0 15px;
    border: 1px solid #dadada;
    border-radius: 10px;
    box-shadow: 0 0 10px rgb(0 0 0 / 20%);
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
}

.edit_delete {
    background: #000;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 11px;
    border-radius: 50%;
    margin: 0px 2px -18px;
}

.edit_delete img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.partner_box span {
    width: 70px;
    height: 70px;
    margin: -30px auto 15px;
    display: inline-block;
}

.partner_box span img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.partner_box p {
    margin-bottom: 5px;
    font-size: 14px;
}

.edit_delete.blue_bg {
    background: #00a5d9;
}

.edit_delete.red_bg {
    background: #c30000;
}

/* ---- partner ---------*/
/* ---- activity ---------*/
.activity_box {
    border-radius: 5px;
    border: 1px solid rgb(218 218 218 / 20%);
    box-shadow: 0px 10px 10px rgb(0 0 0 / 6%);
    padding: 10px;
    display: flex;
    margin-bottom: 10px;
}

.activity_img span {
    width: 40px;
    height: 40px;
    display: flex;
    margin-right: 5px;
    background: rgb(0 94 255 / 10%);
    border-radius: 7px;
    align-items: center;
    justify-content: center;
    padding: 11px;
}

.activity_img span img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.activity_box h5 {
    font-size: 18px;
    margin-bottom: 5px;
}

.activity_box p {
    font-size: 14px;
    margin-bottom: 0;
}

.activity_img.tick_img span {
    background: rgb(2 187 126 / 10%);
}

.activity_img.delete_img span {
    background: rgb(255 50 50 / 10%);
}

.activity_scroll {
    height: 75vh;
    overflow: hidden;
    overflow-y: auto;
    padding-right: 15px;
}

.activity_scroll::-webkit-scrollbar {
    width: 3px;
}

.activity_scroll::-webkit-scrollbar-track {
    background: #d9d9d9;
}

.activity_scroll::-webkit-scrollbar-thumb {
    background: #f6bc41;
    border-radius: 10px;
}

.activity_scroll::-webkit-scrollbar-thumb:hover {
    background: #e9e9e9c8;
}

/* ---- activity ---------*/

/* ---- files ---------*/
.files_all {
    border-bottom: 1px solid rgb(0 0 0 / 10%);
}

.file_box {
    width: 100%;
    display: flex;
    align-items: center;
    margin: 15px 0;
}

.file_img span {
    width: 45px;
    height: 45px;
    display: inline-block;
    margin-right: 5px;
}

.file_img span img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.file_text h5 {
    font-size: 16px;
    margin-bottom: 0;
    font-family: var(--main-font);
}

.file_text p {
    font-size: 14px;
    margin-bottom: 0;
}

/* ---- files ---------*/
/* Start Toogle */

.button-switch {
    font-size: 1.5em;
    height: 1.875em;
    margin-bottom: 0.625em;
    position: relative;
    width: 4.5em;
}

.button-switch .lbl-off,
.button-switch .lbl-on {
    cursor: pointer;
    display: block;
    font-size: 0.9em;
    font-weight: bold;
    line-height: 1em;
    position: absolute;
    top: 0.5em;
    transition: opacity 0.25s ease-out 0.1s;
    text-transform: uppercase;
}

.button-switch .lbl-off {
    right: 0.4375em;
}

.button-switch .lbl-on {
    color: #fefefe;
    opacity: 0;
    left: 0.4375em;
}

.button-switch .switch {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: 0;
    font-size: 1em;
    left: 0;
    line-height: 0;
    outline: none;
    position: absolute;
    top: 0;
    width: 0;
    margin-top: 21px;
}

.button-switch .switch:before,
.button-switch .switch:after {
    content: "";
    font-size: 1em;
    position: absolute;
}

.button-switch .switch:before {
    border-radius: 1.25em;
    background: #bdc3c7;
    height: 1.1em;
    left: -0.25em;
    top: -0.1875em;
    transition: background-color 0.25s ease-out 0.1s;
    width: 2.6em;
}

.button-switch .switch:after {
    box-shadow: 0 0.0625em 0.375em 0 #666;
    border-radius: 50%;
    background: #fefefe;
    height: 0.7em;
    transform: translate(0, 0);
    transition: transform 0.25s ease-out 0.1s;
    width: 0.7em;
}

.button-switch .switch:checked:after {
    transform: translate(1.3em, 0);
}

.button-switch .switch:checked ~ .lbl-off {
    opacity: 0;
}

.button-switch .switch:checked ~ .lbl-on {
    opacity: 1;
}

.button-switch .switch#switch-orange:checked:before {
    background: #643271;
}

.button-switch .switch#switch-blue:checked:before {
    background: #3498db;
}

/* End Toogle   */

.toxic td {
    border-bottom-color: rgb(243, 232, 232) !important;
}

.error {
    color: red;
}

/* BUG-032: center table header labels; prevent ID (#) wrapping */
.color_head tr th {
    text-align: center;
    vertical-align: middle !important;
    white-space: nowrap;
    padding: 10px 12px !important;
}

.color_head th span {
    margin-left: 5px;
    display: inline;
}

.eye-btn-1 {
    position: absolute;
    top: 6px;
    right: 15px;
    transform: translate(0px, 0px);
    font-size: 20px;
}

.round-btn {
    background-color: #643271;
    color: #ffffff;
    border-radius: 10px;
    padding: inherit;
    display: inline-block;
    margin-bottom: 6px;
}

.expiery_date {
    /* position: absolute; */
    top: 10px;
    right: 20px;
    background: #b17800;
    color: #fff;
    padding: 3px 21px;
    transform: skewX(334deg);
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    width: fit-content;
    float: inline-end;
    /* animation: changeBackgroundColor 2s infinite; */
}

.modal-header {
    background-color: #643271;
    color: #fff;
}

.today-expire {
    animation: changeBackgroundColor 1s infinite;
}

@keyframes changeBackgroundColor {
    0% {
        background-color: #480792;
    }

    50% {
        background-color: #b17800;
    }

    100% {
        background-color: #000000;
    }
}

/*--- bulletin ---- */
.bulletin_board {
    padding: 50px 50px;
}

.bulletin_img_name .main_avtar {
    margin-right: 15px;
    position: relative;
}

.bulle_left {
    box-shadow: inset 0px 0px 9px rgb(100 50 113 / 52%);
    border: 1px solid #000;
    padding: 10px;
    border-radius: 10px;
    position: relative;
}

.bulle_left h4 {
    font-size: 18px;
}

.bulle_left p {
    font-size: 15px;
    margin-bottom: 0;
}

.time_bulle {
    text-align: right;
    font-size: 14px;
    padding-top: 5px;
}

.bulletin_img_name .main_avtar:before {
    content: "";
    position: absolute;
    right: 3px;
    background: #643271;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    bottom: -15px;
}

.bulletin_img_name .main_avtar:after {
    content: "";
    position: absolute;
    right: -7px;
    background: #643271;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    bottom: -26px;
}

.bulletion_board_left {
    margin-bottom: 25px;
    position: relative;
}

.bulletion_board_left.bulletion_board_right .bulletin_img_name .main_avtar {
    margin-right: 0;
    margin-left: 15px;
}

.bulletion_board_left.bulletion_board_right
    .bulletin_img_name
    .main_avtar:before {
    right: auto;
    left: 0;
}

.bulletion_board_left.bulletion_board_right
    .bulletin_img_name
    .main_avtar:after {
    right: auto;
    left: -6px;
}

.name_bull {
    position: absolute;
    right: 20px;
    top: -13px;
    background: #fff;
    padding: 0px 10px;
    font-weight: 600;
    font-size: 15px;
}

.bulletion_board_left.bulletion_board_right .bulle_left {
    /* text-align: right; */
}

.bulletion_board_left.bulletion_board_right .name_bull {
    right: auto;
    left: 20px;
}

.bulletion_board_left.bulletion_board_right .time_bulle {
    text-align: left;
}

/*--- bulletin ---- */

/*--- group chat ---- */
.add_group {
    color: #fff;
    background: #643271;
    padding: 3px 10px;
    border-radius: 5px;
    margin-bottom: 3px;
    font-size: 15px;
}

.SideNavhead h2 {
    color: #000;
    font-size: 1.5rem;
    margin-right: 13px;
    background: #fff;
    margin-bottom: 0;
}

.add_group:hover {
    color: #000;
    background: #f6bc41;
}

.add_group i {
    padding: 0;
    cursor: pointer;
    font-size: medium;
    border-radius: 0;
}

.groupChatHead {
    display: flex;
    align-items: center;
    padding-left: 15px;
}

.group_text span {
    font-size: 15px;
    color: var(--text-color);
    padding: 0 10px;
}

.group_text .GroupName {
    padding: 0 10px;
}

.group_text_right {
    margin-left: auto;
}

.group_text_right button {
    font-size: 13px;
    border: 1px solid #d98b1c;
    border-radius: 50%;
    background: rgb(255 72 66 / 7%);
    color: #000;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.group_text_right button:after {
    display: none;
}

.group_create .modal-header {
    background: var(--main-color);
    color: #fff;
}

.group_text_right button:hover,
.group_text_right button:focus {
    border: 1px solid #d98b1c;
    background: rgb(255 72 66 / 7%);
    color: #000;
}

.group_text_right ul {
    background: var(--main-color);
}

.group_text_right ul li a {
    padding: 6px 0;
    color: var(--white-color);
}

.group_text_right ul li a:hover {
    color: var(--sec-color);
}

.image-upload {
    width: 150px;
    height: 150px;
    display: block;
    margin: 0 auto 15px;
    position: relative;
}

.image-wrap {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 24px rgb(0 0 0 / 37%);
    padding: 3px;
    border: 5px solid #643271;
}

.image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 50%;
}

.btn-inputfile {
    width: 150px;
    height: 40px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.btn-inputfile + label {
    margin-bottom: 0;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 7px 7px;
    font-size: 14px;
    border-radius: 50%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: #fff;
    background-color: #643271;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 35px;
    height: 35px;
}

.btn-inputfile:focus + label,
.btn-inputfile + label:hover,
.btn-inputfile + label:focus {
    color: #fff;
    background-color: #643271;
    border: 1px solid transparent;
}

.btn-inputfile + label {
    cursor: pointer;
}

.btn-inputfile:focus + label {
    outline: 1px dotted #000;
    outline: -webkit-focus-ring-color auto 5px;
}

.member_add ul {
    height: 360px;
    padding-left: 0;
    margin-bottom: 0;
    overflow: hidden;
    overflow-y: auto;
}

.member_add ul li {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 10px;
    background: #f1f1f1;
    border-bottom: 1px solid rgb(0 0 0 / 19%);
}

.member_add ul::-webkit-scrollbar {
    width: 3px;
}

.member_add ul::-webkit-scrollbar-track {
    background: #fff;
}

.member_add ul::-webkit-scrollbar-thumb {
    background: #d9d9d9;
    border-radius: 10px;
}

.member_add ul::-webkit-scrollbar-thumb:hover {
    background: #e9e9e9c8;
}

.min_height400 {
    height: 360px;
    padding-left: 0;
    margin-bottom: 0;
    overflow: hidden;
    overflow-y: auto;
}

.min_height400 ul::-webkit-scrollbar {
    width: 3px;
}

.min_height400 ul::-webkit-scrollbar-track {
    background: #fff;
}

.min_height400 ul::-webkit-scrollbar-thumb {
    background: #d9d9d9;
    border-radius: 10px;
}

.min_height400 ul::-webkit-scrollbar-thumb:hover {
    background: #e9e9e9c8;
}

.eleplish {
    border: none;
    background: none;
}

.eleplish::after {
    display: none;
}

.exit_group {
    padding: 10px 0 0;
    text-align: right;
}

.exit_group a {
    color: #ff0000;
}

.member_image span {
    width: 30px;
    height: 30px;
    display: inline-block;
    margin-right: 5px;
}

.member_image span img {
    width: 100%;
    height: 100%;
    display: inline-block;
    border-radius: 50%;
}

.namemember {
    font-size: 15px;
    margin-bottom: 0;
    display: block;
    font-weight: 600;
    color: #4f2f01;
}

/*--- group chat ---- */

/* loader */

.loading {
    z-index: 9999999;
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff00;
}

.loading-content {
    position: absolute;
    border: 5px solid #f3f3f3;
    border-top: 5px solid #643271;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    top: 40%;
    left: 50%;
    animation: spin 2s linear infinite;
}

#TeamMessageForm {
    padding: 10px;
    display: flex;
    align-items: center;
    width: 100%;
    gap: 6px;
}

#TeamMessageForm input {
    padding: 10px;
    flex: 1;
    border-radius: 10px;
    border: 1px solid #404040;
    background-color: transparent;
}

#TeamMessageForm button {
    padding: 10px 15px;
    border: none;
    background-color: var(--sec-color);
    color: white;
    cursor: pointer;
    border-radius: 50%;
    margin: 0px 5px;
    font-size: 1.2rem;
    width: 50px;
    height: 50px;
}

#TeamMessageForm input:focus {
    outline: none;
    border: 1px solid #00f5d4;
}

.admin_name {
    padding: 6px;
    border-radius: 10px;
    background: #643271;
    color: #fff;
    text-align: center;
}

.clear-chat-button {
    position: relative;
    /* right: 24px;
    top: 27px; */
}

/* notification */
.top-text-block {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: inherit !important;
    border-bottom: 1px solid #f4f4f4;
    position: relative;
}

.top-text-block:hover:before {
    content: "";
    width: 4px;
    background: #f05a1a;
    left: 0;
    top: 0;
    bottom: 0;
    position: absolute;
}

.top-text-block.unread {
    background: #ffc;
}

.top-text-block .top-text-light {
    color: #999;
    font-size: 0.8em;
}

.top-head-dropdown .dropdown-menu {
    width: 350px;
    height: 300px;
    overflow: auto;
}

.top-head-dropdown li:last-child .top-text-block {
    border-bottom: 0;
}

.topbar-align-center {
    text-align: center;
}

.loader-topbar {
    margin: 5px auto;
    border: 3px solid #ddd;
    border-radius: 50%;
    border-top: 3px solid #666;
    width: 22px;
    height: 22px;
    -webkit-animation: spin-topbar 1s linear infinite;
    animation: spin-topbar 1s linear infinite;
}

@-webkit-keyframes spin-topbar {
    0% {
        -webkit-transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin-topbar {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* notification */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* end loader */
.message-wrap ul {
    padding: 0;
    border-radius: 0;
    box-shadow: 0 3px 5px #bdbdbd;
}

.message-wrap ul li {
    margin: 8px auto;
}

.message-wrap ul li a {
    cursor: pointer;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.message-wrap ul li a:hover {
    background-color: #643271;
    color: #fff;
}

.emailRow__title {
    display: inline-block;
    max-width: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.text-blue {
    color: #643271;
}

.table-center-align .table td,
.table-center-align .table th {
    vertical-align: middle !important;
}

.member-table td {
    border-bottom: 0px !important;
    border-right: 0px !important;
    border-left: 0px !important;
}

.member-table th {
    border-bottom: 0px !important;
    border-right: 0px !important;
    border-left: 0px !important;
}

.chatbot-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
}

.chatbot-btn {
    position: relative;
    width: 60px;
    height: 60px;
    /* background-color: white; */
    border-radius: 50%;
    color: white;
    font-size: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.chatbot-btn:hover {
    background-color: #643271;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
}

.chatbox {
    display: none;
    position: absolute;
    bottom: 80px;
    right: 0;
    width: 400px;
    height: 550px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    animation: slideIn 0.3s ease;
}

.chatbox-header {
    background-color: #643271;
    color: white;
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
}

.chatbox-header .close-btn {
    cursor: pointer;
    font-size: 18px;
    background: none;
    border: none;
    color: white;
}

.chatbox-body {
    margin-bottom: 20px;
    padding: 15px;
    height: 445px;
    overflow-y: auto;
    background-color: #f4f4f4;
}

.chatbox-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 5px;
    background-color: #f9f9f9;
    display: flex;
    max-height: 50px;
}

.chatbox-footer input {
    flex-grow: 1;
    padding: 8px;
    border: none;
    border-radius: 5px;
    outline: none;
    margin-right: 10px;
}

.chatbox-footer button {
    background-color: #643271;
    border: none;
    color: white;
    padding: 8px 12px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
}

.chatbox-footer button:hover {
    background-color: #643271;
}

.chatbot-message {
    max-width: 70%;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    clear: both;
}

.chatbot-bot-message {
    background-color: #e0e0e0;
    align-self: flex-start;
    float: left;
    margin-right: 15px;
}

.chatbot-bot-message p {
    margin-bottom: 0px !important;
}

.chatbot-bot-message-lable {
    align-self: flex-start;
    float: left;
    margin-right: 15px;
    color: slategrey;
    font-size: 12px;
}

.chatbot-user-message {
    background-color: #643271;
    color: white;
    align-self: flex-end;
    float: right;
    margin-left: 15px;
}

.chatbot-user-message p {
    margin-bottom: 0px !important;
}

@keyframes slideIn {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(0);
    }
}

.ecclesia-see-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: auto;
    min-height: 28px;
    font-size: 12px;
    line-height: 1.2;
    padding: 5px 10px;
    white-space: nowrap;
    overflow: visible;
    width: auto;
    max-width: none;
    margin-top: 6px;
}

.member-table th.notranslate,
.member-table td .ecclesia-house-cell {
    min-width: 168px;
}

.member-table td .ecclesia-house-cell {
    max-width: 280px;
}

.ecclesia-house-cell .ecclesia-house-name {
    display: block;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.required-star {
    color: red;
}

/* // tooltip color and background color  */
.tooltip-inner {
    background-color: #572b62 !important;
    color: #fff !important;
    font-size: 12px;
    padding: 5px 10px;
    border-radius: 5px;
}

.swal2-icon-content {
    font-size: 0.75em !important;
}

.text-danger {
    color: red !important;
}

.emailRow__options input {
    /* display: none; */
}

.emailRow__options .material-symbols-outlined {
    margin-left: 5px;
}

/* Keep star toggle position stable (filled vs outline must share the same box) */
.emailRow__options .mail-star-btn,
.emailList__settingsRight .mail-star-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-left: 5px;
    flex-shrink: 0;
    line-height: 1;
    vertical-align: middle;
}

.emailRow__options .mail-star-icon,
.emailList__settingsRight .mail-star-icon {
    font-size: 16px;
    width: 1em;
    height: 1em;
    line-height: 1;
    display: inline-block;
    text-align: center;
}

.emailList__settings input {
    display: none;
}

.chat-back-button {
    display: none !important;
}

/* Dropzone box */
#dropzone-area {
    min-height: 150px;
    border: 2px dashed #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    cursor: pointer;
    border-radius: 8px;
    background: #fafafa;
}

/* Previews grid */
.gallery-previews {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
    gap: 12px;
    margin-top: 12px;
    margin-bottom: 15px;
    border-bottom: 1px solid #e0dfdf;
    padding-bottom: 15px;
}

/* Single preview card */
.dz-preview {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    position: relative;
    padding-bottom: 8px;
}

.dz-image img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    display: block;
}

.dz-details {
    padding: 8px;
    font-size: 13px;
    color: #333;
}

.dz-filename {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.dz-progress {
    height: 6px;
    background: #f0f0f0;
    margin: 0 8px;
    border-radius: 6px;
    overflow: hidden;
}

.dz-upload {
    display: block;
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #4caf50, #76d275);
}

.dz-success-mark {
    position: absolute;
    top: 8px;
    right: 8px;
    background: #4caf50;
    color: #fff;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    opacity: 0;
    transition: opacity 0.2s;
}

.dz-success {
}

.dz-preview.dz-success .dz-success-mark {
    opacity: 1;
}

.dz-remove {
    display: inline-block;
    margin-left: 8px;
    color: #d9534f;
    cursor: pointer;
    font-size: 13px;
    text-decoration: none;
}

/* Small filesize text */
.dz-size {
    color: #666;
    font-size: 12px;
}

/* error text */
#images_error {
    display: block;
    margin-top: 6px;
    color: #d9534f;
}

.badge {
    vertical-align: middle;
    padding: 7px 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    border-radius: 30px;
    font-size: 12px;
}

.bg-success {
    background-color: #54ca68 !important;
}

.badge {
    vertical-align: middle;
    padding: 7px 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    border-radius: 30px;
    font-size: 12px;
}

.bg-secondary {
    background-color: #cdd3d8 !important;
}
.btn-outline-warning {
    color: #ffc107;
    border: 1px solid #ffc107 !important;
}

.bg-info {
    background-color: #3abaf4 !important;
}

.badge {
    vertical-align: middle;
    padding: 7px 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
    border-radius: 30px;
    font-size: 12px;
    color: #222 !important;
}

.edit-icon i {
    color: #fff;
    background: #ff4842;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
}

.trash-icon i {
    color: #fff;
    background: #ff4842;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    margin-left: 3px;
}
.btn-1 button.add-more {
    color: #fff;
    background: #7851a9;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    margin-left: 3px;
    border: none;
}
.btn-1 button.add-more-two {
    color: #fff;
    background: #7851a9;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    margin-left: 3px;
    border: none;
}
.btn-1 button.remove {
    color: #fff;
    background: #ff4842;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    margin-left: 3px;
    border: none;
}
.btn-1 button.remove-two {
    color: #fff;
    background: #ff4842;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    margin-left: 3px;
    border: none;
}
.form-group-div .dropzone{
    min-height: auto !important;
}

.ck-content ul{
    list-style: inside !important;
}

.ck-content,
.ck-content *{
    font-family: var(--main-font) !important;
}




/* ===========================css fixing 29-01-2026=================================== */
/* .material-symbols-outlined{
    font-size: 10px !important;
} */

/* BUG-048 / BUG-052: notification count badge on bell (top-right overlap) */
.app-header .navbar-nav .nav-item.dropdown {
    position: relative !important;
    overflow: visible !important;
}

.app-header a#drop2.nav-link,
.app-header a.header-notif-link {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    padding: 0 !important;
    margin: 0 4px !important;
    overflow: visible !important;
    line-height: 1 !important;
}

.app-header a#drop2 .header-notif-badge,
.app-header a.header-notif-link .header-notif-badge,
.app-header span.header-notif-badge,
span[id^="show-notification-count-"].header-notif-badge {
    position: absolute !important;
    top: -2px !important;
    right: -6px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 18px !important;
    max-width: 36px !important;
    height: 18px !important;
    padding: 0 5px !important;
    border-radius: 9px !important;
    background: #f6bc41 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    z-index: 6 !important;
    pointer-events: none;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Hide when empty — beats display:inline-flex !important above */
.app-header .header-notif-badge[data-count="0"],
.app-header .header-notif-badge.is-empty,
span[id^="show-notification-count-"].header-notif-badge[data-count="0"] {
    display: none !important;
}

@media (max-width: 576px) {
    .app-header a#drop2 .header-notif-badge,
    .app-header a.header-notif-link .header-notif-badge,
    .app-header span.header-notif-badge {
        top: -1px !important;
        right: -4px !important;
        height: 16px !important;
        min-width: 16px !important;
        padding: 0 4px !important;
        border-radius: 8px !important;
        font-size: 9px !important;
    }
}

/*
 * Select2 multi-select chips (BUG-055)
 * style.min.css sets white chip text + blue backgrounds, but Select2 CDN CSS
 * loads later and resets chip background to #e4e4e4 without resetting color.
 * The remove control also keeps a blue background, showing as a left "bar".
 * Force readable contrast, clear remove control, and comfortable spacing.
 */
.select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #7851a9 !important;
    border: 1px solid #5f3b86 !important;
    color: #ffffff !important;
    padding: 4px 10px !important;
    margin: 4px 6px 4px 0 !important;
    border-radius: 6px !important;
    line-height: 1.4 !important;
    font-weight: 500;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove,
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: rgba(255, 255, 255, 0.9) !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    margin-right: 6px !important;
    font-weight: 700;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover,
.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #ffffff !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice span,
.select2-container--classic .select2-selection--multiple .select2-selection__choice span {
    color: #ffffff !important;
}

/*
 * Select2 multi-select inside a notched .box_label (BUG-79)
 * .box_label label is absolutely positioned at top:-9px and sits on the field
 * border, so it occupies the first ~10px inside the box. Chips start at the
 * very top of the container and render underneath the label. Reserve that
 * space so the first chip row always clears the label.
 */
.box_label .select2-container--default .select2-selection--multiple,
.box_label .select2-container--classic .select2-selection--multiple {
    padding-top: 10px !important;
}

.box_label .select2-container--default .select2-selection--multiple .select2-selection__rendered,
.box_label .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
    padding-top: 0 !important;
}

/*
 * BUG-82: translated labels are longer than their English source, so any
 * label surface with a fixed track (the 130px icon rail, header rows with a
 * search box) clipped its text. Let those surfaces wrap or ellipsise instead.
 */
.sidebar-nav ul .sidebar-item .sidebar-link .hide-menu,
.sidebar-nav ul .sidebar-item .sidebar-link span:last-child,
.menu_bb a span,
.breadcome-menu li span,
.app-header .nav-item .btn {
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}

/* Header rows that pair a title with actions: stack instead of squeezing. */
.bg_white_border > .d-flex.justify-content-between.align-items-center {
    flex-wrap: wrap;
    gap: 12px;
}

/* A translated placeholder can outgrow its field — ellipsise, never hard-cut. */
.search-field {
    min-width: 0;
}

.search-field .form-control,
.form-control::placeholder {
    text-overflow: ellipsis;
}

/*
 * Sidebar unread badges (Messaging / Chats / Team / Mail).
 * Counts over 99 are shown as 99+ in JS. Keep that label inside the circle:
 * parent .sidebar-link uses word-break, which otherwise wraps 106 as 10/6.
 */
.count_chat_sidebar {
    position: absolute;
    right: 6px;
    top: 6px;
    background: #ff0202;
    color: #fff;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.3px;
    width: 22px;
    height: 22px;
    min-width: 22px;
    padding: 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 2;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

/*
 * LIO-R5YT-46: notched .box_label + native <select> (Ecclesia) and House of
 * Ecclesia checkbox cards. Labels are position:absolute on the field border;
 * Chrome's select text and Bootstrap's absolute checkbox otherwise sit off-grid.
 */
.box_label {
    position: relative;
}

.box_label > .notranslate {
    display: block;
    width: 100%;
}

.box_label select.form-control {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 11px 36px 11px 14px;
    line-height: 1.4;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23643271' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 8px;
}

#ecclesia_main_input .box_label label {
    white-space: nowrap;
}

.box_label .select2-container {
    width: 100% !important;
    display: block;
}

.box_label .select2-container--default .select2-selection--single,
.box_label .select2-container--classic .select2-selection--single {
    min-height: 44px;
    padding-top: 6px;
    border: 1px solid #c4c4c4;
    border-radius: 7px;
}

.ecclesia-item .form-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding-left: 0;
    margin-bottom: 0;
    min-height: 0;
}

.ecclesia-item .form-check-input {
    position: static;
    float: none;
    margin: 4px 0 0 0;
    flex-shrink: 0;
    width: 1.25em;
    height: 1.25em;
}

.ecclesia-item .form-check-label {
    margin: 0;
    line-height: 1.35;
}

#hoe_row .form-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-left: 0;
}

#hoe_row .form-switch .form-check-input {
    margin: 0;
    float: none;
}

#hoe_row .form-switch .form-check-label {
    margin: 0;
}
