/**
 * TCD Texto avanzado — The Company Dev (https://thecompanydev.com)
 */

.tcd-advanced-text-banner {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	--tcd-bokeh-opacity: 0.85;
	background-color: #0c0614;
}

.tcd-advanced-text-banner::before,
.tcd-advanced-text-banner::after {
	content: "";
	position: absolute;
	inset: -20% -10% -20% -10%;
	pointer-events: none;
	z-index: 0;
	opacity: var(--tcd-bokeh-opacity, 0.85);
	filter: blur(42px);
	transform: translate3d(0, 0, 0);
}

.tcd-advanced-text-banner::before {
	right: -25%;
	left: 35%;
	background:
		radial-gradient(closest-side, rgba(67, 97, 238, 0.95), transparent 72%),
		radial-gradient(closest-side at 70% 40%, rgba(247, 37, 133, 0.75), transparent 70%);
}

.tcd-advanced-text-banner::after {
	right: 5%;
	left: 55%;
	top: 10%;
	background: radial-gradient(closest-side, rgba(255, 255, 255, 0.35), transparent 65%);
	mix-blend-mode: screen;
}

.tcd-advanced-text-banner > .tcd-advanced-text {
	position: relative;
	z-index: 1;
}

.tcd-advanced-text {
	margin: 0;
	line-height: 1.2;
}

.tcd-advanced-text__inner {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	max-width: 100%;
}

.tcd-advanced-text--stack-sm .tcd-advanced-text__inner {
	flex-direction: column;
	align-items: flex-start;
}

@media (min-width: 768px) {
	.tcd-advanced-text--stack-sm .tcd-advanced-text__inner {
		flex-direction: row;
		align-items: baseline;
	}
}

.tcd-advanced-text--layout-column .tcd-advanced-text__inner,
.tcd-advanced-text--layout-column-tail .tcd-advanced-text__inner {
	display: block;
}

.tcd-advanced-text--layout-column .tcd-advanced-text__primary--multiline,
.tcd-advanced-text--layout-column-tail .tcd-advanced-text__primary--multiline {
	display: block;
	white-space: pre-line;
}

.tcd-advanced-text--layout-column .tcd-advanced-text__secondary,
.tcd-advanced-text--layout-column-tail .tcd-advanced-text__secondary {
	display: inline-block;
	max-width: 100%;
}

.tcd-advanced-text--layout-column .tcd-advanced-text__secondary {
	margin-top: 0.35em;
}

.tcd-advanced-text__tail-row {
	display: block;
	margin-top: 0.35em;
	white-space: normal;
}

.tcd-advanced-text__tail-prefix {
	display: inline;
	white-space: normal;
	vertical-align: baseline;
}

.tcd-advanced-text__tail-row .tcd-advanced-text__secondary {
	display: inline-block;
	max-width: 100%;
	white-space: normal;
	vertical-align: baseline;
}

.tcd-advanced-text--layout-column-tail.tcd-advanced-text--stack-sm .tcd-advanced-text__inner,
.tcd-advanced-text--layout-column.tcd-advanced-text--stack-sm .tcd-advanced-text__inner {
	display: block;
}

