.componentes-list-0fe96cfc {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; /* Default gap, overriden by Elementor row_gap/column_gap */
}

/* Flex layout with stretch alignment for same height items */
.componente-item-0fe96cfc {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px; /* Default gap, overriden by Elementor */
}

.componente-image-0fe96cfc {
    width: 100%;
}

.componente-image-0fe96cfc img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Flex column with gap for spacing between texts */
.componente-content-0fe96cfc {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex-grow: 1;
    gap: 10px; /* Default gap, overriden by Elementor */
}

/* Reset margins since we use flex gap for spacing */
.componente-title-0fe96cfc,
.componente-subtitle-0fe96cfc,
.componente-desc-0fe96cfc,
.componente-desc-0fe96cfc p:last-child {
    margin: 0;
}

.componente-subtitle-0fe96cfc {
    font-weight: normal;
}

@media (max-width: 767px) {
    .componentes-list-0fe96cfc {
        grid-template-columns: 1fr;
    }
}