/* ...................... geral ................................................................................................................................................. */


html							{ height:100%; width:100%; }

body							{ height:100%; width:100%; background:#fff; margin:0; line-height:160%; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight:400; font-size:16px; font-style: normal; color:#574535; }

input, textarea, select, option				{ font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;  }

input[type=submit]					{ -webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; transition: all 0.3s ease; }

h1, h2, h3, h4, h5, h6					{ font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-weight: 300; padding:0; margin:0; }

img							{ border:none; }

a							{ color:#1A1A1A; text-decoration:none; -webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; transition: all 0.3s ease; }
a:hover							{ color:#5FA347; text-decoration:underline; }

::selection						{ background:#574535; color:#fff; }
::-moz-selection					{ background:#574535; color:#fff; }

form							{ margin:0; padding:0; }
  fieldset						{ margin:0; padding:0; border:none; }

.clear							{ clear:both; display:block; }
body li.clear						{ clear:both; height:0; padding:0; margin:0; width:100%; float:none; }

.tudo							{ min-height:100%; position:relative; width:100%; }
* html .tudo						{ height:100%; }


.conteudo						{ max-width:1300px; margin:0 auto; padding:0 40px 0 40px; box-sizing:border-box; }


@media only screen and (max-width : 900px) {

.conteudo						{ max-width:100%; padding:0 20px 0 20px; }

}

.background 						{ background:#fff; }

.background_marrom					{ background:#574535;}
.background_marrom.espacosuperior			{ padding-top:40px; }
.background_marrom.espacoinferior			{ padding-bottom:40px; }

h1							{ width:100%; margin:0 auto; font-size:70px; line-height:120%; text-align:center; text-transform:uppercase; font-weight:500; color:#574535; }
h1 a							{ color:#574535; text-decoration:none; }
h1 a:hover						{ color:#8ECB72; text-decoration:none; }

h1.branco 						{ color:#FFF; }
h1.espacosuperior					{ padding-top:40px; }
h1.espacoinferior					{ padding-bottom:40px; }
h1.espacosuperiormenor					{ padding-top:20px; }
h1.espacosuperiormenor					{ padding-bottom:20px; }

h2							{ width:100%; margin:0 auto; font-size:40px; line-height:120%; font-weight:400; color:#5FA347; }
h3							{ width:100%; margin:0 auto; padding:0; font-size:24px; line-height:120%; font-weight:500; color:#574535; }

@media only screen and (max-width : 900px) {

h1							{ font-size:30px; }
h2							{ font-size:24px; }

h1.espacosuperior					{ padding-top:20px; }
h1.espacoinferior					{ padding-bottom:20px; }

h3							{ font-size:16px; }

.background_marrom.espacosuperior			{ padding-top:20px; }
.background_marrom.espacoinferior			{ padding-bottom:20px; }
}

/* ...................... cabeçalho ............................................................................................................................................. */


.cab 							{ position: relative; height: 140px; margin: 0 auto; z-index: 500; }
.cab .logotipo 						{ height:100px; padding:20px 0; margin:0; }
.cab .logotipo img,
.cab .logotipo_smart img 				{ height: 100%; width: auto; padding:0; margin:0; }
.cab .logotipo_smart 					{ display: none; height: 100px; padding:10px 0; text-align: center; }

#box_menu 						{ display: block; position: absolute; top: 0; right: 0; width: calc(100% - 260px); height:140px; background:#fff;}

.cab .menu 						{ position: absolute; top:auto; bottom:20px; right: 0; font-family: Helvetica, Arial, sans-serif; font-weight: 700; }

.menu ul 						{ display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.menu li 						{ position: relative; margin: 0; padding: 0; }

.menu li a 						{
							display: block;
							padding: 7px 20px;
							color: #4b3524;
							font-size: 16px;
							font-weight: 700;
							text-decoration: none;
							white-space: nowrap;
							border-radius: 20px;
							letter-spacing: .2px;
							transition: 0.2s;
							}


.menu li a:hover,
.menu li a.ativo,
.menu li:hover > a 					{ background: #574535; color: #fff; }

/* Submenu desktop */
.menu li ul 						{
							display: none;
							position: absolute;
							top: 100%;
							left: 0;
							min-width: 220px;
							background: #fff;
							box-shadow: 0 4px 12px rgba(0,0,0,0.15);
							z-index: 9999;
							}

.menu li:hover > ul 					{ display: block; }
.menu li ul li 						{ width: 100%; }
.menu li ul li a 					{ font-size: 16px; color: #574535; border-radius: 0; white-space: nowrap; }
.menu li ul li a:hover 					{ background: #574535; color: #fff; }

/* =========================================================
   TOPO CONTATO
========================================================= */

.topo_contato {
	position:absolute;
	top:20px;
	right:0;
	width:100%;
	height:40px;
	background:#fff;

	display:flex;
	align-items:center;
	justify-content:flex-end;

	border-bottom:0;
	z-index:9999;
}


.topo_contato_rel {
	display:flex;
	align-items:center;
	gap:12px;
}

/* LINKS */

.topo_contato a{
	display:flex;
	align-items:center;
	text-decoration:none;
	color:#574535;
	transition:.25s;
}

.topo_contato a:hover{
	opacity:1;
	transform:translateY(-2px);
}

/* ÍCONES */

.topo_contato a::before {
	content:'';

	width:38px;
	height:38px;

	border:1px solid #E5E0D7;
	border-radius:100px;

	display:block;

	background-position:center;
	background-repeat:no-repeat;
	background-size:20px;

	box-sizing:border-box;
	transition:.25s;
}

.topo_contato a:hover::before {
	border-color:#574535;
	background-color:#FAF7F2;
}


/* ICONES SVG */

.topo_contato a.facebook::before{
	background-image:url('images/icones/facebook.svg');
}

.topo_contato a.youtube::before{
	background-image:url('images/icones/youtube.svg');
}

.topo_contato a.instagram::before{
	background-image:url('images/icones/instagram.svg');
}

.topo_contato a.whatsapp::before{
	background-image:url('images/icones/whatsapp.svg');
}

.topo_contato a.localizacao::before{
	background-image:url('images/icones/local.svg');
}

/* TELEFONE */

.topo_contato a.whatsapp{
	display:flex;
	align-items:center;

	height:38px;
	padding:0 14px 0 10px;

	border:1px solid #E5E0D7;
	border-radius:100px;

	background:#FAF7F2;
	box-sizing:border-box;

	white-space:nowrap;
}

.topo_contato a.whatsapp::before{
	width:20px;
	height:20px;

	border:0;
	border-radius:0;

	background-size:20px;
	background-position:center;
	background-repeat:no-repeat;

	flex-shrink:0;
}



.topo_contato a.whatsapp span{
	margin-left:8px;

	font-size:16px;
	font-weight:700;

	color:#4b3524;
	line-height:1;
}




/* Ícones mobile */
/* https://lucide.dev/icons/menu  usei esse site para gerar os icones */
#ico_menu 						{ display: none; position: absolute; top: 20px; right: 20px; height: 34px; aspect-ratio: 1 / 1; background: url('images/icones/menu.svg') center center no-repeat; background-size: contain; cursor: pointer; z-index: 9988; }
#ico_fechar 						{ display: none; position: absolute; top: 15px; right: 20px; height: 30px; aspect-ratio: 1 / 1; background: url('images/icones/fechar.svg') center center no-repeat; background-size: contain; cursor: pointer; z-index: 9999; }

/* Responsivo */
@media only screen and (max-width: 1300px) 		{

.cab 							{ height: auto; min-height: 90px; }
.cab .logotipo 						{ display: none; }
.cab .logotipo_smart 					{ display: block; margin: 10px auto; padding: 0; height: 70px; }

#ico_menu 						{ display: block; }
#box_menu 						{ display: none; position: fixed; top: 0; right: -700px; width: 80%; max-width: 420px; height: 100%; background: #fff; padding: 75px 20px 30px 20px; box-sizing: border-box; box-shadow: 0 0 8px rgba(0,0,0,0.3); z-index: 9998; overflow-y: auto; }
#ico_fechar 						{ display: block; }

.cab .menu 						{ position: relative; top: auto; right: auto; }
.menu ul 						{ display: block; }
.menu li 						{ border-bottom: 1px solid #eee; }
.menu li a 						{ font-size: 17px; padding: 13px 8px; border-radius: 0; }
.menu li:hover > ul 					{ display: none; }
.menu li ul 						{ display:none; position:relative; top:auto; left:auto; width:100%; min-width:100%; box-shadow:none; background:#f7f7f7; padding:5px 0; margin-top:5px; }
.menu li.aberto > ul 					{ display:block; }
.menu li ul li a 					{ padding-left: 25px; font-size: 15px; }

.topo_contato						{ display:none;	}


}

/* ...................... banner inicial ........................................................................ */

#novo_banner_geral{
	position:relative;
	display:block;
	width:100%;
	height:527px;
	margin:0 auto;
	padding:0;
	z-index:1;
	overflow:hidden;
}

#novo_banner_geral_rel{
	position:relative;
	display:flex;
	height:527px;
	align-items:center;
	justify-content:center;
	z-index:2;
}

#novo_banner{
	position:relative;
	display:block;
	width:100%;
	height:527px;
	margin:0 auto;
	padding:0;
	z-index:10;
}

#novo_banner_item{
	position:relative;
	width:100%;
	height:527px;
	margin:0 auto;
	padding:0;
	z-index:11;
	overflow:hidden;
}

.slide_fundo{
	position:relative;
	width:100%;
	height:100%;
	background:url("images/banner_video_capa.jpg") center center / cover no-repeat;
}

.slide_fundo.video_bloqueado video{
	display:none;
}

/* camada escura */
.slide_fundo:after{
	content:"";
	position:absolute;
	inset:0;
	background:rgba(0,0,0,.0);
	z-index:15;
}

/* vídeo */

.slide_fundo video{
	position:absolute;
	top:50%;
	left:50%;
	width:100%;
	height:100%;
	object-fit:cover;
	transform:translate(-50%,-50%);
	z-index:12;
}

/* conteúdo */

.banner_item_conteudo{
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	z-index:30;
}

.banner_item_conteudo_rel{
	position:relative;
	max-width:1300px;
	color:#fff;
	margin:0 auto;
	text-align:center;
	height:100%;
	padding:0 40px;

	display:flex;
	flex-direction:column;
	justify-content:center;

	box-sizing:border-box;
	z-index:33;
}

.banner_item_conteudo_rel .titulo{
	width:100%;
	font-size:70px;
	font-family:'Montserrat', Helvetica, Arial, sans-serif;
	font-weight:700;
	color:#fff;

	text-shadow:
	0 0 8px rgba(0,0,0,.35),
	0 0 18px rgba(0,0,0,.25),
	2px 2px 6px rgba(0,0,0,.20);

	text-transform:uppercase;
}

.banner_item_conteudo_rel .titulo2{
	width:100%;
	font-size:24px;
	font-family:'Montserrat', Helvetica, Arial, sans-serif;
	font-weight:400;
	color:#fff;

	text-shadow:
	0 0 8px rgba(0,0,0,.35),
	0 0 18px rgba(0,0,0,.25),
	2px 2px 6px rgba(0,0,0,.20);

	line-height:120%;
	padding-top:30px;
}


/* MOBILE */

@media only screen and (max-width:1300px){

#novo_banner_geral,
#novo_banner_geral_rel,
#novo_banner,
#novo_banner_item{
	height:380px;
}

.banner_item_conteudo_rel{
	padding:40px 20px;
}

.banner_item_conteudo_rel .titulo{
	font-size:32px;
}

.banner_item_conteudo_rel .titulo2{
	font-size:16px;
	padding-top:15px;
}

}


/* ...................... Destaques dos animais ............................................................................................................................................... */


.caixas_animais						{ width:100%; height:100%; min-height:100%; top:0;  z-index:30; background:#FAF7F2;  }
.caixas_animais_rel					{ position:relative; max-width:1300px; color:#fff; margin:0 auto; height:100%; padding:80px 40px; min-height:100%; box-sizing:border-box; z-index:33; }	

.animais_tabs						{ display:flex; gap:40px; margin-bottom:35px; padding-bottom:18px; }
  .animal_tab						{ position:relative; height:auto; padding:0 0 14px 0; background:none; border:none; font-family:'Montserrat', Helvetica, Arial, sans-serif; font-size:35px; font-weight:500; color:#8c8378; cursor:pointer; transition:.3s; }
  .animal_tab:hover					{ color:#574535; }
  .animal_tab.ativo					{ color:#574535; }

  /* LINHA VERDE */
  .animal_tab:after					{ content:''; position:absolute; left:0; bottom:0; width:0; height:3px; background:#5FA347; transition:.35s ease; }

  /* HOVER */
  .animal_tab:hover:after				{ width:70px; }

  /* ATIVO */
  .animal_tab.ativo:after				{ width:90px; }


  .animal_categoria					{ display:none; }
  .animal_categoria.ativo				{ display:block; }
  .animal_area						{ position:relative; }
  .animais_carrossel					{ overflow:hidden; width:100%; padding:0 8px; box-sizing:border-box; }
  
  .animal_track						{ display:flex; gap:20px; transition:transform .5s ease; will-change:transform; }

  .animal_item						{ position:relative; width:240px; flex:none; background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 5px 20px rgba(0,0,0,.08); transition:.35s; text-decoration:none; display:flex; flex-direction:column; cursor:pointer; color:inherit; }
  .animal_item:hover					{ transform:translateY(-6px); box-shadow:0 15px 30px rgba(0,0,0,.15); text-decoration:none; color:#fff; }
    .animal_item .foto img				{ width:100%; display:block; aspect-ratio: 3 / 2; object-fit:cover; }
    .animal_item .conteudo				{ background:#574535; padding:16px; font-size:14px; font-weight:400; color:#fff; display:flex; flex-direction:column; flex:1; width:100%; }  
    .animal_item .info					{ margin-top:12px; }
    .animal_item .nome					{ font-family: 'Montserrat', Helvetica, Arial, sans-serif; font-size:20px; font-weight:500; color:#fff; text-transform:uppercase; }
    .animal_item:hover .nome				{ color:#8ECB72; }
    .bt_saiba						{ height:46px; background:#fff; display:flex; align-items:center; justify-content:center; text-decoration:none; color:#1A1A1A; font-weight:700; border-radius:4px; margin-top:auto; transition:.3s; border:1px solid transparent; pointer-events:none; }
    .bt_saiba:hover					{ color:#5FA347; border-color:#5FA347; }


/* ...................... Setas ............................................................................................................................................... */

.animal_seta						{ position:absolute; top:50%; transform:translateY(-50%); width:56px; height:56px; border-radius:100%; background:#ffffff; box-shadow:0 5px 20px rgba(0,0,0,.12); display:flex; align-items:center; justify-content:center; font-size:42px; line-height:42px; color: #574535; cursor:pointer; z-index:20; transition:.3s; user-select:none; }
.animal_seta:hover					{ transform:translateY(-50%) scale(1.08); background:#8ECB72; color:#fff; }
.animal_seta.esquerda					{ left:-5px; }
.animal_seta.direita					{ right:-5px; }

/* ...................... Bolinhas ............................................................................................................................................... */

.animal_bolinhas					{ display:flex; justify-content:center; gap:12px; margin-top:32px; }
.animal_bolinhas div					{ width:10px; height:10px; border-radius:100%; background:#fff; box-shadow:0 0 0 3px rgba(87,69,53,.25); cursor:pointer; transition:.3s; }
.animal_bolinhas div.ativo				{ background:#574535; box-shadow:0 0 0 3px rgba(87,69,53,.25); }


/* TABLET */
@media screen and (max-width: 980px)			{

.caixas_animais_rel					{ padding:40px 20px; }

.animais_tabs						{ gap:24px; flex-wrap:wrap; }
  .animal_tab						{ font-size:35px; }

  .animal_item						{ width:calc(50vw - 30px); max-width:none; }

.animal_seta						{ width:48px; height:48px; font-size:34px; }

}

/* MOBILE */
@media screen and (max-width: 640px)			{

.animais_tabs						{ gap:14px; margin-bottom:25px; padding-bottom:12px; }
  .animal_tab						{ font-size:28px; }

  .animais_carrossel					{ padding:0; }
  
  .animal_track						{ gap:0; padding:0; }

  .animal_item						{ width:100%; flex:none; }
    .animal_item .nome					{ font-size:18px; }
    .animal_item .conteudo				{ padding:14px; }

.animal_seta						{ width:42px; height:42px; font-size:28px; }
.animal_seta.esquerda					{ left:-8px; }
.animal_seta.direita					{ right:-8px; }

}


/* VITRINE INTERNA */

.animal_vitrine{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:20px;
	margin:80px 0;
}

/* item ocupa espaço automático */
.animal_vitrine .animal_item{
	width:100%;
}

@media screen and (max-width:980px){

.animal_vitrine{
	grid-template-columns:repeat(2, 1fr);
}

}

@media screen and (max-width:640px){

.animal_vitrine{
	grid-template-columns:1fr;
	margin:40px 0;
}

}


/* ....................................................................
ITEM - TEXTO ANIMAL
.................................................................... */

.animal_texto{

}

.animal_texto p{
	margin:0 0 24px 0;
}

/* ....................................................................
   TABELA
.................................................................... */

.animal_tabela{
	width:100%;
	border-collapse:collapse;
	margin-bottom:35px;
	font-size:16px;
}

.animal_tabela tr{
	border-bottom:1px solid #D8D2CB;
}

.animal_tabela th{
	width:32%;
	padding:5px 10px;
	background:#FAF7F2;
	text-align:left;
	font-weight:700;
	color:#574535;
	border:1px solid #D8D2CB;
}

.animal_tabela td{
	width:68%;
	padding:5px 10px;
	background:#FFFFFF;
	color:#574535;
	border:1px solid #D8D2CB;
}

/* MOBILE */

@media screen and (max-width:700px){

.animal_texto{
	font-size:16px;
	line-height:1.7;
}

.animal_tabela{
	font-size:14px;
}

.animal_tabela th,
.animal_tabela td{
	padding:5px;
}

}


/* ....................................................................
ITEM - PDF AVALIAÇÃO
.................................................................... */

.animal_pdf{
	display:flex;
	align-items:center;
	gap:18px;
	padding:5px 10px;
	margin-top:35px;
	background:#5FA347;
	border-radius:8px;
	text-decoration:none;
	transition:.3s;
	border:none;
}

.animal_pdf:hover{
	background:#6A5441;
	transform:translateY(-2px);
	text-decoration:none;
}

.animal_pdf .icone{
	width:56px;
	height:56px;
	flex:none;
	background:#fff;
	border-radius:6px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:10px;
	box-sizing:border-box;
}

.animal_pdf .icone img{
	width:100%;
	height:auto;
	display:block;
}

.animal_pdf .texto{
	flex:1;
}

.animal_pdf .titulo{
	font-size:20px;
	font-weight:700;
	color:#fff;
	line-height:1.2;
}

.animal_pdf .subtitulo{
	font-size:14px;
	color:#FAF7F2;
	margin-top:4px;
}

/* MOBILE */

@media screen and (max-width:700px){

.animal_pdf{
	padding:5px;
	gap:14px;
}

.animal_pdf .icone{
	width:46px;
	height:46px;
}

.animal_pdf .titulo{
	font-size:16px;
}

.animal_pdf .subtitulo{
	font-size:13px;
}

}


/* ....................................................................
ITEM - GENEALOGIA
.................................................................... */

.animal_genealogia{
	width:100%;
	margin-top:40px;
	overflow-x:auto;
}

.animal_pedigree{
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
}

.animal_pedigree td{
	padding:10px;
	border:1px solid #D8D2CB;
	text-align:center;
	vertical-align:middle;
	font-size:20px;
	color:#574535;
	background:#F7F4EF;
	word-break:break-word;
	box-sizing:border-box;
}

.animal_pedigree .principal{
	width:42%;
	background:#574535;
	color:#fff;
	font-size:22px;
	font-weight:700;
	text-transform:uppercase;
}

.animal_pedigree .pai_mae{
	width:23%;
	font-weight:600;
	font-size:18px;
}

.animal_pedigree .avo{
	width:35%;
	font-size:16px;
	font-weight:500;
}

/* MOBILE */

@media screen and (max-width:700px){

.animal_pedigree td{
	padding:10px;
	font-size:12px;
}

.animal_pedigree .principal{
	font-size:16px;
}

.animal_pedigree .pai_mae{
	font-size:13px;
}

.animal_pedigree .avo{
	font-size:12px;
}

}


/* ...................... Histórias e Publicações ............................................................................................................................................... */


/* ....................................................................
   HISTÓRIA + PUBLICAÇÕES
.................................................................... */

.caixas_historias_e_publicacoes{
	width:100%;
	height:100%;
	min-height:100%;
	background:#fff;
	box-sizing:border-box;
	overflow:hidden;
}

.caixas_historias_e_publicacoes_rel{
	position:relative;
	max-width:1300px;
	margin:0 auto;
	padding:80px 40px;
	box-sizing:border-box;
}


/* GRID */

.hist_pub_grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:50px;
	align-items:start;
}


/* TÍTULO */

.titulo_secao{
	font-family:'Montserrat', Helvetica, Arial, sans-serif;
	font-size:35px;
	font-weight:500;
	color:#574535;
	margin-bottom:35px;
	position:relative;
	padding-bottom:18px;
}

.titulo_secao:after{
	content:'';
	position:absolute;
	left:0;
	bottom:0;
	width:90px;
	height:3px;
	background:#5FA347;
}


/* HISTÓRIA */

.hist_box{
	color:#727376;
}

.hist_conteudo{
	display:flex;
	gap:28px;
	align-items:flex-start;
	min-width:0;
}

.hist_foto{
	width:48%;
	flex:none;
	border-radius:10px;
	overflow:hidden;
	box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.hist_foto img{
	width:100%;
	display:block;
	aspect-ratio:4 / 3;
	object-fit:cover;
}

.hist_texto{
	flex:1;
	font-size:16px;
	line-height:140%;
	color:#727376;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
}


.bt_historia{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:50px;
	padding:0 28px;
	margin-top:20px;
	background:#5FA347;
	border-radius:5px;
	font-size:14px;
	font-weight:700;
	text-transform:uppercase;
	color:#fff;
	text-decoration:none;
	transition:.3s;
	width:auto;
	min-width:180px;
	max-width:100%;
}

.bt_historia:hover{
	background:#574535;
	text-decoration:none;
	color:#fff;
}


/* PUBLICAÇÕES */

.publicacoes_box{
	color:#727376;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	min-width:0;
}

.publicacao_item{
	display:block;
	padding:0 0 20px 0;
	margin-bottom:20px;
	border-bottom:1px solid #E8E1D8;
	text-decoration:none;
	transition:.3s;
}

.publicacao_item:hover{
	text-decoration:none;
}

.publicacao_titulo{
	font-family:'Montserrat', Helvetica, Arial, sans-serif;
	font-size:20px;
	font-weight:500;
	color:#574535;
	margin-bottom:10px;
	transition:.3s;
	text-align:left;
}

.publicacao_item:hover .publicacao_titulo{
	color:#5FA347;
}

.publicacao_resumo{
	font-size:16px;
	line-height:140%;
	color:#727376;
	margin-bottom:12px;
	text-align:left;
}

.publicacao_data{
	font-size:12px;
	font-weight:500;
	text-transform:uppercase;
	color:#727376;
	text-align:left;
}


/* ....................................................................
   TABLET
.................................................................... */

@media screen and (max-width:980px){

	.caixas_historias_e_publicacoes_rel{
		padding:60px 20px;
	}

	.hist_pub_grid{
		grid-template-columns:1fr;
		gap:60px;
	}

	.titulo_secao{
		font-size:34px;
	}

}



/* ....................................................................
   MOBILE
.................................................................... */

@media screen and (max-width:700px){

	.caixas_historias_e_publicacoes_rel{
		padding:40px 20px;
	}

	.titulo_secao{
		font-size:28px;
		margin-bottom:25px;
	}

	.hist_conteudo{
		flex-direction:column;
	}

	.hist_foto{
		width:100%;
	}

	.publicacao_titulo{
		font-size:20px;
	}


	.bt_historia{
		display:inline-flex;
		min-width:0;
		max-width:100%;
		padding:0 22px;
	}

}


/* ...................... Cadastro para News ............................................................................................................................................... */

.caixas_news {
	width:100%;
	height:100%;
	min-height:100%;
	background:#574535;
	box-sizing:border-box;
	overflow:hidden;
}

.caixas_news_rel{
	position:relative;
	max-width:1300px;
	margin:0 auto;
	padding:80px 40px;
	box-sizing:border-box;
}

/* BOX */

.news_box{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
}


/* TEXTOS */

.news_titulo{
	font-family:'Montserrat', Helvetica, Arial, sans-serif;
	font-size:35px;
	font-weight:500;
	color:#fff;
	margin-bottom:12px;
}

.news_subtitulo{
	font-size:16px;
	line-height:140%;
	color:#fff;
	margin-bottom:40px;
}


/* FORM */

.news_form{
	width:100%;
	display:grid;
	grid-template-columns:1.2fr .8fr 1.2fr auto;
	gap:14px;
	align-items:center;
}

.news_form input{
	width:100%;
	height:54px;
	font-size:16px;
	padding:0 18px;
	background:rgba(255,255,255,.96);
	border:none;
	border-radius:6px;
	box-sizing:border-box;
	outline:none;
	transition:.3s;
}

.news_form input:focus{
	background:#fff;
	box-shadow:0 0 0 3px rgba(255,255,255,.18);
}

.news_form input::placeholder{
	color:#8C8378;
}


.news_form button{
	height:54px;
	padding:0 34px;
	background:#5FA347;
	border:none;
	border-radius:6px;
	text-transform:uppercase;
	font-size:14px;
	font-weight:700;
	color:#fff;
	cursor:pointer;
	transition:.3s;
}

.news_form button:hover{
	background:#3E3024;
}

.news_msg{
	margin-top:15px;
	font-size:14px;
	color:#fff;
	opacity:0;
	transition:0.3s;
}

.news_msg.ativo{
	opacity:1;
}

/* ....................................................................
   TABLET
.................................................................... */

@media screen and (max-width:980px){

	.news_form{
		grid-template-columns:1fr 1fr;
	}

}



/* ....................................................................
   MOBILE
.................................................................... */

@media screen and (max-width:700px){

	.caixas_news_rel{
		padding:40px 20px;
	}

	.news_titulo{
		font-size:28px;
	}

	.news_subtitulo{
		margin-bottom:30px;
	}

	.news_form{
		grid-template-columns:1fr;
		gap:12px;
	}

	.news_form button{
		width:100%;
	}

}


/* ...................... Publicidade ............................................................................................................................................... */

.caixas_publicidade {
	width:100%;
	height:100%;
	min-height:100%;
	background:#fff;
	box-sizing:border-box;
	overflow:hidden;
}

.caixas_publicidade_rel{
	position:relative;
	max-width:1300px;
	margin:0 auto;
	padding:80px 40px;
	box-sizing:border-box;
}

/* Grid das marcas */

.publicidade_grid{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:25px;
}

/* Caixa da marca */

.publicidade_item{
	width:200px;
	height:110px;
	background:#fff;
	border-radius:12px;
	padding:20px;
	box-sizing:border-box;

	display:flex;
	align-items:center;
	justify-content:center;
}

/* Imagem */

.publicidade_item img{
	max-width:100%;
	max-height:100%;
	object-fit:contain;
	display:block;
}

/* ....................................................................
   MOBILE
.................................................................... */

@media screen and (max-width:700px){

	.caixas_publicidade_rel{
		padding:40px 20px;
	}

	.publicidade_grid{
		gap:15px;
	}

	.publicidade_item{
		width:calc(50% - 8px);
		height:100px;
		padding:15px;
	}
	
}



/* ...................... Rodapé .................................................................................................................................... */

.caixas_rodape {
	width:100%;
	height:100%;
	min-height:100%;
	background:#574535;
	box-sizing:border-box;
	overflow:hidden;
}

.caixas_rodape_rel{
	position:relative;
	max-width:1300px;
	margin:0 auto;
	padding:80px 40px;
	box-sizing:border-box;
	
}
  
.rodape							{ width:100%; margin:0 auto; text-align:center; box-sizing:border-box; } 

.rodape .rodape_logo					{ width:200px; text-align:center; margin:0 auto 40px auto;}
.rodape .rodape_logo img				{ width:100%; }

.rodape_redes{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	margin-bottom:40px;
}

.rodape_rede{
	width:40px;
	height:40px;
	border-radius:50%;
	background:#fff;

	display:flex;
	align-items:center;
	justify-content:center;

	transition:.3s;
	text-decoration:none;
}

.rodape_rede:hover{
	transform:translateY(-2px);
	opacity:.85;
}

.rodape_rede img{
	width:24px;
	height:24px;
	object-fit:contain;
	display:block;
}

.rodape h3						{ font-size:14px; color:#fff; }


    .mapa						{ margin:40px auto 40px auto; text-align:center; padding:0; list-style:none; }
    .mapa ul						{ position:relative; display:flex; justify-content: center; margin:0; padding:0; list-style:none; }
    .mapa li						{ margin:0; padding:0; }
    .mapa li a						{ margin:0; color:#fff; text-transform:uppercase; padding:0 15px 0 15px; display:block; font-size:14px; line-height:120%; }
    .mapa li a.ativo					{ color:#5FA347; text-decoration:none; }
    .mapa li a:hover					{ color:#5FA347; text-decoration:none; }


@media only screen and (max-width : 900px) {


    .mapa ul						{ flex-direction: column; }
    .mapa li a						{ padding:10px 0 10px 0; }
    
}



/* .......................................................................
   NOSSA HISTÓRIA / AGRICULTURA / CONTATO / QUARTO DE MILHA
........................................................................ */

.pagina{
	display:flex;
	gap:60px;
	padding:40px 0;
	align-items:flex-start;
}

.pagina_texto{
	flex:1;
	min-width:0;
}

.pagina_texto p{
	font-size:16px;
	margin-bottom:16px;
	color:#574535;
}


.pagina_galeria{
	width:420px;
	flex-shrink:0;
	position:sticky;
	top:120px;
}

.pagina_video{
	width:100%;
	margin-bottom:20px;
	border-radius:12px;
	overflow:hidden;
	background:#000;
}

.pagina_video iframe{
	width:100%;
	height:236px;
	display:block;
}


.pagina_fotos{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:15px;

}

.pagina_fotos img{
	width:100%;
	height:220px;
	object-fit:cover;
	border-radius:12px;
	display:block;
	transition:transform 0.5s ease;
	will-change:transform;
}

.pagina_fotos img:hover{
	transform:scale(1.02);
}

/* destaque */
.pagina_fotos .galeria_item:nth-child(1){
	grid-column:span 2;
}

.pagina_fotos .galeria_item:nth-child(1) img{
	height:320px;
}

.pagina_fotos .galeria_item:nth-child(4){
	grid-row:span 2;
}

.pagina_fotos .galeria_item:nth-child(4) img{
	height:455px;
}

.submenu{
	display:flex;
	justify-content:center;
	gap:15px;
	padding:25px 20px;
	border-bottom:1px solid #E5DED5;
	flex-wrap:wrap;
}

.submenu a{
	padding:10px 18px;
	border-radius:30px;
	text-decoration:none;
	font-size:15px;
	color:#5E4A3A;
	transition:0.3s;
}

.submenu a:hover{
	background:#F3EEE8;
}

.submenu a.ativo{
	background:#5E4A3A;
	color:#fff;
}


/* .......................................................................
   MOBILE
........................................................................ */

@media screen and (max-width:900px){

	.pagina{
		flex-direction:column;
		gap:40px;
		padding:20px 0;
	}

	.pagina_galeria{
		width:100%;
		position:relative;
		top:auto;
	}

	.pagina_texto p{
		font-size:16px;
		line-height:1.8;
	}

	.pagina_video iframe{
		height:220px;
	}

	.pagina_fotos{
		display:flex;
		gap:15px;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		padding-bottom:10px;
	}


	.pagina_fotos .galeria_item{
		min-width:85%;
		scroll-snap-align:center;

		/* RESET MOSAICO */
		grid-column:auto !important;
		grid-row:auto !important;
	}

	.pagina_fotos .galeria_item img{
		width:100%;
		height:240px !important;
		object-fit:cover;
	}
	
	/* classe opcional - usada na pagina animal_item para mudar a ordem do texto com a coluna da foto */
	.ordem_mobile_topo{
		order:-1 !important;
	}


}




/* .......................................................................
   GALERIA GLOBAL - História, Leiloes etc.
........................................................................ */

.galeria_modal{
	position:fixed;
	inset:0;
	z-index:999999;
	display:none;
	align-items:center;
	justify-content:center;
	padding:40px;
}

.galeria_modal.ativo{
	display:flex;
}

.galeria_overlay{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,0.92);
	backdrop-filter:blur(3px);
}

.galeria_conteudo{
	position:relative;
	z-index:2;
	max-width:1200px;
	width:100%;
	text-align:center;
}

.galeria_imagem{
	max-width:100%;
	max-height:85vh;
	border-radius:12px;
	box-shadow:0 10px 40px rgba(0,0,0,0.4);
	animation:galeriaFade 0.25s ease;
}

.galeria_legenda{
	margin-top:15px;
	font-size:15px;
	color:#fff;
	line-height:1.5;
	padding:0 20px;
}

.galeria_fechar,
.galeria_anterior,
.galeria_proxima{
	position:absolute;
	z-index:3;
	border:0;
	background:rgba(255,255,255,0.12);
	color:#fff;
	cursor:pointer;
	transition:0.3s;
	backdrop-filter:blur(4px);
}

.galeria_fechar:hover,
.galeria_anterior:hover,
.galeria_proxima:hover{
	background:rgba(255,255,255,0.22);
}

/* fechar */

.galeria_fechar{
	top:25px;
	right:25px;
	width:50px;
	height:50px;
	border-radius:50%;
	font-size:34px;
	line-height:1;
}

/* setas */

.galeria_anterior,
.galeria_proxima{
	top:50%;
	transform:translateY(-50%);
	width:60px;
	height:60px;
	border-radius:50%;
	font-size:42px;
	line-height:1;
}

.galeria_anterior{
	left:25px;
}

.galeria_proxima{
	right:25px;
}

/* hover imagem */

.galeria_item{
	display:block;
	overflow:hidden;
	border-radius:12px;
}

.galeria_item img{
	transition:transform 0.5s ease;
	will-change:transform;
}

.galeria_item:hover img{
	transform:scale(1.02);
}

/* animação */

@keyframes galeriaFade{

	from{
		opacity:0;
		transform:scale(0.96);
	}

	to{
		opacity:1;
		transform:scale(1);
	}

}


/* .......................................................................
   MOBILE
........................................................................ */

@media screen and (max-width:900px){

	.galeria_modal{
		padding:20px;
	}

	.galeria_anterior,
	.galeria_proxima{
		width:45px;
		height:45px;
		font-size:30px;
	}

	.galeria_anterior{
		left:10px;
	}

	.galeria_proxima{
		right:10px;
	}

	.galeria_fechar{
		top:10px;
		right:10px;
		width:45px;
		height:45px;
		font-size:30px;
	}

	.galeria_legenda{
		font-size:14px;
	}

}

/* .......................................................................
   CONTATO
........................................................................ */

.contato_box p{
	font-size:16px;
	line-height:1.8;
	color:#6D6257;
	margin-bottom:35px;
}

.form_contato{
	width:100%;
}

.form_linha{
	margin-bottom:20px;
}

.form_linha_dupla{
	display:flex;
	gap:20px;
	margin-bottom:20px;
}

.form_linha input,
.form_linha_dupla input,
.form_linha textarea{
	width:100%;
	height:58px;
	border:1px solid #DDD3C8;
	background:#fff;
	padding:0 20px;
	font-size:15px;
	color:#574535;
	border-radius:10px;
	box-sizing:border-box;
	transition:0.3s;
	outline:none;
	font-family:inherit;
}

.form_linha textarea{
	height:180px;
	padding:20px;
	resize:none;
}

.form_linha input:focus,
.form_linha_dupla input:focus,
.form_linha textarea:focus{
	border-color:#8B6B52;
	box-shadow:0 0 0 4px rgba(139,107,82,0.08);
}

.form_linha button{
	height:58px;
	padding:0 35px;
	border:0;
	background:#5B4636;
	color:#fff;
	font-size:15px;
	font-weight:600;
	border-radius:10px;
	cursor:pointer;
	transition:0.3s;
}

.form_linha button:hover{
	background:#6B5442;
	transform:translateY(-2px);
}


/* lado direito */

.contato_info{
}

.contato_info p{
	font-size:16px;
	color:#6D6257;
}

.contato_info a{
	display:block;
	color:#5B4636;
	text-decoration:none;
	font-size:16px;
	transition:0.3s;
}

.contato_info a:hover{
	opacity:0.7;
}



/* .......................................................................
   MOBILE
........................................................................ */

@media screen and (max-width:900px){

	.form_linha_dupla{
		flex-direction:column;
		gap:20px;
	}


}

/* ...................... MENSAGEM DE SUCESSO OU ERRO ............................................................................................................................................... */

.msg							{ border-radius:10px; padding:18px; margin:20px 0; font-size:16px; text-align:center; font-weight:700; }	

.confirma						{ background:#5FA347; color:#fff;}

.erro							{ background:red; color:#fff;}


/* ....................................................................
PUBLICAÇÕES INTERNA
.................................................................... */

.publicacoes_lista{
	width:100%;
	padding:50px 0;
}

.publicacao_lista_item{
	display:flex;
	gap:30px;
	padding:25px 0;
	border-bottom:1px solid #E8E1D8;
	text-decoration:none;
	transition:.3s;
}

.publicacao_lista_item:hover{
	text-decoration:none;
}

.publicacao_lista_foto{
	width:280px;
	height:170px;
	flex-shrink:0;
	border-radius:12px;
	overflow:hidden;
	background:#F3EEE8;
}

.publicacao_lista_foto img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:.5s;
}

.publicacao_lista_item:hover img{
	transform:scale(1.03);
}

.publicacao_lista_conteudo{
	flex:1;
	min-width:0;
}

.publicacao_lista_titulo{
	font-family:'Montserrat', Helvetica, Arial, sans-serif;
	font-size:26px;
	font-weight:500;
	color:#574535;
	margin-bottom:12px;
	transition:.3s;
}

.publicacao_lista_item:hover .publicacao_lista_titulo{
	color:#5FA347;
}

.publicacao_lista_resumo{
	font-size:16px;
	line-height:170%;
	color:#727376;
	margin-bottom:15px;
}

.publicacao_lista_data{
	font-size:12px;
	font-weight:600;
	text-transform:uppercase;
	color:#727376;
}


/* sem imagem */

.publicacao_lista_item.sem_foto .publicacao_lista_conteudo{
	padding-left:0;
}


/* MOBILE */

@media screen and (max-width:900px){

	.publicacao_lista_item{
		flex-direction:column;
		gap:18px;
		padding:25px 0;
	}

	.publicacao_lista_foto{
		width:100%;
		height:220px;
	}

	.publicacao_lista_titulo{
		font-size:22px;
	}

}


/* ....................................................................
PUBLICAÇÕES INTERNA
.................................................................... */

.publicacoes_interna_item{
	display:flex;
	gap:50px;
	padding:35px 0;
	border-bottom:1px solid #E8E1D8;
	align-items:flex-start;
}

.publicacoes_interna_texto{
	flex:1;
	min-width:0;
}

.publicacoes_interna_titulo{
	font-family:'Montserrat', Helvetica, Arial, sans-serif;
	font-size:28px;
	font-weight:500;
	color:#574535;
	margin-bottom:15px;
}

.publicacoes_interna_resumo{
	font-size:16px;
	line-height:170%;
	color:#727376;
	margin-bottom:15px;
}

.publicacoes_interna_data{
	font-size:12px;
	font-weight:600;
	text-transform:uppercase;
	color:#727376;
}

.publicacoes_interna_imagem{
	width:320px;
	flex-shrink:0;
	border-radius:12px;
	overflow:hidden;
	background:#F3EEE8;
}

.publicacoes_interna_imagem .galeria_item{
	display:block;
}

.publicacoes_interna_imagem img{
	width:100%;
	display:block;
	transition:.5s;
}

.publicacoes_interna_imagem:hover img{
	transform:scale(1.03);
}

/* MOBILE */

@media screen and (max-width:900px){

	.publicacoes_interna_item{
		flex-direction:column;
		gap:25px;
	}

	.publicacoes_interna_imagem{
		width:100%;
	}

	.publicacoes_interna_titulo{
		font-size:22px;
	}

}



/* ...................... Topicos do RLM ............................................................................................................................................... */


    .caixas_apresentacao				{ width:100%; height:100%; min-height:100%; top:0; z-index:30;  }
   
    .caixas_apresentacao_rel				{ position:relative; max-width:1300px; color:#fff; margin:0 auto; height: 100%; padding:80px 0; min-height: 100%; box-sizing:border-box; z-index:33;  }
		
      .topicos_conteudo					{ display:flex; align-items: stretch; justify-content: flex-start; width:100%; margin:0; box-sizing:border-box; z-index:100; }

	.topico_caixa 					{ flex: 0 0 calc(33.3% - 40px);  margin: 0 20px; background-color:#F3FFE7; box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.2); -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; padding:80px 40px;  box-sizing: border-box; }

        .topico_img					{ display:block; text-align:center; max-height:80px; margin-bottom:15px;  }
	.topico_titulo					{ display:block; text-align:center; font-size:30px; font-weight:700; color:#67A030; margin-bottom:30px; }
	.topico_texto					{ display:block; font-size:18px; font-weight:300; line-height:160%; color:#003B00; }

   
@media only screen and (max-width : 900px) {
		
    .caixas_apresentacao_rel				{ padding:20px 0; }
		
      .topicos_conteudo					{ display:flex; align-items: flex-start; justify-content: flex-start; flex-direction: column; width:100%; }

	.topico_caixa 					{  margin:20px 20px; padding:40px;  box-sizing: border-box; }
	
	.topico_texto					{ font-size:16px; text-align:center; font-weight:400; }
		
}
   
   
/* ...................... Algumas Funcionalidades - Titulos maiores  ............................................................................................................................................... */


.chamada_titulo						{ margin:0; }

	.chamada_titulo h1				{ width:100%; margin:0 auto; font-size:35px; text-transform:uppercase; margin-bottom:20px; font-weight:700; color:#003B00; }


@media only screen and (max-width : 900px) {


	.chamada_titulo h1				{ width:100%; margin-bottom:0; line-height:110%; }
	

}


/* ...................... Alguma Funcionalidades - Indicadores com icons  ............................................................................................................................................... */


.pro_software_item				{ list-style:none; padding:60px 0; }
  
.pro_software_item ul				{ margin:0; padding:0; }
  
.pro_software_item li				{ display:flex; align-items: center; justify-content: flex-start; font-size:18px; color:#003B00; min-height:24.58px; font-weight:300; padding:0 0 20px 0; }

.pro_software_item li span			{ flex: 0 0 auto; /* Mantém o tamanho fixo do ícone */ display:inline-block; width:23px; height:24.58px; padding-right:25px; background:url(images/novo/check.svg) left center no-repeat; }

.pro_software_item li span::before 		{ content: ""; /* Garante que o ícone não desapareça */ display: block; width: 23px; height: 24.58px; }




/* ...................... Planos - Opção dentro de uma licenca e mais licenças  ............................................................................................................................................... */

/* Container principal */
.planos_licenca 				{ display: flex; justify-content: center; width: 100%; margin: 0 auto; box-sizing: border-box; z-index: 100; }

/* Container do radio */
.radio-container 				{ position: relative; background: #fff; border-radius: 50px; padding: 5px; width: 400px; height: 50px; display: flex; align-items: center; border: 2px solid #F2F2F2; }

/* Esconde os inputs do tipo radio */
input[type="radio"] 				{ display: none; }

/* Container de switch */
.switch 					{ position: relative; width: 100%; height: 100%; display: flex; justify-content: space-between; align-items: center; border-radius: 50px; overflow: hidden; }

/* Estilo dos labels (opções) */
.option 					{ flex: 1; text-align: center; font-size: 18px; font-weight: 400; cursor: pointer; padding: 12px; color: #666; /* Texto inativo */ transition: color 0.3s ease-in-out; position: relative;    z-index: 1;
}

/* Slider que indica a opção ativa */
.slider 					{ position: absolute; top: 0; left: 0; width: 50%; height: 100%; background: #0BA208; border-radius: 50px; transition: left 0.3s ease-in-out; z-index: 0; pointer-events: none; }

/* Quando a opção "Uma licença individual" estiver selecionada */
input#individual:checked ~ .switch .option:first-child 	{ color:#fff; }
input#individual:checked ~ .switch .slider 		{ left: 0; }

/* Quando a opção "Mais de uma licença" estiver selecionada */
input#multiple:checked ~ .switch .option:nth-child(2) 	{ color:#fff; }
input#multiple:checked ~ .switch .slider 		{ left: 50%; }


/* ...................... Planos - Caixa com informações e valores  ............................................................................................................................................... */


.planos_conteudo					{ display:flex; align-items: stretch; justify-content: flex-start; width:100%; padding:80px 0; margin:0; box-sizing:border-box; z-index:100; }

  .plano_caixa 						{ flex: 0 0 calc(33.3% - 40px);  margin:0 20px; background-color:#fff; box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.2); -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; padding-bottom:40px; transition: box-shadow 0.3s ease-in-out; /* Adiciona transição suave */ box-sizing: border-box; }
  .plano_caixa:hover 					{ box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.6); }


    .pla_titulo						{ display:block; font-size:30px; font-weight:700; line-height:100%; text-align:center; padding:40px 0; margin:0 0 40px 0; background: linear-gradient(to right, #043C03, #0BA208); color:#fff; -webkit-border-top-left-radius: 30px; -webkit-border-top-right-radius: 30px; -moz-border-radius-topleft: 30px; -moz-border-radius-topright: 30px; border-top-left-radius: 30px; border-top-right-radius: 30px;} 
  
    .pla_parcelas					{ display:block; font-size:20px; font-weight:300; line-height:100%; text-align:center; padding:0; margin:0 40px; }
  
    .pla_preco						{ display:block; font-size:70px; font-weight:700; line-height:100%; text-align:center; color:#003B00; margin:0 40px; padding:0;  }
    .pla_preco span					{ font-size:25px; font-weight:700; vertical-align: super;}
  
    .pla_precoavista					{ display:block; font-size:20px; font-weight:300; color:#003B00; margin:0 40px 20px 40px; text-align:center; }
    .pla_precoavista span				{ font-weight:700; font-size:25px; }

    .pla_detalhe					{ display:block; text-align:left; margin:0 40px; padding:20px 0 20px 0; border-top:1px solid #B3E3B2; }
      .pla_detalhe ul					{ list-style:none; margin:0 auto; padding:0; }
      .pla_detalhe li					{ background:url(images/novo/check-preco.svg) left center no-repeat; width:100%; height:24px; line-height:24px; color:#003B00; font-size:18px; font-weight:400; margin:0; padding:5px 0 5px 34px; }
  

      .pla_botao_comprar 				{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin: 0 40px 10px 40px; text-align: center; color: #fff; font-size: 18px; font-weight: 700; background: linear-gradient(to right, #043C03, #0BA208); height: 50px; padding: 0 20px; text-transform: uppercase; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; transition: background 0.4s ease-in-out; z-index: 1;  }
      .pla_botao_comprar::before 			{ content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(to right, #043C03, #043C03); transition: left 0.4s ease-in-out; z-index: -1; }
      .pla_botao_comprar:hover::before 			{ left: 0; }
      .pla_botao_comprar:hover 				{ text-decoration:none; color:#fff; left: 0; }

      /* Usado classes abaixo para conseguir ter dois botões lado a lado quando necessário na caixa */

      .pla_botao_duplo 					{ margin: 0 40px 10px 40px; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }

        /* Regra específica para os botões dentro da .pla_botao_duplo */
        .pla_botao_duplo .pla_botao_comprar		{ line-height: 1; margin: 0; flex: 1; }
        .pla_botao_comprar span 			{ flex-basis: 100%;  /* Força o span ocupar a linha inteira */ text-align: center; font-size: 12px; font-weight:300; line-height: 1; margin-top: -10px; /* usado para aproximar o texto do span do outro */ }
  

.plano_observacao					{ color:#003B00; font-size:18px; font-weight:400; padding-bottom:80px; text-align:center; }
.plano_observacao a 					{ font-weight:700; color:#003B00; text-decoration:none; }
.plano_observacao a:hover 				{ color:#0BA208; text-decoration:none; }

  /* Alinhamento alterado para o conteúdo do mais licenças apenas. */
  .plano_observacao.maislicencas			{ text-align:left; }
    
    
    
.plano_links 						{ width: 60%; margin: 0 auto; display: flex; justify-content: space-around; color: #003B00; font-size: 18px; font-weight: 400; padding-bottom: 40px; text-align: center; }
.plano_links a 						{ color: #003B00; text-decoration: none; position: relative; display: inline-flex; align-items: center; }
.plano_links a:hover 					{ color: #0BA208; text-decoration: none; }
.plano_links a.com-icone::after 			{ content: ""; display: block; width: 30px; height: 30px; background-image: url('images/novo/ico_download.svg'); background-size: contain; background-repeat: no-repeat; background-position: center; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }

.plano_links.espacosuperior				{ margin:80px auto 0 auto;}


.plano_video 						{ position: relative; width: 100%; max-width: 527px; margin: 40px auto 80px auto; border-radius: 25px;  }
.plano_video .video-embed 				{ border-radius: 25px; width: 100%; height: 320px; border: none; position: relative; z-index: 1; }
.plano_video .decor-top-right 				{ position: absolute; top: -20px; right: -20px; width: 150px; height: 150px; background-color: #003B00; border-radius: 25px; z-index: 0; }
.plano_video .decor-bottom-left 			{ position: absolute; bottom: -12px; left: -20px; width: 150px; height: 150px; background-color: #003B00; border-radius: 25px; z-index: 0; }


    
@media only screen and (max-width : 900px) {

.planos_conteudo					{ padding:40px 0 0 0; flex-direction: column; }

  .plano_caixa 						{ flex: 0 0 calc(100% - 0);  margin:0 0 40px 0;}


.plano_links						{ width:100%; flex-direction: column; align-items: center; }
.plano_links a 						{ margin-bottom:20px; text-align:center;}


.plano_video .video-embed 				{ height: 260px; }
.plano_video .decor-top-right 				{ position: absolute; top: -10px; right: 0; }
.plano_video .decor-bottom-left 			{ position: absolute; bottom: -2px; left: 0; }


}
    
    

/* ...................... Planos Mais de uma Licença  ............................................................................................................................................... */


.cabecalho_pdf						{ display:none; width:100%; }
.cabecalho_pdf .esquerda				{ display:inline-block; width:70%; }
.cabecalho_pdf .direita					{ display:inline-block; width:30%; text-align:right; }


.simulacao_caixa					{ display:flex; justify-content: center; width:100%; padding:40px; margin:80px 0; background:#fff; border: 2px solid #F2F2F2; border-radius: 20px; box-sizing:border-box;}

  .simulacao_calculadora 				{ flex: 0 0 calc(60% - 20px); margin-right: 20px; }

    .simulacao_detalhes					{ position:relative; display:flex; justify-content: space-between; align-items: center; width:100%; margin-top:40px; }
  
      .simulacao_botao 					{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center; color: #fff; font-size: 18px; font-weight: 700; background: linear-gradient(to right, #043C03, #0BA208); width:300px; height: 50px; padding:0; text-transform: uppercase; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; transition: background 0.4s ease-in-out; z-index: 1;  }
      .simulacao_botao::before 				{ content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(to right, #043C03, #043C03); transition: left 0.4s ease-in-out; z-index: -1; }
      .simulacao_botao:hover::before 			{ left: 0; }
      .simulacao_botao:hover 				{ text-decoration:none; color:#fff; left: 0; }
      
      .texto_desconto					{ font-size:16px;  }

  .simulacao_conteudo					{ flex: 0 0 calc(40% - 20px); margin-left: 20px; }
  
  .simulacao_conteudo h2				{ font-size:25px; color:#0BA208; font-weight:400; margin:0; padding:0 0 20px 0;  }
  
    .simulacao_conteudo .planos_detalhe			{ display:block; text-align:left; margin:0; padding:20px 0 20px 0; }
    .simulacao_conteudo .planos_detalhe ul		{ list-style:none; margin:0 auto; padding:0; }
    .simulacao_conteudo .planos_detalhe li		{ background:url(images/novo/check-preco.svg) left center no-repeat; width:100%; line-height:120%; color:#003B00; font-size:18px; font-weight:400; margin:0; padding:5px 0 10px 34px; box-sizing:border-box;}
  
  
  
  .form_input 						{ display:block; width:100%; height:40px; font-size:16px; font-style:italic; margin:0 0 10px 0; padding:0 20px; color:#333; background:#fff; border:1px solid #979797;  box-sizing:border-box; -webkit-border-radius:6px; -moz-border-radius:6px; border-radius: 6px; }
  .form_input:hover 					{ border-color: #0BA208; /* Altere para a cor desejada */}
  /* Quando o input está em foco */
  .form_input:focus 					{	border-color: #0BA208; /* Mantém a mesma cor ao clicar */
								outline: none; /* Garante que não haja borda padrão do navegador */
							}
  
@media only screen and (max-width : 900px) {

.simulacao_caixa					{ display:flex; flex-direction: column; width:100%; padding:0; margin:40px 0; }

  .simulacao_calculadora 				{ flex: 0 0 calc(100% - 0px); margin-right:0; }

    .simulacao_detalhes					{ padding:0 10px; box-sizing:border-box;}

      .simulacao_botao 					{ font-size: 16px; font-weight: 700; height: 50px; width:auto; padding:0 10px; }

      .texto_desconto					{ font-size:14px; line-height:120%;  }

  .simulacao_conteudo					{ flex: 0 0 calc(100% - 0px); margin:40px 10px; }
  
    .simulacao_conteudo .planos_detalhe			{ display:block; text-align:left; margin:0; padding:20px 0 0 0; }
    .simulacao_conteudo .planos_detalhe ul		{ list-style:none; margin:0 auto; padding:0; }
    .simulacao_conteudo .planos_detalhe li		{ font-size:14px; padding:5px 0 10px 34px; }
    
  .form_input 						{ height:30px; font-size:14px; padding:0 20px; }

}
  
  
/* ...................... Planos Mais de uma Licença - Formatação da Tabela Calculadora INICIO ......................................................................................................................... */

  .calculadora_titulo					{ display: flex; justify-content: center; width: 100%; padding: 40px; margin: 0; background: linear-gradient(to right, #043C03, #0BA208); font-size:30px; font-weight:700; color:#fff; border: none; border-radius: 20px 20px 0 0; /* Topo esquerdo e direito com 30px, os outros 0 */ box-sizing: border-box; }
  
  .calculadora_rodape					{ width: 100%; height:20px; margin: 0; background: #F2F2F2; border: none; border-radius: 0 0 20px 20px; /* Topo esquerdo e direito com 30px, os outros 0 */ box-sizing: border-box; }


  .simulacao table 					{ 	width: 100%;
								border-collapse: separate; /* Permite espaçamento entre as linhas */
								border-spacing: 0 5px; /* Espaçamento vertical entre as linhas */
								background: #f2f2f2;
								padding:0 10px;
								box-sizing:border-box;
							}

  .simulacao thead th 					{	background: #f2f2f2;
								text-align: center;
								padding: 10px 5px;
								color: #0BA208;
								line-height:120%;
							}

  .simulacao tbody tr td 				{	border-top: 1px solid #0BA208; /* Borda superior */
								border-bottom: 1px solid #0BA208; /* Borda inferior */
								border-left: none; /* Remove borda lateral esquerda */
								border-right: none; /* Remove borda lateral direita */
								padding: 10px 5px;
								text-align: center;
								background: #fff;
								line-height:120%;
							}

/* Primeira célula da linha (esquerda) */
  .simulacao tbody tr td:first-child 			{	border-top-left-radius: 20px;
								border-bottom-left-radius: 20px;
								background: #0BA208; /* Fundo verde */
								color: #fff;
								font-weight: 400;
							}

/* Última célula da linha (direita) */
  .simulacao tbody tr td:last-child 			{	border-top-right-radius: 20px;
								border-bottom-right-radius: 20px;
							}

/* Ajuste para os inputs */
  .simulacao .termos_form_number 			{	width: 50px;
								text-align: center;
								border: none!important;
								background: #fff;
								font-weight: 700;
								color:#666;
								font-size:16px;
							}


@media only screen and (max-width : 900px) {

  .calculadora_titulo					{ padding: 20px; font-size:25px; }
  

  .simulacao thead th 					{ padding: 5px 5px; font-size:14px; }

  .simulacao tbody tr td 				{ padding: 5px 5px; font-size:14px; }

/* Ajuste para os inputs */
  .simulacao .termos_form_number 			{ width: 40px; font-size:14px;}
  
}


/* ...................... Planos Mais de uma Licença - Formatação da Tabela Calculadora FIM ......................................................................................................................... */



/* ...................... Etapas de Pagamento  ............................................................................................................................................... */


.etapas 						{ display: flex; align-items: center; justify-content: center; padding:40px 0; flex-wrap: wrap; }

.etapa 							{ display: flex; flex-direction: column; align-items: center; color: #0BA208; min-width:120px; }

  .etapa .circulo 					{ width: 60px; height: 60px; font-size:30px; border: 2px solid #0BA208; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }

  .etapa .circulo.ativo					{ background-color:#0BA208; color: #fff; }

  .etapa .titulo 					{ margin-top:8px; font-size: 20px;color:#0BA208; font-weight:300; text-align: center; }

  .etapa .titulo.ativo 					{ font-weight:500; color: #fff; }

.etapas .linha 						{ height: 2px; background-color: #0BA208; flex: 1; margin: 0 10px; opacity: 0.5; }


/* Responsivo */
@media (max-width: 600px) 				{ 

.etapas 						{ flex-direction: column; align-items: stretch; }

.etapas .linha 						{ width: 2px; height: 30px; margin: 20px auto; }
  
}

/* ...................... Pagamento - Dados  ............................................................................................................................................... */

/* ...................... Pagamento - 1. Dados  ............................................................................................................................................... */


.dadosusuario 						{ width: 100%; display: flex; padding:60px 0; align-items: stretch; flex-wrap: wrap; box-sizing: border-box; }

.dadosusuario fieldset 					{ margin: 0; padding: 0; border: 0; min-width: 0; }

.dadosusuario h2					{ width:100%; margin:0 0 5px 0; font-size:25px; text-align:left; line-height:120%; font-weight:700; color:#0BA208;  }
.dadosusuario h3					{ width:100%; margin:0 0 10px 0; font-size:22px; text-align:left; line-height:120%; font-weight:300; color:#0BA208; }
.dadosusuario .texto-simples				{ font-size:20px; margin-bottom:40px; font-weight:300; }

.dadosusuario span					{ display:block; margin-bottom:20px; }
.dadosusuario span.texto_informativo			{ min-height:140px; }

.dadosusuario .caixa-esquerda				{ flex: 0 0 calc(50% - 40px); padding:60px 20px; margin-right:40px; border-radius: 20px; background-color: #fff; box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.2); transition: box-shadow 0.3s ease-in-out; box-sizing: border-box; }

.dadosusuario .caixa-direita 				{ flex: 0 0 calc(50% - 40px); padding:60px 20px; margin-left:40px; border-radius: 20px; background-color: #fff; box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.2); transition: box-shadow 0.3s ease-in-out; box-sizing: border-box; }

.dadosusuario label 					{ display: block; margin-bottom: 5px; }

.dadosusuario input[type="text"],
.dadosusuario input[type="tel"],
.dadosusuario input[type="email"] 			{ width: 100%; padding:10px; margin-bottom: 15px; border: 1px solid #979797; color:#666; font-size:16px; border-radius: 4px; box-sizing:border-box; }

.dadosusuario .btn-submit 				{ display: flex; align-items: center; justify-content: center; margin: 0; width: 100%; border: none; color: #fff; font-size: 18px; font-weight: 700; background: linear-gradient(to right, #043C03, #0BA208); height: 50px; padding: 0 20px; text-transform: uppercase; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; transition: background 0.4s ease-in-out; z-index: 1; }
.dadosusuario .btn-submit::before 			{ content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(to right, #043C03, #043C03); transition: left 0.4s ease-in-out; z-index: -1; }
.dadosusuario .btn-submit:hover::before 		{ left: 0; }
.dadosusuario .btn-submit:hover 			{ text-decoration: none; color: #fff; }

/* Ao clicar no avançar, ele deixa em um tom que já está ativo */

.dadosusuario .btn-submit.btn-disabled {
  background: #ccc !important;
  color: #666 !important;
  cursor: not-allowed !important;
  opacity: 0.9;
  display: inline-flex;        /* botão vira um flex container */
  align-items: center;         /* centraliza verticalmente */
  justify-content: center;     /* centraliza o conteúdo (texto + spinner) */
  gap: 10px;                   /* espaço de 10px entre texto e spinner */
}

.dadosusuario .btn-submit.btn-disabled::after {
  content: "";
  width: 16px;
  height: 16px;
  border: 2px solid #666;
  border-top: 2px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}




/* Classe para ocultar ou não para os campos após preenchimento do cep */
.grupo-oculto 						{ display: none; }
.grupo-visivel 						{ display: block; }


/* Botão usado quando houver uma negativa de bloqueio do modal para o asaas */
.dadosusuario .btn-linksimples 				{ display:inline-block; margin: 0; border: none; color: #fff; font-size: 18px; font-weight: 700; background: linear-gradient(to right, #043C03, #0BA208); padding: 5px 20px; text-transform: uppercase; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; transition: background 0.4s ease-in-out; z-index: 1; }
.dadosusuario .btn-linksimples::before 			{ content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(to right, #043C03, #043C03); transition: left 0.4s ease-in-out; z-index: -1; }
.dadosusuario .btn-linksimples:hover::before 		{ left: 0; }
.dadosusuario .btn-linksimples:hover 			{ text-decoration: none; color: #fff; }

/* aviso da negativa */
.dadosusuario .aviso-pagamento				{ display:none; color:#d00; margin-top:15px; }


.dadosusuario .checkbox-dados 				{ display: flex; align-items: center; margin:15px 0; padding:0; height:40px; }
.dadosusuario .checkbox-dados input[type="checkbox"] 	{ width: 20px; height: 20px; margin-right: 10px; padding:0; accent-color: #0BA208; /* cor do checkbox (verde) – funciona nos navegadores modernos */ cursor: pointer; }
.dadosusuario .checkbox-dados label 			{ cursor: pointer; line-height:100%; padding:0; margin:0; }

/* sinaliza no campo do cep o erro */
.dadosusuario .mensagem-erro 				{ color:red!important; font-size:12px; margin-top:-13px; margin-bottom:5px; padding:0; display: none; }


/* Responsivo */
@media (max-width: 1200px) 				{ 

.dadosusuario 						{ flex-direction: column; padding:40px 0; }

.dadosusuario h2					{ font-size:22px; font-weight:700;   }
.dadosusuario h3					{ font-size:18px; font-weight:300; }
.dadosusuario .texto-simples				{ font-size:16px; font-weight:300; }

.dadosusuario span.texto_informativo			{ min-height:0; }


.dadosusuario .caixa-esquerda				{ flex: 0 0 calc(50% - 0px); padding:20px; margin-right:0; margin-bottom:20px; }

.dadosusuario .caixa-direita 				{ flex: 0 0 calc(50% - 0px); padding:20px; margin-left:0; }

}


/* ...................... Pagamento - 2. Metodo  ............................................................................................................................................... */

.dadosusuario .caixa-inteira				{ display:flex; align-items: flex-start; flex-wrap: wrap; /* permite quebra de linha */ justify-content: center;  width:100%; padding:60px 20px; margin:0; border-radius: 20px; background-color: #fff; box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.2); transition: box-shadow 0.3s ease-in-out; box-sizing: border-box; }

  .dadosusuario .caixa-inteira .lado-esquerdo		{ flex: 0 0 calc(50% - 40px); padding:20px; margin-right:40px; border-radius: 20px; background-color:#F3FFE7; box-sizing: border-box; }

  .dadosusuario .caixa-inteira .lado-direito 		{ flex: 0 0 calc(50% - 40px); padding:20px; margin-left:40px; border-radius: 20px; background-color:#fff; box-sizing: border-box;  }


.dadosusuario .caixa-rodape				{ display:flex; align-items: flex-start; justify-content: center;  width:100%; padding:20px; margin:0; box-sizing: border-box; }

.dadosusuario .caixa-rodape .assinatura-esquerda	{ flex: 0 0 calc(50% - 40px); margin-right:40px; box-sizing: border-box;}

.dadosusuario .caixa-rodape .assinatura-direita		{ flex: 0 0 calc(50% - 40px); margin-left:40px; text-align:right; box-sizing: border-box;}


.dadosusuario .caixa-produto 				{ display: flex; align-items: center; justify-content: center; margin-bottom:40px; width: 100%; border: none; color: #fff; font-size:20px; font-weight: 700; background: linear-gradient(to right, #043C03, #0BA208); padding:20px; text-transform: uppercase; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; transition: background 0.4s ease-in-out; z-index: 1; box-sizing: border-box;}

.grupo-pagamento 					{ margin-bottom: 40px; }
.grupo-pagamento .status-aguardando 			{ background: #F3FFE7; font-weight:700; color:#0BA208; padding:15px; border-radius: 20px; text-align: center; margin-bottom: 20px; }
.grupo-pagamento .status-aguardando #cronometro 	{ font-size: 24px; font-weight:700; color: #003B00; margin:0; padding:0; }

.pagamento-opcoes 					{ list-style: none; margin: 0; padding: 0; }

  .pagamento-opcoes li 					{ margin-bottom: 10px; position: relative; }

  .pagamento-opcoes input 				{ display: none; }

  .pagamento-opcoes label 				{ display: flex; align-items: center; border: 2px solid #ccc; border-radius: 12px; padding: 20px 20px; cursor: pointer; transition: all 0.2s ease; gap: 10px; }

  .pagamento-opcoes input:checked + label 		{ border-color: green; background: #f8fff8; }

  .pagamento-opcoes .radio 				{ width: 16px; height: 16px; border: 2px solid green; border-radius: 50%; position: relative; margin:0; padding:0; }

  .pagamento-opcoes input:checked + label .radio::after { content: ""; width: 10px; height: 10px; background: green; border-radius: 50%; position: absolute; top: 3px; left: 3px; }

  .pagamento-opcoes img 				{ width: 25px; height: 25px; margin: 0 20px; }

  .pagamento-opcoes .texto 				{ flex-grow: 1; }

  .pagamento-opcoes .texto small 			{ line-height:100%; display:block;}

  .pagamento-opcoes .seleciona-parcelas select 		{ padding:4px 6px; border-radius:6px; border:1px solid #ccc; }

  .pagamento-opcoes .valor 				{ font-weight: 700; color: #003B00; line-height:100%; font-size:25px; margin:0; padding:0; }
  
  .pagamento-opcoes .valor .valortexto			{ display:inline;}

/* Botão Voltar */

  .btn-voltar 						{ width: 100%; margin:20px 0 0 0; text-align: left; display: block; }
  .btn-voltar a 					{ display: inline-block; padding: 5px 25px; border: 2px solid #ccc; /*background-color: #0BA208;*/ border-radius: 6px; color: #666; text-decoration: none; font-weight:500; }
  .btn-voltar a:hover 					{ border: 2px solid #043C03; color:#043C03; /* background-color: #043C03;*/ }

/* Boleto avisos */

  .boleto-container					{ color:#003B00; text-align:center; padding:0; margin-top:20px; }
  .boleto-container h3					{ width:100%; margin:0 auto; padding:0; font-size:25px; line-height:120%; text-align:center; font-weight:700; color:#003B00;  }
  .boleto-container span				{ font-size:18px; font-weight:300; display:block; margin:20px 0; }

/* Pix funcionalidades */

  .pix-container 					{ display: flex; flex-wrap: wrap; align-items: flex-start; background: #fff; border: 2px solid #ccc; padding: 20px; border-radius: 8px; gap: 20px; }
  .pix-left						{ flex: 0 0 auto; }
  .pix-qrcode 						{ width: 160px; height: 160px; border: none; }
  .pix-right 						{ flex: 1; min-width: 200px; }
  .pix-instrucao 					{ margin-top: 0; font-size: 15px; color: #333; margin-bottom: 15px; }
  .pix-codigo-titulo 					{ margin: 10px 0 5px; font-size: 14px; font-weight: bold; color: #000; }
  .pix-codigo 						{ width: 100%; height: 100px; resize: none; overflow: hidden; white-space: pre-wrap; word-break: break-word; font-size: 12px; padding: 10px 0px; border: none; box-sizing: border-box; background-color: #fff; }
  .pix-btn-copiar 					{ margin-top: 10px; background: linear-gradient(to right, #043C03, #0BA208); color: #fff; border: none; padding: 8px 16px; border-radius: 4px; cursor: pointer; font-size: 14px; }
  .pix-btn-copiar:hover 				{ background: linear-gradient(to right, #043C03, #043C03); }


/* Responsivo */
@media (max-width: 1200px) 				{ 

.dadosusuario .caixa-inteira				{ flex-direction: column; padding:20px; }

  .dadosusuario .caixa-inteira .lado-esquerdo		{ width:100%; padding:20px; margin-right:0; margin-bottom:20px; }

  .dadosusuario .caixa-inteira .lado-direito 		{ width:100%; padding:0; margin-left:0; }


.dadosusuario .caixa-rodape				{ display:flex; align-items: flex-start; justify-content: center;  width:100%; padding:20px; margin:0; box-sizing: border-box; }

.dadosusuario .caixa-rodape .assinatura-esquerda	{ flex: 0 0 calc(70% - 20px); margin-right:20px; box-sizing: border-box;}
.dadosusuario .caixa-rodape .assinatura-esquerda img 	{ width:50px;}

.dadosusuario .caixa-rodape .assinatura-direita		{ flex: 0 0 calc(30% - 20px); margin-left:20px; text-align:right; box-sizing: border-box;}
.dadosusuario .caixa-rodape .assinatura-direita img	{ width:100px;}


  .pagamento-opcoes img 				{ width: 20px; height: 20px; margin: 0 10px; }

  .pagamento-opcoes .texto 				{ flex-grow: 1; }

  .pagamento-opcoes .valor 				{ font-size:18px; }

}

/* Responsivo */
@media (max-width: 600px) 				{ 

.dadosusuario .caixa-inteira				{ flex-direction: column; padding:0; }

  .dadosusuario .caixa-inteira .lado-esquerdo		{ width:100%; padding:20px; margin-right:0; margin-bottom:20px; }

  .dadosusuario .caixa-inteira .lado-direito 		{ width:100%; padding:20px; margin-left:0; }

  .pagamento-opcoes label 				{ padding: 20px 5px; gap: 5px; }

  .pagamento-opcoes .valor .valortexto 			{ display:none; }
  
  .btn-voltar 						{ margin:20px; }

}



/* ...................... Tarja - Cursos ............................................................................................................................................... */


.curso_botao 						{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin:20px auto; text-align: center; color: #fff; font-size: 18px; font-weight: 700; background: linear-gradient(to right, #043C03, #0BA208); width:300px; height: 50px; padding:0; text-transform: uppercase; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; transition: background 0.4s ease-in-out; z-index: 1;  }
.curso_botao::before 					{ content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(to right, #043C03, #043C03); transition: left 0.4s ease-in-out; z-index: -1; }
.curso_botao:hover::before 				{ left: 0; }
.curso_botao:hover 					{ text-decoration:none; color:#fff; left: 0; }

.curso_botao.espacosuperior				{ margin-top:40px; }
.curso_botao.espacoinferior				{ margin-bottom:80px; }

    



	
/* ...................... Sobre nós - banner  ............................................................................................................................................... */


#sobre_banner_geral					{ position:relative; display:block; width:100%; max-height:600px; margin:0 auto; padding:0; z-index:1; }   

  #sobre_banner_geral_rel				{ position:relative; display:flex; max-height:600px; align-items: center; justify-content: center; z-index:2; }

    #sobre_banner					{ position:relative; display:block; width:100%; max-height:600px; margin:0 auto; padding:0; z-index:10; }
    
    #sobre_banner_item					{ position:relative; width:100%; max-height:600px; margin:0 auto; padding:0; z-index:11; overflow:hidden; }
   
      .sobre_banner_fundo				{ z-index:12; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
   
      .sobre_banner_fundo img				{ width:100%; max-height:600px; height:100%; object-fit: cover; margin:0 auto; z-index:20; }

    .sobre_banner_item_conteudo				{ position:absolute; width:100%; height:100%; min-height:100%; top:0; z-index:30;  }

    .sobre_banner_item_conteudo_rel			{ position:relative; max-width:1300px; color:#fff; margin:0 auto; height:100%; padding:0; min-height:100%; display: -webkit-flex; display: flex; flex-direction: column; -webkit-justify-content: center;  justify-content: center; box-sizing:border-box; z-index:33; }
						
      .sobre_banner_item_conteudo_rel .titulo		{ width:60%; position:relative; display:block; font-size:40px; font-weight:700; color:#FFCE00; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25); text-transform:uppercase; line-height:120%; padding-top:10px; }
      .sobre_banner_item_conteudo_rel .desc		{ width:60%; position:relative; display:block; font-size:25px; font-weight:300; line-height:160%; padding-top:30px; }


@media only screen and (max-width : 1300px) {

#sobre_banner_geral					{ height:100%; margin:0 auto; }   

  #sobre_banner_geral_rel				{ max-height:600px; }

    #sobre_banner					{ display:none; }

    .sobre_banner_item_conteudo				{ position:relative; width:100%; height:100%; min-height:100%; top:0; z-index:30; background:url(images/novo/sobre/sobre_banner_40porcento.jpg) center center no-repeat; }

    .sobre_banner_item_conteudo_rel			{ text-align:center; color:#fff; margin:0 auto; padding:40px 20px 40px 20px; }
	
      .sobre_banner_item_conteudo_rel .titulo		{ width:100%; font-size:35px; font-weight:700; }
      .sobre_banner_item_conteudo_rel .desc		{ width:100%; font-size:20px; padding-top:30px; line-height:140%;}	
	
}

@media only screen and (max-width : 600px) {
		
      .sobre_banner_conteudo_rel .desc			{ width:100%; font-size:16px; padding-top:30px; }
				
}

/* ...................... Sobre nós - chamada do titulo  ............................................................................................................................................... */


.sobre_chamada 						{ position:relative; width: 80%; height: 250px; background: linear-gradient(to right, #043C03, #0BA208); border-top-right-radius: 30px; border-bottom-left-radius: 30px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 25px; text-align: center; font-weight:300; padding:0 40px; margin:-80px auto 0 auto; box-sizing:border-box; line-height:140%; z-index:40; }


@media only screen and (max-width : 1300px) 		{ 

.sobre_chamada 						{ width: 100%; height: auto; font-size: 20px; padding:40px; margin:-20px auto 0 auto; }

}

/* ...................... Sobre nós - nossa visao  ............................................................................................................................................... */


.sobre_visao 						{ position: relative; width:80%; padding: 0 20px; margin: 0 auto; box-sizing: border-box; z-index: 40; }
.sobre_visao .visao-conteudo 				{ display: flex; align-items: flex-start; }
.sobre_visao .visao-globo 				{ flex: 0 0 auto; }
.sobre_visao .visao-globo img 				{ width: 150px; height: auto; }
.sobre_visao .visao-texto 				{ flex: 1; padding-left:20px; font-size: 25px; font-weight: 300; line-height: 140%; color:#333; box-sizing:border-box; }
.sobre_visao .visao-texto .titulo 			{ font-size: 35px; font-weight: 700; color: #003B00; text-transform: uppercase; line-height: 120%; padding-bottom: 20px; }

@media only screen and (max-width : 1300px) 		{ 

.sobre_visao 						{ width: 100%; height: auto; padding:40px 20px; }
.sobre_visao .visao-texto 				{ font-size: 20px; }

}


@media only screen and (max-width : 900px) 		{ 

.sobre_visao 						{ width: 100%; height: auto; text-align:center; font-size: 20px; padding:40px; margin:0 auto; }
.sobre_visao .visao-globo 				{ display:none;}
.sobre_visao .visao-texto 				{ padding-left:0; font-size: 20px;}

}



/* ...................... Sobre nós - Equipe  ............................................................................................................................................... */
      
.carousel						{ display: flex; flex-wrap: wrap; /* Permite quebra de linha para itens */ max-width: 1300px; margin: 0 auto; justify-content: center; /* Centraliza os itens na versão mobile */ }

  .proitem 						{ display: flex !important; flex: 0 0 calc(50% - 40px); /* Padrão: dois itens por linha */ height: auto; box-sizing: border-box; margin: 0; padding: 0 20px; align-items: flex-start; }

    .proitem_foto 					{ flex: 0 0 30%; padding: 0; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
    
      .proitem_foto img 				{ width: 100%; height: auto; max-height: 100%; object-fit: contain; }

    .proitem_conteudo 					{ flex: 1; /* Ocupa o restante do espaço */ font-size: 14px; text-align: left; padding: 20px; background: #F3FFE7; box-sizing: border-box; }

      .proitem_conteudo .nome 				{ display: block; font-size: 25px; font-weight: 700; color: #003B00; }

      .proitem_conteudo .cargo 				{ display: block; font-size: 20px; font-weight: 300; color: #0BA208; }

      .proitem_conteudo .resumo 			{ display: block; padding-top: 10px; font-size: 14px; font-weight: 400; line-height: 140%; }


@media (max-width: 1300px) 				{ 

.carousel 						{ flex-direction: column; align-items: center; }

  .proitem 						{ flex: 0 0 100%; /* Agora ocupa a largura total */ flex-direction: column; padding:0 20px; }

    .proitem_foto 					{ flex: 0 0 auto; /* Reseta o tamanho */ width: 100%; height: auto; padding:0 0 10px 0; }

    .proitem_foto img 					{ max-width: 250px; /* Evita que fique grande demais */ max-height: 250px; }

    .proitem_conteudo 					{ flex: 0 0 auto; width: 100%; text-align: center; /* Centraliza o texto */ padding: 15px; }
    
}




/* ...................... Sobre nós Histórico  ............................................................................................................................................... */
      
.sobre								{ display:flex; align-content: center; align-items: stretch; justify-content: center; width:100%; margin:80px auto 0 auto; box-sizing:border-box; z-index:100; }
  
	.sobre_direita						{ height:600px; width:50%; background:left no-repeat; background-size:cover; position:relative; z-index:110; }
    
	.sobre_direita.imguniversidade				{ background-image:url(images/novo/sobre/sobre_universidade.png); z-index:120; }
    
	.sobre_esquerda						{ width:50%; position:relative; z-index:110; background:#003B00; }

	.sobre_texto						{ max-width:630px; padding:30px; float:right; box-sizing:border-box; z-index:200; }
      
		.sobre_texto .subtitulo				{ font-size:35px; line-height:120%; text-align:center; text-transform:uppercase; font-weight:700; color:#fff; }
      
		.historico p					{ font-size:16px; color:#fff; font-weight:300; margin:30px 0 30px 0; }
      
		.historico p span				{ display:block; font-size:35px; line-height:120%; text-align:center; font-weight: 300; color: #0BA208;  margin:30px 0 30px 0; }

.slick-dots li button						{ background:#fff !important; }


@media only screen and (max-width : 900px) {

.sobre								{ flex-direction: column;  }

	.sobre_direita						{ order:0; height:300px; width:100%; background:center center no-repeat; }
	
	.sobre_direita.imguniversidade				{ background-size:100%; }
	
	.sobre_esquerda						{ order:1; width:100%; }
	
	.sobre_texto						{ max-width:100%; padding:20px; float:none; }
	
		.sobre_texto .subtitulo				{ font-size:30px; }

}





/* ...................... Produtos - Principais recursos  ............................................................................................................................................... */

.pro								{ display:flex; align-content: center; align-items: stretch; justify-content: center;  width:100%; margin:0 auto; box-sizing:border-box; z-index:100;  }
  
	.pro_esquerda						{ height:600px; width:50%; background:left no-repeat; background-size:cover; position:relative; z-index:110; }
    
	.pro_esquerda.imgbovino					{ background-image:url(images/novo/pro/prorec_rlm2.jpg); z-index:120; }
    
	.pro_direita						{ display:flex; align-items: center; width:50%; position:relative; z-index:110; background:#003B00; }

	.pro_texto						{ max-width:630px; padding:0 30px; box-sizing:border-box; z-index:200; }
      
	  .pro_texto .subtitulo					{ font-size:35px; line-height:120%; text-align:center; text-transform:uppercase; font-weight:700; color:#FFCE00; }
      

	  .pro_recurso_item					{ list-style:none; padding:30px 0; }
  
	  .pro_recurso_item ul					{ margin:0; padding:0; }
  
	  .pro_recurso_item li					{ display:flex; align-items: center; justify-content: flex-start; font-size:18px; color:#fff; min-height:22px; font-weight:300; padding:0 0 20px 0; }

	  .pro_recurso_item li span				{ flex: 0 0 auto; /* Mantém o tamanho fixo do ícone */ display:inline-block; width:20px; height:22px; padding-right:25px; background:url(images/novo/pro/check.svg) left center no-repeat; }

	  .pro_recurso_item li span::before 			{ content: ""; /* Garante que o ícone não desapareça */ display: block; width: 20px; height: 22px; }



@media only screen and (max-width : 1200px) {

.pro								{ flex-direction: column; align-content: flex-start; align-items: flex-start; margin:0 auto; }

	.pro_esquerda						{ height:300px; width:100%; background:center center no-repeat; }
	
	.pro_esquerda.imgbovino					{ background-size:100%; z-index:120; }
	
	.pro_direita						{ width:100%; }
	
	.pro_texto						{ max-width:100%; padding:0 20px; box-sizing:border-box; }

}


@media only screen and (max-width : 600px) {

	
	.pro_esquerda.imgbovino					{ background-size:cover; z-index:120; }
	

}


/* ...................... Produtos - tecnologia  ............................................................................................................................................... */


      
.protec								{ display:flex; align-content: center; align-items: stretch; justify-content: center; width:100%; margin:0 auto; box-sizing:border-box; z-index:100; }
  
	.protec_direita 					{ width: 50%; position: relative; z-index: 110; background: left no-repeat; background-size: cover; min-height: 800px; /* Define um mínimo, mas permite crescer */ display: flex; justify-content: center; align-items: stretch; }
  
	  .protec_direita.imgtelas 				{ background-image: url(images/novo/pro/pro_telasrlm.png); background-color: #46910E; flex-grow: 1; /* Permite que a altura se ajuste conforme o lado esquerdo */ }

	.protec_esquerda					{ width:50%; position:relative; z-index:110; background: linear-gradient(to right, #003B00, #46910E); }

        .protec_esquerda .telamobile				{ display:none; }
	
	.protec_esquerda .telamobile_pagamento			{ display:none; }





	.protec_texto						{ max-width:630px; padding:30px; float:right; box-sizing:border-box; z-index:200; }
      
	  .protec_texto .subtitulo				{ font-size:35px; line-height:120%; text-align:left; text-transform:uppercase; font-weight:700; color:#FFCE00; }
      

	  .protec_item						{ list-style:none; padding:0; }
  
	  .protec_item ul					{ margin:0; padding:0; }
  
	  .protec_item li					{ display:flex; align-items: center; justify-content: flex-start; font-size:18px; color:#fff; min-height:22px; font-weight:300; padding:0 0 20px 0; }

	  .protec_item li span					{ flex: 0 0 auto; /* Mantém o tamanho fixo do ícone */ display:inline-block; width:65px; height:65px; padding-right:25px; background-position: left center; }
	  .protec_item li span.grupo				{ background:url(images/novo/pro/icon1.svg) no-repeat; }
	  .protec_item li span.exigencia			{ background:url(images/novo/pro/icon2.svg) no-repeat; }
	  .protec_item li span.atualizado			{ background:url(images/novo/pro/icon3.svg) no-repeat; }
	  .protec_item li span.premio				{ background:url(images/novo/pro/icon4.svg) no-repeat; }
	  .protec_item li span.ambiental			{ background:url(images/novo/pro/icon5.svg) no-repeat; }

	  .protec_item li span::before 				{ content: ""; /* Garante que o ícone não desapareça */ display: block; width: 65px; height: 65px; }


	  .botao_tecnologia 					{ position:absolute; bottom:40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin: 0 40px; text-align: center; color:#003B00; font-size: 18px; font-weight: 700; background: linear-gradient(to right, #FFCE00, #FFDC4F); height: 50px; padding: 0 20px; text-transform: uppercase; border-radius: 6px; cursor: pointer; overflow: hidden; transition: background 0.4s ease-in-out; z-index: 1;  }
	  .botao_tecnologia::before 				{ content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(to right, #FFCE00, #FFCE00); transition: left 0.4s ease-in-out; z-index: -1; }
	  .botao_tecnologia:hover::before 			{ left: 0; }
	  .botao_tecnologia:hover 				{ text-decoration:none; color:#003B00; }


@media only screen and (max-width : 1400px) {

	.protec_direita 					{ min-height: auto; height: auto; }

          .protec_direita.imgtelas				{ background-size: cover; background-size:100%; }

}


@media only screen and (max-width : 900px) {

.protec								{ flex-direction: column;  }

	.protec_direita						{ display:none; }

	.protec_esquerda					{ order:1; width:100%; }
	
        .protec_esquerda .telamobile				{ position:relative; display:block; width:50%; margin:0 auto; }
	
	  .protec_esquerda .telamobile img			{ width:100%; }
	
	.protec_esquerda .telamobile_pagamento			{ display:block; position:relative; display:flex; align-items: center; justify-content: center;  padding-top:100px; }
	
	.protec_texto						{ max-width:100%; padding:20px; float:none; }
	
	  .protec_texto .subtitulo				{ font-size:30px; text-align:center; }

}


@media only screen and (max-width : 600px) {

        .protec_esquerda .telamobile				{ position:relative; display:block; width:100%; margin:0 auto; }

}


/* ...................... Produtos - Aplicativo de computador  ............................................................................................................................................... */


.proapl_imagem							{ max-width:840px; width:100%; margin:0 auto; }

  .proapl_imagem img						{ width:100%; }


@media only screen and (max-width : 900px) {

.proapl_imagem							{ width:100%; }

}


/* ...................... Produtos - Perguntas  ............................................................................................................................................... */


.pro_perguntas							{ width:100%; padding:80px 0 80px 0; display:flex; justify-content: center; align-items: top;}

	.pro_perguntas .per_esquerda				{ flex:0 0 calc(30% - 20px); margin-right:20px; box-sizing:border-box;  }
	
	.pro_perguntas .per_esquerda h1				{ font-size:30px; color:#003B00; font-weight:300; line-height:120%; margin:0; }

	.pro_perguntas .per_direita				{ flex:0 0 calc(70% - 20px); margin-left:20px; box-sizing:border-box; }
	
		.per_item					{ list-style:none; font-size:16px; font-weight:300; }
		  
		.per_item ul					{ margin:0; padding:0; }
		  
		.per_item li					{ margin:0 auto; padding:0 10px 10px 0; display:block;   }
	
		.per_item li .per_titulo			{ padding:10px 20px; font-size:20px; font-weight:300; border:none; background:url(images/novo/pergunta_marcador.png) right 15px center no-repeat #E3E3E3; border-radius: 9999px; cursor:pointer;}
		.per_item li .per_titulo.ativo 			{ background: url(images/novo/pergunta_marcador_cima.png) right 15px center no-repeat #E3E3E3; }
		
		.per_item li .per_resposta			{ display:none; padding:0 20px; margin:0; box-sizing:border-box; background:#fff; border-top: none !important;  }
		
		.per_item li .per_resposta h2			{ font-size:24px; color:#033B04; font-weight:700; margin:0; padding:10px 0 0 0; }
		.per_item li .per_resposta h3			{ font-size:20px; color:#444444; font-weight:400; margin:0; padding:0 0 10px 0; }
		.per_item li .per_resposta h4			{ font-size:16px; color:#444444; font-weight:700; margin:20px 0 0px 0; padding:0;  }

		.per_item li .per_resposta p			{ padding:0; margin:10px 0 10px 0; }
	

@media only screen and (max-width : 900px) {


.pro_perguntas							{ padding:40px 0 40px 0; flex-direction: column; }

	.pro_perguntas .per_esquerda				{ flex:0 0 calc(100.0% - 0px); margin-right:0px;  }
	
	.pro_perguntas .per_esquerda h1				{ text-align:center; }

	.pro_perguntas .per_direita				{ flex:0 0 calc(100.0% - 0px); margin-left:0px; margin-top:20px; }
	
		.per_item li .per_titulo			{ font-size:16px; }
		

}

@media only screen and (max-width : 500px) {

		.per_item li .per_resposta img			{ width:100%; height:auto; }
		

}


/* ...................... Downloads ............................................................................................................................................... */


.caixa-download 						{ list-style: none; margin:0 0 40px 0; padding: 0; display:block; }

.caixa-download li 						{ display: flex; align-items: center; justify-content: space-between; background-color: #fff; width: 100%; padding: 20px; margin: 10px 0; border-radius: 20px; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); box-sizing:border-box; }

.caixa-download .texto 						{ flex: 1; /* Ocupa 80% (ajustável) */ margin:0; padding:0; font-weight:700; box-sizing:border-box; }
.caixa-download .texto span					{ font-weight:300; /* Descrição apenas */ }

.caixa-download .botao_down 					{ flex:0 0 calc(30% - 30px); margin-left:30px; position:relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; color:#003B00; font-size: 18px; font-weight: 700; background: linear-gradient(to right, #FFCE00, #FFDC4F); height: 50px; padding:0; text-transform: uppercase; border-radius: 6px; cursor: pointer; overflow: hidden; transition: background 0.4s ease-in-out; z-index: 1;  }
.caixa-download .botao_down::before 				{ content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(to right, #FFCE00, #FFCE00); transition: left 0.4s ease-in-out; z-index: -1; }
.caixa-download .botao_down:hover::before 			{ left: 0; }
.caixa-download .botao_down:hover 				{ text-decoration:none; color:#003B00; }

.aviso-download 						{ display:block; margin:-40px 0 20px 0; padding:0; color:#fff; font-size:12px; font-style:italic; }

@media only screen and (max-width : 600px) {

.caixa-download .botao_down 					{ flex:0 0 calc(30% - 10px); margin-left:10px; }		

}	


/* ...................... Cursos ............................................................................................................................................... */

.background_curso						{ width:100%; }
.background_curso.verde						{ background:#043C03; }

/* Usado para trazer o conteúdo na parte inferior onde fica os botões principalmente para que fique acima um pouco do tarja verde */
.background_curso.recuar					{ margin-top:-80px }

	.conteudo_curso_cabecalho				{ max-width:1300px; min-height:300px; height:100%; margin:0 auto; padding:0 30px 80px 30px; }
	.conteudo_curso						{ max-width:1300px; height:100%; margin:0 auto; padding:0 30px 0 30px; }

		/* Botões principais da página */
		.curso_botoes 					{ display: flex; justify-content: center; gap: 40px; margin:40px 0; }
		.curso_botoes .curso_botao_interno 		{ flex: 1; /* Cada botão cresce igualmente */ max-width: calc(25% - 0); padding:0; height:60px; line-height:60px; text-align: center; font-size:20px; font-weight:700; text-transform: uppercase; border-radius: 6px; cursor: pointer; transition: all 0.3s ease-in-out; border: 1px solid #0BA208; color: #0BA208; background: transparent; }
		.curso_botoes .curso_botao_interno.ativo 	{ background:#0BA208; color: #fff; }
		.curso_botoes .curso_botao_interno:hover 	{ background:#0BA208; color: #fff; }

		/* Esconde as divs de conteúdo por padrão (Textos) */
		.curso_dados 					{ display: none; padding: 20px; margin-top: 20px; color:#fff; font-size:20px; font-weight:300; text-align:center; }
		/* Exibe a div ativa */
		.curso_dados.ativo 				{ display: block; }


		/* dados2 - Esconde as divs de conteúdo por padrão da segunda parte (Botões de chamadas com icones e Textos) */
		.curso_dados2 					{ display: none; padding: 20px; margin-top: 20px; font-size:20px; font-weight:300; text-align:center; }
		/* dados2 - Exibe a div ativa */
		.curso_dados2.ativo 				{ display: block; }

			/* Container das colunas */		
			.cursos-colunas 			{ display: flex; column-gap: 20px; row-gap: 0;  width: 100%;  box-sizing: border-box; }

			/* Cada coluna */
			.curso-coluna 				{ flex: 1; }


			/* Caixa dos botões */
			.curso_itens				{ display:flex; align-items: stretch; justify-content: center; flex-wrap: wrap; /* Permite que os elementos quebrem para uma nova linha */ width:100%; padding:0; margin:0; box-sizing:border-box; z-index:100; }

				/* Caixa dos botões */
				.curso_caixa				{ flex: 0 0 calc(50% - 40px); text-decoration:none; display:flex; align-items: center; justify-content: space-between; /* Cria um espaçamento igual entre os elementos. Mantendo o primeiro grudado no início e o último no final. */ min-height:160px; height:100%; margin:0 20px 30px 20px; padding:0 40px; border-radius: 20px; box-sizing: border-box; cursor:pointer; background-color:#fff; box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.2); transition: box-shadow 0.3s ease-in-out; /* Adiciona transição suave */  }
				.curso_caixa:hover 			{ box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.6); text-decoration:none;}
				
				/* Itens do curso Gratuito alturamenor */
				.curso_caixa.alturamenor		{ min-height:100px; }
				.curso_caixa.margininferiormaior	{ margin-bottom:60px}

					.curso_caixa .caixa_texto 	{ flex: 1; /* Ocupa 80% (ajustável) */ margin:0; padding:0; text-align:left; font-size:25px; color:#043C03; line-height:120%; font-weight:700; box-sizing:border-box; }
					.curso_caixa .caixa_icon 	{ flex:0 0 calc(30% - 20px); margin-left:20px; }

			/* Texto Simples */
			.curso_texto				{ text-align:left; padding-bottom:40px; color:#003B00;}

			
			/* Link do Botão de Curso Aberto - Rehagro*/
			.curso_botao_rehagro 			{ display: inline-block; text-align:center; margin:40px auto; padding:10px 20px; box-sizing:border-box; color: #fff; font-size: 18px; font-weight: 700; background: linear-gradient(to right, #043C03, #0BA208);  text-transform: uppercase; border-radius: 6px; cursor: pointer; position: relative; overflow: hidden; transition: background 0.4s ease-in-out; z-index: 1;  }
			.curso_botao_rehagro::before 		{ content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(to right, #043C03, #043C03); transition: left 0.4s ease-in-out; z-index: -1; }
			.curso_botao_rehagro:hover::before 	{ left: 0; }
			.curso_botao_rehagro:hover 		{ text-decoration:none; color:#fff; left: 0; }

  
@media only screen and (max-width : 900px) {

/* Usado para trazer o conteúdo na parte inferior onde fica os botões principalmente para que fique acima um pouco do tarja verde */
.background_curso.recuar					{ margin-top:-40px }

	.conteudo_curso_cabecalho				{ padding:0 20px 40px 20px; }
	.conteudo_curso						{ padding:0 20px 0 20px; }

		/* Botões principais da página */
		.curso_botoes 					{ flex-direction: column; gap: 20px; margin: 20px 0; }
		.curso_botoes .curso_botao_interno 		{ max-width: 100%; /* Cada botão ocupa toda a largura */ height: 50px; line-height: 50px; font-size: 16px; }

		/* Esconde as divs de conteúdo por padrão (Textos) */
		.curso_dados 					{ padding:20px 0; font-size:16px; }

		/* dados2 - Esconde as divs de conteúdo por padrão da segunda parte (Botões de chamadas com icones e Textos) */
		.curso_dados2 					{ padding:0; font-size:16px; }
		
		.cursos-colunas 				{ flex-direction: column; column-gap: 0; row-gap: 40px;   }

			/* Caixa dos botões */
			.curso_itens				{ flex-direction: column; }

				.curso_caixa			{ flex: 0 0 calc(100% - 0px); min-height:100%; margin:0 0 20px 0; padding:5px 20px; }
				
				/* Itens do curso Gratuito alturamenor */
				.curso_caixa.alturamenor		{ min-height:100%; }
				.curso_caixa.margininferiormaior	{ margin-bottom:30px;}

					.curso_caixa .caixa_texto 	{ font-size:18px; }
					.curso_caixa .caixa_icon 	{ flex:0 0 calc(30% - 20px); margin-left:20px;  }


			/* Link do Botão de Curso Aberto - Rehagro*/
			.curso_botao_rehagro 			{ display:block; width:100%; }
}
    
    


/* ...................... Contato  ............................................................................................................................................... */


.contato_texto					{ color:#003B00; text-align:center; padding:80px 0 0 0; }
.contato_texto h3				{ width:100%; margin:0 auto; padding:0; font-size:25px; line-height:120%; text-align:center; font-weight:700; color:#003B00;  }

.contato_texto span				{ font-size:18px; font-weight:300; display:block; margin:0 0 30px 0; }

.contato_texto span a 				{ font-weight:700; color:#003B00; text-decoration:none; }
.contato_texto span a:hover			{ color:#0BA208; text-decoration:none; }


/* ...................... Obrigado da Venda RLM  ............................................................................................................................................... */


.obrigado_texto					{ color:#003B00; text-align:center; padding:0; }
.obrigado_texto h3				{ width:100%; margin:0 auto; padding:0; font-size:25px; line-height:120%; text-align:center; font-weight:700; color:#003B00;  }
.obrigado_texto h4				{ font-size:20px; font-weight:700; color:#FFCE00; text-align:left; }
.obrigado_texto span				{ font-size:18px; font-weight:300; display:block; margin:0 0 30px 0; }

.obrigado_texto span a 				{ font-weight:700; color:#003B00; text-decoration:none; }
.obrigado_texto span a:hover			{ color:#0BA208; text-decoration:none; }


.caixa-serial 					{ width:40%; font-size:25px; margin:20px auto; text-align: center; }
.caixa-serial .linha-superior 			{ background-color: #0BA208; color: #fff; padding: 15px 30px; margin:0; border-top-left-radius: 6px; border-top-right-radius: 6px; font-weight:500; display: flex; justify-content: center; align-items: center; flex-wrap: nowrap; }
.caixa-serial .linha-inferior 			{ background-color: #F3FFE7; padding: 15px 30px; margin:0; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; font-weight: 300; display: flex; justify-content: center; align-items: center; }
.caixa-serial .linha-inferior .lado-texto 	{ margin:0; padding:0 10px; }
.caixa-serial .linha-inferior .lado-icone 	{ display: flex; align-items: center; cursor:pointer; }
.caixa-serial .linha-inferior .icone-copiar 	{ width: 24px; height: 24px; cursor: pointer; transition: opacity 0.2s; }
.caixa-serial .linha-inferior .icone-copiar:hover { opacity: 0.6; }


.obrigado_texto .caixa-flex 			{ display: flex; flex-wrap: wrap; background-color:#003B00; color:#fff; border-radius: 6px; overflow: hidden; margin: 20px auto; width:100%; }
.obrigado_texto .caixa-flex a 			{ font-weight:700; color:#fff; text-decoration:none; }
.obrigado_texto .caixa-flex a:hover 		{ color:#FFCE00; }

.obrigado_texto .coluna-esquerda,
.obrigado_texto .coluna-direita 		{ flex: 1 1 50%; padding: 20px; box-sizing: border-box; vertical-align: top; }

.coluna-esquerda iframe 			{ border-radius: 6px; }

.obrigado_texto .coluna-direita 		{ display: flex; flex-direction: column; justify-content: flex-start; text-align:left; }


@media only screen and (max-width : 900px) {

.caixa-serial 					{ width:100%; }

}




/* ...................... Gratis  ............................................................................................................................................... */


/* ...................... Gratis Banner ............................................................................................................................................... */

   
#testegratis_geral					{ position:relative; display:block; width:100%; max-height:600px; margin:0 auto; padding:0; z-index:1; }   

  #testegratis_geral_rel 				{
							height: 600px;
							background-image: url("images/novo/testegratis/slide/fundo_verde_600px_v2.jpg");
							background-size: cover;
							background-position: center;
							background-repeat: no-repeat;
							overflow: hidden;
							z-index:2; 
							}

  .testegratis_banner_conteudo				{ position:absolute; width:100%; height:100%; min-height:100%; top:0; z-index:30; }

  .testegratis_banner_conteudo_rel			{ position:relative; max-width:1300px; color:#fff; margin:0 auto; height:100%; padding:0; min-height:100%; display: flex; align-items: center; justify-content: center; box-sizing:border-box; z-index:33; }
					
    .testegratis_texto					{ width:60%; padding-right:120px; box-sizing:border-box; }
		
    .testegratis_texto .titulo				{ position:relative; display:block; font-size:40px; font-weight:700; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25); text-transform:uppercase; line-height:120%; }
    .testegratis_texto .titulo span			{ font-weight:700; color:#FFCE00; }

    .testegratis_texto .tg_botao			{ margin-top:40px; height:40px; line-height:40px; z-index:40; }

    .testegratis_texto .tg_botao a.b_pagamento 		{ text-decoration:none; display:inline-block; padding:10px 30px; margin:0; font-size:20px; font-weight:700; text-transform:uppercase; border:none; background:#FFCE00; color:#003B00; margin-left:20px; box-sizing:border-box; border-radius: 10px; cursor:pointer; }
    .testegratis_texto .tg_botao a:hover.b_pagamento	{ background:#FF8011; }
      
    .testegratis_texto .tg_botao a.b_teste 		{ text-decoration:none; display:inline-block; padding:10px 30px; margin:0; font-size:20px; font-weight:700; text-transform:uppercase; border:none; background:#0BA208; color:#fff; box-sizing:border-box; border-radius: 10px; cursor:pointer; }
    .testegratis_texto .tg_botao a:hover.b_teste	{ background:#FFF; color:#003B00; }
		
		
    .testegratis_video					{ width:40%; }
	
	
@media only screen and (max-width : 900px) {

  .testegratis_banner_conteudo_rel			{ display: flex; flex-direction: column; padding:0 20px; }
					
    .testegratis_texto					{ width:100%; padding:0 0 20px 0;}
		
    .testegratis_texto .titulo				{ font-size:30px; text-align:center; }

    .testegratis_texto .tg_botao			{ margin-top:20px; display: flex; justify-content: space-between; }

    .testegratis_texto .tg_botao a.b_pagamento 		{ padding:0 10px 0 10px; margin:0; font-size:18px; font-weight:700; margin:0; }
    .testegratis_texto .tg_botao a:hover.b_pagamento	{ background:#F5D10B; }
      
    .testegratis_texto .tg_botao a.b_teste 		{ padding:0 10px 0 10px; margin:0; font-size:18px; font-weight:700; }
    .testegratis_texto .tg_botao a:hover.b_teste	{ background:#F5D10B; }
		
		
    .testegratis_video					{ width:100%; padding:0; box-sizing:border-box;}
		
	
	
}
   
	
/* ...................... Gratis - Conteúdos ............................................................................................................................................... */

.testegratis						{ position: relative; width:100%; padding:70px 0 70px 0;}

.testegratis.verdeclaro					{ background:#F3FFE7; }
.testegratis.verdedegrade				{ background: linear-gradient(90deg, #043C03, #0BA208); }


  .testegratis_conteudo					{ position:relative; max-width:1300px; margin:0 auto; padding:0 30px 0 30px; box-sizing:border-box;}
  .testegratis_conteudo.center				{ text-align:center; }

  .testegratis_conteudo a.botao_testegratuito		{ display:inline-block; text-decoration:none; margin:80px auto; padding:10px 20px 10px 20px; background:#EC7A17; text-transform:uppercase; color:#fff; text-align:center; font-size:18px; font-weight:500; border-radius: 10px; }
  .testegratis_conteudo a.botao_testegratuito:hover	{ background:#043C03; }
  
  .testegratis_conteudo a.botao_testegratuito.marginsuperior	{ margin:80px auto 0 auto; }


@media only screen and (max-width : 900px) {

.testegratis						{ padding:30px 0 30px 0;}

  .testegratis_conteudo					{ max-width:100%; width:100%; padding:0 20px 0 20px; }

}


/* ...................... Gratis - Quem usa ............................................................................................................................................... */



    .itens_quemusa 					{ display: flex; flex-wrap: wrap; gap: 20px; width: 100%; margin:0 auto; box-sizing: border-box;}

      .retangulo 					{ display: flex; align-items: center; justify-content: center; flex-direction: row; border-radius: 20px; border: 2px solid #043C03;  width: calc(33.33% - 20px);  background-color: #F3FFE7;  padding: 20px; box-sizing: border-box; }

      .retangulo img 					{ width: 80px; height: 80px; flex-shrink: 0; margin-right: 20px; }

      .retangulo-texto 					{ flex-grow: 1; display: flex; align-items: center; justify-content: start; text-align: left; font-size: 20px; color:#043C03;}

@media only screen and (max-width : 900px) {
	
      .retangulo 					{ flex: 1 1 calc(50% - 20px); /* Corrige o cálculo para evitar margens extras */ }
}

@media only screen and (max-width : 600px) {
	
      .retangulo 					{ width: 100%;  }
    
}


/* ...................... Gratis - Retorno Financeiro ............................................................................................................................................... */



    .itens_retorno 					{ display: flex; flex-wrap: wrap; gap: 20px; width: 100%; margin:0 auto; box-sizing: border-box;}

      .retangulo_r 					{ display: flex; align-items: flex-start; justify-content: center; flex-direction: row; text-align:left; border-radius: 20px; border:none;  width: calc(50% - 20px);  background: linear-gradient(90deg, #043C03, #0BA208);  padding: 20px; box-sizing: border-box; }

      .retangulo_r-texto 				{ color:#fff;}
      
      .retangulo_r-texto .titulo			{ display:block; font-size:28px; color:#fff; font-weight:700; padding:0; margin:0 0 10px 0; }
      
      .retangulo_r-texto .titulo .amarelo		{ color:#FFCE00;}


@media only screen and (max-width : 600px) {
	
      .retangulo_r 					{ width: 100%;  }
      
      .retangulo_r-texto .titulo			{ font-size:20px; }
      
    
}


/* ...................... Gratis - Depoimentos ............................................................................................................................................... */

.carouseldepoimentos					{ display:flex; max-width:1300px; margin:0 auto; }

  .depoitem						{ flex:0 0 calc(33.3% - 20px); position:relative; height:100%; box-sizing:border-box; margin:10px 0 10px 0; -webkit-transition:all 0.3s ease;  -moz-transition:all 0.3s ease; transition: all 0.3s ease; -webkit-border-radius: 10px;  -moz-border-radius: 10px;  border-radius: 10px; }

  .depoitem_foto					{ height:350px; width:100%; display: flex; justify-content: center; align-items: center; padding:10px; background:none; box-sizing:border-box; -webkit-border-top-left-radius: 10px; -webkit-border-top-right-radius: 10px; -moz-border-radius-topleft: 10px; -moz-border-radius-topright: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; }
							
  .depoitem img:last-child				{ display:block; max-height:350px; height:auto; max-width:100%; width:auto; }


/* ...................... Gratis - Cliente ............................................................................................................................................... */


.testegratis_conteudo_clientes				{ margin:70px 0 0 0;}

.testegratis_conteudo_clientes img			{ max-width:1300px; }


@media (max-width: 900px) {
	
.testegratis_conteudo_clientes img			{ max-width:1300px; width:100%; }

}



/* ...................... Gratis - Sobre ............................................................................................................................................... */

/* Conteúdo Sobre */
.testegratis_conteudo_sobre 				{ position: relative; display: flex; align-items: flex-start; max-width: 1300px; z-index: 100; margin: 0 auto; padding: 0 30px; box-sizing: border-box; }

.sobre_mapas 						{ width: 40%; }

.sobre_mapas img 					{ width: 100%; height: auto; }

.sobre_textos 						{ width: 60%; padding: 0 20px; box-sizing: border-box; display: flex; flex-direction: column; z-index: 200; }

.sobre_texto_item 					{ display: flex; align-items: flex-start; justify-content: flex-start; /* Alinha itens à esquerda */ flex-direction: row; width: 100%; padding: 0 20px 40px 20px; box-sizing: border-box; }
.sobre_texto_item.menor 				{ width: 80%; }

.sobre_texto_item img 					{ width: 80px; height: 80px; flex-shrink: 0; margin-right: 20px; }

.sobre_texto_item-texto .titulo 			{ display: block; font-size: 28px; color: #67A030; font-weight: 700; padding: 0; margin: 0 0 10px 0; }

/* Background da seção Sobre */
.testegratis_sobre_bg {
    position: absolute; /* Permite posicionamento no container pai */
    bottom: 0; /* Alinha ao fundo do container pai */
    right: 0; /* Alinha ao lado direito do container pai */
    height: 455px;
    width: 745px;
    background: url(images/novo/testegratis/sobre/Simbolo.png) right center no-repeat;
    background-size: contain;
    z-index: 10; /* Fica atrás do conteúdo */
}

/* Div que contém a imagem sobre o background */
.testegratis_tela {
    position: absolute; /* Posiciona dentro de testegratis_sobre_bg */
    bottom: 0; /* Alinha ao fundo da div testegratis_sobre_bg */
    right: 0; /* Alinha ao lado direito da div testegratis_sobre_bg */
    width: 70%; /* Ajuste conforme necessário */
    height: auto; /* Mantém a proporção da imagem */
    z-index: 20; /* Garante que fique acima do background */
}

.testegratis_tela img 					{ width: 100%; height: auto; /* Mantém a proporção da imagem */ display: block; }

@media (max-width: 1700px) 				{

.sobre_texto_item.menor 				{ width: 70%; }

}

@media (max-width: 1600px) 				{

.sobre_texto_item.menor 				{ width: 50%; }

}

@media (max-width: 1400px) 				{

.sobre_texto_item.menor 				{ width: 50%; }
.sobre_texto_item.menor.grande				{ width: 80%; }
.testegratis_tela {
    width: 50%; /* Ajuste conforme necessário */
}
}


@media (max-width: 1100px) 				{
	
.testegratis_conteudo_sobre 				{ flex-direction: column; align-items: center; }

    .sobre_mapas, .sobre_textos 			{ width: 100%; padding:0; }

.sobre_texto_item 					{ padding: 0 0 40px 0; }
.sobre_texto_item.menor 				{ width: 100%; }
    
.sobre_texto_item-texto .titulo 			{ font-size: 20px; }

    .testegratis_sobre_bg 				{ width: 100%; height: auto; position: relative; margin-top: 20px; }

    .testegratis_tela 					{ position: relative; bottom: auto; right: auto; margin-top: 10px; width: 80%; }
    
}

/* ...................... Gratis - Algumas Funcionalidades ............................................................................................................................................... */

.testegratis_indicadores 				{}

.testegratis_indicadores ul 				{ list-style: none; padding: 0; margin: 0; }

.testegratis_indicadores li 				{ position: relative;  padding-left: 30px;        /* Espaço para o ícone (24px + 6px de margem) */ text-align: left; margin-bottom: 15px; font-size: 18px; line-height: 120%; color: #fff; }

.testegratis_indicadores li::before 			{ content: ''; /* Necessário para exibir o pseudo-elemento */ position: absolute; /* Posiciona o ícone em relação ao li */ left: 0; top: 50%; /* Centraliza verticalmente */ transform: translateY(-50%); /* Ajusta o alinhamento vertical */ width: 24px; height: 24px; background-image: url(images/novo/testegratis/funcionalidades/ico_check.svg); background-size: contain; background-repeat: no-repeat; background-position: center; }


/* ...................... Gratis - Dúvidas ............................................................................................................................................... */


.testegratis_per_item 					{ list-style: none; font-size: 18px; font-weight: 300; text-align: left; box-sizing: border-box; }

.testegratis_per_item ul 				{ margin: 0; padding: 0; }

.testegratis_per_item li 				{ margin: 0 auto 10px auto; display: block; border-radius: 10px; box-sizing: border-box; overflow: hidden; border: 1px solid #ccc; }

.per_titulo 						{ padding: 10px 20px 10px 20px; font-size: 18px; font-weight: 500; background-color: #E3E3E3; background-image: url(images/novo/testegratis/duvidas/seta.png); background-repeat: no-repeat; background-position: right 20px center; cursor: pointer; transition: background-color 0.3s ease; position: relative; }

.per_titulo.active 					{ background-color: #E3E3E3; background-image: url(images/novo/testegratis/duvidas/seta_sobe.png) !important; }

.per_resposta 						{ display: none; padding: 20px; margin:0; background-color: #fff; border-top: 1px solid #ccc; font-size: 16px; color: #333; }
    

/* ...................... Gratis - Formulário  ............................................................................................................................................... */


.formularionew label						{ display:block; font-size:16px; text-transform:uppercase; margin:0; padding:10px 0 5px 0; }

.formularionew input[type=text], 
.formularionew input[type=tel], 
.formularionew input[type=email]				{ display:block; width:100%; height:48px; font-size:16px; font-style:italic; margin:0 0 10px 0; padding:5px; background:#fff; border:1px solid #fff;  box-sizing:border-box; -webkit-border-radius:6px; -moz-border-radius:6px; border-radius: 6px; }

.formularionew select						{ display:block; width:100% !important; height:48px; font-size:16px; font-style:italic;  margin:0 0 10px 0; padding:5px; background:#fff; border:1px solid #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;  box-sizing: border-box; -webkit-border-radius:6px; -moz-border-radius:6px; border-radius: 6px; }

.formularionew textarea						{ display:block; width:100%; height:100px; font-size:16px; font-style:italic; margin:0 0 10px 0; padding:5px; background:#fff; border:1px solid #fff;  box-sizing: border-box; -webkit-border-radius:6px; -moz-border-radius:6px; border-radius: 6px; }

.formularionew input:focus					{ border-color:#EC7A17; } 

.formularionew input[type=submit]				{ display:block; width:100%; background:#EC7A17; opacity:1; color:#fff; font-size:18px; font-weight:500; text-align:center; text-transform:uppercase; padding:0 10px 0 10px; height:40px; line-height:40px; border:none; text-decoration:none; box-sizing:border-box; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius: 10px; cursor:pointer; }
.formularionew input[type=submit]:hover				{ background:#043C03;}


/* ...................... Botão Gratis com SPIN de carregando  ............................................................................................................................................... */

.formularionew .btn 						{
								  display: inline-flex;           /* vira flex container */
								  align-items: center;            /* centraliza verticalmente */
								  justify-content: center;        /* centraliza conteúdo */
								  gap: 10px;                      /* espaço entre texto e spinner */
								  background: #EC7A17;
								  opacity: 0.8;
								  color: #fff;
								  font-family:'Roboto Condensed', sans-serif;
								  font-size: 18px;
								  font-weight:500;
								  text-align: center;
								  text-transform: uppercase;
								  padding: 0 20px;
								  height: 40px;
								  line-height: 40px;
								  width:100%;
								  border: none;
								  text-decoration: none;
								  box-sizing: border-box;
								  border-radius: 6px;
								  cursor: pointer;
}

.formularionew .btn:hover 					{ background: #EC7A17; opacity: 1; }
.formularionew .btn.btn-disabled 				{ background: #ccc !important;
								  color: #666 !important;
								  cursor: not-allowed !important;
								  opacity: 0.9;
								}

.formularionew .btn.btn-disabled::after 			{
								  content: "";
								  width: 16px;
								  height: 16px;
								  border: 2px solid #666;
								  border-top: 2px solid transparent;
								  border-radius: 50%;
								  animation: spin 1s linear infinite;
								}

@keyframes spin 						{ 
								  0%   { transform: rotate(0deg); }
								  100% { transform: rotate(360deg); }
								}




.formularionew #msg						{ display:none; height:30px; line-height:30px; color:#EC7A17; font-size:14px; margin:10px 0 10px 0; }
.formularionew .obs						{ text-align:left; color:#000; font-size:14px; margin:0 0 10px 0; line-height:120%; }
.formularionew .erro_fone					{ display:none; color:#EC7A17; font-size:14px; margin:0 0 10px 0; line-height:120%; }

.formularionew .botao_enviar_whatsapp				{ display:inline-block; background:url(images/form_whatsapp.png) right 10px center no-repeat #28D666; opacity:0.8; color:#fff; font-size:14px; text-align:center; text-transform:uppercase; margin-left:20px; padding:0 40px 0 10px; height:40px; line-height:40px; border:none; text-decoration:none; box-sizing:border-box; -webkit-border-radius:6px; -moz-border-radius:6px; border-radius: 6px; cursor:pointer;}
.formularionew .botao_enviar_whatsapp:hover			{ opacity:1;}

.formularionew a.video						{ display: flex; align-items: center; justify-content: center; text-align:center; text-decoration:none; width:100%; height:48px; font-size:16px; font-style:italic; margin:0 0 10px 0; padding:5px; background-color:#65A230; color:#fff; border:1px solid #fff;  box-sizing:border-box; -webkit-border-radius:6px; -moz-border-radius:6px; border-radius: 6px; }
.formularionew a.video:hover					{ background-color:#033B04; }


.formularionew .autocomplete-suggestions 			{ border: none; max-height: 200px; overflow-y: auto; position: absolute; top:0; right:0; background-color:#fff; width:80%; text-align:left; z-index: 1000; border-radius: 7px; box-shadow: 0 0 5px #A4A4A4; }
		  
.formularionew .autocomplete-suggestions .suggestion-item 	{ padding:10px 20px; cursor: pointer; box-sizing: border-box;}

.formularionew .autocomplete-suggestions .suggestion-item:hover { background-color: #f0f0f0; }
		

@media only screen and (max-width : 600px) {

	.contato_total .contato_formulario			{ width:100%; }

}


@media only screen and (max-width : 500px) {

.formularionew input[type=submit]				{ display:block; width:100%; margin-bottom:5px; }

.formularionew .botao_enviar_whatsapp				{ display:block; width:100%; background:url(images/form_whatsapp.png) right 10px center no-repeat #28D666; margin-left:0;}

}


/* ...................... Gratis - Campo de telefone.  ............................................................................................................................................... */

.iti 								{ position: relative; display: inline-block; width:100% !important; margin-bottom:10px !important; }

  .iti__country-list 						{
								position: absolute;
								z-index: 2;
								list-style: none;
								text-align: left;
								padding: 0;
								margin: 0 0 0 -1px;
								box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
								background-color: white;
								border: none!important;
								white-space: nowrap;
								max-height: 200px;
								overflow-y: scroll;
								-webkit-overflow-scrolling: touch; 
								}
    
    .iti__country-list--dropup 					{ bottom: 100%; margin-bottom: -1px; background:#fff!important; }
    
  .iti__country 						{
								display:flex!important;
								align-items:center!important;
								padding:0!important;
								margin:0!important;
								width:100%!important;
								outline: none!important;
								}
    
  .iti__dial-code 						{ color: #999; }
    
  .iti__flag-box, .iti__country-name, .iti__dial-code 		{ padding:0!important; margin:0!important; vertical-align: baseline!important;  }
    
  .iti__flag-box, .iti__country-name				{ margin-right: 6px; padding:0!important; margin:0 5px 0 5px!important; }
    




/* ...................... Artigos / Cursos - Textos   .............................................................................................................................................. */
  
 
.pub_data							{ margin:0 auto; font-size:14px; text-align:center; margin-bottom:80px; }

.pub_texto 							{  }
.pub_texto::after {
    content: "";
    display: block;
    clear: both;
}
	.pub_texto .col_img 					{ float: right; padding-left: 20px; max-width: 50%; box-sizing: border-box; }

		.pub_texto .col_img img 			{ width: 100%; height: auto; display: block; border-radius: 20px; }
		
	.pub_texto .col_texto 					{ overflow: hidden; }
	.pub_texto .col_texto img				{ display:block; text-align:center; max-width:900px; margin:0 auto; }
	
	.pub_texto .col_texto a.botao2 				{ display:inline-block; text-decoration:none; background-color: rgba(236, 122, 23, 0.8); padding:0 20px 0 20px; color:#fff; height:30px; line-height:30px; font-size:16px; font-weight:700; border:none; box-sizing:border-box; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;  cursor:pointer; }
	.pub_texto .col_texto a.botao2:hover			{ background-color: rgba(236, 122, 23, 1); }
      
	.pub_texto .col_texto a.botao3 				{ display:block; text-decoration:none; background-color: rgba(236, 122, 23, 0.8); padding:0 20px 0 20px; color:#fff; height:30px; line-height:30px; font-size:20px; text-align:center; font-weight:700; border:none; box-sizing:border-box; -webkit-border-radius: 25px; -moz-border-radius: 25px; border-radius: 25px;  cursor:pointer; }
	.pub_texto .col_texto a.botao3:hover			{ background-color: rgba(236, 122, 23, 1); } 
	

/* ========================= TEXTOS ARTIGOS ========================= */

.pub_texto .col_texto h1 {
    font-size: 32px;
    font-weight:700; color:#003B00;
    margin: 40px 0 20px;
    line-height: 1.3;
}

.pub_texto .col_texto h2 {
    font-size: 26px;
    margin: 40px 0 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #1a1a1a;
    border-left: 5px solid #ec7a17;
    padding-left: 12px;
}

.pub_texto .col_texto h3 {
    font-size: 20px;
    margin: 25px 0 10px;
    font-weight: 700;
    line-height: 1.3;
    color: #333;
    border-left: 5px solid #ec7a17;
    padding-left: 12px;
    text-align:left;
}

.pub_texto .col_texto p {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 15px;
    color: #444;
}

/* ========================= LISTAS ========================= */

.pub_texto .col_texto ul {
    margin: 15px 0 20px 20px;
    padding-left: 20px;
    list-style: disc !important;
}

.pub_texto .col_texto ul li {
    display: list-item;   /* força voltar ao padrão */
    float: none;          /* evita herança */
    clear: both;          /* garante quebra de linha */
    margin-bottom: 8px;
    line-height: 1.6;
}

/* ========================= FAQ ========================= */

.pub_texto .col_texto h2:contains("Perguntas frequentes") {
    margin-top: 50px;
}

/* ========================= IMAGENS ========================= */

.pub_texto .col_texto img {
    margin: 20px auto;
    border-radius: 12px;
}

/* ========================= RESPONSIVO ========================= */

@media only screen and (max-width: 600px) {

    .pub_texto .col_texto h1 {
        font-size: 26px;
    }

    .pub_texto .col_texto h2 {
        font-size: 22px;
    }

    .pub_texto .col_texto h3 {
        font-size: 18px;
    }

    .pub_texto .col_texto p {
        font-size: 15px;
    }
}

	
	
@media only screen and (max-width : 600px) {

.pub_data							{ margin-bottom:40px; }

	.pub_texto .col_img 					{ float:none; padding-left:0; max-width:100%; width:100%; }

	.pub_texto .col_texto img				{ max-width:100%; width:100%; }
	

}

/* ...................... botão flutuante whatsapp .............................................................................................................................. */

#whats_pulse						{ position:fixed; bottom:20px; right:20px; z-index:999; width:60px; height:60px; background:url(images/icone_whatsapp.png) center no-repeat #4CAF50; border-radius:100%; box-shadow:0 0 0 0 rgb(76 175 80 / 100%); animation:pulse 1.25s infinite cubic-bezier(0.66, 0, 0, 1); }

@keyframes pulse 					{ to { box-shadow: 0 0 0 20px rgba(232, 76, 61, 0); } }