/* MBF Fundraiser - faq.css
   FAQ page: categories, accordion (details/summary)
   ================================================== */

.mbf-faq-container {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: var(--content-padding) var(--content-padding) var(--space-3xl);
}

.mbf-faq-page__title {
	font-family: var(--font-serif);
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 500;
	color: var(--color-text);
	margin-bottom: var(--space-md);
}

.mbf-faq-page__intro {
	color: var(--color-text-muted);
	font-size: 1rem;
	line-height: var(--line-height-body);
	margin-bottom: var(--space-2xl);
	max-width: 60ch;
}

.mbf-faq__category {
	margin-bottom: var(--space-2xl);
}

.mbf-faq__category:last-child {
	margin-bottom: 0;
}

.mbf-faq__category-title {
	font-family: var(--font-serif);
	font-size: 1.375rem;
	font-weight: 500;
	color: var(--color-text);
	margin-bottom: var(--space-lg);
	padding-bottom: var(--space-sm);
	border-bottom: 2px solid var(--color-border);
}

.mbf-faq__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mbf-faq__item {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--color-border);
}

.mbf-faq__item:last-child {
	border-bottom: none;
}

.mbf-faq__question {
	margin: 0;
}

.mbf-faq__details {
	display: block;
}

.mbf-faq__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	width: 100%;
	padding: var(--space-lg) 0;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 500;
	color: var(--color-text);
	text-align: left;
	background: none;
	border: none;
	cursor: pointer;
	list-style: none;
	transition: color var(--transition);
}

.mbf-faq__summary::-webkit-details-marker {
	display: none;
}

.mbf-faq__summary::after {
	content: '';
	flex-shrink: 0;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid var(--color-text-muted);
	border-bottom: 2px solid var(--color-text-muted);
	transform: rotate(45deg);
	transform-origin: center;
	transition: transform var(--transition);
}

.mbf-faq__details[open] .mbf-faq__summary::after {
	transform: rotate(-135deg);
}

.mbf-faq__summary:hover {
	color: var(--color-accent);
}

.mbf-faq__answer {
	margin: 0;
	padding: var(--space-sm) 0 var(--space-lg) var(--space-md);
	border-left: 3px solid var(--color-accent);
	font-size: 0.9375rem;
	line-height: var(--line-height-body);
	color: var(--color-text-muted);
}

.mbf-faq__answer p {
	margin: 0 0 var(--space-sm);
}

.mbf-faq__answer p:last-child {
	margin-bottom: 0;
}
