/* ==========================================================================
   КРАСИВАЯ ТЁМНАЯ ТЕМА - TABOBAT.UZ
   Единая цветовая схема для всех элементов
   ========================================================================== */

/* CSS Переменные для тёмной темы */
body.dark-theme {
    --dark-bg-primary: #0d1117;
    --dark-bg-secondary: #161b22;
    --dark-bg-tertiary: #21262d;
    --dark-bg-card: #1c2128;
    --dark-border: #30363d;
    --dark-border-light: #3d444d;
    --dark-text-primary: #e6edf3;
    --dark-text-secondary: #8b949e;
    --dark-text-muted: #6e7681;
    --dark-accent: #58a6ff;
    --dark-accent-green: #3fb950;
    --dark-accent-purple: #a371f7;
    --dark-accent-orange: #f0883e;
    --dark-gradient-primary: linear-gradient(135deg, #238636 0%, #2ea043 50%, #3fb950 100%);
    --dark-gradient-accent: linear-gradient(135deg, #1f6feb 0%, #388bfd 50%, #58a6ff 100%);
    --dark-gradient-hero: linear-gradient(135deg, #0f172a 0%, #1e3a5f 45%, #1e40af 100%);
    --dark-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    --dark-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5);
    --dark-glow-green: 0 0 20px rgba(63, 185, 80, 0.3);
    --dark-glow-blue: 0 0 20px rgba(88, 166, 255, 0.3);
}

/* Основной фон */
body.dark-theme {
    background: var(--dark-bg-primary);
    background-image: 
        radial-gradient(ellipse 80% 50% at 50% -20%, rgba(31, 111, 235, 0.15), transparent),
        radial-gradient(ellipse 60% 40% at 100% 100%, rgba(139, 92, 246, 0.1), transparent);
    color: var(--dark-text-primary);
}

/* ==========================================================================
   НАВИГАЦИЯ
   ========================================================================== */
body.dark-theme .navbar {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 48%, #1e40af 100%) !important;
    border-bottom: 1px solid rgba(96, 165, 250, 0.28);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.45), 0 1px 0 rgba(147, 197, 253, 0.15);
    backdrop-filter: none;
}

body.dark-theme .navbar-brand {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .navbar .nav-link {
    color: var(--dark-text-secondary) !important;
    transition: color 0.2s ease;
}

body.dark-theme .navbar .nav-link:hover {
    color: var(--dark-text-primary) !important;
}

/* ==========================================================================
   КОНТЕЙНЕРЫ И КАРТОЧКИ
   ========================================================================== */
body.dark-theme .container.mt-4 {
    background: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    box-shadow: var(--dark-shadow);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.dark-theme .card {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
    box-shadow: var(--dark-shadow);
    color: var(--dark-text-primary);
}

body.dark-theme .card:hover {
    border-color: var(--dark-border-light);
    box-shadow: var(--dark-shadow-lg);
}

body.dark-theme .card-header {
    background: var(--dark-bg-tertiary);
    border-bottom: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .card-body {
    background: transparent;
    color: var(--dark-text-primary);
}

body.dark-theme .card-title {
    color: var(--dark-text-primary);
}

body.dark-theme .card-text {
    color: var(--dark-text-secondary);
}

/* ==========================================================================
   HERO СЕКЦИЯ
   ========================================================================== */
body.dark-theme .hero-section {
    background: var(--dark-gradient-hero);
    box-shadow: var(--dark-glow-blue);
}

/* ==========================================================================
   ТЕКСТ
   ========================================================================== */
body.dark-theme h1, 
body.dark-theme h2, 
body.dark-theme h3, 
body.dark-theme h4, 
body.dark-theme h5, 
body.dark-theme h6 {
    color: var(--dark-text-primary);
}

body.dark-theme p,
body.dark-theme span,
body.dark-theme div,
body.dark-theme label {
    color: var(--dark-text-primary);
}

body.dark-theme .text-muted {
    color: var(--dark-text-muted) !important;
}

body.dark-theme .text-secondary {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme a {
    color: var(--dark-accent);
}

body.dark-theme a:hover {
    color: #79c0ff;
}

/* ==========================================================================
   ФОРМЫ
   ========================================================================== */
body.dark-theme .form-control,
body.dark-theme .form-select,
body.dark-theme input[type="text"],
body.dark-theme input[type="email"],
body.dark-theme input[type="password"],
body.dark-theme input[type="search"],
body.dark-theme textarea {
    background: var(--dark-bg-primary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .form-control:focus,
body.dark-theme .form-select:focus,
body.dark-theme input:focus,
body.dark-theme textarea:focus {
    background: var(--dark-bg-primary);
    border-color: var(--dark-accent);
    color: var(--dark-text-primary);
    box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.15);
}

body.dark-theme .form-control::placeholder {
    color: var(--dark-text-muted);
}

body.dark-theme .form-label {
    color: var(--dark-text-primary);
}

body.dark-theme .input-group-text {
    background: var(--dark-bg-tertiary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-secondary);
}

/* ==========================================================================
   КНОПКИ
   ========================================================================== */
body.dark-theme .btn-primary,
body.dark-theme .btn-success {
    background: var(--dark-gradient-primary);
    border: none;
    box-shadow: var(--dark-glow-green);
}

body.dark-theme .btn-primary:hover,
body.dark-theme .btn-success:hover {
    background: linear-gradient(135deg, #2ea043 0%, #3fb950 100%);
    box-shadow: 0 0 30px rgba(63, 185, 80, 0.5);
}

body.dark-theme .btn-secondary {
    background: var(--dark-bg-tertiary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .btn-secondary:hover {
    background: var(--dark-border);
    border-color: var(--dark-border-light);
}

body.dark-theme .btn-outline-primary,
body.dark-theme .btn-outline-success {
    color: var(--dark-accent-green);
    border: 1px solid var(--dark-accent-green);
    background: transparent;
}

body.dark-theme .btn-outline-primary:hover,
body.dark-theme .btn-outline-success:hover {
    background: rgba(63, 185, 80, 0.15);
    color: var(--dark-accent-green);
    border-color: var(--dark-accent-green);
}

body.dark-theme .btn-light {
    background: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
    border: 1px solid var(--dark-border);
}

body.dark-theme .btn-light:hover {
    background: var(--dark-border);
}

/* ==========================================================================
   АЛЕРТЫ
   ========================================================================== */
body.dark-theme .alert-success {
    background: rgba(46, 160, 67, 0.15);
    border: 1px solid rgba(63, 185, 80, 0.4);
    border-left: 4px solid var(--dark-accent-green);
    color: #7ee787;
}

body.dark-theme .alert-danger {
    background: rgba(248, 81, 73, 0.15);
    border: 1px solid rgba(248, 81, 73, 0.4);
    border-left: 4px solid #f85149;
    color: #ffa198;
}

body.dark-theme .alert-warning {
    background: rgba(210, 153, 34, 0.15);
    border: 1px solid rgba(210, 153, 34, 0.4);
    border-left: 4px solid #d29922;
    color: #e3b341;
}

body.dark-theme .alert-info {
    background: rgba(88, 166, 255, 0.15);
    border: 1px solid rgba(88, 166, 255, 0.4);
    border-left: 4px solid var(--dark-accent);
    color: #79c0ff;
}

body.dark-theme .alert-success .alert-link,
body.dark-theme .alert-warning .alert-link,
body.dark-theme .alert-info .alert-link,
body.dark-theme .alert-danger .alert-link {
    color: #ffffff !important;
    --bs-alert-link-color: #ffffff;
    text-decoration: underline;
    font-weight: 600;
}

body.dark-theme .alert-success .alert-link:hover,
body.dark-theme .alert-warning .alert-link:hover,
body.dark-theme .alert-info .alert-link:hover,
body.dark-theme .alert-danger .alert-link:hover {
    color: #e6edf3;
}

/* Билдиришномалар */
body.dark-theme .notifications-list .notification-item {
    background: var(--dark-bg-card) !important;
    border: 1px solid var(--dark-border);
    box-shadow: var(--dark-shadow);
}

body.dark-theme .notifications-list .notification-item.unread {
    background: rgba(63, 185, 80, 0.08) !important;
    border-left-color: var(--dark-accent-green);
}

body.dark-theme .notifications-list .notification-title,
body.dark-theme .notification-title {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .notifications-list .notification-message,
body.dark-theme .notification-message {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .notifications-list .notification-time,
body.dark-theme .notification-time {
    color: var(--dark-text-muted) !important;
}

body.dark-theme .container > .row > .col-12 > .d-flex h2,
body.dark-theme .container.py-4 h2,
body.dark-theme .container .d-flex h2 {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .card-header.bg-light {
    background: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .card-header.bg-light h5,
body.dark-theme .card-header.bg-light .mb-0 {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .referral-promo-alert strong {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .referral-promo-alert .small {
    color: var(--dark-text-secondary) !important;
}

/* Светлый alert: иначе body.dark-theme div задаёт светлый цвет текста поверх светлого BS-фона */
body.dark-theme .alert-light {
    --bs-alert-color: var(--dark-text-primary);
    --bs-alert-bg: var(--dark-bg-tertiary);
    --bs-alert-border-color: var(--dark-border);
    background-color: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .alert-light strong {
    color: var(--dark-text-primary);
}

/* ==========================================================================
   ТАБЛИЦЫ
   ========================================================================== */
body.dark-theme .table {
    color: var(--dark-text-primary);
    border-color: var(--dark-border);
}

body.dark-theme .table > :not(caption) > * > * {
    background: transparent;
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .table-striped > tbody > tr:nth-of-type(odd) > * {
    background: rgba(110, 118, 129, 0.05);
}

body.dark-theme .table-hover > tbody > tr:hover > * {
    background: rgba(110, 118, 129, 0.1);
}

body.dark-theme .table thead th {
    background: var(--dark-bg-tertiary);
    border-bottom: 2px solid var(--dark-border);
}

/* ==========================================================================
   DROPDOWN МЕНЮ
   ========================================================================== */
body.dark-theme .dropdown-menu {
    background: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    box-shadow: var(--dark-shadow-lg);
}

body.dark-theme .dropdown-item {
    color: var(--dark-text-primary);
}

body.dark-theme .dropdown-item:hover,
body.dark-theme .dropdown-item:focus {
    background: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}

body.dark-theme .dropdown-divider {
    border-color: var(--dark-border);
}

/* ==========================================================================
   МОДАЛЬНЫЕ ОКНА
   ========================================================================== */
body.dark-theme .modal-content {
    background: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    box-shadow: var(--dark-shadow-lg);
}

body.dark-theme .modal-header {
    border-bottom: 1px solid var(--dark-border);
}

body.dark-theme .modal-footer {
    border-top: 1px solid var(--dark-border);
}

body.dark-theme .modal-title {
    color: var(--dark-text-primary);
}

body.dark-theme .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* ==========================================================================
   БЭЙДЖИ
   ========================================================================== */
body.dark-theme .badge {
    border: 1px solid transparent;
}

body.dark-theme .badge.bg-success,
body.dark-theme .badge-success {
    background: rgba(46, 160, 67, 0.2) !important;
    color: #7ee787;
    border-color: rgba(63, 185, 80, 0.4);
}

body.dark-theme .badge.bg-primary,
body.dark-theme .badge-primary {
    background: rgba(31, 111, 235, 0.2) !important;
    color: #79c0ff;
    border-color: rgba(88, 166, 255, 0.4);
}

body.dark-theme .badge.bg-warning {
    background: rgba(210, 153, 34, 0.2) !important;
    color: #e3b341;
    border-color: rgba(210, 153, 34, 0.4);
}

body.dark-theme .badge.bg-danger {
    background: rgba(248, 81, 73, 0.2) !important;
    color: #ffa198;
    border-color: rgba(248, 81, 73, 0.4);
}

body.dark-theme .badge.bg-secondary {
    background: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-secondary);
    border-color: var(--dark-border);
}

/* ==========================================================================
   СПИСКИ
   ========================================================================== */
body.dark-theme .list-group-item {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .list-group-item:hover {
    background: var(--dark-bg-tertiary);
}

body.dark-theme .list-group-item.active {
    background: var(--dark-accent);
    border-color: var(--dark-accent);
}

/* ==========================================================================
   ВКЛАДКИ
   ========================================================================== */
body.dark-theme .nav-tabs {
    border-bottom: 1px solid var(--dark-border);
}

body.dark-theme .nav-tabs .nav-link {
    color: var(--dark-text-secondary);
    background: transparent;
    border: 1px solid transparent;
}

body.dark-theme .nav-tabs .nav-link:hover {
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .nav-tabs .nav-link.active {
    background: var(--dark-bg-secondary);
    border-color: var(--dark-border) var(--dark-border) var(--dark-bg-secondary);
    color: var(--dark-text-primary);
}

body.dark-theme .tab-content {
    background: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    border-top: none;
}

/* ==========================================================================
   ПАГИНАЦИЯ
   ========================================================================== */
body.dark-theme .pagination .page-link {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
    color: var(--dark-accent);
}

body.dark-theme .pagination .page-link:hover {
    background: var(--dark-bg-tertiary);
    border-color: var(--dark-border-light);
}

body.dark-theme .pagination .page-item.active .page-link {
    background: var(--dark-accent);
    border-color: var(--dark-accent);
    color: white;
}

body.dark-theme .pagination .page-item.disabled .page-link {
    background: var(--dark-bg-primary);
    color: var(--dark-text-muted);
}

/* ==========================================================================
   ПОИСК
   ========================================================================== */
body.dark-theme .header-search-bar {
    background: var(--dark-bg-secondary);
    border-bottom: 1px solid var(--dark-border);
}

/* ==========================================================================
   ФУТЕР
   ========================================================================== */
body.dark-theme footer,
body.dark-theme .footer {
    background: linear-gradient(168deg, #0f172a 0%, #1e3a5f 45%, #1d4ed8 100%);
    border-top: 1px solid rgba(96, 165, 250, 0.25);
}

body.dark-theme footer h5 {
    color: #e0f2fe !important;
    border-bottom-color: rgba(147, 197, 253, 0.4) !important;
}

body.dark-theme footer a,
body.dark-theme footer .footer-link {
    color: var(--dark-text-secondary);
}

body.dark-theme footer a:hover,
body.dark-theme footer .footer-link:hover {
    color: var(--dark-accent);
}

body.dark-theme .site-footer {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 46%, #1d4ed8 100%) !important;
    border-top-color: rgba(96, 165, 250, 0.30);
}

body.dark-theme .site-footer .site-footer__top {
    background: rgba(15, 23, 42, 0.36);
    border-color: rgba(147, 197, 253, 0.26);
    box-shadow: inset 0 1px 0 rgba(147, 197, 253, 0.16);
}

body.dark-theme .site-footer .site-footer__cta {
    background: linear-gradient(145deg, #020617 0%, #0f172a 48%, #1e3a8a 100%);
    border-color: rgba(96, 165, 250, 0.32);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), 0 0 20px rgba(59, 130, 246, 0.12);
}

body.dark-theme .site-footer .site-footer__title,
body.dark-theme .site-footer .site-footer__text,
body.dark-theme .site-footer .site-footer__copyright,
body.dark-theme .site-footer .site-footer__disclaimer {
    color: rgba(255, 255, 255, 0.94) !important;
}

body.dark-theme .site-footer .site-footer__cta .site-footer__title,
body.dark-theme .site-footer .site-footer__cta .site-footer__text {
    color: rgba(255, 255, 255, 0.96) !important;
}

body.dark-theme .site-footer .footer-link {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .site-footer .footer-link:hover {
    color: #fff !important;
    background: rgba(147, 197, 253, 0.16);
}

body.dark-theme .site-footer .site-footer__btn.btn-light {
    background: rgba(255, 255, 255, 0.95);
    color: #0f172a !important;
    border-color: transparent;
}

body.dark-theme .site-footer .site-footer__btn.btn-outline-light {
    color: var(--dark-text-primary);
    border-color: rgba(147, 197, 253, 0.5);
    background: rgba(147, 197, 253, 0.12);
}

body.dark-theme .site-footer .site-footer__divider {
    border-color: rgba(147, 197, 253, 0.26);
}

/* ==========================================================================
   СКЕЛЕТОН ЗАГРУЗКИ
   ========================================================================== */
body.dark-theme .skeleton {
    background: linear-gradient(90deg, var(--dark-bg-tertiary) 25%, var(--dark-border) 50%, var(--dark-bg-tertiary) 75%);
    background-size: 200% 100%;
}

/* ==========================================================================
   ТОСТЫ И УВЕДОМЛЕНИЯ
   ========================================================================== */
body.dark-theme .toast {
    background: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .notification {
    background: var(--dark-bg-secondary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

/* ==========================================================================
   ПРОЧИЕ ЭЛЕМЕНТЫ
   ========================================================================== */
body.dark-theme .bg-light {
    background: var(--dark-bg-tertiary) !important;
}

body.dark-theme .bg-white {
    background: var(--dark-bg-secondary) !important;
}

body.dark-theme .border {
    border-color: var(--dark-border) !important;
}

body.dark-theme .border-bottom {
    border-color: var(--dark-border) !important;
}

body.dark-theme hr {
    border-color: var(--dark-border);
    opacity: 1;
}

body.dark-theme .shadow,
body.dark-theme .shadow-sm,
body.dark-theme .shadow-lg {
    box-shadow: var(--dark-shadow) !important;
}

body.dark-theme .feature-box {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
}

body.dark-theme .stat-card {
    background: var(--dark-gradient-primary);
}

/* Блоки из pages.css (заголовки разделов, контент) */
body.dark-theme .section-title {
    color: var(--dark-text-primary);
    border-bottom-color: var(--dark-accent-green);
}
body.dark-theme .content-nav,
body.dark-theme .content-body {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}
body.dark-theme .content-nav .nav-link {
    color: var(--dark-text-secondary);
}
body.dark-theme .content-nav .nav-link:hover,
body.dark-theme .content-nav .nav-link.active {
    color: var(--dark-text-primary);
}
body.dark-theme .content-body h3 {
    color: var(--dark-text-primary);
}
body.dark-theme .feature-card {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

/* Главная: яркие карточки — сохраняем насыщенный фон и белый текст в тёмной теме */
body.dark-theme .home-feature-card.card {
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    color: #fff !important;
}

body.dark-theme .home-feature-card--sina {
    background: linear-gradient(145deg, #064e3b 0%, #059669 50%, #10b981 100%) !important;
    box-shadow: 0 16px 40px rgba(16, 185, 129, 0.42), var(--dark-glow-green) !important;
}

body.dark-theme .home-feature-card--phyto {
    background: linear-gradient(145deg, #0c4a6e 0%, #0284c7 50%, #0ea5e9 100%) !important;
    box-shadow: 0 16px 40px rgba(14, 165, 233, 0.42), var(--dark-glow-blue) !important;
}

body.dark-theme .home-feature-card--onco {
    background: linear-gradient(145deg, #9a3412 0%, #ea580c 50%, #f97316 100%) !important;
    box-shadow: 0 16px 40px rgba(249, 115, 22, 0.42), 0 0 22px rgba(251, 146, 60, 0.28) !important;
}

body.dark-theme .home-feature-card--mizaj {
    background: linear-gradient(145deg, #4c1d95 0%, #6d28d9 50%, #8b5cf6 100%) !important;
    box-shadow: 0 16px 40px rgba(139, 92, 246, 0.42), 0 0 22px rgba(167, 139, 250, 0.28) !important;
}

body.dark-theme .home-feature-card--survey {
    background: linear-gradient(145deg, #134e4a 0%, #0f766e 50%, #14b8a6 100%) !important;
    box-shadow: 0 16px 40px rgba(20, 184, 166, 0.42), 0 0 22px rgba(45, 212, 191, 0.28) !important;
}

body.dark-theme .home-feature-card--shop {
    background: linear-gradient(145deg, #92400e 0%, #d97706 50%, #f59e0b 100%) !important;
    box-shadow: 0 16px 40px rgba(217, 119, 6, 0.42), 0 0 22px rgba(251, 191, 36, 0.28) !important;
}

body.dark-theme .home-feature-card--books {
    background: linear-gradient(145deg, #1e3a8a 0%, #2563eb 50%, #3b82f6 100%) !important;
    box-shadow: 0 16px 40px rgba(59, 130, 246, 0.42), 0 0 22px rgba(96, 165, 250, 0.28) !important;
}

body.dark-theme .home-feature-card .card-body,
body.dark-theme .home-feature-card .card-title,
body.dark-theme .home-feature-card .card-text,
body.dark-theme .home-feature-card__desc,
body.dark-theme .home-feature-card p {
    color: rgba(255, 255, 255, 0.96) !important;
}

body.dark-theme .home-feature-card .icon-wrapper,
body.dark-theme .home-feature-card .icon-wrapper i {
    color: #fff !important;
}

body.dark-theme .home-feature-card .home-feature-btn {
    background: #fff !important;
}

body.dark-theme .home-feature-card--sina .home-feature-btn { color: #065f46 !important; }
body.dark-theme .home-feature-card--phyto .home-feature-btn { color: #0c4a6e !important; }
body.dark-theme .home-feature-card--onco .home-feature-btn { color: #9a3412 !important; }
body.dark-theme .home-feature-card--mizaj .home-feature-btn { color: #4c1d95 !important; }
body.dark-theme .home-feature-card--survey .home-feature-btn { color: #134e4a !important; }
body.dark-theme .home-feature-card--shop .home-feature-btn { color: #92400e !important; }
body.dark-theme .home-feature-card--books .home-feature-btn { color: #1e3a8a !important; }

body.dark-theme .home-feature-card:hover {
    border-color: rgba(255, 255, 255, 0.28) !important;
}

body.dark-theme .home-secondary-card.card {
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    color: #fff !important;
}

body.dark-theme .home-secondary-card--consult {
    background: linear-gradient(145deg, #4c1d95 0%, #6d28d9 50%, #7c3aed 100%) !important;
    box-shadow: 0 16px 40px rgba(124, 58, 237, 0.45), 0 0 22px rgba(167, 139, 250, 0.28) !important;
}

body.dark-theme .home-secondary-card--forum {
    background: linear-gradient(145deg, #581c87 0%, #7e22ce 50%, #9333ea 100%) !important;
    box-shadow: 0 16px 40px rgba(147, 51, 234, 0.45), 0 0 22px rgba(192, 132, 252, 0.28) !important;
}

body.dark-theme .home-secondary-card .card-body,
body.dark-theme .home-secondary-card .card-title,
body.dark-theme .home-secondary-card .card-text,
body.dark-theme .home-secondary-card__desc,
body.dark-theme .home-secondary-card p {
    color: rgba(255, 255, 255, 0.96) !important;
}

body.dark-theme .home-secondary-card .icon-wrapper-small,
body.dark-theme .home-secondary-card .icon-wrapper-small i {
    color: #fff !important;
}

body.dark-theme .home-secondary-card .home-secondary-btn {
    background: #fff !important;
    color: #4c1d95 !important;
}

body.dark-theme .home-secondary-card .home-secondary-btn:hover {
    color: #3b0764 !important;
}

body.dark-theme .mizaj-card {
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}
body.dark-theme .mizaj-card--howto {
    background: linear-gradient(145deg, #064e3b 0%, #065f46 55%, #047857 100%);
    border-color: rgba(52, 211, 153, 0.25);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
}
body.dark-theme .mizaj-card--howto .mizaj-section-title { color: #ecfdf5 !important; }
body.dark-theme .mizaj-card--howto .mizaj-steps { color: #a7f3d0; }

body.dark-theme .mizaj-card--methods {
    background: linear-gradient(145deg, #78350f 0%, #92400e 55%, #b45309 100%);
    border-color: rgba(251, 191, 36, 0.25);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
}
body.dark-theme .mizaj-card--methods .mizaj-section-title { color: #fef3c7 !important; }
body.dark-theme .mizaj-card--methods .mizaj-muted { color: #fde68a; }
body.dark-theme .mizaj-card--methods .mizaj-table th {
    background: rgba(0, 0, 0, 0.2);
    color: #fef3c7;
}
body.dark-theme .mizaj-card--methods .mizaj-table td { color: #fffbeb; border-color: rgba(255, 255, 255, 0.12); }
body.dark-theme .mizaj-card--methods code {
    background: rgba(0, 0, 0, 0.25);
    color: #fde68a;
}

body.dark-theme .mizaj-card--form {
    background: linear-gradient(145deg, #4c1d95 0%, #5b21b6 55%, #6d28d9 100%);
    border-color: rgba(167, 139, 250, 0.25);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
}
body.dark-theme .mizaj-card--form .form-label { color: #ede9fe; }
body.dark-theme .mizaj-card--form .form-control,
body.dark-theme .mizaj-card--form .form-select {
    background: rgba(15, 23, 42, 0.55);
    border-color: rgba(167, 139, 250, 0.35);
    color: var(--dark-text-primary);
}
body.dark-theme .mizaj-card--form .mizaj-kb-hint { color: #ddd6fe; }

body.dark-theme .mizaj-card--result {
    background: var(--dark-bg-card);
    border-color: var(--dark-border);
}
body.dark-theme .mizaj-card--actions {
    background: linear-gradient(145deg, #1e3a8a 0%, #1d4ed8 100%);
    border-color: rgba(96, 165, 250, 0.3);
}

body.dark-theme .mizaj-result-panel--innate {
    background: linear-gradient(145deg, #7c2d12 0%, #9a3412 100%);
    border-color: rgba(251, 146, 60, 0.3);
}
body.dark-theme .mizaj-result-panel--innate .mizaj-result-title { color: #ffedd5 !important; }

body.dark-theme .mizaj-result-panel--natural {
    background: linear-gradient(145deg, #1e3a8a 0%, #1d4ed8 100%);
    border-color: rgba(96, 165, 250, 0.3);
}
body.dark-theme .mizaj-result-panel--natural .mizaj-result-title { color: #dbeafe !important; }

body.dark-theme .mizaj-result-panel--acquired {
    background: linear-gradient(145deg, #14532d 0%, #166534 100%);
    border-color: rgba(74, 222, 128, 0.3);
}
body.dark-theme .mizaj-result-panel--acquired .mizaj-result-title { color: #dcfce7 !important; }

body.dark-theme .mizaj-result-panel--damaged {
    background: linear-gradient(145deg, #581c87 0%, #6b21a8 100%);
    border-color: rgba(192, 132, 252, 0.3);
}
body.dark-theme .mizaj-result-panel--damaged .mizaj-result-title { color: #f3e8ff !important; }

body.dark-theme .mizaj-result-panel .mizaj-muted,
body.dark-theme .mizaj-result-panel p,
body.dark-theme .mizaj-result-panel strong { color: rgba(255, 255, 255, 0.88); }
body.dark-theme .mizaj-result-panel code {
    background: rgba(0, 0, 0, 0.25);
    color: #f8fafc;
}
body.dark-theme .mizaj-result-panel .mizaj-table th {
    background: rgba(0, 0, 0, 0.2);
    color: var(--dark-text-primary);
}
body.dark-theme .mizaj-result-panel .mizaj-table td {
    color: var(--dark-text-secondary);
    border-color: rgba(255, 255, 255, 0.1);
}

body.dark-theme .mizaj-section-title,
body.dark-theme .mizaj-result-heading {
    color: var(--dark-text-primary) !important;
}
body.dark-theme .mizaj-steps,
body.dark-theme .mizaj-muted,
body.dark-theme .mizaj-table {
    color: var(--dark-text-secondary);
}
body.dark-theme .mizaj-table th {
    background: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}
body.dark-theme .mizaj-table td {
    color: var(--dark-text-secondary);
    border-color: var(--dark-border);
}
body.dark-theme .mizaj-kb-key {
    background: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}
body.dark-theme .mizaj-code {
    background: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}
body.dark-theme .mizaj-abjad-chip {
    background: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
}

body.dark-theme .doctor-card {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
}

body.dark-theme .progress-modern {
    background: var(--dark-bg-tertiary);
}

body.dark-theme blockquote {
    border-left-color: var(--dark-accent);
    background: var(--dark-bg-tertiary);
}

body.dark-theme code {
    background: var(--dark-bg-tertiary);
    color: #f97583;
}

body.dark-theme pre {
    background: var(--dark-bg-primary);
    border: 1px solid var(--dark-border);
}

/* ==========================================================================
   КНОПКА ПЕРЕКЛЮЧЕНИЯ ТЕМЫ
   ========================================================================== */
body.dark-theme #themeToggle {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(147, 197, 253, 0.4) !important;
    box-shadow: none;
}

body.dark-theme #themeToggle:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

/* ==========================================================================
   ПОСЛЕ WELLNESS / INLINE: высокая специфичность
   ========================================================================== */

/* Подзаголовки под названиями в hero — белые (перебивают .container.mt-4 .lead ниже) */
body.dark-theme .container.mt-4 .section-hero .lead,
body.dark-theme .container.mt-4 .section-hero .opacity-75,
body.dark-theme .container.mt-4 .hero-section .lead,
body.dark-theme .container.mt-4 .hero-section .hero-subtitle,
body.dark-theme .container.mt-4 .survey-hero .survey-hero__text,
body.dark-theme .container.mt-4 .result-hero .result-hero__complaint {
    color: rgba(255, 255, 255, 0.96) !important;
}

body.dark-theme .container.mt-4 .text-muted {
    color: var(--dark-text-muted) !important;
}

body.dark-theme .container.mt-4 .lead {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .container.mt-4 h1,
body.dark-theme .container.mt-4 .display-3,
body.dark-theme .container.mt-4 .section-title {
    color: var(--dark-text-primary) !important;
}

/* Заголовки на цветном hero — остаются светлыми (правило выше их затемняло) */
body.dark-theme .container.mt-4 .hero-section h1,
body.dark-theme .container.mt-4 .hero-section .display-3,
body.dark-theme .container.mt-4 .hero-section .display-5,
body.dark-theme .container.mt-4 .hero-section .hero-title,
body.dark-theme .container.mt-4 .section-hero h1,
body.dark-theme .container.mt-4 .section-hero .display-5 {
    color: rgba(255, 255, 255, 0.98) !important;
}

/* Ибн Сино — боковое меню: inline #topicsList … color #111827 !important */
body.dark-theme #topicsList .list-group-item,
body.dark-theme #topicsList .list-group-item-action {
    color: var(--dark-text-primary) !important;
}

body.dark-theme #topicsList .menu-item.active,
body.dark-theme #topicsList .menu-item.active i {
    color: var(--dark-accent-green) !important;
}

body.dark-theme #content-panel .accordion-button,
body.dark-theme #content-panel .accordion-body {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .topic-accordion .accordion-button {
    background-color: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .topic-accordion .accordion-button:not(.collapsed) {
    background-color: rgba(63, 185, 80, 0.12) !important;
    color: var(--dark-accent-green) !important;
}

body.dark-theme .topic-accordion .accordion-body {
    background-color: var(--dark-bg-secondary) !important;
    border-top-color: var(--dark-border) !important;
}

body.dark-theme .topic-content-text,
body.dark-theme .topic-content-text p,
body.dark-theme .topic-content-text li,
body.dark-theme .topic-content-text span,
body.dark-theme .topic-content-text div,
body.dark-theme .topic-content-text td,
body.dark-theme .topic-content-text th {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .topic-content-text a {
    color: var(--dark-accent) !important;
}

body.dark-theme .topic-content-text h1,
body.dark-theme .topic-content-text h2,
body.dark-theme .topic-content-text h3,
body.dark-theme .topic-content-text h4,
body.dark-theme .topic-content-text h5 {
    color: var(--dark-accent-green) !important;
}

body.dark-theme .no-topics {
    color: var(--dark-text-muted) !important;
}

/* Doctors list cards (/doctors) */
body.dark-theme #doctors-list .card-modern,
body.dark-theme #doctors-list .card-modern .card-body {
    color: var(--dark-text-primary) !important;
}

body.dark-theme #doctors-list .card-modern .card-title,
body.dark-theme #doctors-list .card-modern h5,
body.dark-theme #doctors-list .card-modern p,
body.dark-theme #doctors-list .card-modern span,
body.dark-theme #doctors-list .card-modern small {
    color: inherit;
}

body.dark-theme #doctors-list .card-modern .text-muted {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme #doctors-list .card-modern .text-primary {
    color: #7cc7ff !important;
}

body.dark-theme #doctors-list .certificate-col {
    background: linear-gradient(135deg, #1b2230, #141b27) !important;
}

body.dark-theme #doctors-list .no-certificate {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme #doctors-list .certificate-link {
    border-color: #2f3a4e;
}

/* Видео алоқа: қаторлар bg-light ичида матн ўқимли бўлсин */
body.dark-theme .card .bg-light.rounded {
    background-color: #334155 !important;
    color: #f1f5f9;
}

body.dark-theme .card .bg-light.rounded .text-muted {
    color: #cbd5e1 !important;
}

body.dark-theme .card .bg-light.rounded h6 {
    color: #f8fafc;
}

/* ── Тўлов (payment/checkout) ── */
body.dark-theme .payment-checkout-page .card-body > h5,
body.dark-theme .payment-checkout-page .card-body > h6 {
    color: var(--dark-text-primary);
}

body.dark-theme .payment-checkout-page .bg-light.rounded {
    background: #334155 !important;
    border: 1px solid #475569;
    color: #f1f5f9;
}

body.dark-theme .payment-checkout-page .bg-light.rounded .text-muted {
    color: #cbd5e1 !important;
}

body.dark-theme .payment-checkout-page .payment-method-item .form-check-label {
    border-color: #475569 !important;
    background: #1e293b;
    color: #e2e8f0;
}

body.dark-theme .payment-checkout-page .border-primary,
body.dark-theme .payment-checkout-page .border-success {
    border-color: #475569 !important;
}

body.dark-theme .payment-checkout-page .card.border-primary .card-body,
body.dark-theme .payment-checkout-page .card.border-success .card-body {
    background: #0f172a;
    color: #e2e8f0;
}

body.dark-theme .payment-checkout-page .font-monospace.text-primary {
    color: #7cc7ff !important;
}

body.dark-theme .payment-checkout-page .font-monospace.text-success {
    color: #6ee7b7 !important;
}

/* ── Видео-сессия (online_consultation/session) ── */
body.dark-theme .oc-video-session #chat-messages {
    background: #0f172a !important;
    color: #e2e8f0;
}

body.dark-theme .oc-video-session #chat-container .border-top {
    border-color: #334155 !important;
    background: #1e293b;
}

body.dark-theme .oc-video-session #chat-container #chat-input {
    background: #0f172a;
    border-color: #475569;
    color: #e2e8f0;
}

body.dark-theme .oc-video-session #chat-container .bg-white.border {
    background: #1e293b !important;
    border-color: #475569 !important;
    color: #f1f5f9;
}

body.dark-theme .oc-video-session #chat-container .bg-white.border .text-primary {
    color: #7cc7ff !important;
}

body.dark-theme .oc-video-session #remote-placeholder .text-muted,
body.dark-theme .oc-video-session #video-status-sub {
    color: #cbd5e1 !important;
}

body.dark-theme .oc-video-session .card.shadow:not(#video-container):not(#chat-container) .card-body {
    color: var(--dark-text-primary);
}

body.dark-theme .oc-video-session .card.shadow:not(#video-container):not(#chat-container) .text-muted {
    color: var(--dark-text-secondary) !important;
}

/* ── Сўровнома / натижа (patient-survey): оқ карточкалар + глобал label/div ранги ── */
body.dark-theme .survey-wrap .survey-step {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
    border-left: 4px solid var(--dark-accent-green);
    color: var(--dark-text-primary);
    box-shadow: var(--dark-shadow);
}

body.dark-theme .survey-wrap .survey-step__title {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .survey-wrap .symptom-chip,
body.dark-theme .survey-wrap .contra-chip {
    background: var(--dark-bg-tertiary);
    border-color: var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .survey-wrap .symptom-chip:hover {
    border-color: var(--dark-accent-green);
    color: var(--dark-accent-green);
}

body.dark-theme .survey-wrap .contra-chip:hover {
    border-color: var(--dark-accent-orange);
    color: var(--dark-accent-orange);
}

body.dark-theme .survey-wrap .symptom-chip.selected {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

body.dark-theme .survey-wrap .contra-chip.selected {
    background: var(--danger);
    color: #fff;
    border-color: var(--danger);
}

/* Невыбранные опции; выбранные — .survey-option-selected в pages.css */
body.dark-theme .survey-wrap label.duration-btn:not(.survey-option-selected),
body.dark-theme .survey-wrap label.gender-btn:not(.survey-option-selected) {
    background: var(--dark-bg-tertiary);
    color: var(--dark-text-primary);
}

body.dark-theme .survey-wrap .survey-hint {
    font-size: 13px;
    color: var(--dark-text-secondary);
}

body.dark-theme .survey-wrap .survey-hint--muted {
    color: var(--dark-text-muted);
}

body.dark-theme .result-wrap {
    color: var(--dark-text-primary);
}

body.dark-theme .result-wrap .result-section {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .result-wrap .result-section__title {
    color: var(--dark-text-primary);
    border-bottom-color: var(--dark-border);
}

body.dark-theme .result-wrap .warning-box {
    background: rgba(240, 136, 62, 0.14);
    border: 1px solid rgba(240, 136, 62, 0.45);
    border-radius: 12px;
    padding: 14px 16px;
    color: var(--dark-text-primary);
}

body.dark-theme .result-wrap .empty-result {
    text-align: center;
    padding: 1.5rem 1rem;
    color: var(--dark-text-primary);
}

body.dark-theme .result-wrap .plan-block {
    background: var(--dark-bg-tertiary) !important;
    border-left-color: var(--dark-accent-green) !important;
    color: var(--dark-text-primary);
}

body.dark-theme .result-wrap .plan-item__name,
body.dark-theme .result-wrap .plan-item__how {
    color: var(--dark-text-primary);
}

body.dark-theme .result-wrap .plan-item__how[style*="color:#1565c0"] {
    color: var(--dark-accent) !important;
}

body.dark-theme .result-wrap .plan-item__name span[style*="color:#888"] {
    color: var(--dark-text-muted) !important;
}

body.dark-theme .result-wrap [style*="background:#e8f5e9"] {
    background: rgba(63, 185, 80, 0.12) !important;
    color: var(--dark-text-primary) !important;
    border-color: var(--dark-border);
}

body.dark-theme .result-wrap [style*="background:#fff3e0"] {
    background: rgba(240, 136, 62, 0.12) !important;
    color: #ffccbc !important;
}

body.dark-theme .result-wrap [style*="background:#f0f4ff"],
body.dark-theme .result-wrap [style*="background:#f0f8ff"] {
    background: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
}

body.dark-theme .result-wrap [style*="background:#f8f9fa"] {
    background: var(--dark-bg-tertiary) !important;
    color: var(--dark-text-primary) !important;
    border-left-color: var(--dark-accent-green) !important;
}

body.dark-theme .result-wrap .herb-card,
body.dark-theme .result-wrap .recipe-card,
body.dark-theme .result-wrap .product-card {
    background: var(--dark-bg-tertiary);
    border: 1px solid var(--dark-border);
    color: var(--dark-text-primary);
}

body.dark-theme .result-wrap .herb-card__name,
body.dark-theme .result-wrap .recipe-card__title,
body.dark-theme .result-wrap .product-card__name {
    color: var(--dark-text-primary);
}

body.dark-theme .result-wrap .herb-card__latin {
    color: var(--dark-text-muted);
}

body.dark-theme .result-wrap .herb-card__how,
body.dark-theme .result-wrap .recipe-card__ingredients,
body.dark-theme .result-wrap .recipe-card__how {
    color: var(--dark-text-secondary);
}

body.dark-theme .result-wrap [style*="color:#555"] {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .result-wrap [style*="color:#444"] {
    color: var(--dark-text-secondary) !important;
}

body.dark-theme .result-wrap [style*="color:#888"] {
    color: var(--dark-text-muted) !important;
}

body.dark-theme .result-wrap [style*="color:#1a3a2a"] {
    color: var(--dark-text-primary) !important;
}

body.dark-theme .result-wrap a[style*="color:#1a3a2a"] {
    color: var(--dark-accent-green) !important;
}

body.dark-theme .result-wrap [style*="border:1px solid #e9ecef"] {
    border-color: var(--dark-border) !important;
    background: var(--dark-bg-tertiary) !important;
}

body.dark-theme .result-wrap [style*="border:1px solid #e8f5e9"] {
    border-color: var(--dark-border) !important;
    background: var(--dark-bg-tertiary) !important;
}

/* ── Дўкон (shop-modern) ── */
body.dark-theme .shop-store {
    --shop-ink: var(--dark-text-primary);
    --shop-muted: var(--dark-text-secondary);
    --shop-card: var(--dark-bg-card);
}

body.dark-theme .shop-page-head__title,
body.dark-theme .shop-section__title,
body.dark-theme .shop-cat-tile__name,
body.dark-theme .shop-pcard__title a {
    color: var(--dark-text-primary);
}

body.dark-theme .shop-page-head__lead,
body.dark-theme .shop-section__sub,
body.dark-theme .shop-pcard__excerpt,
body.dark-theme .shop-cat-tile__desc {
    color: var(--dark-text-secondary);
}

body.dark-theme .shop-cat-tile,
body.dark-theme .shop-pcard,
body.dark-theme .shop-cart-row,
body.dark-theme .shop-summary.card,
body.dark-theme .shop-checkout-card,
body.dark-theme .shop-success-card,
body.dark-theme .shop-tabs .card {
    background: var(--dark-bg-card);
    border-color: var(--dark-border);
    box-shadow: var(--dark-shadow);
}

body.dark-theme .shop-cat-tile:hover,
body.dark-theme .shop-pcard:hover {
    box-shadow: var(--dark-shadow-lg);
}

body.dark-theme .shop-cat-tile__visual {
    background: linear-gradient(145deg, rgba(63, 185, 80, 0.15), rgba(88, 166, 255, 0.1));
}

body.dark-theme .shop-pcard__media,
body.dark-theme .shop-pdetail-media__placeholder,
body.dark-theme .shop-cart-row__img {
    background: var(--dark-bg-tertiary);
}

body.dark-theme .shop-pcard__price {
    color: var(--dark-accent-green);
}

body.dark-theme .shop-hscroll__nav {
    background: var(--dark-bg-card);
    border-color: var(--dark-border);
    color: var(--dark-accent-green);
}

body.dark-theme .shop-hscroll__nav:hover {
    background: var(--dark-bg-tertiary);
}

body.dark-theme .shop-trust {
    background: var(--dark-bg-secondary);
    border-color: var(--dark-border);
}

body.dark-theme .shop-tabs .nav-tabs .nav-link.active {
    background: var(--dark-bg-tertiary);
    color: var(--dark-accent-green);
}

body.dark-theme .shop-prose {
    color: var(--dark-text-primary);
}

body.dark-theme .shop-delivery-option,
body.dark-theme .shop-pay-option {
    background: var(--dark-bg-tertiary);
    border-color: var(--dark-border) !important;
}

body.dark-theme .shop-empty {
    background: var(--dark-bg-card);
    border: 1px solid var(--dark-border);
}

body.dark-theme .navbar .shop-cart-badge,
body.dark-theme .navbar .favorites-nav-badge {
    box-shadow: 0 0 0 2px var(--dark-bg-secondary);
}

/* ==========================================================================
   ПЛАВНЫЕ ПЕРЕХОДЫ
   ========================================================================== */
body, 
.navbar, 
.card, 
.container,
.form-control, 
.btn, 
.alert, 
.table, 
.dropdown-menu, 
.modal-content,
.list-group-item,
.badge,
footer {
    transition: background-color 0.3s ease, 
                color 0.3s ease, 
                border-color 0.3s ease,
                box-shadow 0.3s ease;
}
