/* ---- FAQ category tabs ---- */
.faq-tabs { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 2rem; }
.faq-tab { flex: 1 1 160px; display: flex; align-items: center; gap: .75rem; background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: 1rem 1.1rem; }
.faq-tab:hover { border-color: var(--blue-500); }
.faq-tab__icon { width: 38px; height: 38px; border-radius: var(--radius-sm); background: var(--blue-50); color: var(--blue-600); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.faq-tab__title { font-size: .85rem; font-weight: 700; color: var(--navy-800); }
.faq-tab__count { font-size: .75rem; color: var(--gray-500); }

/* ---- accordion ---- */
.accordion-item { border: 1px solid var(--gray-200); border-radius: var(--radius-md); margin-bottom: .75rem; overflow: hidden; }
.accordion-item__q {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; text-align: left;
	padding: 1rem 1.25rem; background: var(--white); border: none; font-weight: 700; font-size: .9rem; color: var(--navy-800);
}
.accordion-item__q .icon { color: var(--gray-400); flex-shrink: 0; transition: transform .2s ease; }
.accordion-item.is-open .accordion-item__q { background: var(--blue-50); color: var(--blue-600); }
.accordion-item.is-open .accordion-item__q .icon { transform: rotate(45deg); color: var(--blue-600); }
.accordion-item__a { padding: 0 1.25rem; max-height: 0; overflow: hidden; transition: max-height .25s ease, padding .25s ease; font-size: .85rem; color: var(--gray-600); line-height: 1.6; }
.accordion-item.is-open .accordion-item__a { padding: 0 1.25rem 1.1rem; max-height: 400px; }

.faq-load-more { display: block; margin: 1rem auto 0; }

/* ---- sidebar boxes ---- */
.sidebar-box { background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: 1.5rem; margin-bottom: 1.5rem; }
.sidebar-box h3 { font-size: 1rem; font-weight: 700; color: var(--navy-800); margin-bottom: 1rem; }
.sidebar-box ul li a { display: flex; align-items: center; justify-content: space-between; padding-block: .5rem; font-size: .85rem; color: var(--gray-700); border-bottom: 1px solid var(--gray-100); }
.sidebar-box ul li:last-child a { border-bottom: none; }
.sidebar-box ul li a:hover { color: var(--blue-600); }
.sidebar-box p { font-size: .85rem; color: var(--gray-600); margin-bottom: 1rem; }
.sidebar-contact-item { display: flex; align-items: center; gap: .55rem; margin-bottom: .7rem; font-size: .85rem; color: var(--gray-700); }
.sidebar-contact-item .icon { color: var(--blue-600); flex-shrink: 0; }
