@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shrikhand&display=swap');

body {
    color: black;
    margin: 0;
    font-family: 'Cinzel Decorative', serif;
}

.slide-in {
    opacity: 0;
    transform: translateY(-100px);
    transition: opacity 1s, transform 1s
}

.slide-in.active {
    opacity: 1;
    transform: translateY(0)
}

#menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    width: 100%;
    height: 10vh;
    z-index: 3;
    margin-top: -10vh;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

#menu>a {
    display: flex;
    height: 100%;
}

#logo_sup_gauche {
    width: auto;
    height: 95%;
    margin-left: 2%;
    transition: opacity .5s;
}

#logo_sup_gauche:hover {
    opacity: .6
}

#ul_global_menu {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding-left: 2vw;
    gap: 1.25vw;
    margin-right: 1vw;
}

#ul_global_menu>li {
    display: flex;
    align-content: center
}

#ul_global_menu a {
    text-decoration: none;
    color: white;
    font-size: 1.25vw;
    font-family: 'Cinzel Decorative', serif;
    padding: .3vw;
    transition: color 0.3s, border-bottom 0.3s;
}

#ul_global_menu a:hover {
    color: #b30000;
    border-bottom: 2px solid #b30000;
}

#recette_onglet:hover #sous_menu_recettes {
    display: flex;
    left: 0
}

#recette_onglet:not(:hover) #sous_menu_recettes {
    transition-delay: 0.2s
}

#sous_menu_recettes li {
    padding-left: 0;
    margin: 1vh
}

#sous_menu_recettes a {
    font-size: 1vw;
    color: white;
}

#sous_menu_recettes {
    list-style: none;
    display: flex;
    flex-direction: column;
    text-align: center;
    position: fixed;
    width: 100%;
    top: 100%;
    left: -200%;
    right: 0;
    height: auto;
    padding-left: 0;
    padding-top: 2%;
    padding-bottom: 2%;
    flex-wrap: wrap;
    transition: left .5s;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(8px);
}

#logo_menu {
    cursor: pointer;
    display: none
}

#image_haut_accueil {
    position: relative;
    margin-top: 10vh;
    width: 100vw;
    height: 60vh;
    overflow: hidden;
    display: flex;
    flex-direction: row-reverse;
}

#image_haut_accueil picture {
    width: 50%;
    height: 100%;
    display: block;
}

#image_haut_accueil picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
    display: block;
}

#texte_centrer_sur_image_accueil {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 2vw;
    color: #fff;
    text-align: left;
    background-color: rgba(0, 0, 0, 0.8);
    overflow: hidden;
}

#texte_centrer_sur_image_accueil h1 {
    font-size: 5vw;
    margin-bottom: 0.5vw;
    color: #fff;
}

#texte_centrer_sur_image_accueil h2 {
    font-size: 2.5vw;
    color: white;
    margin-bottom: 0.5vw;
}

#texte_centrer_sur_image_accueil h3 {
    font-size: 1vw;
    color: #f5f5f5;
    margin: 0.5vw 0;
}

#texte_centrer_sur_image_accueil ul {
    list-style: none;
    display: flex;
    padding: 0;
    gap: 0.5vw;
    justify-content: flex-start;
}

#texte_centrer_sur_image_accueil img {
    width: 3vw;
    border-radius: 50%;
    transition: transform 0.5s ease-in-out, opacity 0.3s;
    background: #fff;
    padding: 0.2vw;
    position: relative;
}


#texte_centrer_sur_image_accueil img:hover {
    opacity: 0.8;
    transform: rotate(360deg);
    background: #b30000;
}

#texte_centrer_sur_image_accueil li {
    display: inline-block;
    position: relative;
    margin: 0 0.5vw;
}


#texte_centrer_sur_image_accueil li::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    padding: 0.3vw 0.5vw;
    border-radius: 0.4vw;
    font-size: 0.75vw;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 10;
}

#texte_centrer_sur_image_accueil li:hover::after {
    opacity: 1;
    transform: translateX(-50%) translateY(-5px);
}


#titre {
    width: 100%;
    font-family: 'Cinzel Decorative', serif;
    text-decoration: underline;
    color: #fff;
    padding: 2vh 0;
    font-size: 1.5vw;
    text-align: center;
    background-color: black;
    margin: 0;
}

