/*
 * Yandé Consultoria Científica
 * Footer — Versão Premium (Cinza Escuro)
 *
 * Arquivo:
 * /wp-content/themes/hello-elementor-child/css/footer.css
 */

/* =========================================================
   VARIÁVEIS
========================================================= */

:root {
	--yande-footer-bg: #20272B;
	--yande-footer-bg-deep: #090B0E;

	--yande-footer-black: #20272B;
	--yande-footer-text: #FFFFFF;
	--yande-footer-muted: #8C969B;
	--yande-footer-link: #D5DBDD;
	--yande-footer-accent: #1790BF;
	--yande-footer-accent-soft: rgba(23, 144, 191, 0.18);
	--yande-footer-accent-glow: rgba(23, 144, 191, 0.45);

	--yande-footer-border: rgba(255, 255, 255, 0.07);
	--yande-footer-border-strong: rgba(255, 255, 255, 0.12);
}


/* =========================================================
   FOOTER
========================================================= */

.yande-footer {
	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: var(--yande-footer-bg) !important;
	background-color: var(--yande-footer-bg) !important;

	color: #FFFFFF;

	font-family: "DM Sans", sans-serif;

	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.yande-footer::before {
	content: "";
	position: absolute;
	inset: 0;

	background:
		radial-gradient(
			ellipse 60% 55% at 15% 0%,
			rgba(23, 144, 191, 0.12) 0%,
			transparent 60%
		),
		radial-gradient(
			ellipse 50% 45% at 95% 100%,
			rgba(23, 144, 191, 0.08) 0%,
			transparent 65%
		);

	pointer-events: none;
	z-index: 0;
}

.yande-footer::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;

	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(23, 144, 191, 0.35) 25%,
		rgba(23, 144, 191, 0.55) 50%,
		rgba(23, 144, 191, 0.35) 75%,
		transparent 100%
	);

	pointer-events: none;
	z-index: 1;
}

.yande-footer > * {
	position: relative;
	z-index: 2;
}


/* =========================================================
   RESET
========================================================= */

.yande-footer *,
.yande-footer *::before,
.yande-footer *::after {
	box-sizing: border-box;
}


/* =========================================================
   CONTAINER PRINCIPAL
========================================================= */

.yande-footer__container {
	width: 100%;
	max-width: 1280px;

	margin: 0 auto;

	padding: 76px 32px 66px;

	display: flex;
	align-items: stretch;

	gap: 0;
}


/* =========================================================
   COLUNAS — DESKTOP
========================================================= */

.yande-footer__column {
	flex: 0 0 auto;
	min-width: 0;

	padding: 0 34px;

	display: flex;
	flex-direction: column;
	align-items: flex-start;

	position: relative;
}

.yande-footer__column:nth-child(1) {
	width: 18%;
}

.yande-footer__column:nth-child(2) {
	width: 28%;
}

.yande-footer__column:nth-child(3) {
	width: 29%;
}

.yande-footer__column + .yande-footer__column::before {
	content: "";
	position: absolute;
	top: 4px;
	bottom: 4px;
	left: 0;

	width: 1px;

	background: linear-gradient(
		180deg,
		transparent 0%,
		rgba(255, 255, 255, 0.06) 20%,
		rgba(255, 255, 255, 0.06) 80%,
		transparent 100%
	);

	pointer-events: none;
}

.yande-footer__column:first-child {
	padding-left: 0;
}

.yande-footer__column:last-child {
	padding-right: 0;
}


/* =========================================================
   COLUNAS CENTRAIS
========================================================= */

.yande-footer__column:nth-child(2),
.yande-footer__column:nth-child(3) {
	align-items: center;
	text-align: center;
}

.yande-footer__column:nth-child(2) .yande-footer__navigation,
.yande-footer__column:nth-child(2) .yande-footer__links,
.yande-footer__column:nth-child(3) .yande-footer__navigation,
.yande-footer__column:nth-child(3) .yande-footer__links,
.yande-footer__column:nth-child(3) .yande-footer__contact {
	align-items: center;
}

