/* Barra Site Fixes: FAQ pages (pages built from Details blocks). */
.bsf-faq .bpt-entry > .wp-block-details {
	--bsf-faq-w: 860px;
	width: min(var(--bsf-faq-w), 100% - 32px);
	margin: 0 auto 12px;
	padding: 0;
	background: #fff;
	border: 1px solid var(--bpt-line, #e3e1db);
	border-radius: 10px;
	box-shadow: 0 1px 2px rgba(0, 29, 64, .04);
	transition: border-color .2s, box-shadow .2s;
	overflow: hidden;
}
.bsf-faq .bpt-entry > .bsf-faq-start { margin-top: 56px; }
.bsf-faq .bpt-entry > .wp-block-details:hover { border-color: #cfd6e0; box-shadow: 0 6px 18px rgba(0, 29, 64, .07); }
.bsf-faq .bpt-entry > .wp-block-details[open] {
	border-color: var(--bpt-gold, #d9a84e);
	box-shadow: inset 4px 0 0 var(--bpt-gold, #d9a84e), 0 8px 24px rgba(0, 29, 64, .08);
}

.bsf-faq .bpt-entry > .wp-block-details > summary {
	display: block;
	position: relative;
	padding: 22px 76px 22px 28px;
	font-family: var(--bpt-font-head, inherit);
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--bpt-navy, #002d62);
	cursor: pointer;
	list-style: none;
	-webkit-tap-highlight-color: transparent;
}
.bsf-faq .bpt-entry > .wp-block-details > summary::-webkit-details-marker { display: none; }
.bsf-faq .bpt-entry > .wp-block-details > summary:focus-visible { outline: 3px solid var(--bpt-gold, #d9a84e); outline-offset: -3px; border-radius: 10px; }

/* Round gold +/− button. */
.bsf-faq .bpt-entry > .wp-block-details > summary::before,
.bsf-faq .bpt-entry > .wp-block-details > summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 34px;
	width: 14px;
	height: 2px;
	margin-top: -1px;
	background: var(--bpt-navy, #002d62);
	border-radius: 2px;
	font-size: 0;
	transform: none;
	transition: transform .25s ease, background-color .2s;
}
.bsf-faq .bpt-entry > .wp-block-details > summary::after { transform: rotate(90deg); }
.bsf-faq .bpt-entry > .wp-block-details > summary { background-image: radial-gradient(circle at calc(100% - 41px) 50%, var(--bsf-dot, rgba(217, 168, 78, .16)) 17px, transparent 18px); }
.bsf-faq .bpt-entry > .wp-block-details[open] > summary { --bsf-dot: var(--bpt-gold, #d9a84e); }
.bsf-faq .bpt-entry > .wp-block-details[open] > summary::before,
.bsf-faq .bpt-entry > .wp-block-details[open] > summary::after { background: #fff; }
.bsf-faq .bpt-entry > .wp-block-details[open] > summary::after { transform: rotate(0deg); }

.bsf-faq .bpt-entry > .wp-block-details > :not(summary) {
	margin: 0;
	padding: 0 28px 14px;
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--bpt-ink, #1d2733);
	max-width: none;
}
.bsf-faq .bpt-entry > .wp-block-details > :last-child { padding-bottom: 26px; }
.bsf-faq .bpt-entry > .wp-block-details > ul,
.bsf-faq .bpt-entry > .wp-block-details > ol { padding-left: 52px; }

/* Smooth opening where the browser supports it. */
@supports (interpolate-size: allow-keywords) {
	.bsf-faq { interpolate-size: allow-keywords; }
	.bsf-faq .bpt-entry > .wp-block-details::details-content {
		height: 0;
		overflow: clip;
		transition: height .3s ease, content-visibility .3s allow-discrete;
	}
	.bsf-faq .bpt-entry > .wp-block-details[open]::details-content { height: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.bsf-faq .bpt-entry > .wp-block-details,
	.bsf-faq .bpt-entry > .wp-block-details::details-content,
	.bsf-faq .bpt-entry > .wp-block-details > summary::before,
	.bsf-faq .bpt-entry > .wp-block-details > summary::after { transition: none; }
}

/* "Still have a question?" box after the questions. */
.bsf-faq .bpt-entry > .bsf-faq-cta {
	width: min(860px, 100% - 32px);
	margin: 40px auto 0;
	padding: 32px 36px;
	gap: 24px;
	align-items: center;
	background: var(--bpt-navy, #002d62);
	color: #fff;
	border-radius: 12px;
	box-sizing: border-box;
}
.bsf-faq .bsf-faq-cta p { margin: 0; color: rgba(255, 255, 255, .9); font-size: 1.15rem; line-height: 1.6; }
.bsf-faq .bsf-faq-cta .bsf-faq-cta__title { display: block; margin-bottom: 4px; font-family: var(--bpt-font-head, inherit); font-size: 1.4rem; font-weight: 600; color: #fff; }
.bsf-faq .bsf-faq-cta .wp-block-button__link { background: var(--bpt-gold, #d9a84e); color: var(--bpt-navy, #002d62); border: 0; white-space: nowrap; font-weight: 600; }
.bsf-faq .bsf-faq-cta .wp-block-button__link:hover,
.bsf-faq .bsf-faq-cta .wp-block-button__link:focus { background: #fff; color: var(--bpt-navy, #002d62); }

@media (max-width: 600px) {
	.bsf-faq .bpt-entry > .bsf-faq-start { margin-top: 32px; }
	.bsf-faq .bpt-entry > .wp-block-details > summary { padding: 18px 64px 18px 20px; font-size: 1.08rem; background-image: radial-gradient(circle at calc(100% - 35px) 50%, var(--bsf-dot, rgba(217, 168, 78, .16)) 15px, transparent 16px); }
	.bsf-faq .bpt-entry > .wp-block-details > summary::before,
	.bsf-faq .bpt-entry > .wp-block-details > summary::after { right: 28px; }
	.bsf-faq .bpt-entry > .wp-block-details > :not(summary) { padding: 0 20px 12px; font-size: 1.05rem; }
	.bsf-faq .bpt-entry > .wp-block-details > ul,
	.bsf-faq .bpt-entry > .wp-block-details > ol { padding-left: 40px; }
	.bsf-faq .bpt-entry > .bsf-faq-cta { padding: 26px 22px; text-align: center; }
	.bsf-faq .bsf-faq-cta .wp-block-buttons { justify-content: center; }
}
