/*
 * Componentes: secciones, hero, escena, botones, planes, calculadora,
 * integraciones, explorador, flujo, recomendador, video, formularios.
 */

.zk [hidden] {
	display: none !important;
}

/* ---------- Cuerpo y secciones ---------- */

.zk-cuerpo > *:not(.zk-seccion):not(.alignfull) {
	max-width: calc(var(--zk-ancho-texto) + var(--zk-margen) * 2);
	margin-inline: auto;
	padding-inline: var(--zk-margen);
}

.zk-cuerpo > *:not(.zk-seccion):first-child {
	margin-top: var(--zk-e-7);
}

.zk-cuerpo > *:not(.zk-seccion):last-child {
	margin-bottom: var(--zk-e-8);
}

.zk-seccion {
	position: relative;
	padding-block: var(--zk-seccion);
}

.zk-seccion--suave {
	background:
		linear-gradient(rgb(12 19 38 / 0.035) 1px, transparent 1px) 0 0 / 100% 56px,
		linear-gradient(90deg, rgb(12 19 38 / 0.035) 1px, transparent 1px) 0 0 / 56px 100%,
		var(--zk-niebla);
}

.zk-seccion--oscura {
	color: var(--zk-osc-texto);
	background:
		radial-gradient(48rem 24rem at 100% 0%, rgb(31 59 255 / 0.34), transparent 62%),
		radial-gradient(40rem 22rem at -10% 100%, rgb(31 59 255 / 0.2), transparent 60%),
		var(--zk-marino-900);
}

.zk-seccion--oscura h2,
.zk-seccion--oscura h3 {
	color: #fff;
}

.zk-seccion--oscura p,
.zk-seccion--oscura li {
	color: var(--zk-osc-suave);
}

.zk .zk-seccion--oscura a:not(.zk-btn):not(.wp-block-button__link) {
	color: #fff;
}

.zk-seccion--compacta {
	padding-block: calc(var(--zk-seccion) * 0.6);
}

.zk-encabezado {
	max-width: 46rem;
	margin-bottom: var(--zk-e-7);
}

.zk-encabezado--centro {
	margin-inline: auto;
	text-align: center;
}

.zk-encabezado > p:last-child {
	margin-bottom: 0;
	font-size: var(--zk-t-l);
	color: var(--zk-gris-500);
}

.zk-seccion--oscura .zk-encabezado > p:last-child {
	color: var(--zk-osc-suave);
}

.zk-columnas {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 1rem + 3vw, 4rem);
	align-items: start;
}

.zk-columnas > *,
.zk-calc > *,
.zk-explorador__panel > * {
	min-width: 0;
}

.zk-columnas--centro {
	align-items: center;
}

.zk-columnas--lateral {
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr);
}

.zk-columnas--lateral > :last-child {
	position: sticky;
	top: calc(var(--zk-alto-header) + 24px);
}

@media (max-width: 860px) {
	.zk-columnas,
	.zk-columnas--lateral {
		grid-template-columns: 1fr;
	}

	.zk-columnas--lateral > :last-child {
		position: static;
	}
}

.zk-prosa > *,
.zk-texto > * {
	max-width: var(--zk-ancho-texto);
}

/* ---------- Botones ---------- */

.zk .zk-btn,
.zk .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 46px;
	padding: 0.7rem 1.25rem;
	font: 600 var(--zk-t-s) / 1.2 var(--zk-f-texto);
	text-decoration: none;
	color: #fff;
	background: var(--zk-azul-600);
	border: 1px solid transparent;
	border-radius: var(--zk-r-pill);
	cursor: pointer;
	transition: transform var(--zk-m-rapido) var(--zk-m-curva), box-shadow var(--zk-m-medio), background var(--zk-m-rapido), border-color var(--zk-m-rapido);
}

.zk .zk-btn:hover,
.zk .wp-block-button__link:hover {
	color: #fff;
	background: var(--zk-azul-marca);
	box-shadow: 0 10px 28px rgb(31 59 255 / 0.35);
	transform: translateY(-1px);
}

.zk .zk-btn:active,
.zk .wp-block-button__link:active {
	transform: translateY(0) scale(0.98);
	box-shadow: none;
}

.zk .zk-btn--secundario,
.zk .is-style-outline > .wp-block-button__link {
	color: var(--zk-tinta);
	background: var(--zk-blanco);
	border-color: var(--zk-gris-300);
}

.zk .zk-btn--secundario:hover,
.zk .is-style-outline > .wp-block-button__link:hover {
	color: var(--zk-azul-600);
	background: var(--zk-blanco);
	border-color: var(--zk-azul-600);
	box-shadow: var(--zk-sombra-1);
}

.zk .zk-btn--claro,
.zk .zk-seccion--oscura .is-style-outline > .wp-block-button__link,
.zk .zk-hero .is-style-outline > .wp-block-button__link {
	color: #fff;
	background: var(--zk-osc-capa);
	border-color: rgb(255 255 255 / 0.3);
}

.zk .zk-btn--claro:hover,
.zk .zk-seccion--oscura .is-style-outline > .wp-block-button__link:hover,
.zk .zk-hero .is-style-outline > .wp-block-button__link:hover {
	color: #fff;
	background: rgb(255 255 255 / 0.12);
	border-color: #fff;
	box-shadow: none;
}

.zk .zk-btn--whatsapp {
	background: var(--zk-verde);
}

.zk .zk-btn--whatsapp:hover {
	background: #086239;
	box-shadow: 0 10px 28px rgb(11 122 75 / 0.3);
}

.zk .zk-btn--grande {
	min-height: 54px;
	padding-inline: 1.75rem;
	font-size: 1rem;
}

.zk .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--zk-e-3);
	margin-bottom: var(--zk-e-5);
}

.zk .wp-block-button {
	margin: 0;
}

.zk .zk-enlace {
	font-weight: 600;
	font-size: var(--zk-t-s);
}

/* ---------- Hero de portada ---------- */

.zk-hero {
	isolation: isolate;
	padding-block: clamp(2.5rem, 1rem + 5vw, 5rem) clamp(3rem, 2rem + 5vw, 6rem);
	color: var(--zk-osc-texto);
	background:
		radial-gradient(52rem 30rem at 78% 30%, rgb(31 59 255 / 0.5), transparent 62%),
		radial-gradient(40rem 26rem at 0% 100%, rgb(31 59 255 / 0.22), transparent 62%),
		var(--zk-marino-900);
	overflow: hidden;
}

.zk-hero > .zk-contenedor {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 1rem + 3vw, 3.5rem);
	align-items: center;
}

.zk-hero h1 {
	color: #fff;
	font-size: clamp(2.15rem, 1.2rem + 3.6vw, 3.75rem);
}

.zk-hero__texto > p:not(.zk-kicker) {
	max-width: 54ch;
	font-size: var(--zk-t-l);
	color: var(--zk-osc-suave);
}

.zk-hero__datos {
	display: flex;
	flex-wrap: wrap;
	gap: var(--zk-e-2) var(--zk-e-5);
	margin: var(--zk-e-5) 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--zk-t-s);
	color: var(--zk-osc-suave);
}

.zk-hero__datos li::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 0.55rem;
	vertical-align: 0.1em;
	background: var(--zk-azul-400);
	border-radius: 50%;
}

.zk-hero__datos .zk-precio__monto,
.zk-hero__datos .zk-precio__sufijo {
	font: inherit;
	color: inherit;
}

@media (max-width: 900px) {
	.zk-hero > .zk-contenedor {
		grid-template-columns: 1fr;
	}
}

/* ---------- Escena del ecosistema ---------- */

.zk-escena {
	position: relative;
	width: 100%;
	max-width: 560px;
	margin-inline: auto;
	aspect-ratio: 1;
}

