/* Grid */
.lpgrid-grid {
  display: grid;
  gap: 16px;
}

/* Columnas */
.lpgrid-cols-1 { grid-template-columns: repeat(1, 1fr); }
.lpgrid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.lpgrid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.lpgrid-cols-4 { grid-template-columns: repeat(4, 1fr); }
.lpgrid-cols-5 { grid-template-columns: repeat(5, 1fr); }

/* Card */
.lpgrid-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #ffffff;
  overflow: hidden;
}

.lpgrid-media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #f6f7f9;
}

.lpgrid-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lpgrid-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
}

.lpgrid-title { margin: 0; font-weight: 600; line-height: 1.2; }
.lpgrid-price { font-weight: 600; color: #111827; }
.lpgrid-desc  { margin: 0; color: #4b5563; }

.lpgrid-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}

.lpgrid-qty {
  width: 72px;
  padding: 6px 8px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
}

.lpgrid-add,
.lpgrid-view {
  appearance: none;
  border: none;
  border-radius: 6px;
  padding: 8px 12px;
  background: #111827;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}

.lpgrid-add:disabled { opacity: 0.6; cursor: not-allowed; }

/* Tama«Šos */
.lpgrid-size-pequeno .lpgrid-body { padding: 10px; gap: 6px; }
.lpgrid-size-pequeno .lpgrid-title { font-size: 0.95rem; }
.lpgrid-size-pequeno .lpgrid-price { font-size: 0.95rem; }
.lpgrid-size-pequeno .lpgrid-desc  { font-size: 0.85rem; }
.lpgrid-size-pequeno .lpgrid-add, .lpgrid-size-pequeno .lpgrid-view { padding: 6px 10px; font-size: 0.9rem; }
.lpgrid-size-pequeno .lpgrid-qty { width: 64px; padding: 5px 7px; }

.lpgrid-size-mediano .lpgrid-title { font-size: 1.05rem; }
.lpgrid-size-mediano .lpgrid-price { font-size: 1.0rem; }
.lpgrid-size-mediano .lpgrid-desc  { font-size: 0.9rem; }

.lpgrid-size-grande .lpgrid-body { padding: 14px; gap: 10px; }
.lpgrid-size-grande .lpgrid-title { font-size: 1.2rem; }
.lpgrid-size-grande .lpgrid-price { font-size: 1.1rem; }
.lpgrid-size-grande .lpgrid-desc  { font-size: 1.0rem; }
.lpgrid-size-grande .lpgrid-add, .lpgrid-size-grande .lpgrid-view { padding: 10px 14px; font-size: 1.05rem; }
.lpgrid-size-grande .lpgrid-qty { width: 80px; padding: 7px 9px; }

/* Responsivo */
@media (max-width: 768px) {
  .lpgrid-cols-3, .lpgrid-cols-4, .lpgrid-cols-5 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .lpgrid-grid { grid-template-columns: 1fr !important; }
}

/* Mensajes */
.lpgrid-empty, .lpgrid-note {
  padding: 12px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #374151;
}

