/**
 * FAQ accordion - single posts.
 *
 * The front page's accordion lives in front.css and is driven by front.js
 * (.faq-item + .is-open). Posts use native <details> instead, emitted by
 * pcr_faq_accordion() in inc/content.php, so this file styles the same
 * component with no script and without loading the front-page bundle.
 *
 * Every selector is scoped to `details.faq-item` on purpose: the front page's
 * markup is <div class="faq-item">, so these rules cannot reach it even if
 * both stylesheets ever end up on the same page.
 */

details.faq-item {
	border-top: 1px solid var(--line, #E4E7EC);
}

details.faq-item:last-child {
	border-bottom: 1px solid var(--line, #E4E7EC);
}

details.faq-item > summary.faq-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 0;
	cursor: pointer;
	list-style: none;
}

details.faq-item > summary.faq-btn::-webkit-details-marker {
	display: none;
}

details.faq-item > summary.faq-btn::marker {
	content: "";
}

details.faq-item > summary.faq-btn:focus-visible {
	outline: 2px solid var(--copper, #DE4916);
	outline-offset: 4px;
}

details.faq-item .faq-q {
	margin: 0;
	padding: 0;
	font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
	font-size: clamp(18px, 2.1vw, 21px);
	font-weight: 700;
	line-height: 1.32;
	letter-spacing: -.01em;
	color: var(--ink, #0A0D14);
}

details.faq-item .faq-icon {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 2px solid var(--ink, #0A0D14);
	border-radius: 50%;
	transition: transform .3s var(--ease, ease),
		background-color .3s var(--ease, ease),
		border-color .3s var(--ease, ease);
}

details.faq-item .faq-icon i {
	font-size: 16px;
	color: var(--ink, #0A0D14);
	transition: color .3s var(--ease, ease);
}

details.faq-item[open] .faq-icon {
	transform: rotate(45deg);
	background: var(--copper, #DE4916);
	border-color: var(--copper, #DE4916);
}

details.faq-item[open] .faq-icon i {
	color: #fff;
}

details.faq-item .faq-ans-inner {
	padding: 0 48px 24px 0;
	color: var(--ink-light, #475467);
}

details.faq-item .faq-ans-inner > :first-child {
	margin-top: 0;
}

details.faq-item .faq-ans-inner > :last-child {
	margin-bottom: 0;
}

details.faq-item[open] .faq-ans-inner {
	animation: pcr-faq-reveal .28s var(--ease, ease);
}

@keyframes pcr-faq-reveal {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: none; }
}

@media (max-width: 700px) {
	details.faq-item > summary.faq-btn {
		gap: 16px;
		padding: 18px 0;
	}

	details.faq-item .faq-ans-inner {
		padding-right: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	details.faq-item[open] .faq-ans-inner {
		animation: none;
	}

	details.faq-item .faq-icon {
		transition: none;
	}
}