/*
 * Página Termos e Condições (ID 81), layout "7 · Termos e Condições". Montada no Elementor com containers e widgets:
 * .hw-tc-hero (topo), .hw-tc-summary-wrap ("Em resumo") e .hw-tc-main (índice lateral .hw-tc-toc + artigo .hw-tc-art,
 * com uma .hw-tc-sec por cláusula, id t1…t14, e o cartão .hw-tc-help). O Elementor entrega estrutura e texto;
 * medidas, cores e fontes ficam aqui.
 */

body.page-id-81 {
	background: #E5E5E0;
}

.hw-tc {
	--tc-lime: #B0C90F;
	--tc-ink: #111111;
	--tc-black: #0B0B0B;
	--tc-sand: #E5E5E0;
	--tc-muted: #3F3F3A;
	font-family: "Montserrat", sans-serif;
}

/* O Elementor dá padding e gap próprios a todo container: aqui cada um define os seus. */
.elementor [class*="hw-tc"].e-con {
	--gap: 0px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}

.hw-tc :is(h1, h2, p, a, li, dt, dd, span, div),
.hw-tc .elementor-heading-title,
.hw-tc .elementor-widget-text-editor p {
	font-family: "Montserrat", sans-serif !important;
}

.hw-tc .elementor-heading-title,
.hw-tc .elementor-widget-text-editor p {
	margin: 0;
}

/* ---------- Topo ---------- */

.elementor .hw-tc-hero.e-con {
	--padding-top: 230px;
	--padding-bottom: 80px;
	--padding-left: 24px;
	--padding-right: 24px;
	--gap: 0px;
}

.hw-tc-hero .hw-tc-mark {
	margin-bottom: 20px;
}

.hw-tc-hero .hw-tc-h1 .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(32px, 4.2vw, 50px);
	font-weight: 300 !important;
	line-height: 1.04;
}

.hw-tc-hero .hw-tc-h1 strong {
	font-weight: 500 !important;
}

.hw-tc-hero .hw-tc-lead {
	margin-top: 14px;
}

.hw-tc-hero .hw-tc-lead p {
	color: var(--tc-sand) !important;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
}

/* ---------- Em resumo ---------- */

.elementor .hw-tc-summary-wrap.e-con {
	--padding-top: 40px;
	--padding-left: 24px;
	--padding-right: 24px;
}

.elementor .hw-tc-summary.e-con {
	--padding-top: 28px;
	--padding-bottom: 28px;
	--padding-left: 32px;
	--padding-right: 32px;
	border-radius: 24px;
	background: #fff;
}

.hw-tc-summary .hw-tc-summary__title .elementor-heading-title {
	margin-bottom: 18px;
	color: var(--tc-lime) !important;
	font-size: 14px;
	font-weight: 600 !important;
	letter-spacing: 0.06em;
	line-height: 1.3;
}

.hw-tc-summary__list dl {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 20px 24px;
	margin: 0;
	font-size: 14px;
}

.hw-tc-summary__list dt {
	color: var(--tc-muted);
	font-size: 12px;
}

.hw-tc-summary__list dd {
	margin: 4px 0 0;
	color: var(--tc-ink);
	font-weight: 500;
	line-height: 1.35;
}

/* ---------- Conteúdo: índice + artigo ---------- */

.elementor .hw-tc-main.e-con {
	--padding-top: 40px;
	--padding-bottom: 88px;
	--padding-left: 24px;
	--padding-right: 24px;
}

/* Container "boxed": o Elementor põe os filhos dentro de .e-con-inner, que é quem vira a linha. */
.elementor .hw-tc-main.e-con > .e-con-inner {
	flex-flow: row wrap;
	align-items: flex-start;
	gap: 32px 48px;
}

.elementor .hw-tc-toc.e-con {
	position: sticky;
	top: 100px;
	flex: 1 1 220px;
	min-width: 0;
}

.hw-tc-toc .hw-tc-toc__title .elementor-heading-title {
	margin: 0 0 10px 10px;
	color: var(--tc-muted) !important;
	font-size: 12px;
	font-weight: 600 !important;
	letter-spacing: 0.06em;
	line-height: 1.3;
}

