/* ========================= */
/* Variables globales        */
/* ========================= */
:root {
  --primary-color: #031b4e; /* Couleur principale de l'application */
  --accent-color: #f4f2ff; /* Couleur d'accent */
  --neutral-light: #e6e6e6; /* Gris clair pour les boutons secondaires */
  --text-color: #1a1a1a; /* Couleur du texte principal */
  --text-secondary: #4a4a4a; /* Couleur du texte secondaire */
  --bt-blue: #0a1b4c; /* Bleu BT EST */
}

/* ========================= */
/* Police personnalisée      */
/* ========================= */
@font-face {
  font-family: 'Inter';
  src: url('../assets/Inter/Inter-VariableFont_opsz\,wght.ttf') format('truetype');
  font-style: normal;
}

/* ========================= */
/* Styles globaux            */
/* ========================= */
* {
  box-sizing: border-box; /* Inclut padding et border dans la largeur/hauteur */
}

body, html {
  margin: 0;
  padding: 0;
  font-family: 'Inter', sans-serif; /* Police par défaut */
  background-color: white;
  color: var(--text-color);
  height: 100%; /* Hauteur complète de la fenêtre */
}

.page {
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* Hauteur minimale pour couvrir toute la fenêtre */
  position: relative;
}

/* ========================= */
/* Header                    */
/* ========================= */
header {
  height: 120px;
  padding: 20px 40px;
}

.logo {
  height: 70px; /* Taille du logo */
}

/* ========================= */
/* Main - Zone de connexion */
/* ========================= */
main {
  flex: 1; /* Prend tout l'espace disponible */
  display: flex;
  justify-content: center; /* Centre horizontalement */
  align-items: center; /* Centre verticalement */
  padding: 20px;
}

.login-box {
  width: 100%;
  max-width: 350px; /* Largeur maximale de la boîte de connexion */
  background-color: #ffffff;
  text-align: center;
  padding: 40px 20px 20px;
  border-radius: 12px; /* Coins arrondis */
}

/* ========================= */
/* Avatar                    */
/* ========================= */
.avatar-wrapper {
  position: relative;
  width: 100px;
  height: 100px;
  margin: -80px auto 10px; /* Margin négative pour superposer l'avatar */
  z-index: 1; /* Place l'avatar au-dessus des autres éléments */
}

.avatar-bg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover; /* Ajuste l'image pour remplir le conteneur */
}

/* ========================= */
/* Textes de la boîte        */
/* ========================= */
.login-box h2 {
  margin: 0;
  color: var(--primary-color);
  font-size: 18px;
}

.login-box p {
  margin: 10px 0 20px;
  color: var(--text-secondary);
  font-size: 14px;
}

/* ========================= */
/* Formulaire de connexion   */
/* ========================= */
form input {
  display: block;
  width: 100%;
  padding: 12px;
  margin-bottom: 12px;
  border: 1px solid #ccc;
  border-radius: 8px; /* Coins arrondis */
  font-size: 14px;
}

form button {
  width: 100%;
  padding: 12px;
  background-color: var(--primary-color); /* Couleur principale */
  color: white;
  border: none;
  border-radius: 8px; /* Coins arrondis */
  cursor: pointer;
  margin-bottom: 16px;
  font-family: 'Inter';
}

/* ========================= */
/* Boutons secondaires       */
/* ========================= */
.secondary {
  width: 100%;
  padding: 12px;
  background-color: var(--neutral-light); /* Fond gris clair */
  border: none;
  border-radius: 8px;
  font-weight: bold;
  color: #000;
  cursor: pointer;
  margin-top: 10px;
}

/* ========================= */
/* Éléments décoratifs       */
/* ========================= */
.separator-line {
  height: 1px;
  width: 100%;
  background-color: #d9d9d9; /* Ligne de séparation grise */
  margin: 10px 0;
}

.legal {
  font-size: 12px;
  color: #7a7a7a;
  margin-top: 16px;
}

.legal a {
  color: var(--primary-color);
  text-decoration: none; /* Supprime le soulignement des liens */
}

/* ========================= */
/* Footer                    */
/* ========================= */
footer {
  background-color: var(--bt-blue); /* Bleu BT EST */
  height: 60px;
  margin-top: auto; /* Place le footer en bas */
}

/* ========================= */
/* Responsive Design         */
/* ========================= */
@media (max-width: 768px) {
  .logo {
    display: block;
    margin: 0 auto; /* Centre le logo sur mobile */
  }

  header {
    text-align: center;
    height: auto; /* Hauteur automatique sur mobile */
    padding: 10px 0;
  }
}
