.frise-block {
    padding: 10vh var(--gutters) 5vh;
}
.frise-block__inner{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
}
.frise-block__steps{
    display: flex;
    width: 100%;
    justify-content: space-between;
    position: relative;
}
.frise-block__step{
    width: var(--frise-step-width, 160px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.frise-block__step p{
    text-align: center;
    margin: 0;
}
.frise-block__mark{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--wp--preset--color--sauge);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.frise-block__mark span{
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 100%;
    border: solid 1px var(--wp--preset--color--sauge);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
    transition: transform 1.5s ease-out, opacity 1.5s ease-out;
}
.frise-block__line{
    position: absolute;
    top: 20px;
    left: calc(var(--frise-step-width, 160px) / 2);
    right: calc(var(--frise-step-width, 160px) / 2);
    height: 1px;
    background-color: var(--wp--preset--color--sauge);
    z-index: -1;    
}
@keyframes ringAnimation {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 0;
    }
    50% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 0;
    }
}
.is-animating {
    animation: ringAnimation 0.5s ease-out;
}
.frise-block__labels{
    display: flex;
    justify-content: space-around;
    width: 100%;
}
.frise-block__label{
    font-size: 20px;
    font-weight: 600;
    color: var(--wp--preset--color--sauge);
    width: 40%;
    text-align: center;
    text-transform: uppercase;
    border-bottom: solid 1px var(--wp--preset--color--sauge);
    padding-bottom: 1rem;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.frise-block__label.active{
    opacity: 1;
}
@media (max-width: 768px) {
    .frise-block{
        padding: 5vh var(--gutters);
    }
    .frise-block__steps{
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
    }
    .frise-block__step{
        width: 100%;
    }
    .frise-block__line{
        top: 20px;
        bottom: 20px;
        left: 50%;
        right: auto;
        width: 1px;
        height: auto;
        transform: translateX(-50%);
    }
    .frise-block__step p{
        background-color: var(--wp--preset--color--blanc);
        padding: 0.5rem;
        color: var(--wp--preset--color--noir);
        border-radius: 4px;
    }
    .frise-block__labels{
        display: none;
    }
}