/* Titular con Display Text, la fuente Toyota que la web ya carga (Elementor >
   Fuentes personalizadas). Antes se cargaba con una ruta /wp-content/... que
   en una instalacion en subcarpeta no existia. */
/*
 * Toyocentro · Hero de inventario
 * Fondo grafito con resplandor rojo, estelas onduladas que se dibujan al
 * cargar y siguen fluyendo despacio, migas en cápsula y titular con acento.
 * Todo cuelga de .tc-hero: no toca el tema ni otros widgets.
 */
.tc-hero {
	--tc-hero-acento: #eb0a1e;
	--tc-hero-fondo: #0a0a0b;
	--tc-hero-texto: #ffffff;
	--tc-hero-suave: rgba(255, 255, 255, 0.66);
	--tc-hero-ancho: 1240px;
	--tc-hero-arriba: 110px;
	--tc-hero-abajo: 90px;
	--tc-hero-titulo: clamp(2.5rem, 5.4vw, 4.6rem);
	--tc-hero-fuente-titulo: "Display Text", "Toyota Display", var(--e-global-typography-primary-font-family, "Poppins"), sans-serif;
	--tc-hero-fuente-texto: "Poppins", var(--e-global-typography-text-font-family, system-ui), sans-serif;

	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--tc-hero-fondo);
	color: var(--tc-hero-texto);
	font-family: var(--tc-hero-fuente-texto);
	padding: var(--tc-hero-arriba) 0 var(--tc-hero-abajo);
	-webkit-font-smoothing: antialiased;
}
.tc-hero *,
.tc-hero *::before,
.tc-hero *::after {
	box-sizing: border-box;
}

/* resplandor rojo arriba a la derecha y luz tenue abajo a la izquierda */
.tc-hero__fondo {
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background:
		radial-gradient(120% 80% at 85% -10%, color-mix(in srgb, var(--tc-hero-acento) 16%, transparent), transparent 55%),
		radial-gradient(90% 70% at 0% 110%, rgba(255, 255, 255, 0.05), transparent 60%);
}
.tc-hero__fondo::after {
	content: "";
	position: absolute;
	right: -12rem;
	top: -12rem;
	width: 34rem;
	height: 34rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--tc-hero-acento) 20%, transparent);
	filter: blur(150px);
}

/* estelas onduladas */
.tc-hero__estelas {
	position: absolute;
	z-index: -1;
	left: 38%;
	right: 0;
	bottom: 6%;
	width: 62%;
	height: 62%;
	opacity: 0.85;
	pointer-events: none;
	overflow: visible;
	color: var(--tc-hero-acento);
}
.tc-hero__estelas path {
	fill: none;
	stroke-linecap: round;
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	vector-effect: non-scaling-stroke;
	animation:
		tc-hero-trazo 2.4s cubic-bezier(0.22, 0.8, 0.2, 1) both,
		tc-hero-flujo 9s ease-in-out infinite alternate;
	animation-delay: calc(0.3s + var(--i, 0) * 0.12s), calc(2.7s + var(--i, 0) * 0.4s);
	transform-box: fill-box;
	transform-origin: 50% 50%;
}
@keyframes tc-hero-trazo {
	to {
		stroke-dashoffset: 0;
	}
}
@keyframes tc-hero-flujo {
	from {
		transform: translateY(0) scaleY(1);
	}
	to {
		transform: translateY(-1.5%) scaleY(1.04);
	}
}

/* contenido */
.tc-hero__contenido {
	position: relative;
	width: 100%;
	max-width: var(--tc-hero-ancho);
	margin: 0 auto;
	padding: 0 40px;
}
.tc-hero--centro .tc-hero__contenido {
	text-align: center;
}
.tc-hero__caja {
	max-width: 56rem;
}
.tc-hero--centro .tc-hero__caja {
	margin: 0 auto;
}

/* migas en cápsula */
.tc-hero__migas {
	margin: 0 0 36px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.5);
}
.tc-hero__migas ol {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 6px 16px;
	list-style: none;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.tc-hero__migas li {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}
.tc-hero__migas li + li::before {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--tc-hero-acento);
}
.tc-hero__migas a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}
.tc-hero__migas a:hover {
	color: #fff;
}
.tc-hero__migas [aria-current] {
	color: #fff;
}

/* antetítulo con estela */
.tc-hero__antetitulo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--tc-hero-acento);
}
.tc-hero__antetitulo::before {
	content: "";
	flex-shrink: 0;
	width: 30px;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, currentColor);
}

