/* W5OBM Consolidated Theme Overrides
 *
 * Goal: keep theme-specific CSS in one place.
 * Activation: include/header.php and include/header.modern.php set
 *   document.documentElement.dataset.w5obmTheme = <theme key>
 *
 * Supported keys (dev):
 * - w5obm_navy
 * - w5obm_indigo
 * - w5obm_green
 * - w5obm_black
 * - w5obm_ruby
 * - w5obm_maroon
 * - w5obm_copper
 */

/* ============================
 * Global defaults (always defined)
 * ============================
 * Many pages use these CSS variables (some are also overridden at runtime by PHP).
 * Defining them here guarantees they exist even if runtime injection fails.
 */
:root {
    /* W5OBM Custom Variables (used by some legacy components) */
    --w5obm-primary: var(--w5obm-primary-blue);
    --w5obm-secondary: var(--w5obm-secondary-blue);
    --w5obm-success: #198754;
    --w5obm-danger: var(--color-danger);
    --w5obm-warning: var(--color-warning);
    --w5obm-info: #0dcaf0;
    --w5obm-light: #f8f9fa;
    --w5obm-dark: #343a40;

    /* Theme-driven vars (navbar + accents) */
    --theme-accent-primary: var(--w5obm-secondary-blue);
    --theme-accent-secondary: #4a90e2;
    --theme-text-primary: #0f172a;
    --theme-text-secondary: #475569;
    --theme-nav-bg: #FFFFFFF5;
    --theme-nav-bg-scrolled: #FFFFFFFA;
    --theme-nav-border: #0000002E;
    --theme-nav-shadow: 0 8px 26px #0000001A;

    /* Legacy palette vars used in some site CSS */
    --primary-blue: var(--w5obm-primary-blue);
    --secondary-blue: var(--w5obm-secondary-blue);
    --accent-gold: var(--w5obm-accent-gold);

    /* Hero variables (safe defaults; may be overridden at runtime) */
    --hero-gradient-angle: 135deg;
    --hero-gradient-start: var(--primary-blue);
    --hero-gradient-end: var(--secondary-blue);
    --hero-overlay-from: #031A54D9;
    --hero-overlay-to: #145EFFB2;
    --hero-fade-alpha: 0.08;
    --hero-fade-start: 55%;
    --hero-fade-alpha-effective: 0.08;
    --hero-fade-start-effective: 55%;
    --hero-text-primary: #ffffff;
    --hero-text-secondary: #FFFFFFD9;
    --hero-badge-bg: #FFFFFF40;
    --hero-badge-border: #FFFFFF8C;
    --hero-badge-text: #ffffff;
    --hero-stat-bg: #FFFFFF1F;
    --hero-stat-border: #FFFFFF40;

    /* Hero Variant Gradients */
    --hero-variant-indigo-start: #0f172a;
    --hero-variant-indigo-end: #4338ca;
    --hero-variant-teal-start: #0f766e;
    --hero-variant-teal-end: #14b8a6;
    --hero-variant-sunset-start: #c33764;
    --hero-variant-sunset-end: #1d2671;

    /* Hero Buttons (high contrast) */
    --hero-button-text: #ffffff;
    --hero-button-border: #FFFFFFCC;
    --hero-button-hover-bg: #FFFFFF2E;
    --hero-button-hover-text: #ffffff;

    /* Hero Logo */
    --hero-logo-bg: #FFFFFFF2;
    --hero-logo-border: #FFD700CC;

    /* Hero Carousel */
    --hero-carousel-indicator-bg: #FFFFFFB2;
    --hero-carousel-text: #ffffff;

    /* Navbar customization (can be overridden by user or admin) */
    --w5obm-navbar-bg: #FFFFFFF5;
    --w5obm-navbar-bg-scrolled: #FFFFFFFA;
    --w5obm-navbar-text-primary: #0f172a;
    --w5obm-navbar-text-secondary: #475569;
    --w5obm-navbar-border: #0000002E;
    --w5obm-navbar-shadow: 0 8px 26px #0000001A;
}

/* ============================
 * W5OBM Navy (w5obm_navy)
 * ============================ */
:root[data-w5obm-theme="w5obm_navy"] {
    --bs-primary-rgb: 240, 180, 41;
    --bs-body-bg: #071a33;
    --bs-body-bg-rgb: 7, 26, 51;
    --bs-body-color: #f8fafc;
    --bs-body-color-rgb: 248, 250, 252;
    --bs-emphasis-color: #ffffff;
    --bs-secondary-color: #cbd5e1;
    --bs-tertiary-color: #94a3b8;
    --bs-border-color: #94A3B847;

    --bs-primary: var(--theme-accent-primary);
    /* gold */
    --bs-link-color: var(--theme-accent-primary);
    --bs-link-hover-color: #ffd166;

    --bs-success: var(--theme-accent-secondary);
    /* green */
    --bs-info: #38bdf8;
    --bs-warning: #f59e0b;
    --bs-danger: #ef4444;

    --bs-card-bg: #0F172ABF;
    --bs-secondary-bg: #FFFFFF14;
    --bs-tertiary-bg: #FFFFFF1A;
    --bs-card-cap-bg: #FFFFFF1A;
    --bs-card-color: #f8fafc;
    --bs-modal-bg: #0b1220;
    --bs-modal-color: #f8fafc;
    --bs-dropdown-bg: #0b1220;
    --bs-dropdown-link-color: #f8fafc;
    --bs-dropdown-link-hover-bg: #F0B4291A;

    /* W5OBM custom theme variables (used by site-core.css patterns) */
    --w5obm-primary-blue: #0b2a5b;
    --w5obm-secondary-blue: #123a7a;
    --w5obm-accent-gold: var(--theme-accent-primary);
    --w5obm-shadow-blue: 0 8px 26px #00000073;

    /* Theme-driven vars (define for per-theme customization) */
    --w5obm-primary: var(--bs-primary);
    --w5obm-secondary: var(--theme-accent-secondary);
    --theme-accent-primary: #0b2a5b;
    --theme-accent-secondary: #123a7a;
    --theme-text-primary: var(--bs-body-color);
    --theme-text-secondary: var(--bs-secondary-color);
    --theme-nav-bg: #071A33EB;
    --theme-nav-bg-scrolled: #071A33F5;
    --theme-nav-border: #94A3B847;
    --theme-nav-shadow: 0 8px 26px #0000008C;

    /* Legacy palette vars */
    --primary-blue: #071a33;
    --secondary-blue: #123a7a;
    --accent-gold: var(--theme-accent-primary);

    /* HERO theme integration for navy */
    --hero-gradient-start: #071a33;
    --hero-gradient-end: #123a7a;
    --hero-overlay-from: #071A33E6;
    --hero-overlay-to: #123A7ABF;
    --hero-text-primary: #f8fafc;
    --hero-text-secondary: #F8FAFCD9;
    --hero-badge-bg: #F0B42940;
    --hero-badge-border: #F0B4298C;
    --hero-badge-text: var(--theme-accent-primary);
    --hero-stat-bg: #F0B4291F;
    --hero-stat-border: #F0B42940;

    /* Navy theme hero components (high contrast white text) */
    --hero-button-text: #ffffff;
    --hero-button-border: #FFFFFFBF;
    --hero-button-hover-bg: #FFFFFF33;
    --hero-button-hover-text: #ffffff;
    --hero-logo-bg: #FFFFFFEB;
    --hero-logo-border: #F0B343E6;
    --hero-carousel-text: #ffffff;
    --hero-carousel-indicator-bg: #FFFFFFA6;

    /* Navbar integration */
    --w5obm-navbar-bg: #071A33EB;
    --w5obm-navbar-bg-scrolled: #071A33F5;
    --w5obm-navbar-text-primary: #f8fafc;
    --w5obm-navbar-text-secondary: #cbd5e1;
    --w5obm-navbar-border: #94A3B847;
    --w5obm-navbar-shadow: 0 8px 26px #0000008C;

    /* Text colors for Navy theme (high contrast on dark bg) */
    --theme-text-primary: #f8fafc;
    --theme-text-secondary: #cbd5e1;
}

