:root {
	--orange-brand : #F60;
	--orange-hover : #E65C00;
	--dark-bg      : #1E293B;
	--light-bg     : #F3F4F6;
	--white        : #FFF;
	--text-main    : #334155;
	--border       : #CBD5E1;
	--radius       : 8px
}
* {
	margin     : 0;
	padding    : 0;
	box-sizing : border-box
}
html {
	scroll-behavior : smooth;
}
body {
	font-family      : "Inter", sans-serif;
	background-color : var(--light-bg);
	color            : var(--text-main);
	display          : flex;
	flex-direction   : column;
	min-height       : 100vh
}
header {
	background-color : var(--white);
	border-bottom    : 4px solid var(--orange-brand);
	padding          : 0;
	box-shadow       : 0 4px 6px -1px rgba(0, 0, 0, 0.05);
	position         : sticky;
	top              : 0;
	z-index          : 1000
}
.container {
	max-width : 1100px;
	margin    : 0 auto;
	padding   : 0 20px
}
.header-content {
	display         : flex;
	justify-content : space-between;
	align-items     : center;
	height          : 70px
}
.logo {
	font-size       : 1.8rem;
	font-weight     : 800;
	color           : var(--orange-brand);
	text-decoration : none;
	letter-spacing  : -1px;
	z-index         : 1002
}
.logo span {
	color : var(--text-main)
}
.nav-menu {
	display     : flex;
	align-items : center
}
.nav-list {
	display    : flex;
	list-style : none;
	gap        : 5px
}
.nav-link {
	text-decoration : none;
	color           : var(--text-main);
	font-weight     : 600;
	font-size       : 0.95rem;
	padding         : 10px 15px;
	border-radius   : 4px;
	transition      : color 0.2s, background 0.2s;
	display         : flex;
	align-items     : center;
	justify-content : space-between
}
.nav-link:hover {
	color            : var(--orange-brand);
	background-color : #FFF7ED
}
.dropdown {
	position : relative
}
.arrow {
	font-size   : 0.7rem;
	margin-left : 6px;
	transition  : transform 0.2s
}
.submenu {
	display          : none;
	position         : absolute;
	top              : 100%;
	left             : 0;
	background-color : var(--white);
	min-width        : 240px;
	box-shadow       : 0 10px 15px -3px rgba(0, 0, 0, 0.1);
	border-top       : 3px solid var(--orange-brand);
	border-radius    : 0 0 4px 4px;
	padding          : 10px 0;
	z-index          : 1001
}
.submenu li {
	list-style : none
}
.submenu a {
	display         : block;
	padding         : 10px 20px;
	color           : var(--text-main);
	text-decoration : none;
	font-size       : 0.9rem;
	border-bottom   : 1px solid #F1F5F9
}
.submenu a:hover {
	background-color : #F8FAFC;
	color            : var(--orange-brand);
	padding-left     : 25px;
	transition       : all 0.2s
}
@media all and (min-width : 901px) {
	.dropdown:hover .submenu {
		display   : block;
		animation : fadeIn 0.2s ease-in-out
	}
	.dropdown:hover .arrow {
		transform : rotate(180deg)
	}
}
@keyframes fadeIn {
	from {
		opacity   : 0;
		transform : translateY(10px);
	}
	to {
		opacity   : 1;
		transform : translateY(0);
	}
}
.hamburger {
	display : none;
	cursor  : pointer;
	z-index : 1002
}
.bar {
	display          : block;
	width            : 25px;
	height           : 3px;
	margin           : 5px auto;
	transition       : all 0.3s ease-in-out;
	background-color : var(--text-main);
	border-radius    : 2px
}
@media all and (max-width : 900px) {
	.hamburger {
		display : block
	}
	.hamburger.active .bar:nth-child(2) {
		opacity : 0
	}
	.hamburger.active .bar:nth-child(1) {
		transform        : translateY(8px) rotate(45deg);
		background-color : var(--orange-brand)
	}
	.hamburger.active .bar:nth-child(3) {
		transform        : translateY(-8px) rotate(-45deg);
		background-color : var(--orange-brand)
	}
	.nav-menu {
		position         : fixed;
		left             : -100%;
		top              : 70px;
		flex-direction   : column;
		background-color : var(--white);
		width            : 100%;
		height           : calc(100vh - 70px);
		overflow-y       : auto;
		transition       : 0.3s;
		border-top       : 1px solid rgb(238, 238, 238);
		align-items      : stretch
	}
	.nav-menu.active {
		left : 0
	}
	.nav-list {
		flex-direction : column;
		width          : 100%;
		padding        : 20px;
		gap            : 0
	}
	.nav-link {
		padding       : 15px 10px;
		border-bottom : 1px solid rgb(241, 245, 249);
		font-size     : 1.1rem
	}
	.submenu {
		position         : static;
		box-shadow       : none;
		border-top       : none;
		background-color : rgb(248, 250, 252);
		width            : 100%;
		display          : none;
		padding-left     : 20px
	}
	.dropdown.open .submenu {
		display : block
	}
	.dropdown.open .arrow {
		transform : rotate(180deg)
	}
}
.ad-container {
	width            : 100%;
	background-color : #F8FAFC;
	border           : 1px dashed #CBD5E1;
	margin           : 20px auto;
	text-align       : center;
	padding          : 10px;
	display          : flex;
	align-items      : center;
	justify-content  : center;
	color            : #94A3B8;
	font-size        : 0.8rem;
	overflow         : hidden
}
.ad-leaderboard {
	min-height    : 90px;
	max-width     : 900px;
	margin-bottom : 40px
}
.ad-rect {
	min-height    : 250px;
	max-width     : 100%;
	margin-top    : 30px;
	margin-bottom : 30px
}
.ad-footer {
	min-height    : 90px;
	max-width     : 970px;
	margin-top    : 40px;
	margin-bottom : 40px
}
main {
	flex    : 1;
	padding : 30px 0
}
.main-grid {
	display               : grid;
	grid-template-columns : 1fr;
	gap                   : 30px
}
@media all and (min-width : 900px) {
	.main-grid {
		grid-template-columns : 2fr 1fr
	}
}
.content-column {
	display        : flex;
	flex-direction : column;
	gap            : 30px
}
.calc-card {
	background    : var(--white);
	padding       : 30px;
	border-radius : var(--radius);
	box-shadow    : 0 10px 15px -3px rgba(0, 0, 0, 0.1);
	border-top    : 5px solid var(--orange-brand)
}
.section-title {
	font-size      : 1.5rem;
	color          : var(--dark-bg);
	margin-bottom  : 25px;
	font-weight    : 800;
	border-bottom  : 1px solid var(--border);
	padding-bottom : 10px
}
.form-grid {
	display               : grid;
	grid-template-columns : 1fr;
	gap                   : 15px
}
@media all and (min-width : 600px) {
	.form-grid {
		grid-template-columns : 1fr 1fr
	}
	.span-full {
		grid-column : span 2
	}
}
label {
	display       : block;
	margin-bottom : 6px;
	font-size     : 0.9rem;
	font-weight   : 600;
	color         : #475569
}
input, select {
	width         : 100%;
	padding       : 12px;
	border        : 2px solid #E2E8F0;
	border-radius : var(--radius);
	font-size     : 1rem;
	font-family   : inherit;
	transition    : border-color 0.2s
}
input:focus, select:focus {
	/*outline      : none;*/
	/*border-color : var(--orange-brand)*/
	border-color  : dodgerblue;
	border-width  : 1px;
	box-shadow    : 0 0 8px 0 dodgerblue;
	border-radius : 5px;
	outline       : none;
}
.btn-submit {
	background-color : var(--orange-brand);
	color            : white;
	border           : none;
	padding          : 16px;
	font-size        : 1.1rem;
	font-weight      : 800;
	width            : 100%;
	border-radius    : var(--radius);
	cursor           : pointer;
	text-transform   : uppercase;
	letter-spacing   : 0.5px;
	transition       : background 0.2s;
	margin-top       : 10px
}
.btn-submit:hover {
	background-color : var(--orange-hover)
}
.tools-section {
	padding : 20px 0
}
.tools-grid {
	display               : grid;
	grid-template-columns : repeat(auto-fit, minmax(250px, 1fr));
	gap                   : 30px
}
.tool-card {
	background      : var(--white);
	padding         : 30px;
	border-radius   : var(--radius);
	text-align      : center;
	border          : 1px solid var(--border);
	transition      : transform 0.2s, box-shadow 0.2s;
	text-decoration : none;
	color           : var(--text-main);
	display         : block
}
.tool-card:hover {
	transform    : translateY(-5px);
	box-shadow   : 0 10px 20px rgba(0, 0, 0, 0.05);
	border-color : var(--orange-brand)
}
.tool-icon {
	width           : 80px;
	height          : 80px;
	background      : #FFF7ED;
	color           : var(--orange-brand);
	border-radius   : 50%;
	display         : flex;
	align-items     : center;
	justify-content : center;
	margin          : 0 auto 20px auto;
	font-size       : 2rem;
	font-weight     : bold
}
.tool-title {
	font-size     : 1.1rem;
	font-weight   : 700;
	color         : var(--dark-bg);
	margin-bottom : 10px
}
.tool-desc {
	font-size     : 0.9rem;
	color         : #64748B;
	margin-bottom : 15px;
	line-height   : 1.4
}
.tool-link-text {
	font-size      : 0.85rem;
	font-weight    : 700;
	color          : var(--orange-brand);
	text-transform : uppercase
}
.counter-card {
	background      : var(--white);
	padding         : 40px;
	border-radius   : var(--radius);
	box-shadow      : 0 4px 6px -1px rgba(0, 0, 0, 0.05);
	display         : flex;
	flex-direction  : column;
	align-items     : center;
	justify-content : center;
	border          : 1px solid var(--border);
	max-width       : 500px;
	width           : 100%;
	margin          : 60px auto 20px auto
}
.magic-ring {
	width           : 220px;
	height          : 220px;
	border-radius   : 50%;
	position        : relative;
	display         : flex;
	justify-content : center;
	align-items     : center;
	box-shadow      : 0 10px 30px rgba(0, 0, 0, 0.08);
	background      : conic-gradient(from 180deg, rgb(255, 158, 0), rgb(255, 102, 0), rgb(255, 0, 85), rgb(157, 78, 221) var(--angle), rgb(226, 232, 240) var(--angle));
	animation       : pulse-colors 5s linear infinite alternate;
	--angle         : 0deg
}
.magic-ring::before {
	content          : "";
	position         : absolute;
	inset            : 15px;
	background-color : var(--white);
	border-radius    : 50%;
	z-index          : 2
}
.ring-content {
	position   : relative;
	z-index    : 3;
	text-align : center
}
.count-number {
	font-size      : 2.2rem;
	font-weight    : 800;
	color          : var(--dark-bg);
	letter-spacing : -1px;
	line-height    : 1
}
.count-label {
	font-size      : 0.85rem;
	text-transform : uppercase;
	letter-spacing : 2px;
	color          : #64748B;
	font-weight    : 600;
	margin-top     : 5px
}
@keyframes pulse-colors {
	0% {
		filter : hue-rotate(0deg);
	}
	100% {
		filter : hue-rotate(-20deg);
	}
}
.info-card {
	background    : var(--white);
	padding       : 25px;
	border-radius : var(--radius);
	border        : 1px solid var(--border)
}
.info-header {
	margin-bottom  : 15px;
	border-bottom  : 2px solid #F1F5F9;
	padding-bottom : 10px
}
.info-header h3 {
	color     : var(--dark-bg);
	font-size : 1.2rem
}
.info-desc {
	font-size     : 0.9rem;
	color         : #64748B;
	margin-bottom : 15px;
	line-height   : 1.4
}
.info-list {
	list-style : none
}
.info-list li {
	margin-bottom : 8px
}
.info-btn {
	display          : flex;
	justify-content  : space-between;
	align-items      : center;
	padding          : 12px;
	background-color : #FFF;
	border           : 1px solid #E2E8F0;
	border-radius    : var(--radius);
	text-decoration  : none;
	color            : var(--text-main);
	font-weight      : 600;
	font-size        : 0.9rem;
	transition       : all 0.2s
}
.info-btn:hover {
	border-color     : var(--orange-brand);
	color            : var(--orange-brand);
	background-color : #FFF7ED
}
.alert-btn {
	border-left : 4px solid #EF4444;
	color       : #B91C1C
}
.alert-btn:hover {
	background-color : #FEF2F2;
	color            : #991B1B
}
.view-all-link {
	display         : block;
	text-align      : center;
	margin-top      : 15px;
	color           : var(--orange-brand);
	font-weight     : 600;
	text-decoration : none;
	font-size       : 0.9rem
}
.view-all-link:hover {
	text-decoration : underline
}
.contact-section {
	background-color : var(--dark-bg);
	color            : white;
	padding          : 50px 0;
	margin-top       : 50px
}
.contact-grid {
	display               : grid;
	grid-template-columns : 1fr;
	gap                   : 40px
}
@media all and (min-width : 768px) {
	.contact-grid {
		grid-template-columns : 1fr 1fr
	}
}
.contact-info h3 {
	font-size     : 1.5rem;
	margin-bottom : 15px;
	color         : var(--orange-brand)
}
.contact-info p {
	margin-bottom : 10px;
	line-height   : 1.6;
	opacity       : 0.9
}
.contact-form input, .contact-form textarea {
	width            : 100%;
	background-color : rgba(255, 255, 255, 0.1);
	border           : 1px solid rgba(255, 255, 255, 0.2);
	color            : white;
	margin-bottom    : 15px;
	padding          : 12px;
	border-radius    : var(--radius)
}
.contact-form input:focus {
	border-color : var(--orange-brand);
	outline      : none
}
.contact-form button {
	background-color : var(--orange-brand);
	border           : none;
	padding          : 12px 30px;
	color            : white;
	font-weight      : bold;
	border-radius    : var(--radius);
	cursor           : pointer
}
footer {
	background-color : #0F172A;
	color            : #64748B;
	text-align       : center;
	padding          : 30px 0;
	font-size        : 0.85rem;
	border-top       : 1px solid #1E293B
}
footer a {
	color           : #94A3B8;
	text-decoration : none;
	transition      : color 0.2s;
	margin          : 0 10px
}
footer a:hover {
	color           : var(--orange-brand);
	text-decoration : underline
}
.body-no-scroll {
	overflow : hidden !important;
	height   : 100vh
}
.text-placeholder {
	color : #94A3B8 !important;
}
select option {
	color : #334155;
}
select option[value=""] {
	color : #94A3B8;
}
.ts-wrapper.text-placeholder .ts-control .item {
	color : #94A3B8 !important;
}
.ts-dropdown .option {
	color : #334155 !important;
}
.ts-dropdown .option[data-value="-1"] {
	color : #94A3B8 !important;
}

