/* code urban zoo sebastien micol */

body {
    margin: 0;
    font-family: 'Teko', sans-serif, 'Roboto', sans-serif;
    color: #F9587E;
    background-color: #EAE0D8;
}

/* --- structure --------------------------------------------- */

div {
    box-sizing: border-box;
}

.inner {
    max-width: 1440px;
    margin: 0 auto;
}

.inner-acc {
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 7.5rem;
}

img {
    display: block;
    width: 100%;
    height: auto;
}

.w100 {
    width: 100%;
}

.flex {
    display: flex;
    justify-content: space-between;
    padding-bottom: 1.5rem;
}

/* --- header --------------------------------------------- */

.logo {
    width: 5rem;
    height: 5rem;
    margin-left: 2rem;

}

/* #region RESET HEADER*/
header {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 18px;
    padding: 3.5rem;
}

header>div {
    display: flex;
    justify-content: space-around;
}

/* Header NAV */
nav a.active {
    color: #EAE0D8;
    background-color: #F9587E;
    border-radius: 52% 62% 50% 44% / 62% 61% 52% 55%;
    font-weight: 600;
}

nav ul {
    margin: 0;
    padding: 0.5em;
    display: flex;
}

nav ul li {
    display: block;
    margin-right: 1rem;
}

nav ul li a {
    text-transform: uppercase;
    color: #F9587E;
    text-decoration: none;
    display: block;
    padding: .5rem 1rem;
}

header nav a:hover,
header nav .active a {
    color: #EAE0D8;
    background-color: #F9587E;
    border-radius: 52% 62% 50% 44% / 62% 61% 52% 55%;
    font-weight: 600;
}

/* #enregion RESET HEADER */


/* --- typo --------------------------------------------- */

h1-intro {
    font-size: 100px;
    font-weight: 400;
    letter-spacing: 1.8px;
    line-height: 96.878%;
}

h1 {
    margin-top: 0;
    font-size: 80px;
    color: #F9587E;
    font-weight: 400;
    letter-spacing: 1.8px;
    line-height: 96.878%;
    /* 87.19px */
}

h1 a {
    text-decoration: none;
    color: #F9587E;
}


.flex-lien {
    display: flex;
}

.lien-ext {
    padding-left: .7rem;
    padding-top: .6rem;
    width: 4.5%;
}

.lien-point {
    width: 7%;
}

h2 {
    font-family: 'Roboto';
    font-size: 26px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 0.6px;
}

h3 {
    font-size: 80px;
    font-weight: 400;
    margin: 0;
}

blockquote {
    margin: 0;
    padding: 1.5rem 0;
    font-size: 30px;
    font-weight: 300;
}

h4 {
    font-family: 'Roboto';
    font-size: 20px;
    font-weight: 400;
    line-height: 130%;
    /* 33.8px */
    letter-spacing: 0.52px;
    margin-bottom: 0;
}

p {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    color: #645040;
}

p-intro {
    width: 50%;
    padding-right: 2rem;
    padding-bottom: 2rem;
    color: #5E8E73;
    font-family: Roboto;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    /* 33.8px */
    letter-spacing: 0.52px;
}

span {
    font-weight: 500;
}


/* --- accueil --------------------------------------------- */

/* #region MAIN */

main {
    min-height: 92vh;
}

.forme-acc {
    background-image: url(../images/forme-acc.png);
    background-repeat: no-repeat;
    background-size: contain;
    padding: 10rem;
}

.reservation {
    padding: 1.5rem 0;
}



.cta {
    text-decoration: none;
    color: #F9587E;
    font-family: 'Roboto';
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.36px;
    padding: 1rem;
    border: #F9587E solid 3px;
    border-radius: 42% 52% 30% 34% / 52% 51% 42% 45%;
}

.cta:hover {
    color: #EAE0D8;
    background-color: #F9587E;
    transition: 0.1s ease-in-out;
}

section {
    padding-bottom: 3rem;
}

/* article {
    transition: 1.2s ease-in-out .2s;
    transform: scale(.3);
} */

article.visible {
    transform: scale(1) rotateX(0);
}


/* --- section pensionnaires --------------------------------------------- */