.zk-escena__lienzo {
	position: absolute;
	inset: -8%;
	width: 116%;
	height: 116%;
	opacity: 0;
	transition: opacity var(--zk-m-lento);
}

.zk-escena.es-3d .zk-escena__lienzo {
	opacity: 1;
}

.zk-escena__lineas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.zk-escena__lineas line {
	stroke: rgb(123 144 255 / 0.45);
	stroke-width: 0.35;
	stroke-dasharray: 1.2 1.6;
	vector-effect: non-scaling-stroke;
}

.zk-escena.es-3d .zk-escena__lineas {
	display: none;
}

.zk-escena__nucleo {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 22%;
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	border-radius: 28%;
	box-shadow: 0 0 0 1px rgb(123 144 255 / 0.6), 0 0 60px rgb(31 59 255 / 0.75), 0 0 140px rgb(31 59 255 / 0.5);
}

.zk-escena__nucleo img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 28%;
}

.zk-escena__nodos {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zk-escena__nodos li {
	position: absolute;
	left: var(--x);
	top: var(--y);
	transform: translate(-50%, -50%) scale(var(--s, 1));
	opacity: var(--o, 1);
	z-index: var(--z, 1);
	will-change: transform;
}

.zk .zk-escena__nodos a {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 0.85rem;
	font: 600 var(--zk-t-xs) / 1.1 var(--zk-f-titulos);
	white-space: nowrap;
	color: #fff;
	text-decoration: none;
	background: rgb(13 21 48 / 0.82);
	border: 1px solid rgb(123 144 255 / 0.5);
	border-radius: var(--zk-r-pill);
	backdrop-filter: blur(6px);
	transition: background var(--zk-m-rapido), border-color var(--zk-m-rapido), box-shadow var(--zk-m-medio);
}

.zk .zk-escena__nodos a::before {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--zk-azul-400);
	border-radius: 50%;
	box-shadow: 0 0 10px var(--zk-azul-400);
}

.zk .zk-escena__nodos a:hover,
.zk .zk-escena__nodos a:focus-visible {
	color: #fff;
	background: var(--zk-azul-600);
	border-color: #fff;
	box-shadow: var(--zk-brillo);
}

.zk-pausa {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 0.4rem 0.75rem;
	font: 500 var(--zk-t-xs) var(--zk-f-texto);
	color: var(--zk-osc-suave);
	background: rgb(13 21 48 / 0.7);
	border: 1px solid var(--zk-osc-linea);
	border-radius: var(--zk-r-pill);
	cursor: pointer;
}

.zk-pausa:hover {
	color: #fff;
	border-color: #fff;
}

@media (max-width: 520px) {
	.zk .zk-escena__nodos a {
		padding: 0.4rem 0.6rem;
		font-size: 0.72rem;
	}
}

/* ---------- Listas y bloques de contenido ---------- */

.zk-checks {
	display: grid;
	gap: 0.55rem;
	padding: 0;
	list-style: none;
}

.zk-checks li {
	position: relative;
	padding-left: 1.75rem;
}

.zk-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.32em;
	width: 1.05rem;
	height: 1.05rem;
	background: var(--zk-azul-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.700-5' fill='none' stroke='%23fff' stroke-width='1.700' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 70% no-repeat;
	border-radius: 50%;
}

.zk-problemas {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	counter-reset: problema;
	border-top: 1px solid var(--zk-gris-200);
}

.zk-problemas > * {
	position: relative;
	padding: var(--zk-e-6) var(--zk-e-5) var(--zk-e-5) 0;
	counter-increment: problema;
	border-bottom: 1px solid var(--zk-gris-200);
}

.zk-problemas > * + * {
	padding-left: var(--zk-e-5);
	border-left: 1px solid var(--zk-gris-200);
}

.zk-problemas > *::before {
	content: "0" counter(problema);
	display: block;
	margin-bottom: var(--zk-e-4);
	font: 300 3.2rem / 1 var(--zk-f-titulos);
	letter-spacing: -0.04em;
	color: var(--zk-azul-600);
}

.zk-problemas p:last-child {
	margin: 0;
	color: var(--zk-gris-500);
}

@media (max-width: 800px) {
	.zk-problemas {
		grid-template-columns: 1fr;
	}

	.zk-problemas > * + * {
		padding-left: 0;
		border-left: 0;
	}
}

.zk-tarjetas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: var(--zk-e-4);
}

.zk-tarjeta {
	padding: var(--zk-e-5);
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-200);
	border-radius: var(--zk-r-l);
	transition: border-color var(--zk-m-medio), box-shadow var(--zk-m-medio), transform var(--zk-m-medio) var(--zk-m-curva);
}

.zk-tarjeta:hover {
	border-color: var(--zk-azul-400);
	box-shadow: var(--zk-sombra-2);
}

.zk .zk-tarjeta h2,
.zk .zk-columnas--lateral > :last-child h2 {
	font-size: var(--zk-t-h3);
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.zk-tarjeta > :last-child {
	margin-bottom: 0;
}

.zk-tarjeta p {
	color: var(--zk-gris-500);
}

.zk-seccion--oscura .zk-tarjeta {
	background: var(--zk-osc-capa);
	border-color: var(--zk-osc-linea);
}

.zk-seccion--oscura .zk-tarjeta p {
	color: var(--zk-osc-suave);
}

.zk .zk-pasos {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: paso;
}

.zk-pasos > li {
	position: relative;
	padding: 0 0 var(--zk-e-6) 4rem;
	counter-increment: paso;
}

.zk-pasos > li::before {
	content: counter(paso);
	position: absolute;
	left: 0;
	top: -0.2rem;
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	font: 650 1rem var(--zk-f-titulos);
	color: #fff;
	background: var(--zk-azul-600);
	border-radius: 50%;
	box-shadow: 0 0 0 6px rgb(31 59 255 / 0.14);
}

.zk-pasos > li::after {
	content: "";
	position: absolute;
	left: 1.3rem;
	top: 2.7rem;
	bottom: 0.3rem;
	width: 1px;
	background: linear-gradient(var(--zk-azul-400), transparent);
}

.zk-pasos > li:last-child {
	padding-bottom: 0;
}

.zk-pasos > li:last-child::after {
	display: none;
}

.zk-pasos strong {
	display: block;
	margin-bottom: 0.25rem;
	font: 650 var(--zk-t-h3) / 1.25 var(--zk-f-titulos);
	color: var(--zk-tinta);
}

.zk-seccion--oscura .zk-pasos strong {
	color: #fff;
}

.zk-cta {
	padding: clamp(1.75rem, 1rem + 3vw, 3.5rem);
	color: var(--zk-osc-texto);
	background:
		radial-gradient(34rem 18rem at 100% 0%, rgb(31 59 255 / 0.6), transparent 65%),
		var(--zk-marino-900);
	border-radius: var(--zk-r-l);
}

.zk-cta h2 {
	color: #fff;
	font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.2rem);
}

.zk-cta p {
	max-width: 56ch;
	color: var(--zk-osc-suave);
}

.zk-cta .wp-block-buttons {
	margin-bottom: 0;
}

.zk .zk-cta .is-style-outline > .wp-block-button__link {
	color: #fff;
	background: var(--zk-osc-capa);
	border-color: rgb(255 255 255 / 0.3);
}

.zk-nota {
	font-size: var(--zk-t-xs);
	line-height: 1.55;
	color: var(--zk-gris-500);
}

.zk-seccion--oscura .zk-nota {
	color: var(--zk-osc-suave);
}

.zk-aviso {
	padding: var(--zk-e-4) var(--zk-e-5);
	margin-bottom: var(--zk-e-4);
	font-size: var(--zk-t-s);
	background: var(--zk-azul-50);
	border-left: 4px solid var(--zk-azul-600);
	border-radius: var(--zk-r-s);
}

