
/* Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap');

/* Roboto */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

/* Cormorant Garamond */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&display=swap');

/* Playfair Display */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap');

/* Lora */
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;700&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'poppins', sans-serif;
    scroll-behavior: smooth;
}
body{
    margin: 0px;
    font-size: 25px;
    font-family: 'Roboto', sans-serif;
    background-color: #000;
    background: linear-gradient();
    background-attachment: fixed;
    height: 100vh;
    transition-duration: 5s;
    scroll-behavior: smooth;


}







/* Style de base de la barre de navigation */
.navbar {
  display: flex;
  justify-content: space-between; /* Espace entre l'image et le nav */
  align-items: center;
  padding: 10px 20px;
  background-color: #6b0a0a;;
  width: 100%;
  border-bottom: solid 2px grey;
}


.nav-links {
  list-style: none;
  display: flex; /* Affichage en ligne pour les grands écrans */
}

.nav-links li {
  margin: 0 10px;
}

.nav-links a {
  color: white;
  text-decoration: none;
  font-size: 18px;
}

.burger {
  display: none; /* Masquer le burger par défaut */
  cursor: pointer;
}

.burger div {
  width: 25px;
  height: 3px;
  background-color: white;
  margin: 5px;
  transition: all 0.3s ease;
}

/* Responsive */
@media screen and (max-width: 768px) {
  .nav-links {
    display: none; /* Masquer les liens de nav par défaut */
    flex-direction: column;
    width: 100%;
    position: absolute;
    top: 60px; /* Position du menu */
    left: 0;
    background-color: #333;
  }

  .nav-links.nav-active {
    display: flex; /* Afficher les liens de nav lorsqu'activé */
  }

  .nav-links li {
    margin: 15px 0; /* Espacement vertical */
  }

  .nav-links a {
    font-size: 20px; /* Taille du texte en mobile */
  }

  .burger {
    display: block; /* Afficher le burger en mobile */
  }

  .toggle .line1 {
    transform: rotate(-45deg) translate(-5px, 6px);
  }

  .toggle .line2 {
    opacity: 0;
  }

  .toggle .line3 {
    transform: rotate(45deg) translate(-5px, -6px);
  }
}









 /* HEADER*/

 .header{
   justify-content: center;
   margin: 0px;
   text-align: center;
   padding: 20px;
   background-color: #000;
   color: white;

 }


.header h1{
  font-size: 100px;
  font-family: times;
  color: white;
}

.header p{
  color: white;
  line-height: 150%;
}
.header h3{
  color: white;
}


/* BOUTON AVEC LEUR */

/* --- NOUVELLE RÈGLE : Définition des Keyframes (inchangée) --- */
@keyframes shimmer-loop {
    0% {
        left: -125%; 
    }
    100% {
        left: 125%; 
    }
}

/* --- Styles du Bouton d'En-tête (.header button) --- */
.header button{
    /* DIMENSIONS ORIGINALES */
    width: 150px; 
    padding: 10px;
    font-size: 20px; /* Taille de police finale */
    
    background-color: #6b0a0a;
    color: #fff;
    border-radius: 5px; /* Forme rectangulaire avec coins arrondis */
    cursor: pointer;
    text-decoration: none;
    
    /* SUPPORT DE L'ANIMATION */
    position: relative; 
    overflow: hidden; 
    z-index: 1; 
    border: none;
    /* Suppression de 'font-size: 30px;' et de la deuxième déclaration 'font-size: 20px;' pour la clarté */
}

/* --- Le pseudo-élément pour la lueur en dégradé (inchangé) --- */
.header button::before {
    content: ''; 
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    
    /* Dégradé (transparent -> blanc semi-transparent -> transparent) */
    background: linear-gradient(to right, 
                                rgba(255, 255, 255, 0) 0%,   
                                rgba(255, 255, 255, 0.4) 50%, 
                                rgba(255, 255, 255, 0) 100%  
                                );
    
    transform: skewX(-20deg); 
    z-index: 2; 
    
    /* Application de l'animation en boucle */
    animation: shimmer-loop 2s linear infinite;
}

/* --- Styles pour le lien (a) à l'intérieur du bouton --- */
.header button a{
    text-decoration: none;
    color: white;
    position: relative;
    z-index: 3;
    display: block; 
    /* Le lien occupe toute la surface du bouton (150px x hauteur) */
    width: 100%;
    height: 100%;
}

