/**
 * Bloco de perguntas frequentes.
 *
 * Usa <details>/<summary> nativo: abre e fecha sem JavaScript, é acessível por
 * padrão e o texto fica no HTML mesmo fechado — que é o que importa para
 * busca e para o schema FAQPage.
 *
 * Breakpoints iguais aos do Elementor e do Starter Celado.
 */

.sn-faq {
	flex: 1 1 100%;
	width: 100%;
	padding-block: var(--espacosessao, 200px);
}

.sn-faq__interno {
	width: min(var(--largurautil, 1280px), 92vw);
	margin-inline: auto;
}

.sn-faq__hat {
	margin: 0 0 1rem;
	font-family: var(--sn-font-body);
	font-size: 0.75rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--sn-accent);
}

.sn-faq__titulo {
	margin: 0 0 3rem;
	font-family: var(--sn-font-display);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: var(--sn-fw-light);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--sn-ink);
}

.sn-faq__lista {
	max-width: var(--sn-container-text);
	border-block-start: 1px solid var(--sn-border);
}

.sn-faq__item {
	border-block-end: 1px solid var(--sn-border);
}

.sn-faq__pergunta {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	padding-block: 1.5rem;
	font-family: var(--sn-font-display);
	font-size: 1.125rem;
	font-weight: var(--sn-fw-light);
	line-height: 1.4;
	color: var(--sn-ink);
	cursor: pointer;
	list-style: none;
	transition: color var(--sn-dur-fast) var(--sn-ease);
}

/* O triângulo padrão do <summary> destoa; o sinal vem do ::after. */
.sn-faq__pergunta::-webkit-details-marker { display: none; }

.sn-faq__pergunta::after {
	content: "+";
	margin-inline-start: auto;
	font-size: 1.25rem;
	line-height: 1;
	color: var(--sn-accent);
	transition: transform var(--sn-dur-base) var(--sn-ease);
}

.sn-faq__item[open] .sn-faq__pergunta::after {
	content: "−";
}

.sn-faq__pergunta:hover,
.sn-faq__pergunta:focus-visible {
	color: var(--sn-accent);
}

.sn-faq__resposta {
	padding-block-end: 1.75rem;
	font-family: var(--sn-font-body);
	font-size: 1rem;
	line-height: 1.8;
	color: var(--sn-ink-muted);
}

.sn-faq__resposta p {
	margin: 0;
	max-width: 62ch;
}

/* ==========================================================================
   Breakpoints
   ========================================================================== */

@media (min-width: 2400px) {
	.sn-faq__pergunta { font-size: 1.3125rem; }
	.sn-faq__resposta { font-size: 1.125rem; }
}

@media (max-width: 1024px) {
	.sn-faq__titulo { margin-block-end: 2.5rem; }
}

@media (max-width: 767px) {
	.sn-faq__hat { font-size: 0.6875rem; letter-spacing: 0.22em; }
	.sn-faq__pergunta { font-size: 1rem; padding-block: 1.25rem; }
	.sn-faq__resposta { font-size: 0.9375rem; padding-block-end: 1.5rem; }
	.sn-faq__lista { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
	.sn-faq__pergunta,
	.sn-faq__pergunta::after {
		transition: none;
	}
}
