/* Botón de compra: visible y legible en todas las tarjetas. */
.productCard .productBody .productAction {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: auto !important;
  margin-top: 18px !important;
  padding: 12px 10px !important;
  border: 1px solid #0863dc !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #0875ff, #0459cf) !important;
  color: #fff !important;
  font: 800 14px/1.3 Manrope, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: normal;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  box-shadow: 0 4px 10px rgba(8, 104, 242, .18) !important;
  transition: background .18s ease, box-shadow .18s ease !important;
}
.productCard .productAction::after { content: none !important; }
.productActionIcon { width: 19px; height: 19px; flex: 0 0 19px; }
.productCard .productBody .productAction:hover {
  background: #0455c5 !important;
  box-shadow: 0 6px 14px rgba(8, 104, 242, .25) !important;
  transform: none !important;
}
.productCard .productBody .productAction:focus-visible {
  outline: 3px solid #073b78;
  outline-offset: 3px;
  transform: none !important;
}
.productCard .productBody .productAction:active {
  background: #0348aa !important;
  box-shadow: none !important;
  transform: none !important;
}
/* Mantener el botón centrado después de hacer clic: la tarjeta conserva el foco. */
.productCard:focus-within .productBody .productAction {
  left: auto !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .productCard .productBody .productAction { transition: none !important; }
}

/* No mostrar categorías sin productos principales disponibles. */
.navInner a[hidden], .categoryGrid a[hidden], .footerTop a[hidden] { display: none !important; }

/* Precios temporales cargados desde la lista de Girolami. */
.productCard .productPrice{margin-top:auto;color:#062f63;font:900 24px/1.1 "Roboto Condensed",Arial,sans-serif;letter-spacing:-.02em}
.detailPrice{margin:8px 0 22px;color:#062f63;font:900 clamp(30px,4vw,44px)/1 "Roboto Condensed",Arial,sans-serif;letter-spacing:-.025em}

/* Tarjetas uniformes y acciones alineadas. */
.productGrid,
#featuredGrid {
  align-items: stretch !important;
  grid-auto-rows: 1fr;
}
.productCard {
  display: flex !important;
  flex-direction: column;
  height: 100% !important;
  min-height: 100%;
}
.productCard .productMedia {
  flex: 0 0 auto;
}
.productCard .productBody {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  height: auto !important;
}
.productCard .productTitle {
  display: -webkit-box;
  min-height: 2.7em;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.productCard .productPrice,
.productCard .productCash {
  margin-top: auto !important;
  min-height: 28px;
  display: flex;
  align-items: flex-end;
}
.productCard .productBody .productAction {
  flex: 0 0 auto;
  margin-top: 16px !important;
}

/* Vista de catálogo: consultas directas por WhatsApp. */
[data-cart-open]{display:none !important}
.productCard .productWhatsappAction{background:linear-gradient(135deg,#25d366,#128c4a) !important;border-color:#128c4a !important}
.productCard .productWhatsappAction:hover{background:#0f7a40 !important;box-shadow:0 6px 14px rgba(18,140,74,.25) !important}

/* Diseño final de tarjetas de catálogo. */
.productCard {
  overflow: hidden !important;
  border: 1px solid #d9e5f3 !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(3, 37, 84, .08) !important;
}
.productCard::before {
  height: 3px !important;
  background: linear-gradient(90deg, #0968e8, #52a0ff) !important;
}
.productCard .productMedia {
  height: 240px !important;
  padding: 26px !important;
  border: 0 !important;
  border-bottom: 1px solid #e6eef8 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, #fff 0%, #f6f9fd 100%) !important;
}
.productCard .productMedia img {
  max-width: 82% !important;
  max-height: 82% !important;
}
.productCard .productBody {
  min-height: 210px !important;
  padding: 22px 20px 20px !important;
  align-items: stretch !important;
  text-align: left !important;
}
.productCard .productTitle {
  min-height: 48px !important;
  margin: 0 0 14px !important;
  color: #062f63 !important;
  font: 900 18px/1.32 "Roboto Condensed", Arial, sans-serif !important;
  letter-spacing: -.01em;
}
.productCard .productCash {
  min-height: 22px !important;
  margin-top: auto !important;
  color: #68788c !important;
  font: 700 12px/1.4 Manrope, Arial, sans-serif !important;
}
.productCard .productBody .productAction {
  min-height: 50px !important;
  margin-top: 18px !important;
  padding: 13px 16px !important;
  border: 1.5px solid #20a85a !important;
  border-radius: 14px !important;
  background: #f2fcf6 !important;
  color: #117b42 !important;
  font-size: 13px !important;
  box-shadow: 0 5px 14px rgba(18, 140, 74, .10) !important;
}
.productCard .productBody .productAction:hover {
  border-color: #128c4a !important;
  background: #128c4a !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(18, 140, 74, .22) !important;
}
.productCard:hover,
.productCard:focus-within {
  border-color: #a9c4e5 !important;
  box-shadow: 0 18px 42px rgba(3, 37, 84, .13) !important;
}
@media (max-width: 760px) {
  .productGrid, .featuredGrid, .relatedGrid { gap: 16px 12px !important; }
  .productCard { border-radius: 17px !important; }
  .productCard .productMedia { height: 178px !important; padding: 16px !important; }
  .productCard .productBody { min-height: 190px !important; padding: 17px 14px 14px !important; }
  .productCard .productTitle { min-height: 45px !important; margin-bottom: 11px !important; font-size: 15px !important; line-height: 1.3 !important; }
  .productCard .productCash { font-size: 10px !important; }
  .productCard .productBody .productAction { min-height: 46px !important; margin-top: 14px !important; padding: 11px 8px !important; font-size: 11px !important; }
  .productCard .productActionIcon { width: 17px; height: 17px; flex-basis: 17px; }
}

/* Encuadre uniforme: productos grandes, completos y sin recortes. */
.productCard .productMedia {
  height: 260px !important;
  padding: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.productCard .productMedia img,
.productCard .productMedia img.is-wide,
.productCard .productMedia img.is-tall,
.productCard .productMedia img.is-squareish,
.productCard.sg-submersible .productMedia img {
  width: 94% !important;
  height: 94% !important;
  max-width: 94% !important;
  max-height: 94% !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  transform-origin: center !important;
}
.productCard:hover .productMedia img,
.productCard:focus-within .productMedia img,
.productCard.sg-submersible:hover .productMedia img {
  transform: scale(1.025) !important;
}
@media (max-width: 760px) {
  .productCard .productMedia { height: 200px !important; padding: 8px !important; }
  .productCard .productMedia img,
  .productCard .productMedia img.is-wide,
  .productCard .productMedia img.is-tall,
  .productCard .productMedia img.is-squareish,
  .productCard.sg-submersible .productMedia img {
    width: 96% !important;
    height: 96% !important;
    max-width: 96% !important;
    max-height: 96% !important;
    transform: none !important;
  }
}
