/* =========================================================
   Home — Entre em Contato
   ========================================================= */

.tsg-contato {
	display: grid;
	grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(32px, 4vw, 64px);
	align-items: center;
	padding-top: var(--wp--preset--spacing--secao);
	padding-right: max(28px, 6vw);
	padding-bottom: var(--wp--preset--spacing--secao);
	padding-left: max(28px, 6vw);
	color: var(--wp--preset--color--branco);
	background: linear-gradient(
		120deg,
		var(--wp--preset--color--texto),
		var(--wp--preset--color--fundo-escuro) 60%,
		var(--wp--preset--color--marca)
	);
}

.wp-site-blocks .tsg-contato > .tsg-contato__titulo,
.wp-site-blocks .tsg-contato > .tsg-contato__cartoes {
	width: 100%;
	max-width: none;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.tsg-contato__titulo {
	margin: 0;
	color: var(--wp--preset--color--branco);
	line-height: 0.98;
	letter-spacing: -0.02em;
}

.tsg-contato__cartoes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
	margin: 0;
}

.tsg-contato__item {
	position: relative;
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--40);
	align-items: center;
	min-height: 94px;
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--custom--linha);
	border-radius: var(--wp--custom--raio);
	background: var(--wp--preset--color--branco);
	box-shadow: var(--wp--custom--sombra);
	cursor: pointer;
	transition:
		transform 240ms var(--wp--custom--ease-out),
		box-shadow 240ms var(--wp--custom--ease-out),
		border-color 240ms var(--wp--custom--ease-out);
}

.tsg-contato__item::before,
.tsg-contato__item::after {
	content: "";
	grid-column: 1;
	grid-row: 1 / span 2;
	justify-self: center;
	align-self: center;
}

.tsg-contato__item::before {
	width: 48px;
	height: 48px;
	border-radius: var(--wp--custom--raio-botao);
	background: var(--wp--preset--color--fundo-neblina);
	transition: background 240ms var(--wp--custom--ease-out);
}

.tsg-contato__item::after {
	width: 24px;
	height: 24px;
	background: var(--wp--preset--color--marca);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	transition: background 240ms var(--wp--custom--ease-out);
}

.tsg-contato__rotulo,
.tsg-contato__valor {
	grid-column: 2;
}

.tsg-contato__item--telefone::after {
	mask-image: url("../../../icons/telefone.svg");
	-webkit-mask-image: url("../../../icons/telefone.svg");
}

.tsg-contato__item--email::after {
	mask-image: url("../../../icons/email.svg");
	-webkit-mask-image: url("../../../icons/email.svg");
}

.tsg-contato__rotulo {
	margin: 0 0 4px;
	color: var(--wp--preset--color--texto);
	font-family: var(--wp--preset--font-family--titulo);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.55;
}

.tsg-contato__valor {
	margin: 0;
	font-family: var(--wp--preset--font-family--titulo);
	font-weight: 600;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.tsg-contato__valor a {
	color: var(--wp--preset--color--texto);
	text-decoration: none;
}

/* Estica o tel:/mailto: sobre o card inteiro — o link continua editável no painel. */
.tsg-contato__valor a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

@media (hover: hover) and (pointer: fine) {
	.tsg-contato__item:hover {
		transform: translateY(-4px);
		border-color: var(--wp--preset--color--marca);
		box-shadow: var(--wp--custom--sombra-forte);
	}

	.tsg-contato__item:hover::before {
		background: var(--wp--preset--color--marca);
	}

	.tsg-contato__item:hover::after {
		background: var(--wp--preset--color--branco);
	}

	.tsg-contato__item:hover .tsg-contato__valor a {
		color: var(--wp--preset--color--marca);
	}
}

@media (max-width: 1280px) {
	.tsg-contato {
		grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
		gap: var(--wp--preset--spacing--40);
	}
}

@media (max-width: 899px) {
	.tsg-contato {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.tsg-contato__cartoes {
		grid-template-columns: 1fr;
	}

	.tsg-contato__item {
		min-height: 104px;
	}
}
