/* FAQ Accordion Styles */
.posts-list { list-style: none; padding: 0; margin: 0; border-top: solid 1px var(--bs-gray-900); }
.posts-list li { border-bottom: 1px solid var(--bs-gray-900); }

.posts-list li:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.post-header { padding: 1rem; cursor: pointer; display: flex; align-items: center; color: var(--bs-dark); transition: background-color 0.2s ease; user-select: none; position: relative; }
.post-header:hover { background: var(--bs-gray-100); }
.post-header::after { content: '\F282'; /* Bootstrap Icons chevron-down */ font-family: 'bootstrap-icons'; font-size: 1rem; color: var(--bs-gray-600); transition: transform 0.3s ease; position: absolute; right: 1rem; }
.post-header.active { background: var(--bs-gray-100);}
.post-header.active::after { transform: rotate(180deg); /* Rotate to chevron-up */ }
.post-header .num { margin-right: 1rem; color: var(--bs-gray-500); min-width: 1.5rem; text-align: right; }

.post-content { display: none; padding: 0 1.5rem 1.5rem 1.5rem; background: white; }
.post-content.show { display: block; animation: slideDown 0.3s ease-out; }

.post-content .post-meta { font-size: 0.8rem; color: var(--bs-gray-600); display: flex; gap: 1rem; align-items: center; justify-content: space-between; margin: 0; padding: 1rem 0; border-bottom: 1px solid var(--bs-gray-200); }
.post-content .post-meta time { margin: 0; font-size: 0.8rem; }

.posts-list .post-preview { color: var(--bs-dark); line-height: 1.4; max-height: none; overflow: visible; text-overflow: initial; padding-top: 1rem; }


@keyframes slideDown {
    from {
        opacity: 0;
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }
    to {
        opacity: 1;
        max-height: 500px;
        padding-top: 0;
        padding-bottom: 1rem;
    }
}
