body { margin: 0; font-family: 'Poppins', sans-serif; background-color: #f8fafc; color: #2c3e50; }
    header {
      background: 
        linear-gradient(rgba(144, 190, 109, 0.6), rgba(144, 190, 109, 0.6)),
        url('/img/pv.jpg') center/cover no-repeat;
      color: white;
      padding: 80px 20px 60px;
      text-align: center;
    }
    header .intro {
      background-color: rgba(0, 0, 0, 0.4);
      padding: 20px;
      border-radius: 10px;
      display: inline-block;
      max-width: 800px;
      margin: auto;
    }
    header h1 { font-size: 2.5em; margin-bottom: 0.5em; }
    header p { font-size: 1.2em; max-width: 700px; margin: auto; }
    .container { max-width: 900px; margin: auto; padding: 20px; }
    form {
      background: white;
      padding: 30px;
      border-radius: 10px;
      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
      display: grid;
      gap: 20px;
    }
    input, select, button {
      padding: 14px;
      border: 1px solid #ccc;
      border-radius: 6px;
      font-size: 1em;
    }
    button {
      background-color: #90be6d;
      color: white;
      font-weight: bold;
      cursor: pointer;
    }
    button:hover { background-color: #6a994e; }
    section {
      background: white;
      margin: 40px 0;
      padding: 30px;
      border-radius: 10px;
      box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    }
    h2 { text-align: center; margin-bottom: 20px; color: #90be6d; }
    ul { list-style: none; padding-left: 20px; }
    .cta {
      background: #f1fdf6;
      padding: 40px 20px;
      text-align: center;
      position: relative;
    }
    .cta h2 { color: #2a9d8f; }
    .cta img {
      max-width: 80px;
      margin-top: 20px;
      opacity: 0.9;
    }
    footer {
      background: #d8f3dc;
      text-align: center;
      padding: 20px;
      font-size: 0.9em;
    }
    .alert {
      background: #fff3cd;
      padding: 15px;
      border-left: 6px solid #f0ad4e;
      font-size: 0.95em;
      margin-bottom: 20px;
      border-radius: 5px;
    }    

.rgpd-consent {
  font-size: 0.9em;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Popups */
.popup {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  justify-content: center;
  align-items: center;
  /* padding: 20px; ❌ à retirer */
}

.popup-content {
  background: white;
  padding: 30px;
  border-radius: 8px;
  max-width: 600px;
  width: calc(100% - 40px); /* ✅ Pour marge responsive automatique */
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  box-sizing: border-box;
}

.close {
  position: absolute;
  top: 10px;
  right: 20px;
  font-size: 1.5em;
  cursor: pointer;
}

@media (max-width: 600px) {
  .popup-content {
    font-size: 0.95em;
  }
  header h1 {
    font-size: 2em;
  }
  header p {
    font-size: 1em;
  }
}
