/* =========================================================
   TIPOGRAFÍA AUTO-HOSPEDADA
   ========================================================= */

@font-face {
	font-family: 'Roboto';
	src: url('../fonts/Roboto-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../fonts/Roboto-Medium.ttf') format('truetype');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto';
	src: url('../fonts/Roboto-Bold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

/* =========================================================
   MAIN.CSS — Base / Reset
   Estilos globales que aplican en todo el sitio. Los bloques
   (carpeta /blocks/*) sólo deben traer estilos propios de su
   contenido, nunca redefinir estas reglas base.
   ========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

body {
	margin: 0;
	background-color: var(--color-dark);
	color: var(--color-white);
	font-family: var(--font-body);
	font-size: var(--text-md);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img,
svg {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

button {
	font-family: inherit;
	cursor: pointer;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
	font-family: var(--font-display);
	font-weight: 400;
	line-height: 1.1;
	margin-bottom: var(--space-sm);
	letter-spacing: -0.05px;
}

h1, .h1 { font-size: var(--text-2xl); }
h2, .h2 { font-size: var(--text-xl); }
h3, .h3 { font-size: var(--text-xl); }
h4, .h4 { font-size: var(--text-lg); }

p {
	margin-bottom: var(--space-sm);
}

.kl__subtitle { font-size: var(--text-lg); }
.kl-text__body { font-size: var(--text-md);}

.uppercase {
	text-transform: uppercase;
}

/* Layout */
.container {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--space-md);
}

.container-xs {
	max-width: var(--container-xs-max);
	margin-inline: auto;
}

.pb-xs { padding-bottom: var(--space-xs); }
.pb-sm { padding-bottom: var(--space-sm); }
.pb-md { padding-bottom: var(--space-md); }
.pb-lg { padding-bottom: var(--space-lg); }
.pb-xl { padding-bottom: var(--space-xl); }
.pb-2xl { padding-bottom: var(--space-2xl); }
.pb-3xl { padding-bottom: var(--space-3xl); }
.pb-4xl { padding-bottom: var(--space-4xl); }
.pb-5xl { padding-bottom: var(--space-5xl); }

.pt-xs { padding-top: var(--space-xs); }
.pt-sm { padding-top: var(--space-sm); }
.pt-md { padding-top: var(--space-md); }
.pt-lg { padding-top: var(--space-lg); }
.pt-xl { padding-top: var(--space-xl); }
.pt-2xl { padding-top: var(--space-2xl); }
.pt-3xl { padding-top: var(--space-3xl); }
.pt-4xl { padding-top: var(--space-4xl); }	
.pt-5xl { padding-top: var(--space-5xl); }

.py-xs { padding-block: var(--space-xs); }
.py-sm { padding-block: var(--space-sm); }
.py-md { padding-block: var(--space-md); }
.py-lg { padding-block: var(--space-lg); }
.py-xl { padding-block: var(--space-xl); }
.py-2xl { padding-block: var(--space-2xl); }
.py-3xl { padding-block: var(--space-3xl); }
.py-4xl { padding-block: var(--space-4xl); }
.py-5xl { padding-block: var(--space-5xl); }

.mb-xs { margin-bottom: var(--space-xs); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mb-xl { margin-bottom: var(--space-xl); }
.mb-2xl { margin-bottom: var(--space-2xl); }
.mb-3xl { margin-bottom: var(--space-3xl); }
.mb-4xl { margin-bottom: var(--space-4xl); }
.mb-5xl { margin-bottom: var(--space-5xl); }

.mt-xs { margin-top: var(--space-xs); }
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mt-xl { margin-top: var(--space-xl); }
.mt-2xl { margin-top: var(--space-2xl); }
.mt-3xl { margin-top: var(--space-3xl); }
.mt-4xl { margin-top: var(--space-4xl); }
.mt-5xl { margin-top: var(--space-5xl); }

.my-xs { margin-block: var(--space-xs); }
.my-sm { margin-block: var(--space-sm); }
.my-md { margin-block: var(--space-md); }
.my-lg { margin-block: var(--space-lg); }
.my-xl { margin-block: var(--space-xl); }
.my-2xl { margin-block: var(--space-2xl); }
.my-3xl { margin-block: var(--space-3xl); }
.my-4xl { margin-block: var(--space-4xl); }
.my-5xl { margin-block: var(--space-5xl); }

.mx-auto { margin-inline: auto;}
.text-align-center { text-align: center;}

.flex-w {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	justify-content: space-between;
}

.col-1 { width: calc(8.333333% - var(--space-sm));}
.col-2 { width: calc((8.333333% * 2) - var(--space-sm));}
.col-3 { width: calc((8.333333% * 3) - var(--space-sm));}
.col-4 { width: calc((8.333333% * 4) - var(--space-sm));}
.col-5 { width: calc((8.333333% * 5) - var(--space-sm));}
.col-6 { width: calc((8.333333% * 6) - var(--space-sm));}
.col-7 { width: calc((8.333333% * 7) - var(--space-sm));}
.col-8 { width: calc((8.333333% * 8) - var(--space-sm));}
.col-9 { width: calc((8.333333% * 9) - var(--space-sm));}
.col-10 { width: calc((8.333333% * 10) - var(--space-sm));}
.col-11 { width: calc((8.333333% * 11) - var(--space-sm));}
.col-12 { width: 100%;}

.content__img-text {
	flex-direction: row-reverse;
}

.kl-section {
	padding-block: var(--space-2xl);
}

.kl-spacer {
	width: 100%;
	height: var(--space-xl);
	z-index: 1;
	border-radius:3rem 3rem 0% 0%;
}

/* Colores */
.bg-primary { background-color: var(--color-primary); color: var(--color-white); }
.bg-secondary { background-color: var(--color-secondary); color: var(--color-dark); }
.bg-dark { background-color: var(--color-dark); color: var(--color-white); }
.bg-light { background-color: var(--color-light); color: var(--color-dark); }
.bg-white { background-color: var(--color-white); color: var(--color-dark); }

.text-color-primary { color: var(--color-primary); }
.text-color-secondary { color: var(--color-secondary); }
.text-color-dark { color: var(--color-dark); }
.text-color-medium{ opacity: 0.5; }
.text-color-light { color: var(--color-white); }

hr { background-color: var(--color-secondary); height: 1px; border: none; margin-block: var(--space-lg); mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 12.5%, rgb(0, 0, 0) 87.5%, rgba(0, 0, 0, 0) 100%); }

.bg-secondary hr,
.bg-light hr,
.bg-white hr { color: var(--color-primary); }

.kl-bg__blur {
	position: relative;
}
.kl-bg__blur::after {
	content: '';
	position: absolute;
	bottom: 65%;
	left: 45%;
	width: var(--space-3xl);
	height: var(--space-3xl);
	z-index: 0;
	border-radius:50%;
	background-color: var(--color-secondary);
	filter: blur(100px);
	opacity: 0.5;
	transform: translate(-50%, 50%);
}

.bg-secondary.kl-bg__blur::after {
	background-color: var(--color-primary)!important;
}

/* Eyebrow: etiqueta corta encima de un titular de sección */
.kl-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	font-family: var(--font-body);
	font-size: var(--text-xs);
	color: var(--color-white);
	margin-bottom: var(--space-xs);
	padding: var(--space-xs) var(--space-sm);
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-light-soft);
	background: rgba(168, 218, 255, .02); 
   	backdrop-filter: blur(10px); 
    -webkit-backdrop-filter: blur(10px); 
}

