.cee-post-slider {
    --cee-ps-items: 3;
    --cee-ps-gap: 24px;
    --cee-ps-slide-px: 280px;
    --cee-ps-center-spacer: 0px;
    --cee-ps-center-scale: 1.12;
    --cee-ps-side-scale: 0.82;
    width: 100%;
    min-width: 0;
    position: relative;
}

.cee-post-slider,
.cee-post-slider * {
    box-sizing: border-box;
}

.cee-post-slider__viewport {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    position: relative;
}

.cee-post-slider__track {
    display: flex;
    align-items: stretch;
    gap: var(--cee-ps-gap);
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    margin: 0;
}

.cee-post-slider__track::-webkit-scrollbar {
    display: none;
}

.cee-post-slider__track:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -2px;
}

.cee-post-slider__slide {
    flex: 0 0 var(--cee-ps-slide-px);
    width: var(--cee-ps-slide-px);
    min-width: 0;
    scroll-snap-align: start;
    display: flex;
    position: relative;
    transform-origin: center center;
}

/* Coverflow: esimene ja viimane element saavad päriselt keskele joonduda. */
.cee-post-slider.is-coverflow .cee-post-slider__track {
    align-items: center;
    padding-block: clamp(24px, 4vw, 56px);
    scroll-snap-type: x mandatory;
}

.cee-post-slider.is-coverflow .cee-post-slider__track::before,
.cee-post-slider.is-coverflow .cee-post-slider__track::after {
    content: "";
    flex: 0 0 var(--cee-ps-center-spacer);
    width: var(--cee-ps-center-spacer);
    pointer-events: none;
}

.cee-post-slider.is-coverflow .cee-post-slider__slide {
    scroll-snap-align: center;
    scroll-snap-stop: always;
    transform: scale(var(--cee-ps-side-scale));
    opacity: 1;
    z-index: 1;
    transition: transform 420ms cubic-bezier(.2,.7,.2,1), opacity 320ms ease;
}

.cee-post-slider.is-coverflow .cee-post-slider__slide.is-active {
    transform: scale(var(--cee-ps-center-scale));
    opacity: 1;
    z-index: 3;
}

.cee-post-slider.is-coverflow .cee-post-slider__slide.is-side {
    z-index: 1;
}

.cee-post-slider__card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    background: #fff;
    transition-property: transform, background-color, border-color, box-shadow;
    transition-duration: 260ms;
    transition-timing-function: ease;
}

.cee-post-slider__card--image-only {
    background: transparent;
    overflow: visible;
}

.cee-post-slider__card:hover,
.cee-post-slider__card:focus,
.cee-post-slider__card:focus-visible {
    text-decoration: none;
}

.cee-post-slider__card:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.cee-post-slider__image-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    flex: 0 0 auto;
    background: #f2f2f2;
    isolation: isolate;
}

.cee-post-slider__image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover;
    object-position: center center;
    transform: scale(1);
    transition-property: transform;
    transition-duration: 260ms;
    transition-timing-function: ease;
}

/* Stabiilsed ebakorrapärased pildikujud. */
.cee-post-slider__mask--1 { clip-path: polygon(2% 8%, 93% 0, 100% 83%, 86% 100%, 5% 95%, 0 35%); }
.cee-post-slider__mask--2 { clip-path: polygon(8% 0, 96% 7%, 100% 91%, 72% 98%, 0 100%, 3% 19%); }
.cee-post-slider__mask--3 { clip-path: polygon(0 13%, 87% 2%, 100% 24%, 95% 100%, 18% 94%, 4% 75%); }
.cee-post-slider__mask--4 { clip-path: polygon(4% 3%, 76% 0, 99% 17%, 94% 92%, 64% 100%, 0 91%, 2% 29%); }
.cee-post-slider__mask--5 { clip-path: polygon(0 7%, 91% 2%, 100% 65%, 90% 100%, 9% 96%, 3% 72%); }
.cee-post-slider__mask--6 { clip-path: polygon(12% 0, 100% 9%, 96% 88%, 78% 100%, 2% 93%, 0 23%); }
.cee-post-slider__mask--7 { clip-path: polygon(2% 21%, 18% 1%, 91% 5%, 100% 32%, 96% 96%, 22% 100%, 0 83%); }
.cee-post-slider__mask--8 { clip-path: polygon(0 4%, 69% 0, 96% 11%, 100% 79%, 88% 100%, 4% 93%); }

.cee-post-slider__content {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 18px 18px 20px;
    min-width: 0;
    flex: 1 1 auto;
}

.cee-post-slider__title,
.cee-post-slider__date,
.cee-post-slider__excerpt {
    margin: 0;
    padding: 0;
    transition: color 220ms ease;
}

.cee-post-slider__title {
    line-height: 1.15;
}

.cee-post-slider__date {
    display: block;
    font-size: 0.85em;
    opacity: 0.75;
}

.cee-post-slider__excerpt {
    line-height: 1.5;
}

