/* LLYC · AEO FAQ Schema — acordeón del front
   Construido con <details>/<summary>: el texto está siempre en el HTML, también
   con el acordeón cerrado, y no necesita JavaScript.

   El color de acento se fija por sitio con el atributo del shortcode:
       [llyc_aeo_faq acento="#011689"]
   Sin él hereda el color del texto del tema. */

.llyc-aeo-faq {
	--llyc-aeo-acento: currentColor;
	--llyc-aeo-linea: rgba( 0, 0, 0, .11 );
	--llyc-aeo-texto: inherit;
	--llyc-aeo-suave: rgba( 0, 0, 0, .62 );

	max-width: 48rem;
	margin: 3.5rem auto;
	padding: 0 1rem;
}

.llyc-aeo-faq__titulo {
	font-size: clamp( 1.4rem, 2.5vw, 1.9rem );
	line-height: 1.2;
	letter-spacing: -.01em;
	margin: 0 0 .35rem;
	color: var( --llyc-aeo-acento );
}

.llyc-aeo-faq__sub {
	margin: 0 0 1.5rem;
	font-size: .97rem;
	line-height: 1.5;
	color: var( --llyc-aeo-suave );
}

.llyc-aeo-faq__titulo + .llyc-aeo-faq__item {
	margin-top: 1.5rem;
}

.llyc-aeo-faq__item {
	border-bottom: 1px solid var( --llyc-aeo-linea );
}

.llyc-aeo-faq__item:first-of-type {
	border-top: 1px solid var( --llyc-aeo-linea );
}

.llyc-aeo-faq__q {
	cursor: pointer;
	list-style: none;
	padding: 1.2rem 2.9rem 1.2rem 0;
	position: relative;
	font-weight: 600;
	line-height: 1.45;
	color: var( --llyc-aeo-texto );
	transition: color .15s ease;
}

.llyc-aeo-faq__q::-webkit-details-marker { display: none; }

/* signo + / − dibujado con CSS, sin iconos externos */
.llyc-aeo-faq__q::before,
.llyc-aeo-faq__q::after {
	content: "";
	position: absolute;
	right: .6rem;
	top: 50%;
	width: .95rem;
	height: 2.5px;
	border-radius: 2px;
	background: var( --llyc-aeo-acento );
	transition: transform .2s ease;
}

.llyc-aeo-faq__q::before { transform: translateY(-50%); }
.llyc-aeo-faq__q::after  { transform: translateY(-50%) rotate(90deg); }

.llyc-aeo-faq__item[open] > .llyc-aeo-faq__q {
	color: var( --llyc-aeo-acento );
}

.llyc-aeo-faq__item[open] > .llyc-aeo-faq__q::after {
	transform: translateY(-50%) rotate(0deg);
}

.llyc-aeo-faq__q:hover { opacity: .78; }

.llyc-aeo-faq__q:focus-visible {
	outline: 2px solid var( --llyc-aeo-acento );
	outline-offset: 3px;
	border-radius: 2px;
}

.llyc-aeo-faq__a {
	padding: 0 2.9rem 1.45rem 0;
}

.llyc-aeo-faq__a p {
	margin: 0;
	line-height: 1.68;
	max-width: 42rem;
	color: var( --llyc-aeo-suave );
}

/* Al imprimir, todo desplegado */
@media print {
	.llyc-aeo-faq__item > .llyc-aeo-faq__a { display: block !important; }
	.llyc-aeo-faq__q::before,
	.llyc-aeo-faq__q::after { display: none; }
}

@media ( prefers-reduced-motion: reduce ) {
	.llyc-aeo-faq__q,
	.llyc-aeo-faq__q::before,
	.llyc-aeo-faq__q::after { transition: none; }
}

@media ( max-width: 600px ) {
	.llyc-aeo-faq { margin: 2.5rem auto; }
	.llyc-aeo-faq__q { padding-right: 2.4rem; font-size: 1rem; }
	.llyc-aeo-faq__a { padding-right: 1rem; }
}
