/**
 * Footer Velociraptor – modelo moderno.
 */

/* Fundo / texto / links: variáveis vindas de inc/footer/modern/dynamic-css.php (cores GP: widgets + barra). */
.vlr-footer-modern {
	box-sizing: border-box;
	width: 100%;
	padding-top: clamp(1.25rem, 2vw, 2rem);
	background-color: var(--vlr-footer-modern-bg, #09090b);
	color: #fafafa;
	color: var(--vlr-footer-modern-fg, #fafafa);
}

.vlr-footer-modern *,
.vlr-footer-modern *::before,
.vlr-footer-modern *::after {
	box-sizing: border-box;
}

.vlr-footer-modern-inner {
	width: 100%;
}

/* Respiro lateral alinhado ao footer B-2 (.footer-widgets .velociraptor-container em style.css). */
.vlr-footer-modern .velociraptor-container,
.vlr-footer-modern-site-info .velociraptor-container {
	padding-inline: 1rem;
	box-sizing: border-box;
	width: 100%;
}

.vlr-footer-modern-grid {
	display: grid;
	gap: 2.5rem;
	padding-bottom: 1.5rem;
}

@media (min-width: 768px) {
	.vlr-footer-modern-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		column-gap: clamp(2.5rem, 5vw, 6rem);
		row-gap: 2.5rem;
		align-items: flex-start;
		padding-bottom: 0;
	}

	.vlr-footer-modern-grid > .vlr-footer-modern-brand,
	.vlr-footer-modern-grid > .vlr-footer-modern-columns {
		min-width: 0;
	}
}

.vlr-footer-modern-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2rem;
}

.vlr-footer-modern-fallback-title {
	font-size: 1.25rem;
	font-weight: 600;
	color: inherit;
	text-decoration: none;
}

.vlr-footer-modern-fallback-title:hover,
.vlr-footer-modern-fallback-title:focus-visible {
	text-decoration: underline;
}

.vlr-footer-modern-logo-wrap :where(.site-logo a) {
	color: inherit;
}

.vlr-footer-modern-logo-wrap img {
	max-height: 2.75rem;
	width: auto;
	height: auto;
}

/* Conteúdo do Personalizar → Conteúdo do footer → «Sobre – texto do footer». */
.vlr-footer-modern-about {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.65;
	max-width: min(42rem, 100%);
	color: inherit;
}

