/* Layout additions for Splide core; retain the site's existing card and control designs. */
.op-splide {
    min-inline-size:0;
    & .splide__track { min-inline-size:0; }
    & .splide__list {
        display:flex;
        gap:0;
        overflow:visible;
        scroll-snap-type:none;
        scrollbar-width:none;
        & > .splide__slide { flex-shrink:0; min-inline-size:0; scroll-snap-align:none; }
    }
    & .splide__track--draggable { cursor:grab; & a, & img, & button { cursor:inherit; } &:active { cursor:grabbing; } }
    & .splide__arrow:disabled { opacity:.35; cursor:default; }
    & .op-carousel-controls[hidden], & .op-carousel-dots button[hidden] { display:none; }
}
.op-selected-work.op-splide .op-project-track,
.op-property-gallery.op-splide .op-property-track,
.op-comparison .op-splide .op-comparison-thumbs { display:flex; gap:0; overflow:visible; scroll-snap-type:none; }
.op-homes-index .op-listings-sold.op-splide {
    & > .splide__track { padding-block:1rem .25rem; }
    & .op-project-track { padding-block:0; }
}
.op-testimonials .op-testimonial-carousel.op-splide {
    & > .splide__track { max-inline-size:49.5rem; margin-inline:2.5rem; }
    & .op-quotes { max-inline-size:none; margin:0; block-size:auto; align-items:flex-start;
        & .splide__slide { block-size:auto; margin:0; }
    }
    @media (min-width:1000px) { & > .splide__track { margin-inline:auto; } }
}
.op-comparison {
    & .op-comparison-main { max-inline-size:61.25rem; margin-inline:auto; }
    & .op-comparison-panels.splide__list { max-inline-size:none; }
    & .op-comparison-thumbs.splide__list {
        & .splide__slide { display:flex; }
        & button { flex:1 1 auto; inline-size:100%; }
    }
}
.op-lightbox.op-splide {
    & > .splide__track { min-block-size:0; }
    & .op-lightbox-slides { block-size:100%; }
    & .splide__slide { block-size:100%; }
}

/* Keep all portfolio-style card carousels centered on wide screens. */
[data-op-carousel] {
    & > .splide__track, & > .op-project-track, & > .op-carousel-controls {
        max-inline-size:1480px;
        margin-inline:auto;
    }
}
