.splide__list,
.splide {
    flex-direction: row;
}

.splide,
.splide .splide__list {
    gap: 0;
}

ul.splide__pagination {
    display: flex;
    flex-direction: row;
    padding: 1rem;
}

.dark-pagination .splide__pagination__page {
    background: var(--border);
}

.dark-pagination .splide__pagination__page.is-active {
    background: var(--bg-white);
}

.light-pagination .splide__pagination__page {
    background: var(--text-dull);
}

.light-pagination .splide__pagination__page.is-active {
    background: var(--button-black);
}

.button.splide__arrow {
    height: auto;
}

#modal-gallery .button.splide__arrow {
    z-index: 103;
}

.splide__arrow--next.rounded,
.splide__arrow--prev.rounded {
    border-radius: 10rem;
}

.splide .splide__arrow--prev svg {
    transform: scaleX(1);
}

.splide__arrows.top-right-arrows {
    position: relative;
    flex-direction: row;
    gap: 0.5rem;
    align-items: flex-end;
}

.top-right-arrows .splide__arrow {
    position: relative;
    transform: unset;
    top: auto;
}

.top-right-arrows .splide__arrow--next {
    right: unset;
}

.top-right-arrows .splide__arrow--prev {
    left: unset;
}

.splide__arrows.bottom-right-arrows {
    position: relative;
    flex-direction: row;
    gap: 0.5rem;
    align-items: flex-end;
}

.bottom-right-arrows .splide__arrow {
    position: relative;
    transform: unset;
    top: auto;
}

.bottom-right-arrows .splide__arrow--next {
    right: unset;
}

.bottom-right-arrows .splide__arrow--prev {
    left: unset;
}

.splide__slide__row {
    flex-direction: row;
    gap: unset;
}

.splide__arrows.top-right-arrows .splide-counter {
    display: none;
}

.splide-counter.is-mobile-only {
    display: none;
}

.splide.is-focus-in button.splide__arrow:focus {
    outline: 2px solid var(--hover-prime);
    outline-offset: 0.25rem;
}

/* Desktop — pure grid, Splide markup ignored */
.splide.gallery-15,
.splide.gallery-14 {
    visibility: visible;
}

.splide.gallery-15 .splide__arrows,
.splide.gallery-14 .splide__arrows {
    visibility: unset;
}

@media screen and (min-width: 1024px) {
    .splide.gallery-15 .splide__arrows,
    .splide.gallery-14 .splide__arrows {
        visibility: hidden;
    }
    .gallery-15 .splide__track,
    .gallery-14 .splide__track {
        overflow: visible;
    }
    .gallery-15 .splide__list,
    .gallery-14 .splide__list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1px;
        grid-template-rows: 1fr 1fr;
    }
}

/* Restore your col-span/row-span on desktop only */
@media screen and (min-width: 1024px) {
    .splide.gallery-15.is-initialized:not(.is-active) .splide__list,
    .splide.gallery-14.is-initialized:not(.is-active) .splide__list {
        display: grid;
    }
    .gallery-15 .col-span-2 {
        grid-column: span 2;
    }
    .gallery-15 .row-span-4 {
        grid-row: span 4;
    }
}

@media (max-width: 767px) {
    .splide-counter.is-mobile-only {
        display: flex;
    }
}

@media screen and (max-width: 600px) {
    .splide > .row:has(.splide__arrows.top-right-arrows) {
        flex-direction: column;
    }

    .splide__arrows.top-right-arrows:has(.splide-counter) {
        justify-content: space-between;
    }

    .splide__arrows.top-right-arrows {
        justify-content: flex-end;
    }

    .splide__arrows.top-right-arrows .splide-counter {
        display: flex;
    }
}
