/* Settings generales */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Urbanist', sans-serif;
  background-color: #FFFDE9;
  color: #000;
  width: 100vw;
  overflow-x: hidden;
}

/* Tipografía*/
.contenido h1 {
  font-size: 3.90rem;
  font-family: 'Crimson Text', serif;
  font-weight: 580;
  line-height: 100%;
  font-family: 'Urbanist', 'sans-serif';

}

p {
  font-size: 1.7rem;
  font-weight: 450;
  line-height: 1.3;
}

.resaltado {
  color: #3FB6E5;
}

/* Secciones (100% width) y background-image ////////////////////////////////////////////////////////////////////////////////////*/
/*Portada*/
.seccion-portada {
  width: 100%;
  height: 150vh;
  background-color: #FFFDE9;
  position: relative;
  overflow: hidden;
  padding: 4em 0;

  background-image:
    url("img/mockup.png"),
    url("img/header.png"),
    url("img/hongo1.png");

  background-repeat: no-repeat, no-repeat, no-repeat;

  background-position:
    right calc(100% + 1.5625rem),
    top,
    left calc(100% + 9.375rem);

  background-size:
    50vw,
    100vw,
    23vw;
}



/*Call to Action*/
.seccion-cta {
  width: 100%;
  height: 140vh;
  background-color: #FFFDE9;
  position: relative;
  overflow: hidden;
  padding: 4em 0;

  background-image:
    url(img/hongo2.png);

  background-repeat: no-repeat;

  background-position: right calc(150px);

  background-size:
    65vh;
}



/*Carrusel*/
.seccion-carrusel {
  width: 100%;
  height: 130vh;
  background-color: #FFFDE9;
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding: 4em 0;
}



/*Cards*/
.seccion-cards {
  width: 100%;
  height: 250vh;
  background-color: #FFFDE9;
  position: relative;
  overflow: hidden;
  padding: 4em 0;

  background-image:
    url("img/hongo3.png"),
    url("img/gradiente1.png");

  background-repeat: no-repeat, no-repeat;

  background-position:
    right 0px top -80px,
    center calc(100% + 80px);
  /* mueve gradiente1.png 80px más abajo */

  background-size:
    35vw,
    100vw;
}



/*Formulario*/
.seccion-form {
  width: 100%;
  height: 200vh;
  background-color: #FFFDE9;
  position: relative;
  padding: 4em 0;

  background-image:
    url(img/gradiente2.png),
    url(img/hongo5.png);

  background-repeat: no-repeat, no-repeat, no-repeat;

  background-position:
    bottom,
    bottom left;

  background-size:
    100vw,
    20vw;
}



/* Contenedores (73% width) ////////////////////////////////////////////////////////////////////////////////////*/
.contenido {
  width: 73%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}



/* Contenedores por seccion ////////////////////////////////////////////////////////////////////////////////////*/
/*Portada*/
.contenido-portada h1 {
  font-size: 4.2rem;
  font-family: 'Crimson Text', serif;
  font-weight: 550;
  line-height: 100%;
  margin-top: 10%;
}

.contenido-portada p {
  margin-top: 15px;
}

#boton {
  margin-top: 1rem;
  background-color: #EF5B24;
  color: white;
  border: none;
  border-radius: 17px;
  padding: 0.9rem 1.05rem;
  box-shadow: 2px 5px 5px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 600;
  font-family: urbanist;
  align-self: center;

}



/*Call to Action*/
.titulo-cta p {
  margin-top: 20px;
}

.contenedor-cta {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
  margin-top: 3rem;
}

.card-cta {
  background-color: #FFFDE9;
  border-radius: 20px;
  box-shadow: 0 0 15px #EF5B24;
  width: 15rem;
  height: 18rem;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
}

.card-cta img {
  width: 7.5em;
  height: auto;
}

.card-cta p {
  font-family: "Urbanist", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: left;
}


#titulo-cta {
  position: relative;
  display: inline-block;
  /*bloquea en una sola linea*/
  font-family: 'Crimson Text', serif;
  font-weight: 550;
  line-height: 100%;
}

#resaltado1 {
  position: relative;
  z-index: 1;
}

#resaltado1::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.01em;
  width: 100%;
  height: 0.6em;
  background-color: #3FB6E5;
  z-index: -1;
}

.resaltado-amarillo {
  position: relative;
  z-index: 1;
}

.resaltado-amarillo::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.01em;
  width: 100%;
  height: 0.6em;
  background-color: #FFE556;
  z-index: -1;
}



/*Carrusel*/
#titulo-carrusel {
  padding-top: 10%;
  position: relative;
  font-family: 'Crimson Text', serif;
  font-weight: 570;
  line-height: 90%;
}

#resaltado2 {
  width: 100%;
  height: 0.4em;
  color: #FFE556;
  position: absolute;
  z-index: -1;
}

