/* ── FAQ Accordion Pro — Frontend v1.1.0 ── */

.fap-wrap,
.fap-wrap * {
	box-sizing: border-box;
}

.fap-wrap {
	max-width: var(--fap-max-width, 940px);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: var(--fap-gap, 27px);
	padding: 0 20px;
}

/* ── Section ── */
.fap-section {
	position: relative;
}

.fap-section-trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 16px 0 18px;
	height: var(--fap-height, 70px);
	border-radius: var(--fap-radius, 17px);
	background: var(--fap-bg, linear-gradient(to right, #cadfe9, #dbebeb));
	box-shadow: 0px 4.5px 6.8px rgba(0, 0, 0, 0.3);
	border: none;
	cursor: pointer;
	position: relative;
	z-index: 2;
	transition: border-radius 0.2s ease;
}

.fap-section-trigger.is-open {
	border-radius: var(--fap-radius, 17px) var(--fap-radius, 17px) 0 0;
}

.fap-section-title {
	font-family: var(--fap-sec-font, 'Cormorant Garamond', serif);
	font-size: var(--fap-sec-size, 22.6px);
	font-weight: 400;
	color: var(--fap-sec-color, #1a3a3a);
	line-height: normal;
	display: flex;
	align-items: center;
	gap: 10px;
}

.fap-section-icon {
	width: 28px;
	height: 28px;
	object-fit: contain;
	flex-shrink: 0;
}

/* ── Section toggle icon — círculo semitransparente ── */
.fap-toggle-icon {
	width: 32px;
	height: 32px;
	min-width: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.22);
	border-radius: 50%;
	color: var(--fap-icon-sec, #1a3a3a);
	flex-shrink: 0;
	transition: background 0.2s ease;
}

.fap-section-trigger:hover .fap-toggle-icon {
	background: rgba(255, 255, 255, 0.38);
}

.fap-section-trigger.is-open .fap-toggle-icon {
	background: rgba(255, 255, 255, 0.32);
}

/* ── FAQ toggle icon — círculo de color sólido ── */
.fap-faq-icon {
	width: 26px;
	height: 26px;
	min-width: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--fap-icon-faq, #99A1AF);
	border-radius: 50%;
	color: #ffffff;
	flex-shrink: 0;
	transition: opacity 0.2s ease;
}

.fap-faq-trigger:hover .fap-faq-icon {
	opacity: 0.8;
}

/* ── Plus / Minus — selectores específicos por trigger ── */
.fap-svg-minus {
	display: none;
}

.fap-section-trigger.is-open .fap-svg-minus,
.fap-faq-trigger.is-open     .fap-svg-minus {
	display: block;
}

.fap-section-trigger.is-open .fap-svg-plus,
.fap-faq-trigger.is-open     .fap-svg-plus {
	display: none;
}

/* ── Section panel ── */
.fap-section-panel {
	display: none;
	background: var(--fap-panel-bg, #f3f3f3);
	border-radius: 0 0 var(--fap-radius, 17px) var(--fap-radius, 17px);
	box-shadow: 0px 4.5px 6.8px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

.fap-section-panel.is-open {
	display: block;
}

/* ── Individual FAQ ── */
.fap-faq {
	border-bottom: 1.13px solid var(--fap-divider, #e5e7eb);
}

.fap-faq--last {
	border-bottom: none;
}

/* ── Pregunta — fondo levemente oscuro para distinción visual ── */
.fap-faq-trigger {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 16px 16px 18px;
	background: rgba(0, 0, 0, 0.04);
	border: none;
	cursor: pointer;
	text-align: left;
	transition: background 0.15s ease;
}

.fap-faq-trigger:hover {
	background: rgba(0, 0, 0, 0.07);
}

.fap-faq-trigger.is-open {
	background: rgba(0, 0, 0, 0.06);
}

.fap-question {
	font-family: var(--fap-q-font, 'Poppins', sans-serif);
	font-weight: 600;
	font-size: var(--fap-q-size, 18px);
	color: var(--fap-q-color, #364153);
	line-height: 1.5;
	flex: 1;
}

/* ── Respuesta — indentada para separarse visualmente ── */
.fap-answer {
	display: none;
	padding: 0 24px 20px 42px;
}

.fap-answer.is-open {
	display: block;
}

.fap-answer-inner {
	font-family: var(--fap-a-font, 'Poppins', sans-serif);
	font-weight: 400;
	font-size: var(--fap-a-size, 18px);
	color: var(--fap-a-color, #4a5565);
	line-height: 1.5;
}

.fap-answer-inner p {
	margin: 0 0 10px;
}

.fap-answer-inner p:last-child {
	margin-bottom: 0;
}

.fap-answer-inner ul,
.fap-answer-inner ol {
	padding-left: 22px;
	margin: 8px 0;
}

.fap-answer-inner li {
	margin-bottom: 4px;
}

.fap-answer-inner em {
	font-style: italic;
}

/* ── Responsive ── */
@media (max-width: 600px) {
	.fap-wrap {
		padding: 0 12px;
	}
	.fap-section-title {
		font-size: 18px;
	}
	.fap-question {
		font-size: 15px;
	}
	.fap-answer-inner {
		font-size: 15px;
	}
	.fap-answer {
		padding-left: 28px;
	}
}
