/**
 * Qivox sitewide footer.
 *
 * Dark surface bookending the white header at the bottom of every page:
 * brand (logo + per-sede CUIT legal list), three link columns (Navegación /
 * Institucional / Conócenos — social icons, then the phone below them,
 * muted like the other footer text), then a quiet copyright bar. Tokens
 * only. See DESIGN.md.
 */

.qx-footer {
	width: 100%;
	background: var(--qx-bg-dark);
	color: var(--qx-text-on-dark);
}

.qx-footer__top {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--qx-space-7);
	padding-block: var(--qx-space-8);
}

@media (min-width: 768px) {
	.qx-footer__top {
		grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
		gap: var(--qx-space-6);
	}
}

.qx-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--qx-space-4);
}

.qx-footer__logo-link {
	display: block;
	line-height: 0;
}

.qx-footer__logo {
	display: block;
	width: 150px;
	height: auto;
}

.qx-footer__legal {
	display: flex;
	flex-direction: column;
	gap: var(--qx-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--qx-fs-eyebrow);
	text-align: left;
	color: var(--qx-text-muted-on-dark);
}

.qx-footer__phone {
	display: inline-flex;
	align-items: center;
	gap: var(--qx-space-2);
	margin-top: var(--qx-space-4);
	font-size: var(--qx-fs-body);
	font-weight: var(--qx-fw-medium);
	color: var(--qx-text-muted-on-dark);
	text-decoration: none;
	transition: color var(--qx-dur) var(--qx-ease);
}

.qx-footer__phone svg {
	width: 1.05rem;
	height: 1.05rem;
	flex-shrink: 0;
	stroke: currentColor;
	fill: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.qx-footer__phone:hover,
.qx-footer__phone:focus-visible {
	color: var(--qx-text-on-dark);
}

.qx-footer__col-title {
	margin: 0 0 var(--qx-space-4);
	font-size: var(--qx-fs-small);
	font-weight: var(--qx-fw-bold);
	letter-spacing: var(--qx-ls-eyebrow);
	text-transform: uppercase;
	color: var(--qx-yellow);
}

.qx-footer__links {
	display: flex;
	flex-direction: column;
	gap: var(--qx-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.qx-footer__links a {
	font-size: var(--qx-fs-small);
	color: var(--qx-text-muted-on-dark);
	text-decoration: none;
	transition: color var(--qx-dur) var(--qx-ease);
}

.qx-footer__links a:hover,
.qx-footer__links a:focus-visible {
	color: var(--qx-text-on-dark);
}

.qx-footer__social {
	display: flex;
	gap: var(--qx-space-3);
}

.qx-footer__social-link {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	background: var(--qx-ink-800);
	border: 1px solid var(--qx-border-dark);
	border-radius: var(--qx-radius-pill);
	color: var(--qx-text-on-dark);
	transition: background-color var(--qx-dur) var(--qx-ease), color var(--qx-dur) var(--qx-ease);
}

.qx-footer__social-link:hover,
.qx-footer__social-link:focus-visible {
	background: var(--qx-yellow);
	color: var(--qx-ink);
}

.qx-footer__social-link svg {
	width: 1.15rem;
	height: 1.15rem;
	stroke: currentColor;
	fill: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.qx-footer__bottom {
	padding-block: var(--qx-space-5);
	border-top: 1px solid var(--qx-border-dark);
}

.qx-footer__copy {
	margin: 0;
	font-size: var(--qx-fs-small);
	text-align: center;
	color: var(--qx-text-muted-on-dark);
}

.qx-footer__copy a {
	color: inherit;
	text-decoration: underline;
	transition: color var(--qx-dur) var(--qx-ease);
}

.qx-footer__copy a:hover,
.qx-footer__copy a:focus-visible {
	color: var(--qx-yellow);
}
