/**
 * Theme isolation — non-theme FAQ styles are protected from theme CSS.
 */

.mfb-faq-wrapper.mfb-isolated {
	box-sizing: border-box;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: var(--mfb-font-size, 14px);
	line-height: 1.5;
	color: var(--mfb-answer-color, #4a4a68);
	-webkit-font-smoothing: antialiased;
}

.mfb-faq-wrapper.mfb-isolated *,
.mfb-faq-wrapper.mfb-isolated *::before,
.mfb-faq-wrapper.mfb-isolated *::after {
	box-sizing: border-box;
}

/* Reset theme heading styles */
.mfb-faq-wrapper.mfb-isolated .mfb-faq-title,
.mfb-faq-wrapper.mfb-isolated .mfb-faq-question-wrap,
.mfb-faq-wrapper.mfb-isolated .mfb-faq-question-wrap h3 {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	font-family: inherit !important;
	line-height: inherit !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-title {
	display: block;
	color: var(--mfb-title-color) !important;
	font-size: clamp(1.05rem, 1.5vw + 0.65rem, 1.2rem) !important;
	font-weight: 600 !important;
	margin-bottom: 0.4em !important;
	line-height: 1.3 !important;
}

/* Reset theme button / link styles on accordion trigger */
.mfb-faq-wrapper.mfb-isolated button.mfb-faq-question,
.mfb-faq-wrapper.mfb-isolated .mfb-faq-question {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin: 0 !important;
	padding: var(--mfb-pad-y, 0.6rem) var(--mfb-pad-x, 0.85rem) !important;
	border: none !important;
	border-radius: 0 !important;
	background-color: var(--mfb-bg-color, #fff);
	background-image: none !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	color: var(--mfb-question-color);
	text-align: left !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor: pointer !important;
	gap: var(--mfb-gap, 8px) !important;
	transition: color 0.2s ease, background 0.2s ease !important;
}

.mfb-faq-wrapper.mfb-isolated button.mfb-faq-question:hover,
.mfb-faq-wrapper.mfb-isolated button.mfb-faq-question:focus,
.mfb-faq-wrapper.mfb-isolated .mfb-faq-question:hover,
.mfb-faq-wrapper.mfb-isolated .mfb-faq-question:focus {
	color: var(--mfb-hover-color) !important;
	background-color: var(--mfb-bg-color, #fff);
	outline: 2px solid var(--mfb-icon-color) !important;
	outline-offset: -2px !important;
	box-shadow: none !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-question-text {
	flex: 1 !important;
	min-width: 0 !important;
	color: inherit !important;
	font: inherit !important;
}

/* Answer content — prevent theme typography overrides */
.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer,
.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner {
	padding: 0 var(--mfb-pad-x, 0.85rem) calc(var(--mfb-pad-y, 0.6rem) + 0.1rem) !important;
	color: var(--mfb-answer-color) !important;
	font-size: 0.875rem !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner p {
	margin: 0 0 0.75em !important;
	padding: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner p:last-child {
	margin-bottom: 0 !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner a {
	color: var(--mfb-icon-color) !important;
	text-decoration: underline !important;
	font-weight: inherit !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner a:hover {
	color: var(--mfb-hover-color) !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner ul,
.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner ol {
	margin: 0 0 0.75em 1.25em !important;
	padding: 0 !important;
	list-style-position: outside !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner li {
	margin: 0.25em 0 !important;
	padding: 0 !important;
	color: inherit !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner strong,
.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner b {
	font-weight: 700 !important;
	color: inherit !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner em,
.mfb-faq-wrapper.mfb-isolated .mfb-faq-answer-inner i {
	font-style: italic !important;
}

/* Icons */
.mfb-faq-wrapper.mfb-isolated .mfb-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	height: 22px !important;
	flex-shrink: 0 !important;
	color: var(--mfb-icon-color) !important;
	background: none !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-icon-plus,
.mfb-faq-wrapper.mfb-isolated .mfb-icon-minus {
	display: block !important;
	background: currentColor !important;
	border: none !important;
}

/* FAQ items */
.mfb-faq-wrapper.mfb-isolated .mfb-faq-item {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-description {
	color: var(--mfb-answer-color) !important;
	font-size: inherit !important;
	margin-bottom: 1.25em !important;
}

.mfb-faq-wrapper.mfb-isolated .mfb-faq-description p {
	margin: 0 0 0.5em !important;
	color: inherit !important;
}
