/* Animations pour les modals */
.modal-content {
    animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-50px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Styles pour les cartes de rôle */
.role-card input:checked + div {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.role-card:hover div {
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* Transition pour le champ commune */
#commune-field {
    transition: all 0.3s ease-in-out;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
}

#commune-field:not(.hidden) {
    opacity: 1;
    max-height: 200px;
}

/* Styles pour les étapes */
.step-content {
    transition: all 0.3s ease-in-out;
}

.step-content:not(.active) {
    display: none;
}

.step-content.active {
    display: block;
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Effets au survol des inputs */
.group:hover input {
    border-color: #60a5fa;
}

.input-valid {
    transition: opacity 0.3s ease;
}