/* ===== Estilos generales ===== */
body {
  margin: 0;
  font-family: 'Arial', sans-serif;
  background: linear-gradient(to bottom, #ffe6f0, #ffcce6);
  text-align: center;
}

/* ===== Secciones ===== */
section {
  height: auto;           /* que la altura se ajuste al contenido */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 10px 20px;     /* menos padding vertical */
  margin: 10px 0;         /* reducir margen entre secciones */
}

/* ===== Bienvenida ===== */
.welcome h1 {
  font-size: clamp(2rem, 6vw, 3rem);
  color: #ff66a3;
}
.welcome p {
  font-size: clamp(1rem, 4vw, 1.2rem);
  color: #ff3385;
}

/* ===== Tarjetas de fotos ===== */
.photo {
  perspective: 1000px;
  margin: 10px 0;
}

.card {
  width: 90vw;
  max-width: 400px;
  height: 450px; /* fotos más largas */
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.6s;
  cursor: pointer;
}

.card.flipped {
  transform: rotateY(180deg);
}

/* Cara trasera */
.card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  background: #ffb6c1;
  border-radius: 20px;
  backface-visibility: hidden;
  top: 0;
  left: 0;
}

/* Cara frontal (foto) */
.card-front {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  backface-visibility: hidden;
  transform: rotateY(180deg);
  object-fit: cover;
  top: 0;
  left: 0;
}

/* Sección final (meme) */
.final h2 {
  color: #d91e60;
  font-size: clamp(2rem, 6vw, 2.5rem);
  margin-bottom: 10px;
}
.final img {
  width: 90vw;
  max-width: 400px;
  height: auto;
  border-radius: 20px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  object-fit: cover;
}
/* Sección final (meme) */
.final h2 {
  color: #d91e60;
  font-size: clamp(2rem, 6vw, 2.5rem);
  margin-bottom: 20px;
}

.final .card {
  width: 90vw;
  max-width: 400px;
  height: 450px; /* mismo tamaño que las otras tarjetas */
}

.final .card-front {
  object-fit: cover;
}

.love-button {
  margin: 20px 0;
}

.love-button button {
  background-color: #ff4d6d;
  color: white;
  font-size: 1.2rem;
  padding: 15px 25px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: transform 0.2s, background-color 0.2s;
}

.love-button button:hover {
  background-color: #ff1a4d;
  transform: scale(1.05);
}

.gif-page {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background: linear-gradient(to bottom, #ffe6f0, #ffcce6);
  text-align: center;
  padding: 20px;
}

.gif-page .gif {
  max-width: 90vw;
  max-height: 60vh;
  border-radius: 20px;
  margin-bottom: 30px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}

.gif-page h1 {
  font-size: clamp(1.5rem, 5vw, 2.5rem);
  color: #ff3385;
  margin-bottom: 20px;
}

.gif-page button {
  background-color: #ff4d6d;
  color: white;
  font-size: 1.2rem;
  padding: 15px 25px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: transform 0.2s, background-color 0.2s;
}

.gif-page button:hover {
  background-color: #ff1a4d;
  transform: scale(1.05);
}
