@layer addon {

    .splide__track {
        display: grid;
        grid-template-areas:
            "list list"
            "pagination arrows";
        grid-template-columns: 1fr auto;
        grid-template-rows: auto 1fr;
        align-items: center;
        gap: var(--padding);
    }

    .splide__pagination {
        width: fit-content;
        border-radius: 48px;
        display: flex;
        gap: 8px;
        padding: 8px 0;
        grid-area: pagination;
        justify-self: start;
        
        margin: 0;
        li {
            display: flex;
            button {
                margin: 0;
                height: 6px;
                border-radius: 16px;
                width: 6px;
                transform: none;
                transition: all 0.4s ease-in-out;
                background-color: var(--color-light);
                opacity: 0.5;
                &.is-active {
                    background-color: var(--color-light);
                    opacity: 1;
                    width: 48px;
                }
            }
        }
        .themeColor2 &, .themeColor3 & {
            li button {
                background-color: rgba(var(--color-dark-transparency), 0.3);
                &.is-active {
                    background-color: var(--color-dark);
                }
            }
        }
    }
    .splide__arrows {
        display: flex;
        gap: calc(var(--padding) / 2);
        grid-area: arrows;
        justify-self: end;
        width: fit-content;
        .splide__arrow {
            position: relative;
            width: 64px;
            height: 64px;
            color: var(--color-dark);
            .icon {
                width: 15px;
                height: 100%;
            }
            &.splide__arrow--prev,
            &.splide__arrow--next {
                right: unset;
                left: unset;
                top: unset;
                transform: unset;
                background-color: transparent;
                border: 2px solid var(--color-dark);
            }
        }
        @media (max-width: 56em) {
            .splide__arrow {
                display: flex;
                width: 48px;
                height: 48px;
            }
        }
        @media (--max-fablet) {
            .splide__arrow {
                display: flex;
                width: 48px;
                height: 48px;
            }
        }
    }
    .splide__list {
        grid-area: list;
    }
}