.kl-eyebrow .circle {
	height: 8px;
	width: 8px;
	border-radius: 50%;
	background-color: var(--color-secondary);
}

.bg-light .kl-eyebrow,
.bg-secondary .kl-eyebrow,
.bg-white .kl-eyebrow {
	color: var(--color-dark);
	border: 1px solid var(--color-dark-soft);
}

.bg-secondary .kl-eyebrow .circle {
	background-color: var(--color-primary);
}

/* Botones */

.kl-cta__buttons {
	display: flex;
	gap: var(--space-sm);
	margin-top: var(--space-lg);
}

.kl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	padding: var(--space-xs) var(--space-sm);
	border-radius: var(--radius-pill);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: var(--text-sm);
	border: 1px solid transparent;
	transition: transform var(--duration-base) var(--ease-standard),
		box-shadow var(--duration-base) var(--ease-standard);
}

.kl-btn-xl {
	width: 100%;
	text-align: center;
}

.kl-btn:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 3px;
}

.kl-btn:hover {
	transform: translateY(-1px);
}

/* Sobre fondo claro: CTA principal usa --color-primary */
.kl-btn--primary {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.kl-btn--primary:hover {
	box-shadow: var(--shadow-card-hover);
}

/* Sobre fondo oscuro: CTA principal usa el verde neón */
.bg-primary .kl-btn--primary,
.bg-secondary .kl-btn--primary,
.bg-dark .kl-btn--primary {
	background-color: var(--color-white);
	color: var(--color-dark);
}

.kl-btn--secondary {
	background-color: transparent;
	color: var(--color-dark);
	border-color: var(--color-dark);
}

.bg-primary .kl-btn--secondary,
.bg-secondary .kl-btn--secondary,
.bg-dark .kl-btn--secondary {
	color: var(--color-white);
	border-color: var(--color-white);
}

/* =========================================================
   HEADER
   ========================================================= */
.kl-header {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 999;
	transition: all .42s var(--ease-standard);
	/* background: rgba(168, 218, 255, .02); */
   	/* backdrop-filter: blur(10px); */
    /* -webkit-backdrop-filter: blur(10px); */
}

.kl-header.is-sticky {
    background-color: rgba(8, 12, 13, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 1px 12px rgba(0, 0, 0, 0.2);
}

.kl-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	padding-block: var(--space-sm);
}

.kl-header.is-sticky .kl-header__inner {
	padding-block: var(--space-xs);
}

.kl-header__site-name {
	font-family: var(--font-display);
	font-size: var(--text-lg);
	font-weight: 600;
}

.kl-header__brand .kl-header__brand-link {
	display: flex;
	align-items: center;
}

.kl-header__brand .kl-header__brand-logo {
	display: block;
	width: auto;
	height: 32px;
	max-width: 220px;
	object-fit: contain;
}

.kl-header__nav {
	display: flex;
	gap: var(--space-md);
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--text-sm);
	font-weight: 500;
}

