/* ==================================================================
   Theme Bridge — Re-apply brand tokens AFTER custom.css overrides
   Load last in layout head (after custom.css)
   ================================================================== */

/* Buttons */
.btn-primary {
    background: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    box-shadow: 0 2px 6px rgba(var(--brand-primary-rgb), 0.3) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--brand-primary-600) !important;
    border-color: var(--brand-primary-700) !important;
    box-shadow: 0 4px 12px rgba(var(--brand-primary-rgb), 0.4) !important;
}

.btn-primary:active {
    background: var(--brand-primary-700) !important;
    border-color: var(--brand-primary-700) !important;
    box-shadow: 0 2px 4px rgba(var(--brand-primary-rgb), 0.3) !important;
}

.btn-outline-primary {
    color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    box-shadow: 0 4px 12px rgba(var(--brand-primary-rgb), 0.3) !important;
}

.btn-label-primary {
    color: var(--brand-primary) !important;
    background: rgba(var(--brand-primary-rgb), 0.12) !important;
}

.btn-label-primary:hover,
.btn-label-primary:focus {
    background: var(--brand-primary) !important;
    box-shadow: 0 4px 12px rgba(var(--brand-primary-rgb), 0.3) !important;
}

/* Badges */
.bg-label-primary {
    background-color: rgba(var(--brand-primary-rgb), 0.12) !important;
    color: var(--brand-primary) !important;
}

/* Sidebar & navigation accents */
.bg-menu-theme .app-brand.demo {
    border-bottom-color: rgba(var(--brand-primary-rgb), 0.1) !important;
}

.bg-menu-theme .app-brand-text {
    color: var(--brand-primary) !important;
}

.bg-menu-theme .app-brand-logo .brand-logo-text {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
}

.bg-menu-theme .app-brand-link:hover .app-brand-text {
    color: var(--brand-primary-600) !important;
}

.bg-menu-theme .app-brand-link:hover .brand-logo-text {
    background: linear-gradient(135deg, var(--brand-primary-600) 0%, var(--brand-secondary) 100%) !important;
}

.bg-menu-theme .menu-inner-shadow {
    background: linear-gradient(180deg, rgba(var(--brand-primary-rgb), 0.05) 0%, transparent 100%) !important;
}

.bg-menu-theme .menu-link:hover,
.bg-menu-theme .menu-link:focus,
.bg-menu-theme .menu-item.active > .menu-link {
    color: var(--brand-primary) !important;
    background-color: rgba(var(--brand-primary-rgb), 0.08) !important;
}

.bg-menu-theme .menu-item.active > .menu-link .menu-icon {
    color: var(--brand-primary) !important;
}

.bg-menu-theme .menu-sub .menu-item.active > .menu-link {
    color: var(--brand-primary) !important;
}

/* Page header & tabs */
.page-header-title,
.nav-tabs .nav-link.active {
    color: var(--brand-primary) !important;
}

.nav-tabs .nav-link.active {
    border-bottom-color: var(--brand-primary) !important;
}

/* DataTable row hover accent */
table.dataTable tbody tr:hover {
    background-color: rgba(var(--brand-primary-rgb), 0.05) !important;
}

/* ---- Optional surface color overrides (admin layout) ------------- */
/* Use `background` (not only background-color) to beat custom.css gradients/shorthands. */

body.app-surface-navbar #layout-navbar,
body.app-surface-navbar .bg-navbar-theme {
    background: var(--brand-navbar-bg) !important;
    color: var(--brand-navbar-color) !important;
    border-bottom-color: rgba(var(--brand-navbar-rgb), 0.25) !important;
}

body.app-surface-navbar #layout-navbar .navbar-nav .nav-link,
body.app-surface-navbar #layout-navbar .nav-item .nav-link,
body.app-surface-navbar #layout-navbar .layout-menu-toggle,
body.app-surface-navbar #layout-navbar i,
body.app-surface-navbar #layout-navbar .breadcrumb-item,
body.app-surface-navbar #layout-navbar .breadcrumb-item a,
body.app-surface-navbar #layout-navbar .breadcrumb-item a:hover,
body.app-surface-navbar #layout-navbar .breadcrumb-item.active,
body.app-surface-navbar #layout-navbar .breadcrumb-item + .breadcrumb-item::before {
    color: var(--brand-navbar-color) !important;
}

body.app-surface-sidebar #layout-menu,
body.app-surface-sidebar .bg-menu-theme,
body.app-surface-sidebar .layout-menu,
body.app-surface-sidebar .bg-menu-theme .app-brand.demo {
    background: var(--brand-sidebar-bg) !important;
    color: var(--brand-sidebar-color) !important;
}

body.app-surface-sidebar .bg-menu-theme .menu-link,
body.app-surface-sidebar .bg-menu-theme .menu-horizontal-prev,
body.app-surface-sidebar .bg-menu-theme .menu-horizontal-next,
body.app-surface-sidebar .bg-menu-theme .menu-icon,
body.app-surface-sidebar .bg-menu-theme .menu-header-text,
body.app-surface-sidebar .bg-menu-theme .app-brand-text {
    color: var(--brand-sidebar-color) !important;
}

body.app-surface-sidebar .bg-menu-theme .menu-link:hover,
body.app-surface-sidebar .bg-menu-theme .menu-link:focus,
body.app-surface-sidebar .bg-menu-theme .menu-item.active > .menu-link,
body.app-surface-sidebar .bg-menu-theme.menu-vertical .menu-item.active > .menu-link:not(.menu-toggle) {
    color: var(--brand-primary) !important;
    background-color: rgba(var(--brand-primary-rgb), 0.16) !important;
}

body.app-surface-sidebar .bg-menu-theme .menu-item:hover .menu-icon,
body.app-surface-sidebar .bg-menu-theme .menu-item.active .menu-icon,
body.app-surface-sidebar .bg-menu-theme .menu-item.active > .menu-link .menu-icon {
    color: var(--brand-primary) !important;
}

body.app-surface-sidebar .bg-menu-theme .app-brand.demo {
    border-bottom-color: rgba(var(--brand-sidebar-rgb), 0.35) !important;
}

/* Page background: custom.css forces .content-wrapper white — override it */
body.app-surface-page,
body.app-surface-page .layout-page,
body.app-surface-page .content-wrapper {
    background: var(--brand-page-bg) !important;
}

body.app-surface-page .content-footer {
    background: var(--brand-page-bg) !important;
}

/* Glass + surface: tinted translucent surfaces, keep blur */
body.app-glass-enabled.app-surface-navbar .bg-navbar-theme,
body.app-glass-enabled.app-surface-navbar #layout-navbar {
    background: rgba(var(--brand-navbar-rgb), 0.92) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%);
    backdrop-filter: blur(16px) saturate(140%);
}

body.app-glass-enabled.app-surface-sidebar .bg-menu-theme,
body.app-glass-enabled.app-surface-sidebar #layout-menu,
body.app-glass-enabled.app-surface-sidebar .layout-menu,
body.app-glass-enabled.app-surface-sidebar .bg-menu-theme .app-brand.demo {
    background: rgba(var(--brand-sidebar-rgb), 0.92) !important;
    -webkit-backdrop-filter: blur(16px) saturate(140%);
    backdrop-filter: blur(16px) saturate(140%);
}

body.app-glass-enabled.app-surface-page {
    background: var(--brand-page-bg) !important;
}

body.app-glass-enabled.app-surface-page .layout-page,
body.app-glass-enabled.app-surface-page .content-wrapper,
body.app-glass-enabled.app-surface-page .content-footer {
    background: transparent !important;
}

