/* ===== SERAMIA Heading ===== */
.seramia-heading { margin: 0; }
.seramia-heading a { color: inherit; text-decoration: none; }

/* Palabra destacada: contenedor base */
.seramia-heading .seramia-hl {
	display: inline-block;            /* necesario para transformaciones */
	position: relative;
	color: var(--sa-color, currentColor);
	--sa-dur: 2s;
	--sa-delay: 0s;
	--sa-ease: ease-in-out;
	--sa-iter: infinite;
	--sa-g1: #F0D77B;
	--sa-g2: #A47E1B;
}

/* Degradado opcional en el texto destacado */
.seramia-heading .seramia-hl.sa-gradient {
	background-image: linear-gradient(var(--sa-g-angle, 90deg), var(--sa-g1), var(--sa-g2));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

/* Subrayado decorativo opcional */
.seramia-heading .seramia-hl.sa-underline::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -0.08em;
	height: 2px;
	background: currentColor;
	opacity: .9;
}

/* ======= ANIMACIONES ======= */
/* Sólo se ejecutan cuando el contenedor tiene la clase .is-anim
   (en "al cargar" se agrega en PHP; en "al entrar en pantalla" la agrega el JS). */

/* Entrada: aparecer subiendo */
.seramia-heading .seramia-hl.sa--fade-up { opacity: 0; }
.seramia-heading.is-anim .seramia-hl.sa--fade-up {
	animation: saFadeUp var(--sa-dur) var(--sa-ease) var(--sa-delay) 1 both;
}
@keyframes saFadeUp {
	from { opacity: 0; transform: translateY(0.6em); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Entrada: enfoque (blur) */
.seramia-heading .seramia-hl.sa--blur-in { opacity: 0; }
.seramia-heading.is-anim .seramia-hl.sa--blur-in {
	animation: saBlurIn var(--sa-dur) var(--sa-ease) var(--sa-delay) 1 both;
}
@keyframes saBlurIn {
	from { opacity: 0; filter: blur(12px); }
	to   { opacity: 1; filter: blur(0); }
}

/* Bucle: brillo (glow) */
.seramia-heading.is-anim .seramia-hl.sa--glow {
	animation: saGlow var(--sa-dur) var(--sa-ease) var(--sa-delay) var(--sa-iter);
}
@keyframes saGlow {
	0%,100% { text-shadow: 0 0 0 rgba(240,215,123,0); }
	50%     { text-shadow: 0 0 18px rgba(240,215,123,.85); }
}

/* Bucle: barrido dorado (shimmer) — fuerza degradado animado */
.seramia-heading .seramia-hl.sa--shimmer {
	background-image: linear-gradient(90deg, var(--sa-g2) 0%, var(--sa-g1) 25%, #FFF6D6 50%, var(--sa-g1) 75%, var(--sa-g2) 100%);
	background-size: 200% auto;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.seramia-heading.is-anim .seramia-hl.sa--shimmer {
	animation: saShimmer var(--sa-dur) linear var(--sa-delay) var(--sa-iter);
}
@keyframes saShimmer {
	0%   { background-position: 200% center; }
	100% { background-position: -200% center; }
}

/* Bucle: flotar */
.seramia-heading.is-anim .seramia-hl.sa--float {
	animation: saFloat var(--sa-dur) var(--sa-ease) var(--sa-delay) var(--sa-iter);
}
@keyframes saFloat {
	0%,100% { transform: translateY(0); }
	50%     { transform: translateY(-0.18em); }
}

/* Entrada: subrayado que crece */
.seramia-heading .seramia-hl.sa--underline-grow::after {
	content: "";
	position: absolute;
	left: 0; bottom: -0.08em;
	height: 2px; width: 0;
	background: currentColor;
}
.seramia-heading.is-anim .seramia-hl.sa--underline-grow::after {
	animation: saUnderline var(--sa-dur) var(--sa-ease) var(--sa-delay) 1 forwards;
}
@keyframes saUnderline {
	from { width: 0; }
	to   { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.seramia-heading .seramia-hl { animation: none !important; opacity: 1 !important; filter: none !important; }
}
