/* Тёмная тема – применяется при классе dark-mode на body */
body.dark-mode {
    background-color: #121212;
    color: #e0e0e0;
}

body.dark-mode .bg-white,
body.dark-mode .calculator-card,
body.dark-mode .form-card,
body.dark-mode .card,
body.dark-mode .navbar.bg-white {
    background-color: #1e1e1e !important;
    color: #e0e0e0;
}

body.dark-mode .site-header {
    background-color: #1e1e1e !important;
    border-bottom-color: #333 !important;
}

body.dark-mode .navbar.bg-white .nav-link,
body.dark-mode .logo-text {
    color: #e0e0e0 !important;
}

body.dark-mode .navbar.bg-white .nav-link:hover {
    color: #90caf9 !important;
}

body.dark-mode .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.3) !important;
}

body.dark-mode .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='rgba%28255,255,255,0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

body.dark-mode .navbar-toggler:focus {
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,0.25);
}

body.dark-mode .navbar-collapse {
    background-color: #1e1e1e;
    border-radius: 0.5rem;
    margin-top: 0.5rem;
}

body.dark-mode .navbar-nav .nav-link {
    color: #e0e0e0 !important;
}

body.dark-mode .navbar-nav .nav-link:hover {
    color: #90caf9 !important;
}

body.dark-mode .btn-outline-primary {
    color: #90caf9;
    border-color: #90caf9;
}

body.dark-mode .btn-outline-primary:hover {
    background-color: #90caf9;
    color: #121212;
}

body.dark-mode .bg-light {
    background-color: #1a1a1a !important;
}

body.dark-mode .text-secondary {
    color: #b0b0b0 !important;
}

body.dark-mode .border-bottom,
body.dark-mode .border-top,
body.dark-mode .border-secondary {
    border-color: #333 !important;
}

body.dark-mode .card.bg-light {
    background-color: #2c2c2c !important;
}

body.dark-mode .text-muted {
    color: #9e9e9e !important;
}

body.dark-mode .form-control,
body.dark-mode .form-select {
    background-color: #2c2c2c;
    border-color: #444;
    color: #e0e0e0;
}

body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
    background-color: #2c2c2c;
    color: #e0e0e0;
    border-color: #0d6efd;
}

body.dark-mode .form-check-label {
    color: #e0e0e0;
}

body.dark-mode footer.bg-dark {
    background-color: #0a0a0a !important;
}

body.dark-mode hr.bg-white {
    background-color: #444 !important;
}

/* ========== МОДАЛЬНЫЕ ОКНА В ТЁМНОЙ ТЕМЕ ========== */
body.dark-mode .modal-content {
    background-color: #1e1e1e !important;
    color: #e0e0e0;
    border-color: #444;
}

body.dark-mode .modal-header {
    border-bottom-color: #444;
}

body.dark-mode .modal-header .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

body.dark-mode .modal-footer {
    border-top-color: #444;
}

body.dark-mode .modal-body .form-card {
    background-color: transparent !important;
    box-shadow: none;
    padding: 0;
}

body.dark-mode .modal-body .form-card .form-control {
    background-color: #2c2c2c;
    border-color: #555;
    color: #e0e0e0;
}

body.dark-mode .modal-body .form-card .form-control:focus {
    background-color: #2c2c2c;
    border-color: #0d6efd;
}

body.dark-mode .modal-body .form-card .btn-primary {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

body.dark-mode .modal-body .form-card .btn-primary:hover {
    background-color: #0b5ed7;
}

/* ========== HERO-БЛОК В ТЁМНОЙ ТЕМЕ ========== */
body.dark-mode .hero-animated {
    background: #1e4a7a;
    animation: subtleThemeDark 15s ease-in-out infinite;
}

@keyframes subtleThemeDark {
    0% { background: #1e4a7a; }
    50% { background: #15406b; }
    100% { background: #1e4a7a; }
}

body.dark-mode .hero-animated .circle-big {
    background: rgba(255, 255, 255, 0.06);
}
body.dark-mode .hero-animated .oval {
    background: rgba(255, 255, 255, 0.05);
}
body.dark-mode .hero-animated .square-big {
    background: rgba(255, 255, 255, 0.04);
}
body.dark-mode .hero-animated .binary {
    color: rgba(255, 255, 255, 0.08);
}

/* ========== КНОПКА "НАВЕРХ" В ТЁМНОЙ ТЕМЕ ========== */
body.dark-mode .scroll-to-top {
    background-color: #1e4a7a;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
body.dark-mode .scroll-to-top:hover {
    background-color: #15406b;
}

/* ========== ПЕРЕКЛЮЧАТЕЛЬ ТЕМЫ В ТЁМНОЙ ТЕМЕ ========== */
body.dark-mode .theme-switcher {
    background-color: #2c2c2c;
    color: #e0e0e0;
}
body.dark-mode .theme-switcher:hover {
    background-color: #3a3a3a;
}

/* ========== УБИРАЕМ АУРУ У КНОПОК В ТЁМНОЙ ТЕМЕ ========== */
body.dark-mode .navbar-toggler:focus,
body.dark-mode .navbar-toggler:active,
body.dark-mode .navbar-toggler:focus-visible {
    outline: none;
    box-shadow: none;
    border-color: transparent;
}

body.dark-mode .theme-switcher:focus,
body.dark-mode .theme-switcher:active,
body.dark-mode .theme-switcher:focus-visible {
    outline: none;
    box-shadow: none;
}