body {
    margin: 0;
    min-height: 100vh;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    font-family: "Helvetica Neue", Arial, sans-serif;

    background-image: url("Fond_site.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


.logo {
    padding-top: 40px;
    width: 160px;
    height: auto;
    display: block;
    margin: 0 0 0px;
    margin-bottom: 30px;
    
}

p {
    font-size: 20px;
    text-align: center;

}


h1 {
    margin-bottom: 20px;
     text-align: center;
}

form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

input[type="file"] {
    font-size: 16px;
}

button,
.btn-file {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;

    width: 200px;
    height: 40px;

    margin: 8px auto;
    font-size: 16px;
    cursor: pointer;

    background-color: #be1825;
    color: white;

    border: none;
    outline: none;
}


ol {
    max-width: 800px;
    font-size: 18px;
    line-height: 1.6;
    padding-left: 0;
    list-style-position: inside;
    text-align: center;
}

ol li {
    margin-bottom: 12px;
    
}

/* Transition hover pour les boutons */

button,
.btn-file {
    transition: background-color 0.2s ease;
}

button:hover,
.btn-file:hover {
    background-color: #99121e; /* version plus sombre de #457b9d */
}

.buttons-row {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap; /* évite de casser sur petit écran */
}

.file-info {
  margin: 0 0 10px 0; /* espace sous le texte */
  font-size: 14px;
  text-align: center;
  max-width: 420px;
  word-break: break-word;
}

/* ---------- Responsive mobile ---------- */
@media (max-width: 600px) {
  /* marge latérale globale */
  body {
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }

  /* évite les largeurs fixes trop grandes */
  h1 {
    font-size: 34px;       /* au lieu de 70px */
    margin-bottom: 24px;
  }

  .logo {
    width: 120px;          /* au lieu de 160px */
    margin-bottom: 16px;
  }

  .btn {
    width: 100%;           /* au lieu de 400px */
    max-width: 420px;
    font-size: 18px;       /* au lieu de 30px */
    padding: 14px;
  }
}

/* étoile obligatoire */
.required {
  color: #be1825;
  font-weight: bold;
  margin-left: 4px;
}

/* Message d'erreur */
.form-error {
  color: #be1825;
  font-size: 14px;
  margin: 6px auto 0;
  text-align: center;
  display: none;
}

/* Erreurs sur champs */
.field-error input,
.field-error select {
  border: 1px solid #be1825;
  background-color: #fff5f6;
}

/* Checkbox disclaimer */
.checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  max-width: 800px;
}

.checkbox-label input[type="checkbox"] {
  margin-top: 4px;
  transform: scale(1.1);
}

/* Erreur sur la checkbox : texte rouge */
.field-error .checkbox-label {
  color: #be1825;
}

/* Si tu utilises un grid, la checkbox prend toute la largeur */
.field-full {
  grid-column: 1 / -1;
}
