.ws-arrow-button-v8{
    display: flex;
    justify-content: center;
    align-items: center;
    
    cursor: pointer;
    position: relative;

    width: fit-content;
    min-height: var(--dimensions-to);
}

.ws-arrow-button-v8:not(:has(> a)),
.ws-arrow-button-v8 > a {
    cursor: pointer;
}

.ws-arrow-button-v8 .ws-arrow-button-v8__anchor {
    display: flex;
    justify-content: center;
    align-items: center;
    color: currentColor !important;
    text-decoration: unset;
    width: 100%;
}

.ws-arrow-button-v8__arrow{
    width: var(--dimensions);
    height: var(--dimensions);

    position: relative;
    overflow: hidden;

    transition: all var(--arrow-duration) var(--arrow-easing);
}

.ws-arrow-button-v8__arrow svg{
    width: 100%;
    height: 100%;

    position: absolute;
    transform: translateX(-100%);

    min-width: unset !important;
    min-height: unset !important;

    transition: transform var(--arrow-duration) var(--arrow-easing);
}

.ws-arrow-button-v8:hover .ws-arrow-button-v8__arrow svg{
    transform: translateX(0);
}

.ws-arrow-button-v8__text{
    position: relative;
}

.ws-arrow-button-v8__text::after{
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #000;

    transform-origin: right;

    transition: transform var(--underline-duration) var(--underline-easing);
}

.ws-arrow-button-v8:hover .ws-arrow-button-v8__text::after{
    transform: scaleX(0);
}

.ws-arrow-button-v8:hover .ws-arrow-button-v8__arrow{
    width: var(--dimensions-to);
    height: var(--dimensions-to);
}