
    :root {
        /* Light Mode Colors */
        --bs-primary: #602aa2 !important;
        --bs-primary-rgb: 96, 42, 162 !important;
        --bs-secondary: #462a68 !important;
        --bs-secondary-rgb: 70, 42, 104 !important;
        --bs-success: #28a745 !important;
        --bs-success-rgb: 40, 167, 69 !important;
        --bs-danger: #dc3545 !important;
        --bs-danger-rgb: 220, 53, 69 !important;
        --bs-warning: #ffc107 !important;
        --bs-warning-rgb: 255, 193, 7 !important;
        --bs-info: #17a2b8 !important;
        --bs-info-rgb: 23, 162, 184 !important;
        --bs-light: #f8f8f8 !important;
        --bs-light-rgb: 248, 248, 248 !important;
        --bs-dark: #3b0971 !important; 
        --bs-dark-rgb: 59, 9, 113 !important;

        --bs-body-color: #212529 !important;
        --bs-body-color-rgb: 33, 37, 41 !important;
        --bs-body-bg: #ffffff !important;
        --bs-body-bg-rgb: 255, 255, 255 !important;
        --bs-body-text-align: left !important;

        /* Fonts */
        --body-font-family: "Open Sans", sans-serif;
        --body-font-size: 1.0rem;
        --body-font-weight: 400;
        --bs-body-font-family: var(--body-font-family);
        --bs-body-font-size: var(--body-font-size);
        --bs-body-font-weight: var(--body-font-weight);
        --bs-body-line-height: 1.5;
        
        --headings-font-family: "Raleway", sans-serif;
        --headings-font-weight: 600;
        --bs-headings-font-family: var(--headings-font-family);
        --bs-headings-font-weight: 600;
        --bs-heading-color: #212529 !important;
        
        --bs-h1-font-size: 3.25rem;
        --bs-h2-font-size: 2.25rem;
        --bs-h3-font-size: 1.75rem;
        --bs-h4-font-size: 1.5rem;
        --bs-h5-font-size: 1.25rem;
        --bs-h6-font-size: 1.0rem;
        --h1-font-size: var(--bs-h1-font-size);
        --h2-font-size: var(--bs-h2-font-size);
        --h3-font-size: var(--bs-h3-font-size);
        --h4-font-size: var(--bs-h4-font-size);
        --h5-font-size: var(--bs-h5-font-size);
        --h6-font-size: var(--bs-h6-font-size);

        --bs-link-color: #632fa2 !important;
        --bs-link-color-rgb: 99, 47, 162 !important;
        --bs-link-hover-color: #f2d21c !important;
        --bs-link-hover-color-rgb: 242, 210, 28 !important;

        --hero-header-text-color: #ffffff;
        --bs-link-decoration: none !important;

        /* Footer Background Colors */
        --footer-bg-color-light: #40295b; /* Default light footer bg */
        --footer-bg-color-dark: #000000; /* Default dark footer bg */
        --footer-bg-color: var(--footer-bg-color-light) !important; /* Initial value, overridden by dark theme */

        --footer-col-header-color: #ffffff;
        --footer-text-color: #ffffff;
        --footer-link-color: #fcbf07;
        --footer-link-hover-color: #f8f9fa;
        --footer-logo-max-width: 150px;
        --footer-social-icon-max-width: 30px;
        --footer-font-size: 0.9rem; /* Already !important via rule */
        --footer-header-font-weight: bold;
        --footer-general-header-color: #ffffff !important;        
        --footer-h1-font-size: 2rem;
        --footer-h2-font-size: 1.75rem;
        --footer-h3-font-size: 1.5rem;
        --footer-h4-font-size: 1.25rem;
        --footer-h5-font-size: 1.1rem;
        --footer-h6-font-size: 1rem;
        
        /* Navbar Background Colors */
        --navbar-bg-color-light: #462a68; /* Default light navbar bg */
        --navbar-bg-color-dark: #111212; /* Default dark navbar bg */
        --navbar-bg-color: var(--navbar-bg-color-light) !important; /* Initial value, overridden by dark theme */

        --navbar-link-color: #f2d21c;
        --navbar-link-hover-color: #ffffff;
        --navbar-brand-text-color: #ffffff;
        --navbar-brand-logo-max-width: 150px;

        --carousel-caption-bg-color: #c2b3d1;
        
        /* Navbar Dropdown Background Colors */
        --navbar-dropdown-bg-color-light: #2f1b46; /* Default light dropdown bg */
        --navbar-dropdown-bg-color-dark: #212529; /* Default dark dropdown bg, slightly lighter than body */
        --navbar-dropdown-bg: var(--navbar-dropdown-bg-color-light) !important; /* Initial value, overridden by dark theme */
        --navbar-dropdown-title-size: 1.5rem;
        --navbar-dropdown-title-color: #ffffff;
        --navbar-dropdown-link-color: #f2d21c;
        --navbar-dropdown-link-hover-color: #fcfcfc;
        --navbar-dropdown-link-hover-bg: #745794;

        /* Dashboard Fixed Styles - For Front-End Dashboard */
        --dashboard-body-fs: 0.8rem !important;
        --dashboard-h1-fs: 2.25rem !important;
        --dashboard-h2-fs: 1.875rem !important;
        --dashboard-h3-fs: 1.5rem !important;
        --dashboard-h4-fs: 1.25rem !important;
        --dashboard-h5-fs: 1.125rem !important;
        --dashboard-h6-fs: 1.0rem !important;
        --dashboard-sidebar-link-fs: 0.9rem !important;

        --newsletter-title-color: #b78601;
        --newsletter-button-text-color: #462a68;
        --newsletter-button-bg-color: #ffffff;
        --newsletter-button-border-color: #462a68;
        --newsletter-button-hover-text-color: #ffffff;
        --newsletter-button-hover-bg-color: #462a68;
        --newsletter-button-hover-border-color: #462a68;
    }

    body {
        font-family: var(--bs-body-font-family);
        font-size: var(--bs-body-font-size);
        font-weight: var(--bs-body-font-weight);
        line-height: var(--bs-body-line-height);
        color: var(--bs-body-color);
        background-color: var(--bs-body-bg) !important;
        text-align: var(--bs-body-text-align);
    }

    h1, .h1 { font-size: var(--bs-h1-font-size); }
    h2, .h2 { font-size: var(--bs-h2-font-size); }
    h3, .h3 { font-size: var(--bs-h3-font-size); }
    h4, .h4 { font-size: var(--bs-h4-font-size); }
    h5, .h5 { font-size: var(--bs-h5-font-size); }
    h6, .h6 { font-size: var(--bs-h6-font-size); }

    h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
        font-family: var(--bs-headings-font-family);
        font-weight: var(--bs-headings-font-weight);
        color: var(--bs-heading-color);
    }

    a {
        color: var(--bs-link-color);
        text-decoration: var(--bs-link-decoration);
    }
    a:hover {
        color: var(--bs-link-hover-color);
    }

    .footer-bg-color {
        background-color: var(--footer-bg-color) !important;
    }
    
    .navbar {
        background-color: var(--navbar-bg-color) !important; /* Apply themed navbar background */
    }

    /* Navbar Toggler Icon Styling - Default/Light Mode */
    .navbar:not([data-bs-theme="dark"]) .navbar-toggler-icon,
    .navbar.navbar-light .navbar-toggler-icon { /* For navbars explicitly light */
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    }

    /* Navbar Toggler Icon Styling - Dark Mode */
    .navbar[data-bs-theme="dark"] .navbar-toggler-icon,
    .navbar.navbar-dark .navbar-toggler-icon { /* For navbars explicitly dark or with .navbar-dark */
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    }

    [data-bs-theme="dark"] {
        --bs-body-color: #dee2e6 !important;
        --bs-body-color-rgb: 222, 226, 230 !important;
        --bs-body-bg: #212529 !important; 
        --bs-body-bg-rgb: 33, 37, 41 !important; 
        --bs-heading-color: #ffffff !important; /* Use dark heading color or fallback to dark body color */
        
        --navbar-bg-color: var(--navbar-bg-color-dark) !important; /* Switch to dark navbar bg */
        --footer-bg-color: var(--footer-bg-color-dark) !important; /* Switch to dark footer bg */
        --navbar-dropdown-bg: var(--navbar-dropdown-bg-color-dark) !important; /* Switch to dark dropdown bg */

        --bs-light: #495057 !important;
        --bs-light-rgb: 73, 80, 87 !important; /* Default RGB for #495057 */
        --bs-dark: #adb5bd !important;
        --bs-dark-rgb: 173, 181, 189 !important; /* Default RGB for #adb5bd */
        
        /* Define text emphasis colors for dark mode */
        --bs-danger-text-emphasis: #000000 !important; /* Default: light red for dark bg */
        
        --bs-border-color: #495057 !important;
        --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
    }

    /* --- Component Overrides Using Dynamic Variables --- */

    .btn-primary, .btn-primary:focus {
        --bs-btn-color: #ffffff !important;
        --bs-btn-bg: #602aa2 !important;
        --bs-btn-border-color: #602aa2 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: color-mix(in srgb, #602aa2 85%, black) !important;
        --bs-btn-hover-border-color: color-mix(in srgb, #602aa2 80%, black) !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: color-mix(in srgb, #602aa2 75%, black) !important;
        --bs-btn-active-border-color: color-mix(in srgb, #602aa2 70%, black) !important;
        --bs-btn-focus-shadow-rgb: 96, 42, 162 !important;
    }

    .btn-outline-primary, .btn-outline-primary:focus {
        --bs-btn-color: #602aa2 !important;
        --bs-btn-border-color: #602aa2 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: #602aa2 !important;
        --bs-btn-hover-border-color: #602aa2 !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: #602aa2 !important;
        --bs-btn-active-border-color: #602aa2 !important;
        --bs-btn-focus-shadow-rgb: 96, 42, 162 !important;
    }

    /* ... (Other button styles remain the same as the previous full code block) ... */
    .btn-secondary, .btn-secondary:focus {
        --bs-btn-color: #ffffff !important;
        --bs-btn-bg: #462a68 !important;
        --bs-btn-border-color: #462a68 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: color-mix(in srgb, #462a68 85%, black) !important;
        --bs-btn-hover-border-color: color-mix(in srgb, #462a68 80%, black) !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: color-mix(in srgb, #462a68 75%, black) !important;
        --bs-btn-active-border-color: color-mix(in srgb, #462a68 70%, black) !important;
        --bs-btn-focus-shadow-rgb: 70, 42, 104 !important;
    }
    .btn-outline-secondary, .btn-outline-secondary:focus {
        --bs-btn-color: #462a68 !important;
        --bs-btn-border-color: #462a68 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: #462a68 !important;
        --bs-btn-hover-border-color: #462a68 !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: #462a68 !important;
        --bs-btn-active-border-color: #462a68 !important;
        --bs-btn-focus-shadow-rgb: 70, 42, 104 !important;
    }

    .btn-success, .btn-success:focus {
        --bs-btn-color: #ffffff !important;
        --bs-btn-bg: #28a745 !important;
        --bs-btn-border-color: #28a745 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: color-mix(in srgb, #28a745 85%, black) !important;
        --bs-btn-hover-border-color: color-mix(in srgb, #28a745 80%, black) !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: color-mix(in srgb, #28a745 75%, black) !important;
        --bs-btn-active-border-color: color-mix(in srgb, #28a745 70%, black) !important;
        --bs-btn-focus-shadow-rgb: 40, 167, 69 !important;
    }
    .btn-outline-success, .btn-outline-success:focus {
        --bs-btn-color: #28a745 !important;
        --bs-btn-border-color: #28a745 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: #28a745 !important;
        --bs-btn-hover-border-color: #28a745 !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: #28a745 !important;
        --bs-btn-active-border-color: #28a745 !important;
        --bs-btn-focus-shadow-rgb: 40, 167, 69 !important;
    }

    .btn-danger, .btn-danger:focus {
        --bs-btn-color: #ffffff !important;
        --bs-btn-bg: #dc3545 !important;
        --bs-btn-border-color: #dc3545 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: color-mix(in srgb, #dc3545 85%, black) !important;
        --bs-btn-hover-border-color: color-mix(in srgb, #dc3545 80%, black) !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: color-mix(in srgb, #dc3545 75%, black) !important;
        --bs-btn-active-border-color: color-mix(in srgb, #dc3545 70%, black) !important;
        --bs-btn-focus-shadow-rgb: 220, 53, 69 !important;
    }
    .btn-outline-danger, .btn-outline-danger:focus {
        --bs-btn-color: #dc3545 !important;
        --bs-btn-border-color: #dc3545 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: #dc3545 !important;
        --bs-btn-hover-border-color: #dc3545 !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: #dc3545 !important;
        --bs-btn-active-border-color: #dc3545 !important;
        --bs-btn-focus-shadow-rgb: 220, 53, 69 !important;
    }

    .btn-warning, .btn-warning:focus {
        --bs-btn-color: #000000 !important;
        --bs-btn-bg: #ffc107 !important;
        --bs-btn-border-color: #ffc107 !important;
        --bs-btn-hover-color: #000000 !important;
        --bs-btn-hover-bg: color-mix(in srgb, #ffc107 85%, black) !important;
        --bs-btn-hover-border-color: color-mix(in srgb, #ffc107 80%, black) !important;
        --bs-btn-active-color: #000000 !important;
        --bs-btn-active-bg: color-mix(in srgb, #ffc107 75%, black) !important;
        --bs-btn-active-border-color: color-mix(in srgb, #ffc107 70%, black) !important;
        --bs-btn-focus-shadow-rgb: 255, 193, 7 !important;
    }
    .btn-outline-warning, .btn-outline-warning:focus {
        --bs-btn-color: #ffc107 !important;
        --bs-btn-border-color: #ffc107 !important;
        --bs-btn-hover-color: #000000 !important;
        --bs-btn-hover-bg: #ffc107 !important;
        --bs-btn-hover-border-color: #ffc107 !important;
        --bs-btn-active-color: #000000 !important;
        --bs-btn-active-bg: #ffc107 !important;
        --bs-btn-active-border-color: #ffc107 !important;
        --bs-btn-focus-shadow-rgb: 255, 193, 7 !important;
    }

    .btn-info, .btn-info:focus {
        --bs-btn-color: #ffffff !important;
        --bs-btn-bg: #17a2b8 !important;
        --bs-btn-border-color: #17a2b8 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: color-mix(in srgb, #17a2b8 85%, black) !important;
        --bs-btn-hover-border-color: color-mix(in srgb, #17a2b8 80%, black) !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: color-mix(in srgb, #17a2b8 75%, black) !important;
        --bs-btn-active-border-color: color-mix(in srgb, #17a2b8 70%, black) !important;
        --bs-btn-focus-shadow-rgb: 23, 162, 184 !important;
    }
    .btn-outline-info, .btn-outline-info:focus {
        --bs-btn-color: #17a2b8 !important;
        --bs-btn-border-color: #17a2b8 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: #17a2b8 !important;
        --bs-btn-hover-border-color: #17a2b8 !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: #17a2b8 !important;
        --bs-btn-active-border-color: #17a2b8 !important;
        --bs-btn-focus-shadow-rgb: 23, 162, 184 !important;
    }

    .btn-light, .btn-light:focus {
        --bs-btn-color: #000000 !important;
        --bs-btn-bg: #f8f8f8 !important;
        --bs-btn-border-color: #f8f8f8 !important;
        --bs-btn-hover-color: #000000 !important;
        --bs-btn-hover-bg: color-mix(in srgb, #f8f8f8 90%, black) !important;
        --bs-btn-hover-border-color: color-mix(in srgb, #f8f8f8 85%, black) !important;
        --bs-btn-active-color: #000000 !important;
        --bs-btn-active-bg: color-mix(in srgb, #f8f8f8 85%, black) !important;
        --bs-btn-active-border-color: color-mix(in srgb, #f8f8f8 80%, black) !important;
        --bs-btn-focus-shadow-rgb: 248, 248, 248 !important;
    }
    .btn-outline-light, .btn-outline-light:focus {
        --bs-btn-color: #f8f8f8 !important;
        --bs-btn-border-color: #f8f8f8 !important;
        --bs-btn-hover-color: #000000 !important; 
        --bs-btn-hover-bg: #f8f8f8 !important;
        --bs-btn-hover-border-color: #f8f8f8 !important;
        --bs-btn-active-color: #000000 !important;
        --bs-btn-active-bg: #f8f8f8 !important;
        --bs-btn-active-border-color: #f8f8f8 !important;
        --bs-btn-focus-shadow-rgb: 248, 248, 248 !important;
    }

    .btn-dark, .btn-dark:focus {
        --bs-btn-color: #ffffff !important;
        --bs-btn-bg: #3b0971 !important;
        --bs-btn-border-color: #3b0971 !important;
        --bs-btn-hover-color: #ffffff !important;
        --bs-btn-hover-bg: color-mix(in srgb, #3b0971 90%, white) !important;
        --bs-btn-hover-border-color: color-mix(in srgb, #3b0971 85%, white) !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: color-mix(in srgb, #3b0971 85%, white) !important;
        --bs-btn-active-border-color: color-mix(in srgb, #3b0971 80%, white) !important;
        --bs-btn-focus-shadow-rgb: 59, 9, 113 !important;
    }
    .btn-outline-dark, .btn-outline-dark:focus {
        --bs-btn-color: #3b0971 !important;
        --bs-btn-border-color: #3b0971 !important;
        --bs-btn-hover-color: #ffffff !important; 
        --bs-btn-hover-bg: #3b0971 !important;
        --bs-btn-hover-border-color: #3b0971 !important;
        --bs-btn-active-color: #ffffff !important;
        --bs-btn-active-bg: #3b0971 !important;
        --bs-btn-active-border-color: #3b0971 !important;
        --bs-btn-focus-shadow-rgb: 59, 9, 113 !important;
    }

    .carousel-caption {
        background-color: var(--carousel-caption-bg-color);
        padding: 1rem;
        border-radius: 0.25rem;
    }

    .custom-dropdown-full .dropdown-menu {
        background-color: var(--navbar-dropdown-bg) !important;
        width: 100%; 
    }

    .custom-dropdown-full .dropdown-menu .display-3 {
        font-size: var(--navbar-dropdown-title-size);
        color: var(--navbar-dropdown-title-color);
    }

    .custom-dropdown-full .dropdown-menu .dropdown-item {
        color: var(--navbar-dropdown-link-color);
        background-color: transparent;
    }

    .custom-dropdown-full .dropdown-menu .dropdown-item:hover,
    .custom-dropdown-full .dropdown-menu .dropdown-item:focus {
        color: var(--navbar-dropdown-link-hover-color);
        background-color: var(--navbar-dropdown-link-hover-bg);
    }

    /* Footer Heading Styles */
    footer h1, footer .h1 {
        font-size: var(--footer-h1-font-size) !important;
        color: var(--footer-general-header-color) !important;
        font-weight: var(--footer-header-font-weight) !important; /* Added font-weight */
    }
    footer h2, footer .h2 {
        font-size: var(--footer-h2-font-size) !important;
        color: var(--footer-general-header-color) !important;
        font-weight: var(--footer-header-font-weight) !important; /* Added font-weight */
    }
    footer h3, footer .h3 {
        font-size: var(--footer-h3-font-size) !important;
        color: var(--footer-general-header-color) !important;
        font-weight: var(--footer-header-font-weight) !important; /* Added font-weight */
    }
    footer h4, footer .h4 {
        font-size: var(--footer-h4-font-size) !important;
        color: var(--footer-general-header-color) !important;
        font-weight: var(--footer-header-font-weight) !important; /* Added font-weight */
    }
    footer h5, footer .h5 {
        font-size: var(--footer-h5-font-size) !important;
        color: var(--footer-general-header-color) !important;
        font-weight: var(--footer-header-font-weight) !important; /* Added font-weight */
    }
    footer h6, footer .h6 {
        font-size: var(--footer-h6-font-size) !important;
        color: var(--footer-general-header-color) !important;
        font-weight: var(--footer-header-font-weight) !important; /* Added font-weight */
    }

    /* General Footer Text Style */
    footer {
        font-size: var(--footer-font-size) !important;
    }
    
    /* Dashboard Sidebar Link Colors - Light Mode */
    #menu .nav-link {
        color: var(--bs-body-color) !important; /* Uses light mode body text color */
    }
    #menu .nav-link span { /* Ensure text within span also gets the color */
        color: inherit !important; 
    }

    /* Dashboard Sidebar Link Colors - Dark Mode */
    [data-bs-theme="dark"] #menu .nav-link {
        color: var(--bs-body-color) !important; /* Uses dark mode body text color (which is light) */
    }
    [data-bs-theme="dark"] #menu .nav-link span { /* Ensure text within span also gets the color */
        color: inherit !important;
    }
    