.renard {
    background-image: url(../images/renard.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.cygne {
    background-image: url(../images/cygne.png);
    background-repeat: no-repeat;
    background-size: contain;
}


/* --- section actualites --------------------------------------------- */

/* gouttière */

:root {
    --gttr: 3rem;
}

.flex-actu {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row;
    margin-left: calc(-1 * var(--gttr));
    margin-right: calc(-1 * var(--gttr));
}



/* Les div juste au-dessous de .flex-actu */
.flex-actu>div {
    flex: 1 1 50%;
    max-width: 50%;
    padding: 2rem var(--gttr);
    margin-bottom: 6rem;
}

.forme-1 {
    background-image: url(../images/forme_verte.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.forme-2 {
    background-image: url(../images/forme_jaune.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.forme-3 {
    background-image: url(../images/forme_jaune_2.png);
    background-repeat: no-repeat;
    background-size: contain;

}

.forme-4 {
    background-image: url(../images/forme_verte_2.png);
    background-repeat: no-repeat;
    background-size: contain;
}

/* #endregion MAIN */

/* --- page actualites --------------------------------------------- */

.actu {
    padding-top: 3rem;
}

section.actualites {
    padding-bottom: 10rem;
}

/* --- page pensionnaires --------------------------------------------- */

.blaireau {
    background-image: url(../images/blaireau.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.chouette {
    background-image: url(../images/chouette.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.pie {
    background-image: url(../images/pie.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.lynx {
    background-image: url(../images/lynx.png);
    background-repeat: no-repeat;
    background-size: contain;
}

/* --- page activites --------------------------------------------- */

.img-acti {
    width: 50%;
}

.acti {
    padding-bottom: 5rem;
}

/* --- page concept --------------------------------------------- */

.forme-concept {
    background-image: url(../images/forme_concept.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    padding: 10rem;
}

.art-concept {
    padding-right: 2rem;
    width: 50%;
}

.conc {
    padding-top: 2rem;
}


/* --- page infos --------------------------------------------- */

.reseaux2 img {
    width: 5%;
    padding: 0 1rem 0 0;
}


.flex-infos {
    display: flex;

}

.tarif {
    padding-top: 4rem;
}


.infos {
    padding-top: 4rem;
    padding-bottom: 8rem;
}


/* --- page reservation --------------------------------------- */


form {
    background-color: #faf2ed9d;
    border-radius: 10px;
    padding: 2rem;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 700px;
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.form-group {
    display: flex;
    flex-direction: column;
    flex-basis: calc(50% - 20px);
    margin-bottom: 10px;
}

form label {
    font-weight: 500;
    color: #645040;
    margin-bottom: 5px;
    font-family: 'Roboto', sans-serif;
}

form input[type="text"],
form input[type="email"],
form select {
    font-family: 'Roboto';
    color: #645040;
    padding: 10px;
    border: 2px solid #8BB582;
    border-radius: 15px;
    font-size: 16px;
    background-color: #faf2ed9d;
    width: 100%;
}

button.cta {
    width: 45%;
    padding: 15px;
    background-color: #F9587E;
    color: #fef5ee;
    border: none;
    border-radius: 30px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
    margin-top: 20px;
}

button.cta:hover {
    background-color: #F9587E;
}

section.reservation {
    padding: 3rem 0 8rem 0;
}

.h1-tarifs {
    padding-top: 5rem;
    margin-bottom: 1rem;
}

/* --- footer --------------------------------------------- */

/* #region FOOTER */
footer {
    border-top: 2px solid #F9587E;
    padding: 4rem;
}

.logo-foot {
    padding-top: 3rem;
}

.logo-foot img {
    width: 6rem;
    height: 6rem;

}

h5 {
    font-family: 'Roboto';
    font-size: 20px;
    text-transform: uppercase;
}

.reseaux img {
    width: 28%;
}


footer>div {
    display: flex;
    flex-flow: row wrap;

}

footer>div>div {
    margin: 0 auto;
    max-width: 11%;
    flex: 1 1 11%;
    justify-content: space-between;
}

/*#endregion FOOTER */

/* --- burger --------------------------------------------- */

#header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    /* Ajout de position relative pour positionner le menu mobile */
}

#burger {
    display: none;
    /* Masquer le bouton burger par défaut */
    background: none;
    border: none;
    font-size: 50px;
    cursor: pointer;
    color: #F9587E;
}

.mobile-menu {
    z-index: 1;
    display: none;
    /* Masquer le menu mobile par défaut */
    top: 10%;
    /* Positionner le menu sous le bouton burger */
    left: 0;
    width: 100%;
    background-color: #fef5ee;
    /* Ajout d'une couleur de fond */
    padding: 10px 0;
    /* Ajout de padding pour l'espace entre les éléments */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    /* Ajout d'une ombre pour le menu */
}

.mobile-menu.active {
    display: block;
    /* Afficher le menu mobile lorsque actif */
}

.close {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
}


/* --- anim ---------------------------------------------*/


.vpc {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.vpc.animated {
    opacity: 1;
    transform: translateY(0);
}



/* --- responsive ---------------------------------------------*/



@media (min-width: 768px) {

    #burger {
        display: none;
    }
}

@media (max-width: 768px) {

    /* --- structure ---------------------------------------------*/

    .inner {
        padding: 0 2rem;
    }

    .flex-actu>div {
        max-width: 80%;
        margin-bottom: 2rem;
    }


    .art-concept {
        width: 100%;
        padding-bottom: 2rem;
    }

    .forme-concept {
        padding: 0;
        width: 100%;
        background-position: top;
    }


    section.actualites {
        padding-bottom: 1.5rem;
        padding-top: 2rem;
    }

    .flex.conc {
        padding-top: 0;
    }

    section.reservation {
        padding-top: .5rem;
        padding-bottom: 1rem;
    }

    form {
        padding: 1rem;
    }

    .img-acti {
        width: 100%;
    }

    .tarif {
        padding: 2rem 0 1.5rem;
    }

    /* --- typo ---------------------------------------------*/

    h1-intro {
        font-size: 75px;
    }

    p-intro {
        font-size: 18px;
        width: 100%;
    }

    h1 {
        font-size: 60px;
        margin-bottom: 2.5rem;
    }

    h2 {
        font-size: 20px;
    }

    h3 {
        font-size: 40px;
    }


    blockquote {
        font-size: 25px;
    }

    /* --- header ---------------------------------------------*/

    nav a.active {
        color: #fef5ee;
        border-radius: 1px;
    }

    header nav a:hover,
    header nav .active a {
        color: #fef5ee;
        border-radius: 1px;
    }

    #burger {
        display: block;
        /* Afficher le bouton burger sur les écrans étroits */
    }

    .desktop-menu {
        display: none;
        /* Masquer le menu desktop sur les écrans étroits */
    }

    .mobile-menu {
        display: block;

    }

    header {
        padding: 2rem;
        padding-bottom: 3rem;
        font-size: 16px;
    }

    nav ul {
        flex-direction: column;
        padding: 0;
    }

    nav ul li {
        margin-right: 0;
        margin-bottom: 1rem;
    }

    #burger {
        padding: 0 1rem;
    }



    /* --- accueil ---------------------------------------------*/

    section {
        padding-bottom: 1rem;
    }


    .cta,
    button.cta {
        width: 100%;
    }


    .forme-acc {
        background-image: url(../images/forme-acc-mob.png);
        background-repeat: no-repeat;
        background-size: contain;
        padding: 5rem 1rem;
    }



    /* --- flex ---------------------------------------------*/

    .flex-actu {
        flex-direction: column;
        padding-left: 2rem;
    }

    .lien-ext {
        padding-top: 0.6rem;
        width: 12%;
    }

    .lien-point {
        width: 17%;
    }

    .flex {
        width: 100%;
        flex-direction: column;
    }



    .flex-infos {
        flex-direction: column;
    }

    /* --- footer ---------------------------------------------*/

    footer {
        padding: 2rem;
    }

    footer>div>div {
        max-width: 100%;
        flex: 1 1 100%;
    }

    .logo-foot img {
        width: 4rem;
        height: 4rem;

    }

    .reseaux img {
        width: 15%;
        padding-right: 1rem;
    }

    .flex.mob {
        flex-direction: row;
        justify-content: left;

    }
}