:root[data-w5obm-theme="w5obm_navy"] body {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
}

/* Make "light" utility backgrounds not blinding in navy mode */
:root[data-w5obm-theme="w5obm_navy"] .bg-light,
:root[data-w5obm-theme="w5obm_navy"] .bg-body-tertiary {
    background-color: var(--bs-tertiary-bg, #FFFFFF1A) !important;
}

:root[data-w5obm-theme="w5obm_navy"] .bg-body-tertiary,
:root[data-w5obm-theme="w5obm_navy"] .card-header.bg-body-tertiary {
    color: var(--bs-body-color, #f8fafc) !important;
}

:root[data-w5obm-theme="w5obm_navy"] .text-muted {
    color: #CBD5E1D9 !important;
}

/* Ensure navbar transition stays smooth */
:root[data-w5obm-theme="w5obm_navy"] .w5obm-navbar {
    transition: background-color 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

/* ============================
 * W5OBM Indigo (w5obm_indigo)
 * ============================
 * NOTE: This is intentionally blue-leaning (no lavender).
 */
:root[data-w5obm-theme="w5obm_indigo"] {
    /* Bootstrap root variables (set per-theme so you can customize them) */
    --bs-primary: #312e81;
    --bs-primary-rgb: 49, 46, 129;

    --bs-body-bg: #ffffff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-body-color: #23264d;
    --bs-body-color-rgb: 35, 38, 77;
    --bs-emphasis-color: #241b63;
    --bs-secondary-color: #4c4f78;
    --bs-tertiary-color: #5b63a8;
    --bs-border-color: #1E1B4B26;

    --bs-link-color: #4338ca;
    --bs-link-hover-color: #6d28d9;

    --bs-success: #16a34a;
    --bs-info: #0ea5e9;
    --bs-warning: #f59e0b;
    --bs-danger: #dc2626;

    --bs-card-bg: #ffffff;
    --bs-card-color: #0f172a;
    --bs-modal-bg: #ffffff;
    --bs-modal-color: #0f172a;
    --bs-dropdown-bg: #ffffff;
    --bs-dropdown-link-color: #0f172a;
    --bs-dropdown-link-hover-bg: #4338CA18;

    /* W5OBM custom theme variables (used by site-core.css patterns) */
    --w5obm-primary-blue: #312e81;
    --w5obm-secondary-blue: #4f46e5;
    --w5obm-accent-gold: var(--theme-accent-primary);
    --w5obm-shadow-blue: 0 8px 22px #4338CA40;

    /* Theme-driven vars */
    --w5obm-primary: var(--bs-primary);
    --w5obm-secondary: var(--w5obm-secondary-blue);
    --theme-accent-primary: var(--bs-primary);
    --theme-accent-secondary: var(--w5obm-secondary-blue);
    --theme-text-primary: var(--bs-body-color);
    --theme-text-secondary: var(--bs-secondary-color);
    --theme-nav-bg: #1E1B4BF2;
    --theme-nav-bg-scrolled: #181544FA;
    --theme-nav-border: #A78BFA5C;
    --theme-nav-shadow: 0 12px 30px #0F172A45;

    /* Legacy palette vars */
    --primary-blue: var(--w5obm-primary-blue);
    --secondary-blue: var(--w5obm-secondary-blue);
    --accent-gold: var(--w5obm-accent-gold);

    /* HERO theme integration for indigo */
    --hero-gradient-start: #1E1B4B;
    --hero-gradient-end: #4F46E5;
    --hero-overlay-from: #1E1B4BDE;
    --hero-overlay-to: #4F46E5B8;
    --hero-text-primary: #ffffff;
    --hero-text-secondary: #E0E7FF;
    --hero-badge-bg: #A78BFA2E;
    --hero-badge-border: #C4B5FD82;
    --hero-badge-text: #EEF2FF;
    --hero-stat-bg: #FFFFFF1F;
    --hero-stat-border: #C7D2FE52;
    --hero-button-text: #ffffff;
    --hero-button-border: #C7D2FECC;
    --hero-button-hover-bg: #4338CA66;
    --hero-button-hover-text: #ffffff;
    --hero-logo-bg: #FFFFFFF2;
    --hero-logo-border: #818CF8D9;
    --hero-carousel-text: #ffffff;
    --hero-carousel-indicator-bg: #C7D2FEB2;

    /* Navbar integration */
    --w5obm-navbar-bg: #1E1B4BF2;
    --w5obm-navbar-bg-scrolled: #181544FA;
    --w5obm-navbar-text-primary: #EEF2FF;
    --w5obm-navbar-text-secondary: #C7D2FE;
    --w5obm-navbar-border: #A78BFA5C;
    --w5obm-navbar-shadow: 0 12px 30px #0F172A45;
    /* Footer colors */
    --w5obm-footer-bg-start: var(--w5obm-primary-blue);
    --w5obm-footer-bg-end: var(--w5obm-secondary-blue);
    --w5obm-footer-text: #ffffff;
    --w5obm-footer-text-muted: #E0E7FF;
    --w5obm-footer-title: #ffffff;
    --w5obm-footer-link: #E0E7FF;
    --w5obm-footer-link-hover: #C4B5FD;

    /* Text colors for Indigo theme (dark text on light bg) */
    --theme-text-primary: #23264d;
    --theme-text-secondary: #4c4f78;
}

/* ============================
 * W5OBM Green (w5obm_green)
 * ============================
 * Back-compat: also honors legacy .theme-green wrapper.
 */
:root[data-w5obm-theme="w5obm_green"],
.theme-green {
    /* Bootstrap root variables (set per-theme so you can customize them) */
    --bs-primary: #1a5d47;
    --bs-primary-rgb: 26, 93, 71;

    --bs-body-bg: #ffffff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-body-color: #0f172a;
    --bs-body-color-rgb: 15, 23, 42;
    --bs-emphasis-color: #0f172a;
    --bs-secondary-color: #475569;
    --bs-tertiary-color: #64748b;
    --bs-border-color: #0F172A26;

    --bs-link-color: #1a5d47;
    --bs-link-hover-color: #2d8670;

    --bs-success: #16a34a;
    --bs-info: #0ea5e9;
    --bs-warning: #f59e0b;
    --bs-danger: #dc2626;

    --bs-card-bg: #ffffff;
    --bs-card-color: #0f172a;
    --bs-modal-bg: #ffffff;
    --bs-modal-color: #0f172a;
    --bs-dropdown-bg: #ffffff;
    --bs-dropdown-link-color: #0f172a;
    --bs-dropdown-link-hover-bg: #1A5D471A;

    --w5obm-primary-blue: #1a5d47;
    --w5obm-secondary-blue: #2d8670;
    --w5obm-accent-gold: #FFD700;

    --w5obm-shadow-blue: 0 5px 15px #2D86704C;

    /* Theme-driven vars */
    --w5obm-primary: var(--bs-primary);
    --w5obm-secondary: var(--w5obm-secondary-blue);
    --theme-accent-primary: var(--bs-primary);
    --theme-accent-secondary: var(--w5obm-secondary-blue);
    --theme-text-primary: var(--bs-body-color);
    --theme-text-secondary: var(--bs-secondary-color);
    --theme-nav-bg: #FFFFFFF5;
    --theme-nav-bg-scrolled: #FFFFFFFA;
    --theme-nav-border: #0F172A2E;
    --theme-nav-shadow: 0 8px 26px #0000001A;

    /* Legacy palette vars */
    --primary-blue: var(--w5obm-primary-blue);
    --secondary-blue: var(--w5obm-secondary-blue);
    --accent-gold: var(--w5obm-accent-gold);

    /* HERO theme integration for green */
    --hero-gradient-start: #1a5d47;
    --hero-gradient-end: #2d8670;
    --hero-overlay-from: #1A5D47D9;
    --hero-overlay-to: #2D8670B2;
    --hero-text-primary: #ffffff;
    --hero-text-secondary: #FFFFFFE0;
    --hero-badge-bg: #FFD70040;
    --hero-badge-border: #FFD7008C;
    --hero-badge-text: var(--w5obm-accent-gold);
    --hero-stat-bg: #FFFFFF1F;
    --hero-stat-border: #FFFFFF47;
    --hero-button-text: #ffffff;
    --hero-button-border: #FFFFFFD1;
    --hero-button-hover-bg: #FFFFFF33;
    --hero-button-hover-text: #ffffff;
    --hero-logo-bg: #FFFFFFF0;
    --hero-logo-border: #22C55EE0;
    --hero-carousel-text: #ffffff;
    --hero-carousel-indicator-bg: #FFFFFFAD;

    /* Navbar integration */
    --w5obm-navbar-bg: #FFFFFFF5;
    --w5obm-navbar-bg-scrolled: #FFFFFFFA;
    --w5obm-navbar-text-primary: #1a5d47;
    --w5obm-navbar-text-secondary: #2d8670;
    --w5obm-navbar-border: #0F172A2E;
    --w5obm-navbar-shadow: 0 8px 26px #0000001A;

    /* Text colors for Green theme (dark text on light bg) */
    --theme-text-primary: #1a5d47;
    --theme-text-secondary: #2d8670;
}

:root[data-w5obm-theme="w5obm_green"] .btn-primary,
.theme-green .btn-primary {
    background: linear-gradient(135deg, var(--w5obm-primary-blue), var(--w5obm-secondary-blue));
}

:root[data-w5obm-theme="w5obm_green"] .btn-primary:hover,
:root[data-w5obm-theme="w5obm_green"] .btn-primary:focus,
.theme-green .btn-primary:hover,
.theme-green .btn-primary:focus {
    background: linear-gradient(135deg, var(--w5obm-secondary-blue), var(--w5obm-primary-blue));
    box-shadow: 0 10px 25px #2D867066;
}

:root[data-w5obm-theme="w5obm_green"] .card-border-top,
.theme-green .card-border-top {
    border-top: 5px solid var(--w5obm-secondary-blue);
}

:root[data-w5obm-theme="w5obm_green"] a,
.theme-green a {
    color: var(--w5obm-secondary-blue);
}

:root[data-w5obm-theme="w5obm_green"] a:hover,
:root[data-w5obm-theme="w5obm_green"] a:focus,
.theme-green a:hover,
.theme-green a:focus {
    color: var(--w5obm-primary-blue);
}

:root[data-w5obm-theme="w5obm_green"] .table thead th,
.theme-green .table thead th {
    background: linear-gradient(135deg, var(--w5obm-primary-blue), var(--w5obm-secondary-blue));
}

:root[data-w5obm-theme="w5obm_green"] .nav-link:hover,
:root[data-w5obm-theme="w5obm_green"] .nav-link:focus,
.theme-green .nav-link:hover,
.theme-green .nav-link:focus {
    color: var(--w5obm-secondary-blue);
    background-color: #2D86701A;
}

:root[data-w5obm-theme="w5obm_green"] .nav-link.active,
.theme-green .nav-link.active {
    color: var(--w5obm-primary-blue);
    background-color: #2D867026;
}

:root[data-w5obm-theme="w5obm_green"] .navbar-w5obm,
.theme-green .navbar-w5obm {
    background: var(--w5obm-primary-blue);
}

:root[data-w5obm-theme="w5obm_green"] .footer,
.theme-green .footer {
    background: var(--w5obm-primary-blue);
}

:root[data-w5obm-theme="w5obm_green"] .hero-overlay,
.theme-green .hero-overlay {
    background: linear-gradient(135deg, #1A5D47D9, #2D8670B2);
}

:root[data-w5obm-theme="w5obm_green"] .bg-primary,
.theme-green .bg-primary {
    background: linear-gradient(135deg, var(--w5obm-primary-blue), var(--w5obm-secondary-blue)) !important;
}

:root[data-w5obm-theme="w5obm_green"] .text-primary,
.theme-green .text-primary {
    color: var(--w5obm-primary-blue) !important;
}

:root[data-w5obm-theme="w5obm_green"] .text-secondary,
.theme-green .text-secondary {
    color: var(--w5obm-secondary-blue) !important;
}

:root[data-w5obm-theme="w5obm_green"] .card-primary,
.theme-green .card-primary {
    background: linear-gradient(135deg, var(--w5obm-primary-blue), var(--w5obm-secondary-blue));
}

:root[data-w5obm-theme="w5obm_green"] *:focus,
.theme-green *:focus {
    outline: 2px solid var(--w5obm-accent-gold);
}

:root[data-w5obm-theme="w5obm_green"] {
    /* HERO theme integration for green */
    --hero-gradient-start: #1a5d47;
    --hero-gradient-end: #2d8670;
    --hero-overlay-from: #1A5D47D9;
    --hero-overlay-to: #2D8670B2;
    --hero-text-primary: #ffffff;
    --hero-text-secondary: #FFFFFFE6;
    --hero-badge-bg: #FFFFFF40;
    --hero-badge-border: #FFFFFF8C;
    --hero-badge-text: #ffffff;
    --hero-stat-bg: #FFFFFF1F;
    --hero-stat-border: #FFFFFF40;

    /* Navbar integration */
    --w5obm-navbar-bg: #FFFFFFF5;
    --w5obm-navbar-bg-scrolled: #FFFFFFFA;
    --w5obm-navbar-text-primary: #0f172a;
    --w5obm-navbar-text-secondary: #475569;
    --w5obm-navbar-border: #0F172A2E;
    --w5obm-navbar-shadow: 0 8px 26px #0000001A;
}

/* ============================
 * W5OBM Black (w5obm_black)
 * ============================
 * GitHub-inspired dark surface with bright code-blue accents.
 */
:root[data-w5obm-theme="w5obm_black"] {
    --bs-primary: #2F81F7;
    --bs-primary-rgb: 47, 129, 247;
    --bs-body-bg: #0D1117;
    --bs-body-bg-rgb: 13, 17, 23;
    --bs-body-color: #C9D1D9;
    --bs-body-color-rgb: 201, 209, 217;
    --bs-emphasis-color: #F0F6FC;
    --bs-secondary-color: #8B949E;
    --bs-tertiary-color: #6E7681;
    --bs-border-color: #30363D;
    --bs-link-color: #58A6FF;
    --bs-link-hover-color: #79C0FF;
    --bs-success: #3FB950;
    --bs-info: #79C0FF;
    --bs-warning: #D29922;
    --bs-danger: #F85149;
    --bs-card-bg: #161B22;
    --bs-card-color: #C9D1D9;
    --bs-modal-bg: #161B22;
    --bs-modal-color: #C9D1D9;
    --bs-dropdown-bg: #161B22;
    --bs-dropdown-link-color: #F0F6FC;
    --bs-dropdown-link-hover-bg: #21262D;
    --bs-secondary-bg: #161B22;
    --bs-tertiary-bg: #21262D;
    --bs-card-cap-bg: #21262D;

    --w5obm-primary-blue: #2F81F7;
    --w5obm-secondary-blue: #58A6FF;
    --w5obm-accent-gold: #D29922;
    --w5obm-shadow-blue: 0 10px 28px #2F81F740;
    --w5obm-custom-nav-hover-bg: #2F81F71A;
    --w5obm-custom-nav-active-bg: #2F81F726;
    --w5obm-custom-primary-hover-shadow: 0 12px 28px #2F81F766;

    --w5obm-primary: var(--bs-primary);
    --w5obm-secondary: var(--w5obm-secondary-blue);
    --theme-accent-primary: #2F81F7;
    --theme-accent-secondary: #58A6FF;
    --theme-text-primary: #F0F6FC;
    --theme-text-secondary: #C9D1D9;
    --theme-nav-bg: #0D1117F2;
    --theme-nav-bg-scrolled: #010409FA;
    --theme-nav-border: #30363D;
    --theme-nav-shadow: 0 12px 32px #00000073;

    --primary-blue: var(--w5obm-primary-blue);
    --secondary-blue: var(--w5obm-secondary-blue);
    --accent-gold: var(--w5obm-accent-gold);

    --hero-gradient-start: #0D1117;
    --hero-gradient-end: #161B22;
    --hero-overlay-from: #0D1117F0;
    --hero-overlay-to: #1F6FEB80;
    --hero-text-primary: #F0F6FC;
    --hero-text-secondary: #C9D1D9;
    --hero-badge-bg: #21262DCC;
    --hero-badge-border: #58A6FF80;
    --hero-badge-text: #F0F6FC;
    --hero-stat-bg: #161B22CC;
    --hero-stat-border: #30363D;
    --hero-button-text: #F0F6FC;
    --hero-button-border: #58A6FFCC;
    --hero-button-hover-bg: #2F81F733;
    --hero-button-hover-text: #F0F6FC;
    --hero-logo-bg: #161B22F2;
    --hero-logo-border: #58A6FFD9;
    --hero-carousel-text: #F0F6FC;
    --hero-carousel-indicator-bg: #58A6FFB2;

    --w5obm-navbar-bg: #0D1117F2;
    --w5obm-navbar-bg-scrolled: #010409FA;
    --w5obm-navbar-text-primary: #F0F6FC;
    --w5obm-navbar-text-secondary: #C9D1D9;
    --w5obm-navbar-border: #30363D;
    --w5obm-navbar-shadow: 0 12px 32px #00000073;

    --w5obm-footer-bg-start: #0D1117;
    --w5obm-footer-bg-end: #161B22;
    --w5obm-footer-text: #F0F6FC;
    --w5obm-footer-text-muted: #C9D1D9;
    --w5obm-footer-title: #F0F6FC;
    --w5obm-footer-link: #58A6FF;
    --w5obm-footer-link-hover: #79C0FF;
}

/* ============================
 * W5OBM Ruby (w5obm_ruby)
 * ============================
 * Dark ruby-red theme with high-contrast rose accents.
 */
:root[data-w5obm-theme="w5obm_ruby"] {
    --bs-primary: #BE123C;
    --bs-primary-rgb: 190, 18, 60;
    --bs-body-bg: #14070C;
    --bs-body-bg-rgb: 20, 7, 12;
    --bs-body-color: #FCE7F3;
    --bs-body-color-rgb: 252, 231, 243;
    --bs-emphasis-color: #FFF1F2;
    --bs-secondary-color: #F9A8D4;
    --bs-tertiary-color: #FDA4AF;
    --bs-border-color: #7F1D1D73;
    --bs-link-color: #FB7185;
    --bs-link-hover-color: #FDA4AF;
    --bs-success: #22C55E;
    --bs-info: #F472B6;
    --bs-warning: #F59E0B;
    --bs-danger: #FB7185;
    --bs-card-bg: #241018;
    --bs-card-color: #FCE7F3;
    --bs-modal-bg: #241018;
    --bs-modal-color: #FCE7F3;
    --bs-dropdown-bg: #241018;
    --bs-dropdown-link-color: #FFF1F2;
    --bs-dropdown-link-hover-bg: #BE123C26;
    --bs-secondary-bg: #2B111B;
    --bs-tertiary-bg: #381421;
    --bs-card-cap-bg: #381421;

    --w5obm-primary-blue: #BE123C;
    --w5obm-secondary-blue: #FB7185;
    --w5obm-accent-gold: #FDBA74;
    --w5obm-shadow-blue: 0 10px 28px #BE123C4D;
    --w5obm-custom-nav-hover-bg: #FB71851A;
    --w5obm-custom-nav-active-bg: #FB718526;
    --w5obm-custom-primary-hover-shadow: 0 12px 28px #FB718566;

    --w5obm-primary: var(--bs-primary);
    --w5obm-secondary: var(--w5obm-secondary-blue);
    --theme-accent-primary: #BE123C;
    --theme-accent-secondary: #FB7185;
    --theme-text-primary: #FFF1F2;
    --theme-text-secondary: #F9A8D4;
    --theme-nav-bg: #18080DF2;
    --theme-nav-bg-scrolled: #12050AFA;
    --theme-nav-border: #7F1D1D80;
    --theme-nav-shadow: 0 12px 30px #12050AB8;

    --primary-blue: var(--w5obm-primary-blue);
    --secondary-blue: var(--w5obm-secondary-blue);
    --accent-gold: var(--w5obm-accent-gold);

    --hero-gradient-start: #3F0D1B;
    --hero-gradient-end: #7F1D1D;
    --hero-overlay-from: #1F0A13ED;
    --hero-overlay-to: #BE123C91;
    --hero-text-primary: #FFF1F2;
    --hero-text-secondary: #FBCFE8;
    --hero-badge-bg: #FB718533;
    --hero-badge-border: #FDA4AF8C;
    --hero-badge-text: #FFF1F2;
    --hero-stat-bg: #FFFFFF14;
    --hero-stat-border: #FDA4AF47;
    --hero-button-text: #FFF1F2;
    --hero-button-border: #FDA4AFBF;
    --hero-button-hover-bg: #FB718540;
    --hero-button-hover-text: #FFF1F2;
    --hero-logo-bg: #241018F2;
    --hero-logo-border: #FB7185D9;
    --hero-carousel-text: #FFF1F2;
    --hero-carousel-indicator-bg: #FDA4AFB2;

    --w5obm-navbar-bg: #18080DF2;
    --w5obm-navbar-bg-scrolled: #12050AFA;
    --w5obm-navbar-text-primary: #FFF1F2;
    --w5obm-navbar-text-secondary: #F9A8D4;
    --w5obm-navbar-border: #7F1D1D80;
    --w5obm-navbar-shadow: 0 12px 30px #12050AB8;

    --w5obm-footer-bg-start: #3F0D1B;
    --w5obm-footer-bg-end: #7F1D1D;
    --w5obm-footer-text: #FFF1F2;
    --w5obm-footer-text-muted: #FBCFE8;
    --w5obm-footer-title: #FFF1F2;
    --w5obm-footer-link: #FDA4AF;
    --w5obm-footer-link-hover: #FFE4E6;
}

/* ============================
 * W5OBM Maroon (w5obm_maroon)
 * ============================
 * Deep wine-maroon theme with softer rose accents.
 */
:root[data-w5obm-theme="w5obm_maroon"] {
    --bs-primary: #7C2D44;
    --bs-primary-rgb: 124, 45, 68;
    --bs-body-bg: #1A0F13;
    --bs-body-bg-rgb: 26, 15, 19;
    --bs-body-color: #FDF2F8;
    --bs-body-color-rgb: 253, 242, 248;
    --bs-emphasis-color: #FFF7FB;
    --bs-secondary-color: #F5C2D1;
    --bs-tertiary-color: #EAB3C2;
    --bs-border-color: #9D567047;
    --bs-link-color: #F472B6;
    --bs-link-hover-color: #F9A8D4;
    --bs-success: #22C55E;
    --bs-info: #F472B6;
    --bs-warning: #FBBF24;
    --bs-danger: #FB7185;
    --bs-card-bg: #24161B;
    --bs-card-color: #FDF2F8;
    --bs-modal-bg: #24161B;
    --bs-modal-color: #FDF2F8;
    --bs-dropdown-bg: #24161B;
    --bs-dropdown-link-color: #FFF7FB;
    --bs-dropdown-link-hover-bg: #9D567026;
    --bs-secondary-bg: #311D24;
    --bs-tertiary-bg: #43262F;
    --bs-card-cap-bg: #43262F;

    --w5obm-primary-blue: #7C2D44;
    --w5obm-secondary-blue: #C75A7A;
    --w5obm-accent-gold: #F6AD55;
    --w5obm-shadow-blue: 0 10px 28px #7C2D444D;
    --w5obm-custom-nav-hover-bg: #C75A7A1A;
    --w5obm-custom-nav-active-bg: #C75A7A26;
    --w5obm-custom-primary-hover-shadow: 0 12px 28px #C75A7A66;

    --w5obm-primary: var(--bs-primary);
    --w5obm-secondary: var(--w5obm-secondary-blue);
    --theme-accent-primary: #7C2D44;
    --theme-accent-secondary: #C75A7A;
    --theme-text-primary: #FFF7FB;
    --theme-text-secondary: #F5C2D1;
    --theme-nav-bg: #1A0F13F2;
    --theme-nav-bg-scrolled: #140B10FA;
    --theme-nav-border: #9D567047;
    --theme-nav-shadow: 0 12px 30px #0E060980;

    --primary-blue: var(--w5obm-primary-blue);
    --secondary-blue: var(--w5obm-secondary-blue);
    --accent-gold: var(--w5obm-accent-gold);

    --hero-gradient-start: #2B141D;
    --hero-gradient-end: #7C2D44;
    --hero-overlay-from: #1A0F13ED;
    --hero-overlay-to: #7C2D4491;
    --hero-text-primary: #FFF7FB;
    --hero-text-secondary: #FBCFE8;
    --hero-badge-bg: #C75A7A33;
    --hero-badge-border: #F5C2D18C;
    --hero-badge-text: #FFF7FB;
    --hero-stat-bg: #FFFFFF14;
    --hero-stat-border: #F5C2D147;
    --hero-button-text: #FFF7FB;
    --hero-button-border: #F5C2D1BF;
    --hero-button-hover-bg: #C75A7A40;
    --hero-button-hover-text: #FFF7FB;
    --hero-logo-bg: #24161BF2;
    --hero-logo-border: #F5C2D1D9;
    --hero-carousel-text: #FFF7FB;
    --hero-carousel-indicator-bg: #F5C2D1B2;

    --w5obm-navbar-bg: #1A0F13F2;
    --w5obm-navbar-bg-scrolled: #140B10FA;
    --w5obm-navbar-text-primary: #FFF7FB;
    --w5obm-navbar-text-secondary: #F5C2D1;
    --w5obm-navbar-border: #9D567047;
    --w5obm-navbar-shadow: 0 12px 30px #0E060980;

    --w5obm-footer-bg-start: #2B141D;
    --w5obm-footer-bg-end: #7C2D44;
    --w5obm-footer-text: #FFF7FB;
    --w5obm-footer-text-muted: #FBCFE8;
    --w5obm-footer-title: #FFF7FB;
    --w5obm-footer-link: #F5C2D1;
    --w5obm-footer-link-hover: #FFE4E6;
}

/* ============================
 * W5OBM Copper (w5obm_copper)
 * ============================
 * Warm bronze-and-ember dark theme.
 */
:root[data-w5obm-theme="w5obm_copper"] {
    --bs-primary: #B45309;
    --bs-primary-rgb: 180, 83, 9;
    --bs-body-bg: #18100A;
    --bs-body-bg-rgb: 24, 16, 10;
    --bs-body-color: #FFF7ED;
    --bs-body-color-rgb: 255, 247, 237;
    --bs-emphasis-color: #FFFBF5;
    --bs-secondary-color: #FBD38D;
    --bs-tertiary-color: #F6AD55;
    --bs-border-color: #B4530947;
    --bs-link-color: #F59E0B;
    --bs-link-hover-color: #FBBF24;
    --bs-success: #22C55E;
    --bs-info: #F59E0B;
    --bs-warning: #FBBF24;
    --bs-danger: #F97316;
    --bs-card-bg: #24160D;
    --bs-card-color: #FFF7ED;
    --bs-modal-bg: #24160D;
    --bs-modal-color: #FFF7ED;
    --bs-dropdown-bg: #24160D;
    --bs-dropdown-link-color: #FFFBF5;
    --bs-dropdown-link-hover-bg: #D9770626;
    --bs-secondary-bg: #2E1B0F;
    --bs-tertiary-bg: #3B2414;
    --bs-card-cap-bg: #3B2414;

    --w5obm-primary-blue: #B45309;
    --w5obm-secondary-blue: #F59E0B;
    --w5obm-accent-gold: #FBD38D;
    --w5obm-shadow-blue: 0 10px 28px #B453094D;
    --w5obm-custom-nav-hover-bg: #F59E0B1A;
    --w5obm-custom-nav-active-bg: #F59E0B26;
    --w5obm-custom-primary-hover-shadow: 0 12px 28px #F59E0B66;

    --w5obm-primary: var(--bs-primary);
    --w5obm-secondary: var(--w5obm-secondary-blue);
    --theme-accent-primary: #B45309;
    --theme-accent-secondary: #F59E0B;
    --theme-text-primary: #FFFBF5;
    --theme-text-secondary: #FBD38D;
    --theme-nav-bg: #18100AF2;
    --theme-nav-bg-scrolled: #120C07FA;
    --theme-nav-border: #B4530947;
    --theme-nav-shadow: 0 12px 30px #0C070480;

    --primary-blue: var(--w5obm-primary-blue);
    --secondary-blue: var(--w5obm-secondary-blue);
    --accent-gold: var(--w5obm-accent-gold);

    --hero-gradient-start: #3B2414;
    --hero-gradient-end: #B45309;
    --hero-overlay-from: #18100AED;
    --hero-overlay-to: #D9770680;
    --hero-text-primary: #FFFBF5;
    --hero-text-secondary: #FDE68A;
    --hero-badge-bg: #F59E0B33;
    --hero-badge-border: #FBD38D8C;
    --hero-badge-text: #FFFBF5;
    --hero-stat-bg: #FFFFFF14;
    --hero-stat-border: #FBD38D47;
    --hero-button-text: #FFFBF5;
    --hero-button-border: #FBD38DBF;
    --hero-button-hover-bg: #F59E0B40;
    --hero-button-hover-text: #FFFBF5;
    --hero-logo-bg: #24160DF2;
    --hero-logo-border: #F59E0BD9;
    --hero-carousel-text: #FFFBF5;
    --hero-carousel-indicator-bg: #FBD38DB2;

    --w5obm-navbar-bg: #18100AF2;
    --w5obm-navbar-bg-scrolled: #120C07FA;
    --w5obm-navbar-text-primary: #FFFBF5;
    --w5obm-navbar-text-secondary: #FBD38D;
    --w5obm-navbar-border: #B4530947;
    --w5obm-navbar-shadow: 0 12px 30px #0C070480;

    --w5obm-footer-bg-start: #3B2414;
    --w5obm-footer-bg-end: #B45309;
    --w5obm-footer-text: #FFFBF5;
    --w5obm-footer-text-muted: #FDE68A;
    --w5obm-footer-title: #FFFBF5;
    --w5obm-footer-link: #FBD38D;
    --w5obm-footer-link-hover: #FFFBF5;
}

/* Shared custom-theme component treatments */
:root[data-w5obm-theme="w5obm_indigo"] .btn-primary,
:root[data-w5obm-theme="w5obm_black"] .btn-primary,
:root[data-w5obm-theme="w5obm_ruby"] .btn-primary,
:root[data-w5obm-theme="w5obm_maroon"] .btn-primary,
:root[data-w5obm-theme="w5obm_copper"] .btn-primary {
    background: linear-gradient(135deg, var(--w5obm-primary-blue), var(--w5obm-secondary-blue));
    border-color: var(--w5obm-primary-blue);
}

:root[data-w5obm-theme="w5obm_indigo"] .btn-primary:hover,
:root[data-w5obm-theme="w5obm_indigo"] .btn-primary:focus,
:root[data-w5obm-theme="w5obm_black"] .btn-primary:hover,
:root[data-w5obm-theme="w5obm_black"] .btn-primary:focus,
:root[data-w5obm-theme="w5obm_ruby"] .btn-primary:hover,
:root[data-w5obm-theme="w5obm_ruby"] .btn-primary:focus,
:root[data-w5obm-theme="w5obm_maroon"] .btn-primary:hover,
:root[data-w5obm-theme="w5obm_maroon"] .btn-primary:focus,
:root[data-w5obm-theme="w5obm_copper"] .btn-primary:hover,
:root[data-w5obm-theme="w5obm_copper"] .btn-primary:focus {
    background: linear-gradient(135deg, var(--w5obm-secondary-blue), var(--w5obm-primary-blue));
    box-shadow: var(--w5obm-custom-primary-hover-shadow);
}

:root[data-w5obm-theme="w5obm_indigo"] .card-border-top,
:root[data-w5obm-theme="w5obm_black"] .card-border-top,
:root[data-w5obm-theme="w5obm_ruby"] .card-border-top,
:root[data-w5obm-theme="w5obm_maroon"] .card-border-top,
:root[data-w5obm-theme="w5obm_copper"] .card-border-top {
    border-top: 5px solid var(--w5obm-secondary-blue);
}

:root[data-w5obm-theme="w5obm_indigo"] a,
:root[data-w5obm-theme="w5obm_black"] a,
:root[data-w5obm-theme="w5obm_ruby"] a,
:root[data-w5obm-theme="w5obm_maroon"] a,
:root[data-w5obm-theme="w5obm_copper"] a {
    color: var(--bs-link-color);
}

:root[data-w5obm-theme="w5obm_indigo"] a:hover,
:root[data-w5obm-theme="w5obm_indigo"] a:focus,
:root[data-w5obm-theme="w5obm_black"] a:hover,
:root[data-w5obm-theme="w5obm_black"] a:focus,
:root[data-w5obm-theme="w5obm_ruby"] a:hover,
:root[data-w5obm-theme="w5obm_ruby"] a:focus,
:root[data-w5obm-theme="w5obm_maroon"] a:hover,
:root[data-w5obm-theme="w5obm_maroon"] a:focus,
:root[data-w5obm-theme="w5obm_copper"] a:hover,
:root[data-w5obm-theme="w5obm_copper"] a:focus {
    color: var(--bs-link-hover-color);
}

:root[data-w5obm-theme="w5obm_indigo"] .table thead th,
:root[data-w5obm-theme="w5obm_indigo"] .bg-primary,
:root[data-w5obm-theme="w5obm_indigo"] .card-primary,
:root[data-w5obm-theme="w5obm_black"] .table thead th,
:root[data-w5obm-theme="w5obm_black"] .bg-primary,
:root[data-w5obm-theme="w5obm_black"] .card-primary,
:root[data-w5obm-theme="w5obm_ruby"] .table thead th,
:root[data-w5obm-theme="w5obm_ruby"] .bg-primary,
:root[data-w5obm-theme="w5obm_ruby"] .card-primary,
:root[data-w5obm-theme="w5obm_maroon"] .table thead th,
:root[data-w5obm-theme="w5obm_maroon"] .bg-primary,
:root[data-w5obm-theme="w5obm_maroon"] .card-primary,
:root[data-w5obm-theme="w5obm_copper"] .table thead th,
:root[data-w5obm-theme="w5obm_copper"] .bg-primary,
:root[data-w5obm-theme="w5obm_copper"] .card-primary {
    background: linear-gradient(135deg, var(--w5obm-primary-blue), var(--w5obm-secondary-blue)) !important;
    color: var(--hero-text-primary) !important;
}

:root[data-w5obm-theme="w5obm_indigo"] .nav-link:hover,
:root[data-w5obm-theme="w5obm_indigo"] .nav-link:focus,
:root[data-w5obm-theme="w5obm_black"] .nav-link:hover,
:root[data-w5obm-theme="w5obm_black"] .nav-link:focus,
:root[data-w5obm-theme="w5obm_ruby"] .nav-link:hover,
:root[data-w5obm-theme="w5obm_ruby"] .nav-link:focus,
:root[data-w5obm-theme="w5obm_maroon"] .nav-link:hover,
:root[data-w5obm-theme="w5obm_maroon"] .nav-link:focus,
:root[data-w5obm-theme="w5obm_copper"] .nav-link:hover,
:root[data-w5obm-theme="w5obm_copper"] .nav-link:focus {
    color: var(--w5obm-secondary-blue);
    background-color: var(--w5obm-custom-nav-hover-bg);
}

:root[data-w5obm-theme="w5obm_indigo"] .nav-link.active,
:root[data-w5obm-theme="w5obm_black"] .nav-link.active,
:root[data-w5obm-theme="w5obm_ruby"] .nav-link.active,
:root[data-w5obm-theme="w5obm_maroon"] .nav-link.active,
:root[data-w5obm-theme="w5obm_copper"] .nav-link.active {
    color: var(--w5obm-primary-blue);
    background-color: var(--w5obm-custom-nav-active-bg);
}

@layer themeOverridesContrast {
    :root {
        --w5obm-theme-surface: var(--bs-body-bg, #ffffff);
        --w5obm-theme-surface-alt: var(--bs-secondary-bg, #f8f9fa);
        --w5obm-theme-text: var(--bs-body-color, #212529);
        --w5obm-theme-muted: var(--bs-secondary-color, #6c757d);
        --w5obm-theme-border: var(--bs-border-color, #21252926);
        --w5obm-theme-heading: var(--bs-emphasis-color, var(--w5obm-theme-text));
        --w5obm-theme-interactive-bg: #ffffff;
        --w5obm-theme-interactive-text: #0f172a;
        --w5obm-theme-interactive-muted: #475569;
        --w5obm-theme-interactive-border: #cbd5e1;
        --w5obm-theme-table-striped-bg: #f8fafc;
        --w5obm-theme-table-hover-bg: #eef3f8;
        --w5obm-theme-table-active-bg: #e2e8f0;
    }

    body {
        background-color: var(--w5obm-theme-surface);
        color: var(--w5obm-theme-text);
    }

    .card,
    .modal-content,
    .dropdown-menu,
    .list-group-item,
    .offcanvas,
    .toast {
        background-color: var(--bs-card-bg, var(--w5obm-theme-surface));
        color: var(--bs-card-color, var(--w5obm-theme-text));
        border-color: var(--w5obm-theme-border);
    }

    .card-header,
    .card-footer,
    .table thead th,
    .table > :not(caption) > * > * {
        border-color: var(--w5obm-theme-border);
    }

    .text-muted,
    .text-body-secondary,
    .small,
    small {
        color: var(--w5obm-theme-muted) !important;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6 {
        color: var(--w5obm-theme-heading);
    }

    [data-w5obm-theme="w5obm_navy"] {
        --w5obm-theme-surface: var(--bs-body-bg, #071a33);
        --w5obm-theme-surface-alt: var(--bs-secondary-bg, #FFFFFF14);
        --w5obm-theme-text: var(--bs-body-color, #f8fafc);
        --w5obm-theme-muted: var(--bs-secondary-color, #cbd5e1);
        --w5obm-theme-border: var(--bs-border-color, #94A3B847);
        --w5obm-theme-heading: var(--bs-emphasis-color, #ffffff);
        --w5obm-theme-interactive-bg: #ffffff;
        --w5obm-theme-interactive-text: #0f172a;
        --w5obm-theme-interactive-muted: #475569;
        --w5obm-theme-interactive-border: #cbd5e1;
        --w5obm-theme-table-striped-bg: #f8fafc;
        --w5obm-theme-table-hover-bg: #eef3f8;
        --w5obm-theme-table-active-bg: #e2e8f0;
    }

    [data-bs-theme="dark"],
    .theme-dark,
    .dark-theme,
    .dark-mode,
    body.dark,
    html.dark {
        --w5obm-theme-surface: var(--bs-body-bg, #0f172a);
        --w5obm-theme-surface-alt: var(--bs-secondary-bg, #1e293b);
        --w5obm-theme-text: var(--bs-body-color, #f8fafc);
        --w5obm-theme-muted: var(--bs-secondary-color, #cbd5e1);
        --w5obm-theme-border: var(--bs-border-color, #94A3B847);
        --w5obm-theme-heading: var(--bs-emphasis-color, #ffffff);
        --w5obm-theme-interactive-bg: #ffffff;
        --w5obm-theme-interactive-text: #0f172a;
        --w5obm-theme-interactive-muted: #475569;
        --w5obm-theme-interactive-border: #cbd5e1;
        --w5obm-theme-table-striped-bg: #f8fafc;
        --w5obm-theme-table-hover-bg: #eef3f8;
        --w5obm-theme-table-active-bg: #e2e8f0;
    }

    [data-w5obm-theme="w5obm_navy"] .form-control,
    [data-w5obm-theme="w5obm_navy"] .form-select,
    [data-w5obm-theme="w5obm_navy"] .input-group-text,
    [data-w5obm-theme="w5obm_navy"] .table,
    [data-w5obm-theme="w5obm_navy"] .accordion-item,
    [data-bs-theme="dark"] .form-control,
    [data-bs-theme="dark"] .form-select,
    [data-bs-theme="dark"] .input-group-text,
    [data-bs-theme="dark"] .table,
    [data-bs-theme="dark"] .accordion-item,
    .theme-dark .form-control,
    .theme-dark .form-select,
    .theme-dark .input-group-text,
    .theme-dark .table,
    .theme-dark .accordion-item,
    .dark-theme .form-control,
    .dark-theme .form-select,
    .dark-theme .input-group-text,
    .dark-theme .table,
    .dark-theme .accordion-item,
    .dark-mode .form-control,
    .dark-mode .form-select,
    .dark-mode .input-group-text,
    .dark-mode .table,
    .dark-mode .accordion-item,
    body.dark .form-control,
    body.dark .form-select,
    body.dark .input-group-text,
    body.dark .table,
    body.dark .accordion-item,
    html.dark .form-control,
    html.dark .form-select,
    html.dark .input-group-text,
    html.dark .table,
    html.dark .accordion-item {
        background-color: var(--w5obm-theme-interactive-bg);
        color: var(--w5obm-theme-interactive-text);
        border-color: var(--w5obm-theme-interactive-border);
        --bs-table-bg: var(--w5obm-theme-interactive-bg);
        --bs-table-color: var(--w5obm-theme-interactive-text);
        --bs-table-border-color: var(--w5obm-theme-interactive-border);
        --bs-table-striped-bg: var(--w5obm-theme-table-striped-bg);
        --bs-table-striped-color: var(--w5obm-theme-interactive-text);
        --bs-table-hover-bg: var(--w5obm-theme-table-hover-bg);
        --bs-table-hover-color: var(--w5obm-theme-interactive-text);
        --bs-table-active-bg: var(--w5obm-theme-table-active-bg);
        --bs-table-active-color: var(--w5obm-theme-interactive-text);
        --bs-accordion-bg: var(--w5obm-theme-interactive-bg);
        --bs-accordion-color: var(--w5obm-theme-interactive-text);
    }
}