.yande-footer__column:nth-child(2) .yande-footer__navigation a,
.yande-footer__column:nth-child(3) .yande-footer__navigation a {
	justify-content: center;
}

.yande-footer__column:nth-child(3) .yande-footer__contact-item {
	align-items: center;
	text-align: center;
}

.yande-footer__column:nth-child(2) .yande-footer__links a:hover,
.yande-footer__column:nth-child(3) .yande-footer__links a:hover,
.yande-footer__column:nth-child(3) .yande-footer__contact-item:hover,
.yande-footer__column:nth-child(2) .yande-footer__navigation a:hover,
.yande-footer__column:nth-child(3) .yande-footer__navigation a:hover {
	transform: none;
}


/* =========================================================
   LOGO — QUARTA COLUNA
========================================================= */

.yande-footer__column--brand {
	width: 25%;

	padding-left: 34px;
	padding-right: 0;

	display: flex;
	align-items: center;
	justify-content: center;

	position: relative;
}

.yande-footer__logo {
	display: inline-flex;
	align-items: center;

	margin: 0;
	padding: 0;

	line-height: 0;
	text-decoration: none;

	position: relative;

	transition: opacity 220ms ease, transform 220ms ease;
}

.yande-footer__logo::after {
	content: "";
	position: absolute;
	inset: -18px;

	border-radius: 50%;

	background: radial-gradient(
		circle,
		rgba(23, 144, 191, 0.16) 0%,
		transparent 70%
	);

	opacity: 0;

	transition: opacity 320ms ease;

	pointer-events: none;
	z-index: -1;
}

.yande-footer__logo:hover {
	opacity: 1;
	transform: translateY(-2px);
}

.yande-footer__logo:hover::after {
	opacity: 1;
}

.yande-footer__logo img {
	display: block;

	width: 240px;
	height: auto;
	max-width: 100%;

	filter: drop-shadow(0 0 0 transparent);
	transition: filter 320ms ease;
}

.yande-footer__logo:hover img {
	filter: drop-shadow(0 0 22px rgba(23, 144, 191, 0.35));
}


/* =========================================================
   TÍTULOS
========================================================= */

.yande-footer__title {
	width: 100%;

	margin: 2px 0 22px !important;
	padding: 0 0 14px 0 !important;

	color: #FFFFFF !important;

	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;

	letter-spacing: 0.20em !important;
	text-transform: uppercase;

	position: relative !important;

	display: block;
}

.yande-footer__title::before {
	content: "" !important;
	display: block !important;

	position: absolute;
	left: 0;
	bottom: 0;

	width: 28px;
	height: 1px;

	background: var(--yande-footer-accent);

	box-shadow: 0 0 10px var(--yande-footer-accent-glow);
}

.yande-footer__title::after {
	content: none !important;
	display: none !important;
}

.yande-footer__column:nth-child(2) .yande-footer__title::before,
.yande-footer__column:nth-child(3) .yande-footer__title::before {
	left: 50%;
	transform: translateX(-50%);
}


/* =========================================================
   NAVEGAÇÃO
========================================================= */

.yande-footer__navigation,
.yande-footer__links {
	display: flex;

	flex-direction: column;
	align-items: flex-start;

	gap: 8px;

	margin: 0;
	padding: 0;
}


/* =========================================================
   LINKS DE NAVEGAÇÃO
========================================================= */

.yande-footer__navigation a {
	width: 100%;
	max-width: 220px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	margin: 0;
	padding: 3px 0;

	color: var(--yande-footer-link);

	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;

	text-decoration: none;

	position: relative;

	transition:
		color 220ms ease,
		transform 220ms ease;
}

.yande-footer__navigation a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;

	width: 0;
	height: 1px;

	background: linear-gradient(
		90deg,
		var(--yande-footer-accent),
		transparent
	);

	transition: width 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.yande-footer__navigation a:hover {
	color: #FFFFFF;
	transform: translateX(4px);
}

