/* ───── GRAVITY FORMS (modello mailup-form) ──────────── */
.gform_wrapper {
    --gf-color-primary: #b00021 !important;
    --gf-color-primary-darker: #8a001a !important;
    --gf-color-primary-lighter: #b00021 !important;
    --gf-color-in-ctrl-primary: #b00021 !important;
    --gf-color-in-ctrl-primary-darker: #8a001a !important;
    --gf-color-in-ctrl-primary-lighter: #b00021 !important;
}

.gform_wrapper {
    width: 100%;
    max-width: 600px;
    margin-top: var(--block-padding-medium) !important;
    padding-inline: var(--inline-padding) !important;
}

.gform_wrapper form {
    margin-bottom: 0 !important;
}

/* ── Campi ── */
.gform_wrapper .gform_body {
    margin-top: var(--block-padding-medium) !important;
}

.gform_wrapper .gfield {
    display: flex;
    flex-direction: column;
    gap: var(--block-padding-small);
}

.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label {
    display: block;
    font-weight: 600 !important;
    margin-bottom: 0px !important;
    font-size: 28px !important;
    line-height: 140% !important;
    color: #000000 !important;
}

.gform_wrapper .gfield_required .gfield_required_text {
    color: #b00021 !important;
    font-weight: 400;
    margin-left: 0.5em !important;
    font-size: 24px !important;
}

.gform_wrapper .gfield_description {
    font-size: 16px !important;
    font-weight: 300;
    line-height: 140% !important;
}
.gform_wrapper .gfield_choice_limit_message {
    display: none !important;
}

/* ── Input testo / email / tel / textarea ── */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper textarea {
    width: 100%;
    border: #000000 1px solid !important;
    border-radius: 0 !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    background-color: #fff !important;
    color: #000000 !important;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper textarea:focus {
    outline: none;
    border-color: #b00021 !important;
}

/* ── Radio / checkbox ── */
.gform_wrapper .gchoice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.gform_wrapper .gfield-choice-input {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    accent-color: transparent !important;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    border: #000000 1px solid !important;
    background-color: #fff !important;
    flex-shrink: 0;
    cursor: pointer;
}

.gform_wrapper .gfield-choice-input:focus {
    outline: none;
}

.gform_wrapper input.gfield-choice-input[type="checkbox"] {
    border-radius: 0 !important;
}

.gform_wrapper input.gfield-choice-input[type="radio"] {
    border-radius: 50% !important;
    font-weight: 400;
    font-size: 16px;
    color: #444;
}

.gform_wrapper input.gfield-choice-input[type="radio"]+label,
.gform_wrapper input.gfield-choice-input[type="checkbox"]+label {
    font-weight: 400 !important;
    font-size: 16px !important;
    color: #444 !important;
}

.ginput_container_radio,
.ginput_container_checkbox {
    margin-top: var(--block-padding-small) !important;
}

.gform_wrapper .gfield-choice-input:checked {
    background-color: #b00021 !important;
    border-color: #b00021 !important;
}

.gform_wrapper .gform-field-label--type-inline {
    font-size: 15px !important;
    line-height: 140% !important;
    color: #000000 !important;
}

/* ── Privacy / link nel legend ── */
.gform_wrapper .gfield_label a,
.gform_wrapper .gform-field-label a {
    color: #b00021;
    text-decoration: underline;
}

/* ── Progress bar (3 step) — ricolorata sul brand ── */
.gf_progressbar_title {
    font-size: 14px !important;
    color: #000000 !important;
}

.gf_progressbar {
    background-color: #f5f5f5 !important;
}

.gf_progressbar_percentage {
    background-color: #b00021 !important;
}

/* ── Bottoni step / submit ── */
.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button {
    background-color: #ffffff00 !important;
    border: #000000 1px solid !important;
    border-radius: 0 !important;
    color: #000000 !important;
    padding: 12px 32px !important;
    font-family: 'Titillium Web', Helvetica, Arial, sans-serif;
    cursor: pointer;
    margin-top: var(--block-padding-medium) !important;
    font-size: 24px !important;
    font-weight: 600;
    text-transform: uppercase !important;
}

.gform_wrapper .gform_button:focus,
.gform_wrapper .gform_next_button:focus,
.gform_wrapper .gform_previous_button:focus {
    outline: none !important;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_next_button:focus,
.gform_wrapper .gform_previous_button:hover,
.gform_wrapper .gform_previous_button:focus {
    color: #ffffff !important;
    background-color: #b00021 !important;
    border: #b00021 1px solid !important;
}

/* ── Messaggio di conferma (post-invio) ── */
.gform_confirmation_wrapper {
    max-width: 600px;
}

.gform_confirmation_message {
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 150% !important;
    color: #000000 !important;
    padding: 20px 24px !important;
    border-left: 4px solid #b00021 !important;
    background-color: #fff !important;
}

.gform_confirmation_message a {
    color: #b00021 !important;
    text-decoration: underline;
    font-weight: 600 !important;
}

@media (max-width: 767px) {
    .gform_wrapper .gform_button,
    .gform_wrapper .gform_next_button,
    .gform_wrapper .gform_previous_button {
        width: 100%;
    }

    .gform_wrapper {
        margin-block: 24px !important;
    }

    .gform_confirmation_message {
        font-size: 16px !important;
        padding: 16px !important;
    }

    .gform_wrapper .gfield {
        margin-bottom: var(--block-padding-small) !important;
    }
}