.zk-aviso > :last-child {
	margin-bottom: 0;
}

.zk-aviso--ok {
	color: #064a2d;
	background: var(--zk-verde-claro);
	border-color: var(--zk-verde);
}

.zk-aviso--error {
	color: #7a1712;
	background: var(--zk-rojo-claro);
	border-color: var(--zk-rojo);
}

.zk-aviso--parcial {
	color: #5c3c00;
	background: var(--zk-ambar-claro);
	border-color: var(--zk-ambar);
}

.zk-etiqueta-ejemplo {
	display: inline-block;
	padding: 0.3rem 0.7rem;
	font: 600 var(--zk-t-xs) var(--zk-f-texto);
	color: var(--zk-ambar);
	background: var(--zk-ambar-claro);
	border-radius: var(--zk-r-pill);
}

/* Preguntas frecuentes (bloque Detalles) */

.zk .wp-block-details,
.zk-video__contenido {
	border-bottom: 1px solid var(--zk-gris-200);
}

.zk .wp-block-details summary,
.zk-form__mas summary,
.zk-video__contenido summary {
	position: relative;
	padding: var(--zk-e-4) 2.5rem var(--zk-e-4) 0;
	font: 600 1.05rem / 1.35 var(--zk-f-titulos);
	list-style: none;
	cursor: pointer;
}

.zk .wp-block-details summary::-webkit-details-marker,
.zk-form__mas summary::-webkit-details-marker,
.zk-video__contenido summary::-webkit-details-marker {
	display: none;
}

.zk .wp-block-details summary::after,
.zk-form__mas summary::after,
.zk-video__contenido summary::after {
	content: "";
	position: absolute;
	right: 0.4rem;
	top: 50%;
	width: 0.6rem;
	height: 0.6rem;
	border-right: 2px solid var(--zk-azul-600);
	border-bottom: 2px solid var(--zk-azul-600);
	transform: translateY(-70%) rotate(45deg);
	transition: transform var(--zk-m-medio) var(--zk-m-curva);
}

.zk .wp-block-details[open] summary::after,
.zk-form__mas[open] summary::after,
.zk-video__contenido[open] summary::after {
	transform: translateY(-20%) rotate(225deg);
}

.zk .wp-block-details > :not(summary) {
	max-width: 70ch;
	color: var(--zk-gris-700);
}

.zk .wp-block-details summary:hover {
	color: var(--zk-azul-600);
}

/* Tablas de contenido */

.zk .wp-block-table,
.zk-tabla-scroll {
	overflow-x: auto;
	margin-bottom: var(--zk-e-4);
	border: 1px solid var(--zk-gris-200);
	border-radius: var(--zk-r-m);
}

.zk .wp-block-table table,
.zk-comparador {
	width: 100%;
	min-width: 560px;
	margin: 0;
	border-collapse: collapse;
	font-size: var(--zk-t-s);
	background: var(--zk-blanco);
}

.zk .wp-block-table th,
.zk .wp-block-table td,
.zk-comparador th,
.zk-comparador td {
	padding: 0.85rem 1rem;
	text-align: left;
	vertical-align: top;
	border: 0;
	border-bottom: 1px solid var(--zk-gris-100);
}

.zk .wp-block-table thead th,
.zk-comparador thead th {
	font: 600 var(--zk-t-s) var(--zk-f-titulos);
	color: #fff;
	background: var(--zk-marino-900);
	border-bottom: 0;
}

.zk-comparador tbody th {
	font-weight: 600;
	color: var(--zk-gris-700);
	background: var(--zk-niebla);
}

.zk-comparador tr:last-child > * {
	border-bottom: 0;
}

.zk-si {
	font-weight: 600;
	color: var(--zk-verde);
	white-space: nowrap;
}

.zk-no {
	color: var(--zk-gris-500);
	white-space: nowrap;
}

.zk-consultar {
	color: var(--zk-gris-500);
	font-size: var(--zk-t-xs);
}

/* ---------- Precios ---------- */

.zk-precio {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.15rem 0.4rem;
}

.zk-precio__monto {
	font: 700 1.5em / 1 var(--zk-f-titulos);
	letter-spacing: -0.02em;
}

.zk-precio__sufijo {
	font-size: var(--zk-t-s);
	font-weight: 600;
	color: var(--zk-gris-500);
	white-space: nowrap;
}

.zk-precio--texto {
	font: 600 var(--zk-t-s) var(--zk-f-texto);
	color: var(--zk-gris-700);
}

.zk-comparador .zk-precio__monto,
.zk-matriz .zk-precio__monto {
	font-size: 1.05rem;
}

.zk-seccion--oscura .zk-precio__sufijo,
.zk-seccion--oscura .zk-precio--texto {
	color: var(--zk-osc-suave);
}

/* ---------- Planes ---------- */

.zk-planes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--zk-e-4);
	align-items: stretch;
	margin-bottom: var(--zk-e-5);
}

@media (max-width: 1100px) {
	.zk-planes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.zk-planes {
		grid-template-columns: 1fr;
	}
}

.zk-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: var(--zk-e-5);
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-200);
	border-radius: var(--zk-r-l);
	transition: border-color var(--zk-m-medio), box-shadow var(--zk-m-medio), transform var(--zk-m-medio) var(--zk-m-curva);
}

.zk-plan:hover {
	border-color: var(--zk-azul-400);
	box-shadow: var(--zk-sombra-2);
}

.zk-plan.is-destacado {
	color: var(--zk-osc-texto);
	background:
		radial-gradient(18rem 12rem at 100% 0%, rgb(31 59 255 / 0.7), transparent 70%),
		var(--zk-marino-900);
	border-color: var(--zk-azul-500);
	box-shadow: var(--zk-brillo);
}

.zk-plan__sello {
	align-self: flex-start;
	margin: 0 0 var(--zk-e-3);
	padding: 0.25rem 0.65rem;
	font: 600 0.72rem var(--zk-f-texto);
	color: #fff;
	background: var(--zk-azul-600);
	border-radius: var(--zk-r-pill);
}

.zk-plan__para {
	margin: 0 0 0.25rem;
	font-size: var(--zk-t-xs);
	font-weight: 600;
	color: var(--zk-gris-500);
}

.zk .zk-plan__nombre {
	margin-bottom: var(--zk-e-3);
	font-size: 1.35rem;
}

.zk-plan__precio {
	margin-bottom: var(--zk-e-3);
}

.zk-plan__precio .zk-precio__monto {
	font-size: 2rem;
}

.zk-plan__desc {
	font-size: var(--zk-t-s);
	color: var(--zk-gris-500);
}

.zk-plan__limites {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	margin: 0 0 var(--zk-e-4);
	overflow: hidden;
	background: var(--zk-gris-200);
	border: 1px solid var(--zk-gris-200);
	border-radius: var(--zk-r-m);
}

.zk-plan__limites div {
	padding: 0.6rem 0.75rem;
	background: var(--zk-blanco);
}

.zk-plan__limites dt {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--zk-gris-500);
}

.zk-plan__limites dd {
	margin: 0;
	font: 650 1.05rem var(--zk-f-titulos);
}

.zk-plan__accesos {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 var(--zk-e-4);
	padding: 0;
	list-style: none;
}

.zk-plan__accesos li {
	padding: 0.2rem 0.6rem;
	font-size: var(--zk-t-xs);
	font-weight: 600;
	border-radius: var(--zk-r-pill);
}

.zk-plan__accesos .es-si {
	color: #064a2d;
	background: var(--zk-verde-claro);
}

.zk-plan__accesos .es-si::before {
	content: "✓ ";
}