/* --- CORREÇÃO DO MENU (SEM ESTRAGAR O RODAPÉ) --- */

/* 1. Força o menu a abrir para BAIXO */
.ts-dropdown {
	top        : 100% !important;
	bottom     : auto !important;
	margin-top : 5px !important;
	z-index    : 9999 !important;
}

/* 2. Limita a altura da lista (Scroll interno) para não precisar de espaço na tela */
.ts-dropdown-content {
	max-height : 250px !important;
	overflow-y : auto !important;
}

/* 3. Ajuste visual do campo */
.ts-control {
	border        : 1px solid #CED4DA !important;
	border-radius : 8px !important;
	padding       : 10px !important;
	box-shadow    : none !important;
}

/* (Removi o padding-bottom gigante do body que estava te incomodando) */

/* --- ESTILO DO MODAL (ALERTA CENTRAL) --- */

/* Fundo escuro e desfocado que cobre a tela inteira */
.modal-overlay {
	position                : fixed;
	top                     : 0;
	left                    : 0;
	width                   : 100%;
	height                  : 100%;
	background-color        : rgba(0, 0, 0, 0.5); /* Fundo escuro transparente */
	backdrop-filter         : blur(5px); /* Desfoque do fundo */
	-webkit-backdrop-filter : blur(5px);
	z-index                 : 10000; /* Bem alto para ficar acima de tudo */

	display                 : flex;
	justify-content         : center;
	align-items             : center;

	opacity                 : 0;
	visibility              : hidden;
	transition              : all 0.3s ease;
}

