/* Variables para mantener la consistencia */
:root {
  --color-primario: #3a1c71;
  /* Un púrpura oscuro místico */
  --color-secundario: #d4a373;
  /* Un beige dorado, terroso */
  --color-terciario: #fdeddd;
  --color-texto: #ffffff;
  --color-fondo: #0e0e0e;
  --ancho-maximo: 1111px;
}

/* Estilos Generales */
body {
  font-family: "Roboto", sans-serif;
  background-color: var(--color-fondo);
  color: var(--color-texto);
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

body {
  opacity: 0;
  animation: fadeIn 2s forwards;
  /* Applies the fadeIn animation for 2 seconds and keeps the final state */
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

h1,
h2,
h3 {
  font-family: "Playfair Display", serif;
  font-weight: 700;
  color: var(--color-secundario);
  text-align: center;
}

h1 {
  font-size: 2.5rem;
  /* Título h1 más grande */
}

p,
strong {
  color: var(--color-terciario);
  font-size: 1.07rem;
  text-align: center;
  -webkit-hyphens: auto;
  /* Para compatibilidad con navegadores más antiguos */
  -ms-hyphens: auto;
  /* Para compatibilidad con Microsoft Edge */
  hyphens: auto;
}

/* Estructura del Contenedor Principal */
.container {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* Centra todo el contenido */
  width: 100%;
  margin: 0 auto;
}

.seccion {
  width: 100%;
  /* Asegura que la sección ocupe todo el ancho */
  padding: 40px 20px;
  box-sizing: border-box;
  text-align: center;
  margin: 0 auto;
  /* Centra la sección en pantallas más grandes */
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.contenido-centrado {
  max-width: var(--ancho-maximo);
  margin: 0 auto;
  /* Esto es lo que centra el contenido */
  padding: 0 20px;
  /* Se agrega padding aquí para espacio en los lados */
}

.subtitulo {
  font-size: 1.5rem;
  /* Subtítulo más grande */
  font-style: italic;
  font-weight: 300;
  margin-top: 10px;
  text-transform: uppercase;
  /* Todo el texto en mayúsculas */
  text-align: center;
  /* Centrado */
  line-height: 1.3;
}

/* Fila 1: Encabezado */
.encabezado {
  background-image: url("https://manijaqueer.s3.us-east-1.amazonaws.com/images/bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.producto-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
}

.descripcion-container {
  text-align: justify;
  /* Justificado */
}

.descripcion-producto {
  font-size: 1.1rem;
  /* Descripción más grande */
  text-transform: uppercase;
  /* Todo el texto en mayúsculas */
  text-align: center;
  /* Centrado */
  margin: 0;
}

.tarot-homoerotico-titulo-imagen {
  display: block;
  width: 100%;
  /* La imagen ocupará el 100% del ancho del botón */
  max-width: 430px;
  height: auto;
  margin: 0 auto;
  transition: transform 0.3s ease;
}

.boton-quiero-mi-mazo-imagen {
  display: block;
  width: 100%;
  /* La imagen ocupará el 100% del ancho del botón */
  max-width: 250px;
  height: auto;
  margin: 0 auto;
  transition: transform 0.3s ease;
}

.icono-imagen {
  display: block;
  width: 100%;
  max-width: 150px;
  height: auto;
  margin: 0 auto;
}

.producto-imagen {
  width: 100%;
  max-width: 450px;
  height: auto;
}

/* Fila 2: Beneficios con Iconos */
.beneficios {
  background-color: #1a1a1a;
}

.iconos-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

.icono-item {
  flex: 1 1 250px;
  max-width: 300px;
  background: #2a2a2a;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.icono-principal {
  font-size: 3rem;
  color: var(--color-secundario);
  margin-bottom: 15px;
}

/* Fila 3: Muestras de Cartas */
.muestras {
  background-image: url("https://manijaqueer.s3.us-east-1.amazonaws.com/images/bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.muestras h1 {
  margin-top: 0;
  margin-bottom: 0;
}

.muestras-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

.carta-muestra {
  flex: 1 1 200px;
  max-width: 1111px;
}

.carta-muestra img {
  filter: drop-shadow(0 0 15px rgba(0, 0, 0, .9))
}

.carta-muestra img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  transition: transform 0.3s ease;
}

.carta-muestra img:hover {
  transform: scale(1.05);
}

/* Fila 4: Botón de Compra */
.call-to-action {
  background-color: #2a2a2a;
}

.boton-comprar {
  display: block;
  /* Ahora se comporta como un bloque */
  margin: 20px auto;
  /* Centra el botón horizontalmente */
  background-color: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
  transition: transform 0.3s ease;
}

.boton-comprar:hover {
  transform: translateY(-3px);
}

/* Fila 5: Footer */
.footer {
  background-color: #0e0e0e;
  border-top: 1px solid #333;
  padding: 30px 20px;
}

.footer-contenido {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.social-links {
  display: flex;
  gap: 20px;
  font-size: 1.5rem;
}

.social-links a {
  color: var(--color-secundario);
  transition: color 0.3s ease;
}

.social-links a {
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: var(--color-secundario);
  transition: background-color 0.3s ease;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.social-links a:hover {
  background-color: var(--color-texto);
}

.social-link-instagram {
  -webkit-mask-image: url('https://api.iconify.design/bi:instagram.svg');
  mask-image: url('https://api.iconify.design/bi:instagram.svg');
}

.social-link-x {
  -webkit-mask-image: url('https://api.iconify.design/iconoir:x.svg');
  mask-image: url('https://api.iconify.design/iconoir:x.svg');
}

.call-to-action h1,
.call-to-action p {
  margin: 0;
}

.footer p {
  margin: 0;
  font-size: 0.9rem;
  color: #888;
}

.footer a {
  color: var(--color-secundario);
  text-decoration: none;
}

.footer a:hover {
  text-decoration: underline;
}

/* --- ESTILOS DEL POPUP (MODAL) --- */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /* Fondo oscuro semitransparente */
  backdrop-filter: blur(8px);
  /* Efecto esmerilado */
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.modal-overlay.visible {
  opacity: 1;
  visibility: visible;
}

.modal-content {
  /* Efecto de vidrio */
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3);

  padding: 2.5rem;
  width: 90%;
  max-width: 600px;
  position: relative;
  text-align: center;
  transform: scale(0.9);
  transition: transform 0.3s ease;
}

.modal-overlay.visible .modal-content {
  transform: scale(1);
}

.modal-icon {
  font-size: 3rem;
  color: #d4a373;
  /* Color dorado */
  margin-bottom: 1rem;
}

.modal-content h2 {
  font-family: 'Playfair Display', serif;
  margin-top: 0;
  margin-bottom: 1rem;
  color: #ffffff;
}

.modal-content p {
  margin-bottom: 1.5rem;
  line-height: 1.7;
  color: #e0e0e0;
}

.close-btn {
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 300;
  cursor: pointer;
  line-height: 1;
}

.modal-continue-button {
  display: inline-flex;
  /* Para alinear el ícono y el texto */
  align-items: center;
  gap: 10px;
  /* Espacio entre el texto y el ícono */
  background: linear-gradient(45deg, #d4a373, #a17d50);
  color: #1a1a1a;
  padding: 12px 30px;
  border-radius: 50px;
  /* Bordes más redondeados */
  border: 1px solid rgba(255, 255, 255, 0.3);
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

#copy-email-link {
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dotted;
}

.copy-feedback {
  color: #d4a373;
  font-weight: bold;
  margin-left: 10px;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.copy-feedback.visible {
  opacity: 1;
}

.modal-continue-button:hover {
  background: linear-gradient(45deg, #e7b785, #b89061);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
  transform: translateY(-3px);
  color: #000;
}

/* Media Queries para Responsividad */
@media (min-width: 768px) {
  .producto-hero {
    flex-direction: row;
    text-align: center;
  }

  .descripcion-producto {
    text-align: center;
  }
}