/* ==========================================================================
   Widget: Perguntas frequentes (título à esquerda, perguntas que abrem e fecham à direita)
   ========================================================================== */

.mr-faq {
	position: relative;
	padding: 5.5rem 1.5rem 6.5rem;
	background: var(--mr-white);
	font-family: var(--mr-font-body);
}

.mr-faq__inner {
	max-width: var(--mr-max-w);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 3rem 5rem;
	align-items: start;
}

/* ---------- Coluna da esquerda ---------- */
/* a coluna estica até o fim das perguntas; o conteúdo gruda dentro dela e para onde ela termina */
.mr-faq__head { align-self: stretch; }
.mr-faq--sticky .mr-faq__head-inner { position: sticky; top: 7.5rem; }
.admin-bar .mr-faq--sticky .mr-faq__head-inner { top: 9.5rem; }

.mr-faq__eyebrow { display: block; margin-bottom: .9rem; }

.mr-faq .mr-faq__title {
	margin: 0 0 1rem;
	padding: 0;
	font-family: var(--mr-font-display);
	font-size: clamp(2.2rem, 4.4vw, 4rem);
	font-style: italic;
	font-weight: 400;
	font-variant-numeric: lining-nums;
	line-height: 1.05;
	color: var(--mr-purple);
	text-wrap: balance;
}
.mr-faq .mr-faq__title em,
.mr-faq .mr-faq__title strong { font-style: italic; font-weight: 500; color: var(--mr-purple-mid); }

.mr-faq .mr-faq__lead { max-width: 42ch; margin: 0 0 1.4rem; font-size: 1.05rem; line-height: 1.55; color: var(--mr-text-muted); }

.mr-faq .mr-faq__link {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .92rem;
	font-weight: 800;
	color: var(--mr-purple);
	text-decoration: none;
	transition: gap .2s, color .2s;
}
.mr-faq .mr-faq__link:hover,
.mr-faq .mr-faq__link:focus,
.mr-faq .mr-faq__link:active { gap: .7rem; color: var(--mr-purple-mid); }

/* ---------- Perguntas ---------- */
.mr-faq__list { display: grid; gap: .75rem; }

.mr-faq .mr-faq__item {
	background: var(--mr-white);
	border: 1.5px solid var(--mr-border);
	border-radius: 1.2rem;
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.mr-faq .mr-faq__item:hover { border-color: var(--mr-lavender); }
.mr-faq .mr-faq__item[open] {
	background: var(--mr-lavender-soft);
	border-color: var(--mr-lavender);
	box-shadow: var(--mr-shadow);
}

.mr-faq .mr-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
	padding: 1.15rem 1.4rem;
	list-style: none;
	cursor: pointer;
	font-family: var(--mr-font-display);
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.25;
	color: var(--mr-purple);
}
.mr-faq .mr-faq__question::-webkit-details-marker { display: none; }
.mr-faq .mr-faq__question::marker { content: ''; }
.mr-faq .mr-faq__question:focus-visible { outline: 2px solid var(--mr-purple); outline-offset: 2px; border-radius: 1.2rem; }

/* sinal de + que vira − quando aberto */
.mr-faq__icon {
	position: relative;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--mr-lavender);
	transition: background .2s, transform .25s;
}
.mr-faq__icon::before,
.mr-faq__icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	margin: -1px 0 0 -6px;
	border-radius: 2px;
	background: var(--mr-purple);
	transition: transform .25s, background .2s;
}
.mr-faq__icon::after { transform: rotate(90deg); }
.mr-faq .mr-faq__item[open] .mr-faq__icon { background: var(--mr-purple); }
.mr-faq .mr-faq__item[open] .mr-faq__icon::before { background: #fff; }
.mr-faq .mr-faq__item[open] .mr-faq__icon::after { background: #fff; transform: rotate(0deg); }

.mr-faq .mr-faq__answer { padding: 0 1.4rem 1.35rem; }
.mr-faq .mr-faq__answer p { margin: 0 0 .8rem; font-size: 1rem; line-height: 1.6; color: var(--mr-text-muted); }
.mr-faq .mr-faq__answer p:last-child { margin-bottom: 0; }

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width: 960px) {
	.mr-faq { padding: 4rem 1.25rem 5rem; }
	.mr-faq__inner { grid-template-columns: 1fr; gap: 2.25rem; }
	.mr-faq--sticky .mr-faq__head-inner,
	.admin-bar .mr-faq--sticky .mr-faq__head-inner { position: static; }
}

@media (max-width: 640px) {
	.mr-faq { padding: 3.5rem 1rem 4.5rem; }
	.mr-faq .mr-faq__question { padding: 1rem 1.1rem; font-size: 1.15rem; }
	.mr-faq .mr-faq__answer { padding: 0 1.1rem 1.2rem; }
}
