.fe-accordion > .fe-accordion__item + .fe-accordion__item {
    margin-top: 0.85rem;
}

.fe-accordion--nested > .fe-accordion__item + .fe-accordion__item {
    margin-top: 0.5rem;
}

.fe-accordion__item {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fe-accordion__item:not(.is-locked):hover {
    transform: translateY(-2px);
    box-shadow: 0 0.75rem 1.4rem rgba(16, 40, 88, 0.08) !important;
}

.fe-accordion__button {
    font-weight: 700;
    gap: 0.25rem;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.fe-accordion__button:focus {
    box-shadow: none;
    border-color: transparent;
}

.fe-accordion__button:not(.collapsed) {
    background: #f5f7fb;
    color: var(--brand-primary);
    box-shadow: none;
}

.fe-accordion__title {
    color: var(--brand-primary);
    font-weight: 800;
}

.fe-accordion__index {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(16, 40, 88, 0.08);
    color: var(--brand-primary);
    font-weight: 800;
    flex-shrink: 0;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.fe-accordion__button:not(.collapsed) .fe-accordion__index,
.fe-accordion__item.is-complete .fe-accordion__index {
    background: var(--brand-primary);
    color: #fff;
}

.fe-accordion__item.is-locked {
    opacity: 0.8;
}

.fe-accordion__item.is-locked .fe-accordion__button {
    background: #f1f3f7;
}

.fe-accordion__item.is-current {
    outline: 1px solid rgba(16, 40, 88, 0.16);
}

.fe-accordion--nested .fe-accordion__item {
    background: #f8fafc;
}

.fe-accordion--nested .fe-accordion__button {
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
}

.fe-accordion__body {
    animation: fe-accordion-in 0.25s ease;
}

@keyframes fe-accordion-in {
    from {
        opacity: 0.35;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