.zk-plan__accesos .es-no {
	color: var(--zk-gris-500);
	text-decoration: line-through;
	background: var(--zk-gris-100);
}

.zk-plan__extra {
	margin-bottom: 0.4rem;
	font-size: var(--zk-t-xs);
	color: var(--zk-gris-700);
}

.zk-plan__acciones {
	display: grid;
	gap: var(--zk-e-3);
	margin: auto 0 0;
	padding-top: var(--zk-e-4);
	text-align: center;
}

.zk-plan.is-destacado .zk-plan__para,
.zk-plan.is-destacado .zk-plan__desc,
.zk-plan.is-destacado .zk-plan__extra,
.zk-plan.is-destacado .zk-precio__sufijo {
	color: var(--zk-osc-suave);
}

.zk-plan.is-destacado .zk-plan__nombre,
.zk .zk-plan.is-destacado .zk-enlace {
	color: #fff;
}

.zk-plan.is-destacado .zk-plan__limites {
	background: var(--zk-osc-linea);
	border-color: var(--zk-osc-linea);
}

.zk-plan.is-destacado .zk-plan__limites div {
	background: #0e1633;
}

.zk-plan.is-destacado .zk-plan__limites dt {
	color: var(--zk-osc-suave);
}

.zk-plan.is-destacado .zk-plan__accesos .es-no {
	color: var(--zk-osc-suave);
	background: var(--zk-osc-capa);
}

.zk-plan.is-destacado :focus-visible {
	outline-color: #fff;
}

/* ---------- Módulos ---------- */

.zk-modulos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
	gap: var(--zk-e-3);
	margin: 0 0 var(--zk-e-4);
	padding: 0;
	list-style: none;
}

.zk-modulo {
	display: flex;
	flex-direction: column;
	padding: var(--zk-e-4) var(--zk-e-5);
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-200);
	border-radius: var(--zk-r-m);
}

.zk .zk-modulo__nombre {
	margin-bottom: 0.25rem;
	font-size: 1.1rem;
}

.zk .zk-modulo__nombre a {
	color: var(--zk-tinta);
	text-decoration: none;
}

.zk .zk-modulo__nombre a:hover {
	color: var(--zk-azul-600);
	text-decoration: underline;
}

.zk-modulo__resumen {
	font-size: var(--zk-t-s);
	color: var(--zk-gris-500);
}

.zk-modulo__precio {
	margin: auto 0 0;
}

.zk-modulo__precio .zk-precio__monto {
	font-size: 1.35rem;
}

.zk-modulo--incluido {
	background: var(--zk-verde-claro);
	border-color: #b7e3cb;
}

.zk-modulo--incluido .zk-precio--texto {
	color: #064a2d;
}

/* ---------- Calculadora ---------- */

.zk-calc {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr);
	gap: var(--zk-e-5);
	align-items: start;
}

@media (max-width: 900px) {
	.zk-calc {
		grid-template-columns: 1fr;
	}
}

.zk-calc__grupo {
	margin: 0 0 var(--zk-e-5);
	padding: 0;
	border: 0;
}

.zk-calc__grupo legend {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: var(--zk-e-3);
	padding: 0;
	font: 650 1.1rem var(--zk-f-titulos);
}

.zk-calc__paso {
	display: grid;
	place-items: center;
	width: 1.7rem;
	height: 1.7rem;
	font-size: 0.85rem;
	color: #fff;
	background: var(--zk-azul-600);
	border-radius: 50%;
}

.zk-calc__ayuda {
	font-size: var(--zk-t-s);
	color: var(--zk-ambar);
}

.zk-opciones {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--zk-e-2);
}

.zk-opciones--compactas {
	grid-template-columns: repeat(auto-fill, minmax(min(190px, 100%), 1fr));
}

@media (max-width: 520px) {
	.zk-opciones {
		grid-template-columns: 1fr;
	}
}

.zk-opcion {
	position: relative;
	display: block;
	cursor: pointer;
}

.zk-opcion input {
	position: absolute;
	top: 1rem;
	left: 0.9rem;
	width: 1.1rem;
	height: 1.1rem;
	margin: 0;
	accent-color: var(--zk-azul-600);
}

.zk-opcion__cuerpo {
	display: grid;
	gap: 0.1rem;
	height: 100%;
	padding: 0.8rem 0.9rem 0.8rem 2.6rem;
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-300);
	border-radius: var(--zk-r-m);
	transition: border-color var(--zk-m-rapido), box-shadow var(--zk-m-rapido), background var(--zk-m-rapido);
}

.zk-opcion:hover .zk-opcion__cuerpo {
	border-color: var(--zk-azul-400);
}

.zk-opcion input:checked + .zk-opcion__cuerpo {
	background: var(--zk-azul-50);
	border-color: var(--zk-azul-600);
	box-shadow: inset 0 0 0 1px var(--zk-azul-600);
}

.zk-opcion input:focus-visible + .zk-opcion__cuerpo {
	outline: 3px solid var(--zk-azul-600);
	outline-offset: 2px;
}

.zk-opcion input:disabled + .zk-opcion__cuerpo {
	opacity: 0.55;
	cursor: not-allowed;
	background: var(--zk-gris-100);
}

.zk-opcion__nombre {
	font-weight: 600;
}

.zk-opcion__precio {
	font-size: var(--zk-t-xs);
	color: var(--zk-gris-500);
}

.js .zk-calc__sinjs {
	display: none;
}

.zk-calc__resultado {
	position: sticky;
	top: calc(var(--zk-alto-header) + 20px);
	padding: var(--zk-e-5);
	color: var(--zk-osc-texto);
	background:
		radial-gradient(20rem 12rem at 100% 0%, rgb(31 59 255 / 0.55), transparent 70%),
		var(--zk-marino-900);
	border-radius: var(--zk-r-l);
}

@media (max-width: 900px) {
	.zk-calc__resultado {
		position: static;
	}
}

.zk-calc__titulo {
	font: 650 1.2rem var(--zk-f-titulos);
	color: #fff;
}

.zk-calc__tabla {
	width: 100%;
	margin-bottom: var(--zk-e-4);
	border-collapse: collapse;
	font-size: var(--zk-t-s);
}

.zk-calc__tabla th,
.zk-calc__tabla td {
	padding: 0.55rem 0;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--zk-osc-linea);
}

.zk-calc__tabla th {
	font-weight: 500;
	color: #fff;
}

.zk-calc__tabla th small {
	display: block;
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--zk-osc-suave);
}

.zk-calc__tabla td {
	padding-left: var(--zk-e-3);
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.zk-calc__tabla .es-pendiente td,
.zk-calc__tabla .es-pendiente th small {
	color: #ffd479;
}

.zk-calc__tabla .es-incluido td {
	color: #8fe3b6;
}

.zk-calc__tabla tfoot th,
.zk-calc__tabla tfoot td {
	color: var(--zk-osc-suave);
}

.zk-calc__tabla .zk-calc__total th,
.zk-calc__tabla .zk-calc__total td {
	padding-top: 0.8rem;
	font: 700 1.35rem var(--zk-f-titulos);
	color: #fff;
	border-bottom: 0;
}

.zk-calc__acciones {
	display: grid;
	gap: var(--zk-e-2);
}

.zk-calc__resultado .zk-nota {
	margin: 0;
	color: var(--zk-osc-suave);
}

.zk-calc__resultado.is-cargando [data-zk-calc-html] {
	opacity: 0.55;
}

/* ---------- Integraciones ---------- */

.zk-marcas {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--zk-e-3);
	margin: 0 0 var(--zk-e-4);
	padding: 0;
	list-style: none;
}