.tc-hero__titulo {
	margin: 24px 0 0;
	font-family: var(--tc-hero-fuente-titulo);
	font-size: var(--tc-hero-titulo);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.035em;
	color: var(--tc-hero-texto);
	text-wrap: balance;
}
.tc-hero__titulo span {
	color: var(--tc-hero-acento);
}

.tc-hero__texto {
	max-width: 42rem;
	margin: 28px 0 0;
	font-size: 1.125rem;
	line-height: 1.65;
	color: var(--tc-hero-suave);
}
.tc-hero--centro .tc-hero__texto {
	margin-left: auto;
	margin-right: auto;
}
.tc-hero__texto strong {
	color: #fff;
	font-weight: 600;
}

/* botones */
.tc-hero__acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 28px;
	margin-top: 38px;
}
.tc-hero--centro .tc-hero__acciones {
	justify-content: center;
}
.tc-hero__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 48px;
	padding: 0 30px;
	border-radius: 999px;
	background: var(--tc-hero-acento);
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	box-shadow: 0 14px 34px -14px color-mix(in srgb, var(--tc-hero-acento) 85%, transparent);
	transition: transform 0.3s cubic-bezier(0.22, 0.8, 0.2, 1), filter 0.2s;
}
.tc-hero__btn:hover {
	transform: translateY(-2px);
	filter: brightness(0.92);
}
.tc-hero__btn svg {
	width: 16px;
	height: 16px;
	transition: transform 0.3s;
}
.tc-hero__btn:hover svg {
	transform: translateX(3px);
}
.tc-hero__enlace {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 6px;
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
}
.tc-hero__enlace::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 22px;
	height: 2px;
	border-radius: 999px;
	background: var(--tc-hero-acento);
	transition: width 0.5s cubic-bezier(0.22, 0.8, 0.2, 1);
}
.tc-hero__enlace:hover::after {
	width: 100%;
}

/* cifras del inventario */
.tc-hero__cifras {
	display: inline-grid;
	grid-auto-flow: column;
	gap: 0;
	margin: 44px 0 0;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.04);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.tc-hero__cifras div {
	padding: 16px 26px;
}
.tc-hero__cifras div + div {
	border-left: 1px solid rgba(255, 255, 255, 0.1);
}
.tc-hero__cifras dt {
	margin: 0;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.5);
}
.tc-hero__cifras dd {
	margin: 4px 0 0;
	font-family: var(--tc-hero-fuente-titulo);
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #fff;
}

/* entrada suave del contenido */
.tc-hero--animado .tc-hero__migas,
.tc-hero--animado .tc-hero__antetitulo,
.tc-hero--animado .tc-hero__titulo,
.tc-hero--animado .tc-hero__texto,
.tc-hero--animado .tc-hero__acciones,
.tc-hero--animado .tc-hero__cifras {
	animation: tc-hero-sube 0.9s cubic-bezier(0.22, 0.8, 0.2, 1) both;
}
.tc-hero--animado .tc-hero__antetitulo { animation-delay: 0.05s; }
.tc-hero--animado .tc-hero__titulo { animation-delay: 0.12s; }
.tc-hero--animado .tc-hero__texto { animation-delay: 0.2s; }
.tc-hero--animado .tc-hero__acciones { animation-delay: 0.28s; }
.tc-hero--animado .tc-hero__cifras { animation-delay: 0.36s; }
@keyframes tc-hero-sube {
	from {
		opacity: 0;
		transform: translateY(22px);
	}
}

/* sin estelas animadas: se ven quietas desde el principio */
.tc-hero--quieto .tc-hero__estelas path {
	animation: none;
	stroke-dashoffset: 0;
}

@media (max-width: 1024px) {
	.tc-hero__estelas {
		left: 20%;
		width: 80%;
	}
}
@media (max-width: 767px) {
	.tc-hero {
		--tc-hero-arriba: 72px;
		--tc-hero-abajo: 64px;
		--tc-hero-titulo: clamp(2.2rem, 10vw, 2.9rem);
	}
	.tc-hero__contenido {
		padding: 0 20px;
	}
	.tc-hero__migas {
		margin-bottom: 26px;
	}
	.tc-hero__texto {
		font-size: 1rem;
	}
	.tc-hero__estelas {
		left: 0;
		width: 100%;
		height: 45%;
		bottom: 0;
		opacity: 0.6;
	}
	.tc-hero__cifras {
		display: grid;
		grid-auto-flow: row;
		grid-template-columns: repeat(3, 1fr);
		width: 100%;
	}
	.tc-hero__cifras div {
		padding: 14px;
	}
	.tc-hero__cifras dd {
		font-size: 1.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tc-hero__estelas path,
	.tc-hero--animado * {
		animation: none !important;
		stroke-dashoffset: 0;
	}
}
