/* =====================================================================
   FAQs page (page-faqs.php). Loaded only on the FAQs page.
   ===================================================================== */
.sp-faqs { background: #000; }
.sp-faqs__heading { text-align: center; margin-bottom: 2.75rem; }
.sp-faqs__heading::after { content: ""; display: block; width: 90px; height: 2px; background: #fff; margin: .6rem auto 0; }

.sp-faqs__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 3.5rem; align-items: start; }
.sp-faqs__col { display: flex; flex-direction: column; }
@media (max-width: 767.98px) { .sp-faqs__grid { grid-template-columns: 1fr; } }

/* Accordion (native <details>) */
.sp-faq { border-bottom: 1px solid rgba(255,255,255,.22); }
.sp-faq__q {
	cursor: pointer; list-style: none; position: relative;
	padding: 1.05rem 2rem 1.05rem 0; color: #fff; font-size: 1.0625rem; font-weight: 400;
}
.sp-faq__q::-webkit-details-marker { display: none; }
.sp-faq__q::after {
	content: ""; position: absolute; right: .3rem; top: 1.35rem;
	width: .6em; height: .6em; border: solid rgba(255,255,255,.7); border-width: 0 2px 2px 0;
	transform: rotate(45deg); transition: transform .25s ease;
}
.sp-faq[open] .sp-faq__q::after { transform: rotate(-135deg); }
.sp-faq__a { color: rgba(255,255,255,.72); line-height: 1.7; }
.sp-faq__a-inner { padding: 0 2rem 1.25rem 0; }
.sp-faq__a a { color: #fff; }

/* Smooth open/close — active only when faqs.js has enhanced the section.
   Without JS the native [open] styling above shows/hides content instantly. */
.sp-faqs--js .sp-faq__q::after { transform: rotate(45deg); }
.sp-faqs--js .sp-faq.is-open .sp-faq__q::after { transform: rotate(-135deg); }
.sp-faqs--js .sp-faq__a {
	display: grid; grid-template-rows: 0fr;
	transition: grid-template-rows .32s ease;
}
.sp-faqs--js .sp-faq.is-open .sp-faq__a { grid-template-rows: 1fr; }
.sp-faqs--js .sp-faq__a-inner { overflow: hidden; min-height: 0; }
@media (prefers-reduced-motion: reduce) {
	.sp-faqs--js .sp-faq__a { transition: none; }
}

/* Feature sections (alternating image / text) */
.sp-feature { background: #000; }
.sp-feature:last-of-type { padding-bottom: clamp(3rem, 6vw, 5.3rem); }
.sp-feature__text { display: flex; flex-direction: column; justify-content: center;
	padding-block: clamp(1.5rem, 3vw, 2.5rem); padding-right: clamp(1.5rem, 4vw, 3.5rem); }
.sp-feature .flex-row-reverse .sp-feature__text { padding-right: 0; padding-left: clamp(1.5rem, 4vw, 3.5rem); }
.sp-feature__text .sp-h2 { line-height: 1.04; margin-bottom: 1.15rem; }
.sp-feature__text p { line-height: 1.6; }
.sp-feature__text p:last-child { margin-bottom: 0; }
.sp-feature__media img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 388px; max-height: 450px; }
@media (max-width: 991.98px) {
	.sp-feature__text { padding: clamp(2rem,6vw,3rem) 0; }
	.sp-feature .flex-row-reverse .sp-feature__text { padding-inline: 0; }
	.sp-feature__media img { min-height: 260px; max-height: none; }
}