/* --- Gestion du Survol (Hover) --- */
.header button:hover{
    /* J'ai retiré l'opacité (60% ou 80%) car elle réduit la visibilité de la lueur.
       Nous laissons le background-color changer légèrement pour indiquer le survol. */
    background-color: #4a0707; /* Rouge plus foncé au survol */
}



/* FIN BOUTON AVEC LEUR */








/* PARTIE DE LA PRESENTATION EN VERTICAL */


.activity-container{
  width: 100%; /* Prend toute la largeur disponible */
  max-width: 1200px; /* Limite la largeur maximale à 1200px */
  margin: 0 auto; /* Centre le conteneur horizontalement */
}

.activity-inner{
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;

}

.activity-container2{
  width: 100%; /* Prend toute la largeur disponible */
  max-width: 1200px; /* Limite la largeur maximale à 1200px */
  margin: 0 auto; /* Centre le conteneur horizontalement */
  background-color: #fff;
  color: #000;
}


.activity-inner .activity{
  width: 100%;
}


.activity-inner img{
  width: 100%;
}

.activity-inner .activity a{
  text-decoration: none;
  color: black;
}

.activity-inner .activity a h3{
  padding: 5px;
}

.activity-inner .activity p{
  padding: 10px;
  text-align: justify;
}





@media (max-width: 768px){

  .activity-container{
    padding-left: 0px;
    padding-right: 0px;
  }


  .activity-inner .activity{
    width: 100%;
  }

  .activity-inner{
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
  }


  .activity-inner img{
    width: 100%;
  }


}










/* FORMULAIRE*/
/* --- SECTION FORMULAIRE DE CONTACT --- */

.form-container {
    /* Conteneur principal du formulaire */
    max-width: 600px;
    margin: 40px auto; /* Centre le formulaire et donne de l'espace */
    padding: 30px;
    background-color: #f8f8f8; /* Un fond blanc/gris très clair pour le contraste */
    border: 1px solid #ddd;
    border-radius: 8px; /* Coins légèrement arrondis */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Ombre douce */
}

/* Titre du formulaire (si vous en ajoutez un) */
.form-container h2 {
    font-family: 'Playfair Display', serif; /* Utilisation d'une police plus élégante/typographique pour le titre */
    color: #000;
    text-align: center;
    margin-bottom: 25px;
    font-size: 32px;
}

/* Style de base du formulaire (utilisant l'ID de la section HTML) */
#contactForm {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Espace entre les éléments du formulaire */
}

/* Styles pour les étiquettes (Labels) */
#contactForm label {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 700; /* Gras pour mettre en évidence */
    color: #333; /* Texte sombre */
}

/* Styles pour les champs de saisie (Input et Textarea) */
#contactForm input[type="text"],
#contactForm input[type="email"],
#contactForm textarea {
    width: 100%;
    padding: 12px;
    border: 2px solid #ccc;
    border-radius: 4px;
    font-size: 18px; /* Correspond à la taille de base du body */
    font-family: 'Roboto', sans-serif;
    transition: border-color 0.3s, box-shadow 0.3s;
    outline: none; /* Supprime le contour par défaut lors du focus */
}

/* Effet de focus sur les champs */
#contactForm input[type="text"]:focus,
#contactForm input[type="email"]:focus,
#contactForm textarea:focus {
    border-color: #6b0a0a; /* Bordure de couleur rouge foncé lors du focus */
    box-shadow: 0 0 5px rgba(107, 10, 10, 0.5); /* Ombre rouge assortie */
}

/* Champ Textarea spécifique (pour le message) */
#contactForm textarea {
    resize: vertical; /* Permettre uniquement le redimensionnement vertical */
    min-height: 120px;
}

/* Styles pour le bouton de soumission */
/* --- NOUVELLE RÈGLE : Définition des Keyframes (inchangée) --- */
@keyframes shimmer-loop {
    0% {
        left: -125%; 
    }
    100% {
        left: 125%; 
    }
}

/* --- Styles pour le bouton de soumission (inchangés) --- */
#contactForm button[type="submit"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 15px 25px;
    margin-top: 20px;
    font-size: 20px;
    font-weight: 700;
    color: white; 
    background-color: #6b0a0a; 
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.1s;
    text-transform: uppercase;
    letter-spacing: 1px;

    position: relative; 
    overflow: hidden; 
    z-index: 1; 
}

/* Effet au survol du bouton (inchangé) */
#contactForm button[type="submit"]:hover {
    background-color: #4a0707; 
}

