/**
 * TROUVE ACCORD - Panneau de contrôle
 * Gère le masquage des éléments et la structure de la grille
 */

/* ============================================
   MASQUAGE DES ÉLÉMENTS INUTILES
   ============================================ */

body[data-mode="trouve-accord"] .switches-horizontal-container,
body[data-mode="trouve-accord"] .chord-name-wrapper,
body[data-mode="trouve-accord"] .right-column-wrapper,
body[data-mode="trouve-accord"] .generator-controls,
body[data-mode="trouve-accord"] .dictionary-controls {
    display: none !important;
}

/* ============================================
   RESTRUCTURATION DE LA GRILLE
   ============================================ */

/* Desktop */
@media (min-width: 37.5rem) {
    body[data-mode="trouve-accord"] .control-zone-wrapper {
        grid-template-columns: 1fr !important;
        justify-items: center;
        margin-bottom: 1.5rem;
    }
    
    body[data-mode="trouve-accord"] .control-zone {
        grid-column: 1 !important;
        width: 100%;
        max-width: 660px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
    }
}

/* Mobile */
@media (max-width: 37.5rem) {
    body[data-mode="trouve-accord"] .control-zone-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 2rem;
    }
    
    body[data-mode="trouve-accord"] .control-zone {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
}

/* ============================================
   NOTIFICATIONS
   ============================================ */

.trouve-accord-notification {
    position: fixed;
    top: 80px;
    right: 20px;
    padding: 1rem 1.5rem;
    background: white;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 10000;
    opacity: 0;
    transform: translateX(100%);
    transition: all 0.3s ease;
    max-width: 300px;
}

.trouve-accord-notification.show {
    opacity: 1;
    transform: translateX(0);
}

.trouve-accord-notification.info {
    border-left: 4px solid #2196F3;
}

.trouve-accord-notification.success {
    border-left: 4px solid #4CAF50;
}

.trouve-accord-notification.warning {
    border-left: 4px solid #FF9800;
}

.trouve-accord-notification.error {
    border-left: 4px solid #F44336;
}

/* ============================================
   ACCESSIBILITÉ
   ============================================ */

@media (prefers-reduced-motion: reduce) {
    .trouve-accord-notification,
    .alternative-chord {
        transition: none;
        animation: none;
    }
}

/* ============================================
   MODE SOMBRE
   ============================================ */

@media (prefers-color-scheme: dark) {
    .trouve-accord-alternatives {
        background: #2a2a2a;
        border-left-color: #9a9a00;
    }

    .alternatives-label {
        color: #bbb;
    }

    .alternative-chord {
        background: #1a1a1a;
        border-color: #444;
        color: #eee;
    }

    .alternative-chord:hover {
        background: #9a9a00;
        color: #000;
        border-color: #9a9a00;
    }

    .trouve-accord-notification {
        background: #2a2a2a;
        color: #eee;
    }
}