   
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

   body { 
      margin:0; 
      font-family: "Poppins", Arial, Helvetica, sans-serif;
      background:#fff; 
      color:#333; 
	  font-size: 15px;
	  font-weight: 300;
    }

    header { 
      padding:0px 0px; 
      display:flex; 
      align-items:center; 
	  position:absolute;
	  top:15px;
      
    }
    header img { height:80px; }

    .hero { 
      display:flex; 
      justify-content:space-between; 
      align-items:center; 
      background:url('images/hero-placeholder.png') center/cover no-repeat; 
      min-height:400px; 
      padding:40px; 
    }
    .hero-text { color:#fff; max-width:100%; }
    .hero-text h1 { font-size:2rem; margin-bottom:10px; }
    .hero-text p { font-size:1.2rem; }

    .hero-form { 
      background:#f72e8b; 
      padding:20px; 
      border-radius:10px; 
      color:#fff; 
      max-width:350px; 
    }
    .hero-form h3 { margin-top:0; }
	.hero-form input:not([type="checkbox"]),
	.hero-form button {
	  width: 100%;
	  padding: 10px;
	  margin: 8px -10px;
	  border: none;
	  border-radius: 5px;
	  font-size: 1rem;
	}
		.hero-form input[type="checkbox"] {
	  width: auto;     /* così non occupa 100% */
	  margin: 10px 5px 10px 0;
	  transform: scale(1.2); /* opzionale: ingrandisce il checkbox */
	  cursor: pointer;
	}
    .hero-form input { color:#333; }
    .hero-form button { 
      background:#fff; 
      color:#f72e8b; 
      font-weight:bold; 
      cursor:pointer; 
    }
    .hero-form button:hover { background:#ffd6eb; }

    .section { text-align:center; padding:40px 20px; }
    .section h2 { color:#f72e8b; }

    .offers {
      display: flex;
      gap: 20px;
      justify-content: center;
      margin: 20px auto;
    }

    .offer-box {
      background: #fff;
      border-radius: 15px;
      padding: 20px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      text-align: center;

      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .offer-box h3 {
      color: #e6007e;
      font-size: 18px;
      margin-bottom: 10px;
	  justify-content: space-between;
    }

    .subtitle {
      font-size: 14px;
      color: #888;
    }

    .label {
      font-size: 14px;
      margin: 10px 0;
    }

    .price {
      font-size: 22px;
      font-weight: bold;
      color: #e6007e;
    }

    .bonus {
      background: #FFD700;
      padding: 8px;
      border-radius: 6px;
      margin: 10px 0;
    }

    .discount {
      font-size: 14px;
      color: #555;
    }

    .cta {
      background: #e6007e;
      color: #fff;
      border: none;
      padding: 12px 20px;
      border-radius: 25px;
      font-size: 16px;
      margin-top: 15px;
      cursor: pointer;
      align-self: center;
    }

    .steps { 
      display:flex; 
      justify-content:center; 
      gap:40px; 
      padding:40px 20px; 
      flex-wrap:wrap; 
    }
    .step { text-align:center; max-width:200px; }
    .step img { width:60px; margin-bottom:10px; }

    .cta-final { 
      background:#f72e8b; 
      color:#fff; 
      text-align:center; 
      padding:40px 20px; 
    }
    .cta-final h2 { margin-bottom:20px; }
    .cta-final button { 
      padding:15px 30px; 
      border:none; 
      border-radius:30px; 
      background:#fff; 
      color:#f72e8b; 
      font-weight:bold; 
      font-size:1.2rem; 
      cursor:pointer; 
    }
    .cta-final button:hover { background:#ffd6eb; }

    footer { 
      background:#333; 
      color:#fff; 
      padding:20px; 
      text-align:center; 
      font-size:0.9rem; 
    }
    footer a { color:#f72e8b; text-decoration:none; margin:0 10px; }
    footer a:hover { text-decoration:underline; }

    .success { 
      background:#d4edda; 
      color:#155724; 
      padding:10px; 
      margin:15px auto; 
      max-width:400px; 
      border-radius:5px; 
    }
    .error { 
      background:#f8d7da; 
      color:#721c24; 
      padding:10px; 
      margin:15px auto; 
      max-width:400px; 
      border-radius:5px; 
    }

	.consenso-label {
	  font-size: 0.8rem;
	  margin: 5px 0;
	  line-height: 1.4;
	}

	.consenso-label input {
	  line-height: 1.4;
	  margin-right: 6px;
	  vertical-align: middle;
	}

	.no-break {
	  white-space: nowrap;
	}
	
	.offer-wrapper {
  border: 2px solid #ddd;       /* bordo sottile grigio */
  border-radius: 15px;          /* angoli smussati */
  padding: 5px;                /* spazio interno */
  margin: 10px auto;            /* margini esterni */
  max-width: 600px;             /* larghezza massima */
  background: #fff;             /* sfondo bianco */
  box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* ombra leggera */
}
.offer-wrapper {
  border: 2px solid #ddd;
  border-radius: 15px;
  padding: 15px;
  max-width: 400px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.offer-box h3 {
  margin: 0 0 8px;   /* elimina spazio sopra, lascia poco sotto */
  font-size: 1.2em;
  color: #f72e8b;

}

.offer-box p {
  margin: 4px 0;     /* margini ridotti tra paragrafi */
  line-height: 1.3;  /* compatta il testo */
}

.offer-box .price {
  font-size: 1.3em;
  font-weight: bold;
  color: #f72e8b;
  margin: 6px 0;     /* leggermente più spazio sopra e sotto */
}

.offer-box .cta {
  margin-top: 10px;
  padding: 10px 18px;
  border: none;
  border-radius: 10px;
  background: #f72e8b;
  color: white;
  font-size: 1em;
  cursor: pointer;
  transition: background 0.3s ease;
  
}
.offer-box .cta:hover {
  background: #005fa3;
}
.offer-box {
  display: flex;
  flex-direction: column;  /* elementi in colonna */
  height: 92%;            /* il box occupa tutta l’altezza */
}

.offer-box .cta {
  margin-top: auto;        /* spinge il bottone in fondo */
  padding: 10px 18px;
  border: none;
  border-radius: 10px;
  background: #f72e8b;
  color: white;
  font-size: 1em;
  cursor: pointer;
  transition: background 0.3s ease;
}
.offer-box .cta:hover {
  background: #c91f6c;
}

#cookie-banner {
  display: none; /* inizialmente nascosto */
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 700px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.2);
  padding: 20px;
  z-index: 9999;
  font-family: Arial, sans-serif;
  animation: slideUp 0.5s ease;
}

#cookie-banner p {
  margin: 0 0 15px;
  font-size: 0.95rem;
  line-height: 1.4;
  color: #333;
}

#cookie-banner a {
  color: #f72e8b;
  font-weight: bold;
  text-decoration: none;
}

#cookie-banner a:hover {
  text-decoration: underline;
}

.cookie-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.cookie-actions button {
  padding: 10px 18px;
  border: none;
  border-radius: 8px;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.3s ease;
}

.cookie-actions .accept {
  background: #28a745;
  color: white;
}

.cookie-actions .accept:hover {
  background: #218838;
}

.cookie-actions .decline {
  background: #f0f0f0;
  color: #333;
}

.cookie-actions .decline:hover {
  background: #ddd;
}

/* Animazione */
@keyframes slideUp {
  from { transform: translate(-50%, 100%); opacity: 0; }
  to { transform: translate(-50%, 0); opacity: 1; }
}