/* Effet lors du clic/appui (inchangé) */
#contactForm button[type="submit"]:active {
    transform: translateY(1px);
}

/* --- Le pseudo-élément pour la lueur (MISE À JOUR) --- */
#contactForm button[type="submit"]::before {
    content: ''; 
    position: absolute;
    top: 0;
    width: 50%; 
    height: 100%;
    
    /* --- NOUVEAU : Dégradé pour la lueur --- */
    /* linear-gradient(direction, couleur_début, couleur_milieu, couleur_fin) */
    /* Ici, nous faisons un dégradé qui va du transparent au blanc semi-transparent, puis redevient transparent */
    background: linear-gradient(to right, 
                                rgba(255, 255, 255, 0) 0%,   /* Transparent au début */
                                rgba(255, 255, 255, 0.4) 50%, /* Blanc semi-transparent au milieu */
                                rgba(255, 255, 255, 0) 100%  /* Transparent à la fin */
                                );
    
    transform: skewX(-20deg); 
    z-index: 2; 
    
    animation: shimmer-loop 2s linear infinite;
}











/* FOOTER*/

footer{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    padding: 20px;
    padding-left: 30px;
    background-color: #000;
    color: white;
    border-top: #333 solid 2px;
}

footer .left{
    margin-right: 30px;
    margin-left: 30px;
}
footer .left h1{
    margin-top: 30px;
    margin-bottom: 30px;
    border-bottom: solid white 3px;
}
footer .left #droit{
    margin-top: 35px;
}

footer .center{
    margin-right: 30px;
    margin-left: 30px;
}
footer .center h1{
    margin-top: 30px;
    margin-bottom: 30px;
    border-bottom: solid white 3px;

}


footer .center ul li{
  text-decoration: none;
  color: white;
}
footer .center ul li a{
  text-decoration: none;
  color: white;
}

footer .center ul li a:hover{
  text-decoration: none;
  color: #007bff;
}



footer .right{
    margin-right: 10px;
    margin-left: 30px;
}
footer .right h1{
    margin-top: 30px;
    margin-bottom: 30px;
    border-bottom: solid white 3px;

}
footer .right ul li{
    display: inline-block;
    margin-left: 20px;
}

footer .right ul li a{
    display: inline-block;
    text-decoration: none;
    color: white;
}

footer .right ul li i{
  color: white;

}

footer .right ul li i:hover{
  color: #007bff;

}




















@media screen and (max-width: 768px) {
  body {
    font-size: 18px; /* Réduire la taille de la police pour les appareils mobiles */
  }

  /* Ajustement de la navigation */
  .navbar {
    justify-content: center;
    background-color: black;
    color: #10ac84;
    padding: 10px;
  }

  /* 
  .navbar img {
    width: 50px;
    height: 50px;
  }

  */
  nav {
    margin-left: 0;
    margin-top: 20px;
  }


  nav ul li {
    display: block;
    margin: 10px 0;
    text-align: center;
  }

  nav ul li a {
    display: inline-block;
    padding: 10px;
    color: #10ac84;
    text-decoration: none;
  }







  /* Ajustement de l'en-tête */
  .header {
    text-align: center;
    padding: 20px;
    color: white;
  }

  .header h1 {
    font-size: 35px; /* Réduire la taille du titre h1 pour les appareils mobiles */
  }

  .header h3{
    font-family: 'Source Code Pro', monospace;
    color: #6b0a0a;
  }

  .header button {
    font-size: 20px; /* Réduire la taille du bouton pour les appareils mobiles */
    padding: 10px;
    margin-top: 20px;
  }



  



  /* Ajustement du pied de page */
  footer {
    flex-direction: column; /* Affichage en colonne pour les appareils mobiles */
    align-items: center; /* Centrer les éléments pour les appareils mobiles */
    padding: 20px;
    background-color: #000;
    color: white;
  }

  footer .left,
  footer .center,
  footer .right {
    margin: 10px 0; /* Espacement entre les sections du pied de page */
    text-align: center; /* Centrer le contenu des sections */
  }

  footer .left h1,
  footer .center h1,
  footer .right h1 {
    font-size: 24px; /* Réduire la taille des titres h1 pour les appareils mobiles */
  }

  footer .right ul li {
    display: block; /* Affichage en bloc pour les liens sociaux */
    margin: 10px 0; /* Espacement entre les liens sociaux */
  }

}
