/* Estilo para limitar el texto de los títulos de productos a 2 líneas */
.ecommerce-title {
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Limitar a 2 líneas */
    line-clamp: 2; /* Compatibilidad estándar */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 3em; /* Ajustar según el tamaño de línea */
    line-height: 1.5em; /* Altura de línea para calcular el alto total */
}

/* Estilos para la paginación */
    .pagination {
        display: flex;
        justify-content: center;
        padding: 20px;
    }

    .pagination a {
        text-decoration: none;
        padding: 10px 15px;
        margin: 0 5px;
        border-radius: 5px;
        transition: background-color 0.3s, color 0.3s;
    }

    .pagination a:hover {
        background-color: #eeeeee;
        color: #000;
    }

    .pagination a.active {
        background-color: #eeeeee;
        color: #000;
        pointer-events: none;
    }
    
    .custom-grid {
        display: grid;
        grid-template-columns: repeat(var(--cols, 3), 1fr); /* Desktop por defecto */
        gap: 20px;
        list-style: none;
        padding: 0;
    }

    .custom-grid > li {
        box-sizing: border-box;
        overflow: hidden;
    }

    .custom-grid > li img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
    }

    /* Móviles */
    @media (max-width: 768px) {
        .custom-grid {
            grid-template-columns: repeat(var(--cols-mobile, 1), 1fr);
            gap: 15px;
        }

        .image_wrapper {
            margin: 20px 0;
        }
    }

    /* Tablets */
    @media (min-width: 768px) and (max-width: 1025px) {
        .custom-grid {
            grid-template-columns: repeat(var(2, 2), 1fr);
        }
    }