@font-face {
  font-family: 'Edosz';
  src: url('/assets/fonts/edosz.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* Reset & base */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: 'Edosz', Verdana, Arial, sans-serif;
  background: linear-gradient(to right, white, #35687B);
  display: flex;
  flex-direction: column;
  color: #333;
  min-height: 100vh; /* Toujours au moins la hauteur de la fenêtre */
}

/* Header (menu) */
body > header {
  flex-shrink: 0;
  margin: 0 10px 10px 10px; /* marge en bas = 20px pour espace menu-main */
}

/* Main */
body > main {
  flex-grow: 1; /* prend tout l'espace disponible entre header et footer */
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  min-width: 300px;
  width: auto;
  text-align: center;
  min-height: 0; /* Permet au flexbox de gérer la hauteur */
  justify-content: flex-start;
}

/* Footer */
body > footer {
  flex-shrink: 0;
  margin-top: auto;
}

/* Lien sans décoration */
a {
  text-decoration: none;
  color: inherit;
}

/* Titres */
h2 {
  font-size: 24px;
  margin-bottom: 10px;
}

/* Style spécifique pour la page vide / en construction */
.page-construction {
  flex-grow: 1;
  font-size: 40px;
  color: #35687B;
  display: flex;
  justify-content: center;   /* horizontal */
  align-items: center;       /* vertical */
  background-color: #f8f8f8;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  border-radius: 12px;
  max-width: 1200px;
  text-align: center;
  margin: 10px auto;
  width: 100%;
}

/* Classe à appliquer sur <main> pour les pages avec contenu */
.main-wrapper {
  max-width: none;
  width: calc(100% - 20px); /* ou width: 100% */
  margin: 10px 10px;         /* harmonise les marges latérales */
  /*flex-grow: 1;*/          /* retiré pour ne pas interférer */
  min-height: auto;
}

body > main:has(.page-construction) {
  justify-content: center;   /* centre verticalement */
  align-items: center;       /* centre horizontalement */
}

/* Classe pour centrer le contenu dans main (exemple pour page connexion) */
.centered-main {
  display: flex;
  flex-direction: column;
  justify-content: center;    /* centre verticalement */
  align-items: center;        /* centre horizontalement */
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
  /* pas de min-height ici, laisse flex gérer */
}

.centered-main form {
  width: 100%;
  max-width: 400px;
}

.centered-main label,
.centered-main input,
.centered-main button {
  display: block;
  width: 100%;
  margin-bottom: 15px;
}

.centered-main button {
  cursor: pointer;
  background-color: #35687B;
  color: white;
  border: none;
  padding: 10px;
  border-radius: 5px;
  font-size: 1rem;
}
