/*
 * Groups TOP (templates/Groups/index.php)
 * Slick slider margin override: remove extra space under dotted slider.
 */

.js-new-groups-slider.slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}

/*
 * New groups slider (TOP)
 * - Center 1 slide, show left/right peeks
 * - Emphasize the center card
 */

/* Cancel .app-gutter (px-4 = 1rem) so the slider touches the frame edges. */
.js-new-groups-slider {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
    z-index: 0;
}

/*
 * Spacing between slides
 * - Use margin (not padding) so the gap is visible even when slide width is fixed.
 * - Keep outer edges flush by pulling the list back with negative margins.
 */
.js-new-groups-slider .slick-slide {
    padding-left: 8px;
    padding-right: 8px;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

.js-new-groups-slider .slick-list {
    overflow: hidden;
    margin: 0;
    z-index: 0;
}

.js-new-groups-slider .slick-track {
    overflow: hidden;
    z-index: 0;
}

@media (max-width: 480px) {
    .js-new-groups-slider {
        overflow: hidden;
            touch-action: pan-y pinch-zoom;
    }

    .js-new-groups-slider .slick-list {
        overflow: hidden;
            touch-action: pan-y pinch-zoom;
    }

    .js-new-groups-slider .slick-track {
        overflow: hidden;
            touch-action: pan-y pinch-zoom;
    }
}

/* Center emphasis (de-emphasize side peeks). */
.js-new-groups-slider .slick-slide > div {
    transition: opacity 220ms ease, transform 220ms ease;
    transform: scale(0.96);
    opacity: 0.55;
}

.js-new-groups-slider .slick-center > div {
    transform: scale(1);
    opacity: 1;
}

/* Height tweak: keep the slider card square (1:1) */
.js-new-groups-slider .aspect-square {
    aspect-ratio: 1 / 1;
}

/* External dots */
.js-new-groups-slider-dots .slick-dots {
    position: static;
    display: flex !important;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 1;
}

.js-new-groups-slider-dots .slick-dots li {
    margin: 0;
}

.js-new-groups-slider-dots .slick-dots li button {
    position: relative;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
    color: transparent;
    cursor: pointer;
}

.js-new-groups-slider-dots .slick-dots li button:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: rgb(154 52 18 / 0.35);
    transform: translate(-50%, -50%);
}

.js-new-groups-slider-dots .slick-dots li.slick-active button:before {
    width: 10px;
    height: 10px;
    background: #f97316;
}

.js-new-groups-slider-dots .slick-dots li button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgb(253 186 116 / 0.40);
    border-radius: 9999px;
}