.kl-header__menu {
	display: flex;
	gap: var(--space-md);
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--text-sm);
	font-weight: 500;
}

.kl-header__menu a {
	color: var(--color-white);
	transition: color var(--duration-base) var(--ease-standard);
}

.kl-header__menu a:hover {
	color: var(--color-secondary);
}

.kl-header__cta .kl-btn.kl-btn--link{
	color: var(--color-white);
}
.kl-header__cta .kl-btn.kl-btn--primary{
	color: var(--color-dark);
	background-color: var(--color-white);
	padding: var(--space-xs) var(--space-sm);
	border-radius: var(--radius-pill);
}

/* CTA duplicado dentro del panel de nav móvil: oculto en desktop */
.kl-header__nav-cta {
	display: none;
}

/* ── Botón hamburguesa ───────────────────────────────────── */
.kl-header__toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	z-index: 1001;
}

.kl-header__toggle-bar {
	display: block;
	width: 24px;
	height: 2px;
	background-color: var(--color-white);
	border-radius: var(--radius-pill);
	transition:
		transform var(--duration-base) var(--ease-standard),
		opacity var(--duration-base) var(--ease-standard);
}

/* Transformación a "X" cuando el menú está abierto */
.kl-header__toggle[aria-expanded="true"] .kl-header__toggle-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.kl-header__toggle[aria-expanded="true"] .kl-header__toggle-bar:nth-child(2) {
	opacity: 0;
}
.kl-header__toggle[aria-expanded="true"] .kl-header__toggle-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* =========================================================
   HERO
========================================================= */
.kl-hero {
	padding-top: var(--space-2xl);
	position: relative;
}

.kl-hero.content__image:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.7));
	z-index: 1;
}

.kl-hero.content__image:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: var(--space-xl);
	z-index: 1;
	border-radius:3rem 3rem 0% 0%;
}

.kl-hero.bg-dark.content__image:after {
	background-color: var(--color-dark);
}

.kl-hero__image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.kl-hero__content {
	position: relative;
	z-index: 1;
}

.kl-hero__title {
	margin-top: var(--space-xs);
}

.kl-hero__subtitle {
	font-size: var(--text-lg);
	max-width: 480px;
}

