/*
 * Mysa FAQ Pattern — faq.css
 * Designed to complement the Twenty Twenty-Five theme and mysaheating.uk brand.
 */

/* ── Page wrapper ──────────────────────────────────────────────────────────── */
.mysa-faq-page {
	padding-block: 3rem;
}

/* ── Hero ──────────────────────────────────────────────────────────────────── */
.mysa-faq-hero {
	margin-block-end: 2rem;
}

.mysa-faq-title {
	margin-block-end: 0.75rem;
}

.mysa-faq-intro {
	max-width: 65ch;
}

.mysa-faq-intro a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ── Section headings ──────────────────────────────────────────────────────── */
.mysa-faq-section-title {
	font-size: clamp(1.15rem, 2vw, 1.4rem);
	letter-spacing: -0.01em;
	margin-block: 2rem 1rem;
	padding-block-end: 0.5rem;
	border-bottom: 2px solid var(--wp--preset--color--contrast, #111);
}

/* ── Divider ───────────────────────────────────────────────────────────────── */
.mysa-faq-divider {
	border-color: var(--wp--preset--color--contrast-3, #ddd) !important;
	margin-block: 2.5rem;
}

/* ── Accordion container ───────────────────────────────────────────────────── */
.mysa-faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 0;
	border-top: 1px solid var(--wp--preset--color--contrast-3, #ddd);
}

/* ── Individual item ───────────────────────────────────────────────────────── */
.mysa-faq-item {
	border-bottom: 1px solid var(--wp--preset--color--contrast-3, #ddd);
}

/* ── Question button ───────────────────────────────────────────────────────── */
.mysa-faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	padding: 1.1rem 0.25rem;
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--medium, 1rem);
	font-weight: 600;
	color: var(--wp--preset--color--contrast, #111);
	text-align: left;
	line-height: 1.4;
	transition: color 0.18s ease;
}

.mysa-faq-question:hover {
	color: var(--wp--preset--color--contrast-2, #444);
}

/* ── Plus / minus icon ─────────────────────────────────────────────────────── */
.mysa-faq-icon {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	transition: transform 0.25s ease, background-color 0.18s ease;
}

.mysa-faq-icon::before,
.mysa-faq-icon::after {
	content: '';
	position: absolute;
	background: currentColor;
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.18s ease;
}

.mysa-faq-icon::before {
	width: 10px;
	height: 1.5px;
}

.mysa-faq-icon::after {
	width: 1.5px;
	height: 10px;
}

/* When expanded: rotate the vertical bar away (leaves a minus) */
.mysa-faq-question[aria-expanded="true"] .mysa-faq-icon::after {
	transform: rotate(90deg);
	opacity: 0;
}

.mysa-faq-question[aria-expanded="true"] .mysa-faq-icon {
	background-color: var(--wp--preset--color--contrast, #111);
	color: var(--wp--preset--color--base, #fff);
}

/* ── Answer panel ──────────────────────────────────────────────────────────── */
.mysa-faq-answer {
	overflow: hidden;
	/* Height animation handled by JS via max-height */
	max-height: 0;
	transition: max-height 0.3s ease;
}

.mysa-faq-answer:not([hidden]) {
	max-height: 500px; /* large enough for any reasonable answer */
}

.mysa-faq-answer[hidden] {
	display: block !important; /* override hidden so transition works */
	max-height: 0;
}

.mysa-faq-answer p {
	padding: 0 0.25rem 1.25rem;
	margin: 0;
	line-height: 1.7;
}

/* ── CTA block ─────────────────────────────────────────────────────────────── */
.mysa-faq-cta {
	margin-block-start: 1rem;
	padding: 2.5rem;
	background-color: var(--wp--preset--color--contrast, #111);
	color: var(--wp--preset--color--base, #fff);
	border-radius: 4px;
	text-align: center;
}

.mysa-faq-cta .mysa-faq-cta-title,
.mysa-faq-cta p {
	color: var(--wp--preset--color--base, #fff);
}

.mysa-faq-cta .wp-block-button__link {
	background-color: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #111);
}

.mysa-faq-cta .wp-block-button__link:hover {
	opacity: 0.85;
}

/* ── Accessibility: focus styles ───────────────────────────────────────────── */
.mysa-faq-question:focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast, #111);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ── Reduced motion ────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.mysa-faq-answer,
	.mysa-faq-icon,
	.mysa-faq-icon::before,
	.mysa-faq-icon::after {
		transition: none;
	}
}
