/* Dynamic theme-ready version generated for configuracion_negocio colors. */
/* =========================================================
   PRODUCTS - Listados, tarjetas y galería general
========================================================= */
.product-card {
    background: rgba(255,255,255,.84);
    border: 1px solid rgba(var(--gold-rgb), .20);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 14px 34px rgba(var(--brown-rgb), .10);
    display: flex;
    flex-direction: column;
}
.product-image {
    height: 210px;
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: radial-gradient(circle at center, rgba(255,255,255,.85), transparent 38%), linear-gradient(135deg, rgba(var(--pink-rgb), .68), rgba(var(--cream-rgb), .92));
}
.product-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-body { padding: 18px; display: flex; flex-direction: column; flex: 1; }
.product-body small { color: #B85D73; font-weight: 800; }
.product-body h3 { margin: 6px 0 8px; font-family: 'Playfair Display', serif; font-size: 23px; }
.product-body p { color: var(--text-muted); line-height: 1.55; font-size: 14px; min-height: 44px; }
.product-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; }
.price-box { display: flex; flex-direction: column; line-height: 1.2; }
.old-price { color: rgba(var(--brown-rgb), .45); text-decoration: line-through; font-size: 13px; }
.price-box strong { font-size: 22px; color: var(--price-color, #A8532D); }
.product-admin-cell { display: flex; align-items: center; gap: 12px; }
.product-admin-cell img,
.mini-dessert { width: 52px; height: 52px; border-radius: 14px; object-fit: cover; background: rgba(var(--pink-rgb), .24); }
.mini-dessert { display: grid; place-items: center; font-size: 24px; }
.current-image { display: flex; align-items: center; gap: 12px; background: rgba(var(--cream-rgb), .65); border-radius: 18px; padding: 12px; margin: 16px 0; }
.current-image img { width: 90px; height: 70px; border-radius: 14px; object-fit: cover; }

/* =========================================================
   PRODUCT BADGES - badge doble: tendencia + oferta
========================================================= */
.product-badge-stack {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 4;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-width: calc(100% - 24px);
    pointer-events: none;
}

.product-badge-stack .product-badge,
.product-badge {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    min-height: 28px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: var(--ld-brown, var(--brown, #5A3E2B));
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .02em;
    box-shadow: 0 10px 22px rgba(var(--brown-rgb), .13);
    backdrop-filter: blur(10px);
}

.product-badge-stack .product-badge.offer,
.product-badge.offer {
    background: linear-gradient(135deg, var(--ld-primary, var(--pink, #E8B7C0)), var(--ld-gold, var(--gold, #C9A46C)));
    color: var(--ld-brown, var(--brown, #5A3E2B));
}

.product-image > .product-badge:not(.offer) {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 4;
}

.product-image img {
    object-position: center;
}
