/* ========================================
   Schema FAQ Accordion
   ======================================== */

/* Update --cw-primary to match your site's primary color */
:root {
	--cw-primary: var(--wp--style--color--link, #0D60B5);
}

.schema-faq {
	margin: 24px 0;
}

.schema-faq-section {
	border-bottom: 1px solid #e0e0e0;
	padding: 0;
}

/* Toggle button wrapping the question */
.schema-faq-section .cw-faq-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: none;
	border: none;
	cursor: pointer;
	padding: 20px 4px;
	text-align: left;
	gap: 16px;
}

.schema-faq-section .cw-faq-toggle:hover,
.schema-faq-section .cw-faq-toggle:focus,
.schema-faq-section .cw-faq-toggle:focus-visible,
.schema-faq-section .cw-faq-toggle:active {
	outline: none;
	background: none;
	background-color: transparent;
	box-shadow: none;
}

/* Question text */
.schema-faq-section .schema-faq-question {
	font-size: 17px;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.4;
	transition: color 0.2s ease;
	display: block;
}

/* Icon: +/- */
.schema-faq-section .cw-faq-icon {
	flex-shrink: 0;
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	color: #1a1a1a;
	transition: color 0.2s ease;
	width: 24px;
	text-align: center;
}

/* Answer */
.schema-faq-section .schema-faq-answer {
	font-size: 15px;
	color: #555555;
	line-height: 1.7;
	margin: 0;
	padding: 0 4px 20px;
	display: none;
}

/* Open state */
.schema-faq-section.cw-faq-open .schema-faq-question,
.schema-faq-section.cw-faq-open .cw-faq-toggle .schema-faq-question {
	color: var(--cw-primary) !important;
}

.schema-faq-section.cw-faq-open .cw-faq-icon {
	color: var(--cw-primary) !important;
}

.schema-faq-section.cw-faq-open .schema-faq-answer {
	display: block;
}