/* Quando ativo, aparece */
.modal-overlay.show {
	opacity    : 1;
	visibility : visible;
}

/* A caixa branca do alerta */
.modal-box {
	background    : #FFF;
	width         : 90%;
	max-width     : 400px;
	padding       : 30px;
	border-radius : 12px;
	box-shadow    : 0 20px 50px rgba(0, 0, 0, 0.3);

	transform     : scale(0.8);
	transition    : transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	text-align    : center;
	position      : relative;
}

/* Animação de "pulo" ao abrir */
.modal-overlay.show .modal-box {
	transform : scale(1);
}

/* Ícone */
.modal-icon {
	width           : 60px;
	height          : 60px;
	background      : #FFF3E0;

	font-size       : 30px;
	border-radius   : 50%;
	display         : flex;
	align-items     : center;
	justify-content : center;
	margin          : 0 auto 20px auto;
}

.modal-title {
	font-size     : 1.25rem;
	font-weight   : 800;
	color         : #333;
	margin-bottom : 10px;
	display       : block;
}

.modal-text {
	color         : #666;
	font-size     : 0.95rem;
	line-height   : 1.5;
	margin-bottom : 0;
}

.textoObservacao {
	margin-top : 15px;
	text-align : justify;
	color      : #000575;
}
.container-contato {
	margin-top      : 10px;
	display         : flex;
	font-size       : 15px;
	flex-wrap       : wrap; /* Permite que o conteúdo quebre a linha */
	justify-content : center; /* Centraliza horizontalmente */
	text-align      : center; /* Centraliza o texto dentro dos elementos */
	gap             : 5px; /* Espaço entre o texto e o e-mail */
	color           : #000; /* Ajuste a cor conforme necessário */
}

