.hb-faq { border-top: var(--hb-border); }
.hb-faq__item { border-bottom: var(--hb-border); }
.hb-faq__question { margin: 0; font-family: var(--hb-font-body); }

.hb-faq__question button {
	display: flex;
	width: 100%;
	min-height: 4.5rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.15rem .15rem;
	border: 0;
	background: transparent;
	color: var(--hb-color-heading);
	cursor: pointer;
	font: inherit;
	font-size: var(--hb-type-body-large);
	font-weight: 650;
	line-height: 1.45;
	text-align: left;
	transition: color .18s ease;
}

.hb-faq__question button:hover,
.hb-faq__question button:focus-visible,
.hb-faq__question button[aria-expanded="true"] { color: var(--hb-color-primary-green); }

.hb-faq__question button span:first-child {
	min-width: 0;
	overflow-wrap: anywhere;
}

.hb-faq__indicator {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	flex: 0 0 2.75rem;
	place-items: center;
	border: 1px solid rgba(181, 139, 76, .55);
	border-radius: 50%;
	color: var(--hb-color-accent-text);
	font-size: 1.35rem;
	line-height: 1;
	transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.hb-faq__question button[aria-expanded="true"] .hb-faq__indicator {
	background: var(--hb-color-primary-green);
	color: var(--hb-color-button-text);
	transform: rotate(180deg);
}

.hb-faq__panel { overflow: hidden; }

.hb-faq__answer {
	max-width: var(--hb-content-measure);
	padding: 0 3.75rem 1.5rem 0;
	color: var(--hb-color-text);
	line-height: 1.75;
}

.hb-faq__answer > :first-child { margin-top: 0; }
.hb-faq__answer > :last-child { margin-bottom: 0; }
.hb-faq--enhanced .hb-faq__panel[hidden] { display: none; }

@media (max-width: 40rem) {
	.hb-faq__question button { align-items: flex-start; }
	.hb-faq__answer { padding-right: 0; }
}

