.gv-footer {
	background: var(--gv-color-dark);
	color: var(--gv-color-text-on-dark);
	padding: var(--gv-space-4) 0 var(--gv-space-2);
}

.gv-footer__columns {
	display: grid;
	gap: var(--gv-space-3);
	grid-template-columns: 1fr;
	padding-bottom: var(--gv-space-3);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.gv-footer__col-title {
	color: var(--gv-color-text-on-dark);
	font-size: 1rem;
	margin-bottom: var(--gv-space-2);
}

.gv-footer__logo {
	display: inline-block;
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--gv-color-text-on-dark);
	margin-bottom: var(--gv-space-1);
}

.gv-footer__claim {
	color: var(--gv-color-text-muted-on-dark);
	margin: 0;
}

.gv-footer__list {
	display: flex;
	flex-direction: column;
	gap: var(--gv-space-1);
	margin-bottom: var(--gv-space-2);
}

.gv-footer__list a,
.gv-footer__menu a {
	color: var(--gv-color-text-muted-on-dark);
}

.gv-footer__menu {
	display: flex;
	flex-direction: column;
	gap: var(--gv-space-1);
}

.gv-footer__logo-link {
	display: inline-block;
	margin-bottom: var(--gv-space-1);
}

.gv-footer__logo-img {
	max-height: 40px;
	width: auto;
}

.gv-footer__name {
	color: var(--gv-color-text-on-dark);
	font-weight: 700;
	margin: 0;
}

.gv-footer__role {
	color: var(--gv-color-text-muted-on-dark);
	font-size: 0.9rem;
	margin: var(--gv-space-1) 0 0;
}

.gv-footer__address {
	color: var(--gv-color-text-muted-on-dark);
	font-size: 0.9rem;
	margin: 0 0 var(--gv-space-2);
}

.gv-footer__rrss {
	display: flex;
	gap: var(--gv-space-1);
	margin-top: var(--gv-space-2);
}

.gv-footer__rrss-link {
	display: inline-flex;
	align-items: center;
	color: var(--gv-color-text-muted-on-dark);
	transition: color 0.2s ease;
	filter: grayscale(1);
}

.gv-footer__rrss-link svg {
	width: 20px;
	height: 20px;
}

.gv-footer__rrss-link:hover {
	color: var(--gv-color-text-on-dark);
}

.gv-footer__copy {
	color: var(--gv-color-text-muted-on-dark);
	margin: var(--gv-space-2) 0 0;
	font-size: 0.85rem;
	text-align: center;
}

.gv-footer__publicidad {
	background: #fff;
	padding: var(--gv-space-2) 0;
	border-top: 1px solid var(--gv-color-border);
}

.gv-footer__publicidad-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--gv-space-2);
}

.gv-footer__publicidad-inner img {
	height: 50px;
	width: auto;
	object-fit: contain;
}

@media (min-width: 700px) {
	.gv-footer__columns {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1000px) {
	.gv-footer__columns {
		grid-template-columns: 1.5fr 1fr 1fr 1fr;
	}
}
