/* Général */
@font-face {
    font-family: 'ELEGANCE';
    src: url('fonts/ELEGANCE.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
    font-family: 'ELEGANCE', Arial, sans-serif;
    margin: 0;
    background: linear-gradient(to bottom, #4766db, #2a3d8f); /* Dégradé de fond */
    color: white;
    min-height: 100vh;
}

header {
    text-align: center;
    padding: 20px;
}

/* Bannière */
#banniere {
    max-width: 100%; /* La bannière ne dépasse pas la largeur de l'écran */
    height: auto; /* Hauteur ajustée automatiquement pour conserver le ratio */
    display: block; /* Évite les espaces indésirables */
    margin: 0 auto; /* Centre la bannière */
}

/* Ajustements pour les petits écrans */
@media (max-width: 768px) {
    #banniere {
        max-height: 150px; /* Limite la hauteur sur mobile */
    }
}

@media (max-width: 480px) {
    #banniere {
        max-height: 100px; /* Hauteur encore plus réduite pour les très petits écrans */
    }
}

nav {
    background: linear-gradient(to right, #4766db, #2a3d8f); /* Dégradé du menu */
    padding: 10px 0;
    border-radius: 5px;
    margin: 20px auto;
    max-width: 90%;
}

nav ul {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 20px;
}

nav a {
    color: white;
    text-decoration: none;
    font-size: 1.2em;
    padding: 5px 10px;
}

nav a:hover {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 3px;
}

main {
    padding: 20px;
}

footer {
    text-align: center;
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    bottom: 0;
    width: 100%;
}

/* Titres */
h1 {
    font-size: 2.5em;
    font-weight: lighter; /* Titres en gras */
    letter-spacing: 0.8px; /* Espacement entre les lettres */
    margin-bottom: 20px;
	    text-shadow: 
        -2px -2px 0 black, 
        2px -2px 0 black, 
        -2px 2px 0 black, 
        2px 2px 0 black; /* Contour alternatif */
}

h2 {
    font-size: 2em;
    font-weight: lighter; /* Sous-titres en gras */
    letter-spacing: 0.8px; /* Espacement entre les lettres */
    margin-bottom: 15px;
		    text-shadow: 
        -2px -2px 0 black, 
        2px -2px 0 black, 
        -2px 2px 0 black, 
        2px 2px 0 black; /* Contour alternatif */
}
/* Section d'introduction */
#intro {
    text-align: center; /* Centre le texte */
    margin: 0 auto; /* Centre le bloc */
    max-width: 80%; /* Limite la largeur pour une meilleure lisibilité */
}

#intro h1 {
    font-size: 2.5em;
    font-weight: bold;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

#intro p {
    font-size: 1.2em;
    line-height: 1.6;
}

/* Section des vidéos */
#videos h2 {
    text-align: center; /* Centre le titre */
    font-size: 2em;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 20px;
}
/* Vidéos */
#video-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.picvid {
    width: 100%;
    max-width: 200px;
    border-radius: 10px;
    transition: transform 0.3s;
}

.picvid:hover {
    transform: scale(1.05);
}

.vidobulle {
    display: none;
    position: absolute;
    background: rgba(0, 0, 0, 0.8);
    padding: 5px;
    border-radius: 5px;
    color: white;
}

a:hover .vidobulle {
    display: block;
}

/* Section des liens */
#liens {
    padding: 20px;
    text-align: center;
}

.reseaux-liste {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px; /* Espace entre les blocs */
}

.reseaux-liste li {
    flex: 1 1 calc(20% - 15px); /* 5 blocs par ligne (20% de largeur) */
    max-width: calc(20% - 15px); /* Limite la largeur */
    background-color: rgba(255, 255, 255, 0.1); /* Fond légèrement visible */
    border-radius: 10px; /* Coins arrondis */
    padding: 10px;
    box-sizing: border-box;
    transition: transform 0.3s, background-color 0.3s;
}

.reseaux-liste li:hover {
    transform: scale(1.05); /* Effet de zoom au survol */
    background-color: rgba(255, 255, 255, 0.2); /* Fond plus clair au survol */
}

.reseaux-liste a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: white; /* Texte en blanc */
}

.reseaux-liste img {
    width: 50px; /* Taille des icônes */
    height: 50px;
    margin-bottom: 10px; /* Espace entre l'icône et le texte */
}

.reseaux-liste span {
    font-size: 1em;
    text-align: center;
}

#confirmation {
    text-align: center;
    padding: 50px;
}

#confirmation h2 {
    font-size: 2.5em;
    color: #91E3E1;
    margin-bottom: 20px;
}

#confirmation p {
    font-size: 1.2em;
    margin-bottom: 20px;
}

#confirmation a {
    color: #91E3E1;
    text-decoration: none;
    font-size: 1.1em;
    border: 1px solid #91E3E1;
    padding: 10px 20px;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s;
}

#confirmation a:hover {
    background-color: #91E3E1;
    color: #4766db;
}

#contact h2 {
    text-align: center; /* Centre le titre */
    font-size: 2em;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

/* Espacement pour le formulaire de contact */
#contact {
    padding-bottom: 80px; /* Ajoute une marge en bas pour éviter le chevauchement */
}

/* Ajustements pour les petits écrans */
@media (max-width: 768px) {
    #contact {
        padding-bottom: 100px; /* Marge plus grande sur mobile */
    }
}

/* Responsive */
@media (max-width: 768px) {
    .reseaux-liste li {
        flex: 1 1 calc(33.33% - 15px); /* 3 blocs par ligne sur les tablettes */
        max-width: calc(33.33% - 15px);
    }
}

@media (max-width: 480px) {
    .reseaux-liste li {
        flex: 1 1 calc(50% - 15px); /* 2 blocs par ligne sur les mobiles */
        max-width: calc(50% - 15px);
    }
}

/* Formulaire */
form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 400px;
    margin: 0 auto;
}

input, textarea, button {
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

button {
    background-color: #91E3E1;
    color: #4766db;
    cursor: pointer;
}

button:hover {
    background-color: #4766db;
    color: white;
}

/* Responsive */
@media (max-width: 768px) {
    nav ul {
        flex-direction: column;
        gap: 10px;
    }

    #video-container {
        justify-content: center;
    }

    .picvid {
        max-width: 150px;
    }
}