/* ==========================================================
   DATA NEXT — TARJETA DE PRODUCTO
   Estructura: imagen arriba + información abajo
   ========================================================== */

.producto-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    align-items: stretch !important;
    justify-items: stretch !important;

    background: var(--card) !important;
    border-radius: 8px !important;
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow) !important;

    color: inherit !important;
    text-decoration: none !important;

    cursor: pointer !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease !important;
}

.producto-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.10) !important;
}

.producto-card > .imagen {
    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 215px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: relative !important;
    overflow: hidden !important;

    box-sizing: border-box !important;

    margin: 0 !important;
    padding: 8px !important;

    background: #f8fafc !important;
}

.producto-card > .imagen > div[style*="background-image"] {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 0 !important;
    min-height: 0 !important;

    box-sizing: border-box !important;

    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.producto-card > .info {
    grid-column: 1 !important;
    grid-row: 2 !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    display: block !important;

    margin: 0 !important;

    box-sizing: border-box !important;

    align-self: stretch !important;
    justify-self: stretch !important;
}

.producto-card > .info > * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.producto-card .info h3,
.producto-card .info .precio,
.producto-card .info .vendedor,
.producto-card .info .estrellas,
.producto-card .info .redes-sociales {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.producto-card .info h3,
.producto-card .info .precio,
.producto-card .info .vendedor {
    overflow-wrap: anywhere !important;
}

/* La interacción de los elementos internos tiene prioridad
   sobre la navegación de la tarjeta completa. */
.producto-card a,
.producto-card button {
    position: relative;
    z-index: 5;
}

/* Modo oscuro */
body.dark .producto-card {
    background: var(--card) !important;
}

body.dark .producto-card > .imagen {
    background: #0f172a !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {
    .producto-card > .imagen {
        height: 195px !important;
    }
}

@media (max-width: 640px) {
    .producto-card {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
    }

    .producto-card > .imagen {
        height: 190px !important;
    }
}

@media (max-width: 380px) {
    .producto-card > .imagen {
        height: 175px !important;
    }
}
