/* Global */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* Prend toute la hauteur de la fenêtre */
  font-family: 'Arial', sans-serif;
  background-color: #f4f4f4;
  color: #333;
}

h1, h2, h3 {
  font-weight: normal;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
}

/* HEADER */
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  background-color: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

header .logo h1 {
  font-size: 2rem;
  color: #FF5F5F;
}

header nav ul {
  list-style: none;
  display: flex;
  gap: 20px;
}

header nav ul li a {
  color: #333;
  font-size: 1rem;
  transition: color 0.3s;
}

header nav ul li a:hover {
  color: #FF5F5F;
}

/* Menu principal */
nav ul {
  list-style: none;
  display: flex;
  gap: 20px;
}

nav ul li {
  position: relative; /* Nécessaire pour que le sous-menu soit positionné correctement */
}

nav ul li a {
  color: #333;
  font-size: 1rem;
  display: block;
}

/* Sous-menu */
.submenu {
  display: none; /* Cacher le sous-menu par défaut */
  position: absolute; /* Placer le sous-menu sous le menu principal */
  top: 100%; /* Le sous-menu se place juste en dessous de l'élément parent */
  left: 0;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  width: 200px; /* Largeur du sous-menu */
  padding: 10px 0;
    z-index: 20;    
}

.submenu li a {
  padding: 10px 20px;
  font-size: 0.9rem;
  color: #333;
  text-align: left;
}

/* Afficher le sous-menu au survol de "Cours" */
.menu-cours:hover .submenu {
  display: block;
}


nav ul li a:hover {
  color: #000000; /* Couleur de survol du menu */
}


/* Cours Page */
#courses-page {
  padding: 40px;
  text-align: center;
}

.course-selection {
  display: flex;
  justify-content: center;
  gap: 20px;
    
}

/* Animation pour les blocs de cours */
.course-block {
  width: 45%;
  max-width: 350px;
  height: auto; /* Ajuste en fonction du contenu */
  padding: 20px;
  text-align: center;
  border-radius: 30px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Ombre douce autour du bloc */
  opacity: 0; /* Commence caché */
  transform: translateY(50px); /* Déplace légèrement vers le bas */
  transition: opacity 1s ease, transform 1s ease; /* Transition plus longue pour une apparition plus lente */

}

/* Définir l'animation "float" */
@keyframes float {
 0% {
    transform: translateY(0);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Légère ombre au début */
  }
  50% {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); /* Ombre plus marquée à mi-chemin */
  }
  100% {
    transform: translateY(0);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Retour à l'ombre initiale */
  }
}

/* Application de l'animation sur .course-block */
.course-block.visible {
  opacity: 1; /* Devenir visible */
  transform: translateY(0); /* Retour à la position d'origine */
  animation: float 2.5s ease-in-out infinite; /* Animation fluide */
}



#beginner {
  transition-delay: 0.2s;
  background-color: white; /* Fond blanc */
  padding: 20px;
  border: 10px solid transparent; /* Bordure transparente pour l'effet de dégradé */
  border-image: linear-gradient(to bottom, #80D0FF, #fff) 1; /* Bleu clair pour débutant */
  border-radius: 30px; /* Applique les arrondis de bordure après l'image */
  overflow: hidden; /* Cache tout débordement (utile pour les arrondis) */
}

#intermediate {
  transition-delay: 0.3s;
  background-color: white; /* Fond blanc */
  padding: 20px;
  border: 10px solid transparent; /* Bordure transparente pour l'effet de dégradé */
  border-image: linear-gradient(to bottom, #FFF59D, #fff) 1; /* Jaune clair pour intermédiaire */
  border-radius: 30px; /* Applique les arrondis de bordure après l'image */
  overflow: hidden; /* Cache tout débordement (utile pour les arrondis) */
}

#avance {
  transition-delay: 0.5s;
  background-color: white; /* Fond blanc */
  padding: 20px;
  border: 10px solid transparent; /* Bordure transparente pour l'effet de dégradé */
  border-image: linear-gradient(to bottom, #c9ee9D, #fff) 1; /* Jaune clair pour intermédiaire */
  border-radius: 30px; /* Applique les arrondis de bordure après l'image */
  overflow: hidden; /* Cache tout débordement (utile pour les arrondis) */
}

#grammaire {
  transition-delay: 0.5s;
  background-color: white; /* Fond blanc */
    margin-top: 30px;
  padding: 20px;
  border: 10px solid transparent; /* Bordure transparente pour l'effet de dégradé */
  border-image: linear-gradient(to bottom, #AF90FF, #fff) 1; /* Bleu clair pour débutant */
  border-radius: 30px; /* Applique les arrondis de bordure après l'image */
  overflow: hidden; /* Cache tout débordement (utile pour les arrondis) */
}

#lecture {
  transition-delay: 0.6s;
  background-color: white; /* Fond blanc */
    margin-top: 30px;
  padding: 20px;
  border: 10px solid transparent; /* Bordure transparente pour l'effet de dégradé */
  border-image: linear-gradient(to bottom, #FF93FF, #fff) 1; /* Bleu clair pour débutant */
  border-radius: 30px; /* Applique les arrondis de bordure après l'image */
  overflow: hidden; /* Cache tout débordement (utile pour les arrondis) */
}

.course-block:hover {
  transform: scale(1.05);
  border-color: #FF5F5F; /* Bordure rouge vif au survol */
}

