.card-img-top {
  aspect-ratio: 1;
  object-fit: cover;
  background: #f1f1f1;
}

.preview-imagen {
  max-width: 100%;
  max-height: 260px;
  object-fit: contain;
  border-radius: 0.5rem;
  border: 1px solid #dee2e6;
}

@media (max-width: 576px) {
  .btn-lg {
    font-size: 1.1rem;
  }
}

/* Panel: fotos actuales de un producto */
.foto-actual-img {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border: 3px solid #dee2e6;
}
.foto-actual:has(input[type=radio]:checked) .foto-actual-img {
  border-color: #198754;
}
.foto-actual.quitada .foto-actual-img {
  opacity: 0.3;
  filter: grayscale(1);
}

/* Tienda: miniaturas de la galería del producto */
.miniatura-galeria {
  opacity: 0.6;
  border: 3px solid transparent;
  transition: opacity 0.15s, border-color 0.15s;
}
.miniatura-galeria:hover {
  opacity: 0.9;
}
.miniatura-galeria.activa {
  opacity: 1;
  border-color: #198754;
  box-shadow: 0 0 0 3px rgba(25, 135, 84, 0.25);
}
