/* BS – Tarjetas de producto */
.woocommerce ul.products:has(> li.bs-card) {
  grid-template-columns: repeat(var(--bs-cols, 4), minmax(0, 1fr)) !important;
  gap: 40px 24px !important;
}
@media (max-width: 1100px) { .woocommerce ul.products:has(> li.bs-card) { --bs-cols: 3; } }
@media (max-width: 768px)  { .woocommerce ul.products:has(> li.bs-card) { --bs-cols: 2; gap: 28px 12px !important; } }

.woocommerce ul.products li.product.bs-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

/* Foto cuadrada, fondo suave, esquinas rectas */
.bs-card__media {
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--surface-soft, #f7f8fa);
  overflow: hidden;
}
.bs-card__image { position: absolute; inset: 0; display: block; }
.woocommerce ul.products li.product.bs-card .bs-card__image img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain;
  padding: 8%;
  margin: 0 !important;
  background: transparent;
  border-radius: 0;
  mix-blend-mode: multiply; /* el fondo blanco de las fotos toma el gris de la caja */
  transition: transform .45s ease;
}
.woocommerce ul.products li.product.bs-card:hover .bs-card__image img { transform: scale(1.04); }

/* Badge */
.bs-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-block;
  padding: 6px 12px;
  border-radius: 100px;
  background: var(--surface-dark, #0a0c12);
  color: var(--text-on-dark, #fff);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .6px;
  text-transform: uppercase;
  pointer-events: none;
}
.bs-card__badge--muted { background: #fff; color: var(--text-muted); box-shadow: inset 0 0 0 1px var(--hairline); }

/* Botón de carrito cuadrado en la esquina */
.woocommerce ul.products li.product.bs-card .bs-card__cart-btn {
  position: absolute !important;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--text-ink, #0a0c12) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
  opacity: 1;
  transition: background .15s ease;
}
.woocommerce ul.products li.product.bs-card .bs-card__cart-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2220%22%20r%3D%221.4%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2220%22%20r%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M2%203h3l2.4%2012.2a1.8%201.8%200%200%200%201.8%201.4h8.6a1.8%201.8%200%200%200%201.8-1.4L21%207H6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%2220%22%20r%3D%221.4%22%2F%3E%3Ccircle%20cx%3D%2218%22%20cy%3D%2220%22%20r%3D%221.4%22%2F%3E%3Cpath%20d%3D%22M2%203h3l2.4%2012.2a1.8%201.8%200%200%200%201.8%201.4h8.6a1.8%201.8%200%200%200%201.8-1.4L21%207H6%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.woocommerce ul.products li.product.bs-card .bs-card__cart-btn--view::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14M13%206l6%206-6%206%22%2F%3E%3C%2Fsvg%3E");
}
.woocommerce ul.products li.product.bs-card .bs-card__cart-btn.added::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.5l4.5%204.5L19%207.5%22%2F%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.5l4.5%204.5L19%207.5%22%2F%3E%3C%2Fsvg%3E");
}
.woocommerce ul.products li.product.bs-card .bs-card__cart-btn:hover,
.woocommerce ul.products li.product.bs-card .bs-card__cart-btn:focus-visible { background: var(--color-primary) !important; opacity: 1; }
.woocommerce ul.products li.product.bs-card .bs-card__cart-btn.loading { opacity: .6; }
.woocommerce ul.products li.product.bs-card .bs-card__cart-btn.loading::after { display: none; }
.woocommerce ul.products li.product.bs-card .added_to_cart { display: none !important; }

/* Texto */
.bs-card .ecpm-loop-cat { display: none; }
.bs-card__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 16px;
}
.woocommerce ul.products li.product.bs-card .bs-card__title {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0;
  color: var(--text-ink) !important;
}
.bs-card__title a { color: inherit; text-decoration: none; }
.bs-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* toda la tarjeta clicable */
.woocommerce ul.products li.product.bs-card { position: relative; }
.bs-card__title a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }

.woocommerce ul.products li.product.bs-card .bs-card__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 8px;
  margin: 0 !important;
  font-family: var(--font-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-variant-numeric: tabular-nums;
  line-height: 1.35 !important;
  color: var(--text-body-strong, #2b2f36) !important;
}
.woocommerce ul.products li.product.bs-card .bs-card__price .woocommerce-Price-amount { font-family: inherit; }
.woocommerce ul.products li.product.bs-card .bs-card__price ins { order: -1; text-decoration: none; color: var(--text-ink) !important; }
.woocommerce ul.products li.product.bs-card .bs-card__price del { font-size: 14px !important; color: var(--text-muted) !important; }
.bs-card__from { font-size: 14px; color: var(--text-muted); }

.bs-card__rating { display: flex; align-items: center; gap: 8px; margin-top: 2px; }
.bs-card__stars {
  --pct: calc(var(--rating) / 5 * 100%);
  font-size: 17px;
  letter-spacing: 2px;
  line-height: 1;
}
.bs-card__stars::before {
  content: "★★★★★";
  background: linear-gradient(90deg, #ffb020 var(--pct), var(--hairline, #dee2e9) var(--pct));
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.bs-card__rating-count { font-size: 13px; color: var(--text-muted); font-variant-numeric: tabular-nums; }

@media (max-width: 768px) {
  .bs-card__badge { top: 10px; left: 10px; padding: 5px 10px; font-size: 10px; }
  .woocommerce ul.products li.product.bs-card .bs-card__cart-btn { width: 40px !important; height: 40px !important; min-height: 40px !important; }
  .woocommerce ul.products li.product.bs-card .bs-card__title,
  .woocommerce ul.products li.product.bs-card .bs-card__price { font-size: 15px !important; }
}
/* Bloque "Categorías PymesModernas" (home): el plugin lo baja a 1 columna en ≤480px;
   con 24 categorías eso era una lista larguísima. Mantener 2 columnas en móvil. */
@media (max-width: 480px) {
  .ecpm-categories.ecpm-categories--cols-2,
  .ecpm-categories.ecpm-categories--cols-3,
  .ecpm-categories.ecpm-categories--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ecpm-categories .ecpm-cat-info { padding: 10px 8px; }
  .ecpm-categories .ecpm-cat-name { font-size: 13px; overflow-wrap: anywhere; hyphens: auto; }
  .ecpm-categories .ecpm-cat-count { font-size: 11px; }
}