.jsp-post-block-list.jsp-post-grid-view {
    display: grid !important;
    grid-template-columns: repeat(var(--jsp-grid-columns, 3), 1fr);
    gap: var(--jsp-post-gap, 20px);
    list-style: none;
    padding: 0;
    margin: 0;
}

.jsp-post-block-list.jsp-post-list-view {
    display: grid !important;
    grid-template-columns: 1fr;
    /*gap: var(--jsp-post-gap, 20px);*/
    list-style: none;
    padding: 0 !important;
    margin: 0;
}

.jsp-post-block-list.jsp-post-mixed-2-3-view {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    height: var(--jsp-mixed-height, 480px);
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Row-based mixed layout: two cards on top and three below. */
.jsp-post-mixed-2-3-view .jsp-post-block-item:nth-child(1) {
    grid-column: span 3;
}

.jsp-post-mixed-2-3-view .jsp-post-block-item:nth-child(2) {
    grid-column: span 3;
}

.jsp-post-mixed-2-3-view .jsp-post-block-item:nth-child(3),
.jsp-post-mixed-2-3-view .jsp-post-block-item:nth-child(4),
.jsp-post-mixed-2-3-view .jsp-post-block-item:nth-child(5),
.jsp-post-mixed-2-3-view .jsp-post-block-item:nth-child(n+6) {
    grid-column: span 2;
}

/* Column-based mixed layout: one large card beside a 2x2 grid. */
.jsp-post-mixed-column-view {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.jsp-post-mixed-column-view .jsp-post-block-item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}

.jsp-post-mixed-column-view .jsp-post-block-item:nth-child(n+2) {
    grid-column: span 1;
}

/* Tablet adjustments */
@media (max-width: 768px) {
    .jsp-post-block-list.jsp-post-mixed-2-3-view {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: none;
        height: auto;
    }

    .jsp-post-block-list.jsp-post-mixed-2-3-view .jsp-post-block-item:nth-child(n) {
        grid-column: span 1;
        grid-row: auto;
    }
}

/* Mobile adjustments */
@media (max-width: 600px) {

    .jsp-post-block-list.jsp-post-grid-view,
    .jsp-post-block-list.jsp-post-mixed-2-3-view {
        grid-template-columns: 1fr !important;
        height: auto;
    }

    .jsp-post-block-list.jsp-post-mixed-2-3-view .jsp-post-block-item:nth-child(n) {
        grid-column: span 1 !important;
    }
}

.jsp-post-block-item {
    border-radius: 0px;
    /*border-width: 1px 0px 0px 0px !important;*/
}


.jsp-post-list-view .jsp-post-block-item-featured {
    padding: 0 0 15px;
}

.jsp-post-list-view .jsp-post-block-item-featured .jsp-featured-image {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    margin-bottom: 15px;
    
}

.jsp-post-list-view .jsp-post-block-item-featured h3 {
    font-size: 1.5rem;
}

.jsp-post-read-more {
    display: inline-block;
    margin: 12px 15px 0;
    font-size: 0.75rem;
    text-decoration: none;
    text-transform: uppercase;
}

.jsp-post-list-view .jsp-post-block-item:not(.jsp-post-block-item-featured).jsp-image-position-left {
    min-height: var(--jsp-list-image-min-height, 140px);
}

.jsp-post-list-view .jsp-image-position-left,
.jsp-post-list-view .jsp-image-position-right {
    grid-template-columns: minmax(0, var(--jsp-list-image-max-width, 35%)) 1fr;
}

.jsp-post-list-view .jsp-image-position-right {
    grid-template-columns: 1fr minmax(0, var(--jsp-list-image-max-width, 35%));
}

.jsp-post-list-view .jsp-post-block-item:not(.jsp-post-block-item-featured).jsp-image-position-left .jsp-featured-image-wrap,
.jsp-post-list-view .jsp-post-block-item:not(.jsp-post-block-item-featured).jsp-image-position-right .jsp-featured-image-wrap {
    width: 100%;
    height: auto;
}

.jsp-post-list-view .jsp-post-block-item:not(.jsp-post-block-item-featured).jsp-image-position-left .jsp-featured-image-wrap,
.jsp-post-list-view .jsp-post-block-item:not(.jsp-post-block-item-featured).jsp-image-position-right .jsp-featured-image-wrap {
    height: var(--jsp-list-image-min-height, 140px);
    overflow: hidden;
}

.jsp-post-list-view .jsp-post-block-item:not(.jsp-post-block-item-featured) .jsp-featured-image-wrap .jsp-featured-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jsp-post-block-widget-title {
    margin: 0 0 20px;
}

.jsp-post-block-item {
    position: relative;
}

.jsp-post-block-taxonomy-top {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}

.jsp-post-block-taxonomy-top .jsp-taxonomy-terms a {
    display: block;
    padding: 4px 8px;
    color: #fff !important;
    font-size: 0.7rem;
    text-decoration: none;
}

.jsp-featured-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.jsp-featured-image-wrap {
    display: block;
    position: relative;
}

.jsp-featured-image-wrap .jsp-post-block-taxonomy-top {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}

.jsp-image-position-left,
.jsp-image-position-right {
    display: grid;
    grid-template-columns: minmax(90px, 35%) 1fr;
    column-gap: 12px;
    row-gap: 0;
    align-items: start;
}

.jsp-image-position-right {
    grid-template-columns: 1fr minmax(90px, 35%);
}

.jsp-image-position-right .jsp-featured-image-wrap {
    grid-column: 2;
    grid-row: 1 / span 3;
}

.jsp-image-position-left .jsp-featured-image-wrap {
    grid-column: 1;
    grid-row: 1 / span 3;
}

.jsp-image-position-left h3,
.jsp-image-position-left .jsp-post-block-meta,
.jsp-image-position-left .jsp-post-excerpt,
.jsp-image-position-right h3,
.jsp-image-position-right .jsp-post-block-meta,
.jsp-image-position-right .jsp-post-excerpt {
    grid-column: 2;
}

.jsp-image-position-right h3,
.jsp-image-position-right .jsp-post-block-meta,
.jsp-image-position-right .jsp-post-excerpt {
    grid-column: 1;
}

.jsp-image-position-bottom .jsp-featured-image {
    order: 10;
}

.jsp-post-block-item h3 {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 1.2rem;
}

.jsp-post-block-item h3 a {
    text-decoration: none;
    color: inherit;
}



.jsp-post-block-meta {
    font-size: 0.85rem;
    color: #666;
    margin-bottom: 10px;
}

.jsp-post-excerpt {
    font-size: 13px;
    line-height: 20px;
    color: #888888;
}

/* Meta items styling */
.jsp-meta-item {
    margin-right: 10px;
    font-size: 0.85em;
    color: #666;
}

.jsp-meta-item:last-child {
    margin-right: 0;
}

.jsp-meta-date::before {
    content: '●';
    /* Dashicon calendar */
    font-family: dashicons;
    margin-right: 4px;
}

.jsp-meta-author::before {
    /*content: "\f110";*/
    /* Dashicon admin-users */
    font-family: dashicons;
    margin-right: 4px;
    vertical-align: middle;
}

.jsp-meta-feature-image img {
    width: 100%;
}

/* Background Image Mode Styling */
.jsp-post-block-item.has-background-image {
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
    position: relative;
    overflow: hidden;
}

.jsp-post-block-item.has-background-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.jsp-post-block-item.has-background-image>* {
    position: relative;
    z-index: 2;
}

.jsp-post-block-item.has-background-image .jsp-post-block-taxonomy-top {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 4;
    margin: 0;
}

.jsp-post-block-item.has-background-image .jsp-background-content {
    position: absolute;
    left: 15px;
    right: 15px;
    z-index: 2;
}

.jsp-post-block-item.has-background-image.has-background-content-top .jsp-background-content {
    top: 15px;
}

.jsp-post-block-item.has-background-image.has-background-content-bottom .jsp-background-content {
    bottom: 15px;
}

.jsp-post-block-item.has-background-image h3 a {
    color: #fff;
}

.jsp-post-block-item.has-background-image .jsp-meta-item,
.jsp-post-block-item.has-background-image .jsp-post-block-meta {
    color: #eee;
}

/* Taxonomy Terms Styling */
.jsp-meta-taxonomy .jsp-taxonomy-terms a {
    text-decoration: none;
    background: #f0f0f0;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.85em;
    color: #333;
    margin-right: 4px;
    display: inline-block;
}

.jsp-meta-taxonomy .jsp-taxonomy-terms a:hover {
    background: #ddd;
}

/* Adjust for dark background mode */
.jsp-post-block-item.has-background-image .jsp-meta-taxonomy .jsp-taxonomy-terms a {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.jsp-post-block-item.has-background-image .jsp-meta-taxonomy .jsp-taxonomy-terms a:hover {
    background: rgba(255, 255, 255, 0.3);
}

.jsp-post-block-pagination {
    margin-top: 24px;
}

.jsp-post-block-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.jsp-post-block-pagination .page-numbers li {
    margin: 0;
}

.jsp-post-block-pagination .page-numbers a,
.jsp-post-block-pagination .page-numbers span {
    display: inline-block;
    color: #8a8f92 !important;
    font-size: 12px;
    padding: 6px 10px;
    border: 1px solid #8a8f92;
    text-align: center;
    text-decoration: none;
}

.jsp-post-block-pagination .page-numbers .current {
    border-color: #e61753;
    color: #e61753 !important;
}