.vlr-footer-modern-social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.vlr-footer-modern-social-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.375rem;
	background-color: color-mix(in oklab, #fff 12%, transparent);
	color: inherit;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.vlr-footer-modern-social-btn:hover,
.vlr-footer-modern-social-btn:focus-visible {
	background-color: color-mix(in oklab, #fff 20%, transparent);
	/* Ícones SVG usam stroke="currentColor" (helpers.php). */
	color: var(--accent, #2563eb);
}

.vlr-footer-modern-social-btn:focus-visible {
	outline: 2px solid color-mix(in oklab, #fff 50%, transparent);
	outline-offset: 2px;
}

.vlr-footer-modern-columns {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	min-width: 0;
}

/* Três colunas iguais; cada .vlr-footer-modern-col reserva espaço mesmo sem widgets. */
@media (min-width: 768px) {
	.vlr-footer-modern-columns {
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: flex-start;
		gap: 2.5rem;
	}

	.vlr-footer-modern-col {
		flex: 1 1 0;
		min-width: 0;
		min-height: 1px;
	}

	.vlr-footer-modern-col .vlr-footer-modern-acc {
		width: 100%;
		min-width: 0;
	}
}

@media (min-width: 1024px) {
	.vlr-footer-modern-columns {
		gap: 2.5rem 6rem;
	}
}

/* Accordion: mobile */
.vlr-footer-modern-acc {
	border-bottom: 1px solid color-mix(in oklab, #fff 12%, transparent);
	margin: 0;
}

.vlr-footer-modern-acc:last-of-type {
	border-bottom: none;
}

.vlr-footer-modern-acc-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 1rem 0;
	cursor: pointer;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	list-style: none;
	color: var(--vlr-fm-col-title, inherit);
}

.vlr-footer-modern-acc-summary::-webkit-details-marker {
	display: none;
}

.vlr-footer-modern-acc-icon--close {
	display: none;
}

.vlr-footer-modern-acc[open] .vlr-footer-modern-acc-icon--open {
	display: none;
}

.vlr-footer-modern-acc[open] .vlr-footer-modern-acc-icon--close {
	display: inline-flex;
}

@media (min-width: 768px) {
	.vlr-footer-modern-acc {
		border-bottom: none;
		flex: 1 1 0;
		min-width: 0;
	}

	.vlr-footer-modern-acc-summary {
		display: none;
	}
}

.vlr-footer-modern-acc-panel {
	padding-bottom: 1rem;
}

@media (min-width: 768px) {
	.vlr-footer-modern-acc-panel {
		padding-bottom: 0;
		display: flex !important;
		flex-direction: column;
		gap: 0.75rem;
	}
}

.vlr-footer-modern-col-title {
	display: none;
	margin: 0 0 0.5rem;
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--vlr-fm-col-title, inherit);
}

@media (min-width: 768px) {
	.vlr-footer-modern-col-title {
		display: block;
		margin-bottom: 0.375rem;
	}
}

.vlr-footer-modern-nav-list,
.vlr-footer-modern-nav-fallback {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vlr-footer-modern-nav-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.vlr-footer-modern-nav-list a,
.vlr-footer-modern-link {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--vlr-fm-nav-link, color-mix(in oklab, #fff 65%, transparent));
	text-decoration: none;
	transition: color 0.2s ease;
}

.vlr-footer-modern-nav-list a:hover,
.vlr-footer-modern-nav-list a:focus-visible,
.vlr-footer-modern-link:hover,
.vlr-footer-modern-link:focus-visible {
	color: var(--vlr-fm-nav-hover, #fff);
}

/* Áreas footer-1 … footer-3. */
.vlr-footer-modern-widgets-inner {
	min-height: 0;
}

/* GeneratePress (.widget-area .widget { padding: 40px }) — sem padding horizontal no desktop. */
@media (min-width: 768px) {
	.vlr-footer-modern .widget-area .widget {
		padding-left: 0;
		padding-right: 0;
	}
}

.vlr-footer-modern-widgets-inner .widget {
	margin: 0 0 1.25rem;
}

.vlr-footer-modern-widgets-inner .widget:last-child {
	margin-bottom: 0;
}

.vlr-footer-modern-widgets-inner .widget-title,
.vlr-footer-modern-widgets-inner .vlr-footer-modern-widget-heading {
	margin: 0 0 0.5rem;
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--vlr-fm-col-title, inherit);
}

/* Um widget com título: o resumo do <details> já mostra o mesmo texto — evita duplicar no painel (mobile). */
@media (max-width: 767px) {
	.vlr-footer-modern-col[data-vlr-fm-hide-widget-heading="1"] .vlr-footer-modern-widgets-inner .widget-title,
	.vlr-footer-modern-col[data-vlr-fm-hide-widget-heading="1"] .vlr-footer-modern-widgets-inner .vlr-footer-modern-widget-heading {
		display: none !important;
	}
}

.vlr-footer-modern-widgets-inner .menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.vlr-footer-modern-widgets-inner .menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.vlr-footer-modern-widgets-inner .widget a {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--vlr-fm-nav-link, color-mix(in oklab, #fff 65%, transparent));
	text-decoration: none;
	transition: color 0.2s ease;
}

.vlr-footer-modern-widgets-inner .widget a:hover,
.vlr-footer-modern-widgets-inner .widget a:focus-visible {
	color: var(--vlr-fm-nav-hover, #fff);
}

/* Menus nas widgets: mesmo estilo de hover que .site-header .primary-menu > li > a (style.css). */
.vlr-footer-modern-widgets-inner .widget .menu a {
	display: inline-flex;
	align-items: center;
	position: relative;
	width: fit-content;
	max-width: 100%;
	padding: 0.35rem 0;
	border-radius: calc(var(--radius, 0.375rem) - 2px);
	transition: color 150ms ease;
}

.vlr-footer-modern-widgets-inner .widget .menu a::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	height: 1px;
	background: var(--accent, currentColor);
	top: 100%;
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s;
}

.vlr-footer-modern-widgets-inner .widget .menu a:hover::before,
.vlr-footer-modern-widgets-inner .widget .menu a:focus-visible::before {
	transform-origin: 0% 50%;
	transform: scale3d(1, 1, 1);
}

.vlr-footer-modern-widgets-inner .widget .menu a:hover,
.vlr-footer-modern-widgets-inner .widget .menu a:focus-visible {
	color: var(--vlr-fm-primary-nav-hover, var(--vlr-fm-nav-hover, #fff));
}

.vlr-footer-modern-deco {
	max-width: 100%;
	/* Sem overflow:hidden: o <sup> (®) subia para fora da caixa e era cortado. */
}

.vlr-footer-modern-deco--text {
	--vlr-fm-deco-offset-y: 0px;
	--vlr-fm-deco-offset-y-lg: 0px;
	position: relative;
	z-index: 0;
	margin-top: 2.5rem;
	line-height: 1.05;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

/* font-size, color, letter-spacing: Personalizar + inc/footer/modern/dynamic-css.php */
.vlr-footer-modern-deco-text {
	margin: 0;
	padding: 0.06em 0 0;
	font-weight: 600;
	line-height: 1.05;
	max-width: 100%;
	width: 100%;
	text-align: center;
	word-wrap: break-word;
	overflow-wrap: break-word;
	transform: translateY(calc(0.25rem + var(--vlr-fm-deco-offset-y, 0px)));
}

.vlr-footer-modern-deco-phrase {
	display: inline;
	text-align: inherit;
}

/* Última palavra + ®/™ não se separam em quebras de linha. */
.vlr-footer-modern-deco-tail {
	white-space: nowrap;
}

/* ®/™: exposante no topo da linha (não centrado com o corpo do texto). */
.vlr-footer-modern-deco-text .vlr-footer-modern-deco-sup {
	font-size: 0.52em;
	font-weight: inherit;
	color: inherit;
	line-height: 0;
	vertical-align: super;
	margin-left: -0.08em;
}

/* Letras: entrada ao scroll só em X (direita→esquerda), sem Y, para não alterar altura da página / scroll. */
.vlr-footer-modern-deco-text[data-vlr-deco-animated="1"] .vlr-footer-modern-deco-char {
	display: inline-block;
	letter-spacing: 0;
	opacity: 0;
	transform: translateX(0.5em);
}

.vlr-footer-modern-deco-text--revealed .vlr-footer-modern-deco-char {
	animation: vlr-footer-deco-char-in 0.75s cubic-bezier(0.19, 1, 0.22, 1) forwards;
	animation-delay: calc(var(--vlr-deco-i, 0) * 0.034s);
}

@keyframes vlr-footer-deco-char-in {
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.vlr-footer-modern-deco-text .vlr-footer-modern-deco-char {
		display: inline;
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
	}
}

@media (min-width: 768px) {
	.vlr-footer-modern-deco-text {
		transform: translateY(
			calc(0.5rem + var(--vlr-fm-deco-offset-y-lg, var(--vlr-fm-deco-offset-y, 0px)))
		);
	}
}

@media (min-width: 1024px) {
	.vlr-footer-modern-deco-text {
		transform: translateY(
			calc(0.75rem + var(--vlr-fm-deco-offset-y-lg, var(--vlr-fm-deco-offset-y, 0px)))
		);
	}
}

/* Barra inferior (fundo = Cores → Barra do rodapé → Fundo, GeneratePress). Por cima do texto decorativo quando este desce (offset Y). */
.vlr-footer-modern-site-info {
	position: relative;
	z-index: 1;
	background-color: var(--vlr-footer-modern-site-bg, #09090b);
	border-top: 1px solid color-mix(in oklab, #fff 10%, transparent);
	/* Cor base: inc/footer/modern/dynamic-css.php (modelo moderno). */
	color: color-mix(in oklab, #fff 70%, transparent);
	font-size: 0.875rem;
}

/* Três colunas: copyright | menu legal | texto (Personalizar). */
.vlr-footer-modern-site-info-inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
	text-align: center;
	align-items: center;
	justify-items: center;
}

.vlr-footer-modern-site-info-col {
	min-width: 0;
	width: 100%;
}

@media (min-width: 768px) {
	.vlr-footer-modern-site-info-inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
		justify-items: stretch;
		text-align: left;
		column-gap: 1.5rem;
		row-gap: 1rem;
	}

	.vlr-footer-modern-site-info-col--left {
		justify-self: start;
		text-align: left;
	}

	.vlr-footer-modern-site-info-col--center {
		justify-self: center;
		text-align: center;
	}

	.vlr-footer-modern-site-info-col--right {
		justify-self: end;
		text-align: right;
	}
}

.vlr-footer-modern-copyright {
	margin: 0;
}

.vlr-footer-modern-site-info-text {
	margin: 0;
	font-size: inherit;
	line-height: 1.5;
}

.vlr-footer-modern-site-info-text a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.vlr-footer-modern-site-info-text a:hover,
.vlr-footer-modern-site-info-text a:focus-visible {
	color: var(--vlr-fm-nav-hover, #fff);
}

.vlr-footer-modern-legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem 1.25rem;
}

@media (min-width: 768px) {
	.vlr-footer-modern-site-info-col--center .vlr-footer-modern-legal {
		justify-content: center;
	}
}

.vlr-footer-modern-legal-link,
.vlr-footer-modern-legal-menu a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.vlr-footer-modern-legal-link:hover,
.vlr-footer-modern-legal-link:focus-visible,
.vlr-footer-modern-legal-menu a:hover,
.vlr-footer-modern-legal-menu a:focus-visible {
	color: var(--vlr-fm-nav-hover, #fff);
}

.vlr-footer-modern-legal-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vlr-footer-modern-legal-menu li {
	list-style: none;
	margin: 0;
	padding: 0;
}
