.gradient-bg {
    background: linear-gradient(135deg, #6b73ff 0%, #000dff 100%);
}

.floating-label {
    position        : absolute;
    top             : 0;
    left            : 0.75rem;
    transform       : translateY(-50%);
    background-color: white;
    padding         : 0 0.25rem;
    font-size       : 0.75rem;
    color           : #6b7280;
}

.input-field {
    transition: all 0.2s ease;
}

.input-field:focus-within {
    border-color: #3b82f6;
    box-shadow  : 0 0 0 2px rgba(59, 130, 246, 0.2);
}

.error-message {
    color     : #ef4444;
    font-size : 0.75rem;
    margin-top: 0.25rem;
}

.password-toggle {
    position : absolute;
    right    : 0.75rem;
    top      : 50%;
    transform: translateY(-50%);
    cursor   : pointer;
    color    : #6b7280;
}

.animated-section {
    animation: fadeIn 0.5s ease forwards;
}

.theme-card {
    transition: all 0.2s ease;
    cursor    : pointer;
}

.theme-card:hover {
    transform : translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.theme-card.selected {
    border-color    : #3b82f6;
    background-color: #f8fafc;
}

@keyframes fadeIn {
    from {
        opacity  : 0;
        transform: translateY(10px);
    }

    to {
        opacity  : 1;
        transform: translateY(0);
    }
}

.progress-step {
    width           : 2rem;
    height          : 2rem;
    display         : flex;
    align-items     : center;
    justify-content : center;
    border-radius   : 50%;
    background-color: #e5e7eb;
    color           : #6b7280;
    font-weight     : 600;
}

.progress-step.active {
    background-color: #3b82f6;
    color           : white;
}

.progress-step.completed {
    background-color: #10b981;
    color           : white;
}

.progress-line {
    flex            : 1;
    height          : 2px;
    background-color: #e5e7eb;
}

.progress-line.active {
    background-color: #3b82f6;
}

.card-hover:hover {
    transform : translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.timeline-item:not(:last-child)::after {
    content   : '';
    position  : absolute;
    left      : 7px;
    top       : 24px;
    height    : 100%;
    width     : 2px;
    background: #3B82F6;
}

.animate-float {
    animation: float 3s ease-in-out infinite;
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }
}

.btn-night {
    background-color: #1E293B;
    color: white;
    border: none;
}

.btn-night:hover {
    background-color: #334155; /* Un peu plus clair pour l’effet hover */
}