#sous-titre {
    font-style: italic;
    color: #fff;
    margin-top: 0;
    margin-bottom: 0;
    margin-inline: 5%;
    padding: 1%;
    background-color: black;
    text-align: center;
}

footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1% 0;
    border-top: .5vh solid;
    background-color: rgba(0, 0, 0, 0.8);
    font-style: italic;
    font-size: 1rem;
    color: white;
    text-align: center;
}

footer a {
    color: white;
}

footer img {
    width: 2rem;
    transition: .5s ease-in-out;
    filter: invert(1);
}

footer img:hover {
    filter: invert(0.9)
}

footer ul {
    display: flex;
    justify-content: center;
    list-style: none;
    flex-direction: row;
    padding-left: 0
}

footer form {
    flex-direction: column;
    display: flex
}

footer ul li {
    margin-inline: 1vw
}

footer form {
    width: 100%;
    justify-content: center;
    max-width: none
}

footer form textarea {
    width: 50%;
    margin: 0 25%;
    border-radius: 5px;
    border: 1px solid #ccc;
    resize: none
}

footer form input {
    width: 10%;
    margin: 1% 45%;
    border-radius: 50vw;
    padding: 1%;
    font-size: 1rem;
    color: black;
    font-family: 'Cinzel Decorative', serif;
    cursor: pointer;
    border: none;
    transition: background-color .3s;
    background-color: white
}

footer form input:hover {
    background-color: rgba(255, 255, 255, 0.767)
}

#boxNewsletter {
    position: fixed;
    bottom: 0;
    left: 2%;
    width: 280px;
    z-index: 3;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;

    background: linear-gradient(135deg, #2c2c2a, #4a4a47);
    color: #fff;
    text-align: center;

    padding: 1.5rem;
    border-radius: 1rem 1rem 0 0;
    box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.3);

    font-family: 'Shrikhand', cursive;
    transition: transform 0.5s ease-in-out;
}

#boxNewsletter h3 {
    font-size: 1.2rem;
    margin: 0;
    color: #f0e5d3;
}

#boxNewsletter p {
    font-size: 0.95rem;
    line-height: 1.4;
}

#boxNewsletter button {
    color: #fff;
    border: none;
    padding: 0.6rem 1.2rem;
    border-radius: 2rem;
    cursor: pointer;
    font-size: 0.95rem;
    font-weight: bold;
    transition: background 0.3s;
}

#boxNewsletter button:hover {
    background: #8a6e55;
}

#croixFenetreAbonnement {
    align-self: flex-end;
    cursor: pointer;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    transition: color 0.3s;
}

#croixFenetreAbonnement:hover {
    color: #ff7b7b;
}


#abonner {
    background-color: #007bff;
    width: auto;
    height: auto;
    padding: .4rem;
    border-radius: 2vw;
    font-size: 1rem;
    display: flex;
    flex-direction: column;
    border: solid #000;
    cursor: pointer
}

#abonner:hover {
    background-color: #0056b3
}

#formulairesNewsletter {
    background-color: #3333338e;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 1s;
    transform: scale(0)
}

#newsletter-form {
    padding: 2vw;
    display: flex;
    flex-direction: column;
    border-radius: 2vw;
    font-size: 1vw
}

#croixFormulaireAbonnement {
    text-align: right;
    cursor: pointer
}

#Presentation_site_generale {
    background-color: #fff;
    padding: 5vh 3vw;
    font-size: 1vw;
}

#Presentation_site_generale a {
    color: #000;
    font-weight: 700
}

#Corps_de_site_sans_menu {
    background: 0 0;
    font-family: 'Cinzel Decorative', serif;
    text-align: center
}

#image_entre_presentation_et_exemple {
    display: flex;
    justify-content: center;
    position: relative;
    width: 100%;
    overflow: hidden
}

#image_entre_presentation_et_exemple img {
    height: 70vh
}

#citation_accueil {
    position: absolute;
    display: flex;
    flex-direction: column;
    color: #fff;
    font-style: italic;
    padding: 0vh 0vw;
    overflow-y: auto
}

#citation_accueil h1 {
    font-size: 12vw;
    margin: 0;
}

#citation_accueil p {
    font-size: 3vw;
    padding: 0 1vw;
    margin: 0;
}

#titre_instant_gourmand {
    padding: 5rem 0;
    font-size: 2rem
}

#images_exemples {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
    padding: 0
}

#images_exemples li {
    position: relative;
    margin: .8rem
}