.hw-tc-toc__list ol {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hw-tc-toc__list li {
	margin: 0;
	padding: 0;
}

.hw-tc-toc__list a {
	display: flex;
	gap: 10px;
	padding: 7px 10px;
	border-radius: 8px;
	color: #2B2B28;
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none;
}

.hw-tc-toc__list a:hover,
.hw-tc-toc__list a:focus-visible {
	background: #fff;
	color: var(--tc-ink);
}

.hw-tc-toc__list a span {
	flex: none;
	width: 20px;
	color: var(--tc-lime);
	font-weight: 500;
}

.elementor .hw-tc-art.e-con {
	flex: 999 1 520px;
	min-width: 0;
	max-width: 680px;
	gap: 40px;
}

.hw-tc-art .hw-tc-intro__text p {
	margin: 0 0 14px;
	color: #2B2B28;
	font-size: 16px;
	line-height: 1.65;
}

.hw-tc-art .hw-tc-intro__text p.hw-tc-lead-p {
	color: var(--tc-ink);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.55;
}

.hw-tc-art .hw-tc-intro__text p:last-child {
	margin: 0;
}

/* Cláusulas */
.elementor .hw-tc-sec.e-con {
	--padding-top: 40px;
	scroll-margin-top: 90px;
	border-top: 1px solid #DCDCD5;
}

.hw-tc-sec .hw-tc-sec__title .elementor-heading-title {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0 0 14px;
	color: var(--tc-ink) !important;
	font-size: 24px;
	font-weight: 500 !important;
	line-height: 1.15;
}

.hw-tc-sec .hw-tc-n {
	flex: none;
	color: var(--tc-lime);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.06em;
}

.hw-tc .hw-tc-sec__text p {
	margin: 0 0 14px;
	color: #2B2B28;
	font-size: 16px;
	line-height: 1.65;
}

.hw-tc-sec__text ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.hw-tc-sec__text li {
	position: relative;
	margin: 0;
	padding-left: 20px;
	color: #2B2B28;
	font-size: 16px;
	line-height: 1.55;
}

.hw-tc-sec__text li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 6px;
	height: 6px;
	background: var(--tc-lime);
}

.hw-tc-sec__text a {
	color: var(--tc-ink);
	font-weight: 500;
}

.hw-tc-sec__text > :last-child {
	margin-bottom: 0;
}

/* ---------- Cartão de ajuda ---------- */

.elementor .hw-tc-help.e-con {
	--padding-top: 32px;
	--padding-bottom: 32px;
	--padding-left: 32px;
	--padding-right: 32px;
	border-radius: 28px;
	background: var(--tc-black);
	color: #fff;
}

.hw-tc-help .hw-tc-mark {
	margin-bottom: 14px;
}

.hw-tc-help .hw-tc-help__title .elementor-heading-title {
	margin: 0 0 6px;
	color: #fff !important;
	font-size: 26px;
	font-weight: 300 !important;
	line-height: 1.15;
}

.hw-tc-help .hw-tc-help__title strong {
	font-weight: 500 !important;
}

.hw-tc-help .hw-tc-help__text p {
	margin: 0 0 22px;
	color: var(--tc-sand) !important;
	font-size: 14px;
}

.elementor .hw-tc-help__btns.e-con {
	flex-flow: row wrap;
	gap: 10px;
}

.hw-tc-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1;
}

.hw-tc-btn .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.hw-tc-btn--fill .elementor-button {
	background: var(--tc-lime);
	color: var(--tc-ink);
}

.hw-tc-btn--line .elementor-button {
	border: 1px solid #fff;
	background: transparent;
	color: #fff;
}

.hw-tc-btn .elementor-button:hover,
.hw-tc-btn .elementor-button:focus-visible {
	background: #fff;
	color: var(--tc-ink);
}

.hw-tc-help .hw-tc-help__addr p {
	margin: 18px 0 0;
	color: #C9C9C3 !important;
	font-size: 13px;
}

@media (max-width: 760px) {
	.elementor .hw-tc-toc.e-con {
		position: static;
	}

	.elementor .hw-tc-hero.e-con {
		--padding-top: 170px;
		--padding-bottom: 60px;
	}

	.elementor .hw-tc-help.e-con {
		--padding-left: 22px;
		--padding-right: 22px;
	}
}
