/* Elementor FAQ Premium v2.0.0 */

.efaq-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid #333;
}

.efaq-item {
    border-top: 1px solid #333;
    box-sizing: border-box;
    
}

.efaq-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 24px 0;
    text-align: left;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
}
.efaq-header:hover,
.efaq-header:focus,
.efaq-header:active { background: none; outline: none; box-shadow: none; }

.efaq-question {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    line-height: 1.4;
    flex: 1;
    transition: color 350ms ease;
}

/* ── BODY: smooth max-height ── */
.efaq-body {
    overflow: hidden;
    max-height: 0;
    transition: max-height 350ms cubic-bezier(0.4, 0, 0.2, 1);
}
.efaq-item.efaq-open .efaq-body { max-height: 2000px; }

.efaq-answer {
    font-size: 14px;
    line-height: 1.8;
    color: #aaa;
    margin: 0;
    padding-bottom: 24px;
}

/* ── ÍCONE BASE ── */
.efaq-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: background-color 350ms ease, border-color 350ms ease, transform 350ms ease;
}

/* circle-plus */
.efaq-icon--circle-plus {
    border-radius: 50%;
    border: 1.5px solid #c9a84c;
    color: #c9a84c;
}
/* square-plus */
.efaq-icon--square-plus {
    border-radius: 4px;
    border: 1.5px solid #c9a84c;
    color: #c9a84c;
}
/* dash */
.efaq-icon--dash {
    border-radius: 50%;
    border: 1.5px solid #c9a84c;
    color: #c9a84c;
}

/* + barras (circle-plus, square-plus, dash) */
.efaq-icon--circle-plus::before,
.efaq-icon--circle-plus::after,
.efaq-icon--square-plus::before,
.efaq-icon--square-plus::after,
.efaq-icon--dash::before,
.efaq-icon--dash::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: 2px;
    transition: opacity 350ms ease, transform 350ms ease;
}
.efaq-icon--circle-plus::before,
.efaq-icon--square-plus::before,
.efaq-icon--dash::before { width: 50%; height: 1.5px; }

.efaq-icon--circle-plus::after,
.efaq-icon--square-plus::after { width: 1.5px; height: 50%; }
.efaq-icon--dash::after { display: none; } /* só traço */

/* aberto: × */
.efaq-item.efaq-open .efaq-icon--circle-plus::before,
.efaq-item.efaq-open .efaq-icon--square-plus::before { transform: rotate(45deg); }
.efaq-item.efaq-open .efaq-icon--circle-plus::after,
.efaq-item.efaq-open .efaq-icon--square-plus::after  { transform: rotate(45deg); opacity: 0; }

/* chevron */
.efaq-icon--chevron { color: #c9a84c; }
.efaq-icon--chevron::before {
    content: '';
    position: absolute;
    width: 40%;
    height: 40%;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translate(-20%, -20%);
    transition: transform 350ms ease;
}
.efaq-item.efaq-open .efaq-icon--chevron::before { transform: rotate(-135deg) translate(-20%, -20%); }

/* arrow */
.efaq-icon--arrow { color: #c9a84c; }
.efaq-icon--arrow::before {
    content: '';
    position: absolute;
    width: 45%;
    height: 45%;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translate(-25%, -25%);
    transition: transform 350ms ease;
}
.efaq-item.efaq-open .efaq-icon--arrow::before { transform: rotate(-135deg) translate(-25%, -25%); }

@media (max-width: 767px) {
    .efaq-question { font-size: 15px; }
    .efaq-answer   { font-size: 14px; }
    .efaq-header   { padding: 20px 0; }
}


.efaq-item.efaq-open { background: inherit !important; }
.efaq-header:focus-visible { outline: none; background: none; }
