/**
 * CBEM FAQ Accordion - Frontend CSS
 */

.faq-accordion-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.faq-item {
    background-color: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

.faq-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    height: 72px !important;
    padding: 0 24px !important;
    cursor: pointer !important;
    user-select: none !important;
}

.faq-question {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 20px !important;
    line-height: 28px !important;
    color: white !important;
    flex: 1 !important;
    padding-right: 20px !important;
}

.faq-chevron {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.3s ease !important;
    flex-shrink: 0 !important;
}

.faq-item.active .faq-chevron {
    transform: rotate(180deg) !important;
}

.faq-answer {
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease, padding 0.3s ease !important;
    padding: 0 24px !important;
}

.faq-item.active .faq-answer {
    max-height: 500px !important;
    padding: 0 24px 24px 24px !important;
}

.faq-answer p {
    margin: 0 !important;
    padding-top: 24px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    color: white !important;
    text-align: left !important;
}

/* Responsividade para Tablets */
@media screen and (max-width: 768px) {
    .faq-header {
        height: 64px !important;
        padding: 0 20px !important;
    }

    .faq-question {
        font-size: 18px !important;
        line-height: 26px !important;
        padding-right: 16px !important;
    }

    .faq-answer {
        padding: 0 20px !important;
    }

    .faq-item.active .faq-answer {
        padding: 0 20px 20px 20px !important;
    }

    .faq-answer p {
        font-size: 16px !important;
        line-height: 26px !important;
        padding-top: 20px !important;
    }

    .faq-chevron svg {
        width: 20px !important;
        height: 20px !important;
    }
}

/* Responsividade para Mobile */
@media screen and (max-width: 480px) {
    .faq-header {
        height: 56px !important;
        padding: 0 16px !important;
    }

    .faq-question {
        font-size: 16px !important;
        line-height: 24px !important;
        padding-right: 12px !important;
    }

    .faq-answer {
        padding: 0 16px !important;
    }

    .faq-item.active .faq-answer {
        padding: 0 16px 16px 16px !important;
    }

    .faq-answer p {
        font-size: 14px !important;
        line-height: 24px !important;
        padding-top: 16px !important;
    }

    .faq-chevron svg {
        width: 18px !important;
        height: 18px !important;
    }
}

