.ff-faq-section {
    max-width: 800px;
    margin: 2em 0;
}

.ff-faq-title {
    margin-bottom: 0.5em;
}

.ff-faq-description {
    color: #555;
    margin-bottom: 1.5em;
}

.ff-faq-list {
    border-top: 1px solid #e0e0e0;
}

.ff-faq-item {
    border-bottom: 1px solid #e0e0e0;
}

.ff-faq-question {
    padding: 1em 0;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
    position: relative;
    padding-right: 2em;
}

.ff-faq-question::-webkit-details-marker {
    display: none;
}

.ff-faq-question::after {
    content: '+';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4em;
    font-weight: 300;
    line-height: 1;
    transition: transform 0.2s ease;
}

details[open] > .ff-faq-question::after {
    content: '−';
}

.ff-faq-answer {
    padding: 0 0 1em;
    color: #444;
    line-height: 1.6;
}
