/* FORM */
.wpcf7-not-valid-tip{font-size:12px!important;font-weight:600!important}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{border-color:#dc3232;font-size:.80rem;background-color:#dc3232;color:#ffffff;font-weight:600;}
.wpcf7-list-item {margin-left: 0px!important;}
.wpcf7-acceptance label {top: 0px; position: relative;}
.form-check.privacy .wpcf7-not-valid-tip {margin-top: 10px;}

.radio_style > p {margin-bottom:10px;}
.wpcf7-list-item {margin-right: 20px!important;}
.wpcf7-list-item-label {position: relative; top: 0px; font-size:14px;}

form .privacy-text {
    font-size: 11px!important;
    line-height: 13px!important;
}

form .wpcf7-spinner {
    position: absolute;
}

.form-message-ok {
    display: none;
}

.wpcf7 form.sent .form-message-ok,
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #ef163a;
    background-color: #ef163a;
    padding: 20px;
    color: #fff;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.4rem;
}

.wpcf7 form.sent .form-message-ok p,
.wpcf7 form.sent .form-message-ok {
    display: block;
}

.wpcf7 form.sent div:not(.form-message-ok),
.wpcf7 form.sent input,
.wpcf7 form.sent p {
    display: none;
}

/* RECAPTCHA */
.grecaptcha-badge, .grecaptcha-logo, .grecaptcha-error, .grecaptcha-logo iframe, .grecaptcha-logo textarea {display: none!important;visibility: hidden;}

/* OVERRIDE */
.footer-copy p {
    font-size: 14px!important;
}

p.content,
.content > p {
    line-height: 31px
}

.white-box {
    min-height: 100%;
    margin-bottom: 0px!important;
}

label.form-check-label {
    font-size: 14px;
}

/* FORM PREF */
.row.preferences {
    margin-top: 30px;
    margin-bottom: 20px;
}

.row.preferences p br {
    display: none;
}

.row.preferences p {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.row.preferences p> span {
    width: 125px !important;
}

.row.preferences p> span > span {
    display: flex;
    justify-content: flex-end;
    gap: 0px;
}

.row.preferences p {
    font-size: 14px;
    margin-bottom: 10px !important;
}

.row.preferences p> span > span input {
    width: 15px;
    height: 15px;
    border: 0;
    margin: 0;
}

.row.preferences p> span > span label {
    display: flex;
    gap: 7px;
    align-items: center;
}

.row.preferences .preference {
    display: flex;
    justify-content: space-between;
}

.row.preferences .preference .preference_left {
    margin-right: 10px;
    cursor: pointer;
}

.row.preferences .preference .preference_left .preference_title > p {
    margin-bottom: 5px!important;
}

.row.preferences .preference .preference_left .preference_title > p {
    margin-bottom: 5px!important;
    display: inline;
}

.row.preferences .preference .preference_left .preference_text {
    display: none;
}

.row.preferences .preference .preference_left .preference_text > p {
    font-size: 14px;
    line-height: 18px;
}

.row.preferences .preference .preference_left .preference_title .preference_btn {
    text-transform: lowercase;
    text-decoration: none;
    font-size: 16px;
    margin-left: 0px;
    font-weight: normal;
}

.row.preferences .preference .preference_left .preference_title .preference_btn:after {
    content: '▼';
    margin-left: 5px;
    display: inline-block;
    position: relative;
    top: 0px;
    transition: .2s all;
    transform: rotate(-90deg);
}

.row.preferences .preference .preference_left .preference_title .preference_btn.active:after {
    transform: rotate(0);
    top: 0;
}

.row.preferences .preference .preference_left .preference_text.active {
    display: block;
}

@media(max-width: 767px) {
    .row.privacy-consent,
    .row.preferences p {
        font-size: 14px;
    }
    
    .row.preferences .preference .preference_left .preference_text > p {
        font-size: 12px;
        line-height: 14px;
    }

    .row.preferences .preference .preference_left .preference_title .preference_btn {
        font-size: 16px;
    }
}

/* TERMS & PRIVACY */
/* ------------------------------------------------------------------------------ */
.wpcf7-acceptance .custom-check {
    float: left;
    margin-left: -1.5em;
}
.wpcf7-acceptance .wpcf7-list-item-label {
    padding-left: 6px;
}
.checkbox_consent_origin {
    display: none;
}
#blocco_terms {
    margin-top: 40px;
}
#blocco_consensi {
    margin-top: 25px;
}

.title_privacy_block {
    font-size: 16px;
    font-weight: 700;
    color: #63656B;
    line-height: 18px;
}

.main-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

/* Testo */
.consent-text {
    margin: 0;
    line-height: 1.5!important;
    font-size: 14px!important;
    letter-spacing: 0.025rem;
    font-weight: 500!important;
}

/* Link "Clicca qui" */
.toggle_terms_link,
.toggle_consent_link {
    background: none;
    border: none;
    color: #ef163a;
    text-decoration: underline;
    cursor: pointer;
    font-size: inherit;
    padding: 0;
}

/* Lista */
#details_term_list {
    margin-top: 12px;
    padding-left: 30px;
}

.item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0;
}

.item .custom-check {
    display: contents;
}

/* Checkbox custom */
.custom-check input {
    position: absolute;
    opacity: 0;
}

.custom-check .checkmark {
    width: 20px;
    height: 20px;
    background-color: #ffffff;
    border-radius: 3px;
    display: inline-block;
    position: relative;
    border: 1px solid #dee2e6;
}

.custom-check input:checked + .checkmark {
    background-color: #e93733 !important;
}

.custom-check input:checked + .checkmark::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.custom-check input.partial:checked + .checkmark::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 2px 0px 0;
    transform: rotate(90deg);
}
/* Focus accessibile */
.custom-check input:focus + .checkmark {
    outline: 2px solid #000;
    outline-offset: 2px;
}

/* Link lista */
.item a {
    color: #000;
    text-decoration: underline;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.025rem;
}

#details_consent_list {
    margin-top: 12px;
    padding-left: 30px;
}
.accordion_consent {
    margin: 5px 0;
}
.accordion_header_consent {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Bottone titolo */
.accordion_toggle_consent {
    background: none;
    border: none;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1;
    font-weight: 600;
    line-height: 18px;
    letter-spacing: 0.025rem;
}

/* Freccia */
.accordion_header_consent .arrow {
    width: 0;
    height: 0;
    margin-left: 10px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #000;
    transition: transform 0.2s ease;
}

/* Ruota freccia quando aperto */
.accordion_header_consent .accordion_toggle_consent[aria-expanded="true"] .arrow {
    transform: rotate(180deg);
}

/* Contenuto */
.accordion_content_consent {
    margin-top: 5px;
    padding-left: 40px;
}

.accordion_content_consent p {
    font-size: 12px!important;
    line-height: 18px!important;
    letter-spacing: 0.025rem!important;
}

/* Checkbox custom */
.custom-check input {
    position: absolute;
    opacity: 0;
}

/* Focus accessibile */
.custom-check input:focus-visible + .checkmark,
.accordion_toggle_consent:focus-visible {
    outline: 2px solid black;
    outline-offset: 2px;
}

.title_terms_block,
.title_consent_block {
    font-size: 14px;
    font-weight: 700;
    color: #3d3d3d;
    line-height: 18px;
}
/* ------------------------------------------------------------------------------ */