/*
 * Footer oficial do tema Rede Nao E Nao.
 *
 * Responsabilidade: estilizar o rodape institucional com grid responsivo,
 * navegacao de apoio, contatos e informacoes legais.
 */

.rnen-footer {
	background-color: var(--rnen-color-neutral-900);
	color: var(--rnen-color-text-inverse);
	font-size: var(--rnen-font-size-sm);
	line-height: var(--rnen-line-height-base);
	padding-block: var(--rnen-space-12) var(--rnen-space-6);
}

.rnen-footer__container {
	margin-inline: auto;
	max-width: var(--rnen-container-wide-width);
	padding-inline: var(--rnen-container-padding);
	width: 100%;
}

.rnen-footer__grid {
	display: grid;
	gap: var(--rnen-space-8);
}

.rnen-footer__brand {
	display: grid;
	gap: var(--rnen-space-4);
}

.rnen-footer__brand-link {
	align-items: center;
	color: var(--rnen-color-text-inverse);
	display: inline-flex;
	font-size: var(--rnen-font-size-lg);
	font-weight: var(--rnen-font-weight-bold);
	line-height: var(--rnen-line-height-heading);
	text-decoration: none;
	transition: color var(--rnen-transition-base);
	width: fit-content;
}

.rnen-footer__brand-link:hover,
.rnen-footer__brand-link:focus-visible {
	color: var(--rnen-color-primary-100);
}

.rnen-footer__logo {
	display: block;
	height: auto;
	max-height: var(--rnen-space-12);
	max-width: 12rem;
	width: auto;
}

.rnen-footer__site-name {
	display: inline-block;
}

.rnen-footer__description {
	color: var(--rnen-color-neutral-200);
	margin: 0;
	max-width: 24rem;
}

.rnen-footer__heading {
	color: var(--rnen-color-text-inverse);
	font-size: var(--rnen-font-size-sm);
	font-weight: var(--rnen-font-weight-semibold);
	line-height: var(--rnen-line-height-heading);
	margin: 0 0 var(--rnen-space-4);
}

.rnen-footer__heading--hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.rnen-footer__list,
.rnen-footer__social-list {
	display: grid;
	gap: var(--rnen-space-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.rnen-footer__item,
.rnen-footer__social-item {
	margin: 0;
}

.rnen-footer__link,
.rnen-footer__social-link,
.rnen-footer__legal-link {
	color: var(--rnen-color-neutral-200);
	text-decoration-color: transparent;
	text-decoration-line: underline;
	text-decoration-thickness: var(--rnen-border-width);
	text-underline-offset: var(--rnen-space-1);
	transition:
		color var(--rnen-transition-base),
		text-decoration-color var(--rnen-transition-base);
}

.rnen-footer__text,
.rnen-footer__social-text {
	color: var(--rnen-color-neutral-300);
}

.rnen-footer__link:hover,
.rnen-footer__link:focus-visible,
.rnen-footer__social-link:hover,
.rnen-footer__social-link:focus-visible,
.rnen-footer__legal-link:hover,
.rnen-footer__legal-link:focus-visible {
	color: var(--rnen-color-primary-100);
	text-decoration-color: currentcolor;
}

.rnen-footer__link:focus-visible,
.rnen-footer__social-link:focus-visible,
.rnen-footer__legal-link:focus-visible,
.rnen-footer__brand-link:focus-visible {
	outline: var(--rnen-border-width) var(--rnen-border-style) var(--rnen-color-focus);
	outline-offset: var(--rnen-space-1);
}

.rnen-footer__address {
	display: grid;
	font-style: normal;
	gap: var(--rnen-space-3);
}

.rnen-footer__social-list {
	margin-top: var(--rnen-space-4);
}

.rnen-footer__bottom {
	align-items: start;
	border-top: var(--rnen-border-width) var(--rnen-border-style) var(--rnen-color-neutral-700);
	display: grid;
	gap: var(--rnen-space-3);
	margin-top: var(--rnen-space-10);
	padding-top: var(--rnen-space-6);
}

.rnen-footer__copyright {
	color: var(--rnen-color-neutral-300);
	margin: 0;
}

@media (min-width: 48rem) {
	.rnen-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rnen-footer__bottom {
		align-items: center;
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

@media (min-width: 64rem) {
	.rnen-footer {
		padding-block-start: var(--rnen-space-16);
	}

	.rnen-footer__grid {
		grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	}
}