.yande-footer__navigation a:hover::after {
	width: 70%;
}


/* =========================================================
   SETA
========================================================= */

.yande-footer__arrow {
	display: inline-block;

	margin-left: 12px;

	color: var(--yande-footer-accent);

	font-size: 14px;
	font-weight: 400;
	line-height: 1;

	opacity: 0;

	transform: translateX(-6px);

	filter: drop-shadow(0 0 6px var(--yande-footer-accent-glow));

	transition:
		opacity 220ms ease,
		transform 220ms ease;
}

.yande-footer__navigation a:hover .yande-footer__arrow {
	opacity: 1;
	transform: translateX(0);
}


/* =========================================================
   LINKS YANDÉ
========================================================= */

.yande-footer__links a {
	display: inline-block;

	margin: 0;
	padding: 3px 0;

	color: var(--yande-footer-link);

	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;

	text-decoration: none;

	position: relative;

	transition:
		color 220ms ease,
		transform 220ms ease;
}

.yande-footer__links a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;

	width: 0;
	height: 1px;

	background: linear-gradient(
		90deg,
		var(--yande-footer-accent),
		transparent
	);

	transition: width 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.yande-footer__links a:hover {
	color: #FFFFFF;
	transform: translateX(4px);
}

.yande-footer__links a:hover::after {
	width: 70%;
}


/* =========================================================
   CONTATO
========================================================= */

.yande-footer__contact {
	display: flex;

	flex-direction: column;

	gap: 18px;

	margin: 0;
	padding: 0;
}


/* =========================================================
   ITEM CONTATO
========================================================= */

.yande-footer__contact-item {
	display: flex;

	flex-direction: column;
	align-items: flex-start;

	gap: 4px;

	margin: 0;
	padding: 0;

	color: inherit;
	text-decoration: none;

	position: relative;

	transition: transform 220ms ease;
}

a.yande-footer__contact-item:hover {
	transform: translateX(3px);
}


/* =========================================================
   LABEL DO CONTATO
========================================================= */

.yande-footer__contact-label {
	display: block;

	margin: 0;

	color: var(--yande-footer-muted);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;

	letter-spacing: 0.16em;
	text-transform: uppercase;
}


/* =========================================================
   VALOR DO CONTATO
========================================================= */

.yande-footer__contact-value {
	display: block;

	margin: 0;

	color: var(--yande-footer-link);

	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;

	transition: color 220ms ease, text-shadow 220ms ease;
}

a.yande-footer__contact-item:hover .yande-footer__contact-value {
	color: #FFFFFF;
	text-shadow: 0 0 12px rgba(23, 144, 191, 0.35);
}


/* =========================================================
   ÁREA DE CREDIBILIDADE
========================================================= */

.yande-footer__trust {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 10px;

	margin-top: 24px;
}


/* =========================================================
   BARRA INFERIOR
========================================================= */

.yande-footer__bottom {
	width: 100% !important;

	margin: 0 !important;

	background: var(--yande-footer-bg) !important;
	background-color: var(--yande-footer-bg) !important;

	border-top: 1px solid var(--yande-footer-border);

	position: relative;
}

.yande-footer__bottom::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);

	width: 40%;
	height: 1px;

	background: linear-gradient(
		90deg,
		transparent,
		rgba(23, 144, 191, 0.5),
		transparent
	);

	pointer-events: none;
}


/* =========================================================
   CONTAINER INFERIOR
========================================================= */

.yande-footer__bottom-container {
	width: 100%;
	max-width: 1280px;

	margin: 0 auto;

	padding: 18px 32px;

	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 20px;
}


/* =========================================================
   COPYRIGHT
========================================================= */

.yande-footer__copyright {
	margin: 0;

	color: #737D82;

	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;

	letter-spacing: 0.02em;
}

.yande-footer__copyright span {
	color: #9AA4A8;
}


/* =========================================================
   LINKS LEGAIS
========================================================= */

