   /* Flex vertical pour tout le body */
    html, body {
      height: 100%;
      margin: 0;
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      display: flex;
      flex-direction: column;
      background: linear-gradient(135deg, #007bff, #ffffff, #ff7f50);
      overflow: hidden;
    }

    /* Bulles flottantes */
    .bubble {
      position: absolute;
      border-radius: 50%;
      opacity: 0.3;
      animation: float 20s linear infinite;
      z-index: 1;
    }

    @keyframes float {
      0% { transform: translateY(100vh) scale(0.5); }
      100% { transform: translateY(-200px) scale(1); }
    }

    /* Container du contenu principal */
    .main-content {
      flex: 1; /* Prend tout l’espace disponible */
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      z-index: 2;
      padding: 20px;
    }

    .newsletter-container {
      background: rgba(255,255,255,0.9);
      padding: 40px;
      border-radius: 20px;
      box-shadow: 0 0 30px rgba(0,0,0,0.2);
      max-width: 500px;
      width: 100%;
      text-align: center;
      backdrop-filter: blur(5px);
    }

    .newsletter-container h1 {
      color: #007bff;
      margin-bottom: 15px;
      font-weight: bold;
    }

    .newsletter-container p {
      color: #333;
      margin-bottom: 30px;
    }

    .newsletter-container button {
      background: linear-gradient(45deg, #007bff, #ff7f50);
      color: white;
      border: none;
      padding: 12px 30px;
      font-size: 1.1rem;
      font-weight: bold;
      border-radius: 50px;
      cursor: pointer;
      transition: transform 0.2s, box-shadow 0.2s;
    }

    .newsletter-container button:hover {
      transform: scale(1.1);
      box-shadow: 0 0 20px rgba(255,127,80,0.7);
    }

    /* Footer en bas */
    footer {
      flex-shrink: 0;
    }

    .alert-info {
      background-color: #d1ecf1;
      border-color: #bee5eb;
      color: #0c5460;
    }