.substep-button {
    position: relative;

    &__button {
        padding: 0.2rem 1rem;
        background: var(--color-dark-blue);
        border: none;
        border-radius: var(--space-xs-y) var(--space-xs-x);
        color: var(--color-text);
        font-size: var(--font-size-m);
        cursor: pointer;
        transition: all 0.3s ease;

        &:hover {
            background-color: color-mix(
                in srgb,
                var(--color-dark-blue) 80%,
                black
            );
        }

        &--inactive {
            background: rgba(43, 43, 43, 0.2);
            backdrop-filter: blur(15px);
            color: var(--color-text);

            &:hover {
                background: rgba(43, 43, 43, 0.2);
            }
        }

        &--validated {
            background: var(--color-brand);
        }
    }

    &__popover {
        position: absolute;
        bottom: calc(100% + var(--space-xs-y));
        left: 0;
        width: 40%;
        padding: 0.8rem var(--space-sm-x) var(--space-sm-y) var(--space-sm-x);
        border-radius: var(--border-radius-button-small);
        background: rgba(73, 73, 73, 0.3);
        backdrop-filter: blur(15px);
        text-align: left;
        font-size: var(--font-size-m);
        line-height: 1.8;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: translateY 0.3s ease;
        width: 27vw;
        min-width: 250px;
        z-index: 1;
        display: flex;
        flex-direction: column;
        transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out,
            visibility 0.3s ease-in-out;

        h3 {
            margin-bottom: var(--space-xs-y);
            color: var(--color-brand);
            flex-shrink: 0;
        }

        p {
            font-family: var(--font-family-secondary);
            overflow-y: auto;
            flex: 1;

            &::-webkit-scrollbar {
                width: 2px;
            }

            &::-webkit-scrollbar-track {
                background: transparent;
            }

            &::-webkit-scrollbar-thumb {
                background-color: var(--color-grey-dark);
                border-radius: 4px;
                border: 1px solid #646464;
            }

            &::-webkit-scrollbar-thumb:hover {
                background-color: color-mix(in srgb, #646464 50%, black);
            }
        }
    }

    &__button:hover &__popover {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    span {
        white-space: pre-line;
        text-align: center;
    }
}
