/**
 * INVENIO · FAQ para Elementor
 * Todas las clases van con prefijo .invx-faq para no chocar con el tema.
 * Los colores se inyectan como variables desde la pestaña Estilo del widget.
 */

.invx-faq{
	--invx-q:#2A4677;
	--invx-q-hover:#3f9db6;
	--invx-num:#3f9db6;
	--invx-a:#6B7488;
	--invx-a-final:#223a63;
	--invx-borde:#E2E6ED;
	--invx-icono:#2A4677;
	--invx-cta-bg:#e6f5fa;
	--invx-cta-texto:#2A4677;
	--invx-btn-bg:#2A4677;
	--invx-btn-bg-hover:#16274a;
	--invx-btn-texto:#ffffff;
	--invx-e:cubic-bezier(.22,.61,.36,1);

	box-sizing:border-box;
}
.invx-faq *,
.invx-faq *::before,
.invx-faq *::after{box-sizing:border-box}

/* ---------- fila ---------- */
.invx-faq__item{border-bottom:1px solid var(--invx-borde)}
.invx-faq__item:first-child{border-top:1px solid var(--invx-borde)}

.invx-faq__h{margin:0;padding:0;font:inherit;color:inherit}

.invx-faq__btn{
	display:flex;align-items:flex-start;gap:18px;
	width:100%;margin:0;padding:19px 4px;
	background:none;border:0;border-radius:0;
	text-align:left;cursor:pointer;
	color:var(--invx-q);
	font-family:inherit;
	transition:color .25s var(--invx-e);
	-webkit-appearance:none;appearance:none;
}
.invx-faq__btn:hover,
.invx-faq__btn:focus-visible{color:var(--invx-q-hover)}
.invx-faq__btn:focus-visible{outline:2px solid var(--invx-q-hover);outline-offset:3px}
.invx-faq__item.is-open .invx-faq__btn{color:var(--invx-q-hover)}

.invx-faq__n{
	flex:none;min-width:24px;padding-top:5px;
	font-size:.7rem;font-weight:700;letter-spacing:.08em;
	color:var(--invx-num);font-family:inherit;
}

.invx-faq__q{
	flex:1;
	font-size:clamp(1.02rem,1.5vw,1.2rem);
	line-height:1.36;
	color:inherit;
}

/* ---------- icono + / − ---------- */
.invx-faq__ic{
	flex:none;position:relative;
	width:24px;height:24px;margin-top:3px;
	border:1px solid var(--invx-borde);border-radius:50%;
	transition:background .3s var(--invx-e),border-color .3s var(--invx-e),transform .3s var(--invx-e);
}
.invx-faq__ic::before,
.invx-faq__ic::after{
	content:"";position:absolute;left:50%;top:50%;
	background:var(--invx-icono);
	transform:translate(-50%,-50%);
	transition:all .3s var(--invx-e);
}
.invx-faq__ic::before{width:9px;height:1.4px}
.invx-faq__ic::after{width:1.4px;height:9px}

.invx-faq__item.is-open .invx-faq__ic{
	background:var(--invx-icono);border-color:var(--invx-icono);transform:rotate(180deg);
}
.invx-faq__item.is-open .invx-faq__ic::before{background:#fff}
.invx-faq__item.is-open .invx-faq__ic::after{height:0}

/* ---------- panel de respuesta ---------- */
.invx-faq__a{
	max-height:0;overflow:hidden;visibility:hidden;
	transition:max-height .45s var(--invx-e),visibility 0s .45s;
}
.invx-faq__item.is-open .invx-faq__a{
	visibility:visible;
	transition:max-height .45s var(--invx-e),visibility 0s 0s;
}
.invx-faq__a-in{
	padding:0 52px 22px 42px;
	font-size:.915rem;line-height:1.72;color:var(--invx-a);
}
.invx-faq__a-in > *:first-child{margin-top:0}
.invx-faq__a-in > *:last-child{margin-bottom:0;color:var(--invx-a-final);font-weight:500}
.invx-faq__a-in a{color:var(--invx-q-hover);text-decoration:underline}

/* ---------- bloque CTA intercalado ---------- */
.invx-faq__cta{
	display:flex;flex-wrap:wrap;gap:20px;
	align-items:center;justify-content:space-between;
	margin:28px 0;padding:24px 28px;
	background:var(--invx-cta-bg);border-radius:22px;
}
.invx-faq__cta p{
	margin:0;flex:1 1 260px;
	font-size:1.16rem;line-height:1.3;
	color:var(--invx-cta-texto);
}
.invx-faq__cta-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	flex:none;padding:15px 30px;border:1.5px solid transparent;border-radius:100px;
	background:var(--invx-btn-bg);color:var(--invx-btn-texto);
	font-size:.875rem;font-weight:600;letter-spacing:.02em;
	text-decoration:none;white-space:nowrap;
	box-shadow:0 6px 20px rgba(0,0,0,.14);
	transition:background .28s var(--invx-e),transform .28s var(--invx-e),box-shadow .28s var(--invx-e);
}
.invx-faq__cta-btn:hover,
.invx-faq__cta-btn:focus-visible{
	background:var(--invx-btn-bg-hover);color:var(--invx-btn-texto);
	transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.2);
}
.invx-faq__cta-ar{transition:transform .28s var(--invx-e)}
.invx-faq__cta-btn:hover .invx-faq__cta-ar{transform:translateX(4px)}

/* ---------- responsive ---------- */
@media(max-width:640px){
	.invx-faq__btn{gap:12px;padding:16px 2px}
	.invx-faq__a-in{padding:0 0 20px 36px}
	.invx-faq__cta{padding:22px;gap:16px}
	.invx-faq__cta p{flex-basis:100%;font-size:1.05rem}
	.invx-faq__cta-btn{width:100%}
}

/* ---------- accesibilidad ---------- */
@media(prefers-reduced-motion:reduce){
	.invx-faq *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