.yande-footer__legal {
	display: flex;

	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;

	gap: 20px;

	margin: 0;
	padding: 0;
}

.yande-footer__legal a {
	color: #737D82;

	font-size: 11px;
	font-weight: 400;
	line-height: 1.5;

	text-decoration: none;

	position: relative;

	transition: color 220ms ease;
}

.yande-footer__legal a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;

	width: 0;
	height: 1px;

	background: var(--yande-footer-accent);

	transition: width 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.yande-footer__legal a:hover {
	color: #FFFFFF;
}

.yande-footer__legal a:hover::after {
	width: 100%;
}


/* =========================================================
   FOCUS
========================================================= */

.yande-footer a:focus-visible {
	outline: 1px solid var(--yande-footer-accent);
	outline-offset: 4px;

	border-radius: 2px;
}


/* =========================================================
   TABLET — 1024px
   4 COLUNAS — MESMO COMPORTAMENTO DO PC
========================================================= */

@media (max-width: 1024px) {

	.yande-footer__container {
		padding: 64px 28px 58px;

		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;

		gap: 0;
	}

	.yande-footer__column {
		flex: 0 0 auto;

		padding-left: 22px;
		padding-right: 22px;
	}

	.yande-footer__column:nth-child(1) {
		width: 16%;

		padding-left: 0;
		padding-right: 20px;
	}

	.yande-footer__column:nth-child(2) {
		width: 28%;
	}

	.yande-footer__column:nth-child(3) {
		width: 31%;
	}

	.yande-footer__column--brand {
		width: 25%;

		padding-left: 22px;
		padding-right: 0;

		align-items: center;
		justify-content: center;
	}

	.yande-footer__column:first-child {
		padding-left: 0;
	}

	.yande-footer__column:last-child {
		padding-right: 0;
	}

	.yande-footer__logo img {
		width: 215px;
	}

	.yande-footer__navigation a {
		font-size: 14px;
	}

	.yande-footer__links a {
		font-size: 14px;
	}

	.yande-footer__contact-value {
		font-size: 14px;
	}

	.yande-footer__title {
		font-size: 12px !important;
	}

	.yande-footer__bottom-container {
		padding-left: 28px;
		padding-right: 28px;
	}
}


/* =========================================================
   TABLET RETRATO — 820px
   4 COLUNAS — IGUAL AO PC
========================================================= */

