.dk-faq {
	padding-block: 8px 0;
}

.dk-faq__heading {
	font-size: clamp(26px, 3vw, 32px);
	margin: 0 0 20px;
}

.dk-faq__controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-bottom: 26px;
}

.dk-faq__search input {
	font-family: var(--dk-font-sans);
	font-size: 14.5px;
	padding: 10px 16px;
	border: 1px solid var(--dk-border-soft);
	border-radius: var(--dk-radius-pill);
	background: var(--dk-paper-light);
	min-width: 240px;
}

.dk-faq__list {
	max-width: 820px;
}

.dk-faq__group {
	margin-bottom: 26px;
}

.dk-faq__cat {
	font-family: var(--dk-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--dk-text-light);
	margin: 0 0 8px;
}

.dk-faq__item {
	border-top: 1px solid var(--dk-border-light);
}

.dk-faq__item:last-child {
	border-bottom: 1px solid var(--dk-border-light);
}

.dk-faq__q {
	list-style: none;
	cursor: pointer;
	padding: 16px 40px 16px 0;
	position: relative;
	font-family: var(--dk-font-serif);
	font-size: 20px;
	color: var(--dk-ink);
}

.dk-faq__q::-webkit-details-marker {
	display: none;
}

.dk-faq__q::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 14px;
	font-size: 22px;
	color: var(--dk-ocher);
	transition: transform var(--dk-t);
}

.dk-faq__item[open] .dk-faq__q::after {
	content: "–";
}

.dk-faq__a {
	padding: 0 0 18px;
	font-size: 15.5px;
}

.dk-faq__a p {
	margin: 0 0 0.8em;
}

.dk-faq__empty {
	color: var(--dk-text-grey);
	padding: 20px 0;
}