.email-link {
	color           : #FF570E;
	text-decoration : none;
	word-break      : break-all; /* Evita que o e-mail ultrapasse a borda em celulares muito pequenos */
}

.plugin-dropdown_input.focus .ts-dropdown .dropdown-input {
	/*border-color  : #F60;*/
	/*border-width  : 2px;*/
	/*box-shadow    : none;*/
	/*outline       : 0;*/
	/*border-radius : 5px;*/

	border-color  : dodgerblue;
	box-shadow    : 0 0 8px 0 dodgerblue;
	border-radius : 5px;
	outline       : none;
}
/* Seção de Contato - Padronização Profissional */
.contact-section {
	background-color : #0F172A; /* Seu dark-bg padronizado */
	padding          : 60px 0;
	color            : #FFF;
	font-family      : 'Inter', sans-serif;
}

.contact-info h3 {
	color         : #F60; /* Laranja da marca */
	font-size     : 2rem;
	font-weight   : 800;
	margin-bottom : 15px;
}

/* O texto que estava "sumindo" agora tem contraste */
.contact-info p {
	color         : #94A3B8;
	font-size     : 1.1rem;
	line-height   : 1.6;
	margin-bottom : 25px;
}

/* Container do E-mail organizado */
.email-box {
	display     : flex;
	align-items : center;
	gap         : 12px;
}

