/*
 * FAQ da Home.
 *
 * Responsabilidade: estilizar o accordion nativo em
 * `template-parts/faq/faq-home.php`, mantendo escopo BEM com prefixo
 * `rnen-faq`.
 */

.rnen-faq {
	--rnen-faq-background: var(--wp--preset--color--neutral-50, var(--rnen-color-surface));
	--rnen-faq-surface: var(--wp--preset--color--neutral-0, var(--rnen-color-background));
	--rnen-faq-title-color: var(--wp--preset--color--neutral-900, var(--rnen-color-text));
	--rnen-faq-text-color: var(--wp--preset--color--neutral-600, var(--rnen-color-text-muted));
	--rnen-faq-accent: var(--wp--preset--color--primary-700, var(--rnen-color-primary-700));
	--rnen-faq-accent-soft: var(--wp--preset--color--primary-50, var(--rnen-color-primary-50));

	padding-block: var(--rnen-space-16);
	background: var(--rnen-faq-background);
}

.rnen-faq__container {
	width: min(100% - (var(--rnen-container-padding) * 2), var(--rnen-container-narrow-width));
	margin-inline: auto;
}

.rnen-faq__header {
	margin-inline: auto;
	text-align: center;
}

.rnen-faq__eyebrow {
	margin-block-end: var(--rnen-space-4);
	color: var(--rnen-faq-accent);
	font-size: var(--rnen-font-size-sm);
	font-weight: var(--rnen-font-weight-bold);
	line-height: var(--rnen-line-height-tight);
	text-transform: uppercase;
	letter-spacing: 0;
}

.rnen-faq__title {
	margin-block-end: 0;
	color: var(--rnen-faq-title-color);
	font-size: var(--rnen-font-size-4xl);
	line-height: var(--rnen-line-height-heading);
}

.rnen-faq__list {
	display: grid;
	gap: var(--rnen-space-4);
	margin-block-start: var(--rnen-space-10);
}

.rnen-faq__item {
	background: var(--rnen-faq-surface);
	border: var(--rnen-border-width) var(--rnen-border-style) var(--wp--preset--color--neutral-200, var(--rnen-color-border));
	border-radius: var(--rnen-radius-lg);
	box-shadow: var(--rnen-shadow-xs);
}

.rnen-faq__question {
	position: relative;
	padding: var(--rnen-space-5) var(--rnen-space-12) var(--rnen-space-5) var(--rnen-space-5);
	color: var(--rnen-faq-title-color);
	font-size: var(--rnen-font-size-lg);
	font-weight: var(--rnen-font-weight-semibold);
	line-height: var(--rnen-line-height-heading);
	cursor: pointer;
}

.rnen-faq__question::marker {
	content: "";
}

.rnen-faq__question::after {
	position: absolute;
	top: 50%;
	right: var(--rnen-space-5);
	width: var(--rnen-space-3);
	height: var(--rnen-space-3);
	content: "";
	border-right: var(--rnen-border-width) var(--rnen-border-style) currentcolor;
	border-bottom: var(--rnen-border-width) var(--rnen-border-style) currentcolor;
	transform: translateY(-65%) rotate(45deg);
	transition: transform var(--rnen-transition-base);
}

.rnen-faq__item[open] .rnen-faq__question::after {
	transform: translateY(-35%) rotate(225deg);
}

.rnen-faq__question:hover,
.rnen-faq__question:focus-visible {
	color: var(--rnen-faq-accent);
}

.rnen-faq__question:focus-visible {
	outline: var(--rnen-border-width) var(--rnen-border-style) var(--rnen-color-focus);
	outline-offset: var(--rnen-space-1);
}

.rnen-faq__answer {
	padding: 0 var(--rnen-space-5) var(--rnen-space-5);
	color: var(--rnen-faq-text-color);
	font-size: var(--rnen-font-size-md);
	line-height: var(--rnen-line-height-base);
}

.rnen-faq__answer p {
	margin-block-end: 0;
}

@media (max-width: 63.9375rem) {
	.rnen-faq {
		padding-block: var(--rnen-space-12);
	}
}

@media (max-width: 35.9375rem) {
	.rnen-faq {
		padding-block: var(--rnen-space-10);
	}

	.rnen-faq__title {
		font-size: var(--rnen-font-size-3xl);
	}

	.rnen-faq__question {
		font-size: var(--rnen-font-size-md);
	}
}