.video-fondo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}

.video-fondo video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carrusel-bootstrap {
  position: relative;
  z-index: 2;
  margin-top: 4rem;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.4);
  border-radius: 1rem;
  overflow: hidden;
}

.carrusel-bootstrap .carousel-inner img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1rem;
}



/*Cards*/
#titulo-cards {
  font-family: 'Crimson Text', serif;
  font-weight: 590;
  line-height: 90%;
  margin-top: 5%;
}

#sub-cards {
  font-size: 3.90rem;
  font-weight: 590;
  line-height: 100%;
  color: #FFFDE9;
  margin-top: 30%;
}

.contenedor-cards {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: 10px;
  row-gap: 20px;
  margin-top: 0px;
  margin-left: 0px;
}

/* Base de las tarjetas*/
.flip-card {
  perspective: 1000px;
  position: relative;
  /* La asignación de las dimensiones es individual (gracias So)*/
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 16px;
  overflow: hidden;
}

.flip-card-front img,
.flip-card-back img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  margin: auto;
}

.flip-card-back {
  transform: rotateY(180deg);
}

/* la posición y dimensiones es como en Figma (usar para cardas mobile misma formula)*/
.card-1 {
  grid-column: 2 / span 4;
  grid-row: 1;
  width: 504px;
  height: 293px;
  margin-left: -40px;
}

.card-2 {
  grid-column: 8 / span 4;
  grid-row: 1;
  width: 366px;
  height: 280px;
  margin-top: 40px;
  margin-left: -25px;
}

.card-3 {
  grid-column: 2 / span 4;
  grid-row: 2;
  width: 416px;
  height: 336px;
  margin-top: -40px;
  margin-left: -25px;
}

.card-4 {
  grid-column: 8 / span 4;
  grid-row: 2;
  width: 464px;
  height: 263px;
  margin-top: 20px;
  margin-left: -110px;
}



/*Formulario*/
#titulo-form {
  position: relative;
  z-index: 1;
  font-family: 'Crimson Text', serif;
}

#sub-form {
  position: relative;
  z-index: 1;
  margin-top: 50px;
}

#imagen-hongo {
  position: absolute;
  z-index: 0;
  top: -165px;
  left: 75%;
  transform: translateX(-50%);
  height: 690px;
  width: auto;
}

.texto-spoiler {
  position: absolute;
  right: 25%;
  top: 55%;
  transform: translateY(-50%);
  color: #2DAEF5;
  font-weight: 580;
  font-size: 1.5rem;
  line-height: 1;
  font-style: italic;
}

.contenedor-form {
  position: absolute;
  z-index: 1;
  background-color: #FFFDE9;
  border-radius: 20px;
  box-shadow: 0 0 15px #EF5B24;
  width: 65%;
  height: 45%;
  padding: 2rem;
  align-items: center;
  gap: 5rem;
  text-align: left;
  margin-top: 50px;
}

.feedback {
  position: relative;
  z-index: -1;
  background-color: #FFFDE9;
  border-radius: 20px;
  box-shadow: inset 0 0 15px #EF5B24;
  color: #EF5B24;
  width: 65%;
  height: 40%;
  padding: 2rem;
  align-items: center;
  gap: 5rem;
  text-align: left;
  margin-top: 50px;
}

input[type="text"],
input[type="email"] {
  padding: 0.4rem;
  border: 2px solid #EF5B24;
  border-radius: 10px;
  background-color: #FFE7C2;
  font-size: 1rem;
  box-sizing: border-box;
  width: 80%;
  margin-left: 50px;
}

label {
  font-size: 1.2rem;
  font-weight: 520;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  width: 80%;
  margin-left: 50px;
}

#boton-enviar {
  margin-top: 1rem;
  background-color: #EF5B24;
  color: white;
  border: none;
  border-radius: 17px;
  padding: 0.9rem 1.05rem;
  box-shadow: 2px 5px 5px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: 600;
  font-family: urbanist;
  align-self: center;
  margin-left: 120px;
}

#gracias {
  margin-top: 20%;
  text-align: center;
  font-weight: 300;

}

#gracias2 {
  text-align: center;
  font-style: italic;
  font-weight: 300;
}

#gracias3 {
  width: 100%;
  text-align: center;
  font-weight: 600;
  font-family: "Crimson Text";
}

.resaltado-naranja {
  position: relative;
  z-index: 1;
}

.resaltado-naranja::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2em;
  width: 100%;
  height: 0.7em;
  background-color: #EF5B24;
  opacity: 54%;
  z-index: -1;
}

.img-feedback {
  display: block;
  margin: 30px auto 10px auto;
  width: 65%;
  height: auto;
  opacity: 100%;
}


/*Footer*/
footer {
  width: 100vw;
  height: 150px;
  background-color: #EF5B24;
}