.block__showsnext h2 {
    margin-bottom: 2.4rem;
}

.block__showsnext .filters {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4rem;
}

    .block__showsnext .filters .form__group {
        display: flex;
        align-items: center;
        gap: .8rem;
    }

        .block__showsnext .filters .form__group p {
            margin-bottom: 0;
            margin-right: .8rem;
        }

.block__showsnext .shows__items {
    position: relative;
}

/* Pre-size the tiles before Slick initializes so they don't flash full-width or as a long grid */
.block__showsnext .shows__carousel:not(.slick-initialized) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4.8rem;
    overflow: hidden;
}

    .block__showsnext .shows__carousel:not(.slick-initialized) > .tile:nth-child(n+4) {
        display: none;
    }

.block__showsnext .slick-list {
    margin: 0 -2.4rem;
}

.block__showsnext .slick-slide > div {
    padding: 0 2.4rem !important;
}

.block__showsnext .button--black svg path {
    stroke: var(--white);
}

.block__showsnext .slick-dots {
    display: none !important;
}

@media(pointer: fine) {
    .block__showsnext .button--black svg path {
        transition: var(--transition-default);
    }

    .block__showsnext .button--black:hover svg path {
        stroke: var(--black);
    }
}

.shows__agenda {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 4.8rem;
    grid-row-gap: 9.6rem;
    margin: 9.6rem 0;
}

    .shows__agenda:has(>.noresults) {
        grid-template-columns: 1fr;
    }

    .shows__agenda .tile--featured {
        grid-column: span 3;
        height: auto;
    }

@media(max-width: 1379px) {
    .shows__agenda {
        grid-template-columns: 1fr 1fr;
    }

        .shows__agenda .tile--featured {
            grid-column: span 2;
        }
}

@media(max-width: 767px) {
    .shows__agenda {
        grid-template-columns: 1fr;
        grid-row-gap: 4.8rem;
    }

        .shows__agenda .tile--featured {
            grid-column: span 1;
            height: unset;
        }
}

.filters:has(.button--remove) + .shows__agenda {
    margin-top: calc(9.6rem - 6.2rem);
}

.shows__overview {
    display: flex;
    flex-flow: column;
    gap: 9.6rem;
    margin: 9.6rem 0;
}

.shows__featured {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    overflow: hidden;
    border-radius: 2.4rem;
}

.showsfeatured__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4rem;
}

.filter__quick {
    margin-top: .5rem;
}

.filter__quick .form__input {
    min-width: 100%;
}

.filter__quick .form__input--search {
    background-color: var(--grey-100);
}

.filter__layer {
    z-index: 200;
}

    .filter__layer .form > .form__group {
        border-bottom: .2rem solid var(--grey-100);
        padding-bottom: 2.4rem;
        margin-bottom: calc(2.4rem - 1.6rem);
    }

        .filter__layer .form > .form__group:last-of-type {
            border-bottom: none;
            padding-bottom: 0;
            margin-bottom: 0;
        }

    .filter__layer h3 {
        font-size: var(--fontsize-header-sm);
        font-weight: 500;
    }

    .filter__layer .form__input[type="date"] {
        max-width: 27.5rem;
        margin-bottom: 1.6rem;
    }

.filter__active {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
}

    .filter__active:has(> .button) {
        margin-top: 1rem;
    }

    .filter__active .button {
        padding-left: 0;
        padding-right: 0;
    }

    .filter__active .button--remove:after {
        content: "";
        width: 2.4rem;
        height: 2.4rem;
        background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7.5L7 17.5M7 7.5L17 17.5' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
        transform: translateY(-.2rem);
        transition: var(--transition-default);
    }

.filter__layer .layer__header {
    position: relative;
}

    .filter__layer .layer__header .filter__close {
        position: absolute;
        right: 5rem;
    }

.filter__layer .layer__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: .2rem solid var(--grey-100);
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
}

    .filter__layer .layer__footer .button--white {
        transform: translateX(-3.2rem);
    }

.filter__layer .toggle label {
    text-indent: -9000px;
}

