/**
 * Aoxiang Education Theme - Complete Version
 * Primary Color: #c41e3a (Crimson Red)
 * Secondary Color: #ffd700 (Gold)
 * 
 * Design Principles:
 * - Dark background → White text
 * - Gold background → Dark text (#333)
 * - Light background → Colored text
 * - Clear contrast on all hover states
 */

:root {
    /* Main Brand Colors */
    --primary: #c41e3a;           /* Crimson red */
    --primary-dark: #8b1529;      /* Darker red for hover */
    --primary-light: #ffe6ec;     /* Light red tint */
    --secondary: #ffd700;         /* Gold */
    --secondary-dark: #d4af37;    /* Darker gold */
    --tertiary: #a01830;          /* Medium red */
    
    /* Status Colors */
    --success: #28a745;
    --danger: #dc3545;
    --warning: #ffc107;
    --dark: #343a40;
    --light: #f8f9fa;
    
    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #c41e3a 0%, #8b1529 100%);
    --gradient-secondary: linear-gradient(180deg, #d4af37 0%, #c41e3a 100%);
}

/* ========================================
   HEADERS & NAVIGATION
======================================== */

.header {
    background: var(--gradient-primary);
}

.sidebar {
    background: var(--gradient-secondary);
}

.nav-menu a {
    color: white;
}

.nav-menu a:hover {
    background-color: rgba(255, 215, 0, 0.15);
    color: white !important;
}

.nav-menu a.active {
    background-color: rgba(255, 215, 0, 0.25);
    color: white !important;
}

/* ========================================
   BUTTONS - WITH PROPER TEXT COLORS
======================================== */

/* Primary Button: Red background → Darker red with WHITE TEXT */
.btn-primary {
    background-color: var(--primary);
    color: white !important;
}

.btn-primary:hover {
    background-color: var(--primary-dark);
    color: white !important;
    box-shadow: 0 4px 10px rgba(139, 21, 41, 0.4);
    transform: translateY(-1px);
}

/* Secondary Button: Gold background → Darker gold with DARK TEXT */
.btn-secondary {
    background-color: var(--secondary);
    color: #333 !important;
}

.btn-secondary:hover {
    background-color: var(--secondary-dark);
    color: #333 !important;
    box-shadow: 0 4px 10px rgba(212, 175, 55, 0.4);
}

/* Outline Button: Transparent → Red fill with WHITE TEXT */
.btn-outline-primary {
    background-color: transparent;
    color: var(--primary) !important;
    border: 2px solid var(--primary);
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    color: white !important;
    border-color: var(--primary);
}

/* Success Button: Green → Darker green with WHITE TEXT */
.btn-success {
    background-color: var(--success);
    color: white !important;
}

.btn-success:hover {
    background-color: #218838;
    color: white !important;
}

/* Danger Button: Red → Darker red with WHITE TEXT */
.btn-danger {
    background-color: var(--primary);
    color: white !important;
}

.btn-danger:hover {
    background-color: var(--primary-dark);
    color: white !important;
}

/* Start Test Button */
.btn-start-test {
    color: white !important;
}

.btn-start-test:hover {
    color: white !important;
}

/* ========================================
   CARDS & MODULES
======================================== */

.card-header,
.module-head .card-header {
    background-color: var(--primary);
    color: white;
}

.module-item {
    border-left-color: var(--primary);
    background-color: white;
}

.module-item:hover {
    box-shadow: 0 4px 20px rgba(196, 30, 58, 0.2);
    transform: translateX(5px);
}

.module-title h3 {
    color: var(--primary);
}

/* ========================================
   LINKS
======================================== */

a {
    color: var(--primary);
}

a:hover {
    color: var(--primary-dark);
    text-decoration: none;
}

/* ========================================
   FORMS
======================================== */

.form-control:focus,
.form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.2rem rgba(196, 30, 58, 0.25);
}

.form-control:hover,
.form-select:hover {
    border-color: var(--tertiary);
}

/* ========================================
   RADIO/CHECKBOX OPTIONS
======================================== */

.option label {
    background-color: white;
    border: 2px solid #e0e0e0;
}

.option label:hover {
    border-color: var(--primary);
    background-color: var(--primary-light);
}

.option input[type="radio"]:checked + label {
    border-color: var(--primary);
    background-color: #ffd0d9;
    font-weight: 500;
}

.option-letter {
    background-color: var(--primary);
    color: white;
}

.option input[type="radio"]:checked + label .option-letter {
    background-color: var(--secondary);
    color: #333;
}

/* ========================================
   SECTION NAVIGATION
======================================== */

.section-btn {
    background-color: white;
    border: 2px solid #ddd;
    color: #666;
}

.section-btn:hover {
    border-color: var(--primary);
    background-color: var(--primary-light);
    color: var(--primary);
}

.section-btn.active {
    background-color: var(--primary);
    border-color: var(--primary);
    color: white !important;
}

.section-btn.active:hover {
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
    color: white !important;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}

