/* Stili isolati sulla sezione FAQ. Non toccano header, footer o CSS globale Divi. */
.fad-faq {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    overflow: visible;
    margin: 2.5em 0 0;
    padding-top: var(--fad-block-pad-t);
    padding-right: var(--fad-block-pad-r);
    padding-bottom: var(--fad-block-pad-b);
    padding-left: var(--fad-block-pad-l);
    color: var(--fad-block-color);
    font-size: var(--fad-block-size);
    font-weight: var(--fad-block-weight);
    background: var(--fad-block-bg);
    border-top: var(--fad-block-bd-t-w) solid var(--fad-block-bd-t-c);
    border-right: var(--fad-block-bd-r-w) solid var(--fad-block-bd-r-c);
    border-bottom: var(--fad-block-bd-b-w) solid var(--fad-block-bd-b-c);
    border-left: var(--fad-block-bd-l-w) solid var(--fad-block-bd-l-c);
    border-top-left-radius: var(--fad-block-rad-tl);
    border-top-right-radius: var(--fad-block-rad-tr);
    border-bottom-right-radius: var(--fad-block-rad-br);
    border-bottom-left-radius: var(--fad-block-rad-bl);
}

.fad-faq *,
.fad-faq *::before,
.fad-faq *::after {
    box-sizing: border-box;
}

.et_pb_post .fad-faq .fad-faq__title,
body.et_divi_theme .fad-faq .fad-faq__title,
.fad-faq .fad-faq__title {
    margin: 0 0 0.7em;
    padding-top: var(--fad-title-pad-t);
    padding-right: var(--fad-title-pad-r);
    padding-bottom: var(--fad-title-pad-b);
    padding-left: var(--fad-title-pad-l);
    color: var(--fad-title-color);
    font-size: var(--fad-title-size);
    font-weight: var(--fad-title-weight);
    line-height: 1.25;
    background: var(--fad-title-bg);
    text-decoration: none;
    box-shadow: none;
    border-top: var(--fad-title-bd-t-w) solid var(--fad-title-bd-t-c);
    border-right: var(--fad-title-bd-r-w) solid var(--fad-title-bd-r-c);
    border-bottom: var(--fad-title-bd-b-w) solid var(--fad-title-bd-b-c);
    border-left: var(--fad-title-bd-l-w) solid var(--fad-title-bd-l-c);
    border-top-left-radius: var(--fad-title-rad-tl);
    border-top-right-radius: var(--fad-title-rad-tr);
    border-bottom-right-radius: var(--fad-title-rad-br);
    border-bottom-left-radius: var(--fad-title-rad-bl);
}

.fad-faq .fad-faq__title::before,
.fad-faq .fad-faq__title::after {
    content: none !important;
    display: none !important;
    border: 0;
    background: none;
}

.fad-faq__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fad-faq__item {
    display: block;
    min-height: 0;
    overflow: visible;
}

.et_pb_post .fad-faq .fad-faq__question,
body.et_divi_theme .fad-faq .fad-faq__question,
.fad-faq .fad-faq__question {
    appearance: none;
    -webkit-appearance: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding-top: var(--fad-question-pad-t);
    padding-right: var(--fad-question-pad-r);
    padding-bottom: var(--fad-question-pad-b);
    padding-left: var(--fad-question-pad-l);
    color: var(--fad-question-color);
    font-size: var(--fad-question-size);
    font-weight: var(--fad-question-weight);
    font-family: inherit;
    line-height: 1.35;
    text-align: left;
    background: var(--fad-question-bg);
    box-shadow: none;
    cursor: pointer;
    border-top: var(--fad-question-bd-t-w) solid var(--fad-question-bd-t-c);
    border-right: var(--fad-question-bd-r-w) solid var(--fad-question-bd-r-c);
    border-bottom: var(--fad-question-bd-b-w) solid var(--fad-question-bd-b-c);
    border-left: var(--fad-question-bd-l-w) solid var(--fad-question-bd-l-c);
    border-top-left-radius: var(--fad-question-rad-tl);
    border-top-right-radius: var(--fad-question-rad-tr);
    border-bottom-right-radius: var(--fad-question-rad-br);
    border-bottom-left-radius: var(--fad-question-rad-bl);
}

.fad-faq__question:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.fad-faq__question-text {
    flex: 1;
    min-width: 0;
}

.fad-faq__icon {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    margin-top: -4px;
}

.fad-faq__item.is-open .fad-faq__icon {
    transform: rotate(225deg);
    margin-top: 4px;
}

/* Chiuso: la risposta non deve occupare spazio né restare visibile. */
.et_pb_post .fad-faq .fad-faq__answer,
body.et_divi_theme .fad-faq .fad-faq__answer,
.fad-faq .fad-faq__answer,
.fad-faq .fad-faq__answer[hidden] {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    visibility: hidden;
}

.et_pb_post .fad-faq .fad-faq__item.is-open .fad-faq__answer,
body.et_divi_theme .fad-faq .fad-faq__item.is-open .fad-faq__answer,
.fad-faq .fad-faq__item.is-open .fad-faq__answer {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 6px 0 0;
    padding: 0;
    visibility: visible;
}

.et_pb_post .fad-faq .fad-faq__answer-inner,
body.et_divi_theme .fad-faq .fad-faq__answer-inner,
.fad-faq .fad-faq__answer-inner {
    display: block;
    overflow: visible;
    margin: 0;
    padding-top: var(--fad-answer-pad-t);
    padding-right: var(--fad-answer-pad-r);
    padding-bottom: var(--fad-answer-pad-b);
    padding-left: var(--fad-answer-pad-l);
    color: var(--fad-answer-color);
    font-size: var(--fad-answer-size);
    font-weight: var(--fad-answer-weight);
    line-height: 1.6;
    background: var(--fad-answer-bg);
    border-top: var(--fad-answer-bd-t-w) solid var(--fad-answer-bd-t-c);
    border-right: var(--fad-answer-bd-r-w) solid var(--fad-answer-bd-r-c);
    border-bottom: var(--fad-answer-bd-b-w) solid var(--fad-answer-bd-b-c);
    border-left: var(--fad-answer-bd-l-w) solid var(--fad-answer-bd-l-c);
    border-top-left-radius: var(--fad-answer-rad-tl);
    border-top-right-radius: var(--fad-answer-rad-tr);
    border-bottom-right-radius: var(--fad-answer-rad-br);
    border-bottom-left-radius: var(--fad-answer-rad-bl);
}

.fad-faq .fad-faq__answer-inner p {
    margin: 0 0 0.6em;
}

.fad-faq .fad-faq__answer-inner p:last-child {
    margin-bottom: 0;
}
