/* Reset e Stili Base (COME PRIMA) */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Poppins', sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: #f4f4f4;
}

.container {
    max-width: 960px;
    margin: auto;
    overflow: hidden;
    padding: 0 20px;
}

h1, h2, h3 {
    margin-bottom: 1rem;
    font-weight: 600;
    color: #5a2d82; /* Viola scuro tema Heels */
}

h1 {
    font-size: 2.8rem;
    line-height: 1.2;
}

h2 {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e476d4; /* Rosa acceso tema Heels */
}

h3 {
    font-size: 1.5rem;
    color: #333;
    margin-top: 1.5rem; /* Spazio sopra H3 nelle opzioni di pagamento */
}


p {
    margin-bottom: 1rem;
}

code { /* Stile per IBAN e causali */
    background-color: #eee;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 0.95em;
    color: #c7254e; /* Rosso scuro/rosa per codice */
}

/* Header / Hero Section (COME PRIMA) */
.hero {
    background: linear-gradient(rgba(90, 45, 130, 0.7), rgba(90, 45, 130, 0.8)), url('https://images.unsplash.com/photo-1598318860239-d55d13485f80?q=80&w=1934&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D') no-repeat center center/cover; /* Immagine generica - CAMBIALA SE VUOI */
    color: #fff;
    padding: 6rem 0;
    text-align: center;
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero h1 {
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.hero h2 {
    color: #f0f0f0;
    font-weight: 400;
    margin-bottom: 1.5rem;
    border-bottom: none;
    font-size: 1.8rem;
}

.hero .date-location {
    font-size: 1.1rem;
    font-weight: 600;
    background-color: rgba(228, 118, 212, 0.8); /* Rosa semi-trasparente */
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 5px;
    margin-bottom: 1.5rem;
}

.hero .subtitle {
    font-size: 1.1rem;
    max-width: 700px;
    margin: 0 auto 2rem auto;
}

/* Pulsante Call to Action (Generale) */
.cta-button {
    display: inline-block;
    background-color: #e476d4; /* Rosa acceso */
    color: #fff !important; /* !important per sovrascrivere colori link */
    padding: 12px 30px;
    text-decoration: none;
    border-radius: 25px;
    font-weight: 600;
    font-size: 1.1rem;
    transition: background-color 0.3s ease, transform 0.3s ease;
    border: none;
    cursor: pointer;
    text-align: center;
    margin-top: 0.5rem; /* Aggiunto spazio sopra il pulsante */
}

.cta-button:hover {
    background-color: #d15bbd; /* Rosa leggermente più scuro */
    transform: scale(1.05);
    color: #fff !important;
}


/* Sezione Dettagli (COME PRIMA) */
.details {
    padding: 4rem 0;
    background-color: #fff;
}

.details ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 2rem;
}

.details ul li {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23e476d4" class="bi bi-check-circle-fill" viewBox="0 0 16 16"><path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/></svg>') no-repeat left center;
    padding-left: 25px;
    margin-bottom: 0.8rem;
    font-size: 1.05rem;
}

/* Sezione Iscrizione / Pagamento */
.registration {
    padding: 4rem 0;
    background-color: #fdf6fd; /* Sfondo leggermente violaceo/rosa */
}

.registration h2 {
     border-bottom-color: #5a2d82; /* Viola scuro per contrasto */
     margin-bottom: 2.5rem; /* Più spazio sotto il titolo principale */
}

.registration .container {
    max-width: 700px; /* Riduciamo leggermente la larghezza per le opzioni */
}

.pricing-info {
    text-align: center;
    background-color: #fff;
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2.5rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.pricing-info h3 {
    margin-top: 0;
    color: #e476d4; /* Rosa */
}

.payment-option {
    background: #fff;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    margin-bottom: 2.5rem; /* Spazio tra opzione PayPal e Bonifico */
    text-align: center; /* Centra il contenuto delle opzioni */
}

.payment-option h3 {
    margin-top: 0;
    margin-bottom: 1rem;
    color: #5a2d82; /* Viola */
}

.payment-option p {
    margin-bottom: 1rem;
    color: #555;
    line-height: 1.7;
}

.payment-option .instructions {
    font-size: 0.9rem;
    color: #333;
    margin-top: 1.5rem;
    padding: 1rem;
    background-color: #f8f9fa; /* Sfondo leggermente grigio per istruzioni */
    border-radius: 5px;
    border: 1px solid #eee;
    display: inline-block; /* Per non prendere tutta la larghezza */
    text-align: left; /* Allinea a sinistra il testo interno */
    max-width: 100%; /* Assicura che non strabordi */
}

.payment-option .instructions code {
    display: block; /* Mette il codice su una riga separata */
    margin: 0.5rem 0;
    word-break: break-all; /* Va a capo se l'IBAN è troppo lungo */
}

.bank-details {
    margin-top: 1rem;
    padding: 1.5rem;
    background-color: #f0f0f0; /* Sfondo grigio chiaro per dettagli bonifico */
    border-radius: 8px;
    border: 1px solid #ddd;
    text-align: left; /* Allinea a sinistra i dettagli */
    display: inline-block; /* Per adattarsi al contenuto */
    max-width: 100%;
}

.bank-details p {
    margin-bottom: 0.8rem;
}

.bank-details strong {
    margin-right: 5px;
}

.bank-option .note {
    font-size: 0.85rem;
    color: #777;
    margin-top: 1rem;
    font-style: italic;
}

/* Footer (COME PRIMA) */
footer {
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 1.5rem 0;
    margin-top: 2rem;
}

/* Responsive (COME PRIMA, potrebbe necessitare piccoli aggiustamenti) */
@media (max-width: 768px) {
    h1 { font-size: 2.2rem; }
    .hero h2 { font-size: 1.5rem; }
    .hero { padding: 4rem 0; min-height: 50vh; }
}

@media (max-width: 480px) {
    h1 { font-size: 1.8rem; }
    h2 { font-size: 1.6rem; }
    .hero h2 { font-size: 1.3rem; }
    .cta-button { padding: 10px 20px; font-size: 1rem; }
    .payment-option { padding: 1.5rem; }
    .pricing-info { padding: 1rem; }
}
