/**
 * Millstone FAQ. Matches the Bricks "Sources" toggle; uses --ms-* tokens with
 * fallbacks for when Bricks globals aren't loaded.
 */
.ms-faq {
	margin-block: var(--ms-space-lg, 40px) var(--ms-space-md, 20px);
	border-top: 3px solid var(--ms-fg, #17110c);
	font-family: var(--ms-font-body, 'Saira', system-ui, sans-serif);
}

.ms-faq__item {
	border-bottom: 1px solid var(--ms-hairline, rgba(23, 17, 12, 0.12));
}

.ms-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ms-space-md, 20px);
	padding-block: var(--ms-space-md, 18px);
	cursor: pointer;
	list-style: none;
	font-family: var(--ms-font-display, 'Saira Condensed', system-ui, sans-serif);
	font-size: var(--ms-text-lg, 2.2rem);
	font-weight: 600;
	line-height: 1.25;
	color: var(--ms-fg, #17110c);
}

.ms-faq__question::-webkit-details-marker { display: none; }

.ms-faq__question::after {
	content: "+";
	flex: none;
	font-size: 1.3em;
	line-height: 1;
	font-weight: 500;
}

.ms-faq__item[open] > .ms-faq__question::after { content: "\2212"; }

.ms-faq__question:focus-visible {
	outline: 2px solid var(--ms-fg, #17110c);
	outline-offset: 2px;
}

.ms-faq__answer {
	padding-bottom: var(--ms-space-md, 20px);
	color: var(--ms-fg-body, #3b352e);
	font-size: var(--ms-text-base, 1.7rem);
	line-height: 1.6;
}

.ms-faq__answer > :first-child { margin-top: 0; }
.ms-faq__answer > :last-child { margin-bottom: 0; }

/* Editor: items are always expanded */
.ms-faq__item--editor .ms-faq__question { cursor: text; }
.ms-faq__item--editor .ms-faq__question::after { content: "\2212"; }