#images_exemples img {
    width: 30rem;
    height: 30rem;
    object-fit: cover;
    border-radius: 5px;
    border: .5vw solid #fff;
    cursor: pointer;
    box-shadow: 10px 15px 20px rgba(0, 0, 0, .197)
}

#images_exemples img:hover {
    transform: scale(1.1);
    box-shadow: 10px 15px 20px rgba(0, 0, 0, .701)
}

#images_exemples h3 {
    position: absolute;
    left: .5rem;
    border: .1rem solid #fff;
    color: #fff;
    font-size: 1.5rem;
    background-color: rgba(0, 0, 0, .764);
    border-radius: 0 2vw 2vw 0;
    padding: .5rem;
    text-align: center;
    width: 90%
}

#liste_patisseries_theme {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    list-style: none;
    padding: 0
}

#liste_patisseries_theme li {
    padding-bottom: 2%;
    border: solid #000;
    transition: .4s ease-in-out;
    margin: 1%;
    width: 23rem;
    display: flex;
    flex-direction: column;
    align-items: center
}

#ensembleReseauxPublications li,
.detailsEnVoirPlus a {
    justify-content: center;
    display: flex
}

#ensembleReseauxPublications h3 {
    text-transform: uppercase;
    background-color: #000;
    margin: 0
}

#liste_patisseries_theme li:hover {
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
}

#liste_patisseries_theme h2 {
    text-align: center;
    margin-top: 1rem
}

#liste_patisseries_theme p {
    text-align: center;
    margin-top: 0
}

#liste_patisseries_theme li img {
    width: 23rem;
    height: 23rem;
    border-bottom: solid #000
}

#liste_patisseries_theme h3 {
    text-align: center;
    margin-top: 0;
    border-bottom: solid #000;
    border-top: solid #000;
    padding: 2%;
    background-color: rgba(17, 0, 255, .9);
    width: 100%;
    color: #fff;
    transform: none
}

#liste_patisseries_theme #voirVideoButton {
    padding: 4%;
    border-radius: 25px;
    color: #fff;
    text-decoration: none;
    background-color: #01f;
    cursor: pointer
}

#liste_patisseries_theme #voirVideoButton:hover {
    transform: scale(.95);
    transition: .3s linear;
    background-color: rgba(0, 17, 255, .8)
}

.detailsEnVoirPlus {
    width: 100%;
    height: 0;
    overflow: hidden;
    transition: height .5s
}

.voirPlusButton {
    font-style: italic;
    cursor: pointer;
    transition: color .3s
}

.voirPlusButton:hover {
    color: #b40000
}

.carrousel {
    position: relative;
    width: 23rem;
    height: 23rem;
    overflow: hidden;
    border-bottom: solid #000
}

.carrousel-images {
    display: flex;
    transition: transform .2s ease-in-out
}

.carrousel-images img {
    width: 23rem;
    height: 23rem;
    display: flex
}

.carrousel_button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    border: none;
    font-size: 2rem;
    padding: .5rem 1rem;
    cursor: pointer;
    z-index: 1;
    background-color: transparent;
}

.precBut {
    left: 1rem;
    font-size: 5rem
}

.suivBut {
    right: 1rem;
    font-size: 5rem
}

.carrousel_button:hover {
    color: rgba(0, 0, 0, .8)
}

#ul_toutes_videos ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    padding-left: 0;
    gap: 1vw
}

#ul_toutes_videos li {
    display: flex;
    list-style: none;
    flex-direction: column;
    text-align: center;
    transition: .3s ease-in-out;
    flex-wrap: wrap
}

#ul_toutes_videos h3 {
    font-style: italic;
    font-size: 1.5rem
}

#buttonVoirDansReseaux a {
    color: #fff;
    text-decoration: none;
}

#buttonVoirDansReseaux,
button[type=submit] {
    background-color: #10f
}

#SOMMAIREActu {
    text-align: center;
    color: #fff;
    padding-top: 2%;
    border-top: solid #10f;
    border-bottom: solid #10f;
    background-color: black;
}

#SOMMAIREActu h2 {
    letter-spacing: 2%;
    font-size: 2rem;
}

#listeSommaireActu {
    list-style: circle;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 2%;
    margin-top: 0;
}

#listeSommaireActu li {
    padding: 0;
}

#listeSommaireActu a {
    color: #fff;
    text-decoration: none;
    font-style: italic
}

