.novin-post-slider .swiper-slide {
    padding: 20px 0;
    height: auto;
    display: flex;
}

.novin-post-slider .swiper-pagination {
    position: static;
}

.novin-post-slider .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    transition: width 0.25s, background 0.25s;
}

.novin-post-slider .swiper-pagination-bullet-active {
    background: #0c7c39;
    width: 26px;
    border-radius: 999px;
}

.novin-post-card {

    background: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.novin-post-content {

    padding: 15px;

}

.novin-post-poster {
    display: block;
    overflow: hidden;
}

.ratio-1-1 {
    aspect-ratio: 1/1;
}

.ratio-16-9 {
    aspect-ratio: 16/9;
}

.ratio-16-11 {
    aspect-ratio: 16/11;
}

.ratio-9-16 {
    aspect-ratio: 9/16;
}

.ratio-11-16 {
    aspect-ratio: 11/16;
}

.ratio-13-16 {
    aspect-ratio: 13/16;
}

.ratio-4-3 {
    aspect-ratio: 4/3;
}

.novin-post-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.novin-post-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}

.novin-button-width-inline .novin-post-read-link {
    display: inline-flex;
}

.novin-button-width-full .novin-post-read-link {
    display: flex;
    width: 100%;
}

.novin-post-read-link {
    align-items: center;
    gap: 10px;
}

.novin-post-read-link .novin-btn-icon {
    display: inline-flex;
}

.novin-post-title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/*
 * Theme 2
 */
.novin-post-theme2 .novin-post-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/*
 * Theme 3
 */

.novin-post-theme3 .novin-post-card {
    position: relative;
}

.novin-post-theme3 .novin-post-content {
    position: absolute;
    bottom: 0;
    width: 100%;
}

.tab-filter {
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.tab-filter [data-filter] {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #e3ddd1;
    color: #57534a;
    transition: all 0.3s linear;
}

.tab-filter [data-filter].active,
.tab-filter [data-filter]:hover {
    background: #0c7c39;
    color: #ffffff;
}

.novin-grid {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 24px;

}

.swiper-slide-hidden {
    display: none !important;
}

.swiper-wrapper {

    transition-timing-function: cubic-bezier(.22, .61, .36, 1);

}

.novin-post-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15, 13, 9, 0.82) 0%, rgba(15, 13, 9, 0.15) 45%, transparent 70%);
}

.novin-post-translateY {
    transition: transform 0.25s, box-shadow 0.25s;
}

.novin-post-translateY:hover {
    transform: translateY(-4px) !important;
    box-shadow: rgba(20, 18, 12, 0.16) 0 10px 20px !important;
}

.novin-post-back-hover {
    transition: border-color 0.25s, background 0.25s;
}

.novin-post-back-hover:hover {
    border-color: rgb(223, 234, 226) !important;
    background: rgb(251, 253, 251) !important;
}


.novin-slider {
    --novin-slides: var(--novin-desktop);
}

@media (max-width: 1023px) {
    .novin-slider {
        --novin-slides: var(--novin-tablet);
    }
}

@media (max-width: 767px) {
    .novin-slider {
        --novin-slides: var(--novin-mobile);
    }
}

.novin-slider:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    gap: var(--novin-space);
}

.novin-slider:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 calc(
            (100% - ((var(--novin-slides) - 1) * var(--novin-space)))
            / var(--novin-slides)
    );
    width: calc(
            (100% - ((var(--novin-slides) - 1) * var(--novin-space)))
            / var(--novin-slides)
    );
}

@media (max-width: 767px) {
    .load-more-absolute {
        position: absolute;
        left: 15px;
        bottom: 24px;
    }
}