/*
 * Blog FAQ accordion (added 2026-10-08, owner request: "on each blog add 8-10 GEO & SEO
 * specific FAQs with proper accordions").
 *
 * Markup lives in each post's content (so editors can change a question/answer in the normal
 * editor):
 *   <section class="pi-faq" id="faqs"><h2>Frequently Asked Questions</h2><div class="pi-faq__list">
 *     <details class="pi-faq__item"><summary>Question</summary>
 *       <div class="pi-faq__answer"><p>Answer</p></div></details> ... </div></section>
 * Native <details>/<summary> = keyboard accessible, works with JavaScript off, and the answer
 * text stays in the page source for search engines and AI crawlers. The FAQPage JSON-LD is
 * generated from this same markup by pi_faq_schema() in inc/extra.php, so the visible FAQs and
 * the structured data can never drift apart.
 * Loaded on single posts only (see pi_enqueue_faq_css() in inc/extra.php).
 */
.pi-faq {
	margin: 40px 0 10px;
	clear: both;
}
.pi-faq > h2 {
	margin: 0 0 18px;
}
.pi-faq__item {
	border: 1px solid #d9e3ea;
	border-radius: 6px;
	margin: 0 0 10px;
	background: #fff;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.pi-faq__item:hover {
	border-color: #1BBCF3;
}
.pi-faq__item[open] {
	border-color: #1BBCF3;
	border-left-width: 4px;
	box-shadow: 0 2px 10px rgba(16, 174, 226, 0.12);
}
.pi-faq__item > summary {
	position: relative;
	display: block;
	list-style: none;
	cursor: pointer;
	padding: 15px 52px 15px 18px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
	color: #0b2438;
	text-align: left;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
}
.pi-faq__item > summary::-webkit-details-marker {
	display: none;
}
.pi-faq__item > summary::marker {
	content: '';
}
/* Plain-CSS chevron (no icon font): points down when closed, up when open. */
.pi-faq__item > summary::after {
	content: '';
	position: absolute;
	right: 20px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-right: 2px solid #10aee2;
	border-bottom: 2px solid #10aee2;
	transform: rotate(45deg);
	transition: transform 0.2s ease, margin-top 0.2s ease;
}
.pi-faq__item[open] > summary::after {
	margin-top: -2px;
	transform: rotate(-135deg);
}
.pi-faq__item > summary:hover,
.pi-faq__item[open] > summary {
	color: #0a8fbd;
}
.pi-faq__item > summary:focus-visible {
	outline: 2px solid #1BBCF3;
	outline-offset: -2px;
}
.pi-faq__answer {
	padding: 0 18px 16px;
	font-size: 15px;
	line-height: 1.7;
	text-align: left;
}
.pi-faq__answer p {
	margin: 0 0 10px;
	text-align: left;
}
.pi-faq__answer > :last-child {
	margin-bottom: 0;
}
.pi-faq__answer ul,
.pi-faq__answer ol {
	margin: 0 0 10px 20px;
}
@media (max-width: 767px) {
	.pi-faq__item > summary {
		font-size: 15px;
		padding: 13px 44px 13px 14px;
	}
	.pi-faq__item > summary::after {
		right: 16px;
	}
	.pi-faq__answer {
		padding: 0 14px 14px;
		font-size: 14px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.pi-faq__item,
	.pi-faq__item > summary::after {
		transition: none;
	}
}
