/**
 * Confidenze Theme — newsletter.css
 * Landing newsletter — XD: project-docs/xd-screens/newsletter_page.png
 * Layout "solo grafica": hero box pesca + heading + form completo + sidebar.
 */

.newsletter-page {
    padding: 0 0 80px;
}

/* ═══════════════════════════════════════════════
   HERO — wrapper peach scuro (#ebc3ae) + box peach chiaro (#f5d8c9)
   ═══════════════════════════════════════════════ */
.newsletter-hero {
    margin: 0 0 0 -15px;
    background: #ebc3ae;
    padding: 50px;
}

/* Barrettina nera — attaccata all'hero, pattern HP (margin-bottom 20px) */
.newsletter-page .section-heading-bar--centered {
    margin-top: 0;
    margin-bottom: 20px;
}

.newsletter-hero__box {
    background: #f5d8c9;
    padding: 70px 30px;
    text-align: center;
}

.newsletter-hero__title {
    font-family: var(--ff-serif);
    font-size: 84px;
    font-weight: 400;
    line-height: 1;
    color: var(--c-black);
    margin: 0;
    letter-spacing: 0;
}

/* ═══════════════════════════════════════════════
   HEADING — "NEWSLETTER" lettere spaziate + descrizione
   ═══════════════════════════════════════════════ */
.newsletter-heading-wrap {
    text-align: center;
    margin: 0 0 55px;
}

.newsletter-heading {
    font-family: var(--ff-serif);
    font-size: 56px;
    font-weight: 400;
    line-height: 1.1;
    /* letter-spacing 0.25em sostituisce il vecchio markup pre-spaziato "N E W S L E T T E R" */
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--c-black);
    margin: 0 0 22px;
}

.newsletter-heading-desc {
    font-family: var(--ff-sans);
    font-size: 14px;
    line-height: 1.6;
    color: var(--c-black);
    max-width: 620px;
    margin: 0 auto;
}

/* ═══════════════════════════════════════════════
   BODY — full-width senza sidebar (decisione 23/04: no ADV, no widget Abbonati)
   ═══════════════════════════════════════════════ */
.newsletter-page__body {
    max-width: 880px;
    margin: 0 auto;
    padding: 0 15px;
}

/* ═══════════════════════════════════════════════
   FORM — layout completo
   ═══════════════════════════════════════════════ */
.newsletter-form--full {
    font-family: var(--ff-sans);
}

.newsletter-form__section {
    margin: 0 0 32px;
}

.newsletter-form__section-title {
    font-family: var(--ff-serif);
    font-size: 32px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--c-black);
    margin: 0 0 8px;
}

.newsletter-form__required {
    font-family: var(--ff-sans);
    font-size: 13px;
    line-height: 1.4;
    color: #6b6b6b;
    margin: 0 0 28px;
}

.newsletter-form__divider {
    border: 0;
    border-top: 1px solid #e0e0e0;
    margin: 10px 0 32px;
}

/* Righe griglia campi */
.newsletter-form__row {
    display: grid;
    gap: 24px 30px;
    margin-bottom: 22px;
}

.newsletter-form__row--3 {
    grid-template-columns: repeat(3, 1fr);
}

.newsletter-form__row--2 {
    grid-template-columns: repeat(2, 1fr);
}

/* Campo singolo */
.nl-field > label,
.nl-field > legend {
    display: block;
    font-family: var(--ff-sans);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-black);
    margin: 0 0 10px;
    padding: 0;
}

.nl-field .req {
    color: var(--c-black);
}

.nl-field input[type="email"],
.nl-field input[type="text"] {
    width: 100%;
    height: 36px;
    padding: 0 0 6px;
    font-family: var(--ff-sans);
    font-size: 14px;
    color: var(--c-black);
    background: transparent;
    border: 0;
    border-bottom: 1px solid #cbcbcb;
    border-radius: 0;
    outline: none;
    box-shadow: none;
}

.nl-field input:focus {
    border-bottom-color: var(--c-black);
}