/* Animation de l'ouverture et fermeture de la description */
.course-description {
  opacity: 0;
  max-height: 0;  /* Hauteur initiale de 0 pour cacher l'élément */
  transform: translateY(-10px);  /* L'élément commence légèrement au-dessus */
  overflow: hidden;
  margin-top: 10px;  /* Ajoute un espacement entre le bouton et la description */
  transition: opacity 0.3s ease, max-height 1.0s ease, transform 0.3s ease; /* Transition de l'opacité, max-height et translation */
}

/* Lorsque la description est visible */
.course-description.show {
  opacity: 1;
  max-height: 500px; /* Ajuste la valeur selon la hauteur de ton contenu */
  margin-bottom: 30px;
    transform: translateY(1); /* Remet l'élément à sa position d'origine PASSEZ A 0 SI BUG */
}


/* Bouton "En savoir plus" */
.toggle-description {
  padding: 12px 25px;
  background-color: #1E90FF; /* Bleu clair */
  color: white;
  border: 2px solid transparent;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 20px;
    margin-bottom: 10px;
  font-size: 1rem;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

/* Effet de survol pour le bouton "En savoir plus" */
.toggle-description:hover {
  background-color: #1c7ed6; /* Bleu foncé */
  transform: scale(1.05); /* Agrandissement */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); /* Ombre douce */
}

/* Bouton "Commencer" */
#boutton{
  padding: 12px 25px;
  background-color: #FF5F5F;  /* Rouge */
  color: white;
  border: 2px solid transparent;
  border-radius: 5px;
  cursor: pointer;
  margin: -20px;
  font-size: 0.9rem;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transitions douces pour l'ombre */
}

/* Effet de zoom avec ombre dynamique */
.enter-course-beg:hover, .enter-course-int:hover {
  transform: scale(1.1); /* Légèrement plus grand au survol */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); /* Ombre douce mais marquée */
}


#hidden-content-section {
    display: none;
    transition: opacity 0.3s ease-in-out;
    width: 90%;
}

#explication {
    font-size: 15px;
    background-color: #ffffff;
    border-radius: 8px;
    padding: 10px;
    margin-top: -30px;
    margin-bottom: 20px;
    text-align: center; /* Centre le texte à l'intérieur */
    width: fit-content; /* Adapte la largeur au contenu */
    margin-left: auto; /* Centre l'élément horizontalement */
    margin-right: auto; /* Centre l'élément horizontalement */
}

#beginner-courses, #intermediate-courses {
    display: flex;
    gap: 30px;
    padding: 20px;
    align-items: flex-start;
    justify-content: space-between;
}


#left-menu {
    width: 175px;
    max-height: 350px;
    background-color: #f7f7f7; 
    padding: 15px;
    box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.1);
    position:relative;
    border-radius: 20px;
    border: 4px inset #1E90FF;
    overflow-x: auto;
    transition: transform 0.5s ease; /* Animation douce pour les hover */
}

#left-menu:hover {
    transform: scale(1.03); /* Effet d'agrandissement au survol */
}

#left-menu h3 {
    color: #333;
    margin-top: 0;
    font-size: 20px;
}

#left-menu ul {
    list-style: none;
    padding-left: 0;
}

#left-menu ul li {
    margin: 10px 0;
}

#left-menu ul li a {
    text-decoration: none;
    color: #FF5F5F; 
    font-weight: bold;
    font-size: 15px;
    transition: color 0.3s ease;
}

#left-menu ul li a:hover {
    color: #FF9F0F; /* Flashy pink au survol */
    text-decoration: underline;
}

#left-menu a#lien {
    color: #a3b6fc;           /* Couleur du texte */
    text-decoration: none;    /* Enlever le soulignement */
    padding: 5px;             /* Espacement */
    border-radius: 5px;       /* Arrondir les coins si nécessaire */
}

#left-menu a#lien:hover {
    color: #a4e66e;           /* Changer la couleur au survol */
    text-decoration: underline;  /* Souligner au survol */
}

#course-preview {
    position: relative;
    margin-top: -330px;
    margin-left: 230px;
    background-color: #F3F4F6; /* Fond gris clair pour aérer */
    padding: 30px;
    box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    transition: background-color 0.3s ease;
    height: auto;
}



.lesson-preview {
    position: absolute; /* Position absolue pour superposer les aperçus */
    top: 0; /* Les aperçus apparaissent tous en haut du conteneur */
    left: 0;
    right: 0;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    width: 100%; /* Prend toute la largeur du conteneur */
}

.lesson-preview.active {
    opacity: 1;
    transform: translateY(0);
}

.lesson-preview h3 {
    font-size: 22px;
    margin-bottom: 10px;
    color: #333;
    margin-top: 0;
}

.lesson-preview p {
    color: #555;
    font-size: 16px;
    line-height: 1.6;
}

.lesson-preview:nth-child(odd) {
    background: linear-gradient(60deg, #1FDD00 30%, #fff 30%);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

.lesson-preview:nth-child(even) {
    background: linear-gradient(120deg, #FFDD00 30%, #fff 30%);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}


/* Footer */
footer {
  text-align: center;
  padding: 20px;
  background-color: #333;
  color: white;
  margin-top: auto;         /* Pousse le footer au bas de la page */
}

footer .socials {
  margin-bottom: 10px;
}

footer .socials a {
  margin: 0 10px;
  color: white;
  font-size: 1.2rem;
  transition: color 0.3s;
}

footer .socials a:hover {
  color: #FF5F5F;
}
