/* ==========================================================
   Academia Más Estética · slider de eventos y taller gratuito
   ========================================================== */

/* ---------- Slider del inicio ---------- */
.mas-slider { position: relative; padding: 30px 28px 22px; overflow: hidden; }
.mas-slider__track { display: grid; }
.mas-slide {
	grid-area: 1 / 1;
	display: flex;
	flex-direction: column;
	gap: 12px;
	opacity: 0;
	visibility: hidden;
	transform: translateX(28px);
	transition: opacity .6s var(--mas-ease), transform .7s var(--mas-ease), visibility .6s;
}
.mas-slide.is-active { opacity: 1; visibility: visible; transform: none; }
.mas-slide__eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--mas-gold); }
.mas-slide__eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--mas-gold); }
.mas-slide__media { position: relative; display: block; overflow: hidden; border-radius: 16px; aspect-ratio: 4 / 3; box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .6); }
.mas-slide__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 6s linear; }
.mas-slide.is-active .mas-slide__media img { transform: scale(1.06); }
.mas-slide__free { position: absolute; top: 12px; right: 12px; padding: 6px 14px; border-radius: 30px; background: var(--mas-wa); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 8px 18px -8px rgba(0, 0, 0, .5); animation: mas-pulse-soft 2.2s ease-in-out infinite; }
.mas-slide__title { margin: 2px 0 0; font-size: 21px; font-weight: 600; line-height: 1.3; }
body .mas-slide__title a { color: #fff; text-decoration: none; }
body .mas-slide__title a:hover { color: var(--mas-gold); }
.mas-slide__meta { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14px; color: rgba(255, 255, 255, .9); }
.mas-slide__meta i { width: 22px; color: var(--mas-gold); }
body a.mas-slide__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 4px;
	padding: 14px 20px;
	border-radius: 50px;
	background: linear-gradient(135deg, #D9C5A2, var(--mas-gold));
	color: var(--mas-ink);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	transition: transform .3s var(--mas-ease), box-shadow .3s;
	box-shadow: 0 12px 28px -14px rgba(204, 180, 142, .9);
}
body a.mas-slide__btn:hover { transform: translateY(-2px); color: var(--mas-ink); }
body a.mas-slide__btn.is-wa { background: var(--mas-wa); color: #fff; box-shadow: 0 12px 28px -14px rgba(37, 211, 102, .9); }
body a.mas-slide__btn.is-wa:hover { color: #fff; }

.mas-slider__nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
body button.mas-slider__arrow {
	width: 38px; height: 38px; padding: 0; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%;
	background: rgba(255, 255, 255, .08); color: #fff; font-size: 13px; cursor: pointer; transition: background .3s, border-color .3s;
}
body button.mas-slider__arrow:hover, body button.mas-slider__arrow:focus { background: var(--mas-gold); border-color: var(--mas-gold); color: var(--mas-ink); }
.mas-slider__dots { display: flex; gap: 8px; }
body .mas-slider__dots button {
	position: relative; width: 34px; height: 5px; padding: 0; border: 0; border-radius: 5px;
	background: rgba(255, 255, 255, .25); overflow: hidden; cursor: pointer;
}
body .mas-slider__dots button:hover, body .mas-slider__dots button:focus { background: rgba(255, 255, 255, .4); }
.mas-slider__dots button span { position: absolute; inset: 0; width: 0; background: var(--mas-gold); }
.mas-slider__dots button.is-active span { width: 100%; }
/* Barra de progreso del autoplay en el punto activo. */
.mas-slider.is-playing .mas-slider__dots button.is-active span { animation: mas-slide-progress var(--mas-slide-delay, 6500ms) linear; }
@keyframes mas-slide-progress { from { width: 0; } to { width: 100%; } }

/* ---------- Mosaico de 3 invitados ---------- */
.mas-team.mas-team--3 > .mas-team__item { width: calc(33.33% - 8px) !important; }
.mas-team.mas-team--3 > .mas-team__item:nth-child(2) { transform: translateY(26px); }
.mas-team--3 .mas-team__name .elementor-heading-title { font-size: 14px !important; }
.mas-team--3 .mas-team__role .elementor-heading-title { font-size: 11px !important; }

/* Encuadre de los rostros del taller. */
.mas-face--sol2 { --z: 1.05; --o: 50% 30%; }
.mas-face--patricio { --z: 1.05; --o: 50% 30%; }
.mas-face--doctora { --z: 1.05; --o: 58% 42%; }
.mas-team .mas-face--sol2 .elementor-widget-image::after { box-shadow: inset 0 0 0 3px var(--mas-gold); }
.mas-speaker.mas-face--sol2 { box-shadow: 0 0 0 2px var(--mas-gold), 0 26px 50px -28px rgba(11, 46, 76, .6); }

/* ---------- Tarjetas de programa ---------- */
.e-con.mas-module {
	position: relative;
	border-radius: 22px !important;
	background: #fff;
	box-shadow: var(--mas-shadow);
	border: 1px solid #EEF2F5;
	overflow: hidden;
	transition: transform .45s var(--mas-ease), box-shadow .45s;
}
.e-con.mas-module:hover { transform: translateY(-8px); box-shadow: var(--mas-shadow-lg); }
.e-con.mas-module::after {
	content: ""; position: absolute; left: 0; bottom: 0; height: 4px; width: 100%;
	background: linear-gradient(90deg, var(--mas-teal), var(--mas-gold)); transform: scaleX(0); transform-origin: left;
	transition: transform .5s var(--mas-ease);
}
.e-con.mas-module:hover::after { transform: scaleX(1); }
.mas-module__num .elementor-heading-title { color: transparent !important; -webkit-text-stroke: 1.5px var(--mas-teal); letter-spacing: -.02em; }
.e-con.mas-module.is-cta { background: linear-gradient(160deg, var(--mas-navy) 0%, var(--mas-navy-dark) 100%); border: 0; }

/* ---------- Menú: insignia "Gratis" ---------- */
.mas-nav__list .mas-menu-free > a { display: inline-flex; align-items: center; gap: 8px; }
.mas-nav__list .mas-menu-free > a::before {
	content: "Gratis";
	order: 2;
	padding: 2px 8px;
	border-radius: 20px;
	background: var(--mas-wa);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
@media (min-width: 1025px) and (max-width: 1240px) {
	.mas-nav__list > li > a { padding-left: 10px; padding-right: 10px; font-size: 14px; }
}

@media (max-width: 767px) {
	.mas-slider { padding: 24px 18px 18px; }
	.mas-slide__title { font-size: 19px; }
	.mas-team.mas-team--3 > .mas-team__item { width: calc(33.33% - 6px) !important; }
	.mas-team.mas-team--3 > .mas-team__item:nth-child(2) { transform: translateY(16px); }
	.mas-team--3 .mas-team__name .elementor-heading-title { font-size: 12px !important; }
	.mas-team--3 .mas-team__role .elementor-heading-title { font-size: 10px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.mas-slide, .mas-slide__media img { transition: none; }
}

/* Mosaico de 3: una sola fila, columnas iguales (anula el ancho de 50% del mosaico de 2). */
.e-con.mas-team.mas-team--3 { flex-wrap: nowrap !important; }
.e-con.mas-team.mas-team--3 > .mas-team__item { width: auto !important; flex: 1 1 0 !important; min-width: 0; }