.section-btn.complete {
    border-color: var(--success);
    background-color: #d4edda;
    color: var(--success);
}

.section-btn.complete.active {
    background-color: var(--success);
    color: white !important;
}

.section-btn.complete.active:hover {
    background-color: #218838;
    color: white !important;
}

/* ========================================
   PROGRESS & STATS
======================================== */

.progress-bar {
    background: linear-gradient(90deg, var(--primary) 0%, #e63946 100%);
    color: white;
}

.score-circle {
    border-color: var(--primary);
}

.score-value {
    color: var(--primary);
}

.question-number {
    color: var(--primary);
}

.stat-card {
    border-left-color: var(--primary);
}

.stat-card .stat-value {
    color: var(--primary);
}

.stat-card:hover {
    box-shadow: 0 4px 15px rgba(196, 30, 58, 0.15);
}

.meta-item .value {
    color: var(--primary);
}

/* ========================================
   TABLES
======================================== */

.table thead {
    background-color: var(--primary);
    color: white;
}

.table tbody tr:hover {
    background-color: var(--primary-light);
}

/* ========================================
   ADMIN SIDEBAR
======================================== */

.sidebar-nav a {
    color: rgba(255, 255, 255, 0.85);
}

.sidebar-nav a:hover {
    background-color: rgba(255, 215, 0, 0.15);
    color: white !important;
    transform: translateX(5px);
}

.sidebar-nav a.active {
    background-color: var(--secondary);
    color: #333 !important;
}

.sidebar-nav a.active:hover {
    background-color: var(--secondary-dark);
    color: #333 !important;
}

/* ========================================
   BADGES
======================================== */

.badge-available {
    background-color: var(--primary-light);
    color: var(--primary-dark);
}

.badge-info {
    background-color: var(--primary);
    color: white;
}

.badge-coming-soon {
    background-color: #fff3cd;
    color: #856404;
}

/* ========================================
   ALERTS
======================================== */

.alert-info {
    background-color: var(--primary-light);
    border: 1px solid #ffccd5;
    color: var(--primary-dark);
}

.alert-danger {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

.alert-success {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    color: #155724;
}

/* ========================================
   TIMER
======================================== */

.timer {
    color: var(--primary);
    font-weight: 700;
}

.timer.warning {
    color: var(--danger);
}

/* ========================================
   PAGINATION
======================================== */

.pagination .page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary);
    color: white;
}

.pagination .page-link {
    color: var(--primary);
}

.pagination .page-link:hover {
    color: var(--primary);
    background-color: var(--primary-light);
    border-color: var(--primary);
}

/* ========================================
   DROPDOWN
======================================== */

.dropdown-item {
    color: #333;
}

.dropdown-item:hover {
    background-color: var(--primary-light);
    color: var(--primary);
}

/* ========================================
   TABS
======================================== */

.nav-tabs .nav-link.active {
    color: var(--primary);
    border-color: var(--primary);
}

.nav-tabs .nav-link:hover {
    border-color: var(--primary-light);
    color: var(--tertiary);
}

/* ========================================
   MISCELLANEOUS
======================================== */

.header .logo img,
.sidebar .logo-container img {
    filter: brightness(0) invert(1);
}

.question-card.answered {
    border-left-color: var(--success);
    background-color: #f8fff8;
}

::selection {
    background-color: rgba(255, 215, 0, 0.3);
    color: #000;
}

::-moz-selection {
    background-color: rgba(255, 215, 0, 0.3);
    color: #000;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--primary);
    border-color: var(--primary);
}

input[type="range"]::-webkit-slider-thumb {
    background: var(--primary);
}

input[type="range"]::-moz-range-thumb {
    background: var(--primary);
}

/* ========================================
   ADMIN STATS
======================================== */

.stat-card.success {
    border-left-color: var(--success);
}

.stat-card.success .stat-value {
    color: var(--success);
}

.stat-card.warning {
    border-left-color: var(--warning);
}

.stat-card.warning .stat-value {
    color: var(--warning);
}

.stat-card.danger {
    border-left-color: var(--danger);
}

.stat-card.danger .stat-value {
    color: var(--danger);
}

/* ========================================
   FOOTER
======================================== */

.footer {
    background-color: white;
    color: #6c757d;
}

/* ========================================
   ADDITIONAL BUTTON STATES
======================================== */

.btn-primary:active,
.btn-primary:focus {
    background-color: var(--primary-dark);
    color: white !important;
    border-color: var(--primary-dark);
}

.btn-secondary:active,
.btn-secondary:focus {
    background-color: var(--secondary-dark);
    color: #333 !important;
    border-color: var(--secondary-dark);
}

/* Block buttons */
.btn-block {
    display: block;
    width: 100%;
}

/* ========================================
   RESPONSIVE ADJUSTMENTS
======================================== */

@media (max-width: 768px) {
    .section-btn {
        width: 50px;
        height: 50px;
        font-size: 1rem;
    }
    
    .module-item:hover {
        transform: none;
    }
}