/* Theme Fixes - Override Bootstrap and ensure proper theming */

/* Force all text elements to use theme colors */
body, 
.container,
.row,
[class*="col-"],
p, 
span, 
div:not(.hero-section):not(.cta-section),
h1, h2, h3, h4, h5, h6,
.card-body,
.modal-body {
    color: var(--text-primary) !important;
}

/* Override Bootstrap background classes with theme variables */
.bg-light,
.bg-light-themed {
    background-color: var(--bg-secondary) !important;
}

.bg-white,
.bg-white-themed {
    background-color: var(--bg-primary) !important;
}

/* Override Bootstrap text color classes */
.text-muted,
.text-muted-themed {
    color: var(--text-muted) !important;
}

.text-secondary,
.text-secondary-themed {
    color: var(--text-secondary) !important;
}

.text-dark,
.text-themed {
    color: var(--text-primary) !important;
}

/* Cards and stat cards */
.card,
.stat-card,
.testimonial-card {
    background-color: var(--bg-primary) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 4px 6px -1px var(--shadow), 0 2px 4px -1px var(--shadow) !important;
}

.card h5,
.stat-card h5,
.testimonial-card h5 {
    color: var(--text-primary) !important;
}

.card p,
.stat-card p,
.testimonial-card p {
    color: var(--text-muted) !important;
}

/* Navigation - ВСЕГДА СВЕТЛАЯ */
.navbar,
.navbar-themed,
#header .navbar {
    background: linear-gradient(135deg, #2563EB 0%, #1E40AF 100%) !important; /* Всегда светлый градиент */
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important; /* Светлая граница */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important; /* Легкая тень */
}

.navbar-brand,
.navbar-nav .nav-link,
#header .navbar-brand,
#header .navbar-nav .nav-link {
    color: #ffffff !important; /* Всегда белый текст */
}

/* Фиксируем hover состояния navbar */
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-brand:hover,
#header .navbar-nav .nav-link:hover,
#header .navbar-nav .nav-link:focus,
#header .navbar-brand:hover {
    color: #e2e8f0 !important; /* Всегда светло-серый при hover */
}

/* Кнопка logout */
.navbar-logout-btn {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}

.navbar-logout-btn:hover {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

/* Mobile toggler */
.navbar-toggler {
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

.navbar-toggler-icon {
    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;
}

/* Dropdowns */
.dropdown-menu {
    background-color: var(--bg-primary) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 4px 6px var(--shadow) !important;
}

.dropdown-item {
    color: var(--text-primary) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--bg-secondary) !important;
    color: var(--primary-color) !important;
}

/* Modals */
.modal-content {
    background-color: var(--bg-primary) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

.modal-header {
    border-bottom: 1px solid var(--border-color) !important;
}

.modal-title {
    color: var(--text-primary) !important;
}

/* Forms */
.form-control,
.auth-input {
    background-color: var(--bg-primary) !important;
    border: 2px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

.form-control:focus,
.auth-input:focus {
    background-color: var(--bg-primary) !important;
    border-color: var(--primary-color) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.25) !important;
}

.form-label {
    color: var(--text-secondary) !important;
}

/* Hero and CTA sections maintain their gradient backgrounds */
.hero-section,
.cta-section {
    background: linear-gradient(135deg, var(--primary-color) 0%, #1E40AF 50%, var(--secondary-color) 100%) !important;
    color: var(--text-inverse) !important;
}

.hero-section *,
.cta-section * {
    color: var(--text-inverse) !important;
}

/* Footer */
.footer {
    background: linear-gradient(135deg, var(--primary-color) 0%, #1E40AF 100%) !important;
    color: var(--text-inverse) !important;
}

.footer h5,
.footer h6,
.footer p {
    color: var(--text-inverse) !important;
}

.footer a {
    color: rgba(255, 255, 255, 0.7) !important;
}

.footer a:hover {
    color: var(--text-inverse) !important;
}

/* Ensure shadows are visible in dark theme */
.shadow-sm {
    box-shadow: 0 1px 2px 0 var(--shadow) !important;
}

.shadow {
    box-shadow: 0 4px 6px -1px var(--shadow), 0 2px 4px -1px var(--shadow) !important;
}

/* Small text elements */
small {
    color: var(--text-muted) !important;
}

/* List items */
li {
    color: inherit !important;
}

/* Buttons */
.btn {
    color: inherit;
}

.btn-outline-light {
    border-color: rgba(255, 255, 255, 0.5);
    color: var(--text-inverse);
}

.btn-outline-light:hover {
    background-color: var(--text-inverse);
    color: var(--primary-color);
}

/* Special cases for sections that should have specific backgrounds */
[style*="background: var(--bg-secondary)"],
[style*="background: #f8fafc"] {
    background-color: var(--bg-secondary) !important;
}

/* Text in special colored sections */
[style*="color: #2563EB"] {
    color: var(--primary-color) !important;
}

[style*="color: #10B981"] {
    color: var(--secondary-color) !important;
}

[style*="color: #F59E0B"] {
    color: var(--accent-color) !important;
}

[style*="color: #DC2626"] {
    color: var(--danger-color) !important;
}

/* Color utility classes */
.color-primary {
    color: var(--primary-color) !important;
}

.color-secondary {
    color: var(--secondary-color) !important;
}

.color-accent {
    color: var(--accent-color) !important;
}

.color-danger {
    color: var(--danger-color) !important;
}

.icon-primary {
    color: var(--primary-color) !important;
    font-size: 3rem;
    margin-bottom: 1rem;
}

.icon-secondary {
    color: var(--secondary-color) !important;
    font-size: 3rem;
    margin-bottom: 1rem;
}

.icon-accent {
    color: var(--accent-color) !important;
    font-size: 3rem;
    margin-bottom: 1rem;
}

/* Gradient text */
.gradient-text {
    background: linear-gradient(135deg, var(--accent-color), #FBBF24);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Added reusable themed gradient header class */
.modal-header-gradient {
    background: var(--gradient-header) !important;
    color: var(--text-inverse) !important;
}

/* Info box adapts to themes */
.info-box {
    background: var(--bg-secondary) !important;
    border-radius: 8px !important;
}