.cee-post-slider__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 20px;
}

.cee-post-slider__arrows {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.cee-post-slider__arrow {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: currentColor;
    background: transparent;
    cursor: pointer;
    transition: color 180ms ease, background-color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.cee-post-slider__arrow svg {
    width: 58%;
    height: 58%;
    display: block;
}

.cee-post-slider__arrow:hover {
    transform: scale(1.05);
}

.cee-post-slider__arrow:active {
    transform: scale(0.94);
}

.cee-post-slider__arrow:focus-visible,
.cee-post-slider__dot:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.cee-post-slider__arrow[disabled] {
    opacity: 0.35;
    cursor: default;
    transform: none;
}

.cee-post-slider__dots {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.cee-post-slider__dot {
    appearance: none;
    -webkit-appearance: none;
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.28;
    cursor: pointer;
    transition: opacity 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.cee-post-slider__dot.is-active {
    opacity: 1;
    transform: scale(1.28);
}

.cee-post-slider__empty {
    width: 100%;
}

@media (max-width: 767px) {
    .cee-post-slider__nav {
        align-items: center;
    }

    .cee-post-slider__dots {
        justify-content: flex-end;
    }

    .cee-post-slider.is-coverflow .cee-post-slider__track {
        padding-block: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cee-post-slider__track {
        scroll-behavior: auto;
    }

    .cee-post-slider__slide,
    .cee-post-slider__card,
    .cee-post-slider__image,
    .cee-post-slider__arrow,
    .cee-post-slider__dot {
        transition: none !important;
    }

    .cee-post-slider__card:hover {
        transform: none !important;
    }

    .cee-post-slider__card:hover .cee-post-slider__image {
        transform: none !important;
    }
}

/* 1.8.0: navigeerimine servades + bulletid all keskel. */
.cee-post-slider__viewport {
    position: relative;
}

.cee-post-slider__arrows {
    position: absolute;
    inset: 0;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    pointer-events: none;
}

.cee-post-slider__arrow {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    flex: 0 0 auto;
}

.cee-post-slider__nav {
    display: block;
    width: 100%;
    margin-top: 0;
}

.cee-post-slider__dots {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}

/* Infinite-loop kloonid ei tohi saada klaviatuuri fookust. */
.cee-post-slider__slide.is-clone {
    pointer-events: auto;
}

@media (max-width: 767px) {
    .cee-post-slider__dots {
        justify-content: center;
    }
}


/* 1.8.1: seamless infinite loop + desktop mouse/pen drag. */
@media (hover: hover) and (pointer: fine) {
    .cee-post-slider__track {
        cursor: grab;
    }

    .cee-post-slider.is-pointer-down .cee-post-slider__track,
    .cee-post-slider.is-dragging .cee-post-slider__track {
        cursor: grabbing;
    }
}

.cee-post-slider.is-dragging,
.cee-post-slider.is-dragging * {
    user-select: none;
    -webkit-user-select: none;
}

.cee-post-slider.is-dragging .cee-post-slider__track {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
}

.cee-post-slider__image {
    -webkit-user-drag: none;
    user-drag: none;
}

/* 1.9.0: grid + Lae juurde režiim. */
.cee-post-slider.is-grid {
    --cee-ps-grid-columns: 3;
    --cee-ps-grid-gap: 28px;
}

.cee-post-slider.is-grid .cee-post-slider__grid {
    display: grid;
    grid-template-columns: repeat(var(--cee-ps-grid-columns), minmax(0, 1fr));
    gap: var(--cee-ps-grid-gap);
    width: 100%;
    min-width: 0;
}

.cee-post-slider.is-grid .cee-post-slider__grid-item {
    display: flex;
    min-width: 0;
    width: 100%;
}

.cee-post-slider.is-grid .cee-post-slider__grid-item[hidden] {
    display: none !important;
}

.cee-post-slider.is-grid .cee-post-slider__card {
    width: 100%;
    height: 100%;
}

.cee-post-slider.is-grid .cee-post-slider__grid-item.is-revealing {
    animation: cee-post-grid-reveal 360ms cubic-bezier(.2,.7,.2,1) both;
}

@keyframes cee-post-grid-reveal {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cee-post-slider__load-more-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 32px;
}

.cee-post-slider__load-more-wrap[hidden] {
    display: none !important;
}

.cee-post-slider__load-more {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 24px;
    border: 0;
    border-radius: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition-property: color, background-color, border-color, transform, opacity;
    transition-duration: 220ms;
    transition-timing-function: ease;
}

.cee-post-slider__load-more:hover {
    transform: translateY(-2px);
}

.cee-post-slider__load-more:active {
    transform: translateY(0) scale(.97);
}

.cee-post-slider__load-more:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .cee-post-slider.is-grid .cee-post-slider__grid-item.is-revealing {
        animation: none !important;
    }

    .cee-post-slider__load-more {
        transition: none !important;
    }
}
