/* ==========================================================================
   YS FAQ — docente destacado + acordeón
   Identidad visual: navy #00247e · acento naranja #cd7d0b
   ========================================================================== */

.ys-faq {
	position: relative;
	padding: 50px 0;
	background: #f9f9fb;
	overflow: hidden;
}

.ys-faq__container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Head: ver assets/css/ys-section-head.css (componente compartido) */
.ys-faq .ys-section-head {
	margin-bottom: 52px;
}

/* ---------- Grid ---------- */
.ys-faq__grid {
	display: grid;
	grid-template-columns: minmax(260px, 380px) 1fr;
	gap: 44px;
	align-items: start;
}

/* ---------- Media (docente destacado) ---------- */
.ys-faq__media {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 24px 50px rgba(0, 36, 126, .18);
	opacity: 0;
	transform: translateY(30px);
	transition: opacity .65s ease .1s, transform .65s cubic-bezier(.2, .8, .2, 1) .1s;
}

.ys-faq.is-visible .ys-faq__media {
	opacity: 1;
	transform: translateY(0);
}

.ys-faq__media img {
	display: block;
	width: 100%;
	height: 460px;
	object-fit: cover;
	transition: transform .6s cubic-bezier(.2, .8, .2, 1);
}

.ys-faq__media:hover img {
	transform: scale(1.06);
}

.ys-faq__media-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 22px 26px 24px;
	background: linear-gradient(100deg, rgba(0, 36, 126, .92), rgba(0, 36, 126, .8));
}

.ys-faq__media-caption h4 {
	margin: 0 0 4px;
	font-family: 'Barlow', sans-serif;
	font-size: 19px;
	font-weight: 700;
	color: #fff;
}

.ys-faq__media-caption span {
	display: block;
	font-family: 'Lato', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #f0a93a;
	margin-bottom: 14px;
}

.ys-faq__socials {
	display: flex;
	gap: 10px;
}

.ys-faq__socials a {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: #00247e;
	font-size: 13px;
	transition: background .3s ease, color .3s ease, transform .3s ease;
}

.ys-faq__socials a:hover {
	background: #cd7d0b;
	color: #fff;
	transform: translateY(-3px);
}

.ys-faq__cta {
	margin-top: 22px;
	width: 100%;
	justify-content: center;
}

/* ---------- Accordion ---------- */
.ys-faq__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ys-faq__item {
	background: #fff;
	border: 1px solid #ebedf3;
	border-radius: 12px;
	overflow: hidden;
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .55s ease, transform .55s cubic-bezier(.2, .8, .2, 1), border-color .3s ease, box-shadow .3s ease;
}

.ys-faq.is-visible .ys-faq__item {
	opacity: 1;
	transform: translateY(0);
}

.ys-faq.is-visible .ys-faq__item:nth-child(1) { transition-delay: .15s; }
.ys-faq.is-visible .ys-faq__item:nth-child(2) { transition-delay: .22s; }
.ys-faq.is-visible .ys-faq__item:nth-child(3) { transition-delay: .29s; }
.ys-faq.is-visible .ys-faq__item:nth-child(4) { transition-delay: .36s; }
.ys-faq.is-visible .ys-faq__item:nth-child(5) { transition-delay: .43s; }

.ys-faq__item:hover {
	border-color: rgba(205, 125, 11, .4);
	box-shadow: 0 10px 26px rgba(0, 36, 126, .08);
}

.ys-faq__item.is-open {
	border-color: rgba(205, 125, 11, .5);
	box-shadow: 0 14px 30px rgba(0, 36, 126, .1);
}

.ys-faq__question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .01em;
	text-transform: uppercase;
	color: #00247e;
}

.ys-faq__question i {
	flex-shrink: 0;
	color: #cd7d0b;
	transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}

.ys-faq__item.is-open .ys-faq__question i {
	transform: rotate(180deg);
}

.ys-faq__answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height .4s cubic-bezier(.2, .8, .2, 1);
}

.ys-faq__answer p {
	margin: 0;
	padding: 0 24px 20px;
	font-family: 'Lato', sans-serif;
	font-size: 14.5px;
	line-height: 1.7;
	color: #5b6477;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.ys-faq__grid {
		grid-template-columns: 1fr;
	}
	.ys-faq__media img {
		height: 320px;
	}
}

@media (max-width: 575px) {
	.ys-faq { padding: 64px 0; }
	.ys-faq__question { font-size: 13.5px; padding: 16px 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.ys-faq__media,
	.ys-faq__item,
	.ys-faq__answer,
	.ys-faq__question i {
		transition-duration: .01ms !important;
	}
}
