/* Estilos principales de las tarjetas */
.block2 {
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 10px;
  text-align: center;
  position: relative;
  margin: 10px;
  background-color: #fff;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.block2:hover {
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
}

/* Títulos y descripciones */
.block2-txt-child1 a {
  font-size: 14px;
  height: 40px; /* Altura ajustada para 2 líneas */
  font-weight: bold;
  text-decoration: none;
  color: #333;
  line-height: 1.4; /* Espaciado entre líneas ajustado */
  overflow: hidden; /* Oculta el texto que exceda */
  text-overflow: ellipsis; /* Muestra "..." si el texto se corta */
  display: -webkit-box; /* Soporte para el truncado en múltiples líneas */
  -webkit-line-clamp: 2; /* Limita a 2 líneas */
  -webkit-box-orient: vertical; /* Necesario para el truncado */
}

.block2-txt-child1 a:hover {
  color: #717fe0;
}

.block2-txt-child1 p {
  font-size: 14px;
  color: #666;
  margin: 10px 0;
}

.stext-105 {
  font-size: 16px;
  font-weight: 700;
  color: #000;
  margin-top: 5px;
}

/* Opciones de colores y tallas */
.color-options,
.size-options {
  display: flex;
  justify-content: center;
  margin-bottom: 15px;
  flex-wrap: wrap;
}

.color-options .color-button,
.size-options .size-button {
  display: inline-block;
  padding: 10px 15px;
  margin: 5px;
  border-radius: 25px;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 1px solid #ddd;
}

.color-options .color-button:hover,
.size-options .size-button:hover {
  box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.2);
}

.color-options input[type="radio"],
.size-options input[type="radio"] {
  display: none;
}

.color-options input[type="radio"]:checked + label,
.size-options input[type="radio"]:checked + label {
  background-color: #717fe0;
  color: white;
  border: 2px solid #333;
}

.color-options input[type="radio"]:not(:checked) + label,
.size-options input[type="radio"]:not(:checked) + label {
  background-color: #f0f0f0;
  color: #333;
}

/* Botón Añadir al carrito */
.btn {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 12px 15px;
  font-size: 14px;
  background-color: #717fe0 !important;
  color: #ffffff;
  border: 2px solid #717fe0;
  border-radius: 5px;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s, border-color 0.3s;
}

.btn:hover {
  color: white !important;
  background-color: #a4acf2 !important;
  border: 2px solid #a4acf2 !important;
}

/* Diseño responsivo */
@media (max-width: 768px) {
  .block2 {
    padding: 15px;
    margin: 15px auto;
  }

  .block2-txt-child1 a {
    font-size: 16px;
  }

  .block2-txt-child1 p {
    font-size: 12px;
  }

  .stext-105 {
    font-size: 14px;
  }

  .color-options,
  .size-options {
    justify-content: flex-start;
    margin: 10px 0;
  }

  .color-options .color-button,
  .size-options .size-button {
    padding: 8px 12px;
    margin: 4px;
  }

  .btn {
    padding: 10px 12px;
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .block2 {
    padding: 10px;
  }

  .block2-txt-child1 a {
    font-size: 14px;
  }

  .block2-txt-child1 p {
    font-size: 10px;
  }

  .stext-105 {
    font-size: 12px;
  }

  .color-options .color-button,
  .size-options .size-button {
    padding: 12px 20px;
    margin: 6px;
    font-size: 14px;
  }

  .btn {
    padding: 8px 10px;
    font-size: 11px;
  }
}

/* Espaciado adicional para evitar empalmes */
.row {
  margin: 0 -15px;
}

.col-sm-6,
.col-md-4,
.col-lg-3 {
  padding: 15px;
}