@media (max-width: 900px) {
	.zk-marcas {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.zk .zk-marca__caja {
	display: grid;
	gap: 0.35rem;
	height: 100%;
	padding: var(--zk-e-4);
	color: var(--zk-tinta);
	text-decoration: none;
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-200);
	border-radius: var(--zk-r-m);
	transition: border-color var(--zk-m-medio), box-shadow var(--zk-m-medio), transform var(--zk-m-medio) var(--zk-m-curva);
}

.zk a.zk-marca__caja:hover {
	border-color: var(--zk-azul-400);
	box-shadow: var(--zk-sombra-2);
}

.zk-marca__placa {
	display: grid;
	place-items: center;
	height: 64px;
	margin-bottom: 0.25rem;
	padding: 0.5rem;
	background: var(--zk-blanco);
	border-radius: var(--zk-r-s);
}

.zk-marca__logo {
	display: block;
	width: auto;
	max-width: 130px;
	height: auto;
	max-height: 44px;
	object-fit: contain;
}

.zk-marca__tipo {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--zk-gris-500);
}

.zk-marca__precio .zk-precio__monto {
	font-size: 1.15rem;
}

.zk-marca__mas {
	font-size: var(--zk-t-xs);
	font-weight: 600;
	color: var(--zk-azul-600);
}

.zk-condicion {
	padding: var(--zk-e-5);
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-200);
	border-top: 4px solid var(--zk-azul-600);
	border-radius: var(--zk-r-l);
	box-shadow: var(--zk-sombra-1);
}

.zk-condicion > :last-child {
	margin-bottom: 0;
}

.zk-condicion p {
	font-size: var(--zk-t-s);
	color: var(--zk-gris-700);
}

.zk .zk-condicion__titulo {
	font: 650 0.8rem var(--zk-f-titulos);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--zk-azul-600);
}

.zk .zk-condicion__precio {
	color: var(--zk-tinta);
	font-size: 1.05rem;
}

.zk-condicion__precio .zk-precio__monto {
	font-size: 2.1rem;
}

.zk-ficha__logo .zk-marca__placa {
	justify-items: start;
	height: 56px;
	padding: 0;
}

.zk-ficha__caps {
	display: grid;
	gap: 0;
	margin-bottom: var(--zk-e-4);
	padding: 0;
	list-style: none;
	font-size: var(--zk-t-s);
	border-top: 1px solid var(--zk-gris-100);
}

.zk-ficha__caps li {
	display: flex;
	justify-content: space-between;
	gap: var(--zk-e-3);
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--zk-gris-100);
}

.zk-ficha__caps .es-si strong {
	color: var(--zk-verde);
}

.zk-ficha__caps .es-consultar strong {
	font-weight: 500;
	color: var(--zk-gris-500);
}

/* ---------- Explorador ---------- */

.zk-explorador__tabs {
	display: flex;
	gap: 0.4rem;
	margin-bottom: var(--zk-e-5);
	padding: 0.35rem;
	overflow-x: auto;
	background: var(--zk-osc-capa);
	border: 1px solid var(--zk-osc-linea);
	border-radius: var(--zk-r-pill);
	scrollbar-width: none;
}

.zk-explorador__tabs button {
	flex: 1 0 auto;
	min-height: 44px;
	padding: 0.5rem 1rem;
	font: 600 var(--zk-t-s) var(--zk-f-titulos);
	color: var(--zk-osc-suave);
	background: transparent;
	border: 0;
	border-radius: var(--zk-r-pill);
	cursor: pointer;
	transition: color var(--zk-m-rapido), background var(--zk-m-medio);
}

.zk-explorador__tabs button:hover {
	color: #fff;
}

.zk-explorador__tabs button[aria-selected="true"] {
	color: #fff;
	background: var(--zk-azul-600);
	box-shadow: 0 6px 20px rgb(31 59 255 / 0.5);
}

.zk-explorador__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 1rem + 3vw, 4rem);
	align-items: center;
	padding-block: var(--zk-e-5);
}

.zk-explorador__panel + .zk-explorador__panel {
	border-top: 1px solid var(--zk-osc-linea);
}

.js .zk-explorador.is-listo .zk-explorador__panel {
	padding-block: 0;
	border: 0;
}

.js .zk-explorador.is-listo .zk-explorador__panel:not(.is-activo) {
	display: none;
}

.zk-explorador__panel.is-activo .zk-explorador__texto,
.zk-explorador__panel.is-activo .zk-mock {
	animation: zk-entrar var(--zk-m-lento) var(--zk-m-curva) both;
}

.zk-explorador__panel.is-activo .zk-mock {
	animation-delay: 80ms;
}

@keyframes zk-entrar {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
}

.zk-explorador__precio {
	color: #fff;
}

.zk-explorador__precio .zk-precio__monto {
	font-size: 1.5rem;
}

@media (max-width: 860px) {
	.zk-explorador__panel {
		grid-template-columns: 1fr;
	}
}

/* Maquetas ilustrativas */

.zk-mock {
	margin: 0;
	padding: var(--zk-e-4);
	color: var(--zk-tinta);
	background: var(--zk-blanco);
	border-radius: var(--zk-r-l);
	box-shadow: 0 30px 80px rgb(0 0 0 / 0.45), 0 0 0 1px rgb(123 144 255 / 0.35);
	--ry0: -8deg;
	--rx0: 4deg;
	transform-origin: left center;
}

@media (max-width: 860px) {
	.zk-mock {
		--ry0: 0deg;
		--rx0: 0deg;
	}
}

.zk-mock figcaption {
	margin-top: var(--zk-e-3);
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--zk-ambar);
}

.zk-mock__barra {
	display: flex;
	gap: 5px;
	margin-bottom: var(--zk-e-4);
}

.zk-mock__barra i {
	width: 9px;
	height: 9px;
	background: var(--zk-gris-200);
	border-radius: 50%;
}

.zk-mock__kpis {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--zk-e-2);
	margin-bottom: var(--zk-e-4);
}

.zk-mock__kpis div {
	padding: 0.6rem;
	background: var(--zk-niebla);
	border-radius: var(--zk-r-s);
}

.zk-mock small {
	display: block;
	font-size: 0.68rem;
	color: var(--zk-gris-500);
}

.zk-mock b {
	font: 650 0.95rem var(--zk-f-titulos);
}

.zk-mock__barras {
	display: flex;
	align-items: flex-end;
	gap: 6%;
	height: 110px;
	padding: var(--zk-e-3);
	background: var(--zk-niebla);
	border-radius: var(--zk-r-s);
}

.zk-mock__barras i {
	flex: 1;
	height: var(--h);
	background: linear-gradient(var(--zk-azul-500), var(--zk-azul-marca));
	border-radius: 4px 4px 0 0;
}

.zk-mock__filas {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--zk-t-s);
}

.zk-seccion--oscura .zk-mock__filas li,
.zk-mock__filas li {
	display: flex;
	justify-content: space-between;
	gap: var(--zk-e-3);
	padding: 0.65rem 0;
	color: var(--zk-gris-700);
	border-bottom: 1px solid var(--zk-gris-100);
}

.zk-mock__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: var(--zk-e-3) 0;
	padding: 0.8rem 1rem;
	color: #fff;
	background: var(--zk-marino-900);
	border-radius: var(--zk-r-m);
}

.zk-mock__total b {
	font-size: 1.3rem;
}

.zk-mock__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.zk-mock__chips span {
	padding: 0.25rem 0.6rem;
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--zk-azul-600);
	background: var(--zk-azul-100);
	border-radius: var(--zk-r-pill);
}

.zk-mock__rack {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 6px;
	margin-bottom: var(--zk-e-3);
	padding: var(--zk-e-3);
	background: var(--zk-marino-900);
	border-radius: var(--zk-r-m);
}