.tcd-advanced-text__gradient {
	background-image: linear-gradient(
		var(--tcd-grad-angle, 90deg),
		var(--tcd-grad-a, #4361ee),
		var(--tcd-grad-b, #f72585)
	);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

/* Duración y retraso base (Elementor inyecta en __inner o en spans) */
.tcd-advanced-text__inner,
.tcd-advanced-text__primary,
.tcd-advanced-text__tail-prefix,
.tcd-advanced-text__secondary {
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.tcd-advanced-text--anim .tcd-advanced-text__inner {
	animation-delay: var(--tcd-anim-delay, 0ms);
}

.tcd-advanced-text--anim-stagger .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger .tcd-advanced-text__tail-prefix {
	animation-delay: var(--tcd-anim-delay, 0ms);
}

.tcd-advanced-text--anim-stagger .tcd-advanced-text__secondary {
	animation-delay: var(--tcd-anim-delay, 0ms);
}

.tcd-advanced-text--anim-stagger.tcd-stagger-yes .tcd-advanced-text__secondary {
	animation-delay: calc(var(--tcd-anim-delay, 0ms) + var(--tcd-stagger-extra, 200ms));
}

/* Evita destello antes del scroll (solo front con scroll activo) */
body:not(.elementor-editor-active) .tcd-advanced-text--scroll.tcd-advanced-text--anim:not(.tcd-advanced-text--in-view) .tcd-advanced-text__inner,
body:not(.elementor-editor-active) .tcd-advanced-text--scroll.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--in-view) .tcd-advanced-text__primary,
body:not(.elementor-editor-active) .tcd-advanced-text--scroll.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--in-view) .tcd-advanced-text__tail-prefix,
body:not(.elementor-editor-active) .tcd-advanced-text--scroll.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--in-view) .tcd-advanced-text__secondary {
	opacity: 0;
}

/* Editor: vista previa siempre animada */
.elementor-editor-active .tcd-advanced-text--anim.tcd-advanced-text--fade-up .tcd-advanced-text__inner,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--fade-up .tcd-advanced-text__primary,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--fade-up .tcd-advanced-text__tail-prefix,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--fade-up .tcd-advanced-text__secondary {
	animation-name: tcd-at-fade-up;
}

.elementor-editor-active .tcd-advanced-text--anim.tcd-advanced-text--fade-down .tcd-advanced-text__inner,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--fade-down .tcd-advanced-text__primary,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--fade-down .tcd-advanced-text__tail-prefix,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--fade-down .tcd-advanced-text__secondary {
	animation-name: tcd-at-fade-down;
}

.elementor-editor-active .tcd-advanced-text--anim.tcd-advanced-text--fade-in .tcd-advanced-text__inner,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--fade-in .tcd-advanced-text__primary,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--fade-in .tcd-advanced-text__tail-prefix,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--fade-in .tcd-advanced-text__secondary {
	animation-name: tcd-at-fade-in;
}

.elementor-editor-active .tcd-advanced-text--anim.tcd-advanced-text--scale-in .tcd-advanced-text__inner,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--scale-in .tcd-advanced-text__primary,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--scale-in .tcd-advanced-text__tail-prefix,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--scale-in .tcd-advanced-text__secondary {
	animation-name: tcd-at-scale-in;
}

.elementor-editor-active .tcd-advanced-text--anim.tcd-advanced-text--slide-left .tcd-advanced-text__inner,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--slide-left .tcd-advanced-text__primary,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--slide-left .tcd-advanced-text__tail-prefix,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--slide-left .tcd-advanced-text__secondary {
	animation-name: tcd-at-slide-left;
}

.elementor-editor-active .tcd-advanced-text--anim.tcd-advanced-text--blur-in .tcd-advanced-text__inner,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--blur-in .tcd-advanced-text__primary,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--blur-in .tcd-advanced-text__tail-prefix,
.elementor-editor-active .tcd-advanced-text--anim-stagger.tcd-advanced-text--blur-in .tcd-advanced-text__secondary {
	animation-name: tcd-at-blur-in;
}

/* Front: sin scroll — animar al cargar */
.tcd-advanced-text--anim:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-up .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-up .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-up .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-up .tcd-advanced-text__secondary {
	animation-name: tcd-at-fade-up;
}

.tcd-advanced-text--anim:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-down .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-down .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-down .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-down .tcd-advanced-text__secondary {
	animation-name: tcd-at-fade-down;
}

.tcd-advanced-text--anim:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-in .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-in .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-in .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--fade-in .tcd-advanced-text__secondary {
	animation-name: tcd-at-fade-in;
}

.tcd-advanced-text--anim:not(.tcd-advanced-text--scroll).tcd-advanced-text--scale-in .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--scale-in .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--scale-in .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--scale-in .tcd-advanced-text__secondary {
	animation-name: tcd-at-scale-in;
}

.tcd-advanced-text--anim:not(.tcd-advanced-text--scroll).tcd-advanced-text--slide-left .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--slide-left .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--slide-left .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--slide-left .tcd-advanced-text__secondary {
	animation-name: tcd-at-slide-left;
}

.tcd-advanced-text--anim:not(.tcd-advanced-text--scroll).tcd-advanced-text--blur-in .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--blur-in .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--blur-in .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger:not(.tcd-advanced-text--scroll).tcd-advanced-text--blur-in .tcd-advanced-text__secondary {
	animation-name: tcd-at-blur-in;
}

/* Front: con scroll — al entrar en vista */
.tcd-advanced-text--anim.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-up .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-up .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-up .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-up .tcd-advanced-text__secondary {
	animation-name: tcd-at-fade-up;
}

.tcd-advanced-text--anim.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-down .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-down .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-down .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-down .tcd-advanced-text__secondary {
	animation-name: tcd-at-fade-down;
}

.tcd-advanced-text--anim.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-in .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-in .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-in .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--fade-in .tcd-advanced-text__secondary {
	animation-name: tcd-at-fade-in;
}

.tcd-advanced-text--anim.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--scale-in .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--scale-in .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--scale-in .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--scale-in .tcd-advanced-text__secondary {
	animation-name: tcd-at-scale-in;
}

.tcd-advanced-text--anim.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--slide-left .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--slide-left .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--slide-left .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--slide-left .tcd-advanced-text__secondary {
	animation-name: tcd-at-slide-left;
}

.tcd-advanced-text--anim.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--blur-in .tcd-advanced-text__inner,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--blur-in .tcd-advanced-text__primary,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--blur-in .tcd-advanced-text__tail-prefix,
.tcd-advanced-text--anim-stagger.tcd-advanced-text--scroll.tcd-advanced-text--in-view.tcd-advanced-text--blur-in .tcd-advanced-text__secondary {
	animation-name: tcd-at-blur-in;
}

@keyframes tcd-at-fade-up {
	from {
		opacity: 0;
		transform: translate3d(0, 28px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes tcd-at-fade-down {
	from {
		opacity: 0;
		transform: translate3d(0, -28px, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes tcd-at-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes tcd-at-scale-in {
	from {
		opacity: 0;
		transform: scale(0.92);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes tcd-at-slide-left {
	from {
		opacity: 0;
		transform: translate3d(32px, 0, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes tcd-at-blur-in {
	from {
		opacity: 0;
		filter: blur(12px);
	}
	to {
		opacity: 1;
		filter: blur(0);
	}
}
