/* Importation police Poppins */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display.swap');

/* Couleurs personnalisées */
:root {
  --simpsons-yellow: #FFD90F;
  --fortnite-blue: #0078D7;
  --dark-bg: #1a1a1a;
  --light-text: #ffffff;
  --dark-text: #1a1a1a;
  --grey-text: #cccccc;
  --section-bg: #2a2a2a;
}

/* Réinitialisation des styles de base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}


a {
  text-decoration: none;
  color: var(--dark-text);
}

/* Styles globaux */
::selection {
  background: var(--simpsons-yellow);
  color: var(--dark-text);
}

/* Styles de la carte */
.map {
  position: relative;
  padding: 20px;
  margin: 30px auto;
  max-width: 800px;
}

.map iframe {
  width: 100%;
  height: 200px;
  border: none;
  border-radius: 15px;
  box-shadow: 0 0 20px var(--fortnite-blue),
              0 0 40px var(--simpsons-yellow);
  transition: transform 0.3s ease;
}

.map iframe:hover {
  transform: scale(1.02);
  box-shadow: 0 0 30px var(--fortnite-blue),
              0 0 60px var(--simpsons-yellow);
}

.bloc-principal .texte {
  color: var(--light-text);
  font-size: 20px;
  max-width: 800px;
  margin: 20px auto;
  line-height: 1.6;
}


/* Structure de la page */
html {
  height: 100%;
}

/* Layout principal */
body {
  display: flex;
  flex-direction: column;
  min-height: 100px;
}

/* Contenu principal */
main {
  flex-grow: 1;
}

/* Styles de l'en-tête */
header {
  position: fixed;
  width: 100%;
  padding: 10px 0;
  z-index: 1000;
  border-bottom: 3px solid var(--simpsons-yellow);
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url('../img/donuts.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Conteneur de navigation */
.navigation-conteneur { /* Anciennement: menu-container */
  max-width: 1250px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
}

/* Logo */
.navigation-conteneur .logo img { /* Anciennement: menu-container .logo img */
  height: 60px;
  width: auto;
  vertical-align: middle;
}

/* Navigation */
.navigation-conteneur nav ul { /* Anciennement: menu-container nav ul */
  display: inline-flex;
}

/* Éléments de menu */
.navigation-conteneur nav ul li { /* Anciennement: menu-container nav ul li */
  list-style: none;
  margin-left: 20px;
}

/* Liens de menu */
.navigation-conteneur nav ul li a { /* Anciennement: menu-container nav ul li a */
  text-decoration: none;
  color: var(--light-text);
  font-size: 19px;
  font-weight: 500;
  padding: 8px 15px;
  border-radius: 5px;
  transition: all 0.3s ease;
}

/* Effet au survol des liens de menu */
.navigation-conteneur nav ul li a:hover { /* Anciennement: menu-container nav ul li a:hover */
  background: var(--simpsons-yellow);
  color: var(--dark-text);
  transform: scale(1.05);
}

/* Section d'en-tête (Hero Banner) */
.entete-page { /* Anciennement: hero-banner */
  background: url('../img/fond.png') no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 100px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100px;
  height: auto;
  padding-bottom: 60px;
}

/* Overlay sombre */
.entete-page::before { /* Anciennement: hero-banner::before */
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.6);
}

/* Contenu principal centré dans l'en-tête */
.bloc-principal { /* Anciennement: center-content */
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 0 20px;
  text-align: center;
  color: var(--light-text);
  padding-top: 100px;
}

/* Titre principal */
.bloc-principal .titre-principal { /* Anciennement: center-content .title */
  font-size: 60px;
  font-weight: 700;
  text-shadow: 4px 4px 0px var(--fortnite-blue),
              6px 6px 0px rgba(0,0,0,0.5);
  margin-bottom: 10px;
}

/* Styles du formulaire */
.formulaire-conteneur {
    background: linear-gradient(135deg, var(--fortnite-blue), var(--dark-bg));
    border: 3px solid var(--simpsons-yellow);
    border-radius: 15px;
    max-width: 450px;
    margin: 20px auto;
    padding: 30px;
    box-shadow: 0 0 25px var(--fortnite-blue),
                inset 0 0 15px var(--simpsons-yellow);
    position: relative;
    overflow: hidden;
}

.formulaire-conteneur::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(45deg, 
        transparent 20%, 
        rgba(0,120,215,0.1) 40%,
        rgba(255,217,15,0.1) 60%,
        transparent 80%);
    animation: fortnite-glow 4s linear infinite;
    pointer-events: none;
}