.email-box i { /* Se usar FontAwesome ou similar */
	color : #F60;
}

.email-label {
	font-weight : 700;
	color       : #FFF;
}

.email-link {
	color           : #F60;
	text-decoration : none;
	font-weight     : 700;
	transition      : filter 0.2s;
}

.email-link:hover {
	filter          : brightness(1.2);
	text-decoration : underline;
}

/* Inputs do Formulário */
.contact-form input,
.contact-form textarea {
	background    : #1E293B !important;
	border        : 1px solid #334155 !important;
	color         : #F8FAFC !important;
	padding       : 12px 15px;
	border-radius : 8px;
	width         : 100%;
	margin-bottom : 12px;
}

/* Placeholder com cor legível */
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color : #64748B;
}

.contact-form button {
	background-color : #F60;
	color            : #FFF;
	font-weight      : 700;
	border           : none;
	padding          : 14px 28px;
	border-radius    : 8px;
	cursor           : pointer;
	transition       : background 0.2s;
}

.contact-form input,
.contact-form textarea {
	/* Força a mesma fonte do site */
	font-family   : inherit !important;
	font-size     : 1rem;

	/* Cores e Bordas */
	background    : #1E293B !important;
	border        : 1px solid #334155 !important;
	color         : #F8FAFC !important;
	padding       : 12px 15px;
	border-radius : 8px;
	width         : 100%;
	margin-bottom : 12px;
	transition    : all 0.2s ease;
}

