/* Auto FAQ & Resumo (IA) — front
 * Estilos neutros e escopados. Sobrescreva as custom properties no CSS do tema/Elementor:
 *   .afr-summary, .afr-faq { --afr-accent: #123456; }
 */

.afr-summary,
.afr-faq {
	--afr-accent: #2271b1;
	--afr-border: #e0e0e0;
	--afr-radius: 8px;
	--afr-text: inherit;
	--afr-muted: #6b6b6b;
	--afr-bg: transparent;
	box-sizing: border-box;
	color: var(--afr-text);
}
.afr-summary *,
.afr-faq * {
	box-sizing: border-box;
}

/* ---------- Resumo ---------- */
.afr-summary {
	margin: 0 0 2rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--afr-border);
	border-left: 4px solid var(--afr-accent);
	border-radius: var(--afr-radius);
	background: var(--afr-bg);
}
.afr-summary__label {
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--afr-muted);
}
.afr-summary__list {
	margin: 0;
	padding: 0 0 0 1.25rem;
	list-style: disc;
}
.afr-summary__list li {
	margin: 0 0 0.5rem;
	line-height: 1.55;
}
.afr-summary__list li:last-child {
	margin-bottom: 0;
}
.afr-summary__list li::marker {
	color: var(--afr-accent);
}

/* ---------- FAQ ---------- */
.afr-faq {
	margin: 2.5rem 0 0;
	padding: 0;
	background: var(--afr-bg);
}
.afr-faq__title {
	margin: 0 0 1rem;
	font-size: 1.5rem;
	line-height: 1.3;
}
.afr-faq__list {
	border-top: 1px solid var(--afr-border);
}
.afr-faq__item {
	border-bottom: 1px solid var(--afr-border);
}
.afr-faq__question {
	position: relative;
	display: block;
	padding: 1rem 2.5rem 1rem 0;
	margin: 0;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
	outline-offset: 4px;
}
.afr-faq__question::-webkit-details-marker {
	display: none;
}
.afr-faq__question::marker {
	content: "";
}
/* seta (chevron) que rotaciona ao abrir */
.afr-faq__question::after {
	content: "";
	position: absolute;
	right: 0.5rem;
	top: 50%;
	width: 0.6rem;
	height: 0.6rem;
	border-right: 2px solid var(--afr-accent);
	border-bottom: 2px solid var(--afr-accent);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.2s ease;
}
.afr-faq__item[open] > .afr-faq__question::after {
	transform: translateY(-30%) rotate(-135deg);
}
.afr-faq__question:hover {
	color: var(--afr-accent);
}
.afr-faq__answer {
	padding: 0 2.5rem 1.25rem 0;
	line-height: 1.6;
}
.afr-faq__answer p {
	margin: 0;
}
.afr-faq__answer p + p {
	margin-top: 0.75rem;
}

@media (prefers-reduced-motion: reduce) {
	.afr-faq__question::after {
		transition: none;
	}
}