.kl-hero__cta {
	display: flex;
	gap: var(--space-sm);
	margin-top: var(--space-md);
}

.kl-hero__disclaimer { opacity: 0.5; display: block;}

/* =========================================================
   INICIO
========================================================= */
/* Section clientes carrusel */
.kl-clients { overflow: hidden; }

.kl-clients .ticker-outer {
	padding-bottom: var(--space-md);
	border-bottom: 1px solid var(--color-light-soft);
}

.kl-clients .ticker-item img {
	height: 100px;
	width: auto;
	object-fit: contain;
	filter: invert(100%);
}

.card__post .kl-img { 
	border-radius: var(--radius-md);
	aspect-ratio: 26/17;
	object-fit: cover;
}
.card__post .kl-title { font-size: var(--text-lg);}
.card__post .kl-excerpt{ opacity: 0.5;}

.kl-functions .content__text {
	padding: var(--space-xl) var(--space-xl);
	border-radius: var(--radius-md);
}

.kl-functions .content__text.kl-bg__blur:after {
	bottom:33%;
	left: 15%;
}


.kl-functions .content__img img {
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: var(--radius-md);
}

.kl-functions__lead {
	max-width: var(--container-xs-max);
	font-size: var(--text-md);
	opacity: 0.7;
}

/* ── Grid de funciones secundarias (compactas, sin imagen) ── */
.kl-functions__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-md);
	margin-top: var(--space-xl);
}

.kl-functions__grid-item {
	padding: var(--space-lg) var(--space-md);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-medium);
}

/* El glow decorativo queda desactivado en estas cards: a este tamaño
   resultaría desproporcionado frente a las cards grandes de arriba. */
.kl-functions__grid-item.kl-bg__blur::after {
	content: none;
}

.kl-functions__grid-title {
	font-size: var(--text-lg);
	font-weight: 500;
	margin-bottom: var(--space-xs);
}

.kl-functions__grid-text {
	font-size: var(--text-sm);
	opacity: 0.7;
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.kl-functions__grid {
		grid-template-columns: 1fr;
	}
}

.kl-onboarding.kl-bg__blur::after {
	left: 20%;
	bottom: 65%;
}

.kl-onboarding ol.kl-onboarding__items {
	list-style-type: decimal-leading-zero;
}
.kl-onboarding ol.kl-onboarding__items li {
	padding-block: var(--space-sm);
	border-bottom: 1px solid var(--color-light);
	transition: opacity var(--duration-base) var(--ease-standard);
	opacity: 0.55;
}

.kl-onboarding ol.kl-onboarding__items li::marker {
	color: var(--color-secondary);
	font-size: var(--text-xl);
}

/* La descripción de cada paso se revela cuando es el paso activo
   (detectado en scroll por scroll-animations.js) o al pasar el ratón */
.kl-onboarding ol.kl-onboarding__items li .content__description {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition:
		max-height var(--duration-base) var(--ease-standard),
		opacity var(--duration-base) var(--ease-standard);
}

.kl-onboarding ol.kl-onboarding__items li:hover,
.kl-onboarding ol.kl-onboarding__items li.kl-onboarding__item--active {
	opacity: 1;
}

.kl-onboarding ol.kl-onboarding__items li:hover .content__description,
.kl-onboarding ol.kl-onboarding__items li.kl-onboarding__item--active .content__description {
	max-height: 200px;
	opacity: 1;
	margin-top: var(--space-xs);
}

.grid-row-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-sm);
	position: sticky;
	top: var(--space-2xl);
	align-self: flex-start;
}

@media (max-width: 768px) {
	.grid-row-2 {
		position: static;
	}
}

.content-grid__img { position: relative;}

.content-grid__img img{
    position: absolute;
	aspect-ratio: 4/5;
	object-fit: cover;
	border-radius: var(--radius-md);
    opacity: 0;
    z-index: -1;
    transition: opacity .42s var(--ease-standard);
}