/* Padroniza o Focus para ambos (estilo azul dodgerblue que você usou no topo) */
.contact-form input:focus,
.contact-form textarea:focus {
	border-color : dodgerblue !important;
	box-shadow   : 0 0 8px 0 dodgerblue !important;
	outline      : none !important;
	background   : #1E293B !important; /* Mantém o fundo igual no foco */
}

/* Remove aquele resize "feio" que quebra o layout, se quiser */
.contact-form textarea {
	resize     : vertical;
	min-height : 120px;
}

/* Ajuste fino nos placeholders para ficarem idênticos */
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color   : #64748B;
	opacity : 1;
}

footer {
	background-color : #0F172A; /* Alinhado com a seção de contato */
	padding          : 50px 0;
	color            : #94A3B8;
	text-align       : center;
	border-top       : 1px solid #1E293B;
	font-family      : "Inter", sans-serif; /* Unificando as fontes */
}

.footer-content {
	display        : flex;
	flex-direction : column;
	align-items    : center;
	gap            : 15px;
}

/* Estilização da Logo no Rodapé */
.footer-logo {
	font-size       : 1.8rem;
	font-weight     : 800;
	color           : #F60; /* var(--orange-brand) */
	text-decoration : none;
	letter-spacing  : -1px;
	margin-bottom   : 5px;
}

.footer-logo:hover {
	text-decoration : none;
}

.footer-logo span {
	color : #FFF;
}

.copyright {
	font-size : 0.95rem;
	margin    : 10px 0;
}

/* Links Legais */
.footer-legal {
	display     : flex;
	align-items : center;
	gap         : 12px;
	font-size   : 0.9rem;
}

.footer-legal a {
	color           : #94A3B8;
	text-decoration : none;
	font-weight     : 600;
	transition      : color 0.2s;
}

.footer-legal a:hover {
	color : #F60;
}

.divider {
	color   : #334155;
	opacity : 0.5;
}

