/* =====================================================
   MES RÉVISIONS - Interface Concours
   Charte graphique : Orange, Vert, Bleu
   Hiérarchie visuelle claire | UX optimale | Accessibilité
   Structuration cohérente des composants
   ===================================================== */

/* === VARIABLES CHARTE === */
.concours-interface,
.concours-page {
    /* Palette "Turquoise Fun" */
    --concours-orange: #FF6B35;
    --concours-orange-light: #FF6B35;
    --concours-green: #22C55E;
    --concours-green-light: #22C55E;
    --concours-blue: #06B6D4;
    --concours-blue-light: #0EA5E9;
    --concours-blue-dark: #06B6D4;
    --concours-blue-subtle: rgba(6, 182, 212, 0.12);
    --concours-orange-subtle: rgba(245, 158, 11, 0.12);
    --concours-green-subtle: rgba(34, 197, 94, 0.12);
    
    /* Dégradés utilisant les 3 couleurs */
    --concours-gradient-hero: linear-gradient(135deg, #F59E0B 0%, #22C55E 50%, #06B6D4 100%);
    --concours-gradient-orange: linear-gradient(135deg, #F59E0B 0%, #F59E0B 100%);
    --concours-gradient-green: linear-gradient(135deg, #22C55E 0%, #22C55E 100%);
    --concours-gradient-blue: linear-gradient(135deg, #06B6D4 0%, #0EA5E9 100%);
    --concours-gradient-tricolor: linear-gradient(135deg, #F59E0B 0%, #22C55E 50%, #06B6D4 100%);
    
    --concours-radius: 12px;
    --concours-radius-lg: 20px;
    --concours-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    --concours-shadow-hover: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* === ACCESSIBILITÉ === */
.concours-interface a:focus-visible,
.concours-page a:focus-visible,
.concours-interface button:focus-visible,
.concours-page button:focus-visible,
.concours-interface select:focus-visible,
.concours-page select:focus-visible,
.concours-interface input:focus-visible,
.concours-page input:focus-visible {
    outline: 2px solid var(--concours-orange);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .concours-interface *,
    .concours-page * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* === HERO === */
.concours-hero {
    background: #FF6B35 !important;
    color: white;
}

/* Bootstrap compatibility for this theme */
.concours-interface .text-primary,
.concours-page .text-primary {
    color: var(--concours-blue) !important;
}

.concours-hero .breadcrumb-custom {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border-radius: var(--concours-radius-lg);
    padding: 0.75rem 1.5rem;
}

.concours-hero .breadcrumb-link {
    color: rgba(255, 255, 255, 0.95) !important;
    border-radius: var(--concours-radius-lg);
    transition: all 0.25s ease;
}

.concours-hero .breadcrumb-link:hover {
    background: rgba(255, 255, 255, 0.25);
    color: #fff !important;
}

.concours-hero .breadcrumb-active {
    background: rgba(255, 255, 255, 0.25);
    color: #fff !important;
}

/* === BARRE DE RECHERCHE === */
.concours-hero .search-form .form-control {
    border: none;
    border-radius: 50px 0 0 50px;
    padding: 1rem 1.5rem;
}

.concours-hero .search-form .btn {
    border-radius: 0 50px 50px 0;
    padding: 0 2rem;
    font-weight: 600;
}

.concours-hero .search-form .btn:hover {
    background: var(--concours-orange) !important;
    color: white !important;
}

/* === CARTES SUJETS === */
.concours-interface .concours-card,
.concours-page .concours-card {
    border-radius: var(--concours-radius);
    border: none;
    box-shadow: var(--concours-shadow);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.concours-interface .concours-card:hover,
.concours-page .concours-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--concours-shadow-hover);
}

.concours-card .card-header {
    background: var(--concours-gradient-tricolor) !important;
    color: white;
    border: none;
}

.concours-card .badge.bg-primary { background: var(--concours-blue) !important; }
.concours-card .badge.bg-success { background: var(--concours-green) !important; }

/* Cartes sujets (student index) */
.subject-card-concours {
    border-radius: var(--concours-radius);
    transition: all 0.25s ease;
}

.subject-card-concours:hover {
    transform: translateY(-4px);
    box-shadow: var(--concours-shadow-hover);
}

/* === CARTES TYPES === */
.concours-type-card {
    border-radius: var(--concours-radius);
    overflow: hidden;
    transition: all 0.25s ease;
}

.concours-type-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--concours-shadow-hover);
}

.concours-type-card .card-img-wrap {
    height: 200px;
    background: var(--concours-gradient-tricolor);
    display: flex;
    align-items: center;
    justify-content: center;
}

.concours-type-card .card-img-wrap i {
    font-size: 4rem;
    color: rgba(255, 255, 255, 0.35);
}

/* === FILTRES === */
.concours-filter-section {
    border-top: 3px solid transparent;
    border-image: var(--concours-gradient-tricolor) 1;
}

.concours-filter-section .filter-label i {
    color: var(--concours-blue);
}

.concours-filter-section .filter-label:nth-child(3n) i { color: var(--concours-green); }
.concours-filter-section .filter-label:nth-child(3n+2) i { color: var(--concours-orange); }

.concours-filter-section .filter-select {
    border: 2px solid #e9ecef;
    border-radius: var(--concours-radius);
}

.concours-filter-section .filter-select:hover,
.concours-filter-section .filter-select:focus {
    border-color: var(--concours-blue);
    box-shadow: 0 0 0 0.2rem var(--concours-blue-subtle);
}

.filter-selected-badge {
    background: var(--concours-blue) !important;
    color: white;
    padding: 0.75rem 1rem;
    border-radius: var(--concours-radius);
}

.results-count-badge {
    background: var(--concours-gradient-tricolor) !important;
    color: white;
    padding: 0.5rem 1rem;
    border-radius: var(--concours-radius-lg);
    font-weight: 600;
}

.view-options button.active {
    background: var(--concours-gradient-hero) !important;
    color: white !important;
    border-color: transparent !important;
}

/* === BADGES DÉTAIL === */
.concours-badge-type,
.concours-badge-year,
.concours-badge-session,
.concours-badge-subject,
.concours-badge-correction {
    color: white !important;
}

.concours-badge-type { background: var(--concours-blue) !important; }
.concours-badge-year { background: var(--concours-blue-light) !important; }
.concours-badge-session { background: var(--concours-orange) !important; }
.concours-badge-subject { background: var(--concours-green) !important; }
.concours-badge-correction { background: var(--concours-green) !important; }

/* Compatibilité (student/concours/index.blade.php) */
.badge-year {
    background: var(--concours-blue-light) !important;
    color: #fff !important;
    border: none !important;
}

.badge-correction {
    background: var(--concours-green) !important;
    color: #fff !important;
    border: none !important;
}

/* === ADMIN STATS === */
.concours-admin-stat-total {
    background: var(--concours-gradient-blue) !important;
    border: none;
}

.concours-admin-stat-correction {
    background: var(--concours-gradient-green) !important;
    border: none;
}

.concours-admin-stat-premium {
    background: var(--concours-gradient-orange) !important;
    border: none;
}

.concours-admin-stat-year {
    background: var(--concours-gradient-tricolor) !important;
    border: none;
}

/* === SIDEBAR DÉTAIL === */
.concours-info-header {
    background: var(--concours-gradient-tricolor) !important;
    color: white;
    border: none;
}

.concours-info-item {
    border-left: 3px solid var(--concours-blue);
}

.concours-info-label i {
    color: var(--concours-blue);
}

/* === STATS TYPES (page types) === */
.concours-page .exam-type-title {
    color: #1e293b;
    font-size: 1.1rem;
    letter-spacing: -0.5px;
}

.concours-page .stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.concours-page .stat-box {
    background: white;
    border: 2px solid #e9ecef;
    border-radius: var(--concours-radius);
    padding: 0.6rem;
    text-align: center;
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
}

.concours-page .stat-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--concours-blue);
    transform: scaleX(0);
    transition: transform 0.25s ease;
}

.concours-page .stat-box:hover::before {
    transform: scaleX(1);
}

.concours-page .stat-box:hover {
    border-color: var(--concours-blue);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px var(--concours-blue-subtle);
}

.concours-page .stat-box-primary {
    border-color: var(--concours-blue);
}

.concours-page .stat-box-primary::before {
    background: var(--concours-blue);
}

.concours-page .stat-box-success {
    border-color: var(--concours-green);
}

.concours-page .stat-box-success::before {
    background: var(--concours-green);
}

.concours-page .stat-box-icon {
    width: 36px;
    height: 36px;
    margin: 0 auto 0.4rem;
    background: var(--concours-gradient-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(46, 94, 170, 0.3);
}

.concours-page .stat-box-success .stat-box-icon {
    background: var(--concours-gradient-green);
    box-shadow: 0 2px 8px rgba(25, 142, 56, 0.3);
}

.concours-page .stat-box-icon i {
    font-size: 1rem;
    color: white;
}

.concours-page .stat-box-number {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.2;
    margin-bottom: 0.15rem;
}

.concours-page .stat-box-text {
    font-size: 0.75rem;
    color: #6c757d;
    font-weight: 500;
    text-transform: lowercase;
}

.concours-page .year-info {
    background: #f8fafc;
    border-radius: var(--concours-radius);
    padding: 0.5rem 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: #475569;
    border: 1px solid #e2e8f0;
}

.concours-page .year-info i {
    color: var(--concours-blue);
}

.concours-page .year-info strong {
    color: var(--concours-blue);
    font-weight: 700;
}

.concours-page .btn-consult-alt {
    background: white;
    color: var(--concours-blue);
    border: 2px solid var(--concours-blue);
    padding: 0.5rem 1rem;
    border-radius: var(--concours-radius);
    font-weight: 600;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
}

.concours-page .btn-consult-alt:hover {
    background: var(--concours-gradient-tricolor) !important;
    color: white !important;
    border-color: transparent !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(46, 94, 170, 0.3);
}

.concours-page .btn-consult-alt i {
    transition: transform 0.25s ease;
}

.concours-page .btn-consult-alt:hover i {
    transform: translateX(4px);
}

@media (max-width: 768px) {
    .concours-page .stats-grid {
        grid-template-columns: 1fr;
    }
}