/* Radio genere */
.nl-field--radio-group {
    border: 0;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.nl-field--radio-group legend {
    margin-bottom: 12px;
}

.nl-radio {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 22px 6px 0;
    font-family: var(--ff-sans);
    font-size: 14px;
    font-weight: 400;
    color: var(--c-black);
    cursor: pointer;
    line-height: 1.4;
}

.nl-radio input[type="radio"] {
    accent-color: var(--c-black);
    width: 15px;
    height: 15px;
    margin: 0;
    flex: 0 0 auto;
}

/* Data di nascita (3 select) */
.nl-field--dob .nl-dob {
    display: flex;
    gap: 10px;
}

.nl-dob select {
    flex: 0 0 auto;
    height: 36px;
    padding: 0 8px 0 2px;
    font-family: var(--ff-sans);
    font-size: 14px;
    color: var(--c-black);
    background: transparent;
    border: 0;
    border-bottom: 1px solid #cbcbcb;
    border-radius: 0;
    outline: none;
    cursor: pointer;
    appearance: auto;
}

.nl-dob select:focus {
    border-bottom-color: var(--c-black);
}

.nl-dob select[name="gg"]   { min-width: 70px; }
.nl-dob select[name="mm"]   { min-width: 120px; flex: 1 1 auto; }
.nl-dob select[name="aaaa"] { min-width: 90px; }

/* Blocco consenso */
.nl-consent {
    margin: 0 0 24px;
}

.nl-consent__label {
    font-family: var(--ff-sans);
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
    line-height: 1.4;
    color: var(--c-black);
    margin: 0 0 12px;
}

.nl-consent__options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
}

/* Privacy */
.nl-privacy-text {
    font-family: var(--ff-sans);
    font-size: 14px;
    line-height: 1.5;
    color: var(--c-black);
    margin: 0 0 8px;
}

.nl-privacy-link {
    font-family: var(--ff-sans);
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.nl-privacy-link a {
    color: var(--c-black);
    text-decoration: underline;
}

.nl-privacy-link a:hover {
    text-decoration: none;
}

/* Bottone INVIA ISCRIZIONE — stile HP (rettangolare) con peach del banner */
.newsletter-form__submit-wrap {
    text-align: center;
    margin: 30px 0 0;
}

.newsletter-form__submit-btn {
    display: inline-block;
    padding: 12px 30px;
    font-family: var(--ff-sans);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--c-black);
    background: #ebc3ae;
    border: 1px solid #ebc3ae;
    border-radius: 0;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.newsletter-form__submit-btn:hover,
.newsletter-form__submit-btn:focus-visible {
    background: #f5d8c9;
    border-color: #f5d8c9;
}

/* ═══════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════ */
@media (max-width: 991px) {
    .newsletter-hero {
        padding: 30px;
    }
    .newsletter-hero__box {
        padding: 70px 24px;
    }
    .newsletter-hero__title {
        font-size: 64px;
    }
    .newsletter-heading {
        font-size: 42px;
    }
}

@media (max-width: 767px) {
    .newsletter-form__row--3,
    .newsletter-form__row--2 {
        grid-template-columns: 1fr;
        gap: 22px;
    }
    .newsletter-form__section-title {
        font-size: 26px;
    }
}

@media (max-width: 575px) {
    .newsletter-page {
        padding: 0 0 60px;
    }
    .newsletter-hero {
        padding: 15px;
    }
    .newsletter-hero__box {
        padding: 50px 18px;
    }
    .newsletter-hero__title {
        font-size: 42px;
        line-height: 1.05;
    }
    .newsletter-heading-wrap {
        margin-bottom: 40px;
    }
    .newsletter-heading {
        font-size: 28px;
    }
    .newsletter-heading-desc {
        font-size: 13px;
        padding: 0 10px;
    }
    .newsletter-form__submit-btn {
        padding: 14px 40px;
        width: 100%;
        max-width: 320px;
    }
    .nl-consent__options {
        gap: 10px 22px;
    }
}