/* Ajuste Responsivo */
@media (max-width : 600px) {
	.footer-legal {
		flex-direction : column;
		gap            : 8px;
	}
	.divider {
		display : none;
	}
}

/*MODAL COMO USAR*/

/* --- RESET E OVERLAY --- */
.modal-pf-overlay {
	display         : none; /* Só aparece via JS */
	position        : fixed;
	inset           : 0;
	background      : rgba(15, 23, 42, 0.8);
	backdrop-filter : blur(8px);
	z-index         : 9999;
	align-items     : center;
	justify-content : center;
	padding         : 20px;
}

.modal-pf-overlay.active {
	display : flex;
}

/* --- CAIXA DA MODAL --- */
.modal-pf-box {
	background    : #FFF;
	width         : 100%;
	max-width     : 550px;
	border-radius : 16px;
	box-shadow    : 0 25px 50px -12px rgba(0, 0, 0, 0.5);
	overflow      : hidden;
	animation     : modalSlide 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes modalSlide {
	from { transform : translateY(30px); opacity : 0; }
	to { transform : translateY(0); opacity : 1; }
}

/* --- HEADER --- */
.modal-pf-header {
	background      : #1E293B;
	padding         : 20px 25px;
	display         : flex;
	justify-content : space-between;
	align-items     : center;
	border-bottom   : 4px solid #F60;
}

.header-title {
	display     : flex;
	align-items : center;
	gap         : 12px;
}

.header-title h3 {
	color       : #FFF;
	margin      : 0;
	font-size   : 1.25rem;
	font-weight : 800;
}

.btn-close-x {
	background : none;
	border     : none;
	color      : #94A3B8;
	font-size  : 28px;
	cursor     : pointer;
	transition : color 0.2s;
}

.btn-close-x:hover { color : #F60; }

/* --- BODY & STEPPER --- */
.modal-pf-body {
	padding    : 30px 25px;
	max-height : 70vh;
	overflow-y : auto;
}

.stepper {
	display        : flex;
	flex-direction : column;
	gap            : 25px;
}

.step, .step-final {
	display : flex;
	gap     : 15px;
}

.step-number {
	background      : #F1F5F9;
	color           : #1E293B;
	min-width       : 32px;
	height          : 32px;
	border-radius   : 50%;
	display         : flex;
	align-items     : center;
	justify-content : center;
	font-weight     : 800;
	font-size       : 0.9rem;
	border          : 2px solid #E2E8F0;
}

.step-final .step-number {
	background   : #F60;
	color        : #FFF;
	border-color : #F60;
}

.step-info strong {
	display       : block;
	color         : #1E293B;
	margin-bottom : 4px;
	font-size     : 1rem;
}

.step-info p {
	color       : #64748B;
	font-size   : 0.9rem;
	margin      : 0;
	line-height : 1.5;
}

/* --- FOOTER --- */
.modal-pf-footer {
	padding    : 20px 25px;
	background : #F8FAFC;
	border-top : 1px solid #E2E8F0;
	text-align : right;
}

.btn-primary-pf {
	background    : #F60;
	color         : #FFF;
	border        : none;
	padding       : 12px 30px;
	border-radius : 8px;
	font-weight   : 700;
	cursor        : pointer;
	transition    : background 0.2s;
}

.btn-primary-pf:hover { background : #E65C00;}

/* --- ESTILO DA POLÍTICA DE PRIVACIDADE --- */
.privacy-policy-section {
	padding          : 60px 0;
	background-color : var(--light-bg);
}

.policy-grid {
	display               : grid;
	grid-template-columns : repeat(auto-fit, minmax(300px, 1fr));
	gap                   : 25px;
	margin-top            : 40px;
}

.policy-card {
	background    : var(--white);
	padding       : 30px;
	border-radius : var(--radius);
	border        : 1px solid var(--border);
	transition    : transform 0.2s;
}

.policy-card:hover {
	transform    : translateY(-5px);
	border-color : var(--orange-brand);
}

.highlight-card {
	border-top : 5px solid var(--orange-brand);
}

.card-header {
	display       : flex;
	align-items   : center;
	gap           : 15px;
	margin-bottom : 20px;
}

.card-icon {
	font-size : 1.5rem;
}

.policy-card h3 {
	margin    : 0;
	color     : var(--dark-bg);
	font-size : 1.2rem;
}

.policy-card p, .policy-card li {
	font-size   : 0.95rem;
	color       : var(--text-main);
	line-height : 1.6;
}

.policy-card ul {
	padding-left : 20px;
	margin-top   : 10px;
}

.policy-footer {
	margin-top    : 50px;
	text-align    : center;
	padding       : 30px;
	background    : var(--white);
	border-radius : var(--radius);
	border        : 1px dashed var(--border);
}

.email-link {
	color           : var(--orange-brand);
	font-weight     : 700;
	text-decoration : none;
}

.policy-grid {
	display               : grid;
	grid-template-columns : repeat(auto-fit, minmax(280px, 1fr));
	gap                   : 20px;
	padding               : 10px 0;
}

.policy-card {
	background    : #F8FAFC;
	padding       : 20px;
	border-radius : 12px;
	border        : 1px solid #E2E8F0;
}

.policy-card h4 {
	color     : #1E293B;
	margin    : 0;
	font-size : 1rem;
}

.policy-card p, .policy-card li {
	font-size   : 0.85rem;
	color       : #64748B;
	margin-top  : 8px;
	line-height : 1.5;
}

.highlight-card {
	border-left : 4px solid #F60;
}

/* Reutilizando a estrutura de overlay e box para consistência visual */
.modal-termos-overlay {
	display         : none;
	position        : fixed;
	inset           : 0;
	background      : rgba(15, 23, 42, 0.8);
	backdrop-filter : blur(8px);
	z-index         : 10000;
	align-items     : center;
	justify-content : center;
	padding         : 20px;
}

.modal-termos-overlay.active {
	display : flex;
}

.modal-termos-box {
	background    : #FFF;
	width         : 100%;
	max-width     : 700px;
	border-radius : 16px;
	box-shadow    : 0 25px 50px -12px rgba(0, 0, 0, 0.5);
	overflow      : hidden;
	animation     : modalSlidePF 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes modalSlidePF {
	from { transform : translateY(30px); opacity : 0; }
	to { transform : translateY(0); opacity : 1; }
}

.modal-termos-header {
	background      : #1E293B;
	padding         : 20px 25px;
	display         : flex;
	justify-content : space-between;
	align-items     : center;
	border-bottom   : 4px solid #F60;
}

.modal-termos-header h3 {
	color       : #FFF;
	margin      : 0;
	font-size   : 1.25rem;
	font-weight : 800;
}

.termos-grid {
	display               : grid;
	grid-template-columns : repeat(auto-fit, minmax(280px, 1fr));
	gap                   : 20px;
	padding               : 20px 0;
}

.termos-card {
	background    : #F8FAFC;
	padding       : 20px;
	border-radius : 12px;
	border        : 1px solid #E2E8F0;
}

.termos-card h4 {
	color         : #1E293B;
	margin-bottom : 10px;
	font-size     : 1rem;
	display       : flex;
	align-items   : center;
	gap           : 8px;
}

.termos-card p {
	font-size   : 0.85rem;
	color       : #64748B;
	line-height : 1.5;
	margin      : 0;
}

.warning-card {
	border-left : 4px solid #EF4444; /* Vermelho para avisos críticos */
}

.modal-termos-footer {
	padding    : 20px 25px;
	background : #F8FAFC;
	border-top : 1px solid #E2E8F0;
	text-align : right;
}


.ad-container {
    width: 100% !important; 
    min-width: 250px !important; 
    min-height: 90px !important;
    display: block !important; 
}