@media (pointer: fine) {
    .filter__active .button--remove:hover:after {
        transform: translateY(-.2rem) scale(1.2);
    }
}

.shows__more {
    padding: 4.8rem 0 0;
    margin: 0 0 9.6rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    grid-column: 1 / -1; /* start at first column and end at last column */
}

    .shows__more p {
        font-size: 3.2rem;
        line-height: 3.2rem;
        margin-bottom: 2.4rem;
        text-align: center;
    }

        .shows__more p .more--theatre {
            color: var(--purple);
        }

        .shows__more p .more--film {
            color: var(--green);
        }

.filter--placeholder {
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem;
}

    .filter--placeholder div {
        width: 12rem;
        height: 5.2rem;
        border-radius: 4rem;
        background-color: var(--grey-100);
        animation: placeholder 2s infinite;
    }

        .filter--placeholder div:first-of-type {
            width: 100%;
        }

@media(max-width: 1023px) {
    .block__showsnext {
        padding-bottom: 2.4rem;
    }

    .block__showsnext .filters {
        margin-bottom: 2.4rem;
    }

        .block__showsnext .filters .form__group {
            white-space: nowrap;
            flex-wrap: nowrap;
            width: 100dvw;
            padding-right: 4rem;
            overflow-x: auto;
        }

            .block__showsnext .filters .form__group p {
                display: none;
            }

    .block__showsnext .shows__carousel:not(.slick-initialized) {
        grid-template-columns: 1fr;
        gap: 0;
    }

        .block__showsnext .shows__carousel:not(.slick-initialized) > .tile ~ .tile {
            display: none;
        }

    .block__showsnext .button--prev,
    .block__showsnext .button--next {
        display: none;
    }

    .block__showsnext .slick-dots {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex !important;
        justify-content: center;
        gap: .8rem;
        line-height: 0;
        margin: 2.4rem 0;
    }

        .block__showsnext .slick-dots button {
            border: none;
            outline: none;
            margin: 0;
            padding: 0;
            width: 1rem;
            height: 1rem;
            text-indent: -9000px;
            background-color: var(--grey-200);
            border-radius: 100%;
            transition: var(--transition-default);
        }

        .block__showsnext .slick-dots .slick-active button {
            background-color: var(--antracite);
        }

    .block__showsnext .container > .button {
        width: 100%;
        justify-content: center;
    }

    .showsfeatured__header {
        margin-bottom: 2.4rem;
    }

    .block__showsfeatured .container > .button {
        width: 100%;
        justify-content: center;
        margin-top: 2.4rem;
    }

    .shows .filter__quick .form__group--filter {
        flex-wrap: nowrap;
        width: calc(100% + 2rem);
        padding-right: 2rem;
        overflow-x: auto;
        white-space: nowrap;
    }

    .filter__layer .layer__header .filter__close {
        right: 2rem;
    }

    .filter__layer .layer__footer {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .filter__layer .layer__footer .button--white {
        padding-left: 0;
        padding-right: 0;
        transform: none;
    }

    .shows__agenda,
    .shows__overview {
        margin-top: 4.8rem;
    }

    .shows__overview {
        grid-row-gap: 4.8rem;
    }
}

@media(max-width: 767px) {
    .filter__active {
        row-gap: 0;
        column-gap: .8rem;
    }

        .filter__active .button {
            padding-top: .4rem;
            padding-bottom: 0;
            gap: .4rem;
        }

        .shows__featured {
            width: 100dvw;
            transform: translate(-2rem);
            display: flex;
            flex-flow: column;
        }

    .shows__featured .tile--featured {
        height: auto;
        aspect-ratio: 324 / 396;
    }

    /* nth-child(1)/(10) is op mobiel niet langer breed (en de responsive image-helper laadt op mobiel het vierkante crop), dus aspect-ratio en clip-path terug naar vierkant */
    .shows__featured .tile--featured.tile--theatre:nth-child(1) .tile__image,
    .shows__featured .tile--featured.tile--theatre:nth-child(10) .tile__image,
    .shows__featured .tile--featured.tile--film:nth-child(1) .tile__image > div,
    .shows__featured .tile--featured.tile--film:nth-child(10) .tile__image > div {
        aspect-ratio: 1 / 1;
    }

    .shows__featured .tile--featured.tile--theatre:nth-child(1)[data-circles="1"] .tile__image,
    .shows__featured .tile--featured.tile--theatre:nth-child(10)[data-circles="1"] .tile__image,
    .shows__featured .tile--featured.tile--film:nth-child(1)[data-circles="1"] .tile__image > div,
    .shows__featured .tile--featured.tile--film:nth-child(10)[data-circles="1"] .tile__image > div {
        -webkit-clip-path: url(#square1);
        clip-path: url(#square1);
    }

    .shows__featured .tile--featured.tile--theatre:nth-child(1)[data-circles="2"] .tile__image,
    .shows__featured .tile--featured.tile--theatre:nth-child(10)[data-circles="2"] .tile__image,
    .shows__featured .tile--featured.tile--film:nth-child(1)[data-circles="2"] .tile__image > div,
    .shows__featured .tile--featured.tile--film:nth-child(10)[data-circles="2"] .tile__image > div {
        -webkit-clip-path: url(#square2);
        clip-path: url(#square2);
    }

    .shows__featured .tile--featured.tile--theatre:nth-child(1)[data-circles="3"] .tile__image,
    .shows__featured .tile--featured.tile--theatre:nth-child(10)[data-circles="3"] .tile__image,
    .shows__featured .tile--featured.tile--film:nth-child(1)[data-circles="3"] .tile__image > div,
    .shows__featured .tile--featured.tile--film:nth-child(10)[data-circles="3"] .tile__image > div {
        -webkit-clip-path: url(#square3);
        clip-path: url(#square3);
    }

    .shows__agenda .tile--featured-lg {
        aspect-ratio: unset;
    }

        .shows__agenda .tile--featured-lg.tile--theatre .tile__image,
        .shows__agenda .tile--featured-lg.tile--theatre .tile__image img,
        .shows__agenda .tile--featured-lg.tile--theatre .tile__image:after {
            aspect-ratio: 1 / 1 !important;
        }

        .shows__agenda .tile--featured-lg.tile--theatre[data-circles="1"] .tile__image,
        .shows__agenda .tile--featured-lg.tile--film[data-circles="1"] .tile__image > div {
            -webkit-clip-path: url(#square1);
            clip-path: url(#square1);
        }

        .shows__agenda .tile--featured-lg.tile--theatre[data-circles="2"] .tile__image,
        .shows__agenda .tile--featured-lg.tile--film[data-circles="2"] .tile__image > div {
            -webkit-clip-path: url(#square2);
            clip-path: url(#square2);
        }

        .shows__agenda .tile--featured-lg.tile--theatre[data-circles="3"] .tile__image,
        .shows__agenda .tile--featured-lg.tile--film[data-circles="3"] .tile__image > div {
            -webkit-clip-path: url(#square3);
            clip-path: url(#square3);
        }

        .shows__agenda .tile--featured-lg.tile--film {
            aspect-ratio: 1 / 1;
        }

        .shows__agenda .tile--featured-lg.tile--film .tile__image > div {
            aspect-ratio: 1 / 1 !important;
            top: 2rem;
            left: 2rem;
            width: calc(100% - 4rem);
        }

        .shows__agenda .tile--featured-lg.tile--theatre .tile__content {
            margin-top: 24rem;
            padding: 2.4rem;
        }

        .shows__agenda .tile--featured-lg.tile--film .tile__content {
            padding: 2.4rem;
        }

        .shows__agenda .tile--featured-lg .tile__content h3 {
            font-size: var(--fontsize-body-lg);
            margin-bottom: 0;
        }

        .shows__agenda .tile--featured-lg .tile__content p {
            font-size: var(--fontsize-body-md);
            margin-bottom: 0;
        }

        .shows__agenda .tile--featured-lg .tile__content .tile__date {
            margin-top: .8rem;
        }

        .shows__agenda .tile--featured-lg .tile__content .button {
            margin-top: 1.6rem;
        }
}