.kl-onboarding:has(#item_1:hover) .content-img__item-1,
.kl-onboarding:has(#item_2:hover) .content-img__item-2,
.kl-onboarding:has(#item_3:hover) .content-img__item-3{
    opacity: 1;
    z-index: 1;
}

/* El paso activo por scroll también controla qué imagen se ve,
   para que el efecto funcione igual en táctil/mobile sin hover */
.kl-onboarding:has(#item_1.kl-onboarding__item--active) .content-img__item-1,
.kl-onboarding:has(#item_2.kl-onboarding__item--active) .content-img__item-2,
.kl-onboarding:has(#item_3.kl-onboarding__item--active) .content-img__item-3{
    opacity: 1;
    z-index: 1;
}

/* Estado por defecto */
.kl-onboarding:not(:has(.kl-onboarding__item:hover)):not(:has(.kl-onboarding__item--active)) .content-img__item-1{
    opacity: 1;
    z-index: 1;
}

.kl-reviews .card {
	padding: var(--space-lg) var(--space-md);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-light-soft);
	background: rgba(168, 218, 255, .02);
   	backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.kl-reviews .card .separador {
	width: 100%;
	max-width: 48px;
	height: 1px;
	background-color: var(--color-secondary);
	margin-inline: auto;
	margin-bottom: var(--space-sm);
	mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 12.5%, rgb(0, 0, 0) 87.5%, rgba(0, 0, 0, 0) 100%);
}

/* ── Slider de testimonios ───────────────────────────────── */
.kl-reviews-slider {
	position: relative;
	overflow: hidden;
}

.kl-reviews-slider__track {
	display: flex;
	gap: var(--space-sm);
	transition: transform var(--duration-base) var(--ease-standard);
	will-change: transform;
}

.kl-reviews-slider .kl-card__review {
	flex: 0 0 calc(33.333% - var(--space-sm));
	min-width: 0;
}

.kl-reviews-slider__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-md);
	margin-top: var(--space-lg);
}

.kl-reviews-slider__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--color-light-soft);
	background-color: transparent;
	color: var(--color-white);
	font-size: var(--text-xl);
	line-height: 1;
	cursor: pointer;
	transition: background-color var(--duration-base) var(--ease-standard);
}

.kl-reviews-slider__btn:hover:not(:disabled) {
	background-color: var(--color-secondary);
	color: var(--color-primary);
}

.kl-reviews-slider__btn:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.kl-reviews-slider__dots {
	display: flex;
	gap: var(--space-xs);
}

.kl-reviews-slider__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: var(--color-light-soft);
	cursor: pointer;
	transition: background-color var(--duration-base) var(--ease-standard);
}

.kl-reviews-slider__dot.is-active {
	background-color: var(--color-secondary);
}

@media (max-width: 979px) {
	.kl-reviews-slider .kl-card__review {
		flex: 0 0 calc(50% - var(--space-sm));
	}
}

@media (max-width: 767px) {
	.kl-reviews-slider .kl-card__review {
		flex: 0 0 100%;
	}
}

.kl-reviews .kl-card__review {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: var(--space-lg) var(--space-md);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-light-soft);
}

.kl-reviews .kl-card__review .stars {
	display: inline-flex;
	gap: 2px;
	color: var(--color-secondary);
}

.kl-reviews .kl-card__review .stars .dashicons {
	width: 1em;
	height: 1em;
	font-size: var(--text-md);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.kl-reviews .kl-card__review .meta-review {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	margin-top: var(--space-md);
}

.kl-reviews .kl-card__review .kl-review__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: var(--color-secondary);
	color: var(--color-primary);
	font-family: var(--font-display);
	font-size: var(--text-sm);
	font-weight: 600;
	letter-spacing: 0.02em;
}

.kl-reviews .kl-card__review .meta-review__text {
	min-width: 0;
}

.kl-reviews .kl-card__review .kl-review__name { margin-block: 0px; font-size: var(--text-md);}
.kl-reviews .kl-card__review .kl-review__pro { margin-block: 0px; opacity: 0.7; font-size: var(--text-sm); }

.kl-card__pricing {
	border-radius: var(--radius-md);
	border: 1px solid var(--color-dark-soft);
	padding: var(--space-lg) var(--space-lg);
}

/* ── Toggle Autónomos / Pymes ────────────────────────────── */
.kl-pricing__toggle {
	display: flex;
	justify-content: center;
	gap: var(--space-xs);
	margin-top: var(--space-md);
	padding: calc(var(--space-xs) / 2);
	width: fit-content;
	margin-inline: auto;
	border-radius: var(--radius-pill);
	border: 1px solid var(--color-primary);
}

