:root {
    --aurora-navbar-bg: #212529;
    --aurora-footer-bg: #212529;
    --aurora-body-bg: #f8f9fa;
    --aurora-body-color: #212529;
    --aurora-shell-text: #f8f9fa;
    --aurora-shell-border: rgba(255, 255, 255, 0.45);
    --aurora-surface-bg: #ffffff;
    --aurora-border-color: #dee2e6;
}

:root[data-bs-theme='dark'] {
    --aurora-navbar-bg: #121416;
    --aurora-footer-bg: #121416;
    --aurora-body-bg: #111827;
    --aurora-body-color: #e5e7eb;
    --aurora-shell-text: #e5e7eb;
    --aurora-shell-border: rgba(229, 231, 235, 0.45);
    --aurora-surface-bg: #1f2937;
    --aurora-border-color: #374151;
}

:root[data-bs-theme='light'] {
    --aurora-navbar-bg: #e9ecef;
    --aurora-footer-bg: #e9ecef;
    --aurora-shell-text: #1f2937;
    --aurora-shell-border: rgba(31, 41, 55, 0.35);
}

body {
    background-color: var(--aurora-body-bg);
    color: var(--aurora-body-color);
}

.aurora-theme-navbar {
    background-color: var(--aurora-navbar-bg) !important;
}

.aurora-theme-footer {
    background-color: var(--aurora-footer-bg) !important;
    color: var(--aurora-shell-text);
}

.aurora-theme-navbar .navbar-brand,
.aurora-theme-navbar .nav-link,
.aurora-theme-navbar .btn,
.aurora-theme-navbar .text-light,
.aurora-theme-shell-text,
.aurora-theme-shell-text .dropdown-toggle {
    color: var(--aurora-shell-text) !important;
}

.aurora-theme-navbar .nav-link:hover,
.aurora-theme-navbar .btn:hover,
.aurora-theme-navbar .dropdown-item:hover {
    opacity: 0.9;
}

.aurora-theme-navbar .dropdown-menu {
    background-color: var(--aurora-surface-bg);
    border-color: var(--aurora-border-color);
}

.aurora-theme-menu-button,
.aurora-theme-icon-button {
    border-color: var(--aurora-shell-border) !important;
    color: var(--aurora-shell-text) !important;
    background-color: transparent;
}

.aurora-theme-menu-button:hover,
.aurora-theme-menu-button:focus,
.aurora-theme-icon-button:hover,
.aurora-theme-icon-button:focus {
    border-color: var(--aurora-shell-text) !important;
    color: var(--aurora-shell-text) !important;
}

.aurora-theme-footer .container {
    color: var(--aurora-shell-text);
}

:root[data-bs-theme='dark'] .card,
:root[data-bs-theme='dark'] .modal-content,
:root[data-bs-theme='dark'] .dropdown-menu {
    background-color: var(--aurora-surface-bg);
    border-color: var(--aurora-border-color);
}

:root[data-bs-theme='dark'] .dropdown-item,
:root[data-bs-theme='dark'] .text-dark {
    color: var(--aurora-body-color) !important;
}

#themeSelectorButton {
    min-width: 42px;
    justify-content: center;
}

.theme-option {
    min-width: 42px;
}

:root[data-bs-theme='dark'] .theme-option.active,
:root[data-bs-theme='dark'] .theme-option:active {
    background-color: #374151;
    color: #e5e7eb;
}