.zk-mock__rack i {
	aspect-ratio: 1.3;
	background: rgb(255 255 255 / 0.1);
	border-radius: 4px;
}

.zk-mock__rack .es-activo {
	background: var(--zk-azul-500);
	box-shadow: 0 0 0 2px #fff, 0 0 18px var(--zk-azul-400);
}

.zk-mock__personas {
	display: flex;
	margin-bottom: var(--zk-e-4);
}

.zk-mock__personas i {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-right: -8px;
	font: 600 0.8rem var(--zk-f-titulos);
	font-style: normal;
	color: var(--zk-azul-600);
	background: var(--zk-azul-100);
	border: 3px solid var(--zk-blanco);
	border-radius: 50%;
}

.zk-seccion--oscura .zk-mock__texto {
	margin: 0;
	font-size: var(--zk-t-s);
	color: var(--zk-gris-700);
}

.zk-mock__agenda {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-template-rows: auto repeat(5, 26px);
	gap: 5px;
	padding: var(--zk-e-3);
	background: var(--zk-niebla);
	border-radius: var(--zk-r-m);
}

.zk-mock__agenda span {
	font-size: 0.7rem;
	font-weight: 600;
	text-align: center;
	color: var(--zk-gris-500);
}

.zk-mock__agenda i {
	grid-column: var(--c);
	grid-row: var(--r) / span 2;
	background: var(--zk-azul-100);
	border-left: 3px solid var(--zk-azul-600);
	border-radius: 4px;
}

.zk-mock__agenda i.alt {
	background: var(--zk-verde-claro);
	border-color: var(--zk-verde);
}

/* ---------- Flujo de un pedido ---------- */

.zk-flujo__pasos {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--zk-e-4);
	margin: var(--zk-e-5) 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 900px) {
	.zk-flujo__pasos {
		grid-template-columns: 1fr;
	}
}

.zk-flujo__paso {
	position: relative;
	padding: var(--zk-e-5);
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-200);
	border-radius: var(--zk-r-l);
	transition: border-color var(--zk-m-medio), box-shadow var(--zk-m-medio), opacity var(--zk-m-medio);
}

.zk-flujo__marca {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	width: 100%;
	margin-bottom: var(--zk-e-4);
	padding: 0;
	font: inherit;
	color: inherit;
	text-align: left;
	background: none;
	border: 0;
}

.zk-flujo__marca:not(:disabled) {
	cursor: pointer;
}

.zk-flujo__num {
	display: grid;
	place-items: center;
	flex: none;
	width: 2.2rem;
	height: 2.2rem;
	font: 650 0.95rem var(--zk-f-titulos);
	color: var(--zk-azul-600);
	background: var(--zk-azul-100);
	border-radius: 50%;
	transition: background var(--zk-m-medio), color var(--zk-m-medio);
}

.zk-flujo__etiqueta {
	font: 600 var(--zk-t-xs) var(--zk-f-titulos);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--zk-gris-500);
}

.zk .zk-flujo__detalle h3 {
	font-size: 1.15rem;
}

.zk-flujo__detalle p {
	font-size: var(--zk-t-s);
	color: var(--zk-gris-500);
}

.zk-flujo__datos {
	margin: 0;
	font-size: var(--zk-t-xs);
}

.zk-flujo__datos div {
	display: flex;
	justify-content: space-between;
	gap: var(--zk-e-3);
	padding: 0.4rem 0;
	border-top: 1px dashed var(--zk-gris-200);
}

.zk-flujo__datos dt {
	color: var(--zk-gris-500);
}

.zk-flujo__datos dd {
	margin: 0;
	font-weight: 600;
	text-align: right;
}

.js .zk-flujo.is-listo .zk-flujo__paso:not(.is-activo) {
	background: var(--zk-niebla);
}

.js .zk-flujo.is-listo .zk-flujo__paso.is-activo {
	border-color: var(--zk-azul-600);
	box-shadow: var(--zk-sombra-2);
}

.js .zk-flujo.is-listo .zk-flujo__paso.is-activo .zk-flujo__num,
.js .zk-flujo.is-listo .zk-flujo__paso.is-hecho .zk-flujo__num {
	color: #fff;
	background: var(--zk-azul-600);
}

.zk-flujo__controles {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--zk-e-3);
	margin: 0;
}

.zk-flujo__estado {
	font-size: var(--zk-t-s);
	color: var(--zk-gris-500);
}

/* ---------- Recomendador ---------- */

.zk-recomendador__form fieldset,
.zk-form fieldset {
	margin: 0 0 var(--zk-e-5);
	padding: 0;
	border: 0;
}

.zk-recomendador__form legend,
.zk-form legend {
	margin-bottom: var(--zk-e-3);
	padding: 0;
	font: 650 1.05rem var(--zk-f-titulos);
}

.zk-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--zk-e-2);
}

.zk-chip {
	position: relative;
	cursor: pointer;
}

.zk-chip input {
	position: absolute;
	opacity: 0;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	cursor: pointer;
}

.zk-chip span {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.5rem 1rem;
	font-size: var(--zk-t-s);
	font-weight: 550;
	color: var(--zk-tinta);
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-300);
	border-radius: var(--zk-r-pill);
	transition: background var(--zk-m-rapido), border-color var(--zk-m-rapido), color var(--zk-m-rapido), transform var(--zk-m-rapido);
}

.zk-chip:hover span {
	border-color: var(--zk-azul-600);
}

.zk-chip input:checked + span {
	color: #fff;
	background: var(--zk-azul-600);
	border-color: var(--zk-azul-600);
}

.zk-chip input:active + span {
	transform: scale(0.97);
}

.zk-chip input:focus-visible + span {
	outline: 3px solid var(--zk-azul-600);
	outline-offset: 2px;
}

.zk-recomendador__salida {
	margin-bottom: var(--zk-e-5);
	padding: var(--zk-e-5);
	color: var(--zk-osc-texto);
	background:
		radial-gradient(22rem 12rem at 100% 0%, rgb(31 59 255 / 0.55), transparent 70%),
		var(--zk-marino-900);
	border-radius: var(--zk-r-l);
}

.zk .zk-recomendador__salida h3 {
	color: #fff;
}

.zk-recomendador__salida p,
.zk-recomendador__salida li {
	color: var(--zk-osc-suave);
}

.zk-recomendador__salida > :last-child {
	margin-bottom: 0;
}

.zk-sectores {
	display: flex;
	flex-wrap: wrap;
	gap: var(--zk-e-2);
	margin: 0 0 var(--zk-e-4);
	padding: 0;
	list-style: none;
}

.zk .zk-sectores a {
	display: inline-flex;
	padding: 0.55rem 1rem;
	font-size: var(--zk-t-s);
	font-weight: 600;
	text-decoration: none;
	background: var(--zk-azul-50);
	border-radius: var(--zk-r-pill);
}

.zk .zk-sectores a:hover {
	color: #fff;
	background: var(--zk-azul-600);
}

/* ---------- Video y capturas ---------- */

.zk-video {
	max-width: 960px;
	margin-inline: auto;
}

.zk-video__marco {
	overflow: hidden;
	background: #000;
	border-radius: var(--zk-r-l);
	box-shadow: 0 30px 90px rgb(0 0 0 / 0.5), 0 0 0 1px rgb(123 144 255 / 0.4);
}

.zk-video video {
	display: block;
	width: 100%;
	height: 100%;
}

.zk-video figcaption {
	margin-top: var(--zk-e-4);
	font-size: var(--zk-t-s);
}

.zk-seccion--oscura .zk-video figcaption strong {
	color: #fff;
}

.zk-seccion--oscura .zk-video__contenido {
	border-color: var(--zk-osc-linea);
}