@media (max-width: 820px) and (min-width: 601px) {

	.yande-footer__container {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;

		padding: 58px 28px 54px;

		gap: 0;
	}

	.yande-footer__column,
	.yande-footer__column:nth-child(1),
	.yande-footer__column:nth-child(2),
	.yande-footer__column:nth-child(3),
	.yande-footer__column--brand {

		flex: 0 0 auto;

		min-width: 0;

		padding-top: 0;
		padding-bottom: 0;
	}

	/* 4 colunas distribuídas no tablet retrato */
	.yande-footer__column:nth-child(1) {
		width: 16%;

		padding-left: 0;
		padding-right: 12px;

		align-items: flex-start;
		text-align: left;
	}

	.yande-footer__column:nth-child(2) {
		width: 28%;

		padding-left: 12px;
		padding-right: 12px;

		align-items: center;
		text-align: center;
	}

	.yande-footer__column:nth-child(3) {
		width: 31%;

		padding-left: 12px;
		padding-right: 12px;

		align-items: center;
		text-align: center;
	}

	.yande-footer__column--brand {
		width: 25%;

		padding-left: 12px;
		padding-right: 0;

		align-items: center;
		justify-content: center;

		text-align: center;
	}

	/* Divisórias continuam como no PC */
	.yande-footer__column + .yande-footer__column::before {
		display: block;
		top: 4px;
		bottom: 4px;
		left: 0;
	}

	/* Mantém a simetria dos títulos centrais */
	.yande-footer__column:nth-child(2) .yande-footer__title,
	.yande-footer__column:nth-child(3) .yande-footer__title {
		text-align: center;
	}

	.yande-footer__column:nth-child(2) .yande-footer__title::before,
	.yande-footer__column:nth-child(3) .yande-footer__title::before {
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}

	.yande-footer__column:nth-child(2) .yande-footer__navigation,
	.yande-footer__column:nth-child(2) .yande-footer__links,
	.yande-footer__column:nth-child(3) .yande-footer__navigation,
	.yande-footer__column:nth-child(3) .yande-footer__links,
	.yande-footer__column:nth-child(3) .yande-footer__contact {
		align-items: center;
	}

	.yande-footer__column:nth-child(2) .yande-footer__navigation a,
	.yande-footer__column:nth-child(3) .yande-footer__navigation a {
		justify-content: center;
	}

	.yande-footer__column:nth-child(3) .yande-footer__contact-item {
		align-items: center;
		text-align: center;
	}

	.yande-footer__column--brand .yande-footer__logo {
		margin: 0;
	}

	.yande-footer__logo img {
		width: 215px;
		max-width: 100%;
	}

	.yande-footer__title {
		margin-top: 0 !important;
		margin-bottom: 16px !important;

		padding-bottom: 12px !important;

		font-size: 11px !important;

		letter-spacing: 0.15em !important;
	}

	.yande-footer__navigation,
	.yande-footer__links {
		gap: 6px;
	}

	.yande-footer__navigation a,
	.yande-footer__links a {
		font-size: 13px;

		max-width: 100%;
	}

	.yande-footer__contact {
		gap: 14px;
	}

	.yande-footer__contact-label {
		font-size: 9px;
	}

	.yande-footer__contact-value {
		font-size: 12.5px;
	}

	.yande-footer__arrow {
		font-size: 12px;
	}

	.yande-footer__bottom-container {
		padding: 18px 24px 20px;

		flex-direction: column;
		align-items: center;
		justify-content: center;

		text-align: center;

		gap: 7px;
	}

	.yande-footer__copyright {
		font-size: 10px;
		line-height: 1.35;

		text-align: center;
	}

	.yande-footer__legal {
		justify-content: center;
		align-items: center;

		gap: 5px 18px;

		text-align: center;
	}

	.yande-footer__legal a {
		font-size: 10px;
		line-height: 1.35;
	}
}


/* =========================================================
   MOBILE — 600px
   2 COLUNAS
========================================================= */

