.buinma-cluster {
    display: grid;
    gap: 1rem;
}

/* columnas grid */
.buinma-cluster.cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.buinma-cluster.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.buinma-cluster.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.buinma-cluster.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.buinma-cluster.cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.buinma-cluster.cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* layout grid básico */
.buinma-cluster.layout-grid-basic .cluster-item .cluster-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}

.buinma-cluster .cluster-thumb {
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 6px;
    background: #f4f4f4;
    display: flex;
    align-items: center;
    justify-content: center;
}

.buinma-cluster .cluster-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.buinma-cluster .cluster-content {
    padding-top: 0.5rem;
}

.buinma-cluster .cluster-title {
    margin: 0 0 0.25rem;
    font-size: 0.95rem;
    line-height: 1.3;
}

/* grid cards */
.buinma-cluster.layout-grid-cards .cluster-item {
    border-radius: 8px;
    border: 1px solid #e3e3e3;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04);
}

.buinma-cluster.layout-grid-cards .cluster-content {
    padding: 0.75rem 0.75rem 0.9rem;
}

/* grid overlay */
.buinma-cluster.layout-grid-overlay .cluster-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
}

.buinma-cluster.layout-grid-overlay .cluster-link {
    display: block;
    position: relative;
    color: #ffffff;
    text-decoration: none;
}

.buinma-cluster.layout-grid-overlay .cluster-content {
    position: absolute;
    inset: auto 0 0 0;
    padding: 0.75rem;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
}

.buinma-cluster.layout-grid-overlay .cluster-title,
.buinma-cluster.layout-grid-overlay .cluster-excerpt {
    color: #ffffff;
}

/* lista media izquierda */
.buinma-cluster.layout-list-media-left {
    grid-template-columns: 1fr;
}

.buinma-cluster.layout-list-media-left .cluster-item .cluster-link {
    display: flex;
    gap: 0.75rem;
    text-decoration: none;
    color: inherit;
}

.buinma-cluster.layout-list-media-left .cluster-thumb {
    flex: 0 0 90px;
    width: 90px;
    height: 90px;
    aspect-ratio: auto;
    border-radius: 6px;
}

/* lista minimal */
.buinma-cluster.layout-list-minimal {
    grid-template-columns: 1fr;
}

.buinma-cluster.layout-list-minimal .cluster-item .cluster-link {
    display: block;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #eee;
    padding-bottom: 0.5rem;
}

.buinma-cluster.layout-list-minimal .cluster-thumb {
    display: none;
}

/* destacado primero */
.buinma-cluster.layout-featured-first.cols-1,
.buinma-cluster.layout-featured-first.cols-2,
.buinma-cluster.layout-featured-first.cols-3,
.buinma-cluster.layout-featured-first.cols-4,
.buinma-cluster.layout-featured-first.cols-5,
.buinma-cluster.layout-featured-first.cols-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.buinma-cluster.layout-featured-first .cluster-item.cluster-featured {
    grid-column: span 3;
}

@media (max-width: 768px) {
    .buinma-cluster.cols-3,
    .buinma-cluster.cols-4,
    .buinma-cluster.cols-5,
    .buinma-cluster.cols-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .buinma-cluster.layout-featured-first,
    .buinma-cluster.layout-featured-first.cols-1,
    .buinma-cluster.layout-featured-first.cols-2,
    .buinma-cluster.layout-featured-first.cols-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .buinma-cluster.layout-featured-first .cluster-item.cluster-featured {
        grid-column: span 2;
    }

    .buinma-cluster.layout-list-media-left .cluster-item .cluster-link {
        gap: 0.5rem;
    }
}

@media (max-width: 480px) {
    .buinma-cluster,
    .buinma-cluster.cols-2,
    .buinma-cluster.cols-3,
    .buinma-cluster.cols-4,
    .buinma-cluster.cols-5,
    .buinma-cluster.cols-6 {
        grid-template-columns: 1fr;
    }

    .buinma-cluster.layout-featured-first,
    .buinma-cluster.layout-featured-first.cols-1,
    .buinma-cluster.layout-featured-first.cols-2,
    .buinma-cluster.layout-featured-first.cols-3 {
        grid-template-columns: 1fr;
    }

    .buinma-cluster.layout-featured-first .cluster-item.cluster-featured {
        grid-column: span 1;
    }
}