.kl-pricing__toggle-btn {
	padding: var(--space-xs) var(--space-md);
	border: none;
	border-radius: var(--radius-pill);
	background-color: transparent;
	color: var(--color-dark);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: 500;
	cursor: pointer;
	transition: background-color var(--duration-base) var(--ease-standard),
		color var(--duration-base) var(--ease-standard);
}

.kl-pricing__toggle-btn.is-active {
	background-color: var(--color-primary);
	color: var(--color-white);
}

.kl-card__pricing .card-header .featured {
	position: absolute;
	top: var(--space-sm);
	right: var(--space-sm);
	padding: var(--space-xs) var(--space-sm);
	background-color: var(--color-secondary);
	color: var(--color-primary);
	border-radius: var(--radius-lg);
	font-size: var(--text-xs);
	line-height: 100%;
}
.kl-card__pricing .price {
	font-weight: 600;
}
.kl-card__pricing .price span:first-child {
	font-size: var(--text-3xl);
}
.kl-card__pricing .claim {
	font-size: var(--text-xs);
	margin-top: var(--space-xs);	
}

.kl-card__pricing .card-price-list {
	padding-left: 0px;
}

.kl-card__pricing .card-price-list li {
	list-style: none;
	padding-bottom: var(--space-xs);
}
.kl-card__pricing .card-price-list li:before {
	content: "\f15e";
	font-family: dashicons;
	font-size: var(--text-md);
	line-height: 1;
	vertical-align: middle;
	margin-right: var(--space-xs);
	color: var(--color-secondary);
}

.kl-card__pricing .card-price-list li.disable {
	opacity: 0.5;
}

.kl-card__pricing .card-price-list li.disable:before {
	content: "\f335";
	font-family: dashicons;
	font-size: var(--text-md);
	line-height: 1;
	vertical-align: middle;
	margin-right: var(--space-xs);
	color: var(--color-medium);
}

.kl-cta__content {
	text-align: center;
	position: relative;
	z-index: 1;
}

.kl-cta .kl-cta__buttons {
	justify-content: center;
}

.kl-cta__disclaimer { 
	opacity: 0.5; 
	margin-top: var(--space-sm); 
	display: block;
	text-align: center;
}

.kl-faq .kl-faq__item {
	padding-block: var(--space-md);
	border-bottom: 1px solid var(--color-light);
}
.kl-faq .kl-faq__item:last-child {
	border-bottom: none;
}

.kl-faq .kl-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	cursor: pointer;
	font-family: var(--font-display);
	font-size: var(--text-lg);
	font-weight: 500;
	list-style: none;
}

/* Ocultar el marcador triangular nativo del navegador */
.kl-faq .kl-faq__item summary::-webkit-details-marker {
	display: none;
}

/* Icono +/− propio */
.kl-faq .kl-faq__item summary::after {
	content: '+';
	flex-shrink: 0;
	font-size: var(--text-xl);
	font-weight: 400;
	color: var(--color-secondary);
	transition: transform var(--duration-base) var(--ease-standard);
}

.kl-faq .kl-faq__item[open] summary::after {
	content: '−';
}

.kl-faq .kl-faq__item p {
	margin-top: var(--space-sm);
	margin-bottom: 0;
	padding-right: var(--space-lg);
	opacity: 0.75;
	font-size: var(--text-sm);
}

/* Animación de apertura suave */
.kl-faq .kl-faq__item p {
	animation: kl-faq-reveal 0.25s var(--ease-standard);
}

@keyframes kl-faq-reveal {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 0.75; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.kl-faq .kl-faq__item p {
		animation: none;
	}
}

