/* assets\css\product-card.css */
.products-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto 10vh;
}

.product-card {
  background: white;
  padding: 12px;
  text-align: center;
  border: 0.5px solid #ccc; /* border ultradelgado */
  box-shadow: none; /* quitar sombra */
}

/* Imagen EXACTO 540x675 */
.image-container {
  width: 100%;
  height: auto;
  aspect-ratio: 540 / 675;
  overflow: hidden;
  position: relative;
}

/* Slider track */
.slider-track {
  display: flex;
  height: 100%;
  transition: transform 0.35s ease-in-out;
  will-change: transform;
}

.slider-track img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* === Desktop... === */
@media (min-width: 40rem) {
  /* Click areas */
  .arrow-area {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    cursor: pointer;
  }
}
/* === Desktop... === */

/* === Mobile... === */
@media (max-width: 40rem) {
  /* Click areas */
  .arrow-area {
    pointer-events: none; /* así no bloquea el swipe */
  }

  .arrow-area .arrow {
    pointer-events: auto; /* las flechas siguen siendo clicables */
    display: none;
  }
}
/* === Mobile... === */

.arrow-area.left {
  left: 0;
}
.arrow-area.right {
  right: 0;
}

/* Flechas */
.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 32px;
  color: white;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}

.arrow-area.left .arrow {
  left: 15px;
}
.arrow-area.right .arrow {
  right: 15px;
}

.arrow-area:hover .arrow {
  opacity: 1;
}

/* Botón de abrir detalles */
.toggle-btn {
  position: absolute;
  right: 10px;
  bottom: 10px;
  background: rgba(255, 255, 255, 0.7);
  border: none;
  padding: 8px;
  font-size: 18px;
  cursor: pointer;
}

.hidden {
  display: none;
}

/* ACCIONES (carrito + share) */
.product-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 10px;
}

.action-btn {
  background: white; /* fondo blanco */
  border: 0.5px solid #ddd; /* border ultradelgado */
  padding: 10px 14px;
  font-size: 20px;
  cursor: pointer;
  transition: background 0.2s;
}

.action-btn:hover {
  background: #f0f0f0; /* cambio sutil al pasar el mouse */
}

.dots-container {
  text-align: center;
  margin-top: 6px;
}

.dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 4px;
  background-color: #ccc;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.2s;
}

.dot.active {
  background-color: #333;
}
