/* Parcours en 3 étapes — style éditorial premium avec badge squircle aligné à gauche */
.page-contact #parcours-inscription .steps-grid,
.page-inscription #parcours-adhesion .steps-grid,
.page-famille-parentalite #parcours .steps-grid,
.page-adultes-seniors #parcours .steps-grid,
.page-insertion-afs #parcours .steps-grid,
.page-petite-enfance #activites .steps-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--spacing-xl) !important;
    align-items: stretch !important;
}
.page-contact #parcours-inscription .step-card,
.page-inscription #parcours-adhesion .step-card,
.page-famille-parentalite #parcours .step-card,
.page-adultes-seniors #parcours .step-card,
.page-insertion-afs #parcours .step-card,
.page-petite-enfance #activites .step-card {
    position: relative !important;
    text-align: left !important;
    padding: clamp(1.4rem, 2.5vw, 1.95rem) !important;
    overflow: visible !important;
    height: auto !important;
    min-height: 15rem !important;
    border-radius: clamp(1.35rem, 2vw, 1.8rem) !important;
    background: radial-gradient(circle at 88% 8%, rgba(211, 107, 66, 0.11), transparent 15rem), rgba(255, 252, 247, 0.96) !important;
    border: 1px solid rgba(10, 69, 72, 0.08) !important;
    box-shadow: 0 1.25rem 2.75rem rgba(16, 42, 44, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease !important;
    display: grid !important;
    align-content: start !important;
    gap: 0.5rem !important;
}
.page-contact #parcours-inscription .step-card::before,
.page-inscription #parcours-adhesion .step-card::before,
.page-famille-parentalite #parcours .step-card::before,
.page-adultes-seniors #parcours .step-card::before,
.page-insertion-afs #parcours .step-card::before,
.page-petite-enfance #activites .step-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: clamp(1.25rem, 2.4vw, 1.8rem) !important;
    width: 1.35rem !important;
    height: 2.15rem !important;
    border-radius: 0 0 0.35rem 0.35rem !important;
    background: linear-gradient(180deg, var(--color-secondary), var(--color-accent)) !important;
    box-shadow: 0 0.55rem 1rem rgba(211, 107, 66, 0.18) !important;
    z-index: 10 !important;
}
.page-contact #parcours-inscription .step-card:hover,
.page-inscription #parcours-adhesion .step-card:hover,
.page-famille-parentalite #parcours .step-card:hover,
.page-adultes-seniors #parcours .step-card:hover,
.page-insertion-afs #parcours .step-card:hover,
.page-petite-enfance #activites .step-card:hover {
    transform: translateY(-0.35rem) !important;
    border-color: rgba(211, 107, 66, 0.22) !important;
    box-shadow: 0 1.6rem 3.25rem rgba(16, 42, 44, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
}
.page-contact #parcours-inscription .step-card__number,
.page-inscription #parcours-adhesion .step-card__number,
.page-famille-parentalite #parcours .step-card__number,
.page-adultes-seniors #parcours .step-card__number,
.page-insertion-afs #parcours .step-card__number,
.page-petite-enfance #activites .step-card__number {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin: 0 0 0.85rem 0 !important;
    width: 3.25rem !important;
    height: 3.25rem !important;
    font-size: 1.25rem !important;
    font-weight: 850 !important;
    border-radius: 1.15rem !important;
    background: linear-gradient(135deg, var(--color-secondary), var(--color-accent)) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 6px 14px rgba(211, 107, 66, 0.2) !important;
    transition: transform 220ms ease !important;
}
.page-contact #parcours-inscription .step-card:hover .step-card__number,
.page-inscription #parcours-adhesion .step-card:hover .step-card__number,
.page-famille-parentalite #parcours .step-card:hover .step-card__number,
.page-adultes-seniors #parcours .step-card:hover .step-card__number,
.page-insertion-afs #parcours .step-card:hover .step-card__number,
.page-petite-enfance #activites .step-card:hover .step-card__number {
    transform: scale(1.05) !important;
}
.page-contact #parcours-inscription .step-card__eyebrow,
.page-inscription #parcours-adhesion .step-card__eyebrow,
.page-famille-parentalite #parcours .step-card__eyebrow,
.page-adultes-seniors #parcours .step-card__eyebrow,
.page-insertion-afs #parcours .step-card__eyebrow,
.page-petite-enfance #activites .step-card__eyebrow {
    margin: 0.15rem 0 0 !important;
    color: #8d6f5a !important;
    font-size: 0.84rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    text-align: left !important;
}
.page-contact #parcours-inscription .step-card__title,
.page-inscription #parcours-adhesion .step-card__title,
.page-famille-parentalite #parcours .step-card__title,
.page-adultes-seniors #parcours .step-card__title,
.page-insertion-afs #parcours .step-card__title,
.page-petite-enfance #activites .step-card__title {
    margin: 0.1rem 0 0.25rem 0 !important;
    font-family: var(--font-heading), Georgia, serif !important;
    font-size: clamp(1.28rem, 1.85vw, 1.65rem) !important;
    color: var(--color-text-main) !important;
    line-height: 1.15 !important;
    text-align: left !important;
    letter-spacing: -0.01em !important;
}
.page-contact #parcours-inscription .step-card p:not(.step-card__eyebrow),
.page-inscription #parcours-adhesion .step-card p:not(.step-card__eyebrow),
.page-famille-parentalite #parcours .step-card p:not(.step-card__eyebrow),
.page-adultes-seniors #parcours .step-card p:not(.step-card__eyebrow),
.page-insertion-afs #parcours .step-card p:not(.step-card__eyebrow),
.page-petite-enfance #activites .step-card p:not(.step-card__eyebrow) {
    text-align: left !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    overflow: visible !important;
    color: var(--color-text-muted) !important;
}

@media (max-width: 1024px) {
    .page-contact #parcours-inscription .steps-grid,
    .page-inscription #parcours-adhesion .steps-grid,
    .page-famille-parentalite #parcours .steps-grid,
    .page-adultes-seniors #parcours .steps-grid,
    .page-insertion-afs #parcours .steps-grid,
    .page-petite-enfance #activites .steps-grid {
        grid-template-columns: 1fr !important;
        max-width: 36rem !important;
        margin-inline: auto !important;
        gap: 2.25rem !important;
    }
}
