.ws-arrow-button-v2 {
    --height: calc(var(--dimensions) + var(--padding-top) + var(--padding-bottom));

    padding-left: var(--padding-left);
    padding-right: calc(var(--gap) + var(--dimensions));

    height: var(--height);

    display: flex;
    align-items: center;
    width: fit-content;

    cursor: pointer;
    position: relative;
    z-index: 0;
}

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

.ws-arrow-button-v2 .ws-arrow-button-v2__anchor {
    display: flex;
    align-items: center;
    width: fit-content;
    color: currentColor !important;
    text-decoration: unset;
}

.ws-arrow-button-v2 svg {
    min-width: unset;
    min-height: unset;
    width: var(--dimensions);
    height: var(--dimensions);
}

.ws-arrow-button-v2[data-direction="left"] {
    padding-right: var(--padding-right);
    padding-left: calc(var(--gap) + var(--dimensions));
}

.ws-arrow-button-v2 .ws-arrow-button-v2__arrow-wrapper {
    width: var(--dimensions);
    height: var(--dimensions);
    transition: width var(--duration) var(--ease);

    display: flex;
    align-items: center;

    position: absolute;
    z-index: -1;
    right: var(--padding-right);
}

.ws-arrow-button-v2[data-direction="left"] .ws-arrow-button-v2__arrow-wrapper {
    left: var(--padding-left);
    right: auto;
}

.ws-arrow-button-v2 .ws-arrow-button-v2__arrow-container {
    position: absolute;
    right: 0;
    width: var(--dimensions);
    height: var(--dimensions);
}

.ws-arrow-button-v2[data-direction="left"] .ws-arrow-button-v2__arrow-container {
    left: 0;
    right: auto;
}

.ws-arrow-button-v2 .ws-arrow-button-v2__arrow {
    transform: rotate(var(--arrow-default-rotation));
    transition: transform var(--duration) var(--ease);
}

.ws-arrow-button-v2:hover .ws-arrow-button-v2__arrow-wrapper {
    width: calc(100% - var(--padding-right) * 2);
}

.ws-arrow-button-v2[data-direction="left"]:hover .ws-arrow-button-v2__arrow-wrapper {
    width: calc(100% - var(--padding-left) * 2);
}

.ws-arrow-button-v2:hover .ws-arrow-button-v2__arrow {
    transform: rotate(var(--arrow-rotation));
}