/* =========================================
   DARK MODE TOGGLE BUTTON
   ========================================= */
.dark-mode-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1.5px solid #e2e8f0;
    background: #f8fafc;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, transform 0.15s;
    color: #64748b;
    flex-shrink: 0;
}
.dark-mode-toggle:hover {
    background: #f1f5f9;
    border-color: #cbd5e1;
    transform: scale(1.05);
    color: #f59e0b;
}

/* Sun shown only in dark, moon shown only in light */
.dm-sun { display: none; }
.dm-moon { display: block; }

html.dark .dm-sun { display: block; }
html.dark .dm-moon { display: none; }

html.dark .dark-mode-toggle {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.12);
    color: #94a3b8;
}
html.dark .dark-mode-toggle:hover {
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.2);
    color: #fbbf24;
}

/* =========================================
   DARK MODE — GLOBAL / BODY
   ========================================= */
html.dark body {
    background-color: #050505;
    color: #c0c5ce;
}

/* =========================================
   DARK MODE — NAVBAR (styles.css)
   ========================================= */
html.dark .navbar {
    background: #111111;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

html.dark .logo { color: #c0c5ce; }
html.dark .logo .brand-oposiciones { color: #22d3ee; }
html.dark .logo .brand-ia { color: #67e8f9; }

html.dark .nav-links a {
    color: #94a3b8;
}
html.dark .nav-links a:hover {
    background: rgba(255,255,255,0.06);
    color: #c0c5ce;
}
html.dark .nav-link-active {
    color: #22d3ee !important;
    background: rgba(12,132,160,0.12) !important;
}
html.dark .nav-link-special { color: #94a3b8; }

html.dark .btn-nav-primary {
    background: #0c84a0;
}
html.dark .btn-nav-primary:hover {
    background: #0a6f86;
}

/* Dropdown */
html.dark .nav-dropdown-menu {
    background: #111111;
    border-color: rgba(255,255,255,0.1);
    box-shadow: 0 10px 40px rgba(0,0,0,0.4);
}
html.dark .dropdown-item { color: #a8adb5; }
html.dark .dropdown-item:hover { background: rgba(255,255,255,0.06); }
html.dark .dropdown-item-header { color: #c0c5ce; }
html.dark .dropdown-divider { background: rgba(255,255,255,0.08); }
html.dark .dropdown-badge-active { background: rgba(22,163,74,0.15); color: #4ade80; }
html.dark .dropdown-badge-soon { background: rgba(255,255,255,0.06); color: #64748b; }

/* Hamburger */
html.dark .hamburger:hover { background: rgba(255,255,255,0.06); }
html.dark .hamburger span { background: #94a3b8; }

/* =========================================
   DARK MODE — SIDEBAR (Mobile)
   ========================================= */
html.dark .sidebar {
    background: #111111;
    box-shadow: -4px 0 20px rgba(0,0,0,0.4);
}
html.dark .sidebar-header { border-bottom-color: rgba(255,255,255,0.08); }
html.dark .sidebar-close { color: #94a3b8; }
html.dark .sidebar-close:hover { background: rgba(255,255,255,0.06); color: #c0c5ce; }

html.dark .sidebar-link { color: #a8adb5; }
html.dark .sidebar-link:hover { background: rgba(255,255,255,0.06); }
html.dark .sidebar-link i:first-child,
html.dark .sidebar-link span i:first-child { color: #64748b; }
html.dark .sidebar-chevron { color: #64748b; }

html.dark .sidebar-sublink { color: #94a3b8; }
html.dark .sidebar-sublink:hover { background: rgba(255,255,255,0.06); }
html.dark .sidebar-badge-active { background: rgba(22,163,74,0.15); color: #4ade80; }
html.dark .sidebar-badge-soon { background: rgba(255,255,255,0.06); color: #64748b; }

html.dark .sidebar-footer { border-top-color: rgba(255,255,255,0.08); }
html.dark .btn-sidebar-secondary { background: rgba(255,255,255,0.06); color: #a8adb5; }
html.dark .btn-sidebar-secondary:hover { background: rgba(255,255,255,0.1); }

/* =========================================
   DARK MODE — HERO
   ========================================= */
html.dark .hero {
    background: linear-gradient(135deg, #050505 0%, #111111 100%);
}

/* =========================================
   DARK MODE — SECTIONS & CARDS
   ========================================= */
html.dark .demo-section { background: #111111; }
html.dark .demo-section h2 { color: #c0c5ce; }
html.dark .demo-section p { color: #94a3b8; }

html.dark .info-section { background: #050505; }
html.dark .info-section h2 { color: #c0c5ce; }

html.dark .card {
    background: #111111;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
    border-top-color: #0c84a0;
}
html.dark .card h3 { color: #c0c5ce; }
html.dark .card p { color: #94a3b8; }

/* Tech banner */
html.dark .tech-banner-section { background: #050505; }

/* =========================================
   DARK MODE — PRICING
   ========================================= */
html.dark .pricing-section {
    background: linear-gradient(180deg, #050505 0%, #111111 100%);
}
html.dark .pricing-header h2 { color: #c0c5ce; }
html.dark .pricing-header p { color: #94a3b8; }

html.dark .billing-btn {
    background: #111111;
    border-color: rgba(255,255,255,0.12);
    color: #94a3b8;
}
html.dark .billing-btn.active {
    background: #0a6f86;
    border-color: #0a6f86;
    color: white;
}

html.dark .pricing-card {
    background: #111111;
    border-color: rgba(255,255,255,0.08);
    box-shadow: 0 4px 24px rgba(0,0,0,0.3);
}
html.dark .pricing-card:hover {
    box-shadow: 0 16px 40px rgba(0,0,0,0.4);
}
html.dark .pricing-card.pro {
    background: linear-gradient(160deg, #111111 0%, #0a0a0a 100%);
    border-color: #0c84a0;
}
html.dark .pricing-card h3 { color: #c0c5ce; }
html.dark .price-amount { color: #c0c5ce; }
html.dark .price-amount sup { color: #94a3b8; }
html.dark .price-amount .period { color: #64748b; }
html.dark .price-per-month { color: #64748b; }
html.dark .features-list li { color: #a8adb5; }
html.dark .features-list li.feature-divider { border-top-color: rgba(255,255,255,0.06); }

/* =========================================
   DARK MODE — WAITLIST / FORMS
   ========================================= */
html.dark .waitlist-section { background-color: #111111; }
html.dark .form-box {
    background: #050505;
    box-shadow: 0 10px 25px rgba(0,0,0,0.4);
}
html.dark .form-box h2 { color: #c0c5ce; }
html.dark .form-box p { color: #94a3b8; }
html.dark .form-box label { color: #a8adb5; }
html.dark .form-box input:not([type="checkbox"]),
html.dark .form-box select {
    background: #111111;
    border-color: rgba(255,255,255,0.12);
    color: #c0c5ce;
}
html.dark .legal-check { color: #94a3b8; }

/* =========================================
   DARK MODE — FOOTER
   ========================================= */
html.dark footer {
    background: #000000;
    color: #64748b;
}

/* =========================================
   DARK MODE — MODAL (Quién soy)
   ========================================= */
html.dark .modal-content {
    background: #111111;
    box-shadow: 0 24px 60px rgba(0,0,0,0.6);
}
html.dark .modal-profile-header {
    background: linear-gradient(145deg, #050505 0%, #000000 100%);
}
html.dark .modal-body > p { color: #94a3b8; }
html.dark .project-link {
    background: rgba(255,255,255,0.04);
    border-color: rgba(255,255,255,0.08);
}
html.dark .project-link:hover {
    background: rgba(12,132,160,0.08);
    border-color: rgba(12,132,160,0.2);
}
html.dark .project-link-icon { background: rgba(12,132,160,0.12); color: #22d3ee; }
html.dark .project-link strong { color: #c0c5ce; }
html.dark .project-link span { color: #64748b; }

/* =========================================
   DARK MODE — OPOSICIONES PAGE
   ========================================= */
/* Hero sections are already dark gradient — no changes needed */

html.dark .opos-section { background: #050505; }
html.dark .opos-section-alt { background: #111111; }

html.dark .section-header h2 { color: #c0c5ce; }
html.dark .section-header p { color: #94a3b8; }
html.dark .section-icon {
    background: linear-gradient(135deg, rgba(12,132,160,0.15), rgba(12,132,160,0.08));
}

/* Timeline */
html.dark .timeline-content h3 { color: #c0c5ce; }
html.dark .badge-weight { background: rgba(12,132,160,0.15); color: #22d3ee; }
html.dark .sub-phase h4 { color: #a8adb5; }

html.dark .part-card {
    background: #111111;
    border-color: rgba(255,255,255,0.08);
}
html.dark .part-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
html.dark .part-label { background: rgba(255,255,255,0.06); color: #94a3b8; }
html.dark .part-card p { color: #94a3b8; }

/* Baremo */
html.dark .baremo-card {
    background: #111111;
    border-color: rgba(255,255,255,0.08);
}
html.dark .baremo-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,0.3); }
html.dark .baremo-header h4 { color: #c0c5ce; }
html.dark .baremo-card p { color: #94a3b8; }
html.dark .baremo-note {
    background: rgba(12,132,160,0.08);
    border-left-color: #0c84a0;
    color: #a8adb5;
}

/* Especialidades */
html.dark .especialidad-card {
    background: #111111;
    border-color: rgba(255,255,255,0.08);
}
html.dark .especialidad-body { background: #111111; }
html.dark .temario-item { color: #94a3b8; }
html.dark .lomloe-alert {
    background: rgba(251,191,36,0.08);
    border-color: rgba(251,191,36,0.2);
    color: #fbbf24;
}
html.dark .lomloe-alert-pt {
    background: rgba(239,68,68,0.08);
    border-color: rgba(239,68,68,0.2);
    color: #f87171;
}

/* CCAA Grid */
html.dark .ccaa-card {
    background: #111111;
    border-color: rgba(255,255,255,0.08);
}
html.dark .ccaa-card:hover { box-shadow: 0 10px 25px rgba(0,0,0,0.3); }
html.dark .ccaa-featured { border-color: #0c84a0; }
html.dark .ccaa-info h3 { color: #c0c5ce; }
html.dark .plaza-item { background: rgba(255,255,255,0.03); }
html.dark .plaza-item.plaza-highlight {
    background: rgba(12,132,160,0.08);
    border-color: rgba(12,132,160,0.2);
}
html.dark .plaza-especialidad { color: #94a3b8; }
html.dark .plaza-num { color: #c0c5ce; }
html.dark .date-item { color: #94a3b8; }
html.dark .ccaa-insight {
    background: rgba(34,197,94,0.06);
    border-color: rgba(34,197,94,0.15);
    color: #4ade80;
}
html.dark .ccaa-card-arrow { border-top-color: rgba(255,255,255,0.06); color: #22d3ee; }

/* Probability table */
html.dark .prob-table {
    background: #111111;
    border-color: rgba(255,255,255,0.08);
}
html.dark .prob-row { border-bottom-color: rgba(255,255,255,0.06); }
html.dark .prob-header-row {
    background: rgba(255,255,255,0.04);
    color: #94a3b8;
}
html.dark .prob-highlight-row { background: rgba(12,132,160,0.06); }
html.dark .prob-temas { color: #c0c5ce; }
html.dark .prob-pct { color: #c0c5ce; }
html.dark .prob-low { background: rgba(239,68,68,0.1); }
html.dark .prob-medium { background: rgba(202,138,4,0.1); }
html.dark .prob-good { background: rgba(12,132,160,0.1); }
html.dark .prob-high { background: rgba(22,163,74,0.1); }
html.dark .prob-excellent { background: rgba(5,150,105,0.1); }

/* CCAA individual page */
html.dark .ccaa-breadcrumb {
    background: #111111;
    border-bottom-color: rgba(255,255,255,0.08);
}
html.dark .ccaa-detail-card {
    background: #111111;
    border-color: rgba(255,255,255,0.08);
}
html.dark .ccaa-detail-card h2 { color: #c0c5ce; }
html.dark .ccaa-description { color: #94a3b8; }
html.dark .ccaa-plaza-row {
    background: rgba(255,255,255,0.03);
    border-color: rgba(255,255,255,0.06);
}
html.dark .ccaa-plaza-highlight {
    background: rgba(12,132,160,0.08);
    border-color: rgba(12,132,160,0.15);
}
html.dark .ccaa-plaza-name { color: #c0c5ce; }
html.dark .ccaa-plaza-number { color: #22d3ee; }
html.dark .ccaa-strategy-card {
    background: linear-gradient(135deg, rgba(251,191,36,0.06), rgba(245,158,11,0.04));
    border-color: rgba(251,191,36,0.15);
}
html.dark .ccaa-strategy-card h2 i { color: #fbbf24; }
html.dark .ccaa-strategy-card p { color: #fbbf24; }

html.dark .ccaa-sidebar-card {
    background: #111111;
    border-color: rgba(255,255,255,0.08);
}
html.dark .ccaa-sidebar-card h3 { color: #c0c5ce; }
html.dark .ccaa-date-row { color: #94a3b8; }
html.dark .ccaa-insight-card {
    background: rgba(34,197,94,0.06);
    border-color: rgba(34,197,94,0.12);
}
html.dark .ccaa-insight-card p { color: #4ade80; }
html.dark .ccaa-official-link:hover { background: rgba(12,132,160,0.08); }
html.dark .ccaa-sidebar-cta {
    background: linear-gradient(135deg, rgba(12,132,160,0.08), rgba(12,132,160,0.04));
    border-color: rgba(12,132,160,0.2);
}
html.dark .ccaa-sidebar-cta h3 { color: #22d3ee; }
html.dark .ccaa-sidebar-cta p { color: #22d3ee; }

html.dark .ccaa-other-card {
    background: #111111;
    border-color: rgba(255,255,255,0.08);
}
html.dark .ccaa-other-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
html.dark .ccaa-other-card strong { color: #c0c5ce; }
html.dark .ccaa-other-card span { color: #22d3ee; }
