.faq-search {
	display: grid;
	grid-template-columns: minmax(260px, .72fr) minmax(360px, 1.28fr);
	gap: 64px;
	align-items: end;
	padding-top: 64px;
}

.faq-search h2 {
	margin: 8px 0 0;
	font-size: clamp(30px, 3vw, 44px);
	letter-spacing: -.035em;
}

.faq-search__field > label {
	display: block;
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 600;
}

.faq-search__field > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	border-bottom: 2px solid var(--color-deep);
}

.faq-search__field input {
	min-width: 0;
	height: 58px;
	padding: 0 8px 0 0;
	border: 0;
	background: transparent;
	color: var(--color-ink);
	font: inherit;
	font-size: 18px;
	outline: 0;
}

.faq-search__field input::placeholder { color: #969590; }

.faq-search__field button {
	padding: 0 2px 0 24px;
	border: 0;
	background: transparent;
	color: var(--color-deep);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.faq-search__field p {
	min-height: 22px;
	margin: 10px 0 0;
	color: var(--color-neutral);
	font-size: 14px;
}

.faq-search__empty { width: 100%; }

.faq-hub__empty {
	margin-top: 64px;
	margin-bottom: 112px;
	border-top: 1px solid var(--color-line);
	border-bottom: 1px solid var(--color-line);
}

[data-faq-item][hidden],
[data-faq-section][hidden],
[data-faq-category][hidden],
[data-faq-search-empty][hidden] { display: none !important; }

@media (max-width: 980px) {
	.faq-search {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-top: 48px;
	}
}

@media (max-width: 640px) {
	.faq-search {
		gap: 22px;
		padding-top: 36px;
	}

	.faq-search h2 { font-size: 30px; }
	.faq-search__field input { height: 54px; font-size: 16px; }
	.faq-search__field button { padding-left: 16px; }
	.faq-hub__empty { margin-top: 32px; margin-bottom: 80px; }
}