.zk-seccion--oscura .zk-video__contenido summary {
	font-size: var(--zk-t-s);
	color: var(--zk-osc-suave);
}

.zk-seccion--oscura .zk-video__contenido summary::after {
	border-color: var(--zk-azul-400);
}

.zk-captura {
	margin: 0;
}

.zk-captura__marco {
	overflow: hidden;
	padding: 6px;
	background: var(--zk-marino-900);
	border-radius: var(--zk-r-l);
	box-shadow: var(--zk-sombra-2);
}

.zk-captura--wms .zk-captura__marco {
	max-height: 520px;
}

.zk-captura img {
	display: block;
	width: 100%;
	border-radius: calc(var(--zk-r-l) - 6px);
}

.zk-captura figcaption {
	margin-top: var(--zk-e-3);
	font-size: var(--zk-t-xs);
	font-weight: 600;
	color: var(--zk-gris-500);
}

/* ---------- Entradas (blog en portada y listados) ---------- */

.zk-entradas {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--zk-e-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 900px) {
	.zk-entradas {
		grid-template-columns: 1fr;
	}
}

.zk-entrada {
	display: flex;
	flex-direction: column;
	padding: var(--zk-e-5);
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-200);
	border-radius: var(--zk-r-l);
	transition: border-color var(--zk-m-medio), box-shadow var(--zk-m-medio), transform var(--zk-m-medio) var(--zk-m-curva);
}

.zk-entrada:hover {
	border-color: var(--zk-azul-400);
	box-shadow: var(--zk-sombra-2);
}

.zk .zk-entrada h2,
.zk .zk-entrada h3 {
	font-size: 1.2rem;
	line-height: 1.3;
}

.zk .zk-entrada h2 a,
.zk .zk-entrada h3 a {
	color: var(--zk-tinta);
	text-decoration: none;
}

.zk .zk-entrada h2 a:hover,
.zk .zk-entrada h3 a:hover {
	color: var(--zk-azul-600);
}

.zk-entrada p {
	font-size: var(--zk-t-s);
	color: var(--zk-gris-500);
}

.zk-entrada > :last-child {
	margin-bottom: 0;
}

.zk-entrada__meta {
	margin-top: auto;
	font-size: var(--zk-t-xs);
}

/* ---------- Canales de contacto ---------- */

.zk-canales {
	display: grid;
	gap: 0;
	margin: 0 0 var(--zk-e-5);
	padding: 0;
	list-style: none;
}

.zk-canales li {
	padding: var(--zk-e-4) 0;
	border-bottom: 1px solid var(--zk-gris-200);
}

.zk-canales__tipo {
	display: block;
	font: 600 var(--zk-t-xs) var(--zk-f-titulos);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--zk-gris-500);
}

.zk .zk-canales a {
	font-size: 1.1rem;
	font-weight: 600;
}

/* ---------- Formulario ---------- */

.zk-form {
	padding: clamp(1.25rem, 0.8rem + 2vw, 2.25rem);
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-200);
	border-radius: var(--zk-r-l);
	box-shadow: var(--zk-sombra-2);
}

.zk-seccion--oscura .zk-form,
.zk-seccion--oscura .zk-form p,
.zk-seccion--oscura .zk-form li {
	color: var(--zk-tinta);
}

.zk .zk-seccion--oscura .zk-form a:not(.zk-btn) {
	color: var(--zk-azul-600);
}

.zk-seccion--oscura .zk-form :focus-visible {
	outline-color: var(--zk-azul-600);
}

.zk-form__rejilla {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--zk-e-4);
}

@media (max-width: 640px) {
	.zk-form__rejilla {
		grid-template-columns: 1fr;
	}
}

.zk-campo {
	display: grid;
	gap: 0.35rem;
	margin-bottom: var(--zk-e-4);
}

.zk-campo label,
.zk-buscar label {
	font-size: var(--zk-t-s);
	font-weight: 600;
}

.zk-opcional {
	font-size: 0.72rem;
	font-weight: 500;
	color: var(--zk-gris-500);
}

.zk-campo input,
.zk-campo select,
.zk-campo textarea,
.zk-buscar input {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.85rem;
	font: inherit;
	font-size: 1rem;
	color: var(--zk-tinta);
	background: var(--zk-blanco);
	border: 1px solid var(--zk-gris-500);
	border-radius: var(--zk-r-s);
	transition: border-color var(--zk-m-rapido), box-shadow var(--zk-m-rapido);
}

.zk-campo textarea {
	resize: vertical;
}

.zk-campo input:hover,
.zk-campo select:hover,
.zk-campo textarea:hover {
	border-color: var(--zk-azul-600);
}

.zk-campo input:focus-visible,
.zk-campo select:focus-visible,
.zk-campo textarea:focus-visible,
.zk-buscar input:focus-visible {
	outline: 0;
	border-color: var(--zk-azul-600);
	box-shadow: 0 0 0 3px rgb(31 59 255 / 0.28);
}

.zk-campo.tiene-error input,
.zk-campo [aria-invalid="true"] {
	border-color: var(--zk-rojo);
}

.zk-campo__error {
	font-size: var(--zk-t-xs);
	font-weight: 600;
	color: var(--zk-rojo);
}

.zk-campo__error:empty {
	display: none;
}

.zk-campo__ayuda {
	font-size: var(--zk-t-xs);
	color: var(--zk-gris-500);
}

.zk-form__tipo .zk-campo__ayuda {
	margin: var(--zk-e-3) 0 0;
}

.zk-form__tipo {
	display: flex;
	flex-wrap: wrap;
	gap: var(--zk-e-2);
}

.zk-form__tipo legend,
.zk-form__tipo .zk-campo__ayuda {
	flex: 0 0 100%;
}

.zk-trampa {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.zk-form__resumen {
	margin-bottom: var(--zk-e-5);
	padding: var(--zk-e-4);
	font-size: var(--zk-t-s);
	background: var(--zk-azul-50);
	border-radius: var(--zk-r-m);
}

.zk-form__resumen pre {
	margin: 0 0 var(--zk-e-3);
	font: 500 var(--zk-t-xs) / 1.7 var(--zk-f-texto);
	white-space: pre-wrap;
}

.zk-form__resumen p:last-child {
	margin: 0;
}

.zk-form__mas {
	margin-bottom: var(--zk-e-5);
	border-block: 1px solid var(--zk-gris-200);
}

.zk-form__mas summary {
	font-size: var(--zk-t-s);
}

.zk-check {
	margin-bottom: var(--zk-e-3);
	font-size: var(--zk-t-s);
}

.zk-check label {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
	cursor: pointer;
}

.zk-check input {
	flex: none;
	width: 1.2rem;
	height: 1.2rem;
	margin: 0.15rem 0 0;
	accent-color: var(--zk-azul-600);
}

.zk-form__enviar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--zk-e-3) var(--zk-e-4);
	margin: var(--zk-e-5) 0 0;
}

.zk-form [aria-busy="true"] {
	opacity: 0.7;
	pointer-events: none;
}

.zk-buscar {
	display: flex;
	gap: var(--zk-e-2);
}

.zk-buscar input {
	flex: 1;
	border-color: var(--zk-gris-300);
	border-radius: var(--zk-r-pill);
	padding-inline: 1.1rem;
}

/* ---------- Aparición al desplazar (solo con JS y sin reducir movimiento) ---------- */

.js .zk-aparece {
	opacity: 0;
	transform: translateY(28px) scale(0.98);
	transition: opacity 700ms var(--zk-m-curva), transform 700ms var(--zk-m-curva);
}

.js .zk-aparece.is-visible {
	opacity: 1;
	transform: none;
}

.zk-sin-movimiento *,
.zk-sin-movimiento *::before,
.zk-sin-movimiento *::after {
	animation-duration: 1ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 1ms !important;
}