#ensembleReseauxPublications {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    list-style: none;
    padding: 0;
    height: auto;
    position: relative
}

#ensembleReseauxPublications h3 {
    text-align: center;
    color: #b40000;
    padding: 1%;
    padding-inline: 5%;
    border-radius: 10vw 10vw 0 0;
    border-top: solid #000;
    border-left: solid #000;
    border-right: solid #000;
    letter-spacing: 2rem;
    width: auto;
    height: auto;
    display: flex;
    align-self: center;
    flex-wrap: wrap
}

#ensembleReseauxPublications li {
    padding: 2% 0%;
    flex-direction: column;
    margin: 1% 0;
}

#ensembleReseauxPublications li>section {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    border-top: .1vw solid rgba(0, 0, 0, .414);
    border-bottom: .1vw solid rgba(0, 0, 0, .414);
    background-image: url("img/actuDesReseaux/fond.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-top: solid #000;
    border-bottom: solid #000;
    padding: 2%
}

#partieGaucheBoxReseaux {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center
}

#contact_section_glob,
form {
    flex-direction: column;
    display: flex
}

#partieGaucheBoxReseaux img {
    display: flex;
    height: 20rem;
    border: solid #000;
    transition: .5s
}

#partieGaucheBoxReseaux img:hover {
    transform: scale(.95);
    opacity: .8
}

#partieDroiteBoxReseaux {
    font-size: 1rem;
    padding: 1%;
    border: solid #000;
    background-color: white;
}

#partieDroiteBoxReseaux.texteUniquement {
    text-align: center
}

#contact_section_glob {
    list-style: none;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center
}

#contact_section_glob>li {
    text-align: center;
    display: flex;
    justify-content: center;
    margin-top: 2%
}

form {
    width: 80vw
}

input[type=email],
input[type=text],
textarea {
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid #ccc;
    border-radius: 5px
}

textarea {
    height: 7rem
}

button[type=submit] {
    color: #fff;
    border: none;
    padding: 1% 2%;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color .2s
}

button[type=submit]:hover {
    background-color: #3734f0
}

#contact_reseaux_glob {
    align-self: center;
    display: flex;
    flex-direction: column
}

#reseaux_contact {
    display: flex;
    flex-direction: row;
    list-style: none;
    justify-content: space-around;
    padding: 0
}

