@import url('https://fonts.googleapis.com/css2?family=Petit+Formal+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap');

body {
    font-family: "Lora", serif;
    text-align: center;
    text-decoration: none;
    margin: 0;
    background-color: #ccdadb;
}

.contenedor-principal {
    background-color: white;
    max-width: 1025px;
    margin: 0 auto;
}

/* Pantalla inicial */
#portada {
    position: fixed;
    inset: 0;
    background-color: #ccdadb;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 9999;
}

#portada img {
    max-width: 65%;
    animation: flotar 2s ease-in-out infinite;
}

#portada p {
    margin-top: 15px;
    font-size: 40px;
    font-family: "Lora", serif;
    color: #502C2C;
}


/* Invitación oculta al inicio */
#invitacion {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.8s ease;
}

#invitacion.activa {
    opacity: 1;
    visibility: visible;
}

/* Animación suave */
@keyframes flotar {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0);
    }
}

header {
    background-image: url(../imagenes/fondo1.jpg);
    background-size: contain;
    margin-top: -25px;
    padding-bottom: 50px;
}

header img {
    max-width: 50%;
}

.contenedor2 {
    background-image: url(../imagenes/fondo2.jpg);
    background-size: contain;
    padding: 60px 248px;
}

.contenedor2 img {
    max-width: 76%;
    border-radius: 50%;
    border: solid #85b0ba 11px;
    margin-bottom: 60px;
}

.contenedor2 h1 {
    font-family: "Petit Formal Script", cursive;
    color: #502C2C;
    font-size: 55px;
}

.contenedor2 p {
    font-family: "Lora", serif;
    color: #502C2C;
    font-size: 29px;
    font-weight: 400;
    margin-top: 69px;
}

.texto1 {
    padding: 20px 30px;
    background-color: white;
    border: solid #85b0ba 11px;
    border-radius: 50% 50% 0 0;
    margin-bottom: 45px;
}

.contenedor3 {
    background-image: url(../imagenes/fondo3.jpg);
    padding: 60px;
}

.contenedor3 img {
    max-width: 40%;
    position: relative;
    z-index: 2;
}

.texto2 {
    padding: 40px 30px;
    background-color: white;
    border: solid #E3D3A0 11px;
    border-radius: 50%;
    max-width: 50%;
    margin: -71px auto 61px auto;
    position: relative;
    z-index: 1;
}

.texto2 h3 {
    font-family: "Petit Formal Script", cursive;
    color: #502C2C;
    font-size: 50px;
}

.texto3 {
    padding: 20px 30px;
    background-color: white;
    border: solid #E3D3A0 11px;
    border-radius: 50% 50% 0 0;
    max-width: 64%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.texto3 h3 {
    font-family: "Petit Formal Script", cursive;
    color: #502C2C;
    font-size: 43px;
    margin-top: 75px;
    margin-bottom: 20px;
}

.texto3 h4 {
    font-family: "Lora", serif;
    color: #502C2C;
    font-weight: 600;
    font-size: 31px;
}

.texto3 h5 {
    font-family: "Lora", serif;
    color: #502C2C;
    font-weight: 400;
    font-size: 27px;
    margin-top: 20px;
    margin-bottom: 38px;
}

.texto3 a {
    text-decoration: none;
    font-family: "Lora", serif;
    font-size: 27px;
    color: white;
    background-color: #85b0ba;
    padding: 13px 26px;
    border-radius: 35px;
}

.texto3 a:hover {
    color: white;
    background-color: #81473f;
}

.texto3 h6 {
    font-family: "Lora", serif;
    color: #502C2C;
    font-weight: 400;
    font-size: 27px;
    margin-top: 40px;
    margin-bottom: 50px;
}

.contenedor3 img:last-of-type {
    margin-top: -45px;
    position: relative;
    z-index: 2;
}

.contenedor4 {
    background-image: url(../imagenes/fondo4.jpg);
    padding: 60px;
}

.contenedor4 img {
    max-width: 40%;
    position: relative;
    z-index: 2;
}

.texto4 {
    padding: 20px 30px;
    background-color: #85b0ba;
    border: solid white 11px;
    border-radius: 50% 50% 0 0;
    max-width: 64%;
    margin: -59px auto 30px auto;
    position: relative;
    z-index: 1;
}

.texto4 h3 {
    font-family: "Petit Formal Script", cursive;
    color: #502C2C;
    font-size: 43px;
    margin: 64px 15px 30px 15px;
}

.texto4 h4 {
    font-family: "Lora", serif;
    color: #502C2C;
    font-weight: 600;
    font-size: 31px;
}

.texto4 h5 {
    font-family: "Lora", serif;
    color: #502C2C;
    font-weight: 400;
    font-size: 27px;
    margin-top: 20px;
    margin-bottom: 38px;
}

.texto5 {
    padding: 6px 30px 104px 30px;
    background-color: #85b0ba;
    border: solid white 11px;
    border-radius: 255px 255px 0 0;
    max-width: 64%;
    margin: 80px auto 30px auto;
    position: relative;
    z-index: 1;
}

.texto5 h3 {
    font-family: "Petit Formal Script", cursive;
    color: #502C2C;
    font-size: 43px;
    margin: 40px 15px 30px 15px;
}

.texto5 h5 {
    font-family: "Lora", serif;
    color: #502C2C;
    font-weight: 400;
    font-size: 24px;
    margin-top: 20px;
    margin-bottom: 42px;
}

.texto5 a {
    text-decoration: none;
    font-family: "Lora", serif;
    font-size: 27px;
    color: #85b0ba;
    background-color: white;
    padding: 13px 26px;
    border-radius: 35px;
}

.texto5 a:hover {
    color: white;
    background-color: #81473f;
}

.conejo6 {
    margin-top: -118px;
    position: relative;
    z-index: 2;
}

.contenedor7 {
    background-image: url(../imagenes/fondo2.jpg);
    background-size: contain;
    padding-bottom: 75px;
}

.contenedor7 img {
    max-width: 50%;
}

footer {
    background-color: #ccdadb;
    padding: 40px 20px;
}

footer h5 {
    color: #473f40;
    font-family: sans-serif;
}

footer img {
    max-width: 20%;
}

/*media queries*/
@media (max-width: 1024px) {
    #portada img {
        max-width: 85%;
    }

    #portada p {
        font-size: 40px;
    }
}

