/**
 * Extreme Contrast CSS - Maximum Readability with Vibrant Colors
 * 
 * LIGHT MODE: Black text on white backgrounds
 * DARK MODE: White text on dark backgrounds with vibrant accent colors
 */

/* ============================================
   LIGHT MODE (Default)
   ============================================ */

/* Main content areas - Black on White */
body,
html {
    background-color: #ffffff !important;
    color: #000000 !important;
}

/* Cards and content boxes */
.card,
.card-body,
.tab-pane,
.tab-content,
.modal-body,
.list-group-item {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
}

.card *,
.card-body *,
.tab-pane *,
.modal-body * {
    color: #000000 !important;
}

/* Headers and dark sections - White on Black */
.bg-dark,
.navbar-dark,
.hero-section {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.bg-dark *,
.navbar-dark *,
.hero-section * {
    color: #ffffff !important;
}

/* Buttons with vibrant colors */
.btn-primary {
    background-color: #0066ff !important;
    color: #ffffff !important;
    border: 2px solid #0066ff !important;
}

.btn-primary:hover {
    background-color: #0052cc !important;
    border-color: #0052cc !important;
}

.btn-success {
    background-color: #00cc44 !important;
    color: #ffffff !important;
    border: 2px solid #00cc44 !important;
}

.btn-danger {
    background-color: #ff0044 !important;
    color: #ffffff !important;
    border: 2px solid #ff0044 !important;
}

.btn-warning {
    background-color: #ffaa00 !important;
    color: #000000 !important;
    border: 2px solid #ffaa00 !important;
}

.btn-info {
    background-color: #00ccff !important;
    color: #ffffff !important;
    border: 2px solid #00ccff !important;
}

/* Form inputs */
.form-control,
.form-select {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
}

/* Tables */
.table {
    background-color: #ffffff !important;
    color: #000000 !important;
}

.table td,
.table th {
    color: #000000 !important;
    border-color: #000000 !important;
}

/* ============================================
   DARK MODE - Vibrant and Bright!
   ============================================ */

@media (prefers-color-scheme: dark) {
    /* Main backgrounds - Dark with white text */
    body,
    html {
        background-color: #0a0a0a !important;
        color: #ffffff !important;
    }
    
    /* Force all major containers to have dark backgrounds */
    .container,
    .container-fluid,
    .row,
    main,
    section,
    article,
    .content,
    .main-content,
    .page-content {
        background-color: #0a0a0a !important;
    }
    
    /* All text elements white in dark mode */
    p, div, span, a, li, ul, ol, h1, h2, h3, h4, h5, h6,
    label, small, strong, em {
        color: #ffffff !important;
    }
    
    /* Cards - Dark gray with white text */
    .card,
    .card-body,
    .tab-pane,
    .tab-content,
    .modal-body,
    .list-group-item {
        background-color: #1a1a1a !important;
        color: #ffffff !important;
        border: 2px solid #00ffaa !important;
    }
    
    .card *,
    .card-body *,
    .tab-pane *,
    .modal-body *,
    .tab-content * {
        color: #ffffff !important;
    }
    
    /* Form inputs - Dark with bright borders */
    .form-control,
    .form-select,
    textarea,
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="search"] {
        background-color: #2a2a2a !important;
        color: #ffffff !important;
        border: 2px solid #00ffaa !important;
    }
    
    .form-control::placeholder {
        color: #aaaaaa !important;
    }
    
    /* Buttons - Vibrant colors */
    .btn-primary {
        background-color: #0088ff !important;
        color: #ffffff !important;
        border: 2px solid #00aaff !important;
    }
    
    .btn-success {
        background-color: #00ff88 !important;
        color: #000000 !important;
        border: 2px solid #00ff88 !important;
    }
    
    .btn-danger {
        background-color: #ff0066 !important;
        color: #ffffff !important;
        border: 2px solid #ff0066 !important;
    }
    
    .btn-warning {
        background-color: #ffcc00 !important;
        color: #000000 !important;
        border: 2px solid #ffcc00 !important;
    }
    
    .btn-info {
        background-color: #00ddff !important;
        color: #000000 !important;
        border: 2px solid #00ddff !important;
    }
    
    .btn-secondary {
        background-color: #444444 !important;
        color: #ffffff !important;
        border: 2px solid #00ffaa !important;
    }
    
    /* Tables */
    .table {
        background-color: #1a1a1a !important;
        color: #ffffff !important;
    }
    
    .table td,
    .table th {
        color: #ffffff !important;
        border-color: #00ffaa !important;
        background-color: #1a1a1a !important;
    }
    
    /* Alerts - Vibrant colors */
    .alert-info {
        background-color: #003366 !important;
        color: #00ddff !important;
        border: 2px solid #00ddff !important;
    }
    
    .alert-success {
        background-color: #004422 !important;
        color: #00ff88 !important;
        border: 2px solid #00ff88 !important;
    }
    
    .alert-warning {
        background-color: #443300 !important;
        color: #ffcc00 !important;
        border: 2px solid #ffcc00 !important;
    }
    
    .alert-danger {
        background-color: #440022 !important;
        color: #ff0066 !important;
        border: 2px solid #ff0066 !important;
    }
    
    /* Search results and program cards */
    .search-result-item,
    .university-card,
    .program-card {
        background-color: #1a1a1a !important;
        color: #ffffff !important;
        border: 2px solid #00ffaa !important;
    }
    
    .search-result-item *,
    .university-card *,
    .program-card * {
        color: #ffffff !important;
    }
    
    /* Links - Bright cyan */
    a {
        color: #00ddff !important;
    }
    
    a:hover {
        color: #00ffaa !important;
    }
    
    /* Badges and tags - Vibrant */
    .badge {
        background-color: #ff0088 !important;
        color: #ffffff !important;
    }
    
    /* Navigation bar */
    .navbar-dark {
        background-color: #000000 !important;
    }
    
    .navbar-dark * {
        color: #ffffff !important;
    }
}

