/* Itinerario */

.seccion-itinerario {
  position: relative;
  background-color: #f1f5ec;
  padding: 80px 20px;
}

.contenedor-itinerario {
  background-color: white;
  border-radius: 20px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  padding: 60px 40px;
  max-width: 1300px;
  margin: auto;
  text-align: center;
}

.titulo-seccion {
  font-size: 3.5rem;
  color: var(--verde-oscuro);
  margin-bottom: 40px;
}

.frase-itinerario {
  font-size: 1.5rem;
  color: #5f7153;
  font-family: "Montserrat", sans-serif;
  margin-top: -10px;
  margin-bottom: 40px;
}

.itinerario-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 50px;
}

.item-itinerario {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 200px;
}

.icono-itinerario {
  width: 60px;
  height: 60px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nombre-itinerario {
  font-size: 1.2rem;
  color: var(--verde-muy-oscuro);
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
}

.hora {
  margin-top: -5px;
  font-size: 1.2rem;
}

@media (max-width: 700px) {
  .item-itinerario {
    width: 100%;
    max-width: 300px;
  }

  .contenedor-itinerario {
    padding: 40px 20px;
  }
}

/* Regalos */

.seccion-regalos {
  position: relative;
  background-color: #f1f5ec;
  padding: 100px 20px;
  text-align: center;
}

.contenedor-regalos {
  max-width: 700px;
  margin: auto;
  padding: 40px 30px;
  background-color: white;
  border-radius: 20px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.icono-regalo {
  margin-bottom: 20px;
}

.tarjeta-icono {
  color: var(--verde-oscuro);
  animation: latido 2s infinite;
  width: 50px;
  height: 50px;
}

.frase-regalo {
  font-size: 1.1rem;
  color: #5f7153;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 30px;
}

@keyframes latido {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.15);
  }
}

.titulo-seccion {
  font-size: 3rem;
  color: var(--verde-oscuro);
  margin-bottom: 30px;
}

.datos-regalo p {
  font-size: 1.1rem;
  margin: 8px 0;
  color: var(--verde-muy-oscuro);
}

@media (max-width: 600px) {
  .datos-regalo p {
    font-size: 1rem;
  }

  .contenedor-regalos {
    padding: 30px 20px;
  }
}

/* Vestimenta */

.seccion-vestimenta {
  background-color: #ffffff;
  padding: 100px 20px;
  text-align: center;
}

.contenedor-vestimenta {
  max-width: 700px;
  margin: auto;
  padding: 40px 30px;
  background-color: #f1f5ec;
  border-radius: 20px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.icono-vestimenta {
  margin-bottom: 20px;
}

.icono-traje {
  color: var(--verde-oscuro);
  width: 100px;
  height: 100px;
}

.texto-vestimenta {
  font-size: 1.3rem;
  font-family: "Montserrat", sans-serif;
  color: #4a5b3f;
  margin-top: 20px;
  line-height: 1.6;
}


/* Formulario */

.seccion-confirmacion {
  background-color: #ffffff;
  padding: 100px 20px;
}

.contenedor-confirmacion {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
  max-width: 1100px;
  margin: auto;
  align-items: flex-start;
}

.columna-info {
  flex: 1 1 300px;
  max-width: 500px;
}

.columna-info h3 {
  font-size: 3rem;
  color: var(--verde-oscuro);
  margin-bottom: 20px;
  font-family: "Dancing Script", cursive;
}

.frase-confirmacion {
  font-size: 1.1rem;
  color: #4a5b3f;
  line-height: 1.6;
}

.columna-formulario {
  flex: 1 1 300px;
  max-width: 500px;
  background-color: #f1f5ec;
  padding: 40px 30px;
  border-radius: 20px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.pregunta-asistencia {
  font-size: 1.5rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 20px;
  margin-bottom: 20px;
  color: #4a5b3f;
}

.opcion {
  display: flex;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 15px;
  font-size: 1.1rem;
  color: #333;
}

.opcion input[type="radio"] {
  margin-right: 10px;
  accent-color: var(--verde-oscuro);
}

.btn-confirmar {
  margin-top: 20px;
  background-color: var(--verde-oscuro);
  color: white;
  padding: 10px 25px;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s;
}

.btn-confirmar:hover {
  background-color: #5f7153;
}

.oculto {
  display: none;
  font-family: "Montserrat", sans-serif;
}

@media (max-width: 700px) {
  .contenedor-confirmacion {
    flex-direction: column;
    gap: 40px;
  }

  .columna-formulario,
  .columna-info {
    max-width: 100%;
  }
}