/*! KZMentor Footer — minimal, responsive */
.kz-footer {
	--kz-footer-bg: var(--kz-footer-bg, color-mix(in srgb, var(--kz-text, #0a0a0a) 4%, var(--kz-bg, #fff)));
	--kz-footer-text: var(--kz-footer-text, var(--kz-text, #0a0a0a));
	--kz-footer-muted: var(--kz-footer-muted, var(--kz-muted, #666));
	--kz-footer-border: var(--kz-footer-border, var(--kz-border, #e5e7eb));
	margin-top: clamp(2rem, 6vw, 4rem);
	background: var(--kz-footer-bg);
	color: var(--kz-footer-text);
	border-top: 1px solid var(--kz-footer-border);
	padding-bottom: env(safe-area-inset-bottom, 0);
}

.kz-footer--themed { /* cuando el integrador define un bg explícito */
	color: var(--kz-footer-text);
}

.kz-footer__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem 2rem;
	align-items: center;
	padding-block: clamp(1.25rem, 4vw, 2rem);
	max-width: var(--kz-container, 1280px);
	margin-inline: auto;
	padding-inline: clamp(1rem, 2vw, 1.75rem);
}

.kz-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.kz-footer__brand img,
.kz-footer__brand .custom-logo { max-height: 2.5rem; width: auto; }
.kz-footer__name {
	margin: 0;
	font-weight: 800;
	font-size: 1.125rem;
}
.kz-footer__tag {
	margin: 0;
	color: var(--kz-footer-muted);
	font-size: 0.875rem;
	max-width: 38ch;
}

.kz-footer__nav {
	min-width: 0;
}
.kz-footer__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.kz-footer__menu a {
	display: inline-block;
	padding: 0.375rem 0;
	color: var(--kz-footer-text);
	text-decoration: none;
	font-size: 0.9375rem;
	border-bottom: 1.5px solid transparent;
	transition: border-color .2s, color .2s;
}
.kz-footer__menu a:hover { border-bottom-color: currentColor; }

.kz-footer__socials {
	display: inline-flex;
	gap: 0.375rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.kz-footer__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	background: color-mix(in srgb, var(--kz-footer-text) 6%, transparent);
	color: var(--kz-footer-text);
	border-radius: 999px;
	transition: background .2s, transform .2s;
}
.kz-footer__socials a:hover {
	background: var(--kze-accent, var(--kz-link, #6366f1));
	color: var(--kz-auto-on-accent, #fff);
	transform: translateY(-1px);
}
.kz-footer__socials a:focus-visible {
	outline: 2px solid var(--kze-accent, var(--kz-link, #6366f1));
	outline-offset: 2px;
}

.kz-footer__bottom {
	border-top: 1px solid var(--kz-footer-border);
	max-width: var(--kz-container, 1280px);
	margin-inline: auto;
	padding: 0.875rem clamp(1rem, 2vw, 1.75rem);
}
.kz-footer__copy {
	margin: 0;
	color: var(--kz-footer-muted);
	font-size: 0.8125rem;
	text-align: center;
}

/* tablet+ */
@media (min-width: 640px) {
	.kz-footer__inner {
		grid-template-columns: 1fr auto auto;
		gap: 1rem 2rem;
	}
	.kz-footer__copy { text-align: left; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce) {
	.kz-footer__socials a,
	.kz-footer__menu a {
		transition-duration: 0.01ms !important;
	}
}
