.gn-nav-arrow {
    display: grid;
    place-items: center;
    width: var(--gn-nav-arrow-size, 48px);
    height: var(--gn-nav-arrow-size, 48px);
    border: var(--gn-nav-arrow-border-width, 3px) solid var(--color-main);
    border-radius: 50%;
    background: var(--color-white);
    box-shadow: var(--gn-nav-arrow-shadow, 2px 2px 0 var(--color-main));
    color: var(--color-main);
    transition: box-shadow 160ms ease, transform 160ms ease;
}

.gn-nav-arrow:hover,
.gn-nav-arrow:focus-visible {
    box-shadow: 0 0 0 var(--color-main);
    transform: translate(
        var(--gn-nav-arrow-hover-offset, 2px),
        var(--gn-nav-arrow-hover-offset, 2px)
    );
}

.gn-nav-arrow__icon {
    width: var(--gn-nav-arrow-icon-size, 40px);
    height: var(--gn-nav-arrow-icon-size, 40px);
    object-fit: contain;
}

.gn-nav-arrow--prev .gn-nav-arrow__icon {
    transform: rotate(-90deg);
}

.gn-nav-arrow--next .gn-nav-arrow__icon {
    transform: rotate(90deg);
}

@media (max-width: 767px) {
    .gn-nav-arrow {
        --gn-nav-arrow-size: 36px;
        --gn-nav-arrow-border-width: 2px;
        --gn-nav-arrow-shadow: 1px 1px 0 var(--color-main);
        --gn-nav-arrow-icon-size: 30px;
    }
}