@media only screen and (max-width:600px) {
    #titre {
        font-size: 8vw;
        margin-top: -10vh;
    }

    #menu.scrolled #recette_onglet #sous_menu_recettes,
    #sous_menu_recettes {
        border-top: solid;
        border-bottom: solid;
        border-right: none;
        border-left: none;
        position: relative;
        background-color: transparent;
        top: 0;
        margin: 0 5%;
        display: flex
    }

    #menu {
        background: transparent;
    }

    #menu.scrolled #recette_onglet #sous_menu_recettes {
        justify-content: center;
    }

    #menu.scrolled {
        background: rgba(44, 44, 42, 0.6);
    }

    #sous_menu_recettes {
        flex-direction: row;
        width: 90%;
        z-index: 3;
        justify-content: center;
        left: 0
    }

    #logo_sup_gauche {
        height: 80%;
        width: auto;
        margin: 1%;
        border: none;
        justify-content: center;
        align-items: center
    }

    #ul_global_menu {
        top: -102vh;
        display: flex;
        position: fixed;
        justify-content: center;
        background-color: #fff;
        width: 90%;
        height: 100vh;
        flex-direction: column;
        text-align: center;
        padding: 0 5%;
        transition: top .4s;
        left: 0
    }

    #ul_global_menu>li {
        width: 100%;
        display: flex;
        justify-content: center
    }

    #recette_onglet {
        display: flex;
        flex-direction: column
    }

    #ul_global_menu>li>a {
        font-size: 2rem;
        color: #000
    }

    #ul_global_menu.menu_mobile {
        top: -2vh
    }

    #sous_menu_recettes>li>a {
        font-size: 1rem;
        color: black;
    }

    #logo_menu {
        display: flex;
        margin-right: 5vw;
        z-index: 2;
        transition: transform .2s, color .2s;
        font-size: 9vw;
        color: white;
    }

    #logo_menu.logo-open {
        color: #000;
        transform: rotate(-90deg)
    }

    #image_haut_accueil {
        display: flex;
        overflow: hidden;
        width: 100%;
        height: 100vh;
        top: -10vh
    }

    #image_haut_accueil picture {
        position: absolute;
        width: 100vw;
        height: 100%;
        z-index: 1;
    }

    #texte_centrer_sur_image_accueil {
        width: 100%;
        background-color: rgba(44, 44, 42, 0.6);
        z-index: 2;
        overflow: visible;
    }

    #texte_centrer_sur_image_accueil h1 {
        font-size: 13vw;
    }

    #Presentation_site_generale {
        font-size: 4vw;
    }

    #SOMMAIREActu h2,
    #citation_accueil p,
    #texte_centrer_sur_image_accueil h2 {
        font-size: 6vw
    }

    #texte_centrer_sur_image_accueil h3 {
        font-size: 4vw
    }

    #texte_centrer_sur_image_accueil ul li img {
        width: 9vw;
    }

    #boxNewsletter {
        height: 25%;
        width: 80%;
        font-size: 1.2rem;
        padding: 0 8% 11vh
    }

    #abonner,
    .carrousel_button {
        font-size: 5vw
    }

    #abonner {
        padding: 1.5vw;
        border-radius: 4vw;
        color: #000
    }

    #croixFenetreAbonnement {
        margin-left: 90vw
    }

    #newsletter-form {
        font-size: 5vw;
        height: 60vh;
        align-content: center;
        text-align: center;
        overflow-y: auto
    }

    #newsletter-form button {
        padding: 2%
    }

    #footer {
        padding: 1.5rem 0
    }

    footer form input {
        width: 60%;
        margin: 2% 20%;
    }



    #footer-social-links {
        gap: 1rem
    }

    #footer-social-links img {
        width: 1.5rem
    }

    #footer-newsletter-form {
        max-width: 90%
    }

    #footer-newsletter-form textarea {
        font-size: .9rem
    }

    #footer-newsletter-form input[type=submit] {
        font-size: .9rem;
        width: 70%
    }



    #image_entre_presentation_et_exemple img {
        height: 30rem
    }

    #images_exemples img,
    #liste_patisseries_theme li img,
    .carrousel {
        width: 45vw;
        height: 45vw
    }

    #citation_accueil {
        padding: 4rem 2rem
    }

    #citation_accueil h1 {
        font-size: 6rem
    }

    #titre_instant_gourmand {
        font-size: 1.5rem;
        padding: 1rem
    }

    #images_exemples li {
        margin: 1%
    }

    #images_exemples h3 {
        font-size: .8rem;
        left: 1%;
        padding: 2%
    }

    #liste_patisseries_theme li {
        display: flex;
        flex-wrap: wrap;
        width: 45vw;
        margin: 2vw 0
    }

    #liste_patisseries_theme li:hover {
        transform: scale(1);
        background-color: #fff;
        color: #000;
        border-radius: 0
    }

    .carrousel {
        overflow-x: scroll;
        scroll-snap-type: x mandatory
    }

    .carrousel-images img {
        scroll-snap-align: center
    }

    #ul_toutes_videos h3 {
        font-style: italic;
        font-size: 2.8vw
    }

    #ul_toutes_videos li:hover {
        transform: none
    }

    #ul_toutes_videos {
        margin: 0
    }

    #ul_toutes_videos li {
        width: 80vw;
        flex-direction: row
    }

    #SOMMAIREActu {
        width: 90%;
        justify-self: center;
        margin: 5%
    }

    #listeSommaireActu {
        flex-direction: column;
        justify-content: center
    }

    #listeSommaireActu a {
        color: #fff;
        text-decoration: none;
        font-style: italic;
        font-size: 2rem
    }

    #ensembleReseauxPublications li {
        flex-direction: column;
        padding: 0
    }

    #ensembleReseauxPublications li>section {
        flex-direction: column;
    }

    #ensembleReseauxPublications h3 {
        max-width: 88%;
        overflow-x: auto;
        font-size: 1rem;
        display: flex;
        flex-wrap: nowrap
    }

    #partieGaucheBoxReseaux {
        width: 100%;
        display: flex;
        justify-self: center;
        margin: 0
    }

    #partieGaucheBoxReseaux img {
        height: 90vw;
        margin-right: 1%
    }

    #partieDroiteBoxReseaux {
        font-size: 1rem;
        text-align: center;
        width: 90%;
        margin: 3%
    }
}