@keyframes fortnite-glow {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.titre-formulaire {
    color: var(--simpsons-yellow);
    font-size: 28px;
    margin-bottom: 25px;
    text-shadow: 2px 2px 4px var(--fortnite-blue);
    text-align: center;
}

.champ-formulaire {
    margin-bottom: 20px;
}

.champ-formulaire label {
    display: block;
    color: var(--light-text);
    margin-bottom: 8px;
    font-weight: 500;
    text-shadow: 1px 1px 2px var(--dark-bg);
}

.champ-formulaire input {
    width: 100%;
    padding: 12px;
    background: rgba(255,255,255,0.1);
    border: 2px solid var(--fortnite-blue);
    border-radius: 8px;
    color: var(--light-text);
    font-size: 16px;
    transition: all 0.3s ease;
}

.champ-formulaire input:focus {
    outline: none;
    border-color: var(--simpsons-yellow);
    box-shadow: 0 0 10px var(--simpsons-yellow);
}

.bouton-connexion {
    width: 100%;
    padding: 12px;
    background: var(--fortnite-blue);
    color: var(--light-text);
    border: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
    text-transform: uppercase;
}

.bouton-connexion:hover {
    background: var(--simpsons-yellow);
    color: var(--dark-text);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    border: 3px solid var(--fortnite-blue);
    outline: 2px solid var(--fortnite-blue);
    outline-offset: 2px;
}

.lien-formulaire {
    display: block;
    text-align: center;
    color: var(--grey-text);
    margin-top: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.lien-formulaire:hover {
    color: var(--simpsons-yellow);
    text-shadow: 0 0 5px var(--fortnite-blue);
}

.texte-separation {
    color: var(--grey-text);
    text-align: center;
    margin: 20px 0 10px;
}

/*Le formulaire lui-même */
.formulaire-conteneur form {
    display: flex;
    flex-direction: column; /* Aligne les éléments verticalement */
    width: 100%;
}

/*Titre "Connectez-vous" */
.titre-formulaire {
    font-size: 32px;
    font-weight: 600;
    color: var(--light-text); /* Utilise votre variable de texte clair */
    margin-bottom: 25px;
    text-align: left; /* Aligné à gauche comme l'exemple */
}

/*Conteneur pour "label + input" */
.champ-formulaire {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}

/*Labels "Nom d'utilisateur", "Mot de passe" */
.champ-formulaire label {
    color: var(--light-text); /* Utilise votre variable */
    margin-bottom: 8px;
    font-size: 16px;
}

/*Champs de saisie (inputs) */
.champ-formulaire input {
    height: 45px;
    padding: 0 15px;
    font-size: 16px;
    background-color: #ffffff; /* Fond BLANC comme l'exemple */
    border: 1px solid #ccc;
    border-radius: 5px;
    color: var(--dark-text); /* Utilise votre variable de texte foncé */
}

/*Bouton "Se connecter" (style de l'image 2) */
.bouton-connexion {
    height: 45px;
    font-size: 18px;
    font-weight: 600;
    color: var(--dark-text); /* Utilise votre variable */
    /* Le dégradé gris de l'image */
    background: linear-gradient(to bottom, #fefefe, #d1d1d1); 
    border: 1px solid #aaa;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: 25px;
    margin-top: 10px;
}

.bouton-connexion:hover {
    background: linear-gradient(to bottom, #ffffff, #e0e0e0);
    border-color: #888;
}

/*Liens "Mot de passe oublié ?" et "Créez un compte" */
.lien-formulaire {
    color: #2ab8b8; /* Couleur bleu-vert (teal) de l'image 2 */
    text-decoration: none;
    font-size: 15px;
    transition: all 0.2s ease;
}

.lien-formulaire:hover {
    text-decoration: underline;
    color: #34e0e0;
}

/*Texte de séparation "Vous n'avez pas..." */
.texte-separation {
    color: var(--grey-text); /* Utilise votre variable de texte gris */
    font-size: 15px;
    margin-top: 20px;
    margin-bottom: 8px;
}

/* Styles du pied de page */
footer {
  background-color: var(--dark-bg);
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
    url('../img/donuts.png');
  background-size: cover;
  background-position: center;
  color: var(--grey-text);
  text-align: center;
  padding: 30px 20px;
  border-top: 3px solid var(--fortnite-blue);
  font-size: 15px;
}

/* La case à cocher est toujours cachée */
#menu-toggle {
    display: none;
}

/* Style du bouton "MENU" (caché sur desktop) */
.menu-button {
    display: none; /* Caché par défaut */
    cursor: pointer;

    
    /* Style visuel simple */
    font-size: 19px;
    font-weight: 500;
    padding: 8px 15px;
    border-radius: 5px;
    color: var(--light-text);
    background: var(--fortnite-blue);
    transition: all 0.3s ease;
}

/* Effet au survol du bouton "MENU" */
.menu-button:hover {
    background: var(--simpsons-yellow);
    color: var(--dark-text);
}

.map {
  height: 200px;
  border: var(--simpsons-yellow);
  border-radius: 5px;
}


/* Responsive Design */
@media (max-width: 768px) {

    .navigation-conteneur {
        flex-direction: right; /* Aligne le logo à gauche et le bouton à droite */
        gap: 0;
    }

    .media-video{
    padding-bottom: 600px;
  }

    /* Afficher le bouton "MENU" sur mobile ettablette */
    .menu-button {
        display: inline-block;
    }

    /* Cacher la navigation <nav>  */
    .navigation-conteneur nav {
        display: none; /* DOIT ÊTRE CACHÉ PAR DÉFAUT SUR MOBILE */
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
        background: rgba(42, 42, 42, 0.95);
    }

    /*Afficher la <nav quand le bouton est cliqué */
    #menu-toggle:checked ~ nav {
        display: block;
    }

    /* Transformer le <ul> en menu vertical */
    .navigation-conteneur nav ul {
        display: flex; /* revolution */
        flex-direction: column;
        padding: 0;
    }

    /* 5. Améliorer l'apparence des liens dans le menu déroulant */
    .navigation-conteneur nav ul li {
        margin: 0; /* Centrer le texte */
        width: 100%;
        text-align: center;
    }
   
    .navigation-conteneur nav ul li a {
        display: block; /* Pour rendre toute la ligne cliquable */
        padding: 15px;
        border-bottom: 1px solid var(--grey-text);
    }


   
    /* En-tête */
    .entete-page {
      height: auto;
      min-height: 80px;
      padding-bottom: 60px;
    }

    .bloc-principal {
      padding-top: 180px; /* Conserve un bon espace */
    }

    /* Titre principal */
    .bloc-principal .titre-principal {
      font-size: 48px;
      text-shadow: 3px 3px 0px var(--fortnite-blue),
          4px 4px 0px rgba(0,0,0,0.5);
    }

    /* Sous-titre principal */
    .bloc-principal .sous-titre-principal {
      font-size: 38px;
      text-shadow: 2px 2px 0px var(--fortnite-blue),
          3px 3px 0px rgba(0,0,0,0.5);
    }

    /* Conteneur d'actions (Boutons) */
    .bloc-principal .actions {
      flex-direction: column;
      gap: 20px;
    }
}


.mention_leg a{
  color: #ffffff;
  text-decoration: underline;
}

@media (max-width: 480px) {
  /* reajustation simple de l'UI ..*/

  /* Modification de nav-con, les autres élements du mode responsive sont hérités du media quiery 768px */
  .navigation-conteneur {
      justify-content: center; /* Aligne le logo à gauche et le bouton à droite */
      padding: 0 20px;
  }

  .logo img{
    display: none;
  }

   .media-video{
    padding-bottom: 400px;
  }

  .bloc-principal {
    padding-top: 160px;
  }

  /* Titre principal */
  .bloc-principal .titre-principal {
    font-size: 36px;
    line-height: 1.2;
  }

  /* Sous-titre principal */
  .bloc-principal .sous-titre-principal {
    font-size: 28px;
  }

.bloc-principal .actions div { /* utiliser div car pas de classe pour tout les boutons */
    width: 90%;
    max-width: 350px;
  }

  .actions button {
    width: 100%;
    height: 55px;
    font-size: 18px;
  }


  /* Pied de page */
  footer {
    font-size: 14px;
    padding: 20px 10px;

  }
}
