/* Grid Container to allow centering of incomplete rows */
/* flex-wrap:wrap es obligatorio: el bloque columns de Gutenberg trae
   nowrap por defecto, y al unificar todas las tarjetas en un solo bloque
   (para que no queden huecos entre "grupos"), sin wrap el navegador
   intenta meter TODAS las tarjetas en una sola fila y las encoge a
   casi 0px de ancho (texto vertical letra por letra). */
.ccl-profiles-grid {
    flex-wrap: wrap !important;
    justify-content: left;
    column-gap: 30px!important;
    row-gap: 30px !important;
}


/* 3 Column Layout Override */
.ccl-profiles-grid.ccl-grid-3-col .ccl-profile-card,
.ccl-profiles-grid.ccl-grid-3-col div {
    flex-shrink: 0 !important;
    flex-basis: calc(33.33% - 20px) !important;
    max-width: calc(33.33% - 20px) !important;
}


@media screen and (max-width: 1024px) {

    .ccl-profiles-grid.ccl-grid-3-col .ccl-profile-card,
    .ccl-profiles-grid.ccl-grid-3-col div {
        flex-basis: calc(50% - 15px) !important;
        max-width: calc(50% - 15px) !important;
    }
}



.ccl-profiles-grid.ccl-grid-5-col .ccl-profile-card,
.ccl-profiles-grid.ccl-grid-5-col div {
    flex-shrink: 0 !important;
    flex-basis: calc(20% - 24px) !important;
    max-width: calc(20% - 24px) !important;
}


@media screen and (max-width: 1024px) {
    .ccl-profiles-grid.ccl-grid-5-col .ccl-profile-card,
    .ccl-profiles-grid.ccl-grid-5-col div{
        flex-basis: calc(50% - 15px) !important;
        max-width: calc(50% - 15px) !important;
    }
}



.is-content-justification-center {
    justify-content: center;
}

/* Ensure columns do not stretch and always respect a 4-column layout */
.ccl-profiles-grid .ccl-profile-card {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: calc(25% - 22.5px) !important;
    /* 25% minus the gap (30px total gap distributed) */
    max-width: calc(25% - 22.5px) !important;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Mobile adjustments */
@media screen and (max-width: 1024px) {
    .ccl-profiles-grid .ccl-profile-card {
        flex-basis: calc(50% - 15px) !important;
        max-width: calc(50% - 15px) !important;
    }

    /* Si el total de tarjetas en esa fila/bloque es impar, la ultima queda
       sola pegada a la izquierda y deja un hueco vacio al lado en su fila
       de 2 columnas. Se centra esa tarjeta suelta en vez de dejar el hueco. */
    .ccl-profiles-grid .ccl-profile-card:last-child:nth-child(odd) {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

.ccl-profile-card {
    text-align: center;
    background: transparent;
    padding: 0;
    transition: transform 0.3s ease;
}

.ccl-profile-card:hover {
    transform: translateY(-5px);
}

.ccl-profile-img img {
    width: 100%;
    max-height: 360px;
    max-width: 360px;
    border-radius: 30px;
    margin-bottom: 20px;
    object-fit: cover;
    aspect-ratio: 1/1;
    transition-duration: 0.3s;
}

.ccl-profile-card h3 {
    margin: 0 0 5px 0;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 500;
}

.ccl-profile-role {
    font-size: 12px;
    font-weight: 600;
    margin: 0 !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--color-primary) !important;
}

/* En mobile (telefono) 1 columna: 2 columnas queda bien en tablet,
   pero en un telefono angosto se ve mejor una tarjeta por fila. */
@media screen and (max-width: 480px) {
    .ccl-profiles-grid.ccl-grid-3-col .ccl-profile-card,
    .ccl-profiles-grid.ccl-grid-3-col div,
    .ccl-profiles-grid.ccl-grid-5-col .ccl-profile-card,
    .ccl-profiles-grid.ccl-grid-5-col div,
    .ccl-profiles-grid .ccl-profile-card {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
}