/* ==========================================================================
   Movimiento y profundidad
   Todo se detiene con «Pausar movimiento» (clase zk-sin-movimiento).
   ========================================================================== */

@property --zk-ang {
	syntax: "<angle>";
	initial-value: 0deg;
	inherits: false;
}

/* Inclinación 3D con brillo (la activa efectos.js) */
.zk-tilt {
	position: relative;
	transform: perspective(1000px) rotateX(calc(var(--rx0, 0deg) + var(--rx, 0deg) + var(--sx, 0deg))) rotateY(calc(var(--ry0, 0deg) + var(--ry, 0deg))) translateY(var(--ty, 0px));
	transform-style: preserve-3d;
	transition: transform 450ms var(--zk-m-curva), box-shadow 300ms, border-color 300ms, background 300ms;
	will-change: transform;
}

.zk-tilt.is-inclinado {
	--ty: -4px;
	transition: transform 120ms linear, box-shadow 300ms, border-color 300ms, background 300ms;
}

.zk-tilt::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgb(123 144 255 / 0.28), transparent 55%);
	opacity: 0;
	transition: opacity 300ms;
}

.zk-tilt.is-inclinado::after {
	opacity: 1;
}

/* Giro en perspectiva al desplazarse */
.zk-gira:not(.zk-tilt):not(.zk-escena) {
	transform: perspective(1400px) rotateX(var(--sx, 0deg));
	transition: transform 160ms linear;
}

.zk-escena.zk-gira {
	transform: translateY(calc(var(--sy, 0px) * -0.6));
}

.zk-captura__marco,
.zk-video__marco {
	transform-origin: center bottom;
}

/* Orbes de luz que se desplazan en las zonas oscuras */
.zk-seccion--oscura,
.zk-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.zk-hero::after,
.zk-seccion--oscura::before,
.zk-cta::before,
.zk-cabecera::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: -12rem;
	right: -10rem;
	width: 44rem;
	height: 44rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgb(31 59 255 / 0.5), rgb(31 59 255 / 0.12) 45%, transparent 68%);
	pointer-events: none;
	animation: zk-orbe 16s ease-in-out infinite alternate;
}

.zk-seccion--oscura::after,
.zk-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	bottom: -14rem;
	left: -12rem;
	width: 36rem;
	height: 36rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgb(110 90 255 / 0.32), transparent 66%);
	pointer-events: none;
	animation: zk-orbe-2 20s ease-in-out infinite alternate;
}

@keyframes zk-orbe {
	0% {
		transform: translate(0, 0) scale(1);
	}

	50% {
		transform: translate(-16vw, 10rem) scale(1.18);
	}

	100% {
		transform: translate(-30vw, 3rem) scale(0.92);
	}
}

@keyframes zk-orbe-2 {
	0% {
		transform: translate(0, 0) scale(1);
	}

	100% {
		transform: translate(22vw, -12rem) scale(1.25);
	}
}

/* Escena del ecosistema: nodos que flotan, núcleo que late, líneas con flujo */
.zk .zk-escena__nodos a {
	animation: zk-flotar 4.6s ease-in-out infinite;
	animation-delay: calc(var(--i, 0) * -0.66s);
}

.zk-escena__nucleo {
	animation: zk-latido 3.4s ease-in-out infinite;
}

.zk-escena__lineas line {
	animation: zk-linea 1.6s linear infinite;
}

@keyframes zk-flotar {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-7px);
	}
}

@keyframes zk-latido {
	0%,
	100% {
		box-shadow: 0 0 0 1px rgb(123 144 255 / 0.6), 0 0 50px rgb(31 59 255 / 0.65), 0 0 120px rgb(31 59 255 / 0.4);
	}

	50% {
		box-shadow: 0 0 0 2px rgb(160 176 255 / 0.9), 0 0 80px rgb(31 59 255 / 0.95), 0 0 180px rgb(31 59 255 / 0.6);
	}
}

@keyframes zk-linea {
	to {
		stroke-dashoffset: -28;
	}
}

/* Botones: destello al pasar el puntero y pulso en la llamada principal */
.zk .zk-btn,
.zk .wp-block-button__link {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.zk .zk-btn::before,
.zk .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(110deg, transparent 30%, rgb(255 255 255 / 0.38) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform 700ms var(--zk-m-curva);
}

.zk .zk-btn:hover::before,
.zk .wp-block-button__link:hover::before {
	transform: translateX(120%);
}

.zk .zk-hero .wp-block-button:first-child .wp-block-button__link,
.zk .zk-header .zk-btn--primario {
	animation: zk-pulso 2.8s ease-in-out infinite;
}

@keyframes zk-pulso {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgb(31 59 255 / 0.55);
	}

	60% {
		box-shadow: 0 0 0 12px rgb(31 59 255 / 0);
	}
}

/* Números de los problemas con un brillo que recorre el texto */
.zk-problemas > *::before {
	background: linear-gradient(90deg, var(--zk-azul-600), var(--zk-azul-400), #9a7bff, var(--zk-azul-600));
	background-size: 300% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: zk-degradado 5s linear infinite;
}

@keyframes zk-degradado {
	to {
		background-position: 300% 0;
	}
}

/* Plan destacado: borde de luz que gira */
.zk-plan.is-destacado::before {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	padding: 2px;
	background: conic-gradient(from var(--zk-ang), transparent 0 62%, var(--zk-azul-400) 78%, #fff 82%, transparent 92%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	animation: zk-girar 4.5s linear infinite;
}

@keyframes zk-girar {
	to {
		--zk-ang: 360deg;
	}
}

/* Logos de integraciones que flotan en desfase */
.zk-marca__logo {
	animation: zk-flotar 5.5s ease-in-out infinite;
}

.zk-marca:nth-child(2n) .zk-marca__logo {
	animation-delay: -1.4s;
}

.zk-marca:nth-child(3n) .zk-marca__logo {
	animation-delay: -2.8s;
}

/* Maquetas del explorador: barras que crecen y celda de bodega que late */
.zk-explorador__panel.is-activo .zk-mock__barras i {
	animation: zk-crecer 900ms var(--zk-m-curva) both;
	transform-origin: bottom;
}

.zk-mock__barras i:nth-child(2) {
	animation-delay: 60ms;
}

.zk-mock__barras i:nth-child(3) {
	animation-delay: 120ms;
}

.zk-mock__barras i:nth-child(4) {
	animation-delay: 180ms;
}

.zk-mock__barras i:nth-child(5) {
	animation-delay: 240ms;
}

.zk-mock__barras i:nth-child(6) {
	animation-delay: 300ms;
}

.zk-mock__barras i:nth-child(7) {
	animation-delay: 360ms;
}

@keyframes zk-crecer {
	from {
		transform: scaleY(0.1);
	}
}

.zk-mock__rack .es-activo {
	animation: zk-latido-celda 1.6s ease-in-out infinite;
}

@keyframes zk-latido-celda {
	50% {
		background: var(--zk-azul-400);
		box-shadow: 0 0 0 2px #fff, 0 0 28px var(--zk-azul-400);
	}
}

/* Paso activo del flujo: anillo que respira */
.js .zk-flujo.is-listo .zk-flujo__paso.is-activo .zk-flujo__num {
	animation: zk-pulso 2.2s ease-in-out infinite;
}

/* Video: halo que respira alrededor del marco */
.zk-video__marco {
	animation: zk-halo 4s ease-in-out infinite;
}

@keyframes zk-halo {
	50% {
		box-shadow: 0 30px 90px rgb(0 0 0 / 0.5), 0 0 0 1px rgb(123 144 255 / 0.7), 0 0 70px rgb(31 59 255 / 0.45);
	}
}