/* Dark mode with data-bs-theme attribute */
[data-bs-theme="dark"] {
    background-color: #0a0a0a !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] body,
[data-bs-theme="dark"] html {
    background-color: #0a0a0a !important;
    color: #ffffff !important;
}

/* Force all major containers to have dark backgrounds */
[data-bs-theme="dark"] .container,
[data-bs-theme="dark"] .container-fluid,
[data-bs-theme="dark"] .row,
[data-bs-theme="dark"] main,
[data-bs-theme="dark"] section,
[data-bs-theme="dark"] article,
[data-bs-theme="dark"] .content,
[data-bs-theme="dark"] .main-content,
[data-bs-theme="dark"] .page-content {
    background-color: #0a0a0a !important;
}

[data-bs-theme="dark"] p,
[data-bs-theme="dark"] div,
[data-bs-theme="dark"] span,
[data-bs-theme="dark"] a,
[data-bs-theme="dark"] li,
[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6,
[data-bs-theme="dark"] label {
    color: #ffffff !important;
}

[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .tab-pane,
[data-bs-theme="dark"] .modal-body {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border: 2px solid #00ffaa !important;
}

[data-bs-theme="dark"] .card *,
[data-bs-theme="dark"] .card-body *,
[data-bs-theme="dark"] .tab-pane *,
[data-bs-theme="dark"] .modal-body * {
    color: #ffffff !important;
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] input,
[data-bs-theme="dark"] textarea {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border: 2px solid #00ffaa !important;
}

[data-bs-theme="dark"] .btn-primary {
    background-color: #0088ff !important;
    color: #ffffff !important;
    border: 2px solid #00aaff !important;
}

[data-bs-theme="dark"] .btn-success {
    background-color: #00ff88 !important;
    color: #000000 !important;
}

[data-bs-theme="dark"] .btn-danger {
    background-color: #ff0066 !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .btn-warning {
    background-color: #ffcc00 !important;
    color: #000000 !important;
}

[data-bs-theme="dark"] .btn-info {
    background-color: #00ddff !important;
    color: #000000 !important;
}

[data-bs-theme="dark"] a {
    color: #00ddff !important;
}

[data-bs-theme="dark"] a:hover {
    color: #00ffaa !important;
}

[data-bs-theme="dark"] .table {
    background-color: #1a1a1a !important;
}

[data-bs-theme="dark"] .table td,
[data-bs-theme="dark"] .table th {
    color: #ffffff !important;
    border-color: #00ffaa !important;
    background-color: #1a1a1a !important;
}

[data-bs-theme="dark"] .badge {
    background-color: #ff0088 !important;
    color: #ffffff !important;
}

/* Ensure white background sections stay white in light mode */
.bg-white {
    background-color: #ffffff !important;
    color: #000000 !important;
}

.bg-white * {
    color: #000000 !important;
}
