/* Cabecera (boton «Escaner gratis») y footer de zeyvro.com.
   1.2.0 · 2026-10-27 · pasos V6.4 y V6.5. Norma: DESIGN.md del tema (tokens §2, componentes §3,
   lista negra §4). Solo se usan tokens de DESIGN.md §2; contrastes medidos en §2.1. */

.zv-hbtn-wrap,
.zv-footer {
	--zv-bg: #FFFFFF;
	--zv-bg-alt: #F8FAFC;
	--zv-border: #E2E8F0;
	--zv-ink: #0F172A;
	--zv-ink-2: #475569;
	--zv-ink-muted: #64748B;
	--zv-accent: #4F46E5;
	--zv-accent-hover: #4338CA;
	--zv-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------- Cabecera: boton primario (DESIGN §3.1 y §3.4) ----------
   Blanco sobre #4F46E5 6,29:1; hover blanco sobre #4338CA 7,90:1 (oscurece, nunca aclara). */
.zv-hbtn-wrap {
	display: flex;
	align-items: center;
	margin-left: 12px;
}

.site-header .zv-hbtn,
.site-header .zv-hbtn:visited {
	display: inline-block;
	padding: 11px 18px;
	border-radius: 10px;
	background: var(--zv-accent);
	color: #FFFFFF;
	font-family: var(--zv-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s;
}

.site-header .zv-hbtn:hover,
.site-header .zv-hbtn:focus-visible {
	background: var(--zv-accent-hover);
	color: #FFFFFF;
	text-decoration: none;
}

.site-header .zv-hbtn:focus-visible {
	outline: 2px solid var(--zv-accent);
	outline-offset: 2px;
}

/* Movil: logo a 118 × 27 (DESIGN §3.1) para que logo + hamburguesa + boton quepan en 375 px
   sin scroll horizontal (P7). */
@media (max-width: 640px) {
	.zv-hbtn-wrap {
		margin-left: 8px;
	}

	.site-header .zv-hbtn,
	.site-header .zv-hbtn:visited {
		padding: 10px 12px;
		font-size: 13px;
	}

	#ast-mobile-header .custom-logo-link img {
		width: 118px;
		max-width: 118px;
		height: auto;
	}
}

/* ---------- Footer (referencia V6-5) ----------
   Fondo claro --zv-bg-alt, borde superior 1 px. Pares: titulos #0F172A/#F8FAFC 17,06 ·
   enlaces #475569/#F8FAFC 7,24 · hover #4338CA/#F8FAFC 7,55 · copyright y «Proximamente»
   #64748B/#F8FAFC 4,55 · caja CTA: titular #0F172A/#FFFFFF 17,85, enlace #4F46E5/#FFFFFF 6,29. */
.zv-footer {
	background: var(--zv-bg-alt);
	border-top: 1px solid var(--zv-border);
	color: var(--zv-ink-2);
	font-family: var(--zv-font);
	font-size: 15px;
	line-height: 1.6;
}

.zv-footer__wrap {
	max-width: 1120px;
	margin: 0 auto;
	padding: 72px 24px 0;
}

.zv-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.zv-footer p {
	margin: 0;
}

.zv-footer a:focus-visible {
	outline: 2px solid var(--zv-accent);
	outline-offset: 2px;
}

/* Banda 1 · CTA final: caja blanca, borde 1 px, radio 12 (DESIGN §3.5 simplificado) */
.zv-footer__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 36px;
	padding: 36px;
	background: var(--zv-bg);
	border: 1px solid var(--zv-border);
	border-radius: 12px;
}

.zv-footer__cta-titulo {
	color: var(--zv-ink);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}

.zv-footer__cta-acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.zv-footer a.zv-footer__btn,
.zv-footer a.zv-footer__btn:visited {
	display: inline-block;
	padding: 13px 22px;
	border-radius: 10px;
	background: var(--zv-accent);
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background .15s;
}

.zv-footer a.zv-footer__btn:hover,
.zv-footer a.zv-footer__btn:focus-visible {
	background: var(--zv-accent-hover);
	color: #FFFFFF;
	text-decoration: none;
}

.zv-footer a.zv-footer__cta-sec,
.zv-footer a.zv-footer__cta-sec:visited {
	color: var(--zv-accent);
	font-weight: 600;
	text-decoration: none;
}

.zv-footer a.zv-footer__cta-sec:hover,
.zv-footer a.zv-footer__cta-sec:focus-visible {
	color: var(--zv-accent-hover);
	text-decoration: underline;
}

/* Banda 2 · 4 columnas → 2 a ≤ 900 px → 1 a ≤ 640 px */
.zv-footer__rejilla {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 36px 24px;
	padding: 52px 0;
}

.zv-footer__titulo {
	margin: 0 0 12px;
	color: var(--zv-ink);
	font-size: 15px;
	font-weight: 600;
}

.zv-footer__col li + li {
	margin-top: 6px;
}

.zv-footer__col a,
.zv-footer__col a:visited,
.zv-footer__idioma a,
.zv-footer__idioma a:visited {
	color: var(--zv-ink-2);
	font-weight: 400;
	text-decoration: none;
}

.zv-footer__col a:hover,
.zv-footer__col a:focus-visible,
.zv-footer__idioma a:hover,
.zv-footer__idioma a:focus-visible {
	color: var(--zv-accent-hover);
	text-decoration: underline;
}

.zv-footer__marca {
	color: var(--zv-ink-muted);
	font-size: 13px;
}

/* Banda 4 · barra inferior: logo PNG tal cual · © · ES/EN */
.zv-footer__barra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 24px 0;
	border-top: 1px solid var(--zv-border);
}

.zv-footer__logo {
	display: inline-flex;
	line-height: 0;
}

.zv-footer__logo img {
	width: 150px;
	height: auto;
}

.zv-footer__copy {
	color: var(--zv-ink-muted);
	font-size: 13px;
}

.zv-footer__idioma {
	display: flex;
	gap: 12px;
	font-size: 13px;
}

.zv-footer__idioma a[aria-current] {
	color: var(--zv-ink);
	font-weight: 600;
}

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

@media (max-width: 640px) {
	.zv-footer__wrap {
		padding: 52px 16px 0;
	}

	.zv-footer__cta {
		padding: 22px 18px;
	}

	.zv-footer__cta-acciones {
		width: 100%;
	}

	.zv-footer a.zv-footer__btn {
		width: 100%;
		text-align: center;
	}

	.zv-footer__rejilla {
		grid-template-columns: minmax(0, 1fr);
	}

	.zv-footer__logo img {
		width: 118px;
	}
}