@media (max-width: 768px) {

    #portada img {
        max-width: 90%;
    }

    #portada p {
        font-size: 40px;
    }

    .contenedor2 {
        padding: 60px 128px;
    }

    .texto2 {
        max-width: 55%;
    }

    .texto3 {
        max-width: 79%;
    }

    footer img {
        max-width: 20%;
    }


}

@media (max-width: 600px) {
    .contenedor2 {
        padding: 60px 70px;
    }

    .contenedor2 h1 {
        font-size: 49px;
        margin-top: 35px;
    }

    .contenedor3 {
        padding: 39px;
    }

    .texto2 {
        max-width: 96%;
    }

    .texto3 {
        max-width: 99%;
    }

    .contenedor4 {
        padding: 39px;
    }

    .texto4 {
        max-width: 85%;
    }

    .texto5 {
        padding: 6px 14px 104px 15px;
        max-width: 86%;
    }

    footer h5 {
        font-size: 15px;
    }

    footer img {
        max-width: 27%;
    }
}

@media (max-width: 480px) {

    header img {
        max-width: 65%;
    }

    #portada p {
        font-size: 22px;
    }

    .contenedor2 {
        padding: 60px 23px;
    }

    .contenedor2 h1 {
        font-size: 40px;
    }

    .contenedor2 p {
        font-size: 25px;
        margin-top: 35px;
    }

    .contenedor3 {
        padding: 60px 20px;
    }

    .texto2 {
        max-width: 66%;
        margin: -50px auto 61px auto;
    }

    .texto2 h3 {
        font-size: 30px;
    }

    .texto3 {
        border-radius: 150px 150px 0 0;
        max-width: 79%;
        padding: 20px 17px;
    }

    .texto3 h3 {
        font-size: 30px;
        margin-top: 23px;
    }

    .texto3 h4 {
        font-size: 24px;
    }

    .texto3 h5 {
        font-size: 20px;
    }

    .texto3 a {
        font-size: 21px;
        padding: 10px 20px;
    }

    .texto3 a:hover {
        font-size: 21px;
        padding: 10px 20px;
    }

    .texto3 h6 {
        font-size: 20px;
        margin-bottom: 23px;
    }

    .texto4 {
        max-width: 79%;
    }

    .texto4 h3 {
        font-size: 30px;
    }

    .texto4 h4 {
        font-size: 24px;
    }

    .texto4 h5 {
        font-size: 21px;
        margin-top: 10px;
        margin-bottom: 37px;
    }

    .contenedor4 {
        padding: 60px 15px;
    }

    .texto5 {
        max-width: 79%;
        padding: 6px 20px 96px 20px;
    }

    .texto5 h3 {
        font-size: 30px;
    }

    .texto5 h4 {
        font-size: 24px;
    }

    .texto5 h5 {
        font-size: 21px;
        margin-top: 10px;
        margin-bottom: 75px;
    }

    .texto5 a {
        font-size: 16px;
        padding: 10px 15px;
    }

    .texto5 a:hover {
        font-size: 16px;
        padding: 10px 15px;
    }

    .contenedor7 {
        padding-bottom: 75px;
        padding-top: 60px;
    }

    .contenedor7 img {
        max-width: 69%;
    }

}

@media (max-width: 395px) {
    header img {
        max-width: 65%;
    }

    .contenedor2 {
        padding: 50px 20px;
    }

    .texto1 {
        max-width: 88%;
        margin: 30px auto 30px auto;
    }

    .contenedor2 h1 {
        font-size: 33px;
    }

    .contenedor2 p {
        font-size: 20px;
        margin-top: 25px;
    }

    .texto2 {
        max-width: 72%;
    }

    .texto2 h3 {
        font-size: 27px;
    }

    .texto3 h3 {
        font-size: 27px;
        margin-top: 30px;
    }

    .contenedor4 {
        padding: 50px 20px;
    }

    .texto4 h3 {
        font-size: 27px;
        margin-bottom: 10px;
    }

    .texto5 h3 {
        font-size: 27px;
    }

    .texto5 h5 {
        font-size: 19px;
        margin-top: 10px;
        margin-bottom: 44px;
    }

    .contenedor7 img {
        max-width: 69%;
        padding-top: 50px;
    }

    .contenedor7 {
        padding-bottom: 75px;
        padding-top: 60px;
    }

}