@media (min-width: 768px)	{}
@media (min-width: 980px)	{
	h1, .h1 { font-size: var(--text-3xl); }
	h2, .h2 { font-size: var(--text-2xl); }
	h3, .h3 { font-size: var(--text-xl); }
	h4, .h4 { font-size: var(--text-lg); }

	.col-md-1 { width: calc(8.333333% - var(--space-sm));}
	.col-md-2 { width: calc((8.333333% * 2) - var(--space-sm));}
	.col-md-3 { width: calc((8.333333% * 3) - var(--space-sm));}
	.col-md-4 { width: calc((8.333333% * 4) - var(--space-sm));}
	.col-md-5 { width: calc((8.333333% * 5) - var(--space-sm));}
	.col-md-6 { width: calc((8.333333% * 6) - var(--space-sm));}
	.col-md-7 { width: calc((8.333333% * 7) - var(--space-sm));}
	.col-md-8 { width: calc((8.333333% * 8) - var(--space-sm));}
	.col-md-9 { width: calc((8.333333% * 9) - var(--space-sm));}
	.col-md-10 { width: calc((8.333333% * 10) - var(--space-sm));}
	.col-md-11 { width: calc((8.333333% * 11) - var(--space-sm));}
	.col-md-12 { width: 100%;}
}
@media (min-width: 1024px)	{
	h1, .h1 { font-size: var(--text-4xl); }
	h2, .h2 { font-size: var(--text-3xl); }
	h3, .h3 { font-size: var(--text-2xl); }
	h4, .h4 { font-size: var(--text-xl); }
}
@media (min-width: 1200px)	{}

@media (max-width: 768px) 	{
	.kl-header__toggle {
		display: flex;
	}

	.kl-header__nav {
		position: fixed;
		inset: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: var(--space-lg);
		width: 100%;
		height: 100vh;
		background-color: var(--color-dark);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition:
			opacity var(--duration-base) var(--ease-standard),
			visibility var(--duration-base) var(--ease-standard);
		z-index: 1000;
	}

	.kl-header__nav.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.kl-header__menu {
		flex-direction: column;
		align-items: center;
		gap: var(--space-md);
		font-size: var(--text-xl);
	}

	.kl-header__nav-cta {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: var(--space-sm);
	}

	.kl-header__nav-cta .kl-btn--primary {
		color: var(--color-dark);
		background-color: var(--color-white);
		padding: var(--space-xs) var(--space-md);
		border-radius: var(--radius-pill);
	}

	/* El CTA de escritorio se oculta: su versión vive dentro del panel móvil */
	.kl-header__cta {
		display: none;
	}

	/* Bloquea el scroll del body mientras el panel está abierto (clase añadida por JS) */
	body.kl-menu-open {
		overflow: hidden;
	}
}

/* =========================================================
   FOOTER — Widgets configurables (1 a 5 columnas)
   El número de columnas se elige en el Personalizador
   (Apariencia → Personalizar → Footer) y el contenido se
   rellena desde Apariencia → Widgets.
   ========================================================= */
.kl-footer {
	padding: var(--space-xl) 0 var(--space-lg);
	background-color: var(--color-primary);
	color: var(--color-light-soft);
}

.kl-footer-widgets {
	display: grid;
	gap: var(--space-lg);
	padding-bottom: var(--space-lg);
	margin-bottom: var(--space-lg);
	border-bottom: 1px solid var(--color-medium);
}

.kl-footer-widgets--cols-1 { grid-template-columns: 1fr; }
.kl-footer-widgets--cols-2 { grid-template-columns: repeat(2, 1fr); }
.kl-footer-widgets--cols-3 { grid-template-columns: repeat(3, 1fr); }
.kl-footer-widgets--cols-4 { grid-template-columns: repeat(4, 1fr); }
.kl-footer-widgets--cols-5 { grid-template-columns: repeat(5, 1fr); }

.kl-footer-widget__title {
	margin-bottom: var(--space-sm);
	font-size: var(--text-md);
	color: var(--color-white);
}

.kl-footer-widgets__col ul {
	list-style: none;
	padding-left: 0;
}

.kl-footer-widgets__col li {
	margin-bottom: var(--space-xs);
}

.kl-footer-widgets__col a {
	color: var(--color-light-soft);
	text-decoration: none;
}

.kl-footer-widgets__col a:hover {
	color: var(--color-secondary);
}

@media (max-width: 979px) {
	.kl-footer-widgets--cols-4,
	.kl-footer-widgets--cols-5 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.kl-footer-widgets--cols-2,
	.kl-footer-widgets--cols-3,
	.kl-footer-widgets--cols-4,
	.kl-footer-widgets--cols-5 {
		grid-template-columns: 1fr;
	}
}