/* ============================================
   STYLES INDEX - Simulateur SEA
   ============================================ */

/* --- Style Wizard (index.php) --- */
.progress-bar {
    padding: 1.5em 0 0;
}

@media (max-width: 48em) {
    .progress-bar {
        padding: 0;
        display: flex;
        scrollbar-width: none; /* Hide scrollbar Firefox */
    }
    .progress-bar::-webkit-scrollbar {
        display: none; /* Hide scrollbar Chrome/Safari */
    }
}

.progress-step {
    display: flex;
    align-items: center;
    padding: 0.75em 1.5em;
    cursor: pointer;
    transition: background-color 0.2s;
    position: relative;
    color: var(--color-text-secondary);
}

@media (max-width: 48em) {
    .progress-step {
        padding: 1em 1.25em;
        flex: 0 0 auto;
        border-bottom: 2px solid transparent;
    }
}

.progress-step:hover {
    background-color: var(--color-border-light);
}

.progress-step.active {
    background-color: var(--color-primary-light);
    color: var(--color-primary);
    font-weight: 500;
}

.progress-step.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0.25em;
    background-color: var(--color-primary);
}

@media (max-width: 48em) {
    .progress-step.active::before {
        width: 100%;
        height: 0.25em;
        top: auto;
        bottom: 0;
        left: 0;
    }
}

.progress-step span {
    width: 2em;
    height: 2em;
    border-radius: var(--br-round);
    background-color: var(--color-divider);
    color: var(--color-text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.75em;
    font-size: var(--fs-xs);
    font-weight: 600;
    flex-shrink: 0;
}

.progress-step.active span {
    background-color: var(--color-primary);
    color: var(--color-bg-white);
}

.progress-step.completed span {
    background-color: var(--color-success);
    color: var(--color-bg-white);
}

.progress-step .step-label {
    font-size: var(--fs-sm);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.form-step {
    display: none;
    animation: fadeIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
}

.form-step.active {
    display: block;
}

.interest-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.5em;
    margin-top: 0.5em;
    justify-items: start;
}

.interest-option label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 0.9em;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.interest-option input {
    margin-right: 0.5em;
}

/* Specific Field Groups */
.age-sexe-group {
    gap: 1em;
    margin-top: 0.5em;
}

.age-sexe-group label {
    font-size: 0.9em;
    color: #555;
}


        .alert-error {
            background-color: #fce8e6;
            color: #d93025;
            padding: 1em;
            border-radius: 8px;
            margin-bottom: 2em;
            border: 1px solid #f1c40f;
            font-size: 0.9em;
        }

        .reset-link {
            font-size: 0.8125em;
            color: var(--color-text-secondary);
            text-decoration: none;
            font-weight: 500;
            cursor: pointer;
            margin-top: 1.5em;
        }

        .reset-link:hover {
            text-decoration: underline;
        }