.page-faq .tc2c-wrap {
	max-width: 1280px;
	padding-left: 16px;
	padding-right: 16px;
}
.faq-page { width: 100%; padding: 28px 0 48px; }
.faq-title {
	margin: 0 0 0.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #ddd;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.4;
	color: #222;
}
.faq-subtitle { margin: 0 0 0.75rem; font-size: 0.9375rem; color: #555; }
.faq-toolbar { display: flex; justify-content: flex-end; margin-bottom: 1rem; }
.faq-toolbar form { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem; }
.faq-toolbar select,
.faq-toolbar input[type="text"] {
	height: 38px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	font-size: 0.875rem;
	box-sizing: border-box;
}
.faq-toolbar select { padding: 0 0.5rem; }
.faq-toolbar input[type="text"] { width: 200px; padding: 0 0.75rem; }
.faq-toolbar select:focus,
.faq-toolbar input:focus { outline: none; border-color: #999; }
.faq-btn-search {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #f0f0f0;
	color: #333;
	cursor: pointer;
}
.faq-btn-search:hover { background: #e5e5e5; border-color: #999; }
.faq-search-error { flex-basis: 100%; margin: 0; font-size: 0.8125rem; color: #c62828; }
.faq-search-error[hidden] { display: none; }
.faq-list-tap {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #e0e0e0;
}
.faq-list-tap a {
	display: inline-block;
	padding: 0.5rem 1rem;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #fff;
	color: #444;
	font-size: 0.875rem;
	text-decoration: none;
}
.faq-list-tap a:hover { border-color: #6b5344; background: #faf8f6; color: #6b5344; }
.faq-list-tap a.is-on { border-color: #6b5344; background: #6b5344; color: #fff; }
.faq-list { list-style: none; margin: 0; padding: 0; }
.faq-q-item { margin: 0 0 8px; border: 1px solid #e5e5e5; border-radius: 8px; overflow: hidden; background: #fff; }
.faq-q-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	background: #fafafa;
	color: #333;
	font-size: 0.9375rem;
	font-weight: 500;
	cursor: pointer;
	user-select: none;
}
.faq-q-head:hover { background: #f5f5f5; }
.faq-q-title { flex: 1; }
.faq-q-icon { flex-shrink: 0; margin-left: 0.5rem; color: #666; transition: transform 0.2s; }
.faq-q-item.is-open .faq-q-icon { transform: rotate(180deg); }
.faq-q-body {
	display: none;
	padding: 1rem 1.25rem;
	border-top: 1px solid #eee;
	background: #fff;
	color: #555;
	font-size: 0.875rem;
	line-height: 1.7;
}
.faq-q-item.is-open .faq-q-body { display: block; }
.faq-q-body img { max-width: 100%; height: auto; }
.faq-keyword { color: #6b5344; font-weight: 700; }
.faq-empty { padding: 2rem; color: #666; font-size: 0.9375rem; text-align: center; }
.faq-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.25rem;
	padding-bottom: 20px;
}
.faq-pagination a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 0.5rem;
	border: 1px solid #ddd;
	border-radius: 6px;
	color: #333;
	font-size: 0.875rem;
	text-decoration: none;
}
.faq-pagination a:hover { border-color: #6b5344; background: #faf8f6; color: #6b5344; }
.faq-pagination a.is-on { border-color: #6b5344; background: #6b5344; color: #fff; }
@media (max-width: 640px) {
	.faq-toolbar form { width: 100%; }
	.faq-toolbar input[type="text"] { flex: 1; width: auto; min-width: 0; }
}