@media (max-width: 600px) {

	.yande-footer__container {
		display: grid;

		grid-template-columns: 1fr 1fr;

		gap: 40px 24px;

		padding: 52px 24px 46px;

		align-items: start;
	}

	.yande-footer__column,
	.yande-footer__column:nth-child(1),
	.yande-footer__column:nth-child(2),
	.yande-footer__column:nth-child(3),
	.yande-footer__column--brand {
		width: 100%;

		flex: 0 0 auto;

		padding-left: 0;
		padding-right: 0;

		justify-content: flex-start;
		text-align: left;
	}

	.yande-footer__column + .yande-footer__column::before {
		display: none;
	}

	.yande-footer__column:nth-child(1) {
		align-items: flex-start;
		text-align: left;
	}

	.yande-footer__column:nth-child(1) .yande-footer__title {
		text-align: left;
	}

	.yande-footer__column:nth-child(1) .yande-footer__title::before {
		left: 0;
		transform: none;
	}

	.yande-footer__column:nth-child(1) .yande-footer__navigation,
	.yande-footer__column:nth-child(1) .yande-footer__links {
		align-items: flex-start;
	}

	.yande-footer__column:nth-child(1) .yande-footer__navigation a {
		justify-content: space-between;
	}

	.yande-footer__column:nth-child(2) {
		align-items: flex-end;
		text-align: right;
	}

	.yande-footer__column:nth-child(2) .yande-footer__title {
		text-align: right;
	}

	.yande-footer__column:nth-child(2) .yande-footer__title::before {
		left: auto;
		right: 0;
		transform: none;
	}

	.yande-footer__column:nth-child(2) .yande-footer__navigation,
	.yande-footer__column:nth-child(2) .yande-footer__links {
		align-items: flex-end;
	}

	.yande-footer__column:nth-child(2) .yande-footer__navigation a,
	.yande-footer__column:nth-child(2) .yande-footer__links a {
		text-align: right;
		justify-content: flex-end;
	}

	.yande-footer__column:nth-child(2) .yande-footer__navigation a {
		flex-direction: row-reverse;
	}

	.yande-footer__column:nth-child(2) .yande-footer__arrow {
		margin-left: 0;
		margin-right: 12px;
	}

	.yande-footer__column:nth-child(3) {
		align-items: flex-start;
		text-align: left;
	}

	.yande-footer__column:nth-child(3) .yande-footer__title {
		text-align: left;
	}

	.yande-footer__column:nth-child(3) .yande-footer__title::before {
		left: 0;
		transform: none;
	}

	.yande-footer__column:nth-child(3) .yande-footer__navigation,
	.yande-footer__column:nth-child(3) .yande-footer__links,
	.yande-footer__column:nth-child(3) .yande-footer__contact {
		align-items: flex-start;
	}

	.yande-footer__column:nth-child(3) .yande-footer__contact-item {
		align-items: flex-start;
		text-align: left;
	}

	.yande-footer__column--brand {
		align-items: flex-end;
		justify-content: flex-end;

		text-align: right;

		padding-top: 6px;
	}

	.yande-footer__logo {
		margin-left: auto;
	}

	.yande-footer__logo img {
		width: 180px;
		max-width: 100%;
	}

	.yande-footer__title {
		margin-top: 0 !important;
		margin-bottom: 16px !important;
		padding-bottom: 12px !important;

		font-size: 12px !important;
	}

	.yande-footer__navigation,
	.yande-footer__links {
		gap: 6px;
	}

	.yande-footer__navigation a,
	.yande-footer__links a {
		font-size: 15px;
		max-width: 100%;
	}

	.yande-footer__arrow {
		opacity: 1;
		transform: none;

		font-size: 14px;
	}

	.yande-footer__contact {
		gap: 14px;
	}

	.yande-footer__contact-label {
		font-size: 10px;
	}

	.yande-footer__contact-value {
		font-size: 14.5px;
	}

	.yande-footer__bottom-container {
		padding: 18px 16px 20px;

		flex-direction: column;
		align-items: center;
		justify-content: center;

		text-align: center;

		gap: 6px;
	}

	.yande-footer__copyright {
		font-size: 10px;
		line-height: 1.25;

		text-align: center;
	}

	.yande-footer__legal {
		justify-content: center;
		align-items: center;

		gap: 4px 14px;

		text-align: center;
	}

	.yande-footer__legal a {
		font-size: 10px;
		line-height: 1.25;
	}
}


/* =========================================================
   MOBILE PEQUENO — 390px
========================================================= */

@media (max-width: 390px) {

	.yande-footer__container {
		padding-left: 20px;
		padding-right: 20px;

		gap: 36px 20px;
	}

	.yande-footer__logo img {
		width: 155px;
	}

	.yande-footer__navigation a,
	.yande-footer__links a {
		font-size: 14.5px;
	}

	.yande-footer__contact-value {
		font-size: 14px;
	}

	.yande-footer__bottom-container {
		padding-left: 14px;
		padding-right: 14px;
	}

	.yande-footer__copyright {
		font-size: 10px;
		line-height: 1.25;
	}

	.yande-footer__legal a {
		font-size: 10px;
		line-height: 1.25;
	}
}


/* =========================================================
   REDUÇÃO DE MOVIMENTO
========================================================= */

@media (prefers-reduced-motion: reduce) {

	.yande-footer *,
	.yande-footer *::before,
	.yande-footer *::after {
		transition: none !important;
		animation: none !important;
	}

	.yande-footer::before,
	.yande-footer::after {
		display: none !important;
	}

}