body {
	margin: 0;
	padding: 0;
	color: #054e59;
	font-family: 'Ubuntu', sans-serif;
	font-size: 16px;
}

html {
    scroll-behavior: smooth;
}

.container {
    max-width: 1200px !important;
}

a.link-blue {
    color: #9ac7ed;
    text-decoration: none;
}

a.link-blue:hover {
    color: #fff;
    text-decoration: none;
}

h1, .h1 {
    font-size: 30px;
}

.disabled-link {
  pointer-events: none;
  cursor: default;
  opacity: 0.6;
}

.text-success {
    color: #138dab;
    font-weight: bold;
}


.div-centro {
	position: relative;
	margin-left: auto;
	margin-right: auto;
}


hr {
   border-top: 1px solid #c9eff5;
}

small, .small-x {
    font-size: 80%;
}

.btn-link {
    font-weight: normal;
    color: #fff;
    border-radius: 0;
}
.btn-link:hover {
    text-decoration: none;
    color: #e0edf9;
}
.btn-link:focus {
    text-decoration: none;
    color: #e0edf9;
}

.btn-link2 {
    font-weight: normal;
    color: #2c355b;
    border-radius: 0;
}
.btn-link2:hover {
	color: #2c355b;
    text-decoration: none;
}

.btn-acessar {
    color: #fff;
    font-size: 20px;
    background-color: #067d8e;
    padding: 10px;
}
.btn-acessar:hover {
	color: #fff;
    background-color: #08a6bd;
}

.btn-acessar:focus {
	color: #fff;
    background-color: #2c355b;
}

.btn-success {
    color: #fff;
    background-color: #5cb85c;
    border-color: #4cae4c;
    padding: 10px;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
  background-color: #219EBC;
  color: #fff;
}

.btn-simple {
    color: #033b48;
    background-color: #56b4cb;
    border-color: #e1f9fd;
    /* padding: 10px; */
    font-size: 13px;
    border-radius: 10px;
}

.section-modulo-1 {
    padding: 10px 0;
    background-color: #fff;
}

.section-modulo-1 h4 {
    font-weight: 700;
    color: #333;
    letter-spacing: 1px;
    line-height: 1.4;
}

.section-modulo-1 h4 small {
    display: block;
    margin-top: 10px;
    color: #007bff;
    font-weight: 600;
    text-transform: uppercase;
}

.section-modulo-2 {
	padding-top: 30px;
	padding-bottom: 30px;
}

.btn-default {
    color: #fff;
    background-color: #0f7486;
    border-color: #ccc;
    padding: 15px;
}

.btn-series {
    color: #0a7486;
	/*background-color: #0a7486;
	border-color: #ccc;
	padding: 15px;*/
	font-size: 18px;
}

.section-modulo-3 {
	background: url('../images/bg_cidade.jpg') center;
	background-size: cover;
	padding-top: 30px;
	padding-bottom: 30px;
}

.bg-ecapta-2 {
	background: #00a0c1;  /* fallback for old browsers */
	/*background: -webkit-linear-gradient(to right, #0D7590, #0EA2B9); 
	background: linear-gradient(to right, #0D7590, #0EA2B9); */
}

.bg-ecapta {
	 background: linear-gradient(to bottom, #86e2fa, #fff, #fff, #ffffff);
}

.faixa-topo {
	padding: 10px;
	background-color: #219EBC;
}
.logo {
	
}
@media only screen and (max-width : 480px) {
  .logo {
  	margin-top: 0;
	padding: 5px;
	}
}

.faixa-redes {
	padding: 10px;
	background-color: #f3f3f3;
}

.logo-log {
	margin-top: 10px;
	padding: 15px;
}
.logo-log img{
	max-width: 180px;
}
@media only screen and (max-width : 480px) {
  .logo-log {
  	margin-top: 0;
	padding: 15px;
	}
}

.frase-topo {
	padding: 10px 0 30px;
    text-align: center;
    background-color: #023047;
    color: #fff;
    margin-top: 40px;
    font-size: 16px;
}

.texto-cinza {
	color: #7e7e7e;
}

.rodape {
	margin-top: 60px;
	padding: 10px;
	border-top: 2px solid #ccc;
	background-color: #023047;
}

.frase h2 {
	color: #007692;
}
@media only screen and (max-width : 480px) {
  	.frase h3 {
  	font-size: 18px !important;
	}
	.frase h2 {
  	font-size: 22px !important;
	}

	.acessar {
		margin-top: 40px !important;
	}
}

.parceiros-icons {
	background-color: #f5f5f5;	
	padding-top: 30px;
	padding-bottom: 30px;
}

.bg-overlay {
	position: absolute;
	z-index: -3;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: .8;
	background: #fff;
}

.bg-cad {
	background-color: #125688;
	color: #fff;
}


.parceiros-box {
	padding: 8px;
	background-color: #f5f5f5;
	border: 1px solid #d1e8f9;
}
.parceiros-box h1{
	font-size: 20px;
	color: #00afef;
}

.parceiros-box-titulo{
	height: 55px;
}
@media only screen and (max-width : 480px) {
	.parceiros-box-titulo{
	height: auto;
	}
}

.box-parcerias{
    margin: 10px;
    width: 200px;
    padding: 5px;
    background-color: #fff;
    border: 2px solid #68d4e3;
    color: #fff;
    border-radius: 10px;
}

.btn-parceiros {
	width: 100%;
    color: #fff !important;
    background-color: #219ebc;
}
.btn-parceiros:hover {
    background-color: #04afcc;
}

.parceiros-contatos {
	padding: 8px;
	background-color: #ccf1fb;
	border: 1px solid #d4d5ef;
}
.parceiros-fones {
	padding: 8px;
	background-color: #fff;
}

.parceiros-video {
	/*background-color: #074d59;*/	
	padding-top: 30px;
	padding-bottom: 30px;
}

.parceiros-endereco {
	border: 2px dotted #d4d5ef;
	border-radius: 8px;
	padding: 15px;
	margin-top: 40px;
}

.bot_whatsapp {
	position:fixed;
	width:60px;
	height:65px;
	bottom:40px;
	right:20px;
	background-color:#20ad0c;
	color:#FFF;
	border: 2px solid #fff;
	border-radius:50px;
	text-align:center;
	font-size:30px;
	box-shadow: 1px 1px 2px #888;
	z-index:1000;"
}

/* Flex box */
.flex-box {
    display: flex;
}
.flex-box-wrap {
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
}
.box {
    margin: 10px;
	width: 274px;
	padding: 10px;
	background-color: #fff;
	border: 1px solid #dcfbff;
	color: #fff;
	border-radius: 10px;
}
.box h4 {
	color:#fff;
}
.box .glyphicon {
    font-size: 12px;
    padding-right: 5px;
}

.box-categorias {
  margin: 10px;
  width: 170px;
  padding: 2px;
  background-color: #048497;
  border: 2px solid #08b8d2;
  border-radius: 30%;
}

.box-camp {
  margin: 10px;
  width: 170px;
  padding: 2px;
  background-color: #039bbb;
  border: 2px solid #08b8d2;
  border-radius: 20px;
}

.box-camp-link:hover .box-camp-25 {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.label-warning {
    background-color: rgba(2, 48, 71, 0.7);
    border-radius: 10px
}



.box-camp-25 {
  margin: 10px;
  width: 180px;
  /*padding: 2px;*/
  border: 1px solid #d3d3d3 !important;
  border-radius: 8px;
}

.box-babyplus {
  margin: 10px;
  width: 180px;
  padding: 2px;
  background-color: #f9ecd7;
  border: 1px solid #fec037;
  border-radius: 20px;
}

.box-destaque {
  margin: 10px;
  width: 470px;
  padding: 2px;
}
.box-destaque img {
	border: 2px solid #08b8d2;
  	border-radius: 20px;
}
.destaques-frase {
	/*color: #fff;*/
	margin-top: 10px;
	text-align: center;
}

.box-cursos {
	display: grid;
    margin: 10px;
	width: 300px;
	padding: 10px;
	background-color: #0aa3bf;
	border-radius: 15px;
}
.box-cursos-titulo {
	text-align: center;
	background-color: #fff;
	padding: 5px;
	border: 1px solid #83caf5;
    border-radius: 5px;
}
.box-cursos-frase {
	text-align: center;
	background-color: #f9f9f9;
	padding: 5px;
	font-weight: bold;
	border: 1px solid #ccc;
	min-height: 60px;
}
.box-cursos-valores {
	margin-top: 10px;
    text-align: center;
    min-height: 75px;
    font-size: 18px;
    background-color: #eaf9ff;
    padding: 10px;
    border-radius: 10px;
}
.box-cursos-status {
	padding: 3px;
	text-align: center;
	background-color: #9bd5ea;
	font-size: 12px;
	margin-bottom: 5px;
}

.box-banners {
	margin: 10px;
	width: 400px;
	padding: 3px;
	background-color: #048497;
	border: 2px solid #08b8d2;
}

.box-series {
	margin: 10px;
	width: 350px;
	padding: 3px;
	background-color: #fff;
	border: 1px solid #5fafdf;
	border-radius: 12px;
	padding-bottom: 20px;
}
.box-series-serie {
	padding: 5px;
  	
}
.box-series-valor {
	padding: 10px;
    background: #fff;
    color: #03283e;
    font-size: 22px;
    line-height: 23px;
    border-bottom: 1px solid #74e6f9;
}
.box-series-desconto {
	padding: 5px;
  	background-color: #f0fdff;
  	font-size: 16px;
}

/*BOTOES ACESSOS*/
.box-bot-acessos {
  	margin: 10px;
    width: 300px;
    border: 2px solid #dbe9f5;
    border-radius: 10px;
}

.bot-acessos-titulo {
	padding: 5px;
    text-align: center;
    height: 60px;
    background-color: #002842;
    color: #fff;
    font-size: 18px;
}

@media screen and (max-width: 480px) and (max-width: 768px) {

    .box {
    margin: 10px 2px;
	width: 196px;
	padding: 4px;
	/*background-color: #0a9fb5;*/
	/*border: 1px solid #08b8d2*/
	}

	.bolsa-titulo-escola {
		font-size: 15px;
		min-height: 65px;
	}

	.box-cursos small {
		font-size: 100% !important;
	}

	.box-categorias {
	  margin: 10px 3px;
	  width: 130px;
	  padding: 2px;
	  background-color: #048497;
	  border: 2px solid #08b8d2;
	  color: #fff;
	  border-radius: 50%;
	}

	.box-cursos {
		width: 380px;
	}

	.box-camp {
	  margin: 10px 3px;
	  width: 180px;
	  padding: 2px;
	  background-color: #048497;
	  border: 2px solid #08b8d2;
	  color: #fff;
	  border-radius: 20px;
	}

	.box-camp-25 {
		width: 175px;
		margin: 8px;
	}

	.box-banners {
	  margin: 10px;
	}

	.box-bot-acessos {
	  	margin: 5px;
	    width: 170px;
	}

	.bot-acessos-titulo {
		padding: 5px;
	    font-size: 14px;
	    height: 70px;
	}
}



/*BABY PLUS*/
.sec-babyplus {
	padding-top: 50px;
	padding-bottom: 50px;
}
.box-babyplus {
  margin: 10px;
  width: 180px;
  padding: 2px;
  background-color: #f9ecd7;
  border: 1px solid #fec037;
  border-radius: 20px;
}

.section-lista-babyplus {
	padding-top: 60px;
	padding-bottom: 40px;
	border-bottom: 1px solid #ccc;
}

.btn-babyplus {
    color: #0e0e0e;
    background-color: #ffc136;
    border-color: #e1f9fd;
    padding: 10px 20px;
    font-size: 16px;
    border-radius: 20px;
}

.box-babyplus-series {
	margin: 10px;
	width: 300px;
	padding: 3px;
	background-color: #fff;
	border: 1px solid #ffc136;
	border-radius: 10px;
	padding-bottom: 20px;
}
.box-babyplus-series-valor {
	padding: 10px;
    background: #f9ecd7;
    color: #047285;
    font-size: 22px;
    line-height: 23px;
    border-bottom: 1px solid #ffc136;
}
.box-babyplus-series-desconto {
	padding: 5px;
  	background-color: #fdf6ea;
  	font-size: 16px;
}




/*BLOGS*/

.section-lista-blogs {
    padding: 40px 0;
    background-color: #f9f9f9;
}

.box-blogs {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin-bottom: 30px;
    overflow: hidden;
    border: 1px solid #eee;
    min-height: 320px;
}

.box-blogs:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.box-blogs a {
    display: block;
    color: #333;
    text-decoration: none !important;
}

.blog-img-container {
    overflow: hidden;
}

.blog-img-container img {
    width: 100%;
    height: 200px; /* Altura fixa para manter o grid alinhado no desktop */
    object-fit: cover;
    transition: transform 0.5s ease;
}

.box-blogs:hover .blog-img-container img {
    transform: scale(1.05);
}

.blog-content {
    padding: 15px;
    text-align: left;
}

.blog-titulo {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
    color: #2c3e50;
    /* Limita a 2 linhas de texto para manter o grid simétrico */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Ajuste para Celular (Mobile First ou Media Query) */
@media (max-width: 767px) {
    .box-blogs {
        margin-bottom: 15px;
        border-radius: 8px;
    }

    .box-blogs a {
        display: flex; /* Alinha imagem e texto lado a lado */
        align-items: center;
    }

    .blog-img-container {
        width: 35%; /* Imagem ocupa 35% da largura */
        flex-shrink: 0;
    }

    .blog-img-container img {
        height: 100px; /* Altura menor para o formato lista no mobile */
        border-radius: 0;
    }

    .blog-content {
        width: 65%;
        padding: 10px 15px;
    }

    .blog-titulo {
        font-size: 15px;
        -webkit-line-clamp: 3; /* No mobile permite uma linha a mais se necessário */
    }
}
/*BLOG*/

/*recaptcha*/
@media screen and (max-height: 575px){
#rc-imageselect, .g-recaptcha {transform:scale(0.77);-webkit-transform:scale(0.77);transform-origin:0 0;-webkit-transform-origin:0 0;}
}

/*.form-control {
    height: 50px;
 }
 */

.g-recaptcha {
  width: 302px;
  margin: auto;
}

.bolsa-titulo-escola {
	padding: 10px;
	text-align: center;
	background-color: #064c58;
	/*font-size: 16px;*/
	border-bottom: 1px solid #38c1d9;
}

.bolsa-box-interno {
	padding: 8px;
	background-color: #fff;
	border: 1px solid #36adf5;
	border-radius: 5px;
}
.bolsa-box-interno-titulo {
	padding: 15px;
	background-color: #219EBC;
    color: #fff;
	font-size: 18px;
	border-radius: 5px;
}
.bolsa-box-valores {
	padding: 10px 10px;
	background-color: #f0f9fb;
    color: #065a68;
	border-radius: 5px;
}
.bolsa-box-preco {
	font-size: 20px;
	font-weight: 600;
}
.bolsa-box-total {
	font-size: 20px;
	font-weight: 600;
	color: #fff;
}
.bolsa-box-h {
	min-height: 80px;
}


.borda-direita {
	border-right: 1px dotted #083f60;
}
@media only screen and (max-width : 480px) {
	.borda-direita {
	border-right: none;
	border-bottom: 1px dotted #ccc;
	}
}



.btn-primary {
    color: #f2f2f2;
	background-color: #107e99;
	border-color: #e1f9fd;
	padding: 10px;
	font-size: 16px;
	border-radius: 10px;
}

.jumbotron {
    padding-top: 20px;
    padding-bottom: 30px;
    margin-bottom: 20px;
    color: inherit;
    background-color: #fff;
	border-bottom: 3px solid #2ad0fd;
	border-top: 3px solid #2ad0fd;
	border-left: 1px solid #2ad0fd;
	border-right: 1px solid #2ad0fd;
	font-size: 18px;
}

.jumbotron p {
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: 200;
}

.vcenter {
   display: inline-block;
   vertical-align: middle;
   float: none;
}

.fotos-empresa {
	background-color: #ccc;
	padding: 10px;
}

.tab-conteudo {
	padding: 20px 10px;
	font-size: 13px;
}

.box-cookies.hide {
  display: none !important;
}

/*cookies*/
.box-cookies {
  position: fixed;
  background: rgba(0, 0, 0, .9);
  width: 100%;
  z-index: 998;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.box-cookies .msg-cookies,
.box-cookies .btn-cookies {
  text-align: center;
  padding: 25px;
  color: #fff;
  font-size: 18px;
}

.box-cookies .btn-cookies {
  background: #1e88e5;
  cursor: pointer;
  align-self: normal;
}

@media screen and (max-width: 600px) {
  .box-cookies {
    flex-direction: column;
  }
}

label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    /*font-size: 13px;*/
    font-weight: normal;
}

.alinha-foto {
    max-width: 100%; 
    max-height:100%; 
    width: auto !important;
    height: auto;
}

.item-foto{
	max-height: 400px;
}
@media only screen and (max-width : 768px) {
  .item-foto{
	height: 250px;
	}
}

.card-voucher {
	background-color: rgb(193, 234, 255);
  	border: 2px solid #c1d3f4;
  	border-radius: 8px;
}

figure { width: 90%; min-width: 320px; margin:0 auto;}
figcaption { font: 120% sans-serif; text-align: center;}
video {
    width: 100%;
    height: auto;
}

.sidebar-toggle-box .fa-bars {
    cursor: pointer;
    display: inline-block;
    font-size: 20px;
    color: #fff !important;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f9fafd;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);
}

.div-bottom {
  align-self: end;
}

/* texto-pisca*/
@keyframes blink {
      0% {
        opacity: 1;
      }
      50% {
        opacity: 0.3;
      }
      100% {
        opacity: 1;
      }
    }

    .blink-text {
    animation: blink 1.5s infinite;
   	font-size: 14px;
  	color: #ff7504;
}

.frase_destaque {
	text-align: center;
	color: #fff;
  	background: antiquewhite;
  	background-color: #03adca;
  	padding: 15px;
}


/*VITRINE*/
.section-vitrine {
	padding-top: 30px;
	padding-bottom: 50px;
	background-color: #04798e;
}
.vitrine-cards {
	display: flex;
	justify-content: center;
}
.vitrine-card {
	display: flex;
  	align-items: stretch;
  	background: #007F95;
  	width: 400px;
  	margin: 15px;
  	border: 1px solid #21a5bb;
  	border-radius: 10px;
  	padding: 5px;
}
.vitrine-card-img {
  	width: 140px;
}
.vitrine-card-img img {
  	border: 2px solid #0e98b0;
  	border-radius: 10px;
  	display: block;
}
.vitrine-card-body {
	padding: 5px;
	width: 100%;
}
.vitrine-card-title {
	font-size: 18px;
	color: #fff;
  	padding: 5px;
  	border-bottom: 1px solid #2e8b9b;
}
.vitrine-card-text {
	color: #fff;
  	padding: 5px;
}

@media only screen and (max-width : 768px) {
  	.vitrine-cards {
		display: flex;
		flex-wrap: wrap;
	}
}


.section-eplus-1 {
	border-top: 1px solid #dfdfdf;
    border-bottom: 1px solid #dfdfdf;
    padding: 20px 0 50px;
}

/*CONECTA*/
.section-conecta {
	background-color: #defbff;
    padding: 40px 10px;
}
.conecta-cards {
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
}
.conecta-card {
	display: flex;
  	align-items: stretch;
  	background: #edfdff;
  	width: 400px;
  	margin: 15px;
  	border: 1px solid #5adbf1;
  	border-radius: 10px;
  	padding: 5px;
}
.conecta-card-img {
  	width: 140px;
}
.conecta-card-img img {
  	border: 2px solid #0e98b0;
  	border-radius: 10px;
  	display: block;
}
.conecta-card-body {
	padding: 5px;
	width: 100%;
}
.conecta-card-title {
	text-align: center;
    font-size: 18px;
    color: #fff;
    padding: 5px;
    border-bottom: 1px solid #2e8b9b;
    background-color: #0086a1;
    border-radius: 5px;
}
.conecta-card-text {
	text-align: justify-all;
	color: #033944;
  	padding: 5px;
}

@media only screen and (max-width : 768px) {
  	.conecta-cards {
		display: flex;
		flex-wrap: wrap;
	}
	.conecta-card-title {
	    min-height: auto;
	}

	.botao-estados{
		width: 150px;
	}
}


/* WhatsApp Button Styles */
.whatsapp-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    background-color: #25D366;
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 1000;
    text-decoration: none;
    color: white;
    flex-direction: column;
}

.whatsapp-button:hover {
    transform: scale(1.1) rotate(10deg);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.whatsapp-button:active {
    transform: scale(0.95);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.whatsapp-button img {
    width: 35px;
    height: 35px;
}

/* WhatsApp Button Styles */




/*SELOS*/
.ep-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    padding:5px 5px;
    color:#fff;
    font-family:Poppins, Inter, Arial, sans-serif;
    font-size:10px;
    font-weight:600;
    letter-spacing:.6px;
    text-transform:uppercase;
    line-height:1;
    white-space:nowrap;
    user-select:none;
    box-sizing:border-box;
    margin-bottom: 3px;
  }

  .ep-badge__icon{
    display:inline-flex;
    width:16px;
    height:16px;
    flex:0 0 16px;
  }
  .ep-badge__icon svg{ width:16px; height:16px; display:block; fill:currentColor; }

  /* CORES por relevância */
  .ep-badge--poucas{ background:#C62828; }          /* POUCAS VAGAS */
  .ep-badge--ultimas{ background:#B71C1C; }         /* ÚLTIMAS VAGAS */
  .ep-badge--encerramento{ background:#EF6C00; }    /* VAGAS EM ENCERRAMENTO */
  .ep-badge--alta-procura{ background:#1565C0; }    /* ALTA PROCURA */
  .ep-badge--condicao{ background:#2E7D32; }        /* CONDIÇÃO ESPECIAL */

  /* Opcional: sombra leve (fica mais “card”) */
  .ep-badge--shadow{ box-shadow:0 2px 8px rgba(0,0,0,.18); }

  @media (max-width: 420px){
    .ep-badge{ width:200px; font-size:12px; }
  }

 .piscar {
  animation: fadeBlink 1.5s infinite;
}

@keyframes fadeBlink {
  0%   { opacity: 1; }
  50%  { opacity: 0; }
  100% { opacity: 1; }
}

/*ANIMAÇÃO NUMEROS*/
.ep-stat-wrap{
    padding: 22px 14px;
    display:flex;
    justify-content:center;
  }
  .ep-stat-card{
    width: min(720px, 100%);
    border-radius: 18px;
    padding: 18px 18px 16px;
    background: rgba(255,255,255,.75);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 10px 28px rgba(0,0,0,.10);
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .ep-stat-card:before{
    content:"";
    position:absolute;
    inset:-60px -60px auto auto;
    width:180px;
    height:180px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(0,0,0,.08), transparent 60%);
    transform: rotate(15deg);
    pointer-events:none;
  }
  .ep-stat-badge{
    display:inline-block;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(0,0,0,.06);
    margin-bottom: 10px;
  }
  .ep-stat-main{
    display:flex;
    align-items: baseline;
    justify-content:center;
    gap: 6px;
    line-height: 1;
    margin: 6px 0 8px;
  }
  .ep-stat-plus{
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 800;
    opacity:.9;
  }
  .ep-stat-number{
    font-size: clamp(48px, 7vw, 46px);
    font-weight: 900;
    letter-spacing: -1px;
  }
  .ep-stat-title{
    font-size: clamp(15px, 2.4vw, 15px);
    font-weight: 800;
  }
  .ep-stat-sub{
    font-size: 13px;
    opacity:.75;
    margin-top: 2px;
  }
  /*ANIMAÇÃO NUMEROS*/



.section-modulo-2 {
    padding: 60px 0;
    background-color: #fff;
}

/* Estilização dos Passos (Como Funciona) */
.step-card {
    background: #f8f9fa;
    border-radius: 15px;
    padding: 20px;
    margin-bottom: 20px;
    border-left: 5px solid #219EBC;
    border-top: 1px solid #d0eef5;
    border-bottom: 1px solid #d0eef5; /* Cor destaque do Estuda Plus */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
}

.step-card:hover {
    transform: translateX(10px);
    background: #fff;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.step-number {
    font-size: 48px;
    font-weight: 800;
    color: #007bff;
    opacity: 0.3;
    margin-right: 20px;
    line-height: 1;
    min-width: 50px;
}

.step-text {
    font-size: 16px;
    color: #444;
    line-height: 1.5;
    font-weight: 500;
}

/* Estilização da Seção Sobre */
.about-container {
    padding: 0 20px;
}

.about-logo {
    width: 220px;
    margin: 0 auto 30px;
    filter: drop-shadow(0 5px 15px rgba(0,0,0,0.05));
}

.about-text {
    font-size: 17px;
    line-height: 1.8;
    color: #555;
    text-align: justify;
}

/* Banner de Parceiro */
.partner-banner {
    margin-top: 50px;
    transition: opacity 0.3s;
}

.partner-banner:hover {
    opacity: 0.9;
}

/* Ajustes Mobile */
@media (max-width: 767px) {
    .section-modulo-2 {
        padding: 40px 0;
    }
    
    .step-card {
        padding: 15px;
    }

    .step-number {
        font-size: 36px;
        margin-right: 15px;
        min-width: 40px;
    }

    .about-container {
        margin-top: 50px;
        padding: 15px;
    }
}


/* Container dos Botões */
.button-estados {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 40px;
}

.custom-button-estados {
    display: inline-block;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    text-decoration: none !important;
    width: 260px;
}

.custom-button-estados:hover {
    transform: scale(1.08);
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
}

/* Ajustes Mobile */
@media (max-width: 767px) {
    .custom-button-estados {
	    width: 300px;
	}
}


/* Estilização do Botão WhatsApp */
.btn-whatsapp {
    display: inline-flex;
    align-items: center;
    background-color: #25d366;
    color: #fff !important;
    padding: 10px 20px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none !important;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);
    margin-top: 20px;
}

.btn-whatsapp:hover {
    background-color: #1ebe57;
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(37, 211, 102, 0.4);
}

.btn-whatsapp img {
    margin-right: 10px;
    /*filter: brightness(0) invert(1); */
}

/* Ajustes Mobile */
@media (max-width: 767px) {
    .section-modulo-1 h4 {
        font-size: 18px;
        padding: 0 15px;
    }

    .btn-whatsapp {
        width: 90%;
        justify-content: center;
    }
}


.video-mobile-wrapper {
    position: relative;
    width: 100%;
    max-width: 500px;
    margin: 20px auto;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    background-color: #000;
}

.video-mobile-wrapper video {
    width: 100%;
    display: block;
    border-radius: 15px;
}

/* Botão de Controle de Áudio (Mute/Unmute) */
.audio-control {
    position: absolute;
    bottom: 15px;
    right: 15px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: background 0.3s ease;
    font-size: 18px;
}

.audio-control:hover {
    background: rgba(0, 0, 0, 0.8);
}

/* Ícone de som usando caracteres especiais ou Font Awesome se disponível */
.audio-icon::before {
    content: "\1F507"; /* Ícone de mudo padrão */
}

.audio-on .audio-icon::before {
    content: "\1F50A"; /* Ícone de som alto padrão */
}


/* Estilização Customizada do Banner de Parceria */
.banner-parceria-escola {
    background: linear-gradient(135deg, #0099cc 0%, #00bcd4 100%);
    color: #ffffff;
    padding: 40px 20px;
    margin: 30px 0;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.banner-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.banner-text {
    font-size: 18px;
    margin-bottom: 25px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    opacity: 0.95;
}

.btn-banner-cta {
    background-color: #4CAF50;
    border-color: #45a049;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 15px 35px;
    border-radius: 30px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.btn-banner-cta:hover {
    background-color: #45a049;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
}

/* Ajustes para Mobile */
@media (max-width: 768px) {
    .banner-title { font-size: 22px; }
    .banner-text { font-size: 16px; }
    .btn-banner-cta { width: 100%; }
}


/* ===== SEÇÃO BABY PLUS ===== */
.baby-plus-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #f5f9fc 0%, #e8f4f8 100%);
    position: relative;
    overflow: hidden;
}

.baby-plus-section::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -100px;
    width: 300px;
    height: 300px;
    background: rgba(0, 174, 239, 0.1);
    border-radius: 50%;
    z-index: 0;
}

.baby-plus-section::after {
    content: '';
    position: absolute;
    bottom: -80px;
    left: -80px;
    width: 250px;
    height: 250px;
    background: rgba(255, 193, 7, 0.08);
    border-radius: 50%;
    z-index: 0;
}

.baby-plus-content,
.baby-plus-image {
    position: relative;
    z-index: 1;
}

/* Título Principal */
.baby-plus-title {
    font-size: 42px;
    font-weight: 700;
    color: #1a3a52;
    line-height: 1.3;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
}

.baby-plus-title .highlight {
    color: #00aeef;
    display: block;
    font-size: 48px;
}

/* Subtítulo */
.baby-plus-subtitle {
    font-size: 16px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 40px;
    font-weight: 400;
}

/* Lista de Benefícios */
.baby-plus-benefits {
    margin-bottom: 40px;
}

.benefit-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 25px;
    transition: transform 0.3s ease;
}

.benefit-item:hover {
    transform: translateX(10px);
}

.benefit-icon {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #00aeef 0%, #0096d6 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
    margin-right: 20px;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(0, 174, 239, 0.2);
}

.benefit-text h4 {
    font-size: 16px;
    font-weight: 600;
    color: #1a3a52;
    margin: 0 0 5px 0;
}

.benefit-text p {
    font-size: 14px;
    color: #888;
    margin: 0;
}

/* Botão CTA */
.baby-plus-cta {
    margin-top: 40px;
}

.btn-baby-plus {
    background: linear-gradient(135deg, #ffc107 0%, #ffb300 100%);
    border: none;
    color: white;
    font-weight: 700;
    font-size: 16px;
    padding: 15px 40px;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.btn-baby-plus:hover {
    background: linear-gradient(135deg, #ffb300 0%, #ff9800 100%);
    box-shadow: 0 8px 25px rgba(255, 193, 7, 0.4);
    transform: translateY(-2px);
    color: white;
    text-decoration: none;
}

.btn-baby-plus i {
    margin-left: 10px;
    transition: transform 0.3s ease;
}

.btn-baby-plus:hover i {
    transform: translateX(5px);
}

/* Imagem */
.baby-plus-image {
    text-align: center;
}

.baby-plus-image img {
    max-width: 100%;
    height: auto;
    border-radius: 15px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.baby-plus-image img:hover {
    transform: scale(1.02);
}

/* ===== MODAL DE ESTADOS ===== */
.modal-header-babyplus {
    background: linear-gradient(135deg, #00aeef 0%, #0096d6 100%);
    color: white;
    border: none;
    padding: 25px;
}

.modal-header-babyplus .modal-title {
    font-size: 22px;
    font-weight: 700;
    color: white;
    margin: 0;
}

.modal-header-babyplus .close {
    color: white;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.modal-header-babyplus .close:hover {
    opacity: 1;
}

.modal-body-babyplus {
    padding: 40px;
    background: #f9f9f9;
}

.modal-subtitle {
    font-size: 16px;
    color: #555;
    margin-bottom: 30px;
    text-align: center;
    font-weight: 500;
}

/* Container de Estados */
.estados-container {
    margin-top: 20px;
}

.estado-item {
    margin-bottom: 20px;
}

.btn-estado {
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-estado:hover {
    text-decoration: none;
}

/* Card de Estado */
.estado-card {
    background: white;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.btn-estado:hover .estado-card {
    border-color: #00aeef;
    box-shadow: 0 8px 20px rgba(0, 174, 239, 0.2);
    transform: translateY(-5px);
}

.estado-card i {
    font-size: 40px;
    color: #00aeef;
    margin-bottom: 15px;
    display: block;
}

.estado-card h5 {
    font-size: 18px;
    font-weight: 700;
    color: #1a3a52;
    margin: 10px 0 8px 0;
}

.estado-card p {
    font-size: 13px;
    color: #888;
    margin: 0;
}

/* Rodapé do Modal */
.modal-footer-babyplus {
    background: #f9f9f9;
    border-top: 1px solid #e0e0e0;
    padding: 15px 40px;
}

.modal-footer-babyplus .btn-secondary {
    background-color: #6c757d;
    border: none;
    border-radius: 50px;
    /*padding: 10px 30px;*/
    font-weight: 600;
}

.modal-footer-babyplus .btn-secondary:hover {
    background-color: #5a6268;
}

/* ===== RESPONSIVIDADE ===== */
@media (max-width: 768px) {
    .baby-plus-section {
        padding: 60px 0;
    }
    
    .baby-plus-title {
        font-size: 32px;
    }
    
    .baby-plus-title .highlight {
        font-size: 36px;
    }
    
    .baby-plus-subtitle {
        font-size: 15px;
        margin-bottom: 30px;
    }
    
    .baby-plus-image {
        margin-top: 40px;
    }
    
    .benefit-item {
        margin-bottom: 20px;
    }
    
    .btn-baby-plus {
        width: 100%;
        text-align: center;
    }
    
    .modal-body-babyplus {
        padding: 25px;
    }
    
    .estado-card {
        padding: 20px 15px;
    }
    
    .estado-card i {
        font-size: 32px;
    }
    
    .estado-card h5 {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .baby-plus-section {
        padding: 40px 0;
    }
    
    .baby-plus-title {
        font-size: 26px;
    }
    
    .baby-plus-title .highlight {
        font-size: 28px;
    }
    
    .baby-plus-subtitle {
        font-size: 16px;
    }
    
    .benefit-icon {
        width: 45px;
        height: 45px;
        font-size: 20px;
    }
    
    .benefit-text h4 {
        font-size: 15px;
    }
    
    .benefit-text p {
        font-size: 13px;
    }
    
    .modal-header-babyplus .modal-title {
        font-size: 18px;
    }
    
    .modal-subtitle {
        font-size: 14px;
    }
    
    .estado-card {
        padding: 15px 10px;
    }
    
    .estado-card i {
        font-size: 28px;
    }
    
    .estado-card h5 {
        font-size: 15px;
    }
    
    .estado-card p {
        font-size: 12px;
    }
}

.texto-seo-escolas {
    max-width: 760px;
    margin: 10px auto 25px auto;
    font-size: 16px;
    line-height: 1.5;
    color: #555;
    text-align: center;
    padding: 0 10px 0 10px;
}

.filtros-escolas {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.filtro-select {
    max-width: 100%;
    margin-top: 0;
}

.filtro-select .form-control {
    height: 44px;
    border-radius: 6px;
    box-shadow: none;
    font-size: 15px;
}

@media (max-width: 767px) {
    .filtros-escolas .col-sm-6 {
        margin-bottom: 12px;
    }
}


.box-links-internos{
    margin-top:25px;
    padding:18px;
    background:#f7f7f7;
    border-radius:8px;
    border:1px solid #e5e5e5;
}

.box-links-internos h3{
    margin-top:0;
    font-size:20px;
    font-weight:bold;
}

.box-links-internos ul{
    padding-left:18px;
}

.box-links-internos a{
    font-weight:bold;
}

.ep-headline {
    font-size: 42px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
}

.ep-headline span {
    display: block;
    font-size: 22px;
    font-weight: 500;
    margin-top: 10px;
}
@media (max-width: 767px) {
    .ep-headline {
	    font-size: 32px;
	}

	.ep-headline span {
	    font-size: 18px;
	}
}


.cta-lateral { background:#1fa1c1; color:#fff; border-radius:16px; padding:24px; }
        .cta-lateral h3 { margin-top:0; margin-bottom:10px; font-size:24px; }
        .cta-lateral p { color:#d7e6ef; }
        .btn-estuda { background:#ffd54f; border-color:#ffd54f; color:#12344d; font-weight:bold; border-radius:8px; padding:13px 18px; }
        .btn-estuda:hover, .btn-estuda:focus { background:#f6cb3f; border-color:#f6cb3f; color:#12344d; }
        .secao { padding:32px 0; }
        .secao-leve { background:#fafcfd; }
        .titulo-secao { margin-top:0; margin-bottom:18px; color:#12344d; }
        .lista-check { list-style:none; padding:0; margin:0; }
        .lista-check li { position:relative; padding-left:24px; margin-bottom:12px; color:#476174; }
        .lista-check li:before { content:'\2713'; position:absolute; left:0; top:0; color:#00a86b; font-weight:bold; }
        .sobre-box { background:#fff; border:1px solid #e3edf3; border-radius:14px; padding:20px; }
        .galeria-wrap { background:#eef7fa; border-radius:14px; padding:10px; }
        .alinha-foto { border-radius:10px; }
        .box-local { background:#fff; border:1px solid #e3edf3; border-radius:14px; padding:20px; }
        .barra-mobile-cta { display:none; }
        .mostra1,.mostra2 { display:none; }
        @media (max-width: 767px) {
            .titulo-principal { font-size:28px; }
            .hero-instituicao { padding-bottom:90px; }
            .cta-lateral { margin-top:18px; }
            .barra-mobile-cta { display:block; position:fixed; left:0; right:0; bottom:0; z-index:999; background:#fff; border-top:1px solid #dfe7ec; box-shadow:0 -4px 18px rgba(0,0,0,.08); padding:10px; }
            .barra-mobile-cta .btn { width:100%; }
        }


.ep-city-links {
    margin: 35px 0 15px;
    padding: 0 15px;
}

.ep-city-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
    color: #333;
}

.ep-city-buttons {
    max-width: 920px;
    margin: 0 auto;
}

.ep-city-btn {
    display: inline-block;
    padding: 9px 17px;
    margin: 5px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 600;
    color: #425466;
    background: #f7f9fb;
    border: 1px solid #dfe7ef;
    text-decoration: none;
    transition: all 0.22s ease;
}

.ep-city-btn .glyphicon {
    font-size: 12px;
    margin-right: 5px;
    color: #f7b500;
    transition: all 0.22s ease;
}

.ep-city-btn:hover,
.ep-city-btn:focus {
    background: #f7b500;
    border-color: #f7b500;
    color: #1d3557;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.10);
}

.ep-city-btn:hover .glyphicon,
.ep-city-btn:focus .glyphicon {
    color: #1d3557;
}

/* Mobile */
@media (max-width: 767px) {
    .ep-city-links {
        margin: 25px 0 10px;
    }

    .ep-city-title {
        font-size: 16px;
    }

    .ep-city-btn {
        width: 46%;
        padding: 10px 8px;
        margin: 4px 2px;
        font-size: 12px;
    }
}



.escola-body { 
    background-color: #f8fafc; 
    color: #334155; 
    font-family: 'Ubuntu', sans-serif;
}

/* Header Padrão Estuda Plus */
.faixa-topo { 
    background: #023047; 
    padding: 12px 0; 
    border-bottom: 3px solid #fb8500; 
}

/* Topo Escola Lateralizado */
.escola-header-box { 
    background: #fff; 
    padding: 40px 0 20px 0; 
    border-bottom: 1px solid #e2e8f0; 
}

.escola-header-flex { 
    display: flex; 
    align-items: center; 
    gap: 30px; 
    flex-wrap: wrap; 
}

.escola-logo-img { 
    width: 130px; 
    height: 130px; 
    border-radius: 15px; 
    border: 4px solid #f1f5f9; 
    box-shadow: 0 4px 6px rgba(0,0,0,0.05); 
    object-fit: contain; 
    background: #fff; 
}

.escola-nome { 
    font-size: 32px; 
    font-weight: 700; 
    color: #0f172a; 
    margin: 0 0 5px 0; 
}

.escola-slogan { 
    font-size: 17px; 
    color: #64748b; 
    margin-bottom: 15px; 
}

.tag-item { 
    background: #f1f5f9; 
    color: #475569; 
    padding: 4px 12px; 
    border-radius: 50px; 
    font-size: 12px; 
    font-weight: 500; 
    border: 1px solid #e2e8f0; 
    margin-right: 5px; 
    display: inline-block;
    margin-bottom: 5px;
}

/* CTA ABAIXO DO TOPO */
.cta-container { 
    margin-top: 20px; 
    padding-bottom: 30px; 
}

.cta-banner { 
    background: #023047; 
    border-radius: 16px; 
    padding: 25px; 
    border: 2px solid #fb8500; 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    gap: 20px; 
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); 
}

.cta-text { 
    color: #fff; 
    flex-grow: 1; 
}

.cta-text h3 { 
    margin: 0 0 5px 0; 
    font-weight: 700; 
    color: #fff; 
    font-size: 22px; 
}

.cta-text p { 
    margin: 0; 
    color: #cbd5e1; 
    font-size: 15px; 
}

.cta-action { 
    flex-shrink: 0; 
    min-width: 250px; 
}

.btn-principal { 
    background: #fb8500; 
    color: #fff; 
    border: none; 
    padding: 15px 25px; 
    border-radius: 10px; 
    font-weight: 700; 
    font-size: 16px; 
    width: 100%; 
    transition: all 0.3s; 
    text-transform: uppercase; 
    box-shadow: 0 4px 0 #c26600; 
    text-align: center;
    display: block;
    text-decoration: none !important;
}

.btn-principal:hover { 
    background: #ff9d2e; 
    transform: translateY(-2px); 
    color: #fff; 
}

/* Carrossel Moderno */
.carrossel-secao { 
    background: #fff; 
    padding: 20px 0; 
    border-bottom: 1px solid #e2e8f0; 
}

.owl-carousel .item { 
    border-radius: 12px; 
    overflow: hidden; 
    height: auto; 
}

.owl-carousel .item img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}

.owl-nav button { 
    background: #fb8500 !important; 
    color: #fff !important; 
    width: 40px; 
    height: 40px; 
    border-radius: 50% !important; 
    font-size: 20px !important; 
}

/* Conteúdo e Cards */
.card-moderno { 
    background: #fff; 
    border-radius: 16px; 
    padding: 30px; 
    box-shadow: 0 1px 3px rgba(0,0,0,0.1); 
    margin-bottom: 25px; 
    border: 1px solid #f1f5f9; 
}

.section-title { 
    font-size: 22px; 
    font-weight: 700; 
    color: #023047; 
    margin-bottom: 20px; 
    display: flex; 
    align-items: center; 
    gap: 10px; 
}

.section-title i { 
    color: #fb8500; 
}

.grid-badges { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 10px; 
}

.badge-item { 
    background: #f0f9ff; 
    color: #0369a1; 
    border: 1px solid #bae6fd; 
    padding: 10px 20px; 
    border-radius: 10px; 
    font-weight: 600; 
    font-size: 14px; 
}

.list-check { 
    list-style: none; 
    padding: 0; 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 10px; 
}

.list-check li { 
    background: #f8fafc; 
    padding: 12px; 
    border-radius: 8px; 
    display: flex; 
    align-items: center; 
    gap: 10px; 
    border-left: 4px solid #fb8500; 
}

/* Responsividade */
@media (max-width: 991px) {
    .cta-banner { flex-direction: column; text-align: center; }
    .cta-action { width: 100%; }
    .escola-header-flex { justify-content: center; text-align: center; }
    .list-check { grid-template-columns: 1fr; }
    .escola-nome { font-size: 26px; }
}
Otimização e Melhoria do Layout da Página de Escolas - Manus


/* ============================================================
   ESTILOS PARA LISTAGEM DE VAGAS (bolsas-list.php)
   Estilo original do usuário com prefixo .vagas-body
   ============================================================ */

.vagas-body { background-color: #f0f4f8; font-family: 'Ubuntu', sans-serif; color: #334155; }
.vagas-body .faixa-topo { background: #023047; padding: 15px 0; border-bottom: 3px solid #fb8500; }

/* Header */
.vagas-body .header-vagas { background: #fff; padding: 40px 0; border-bottom: 1px solid #e2e8f0; margin-bottom: 40px; }
.vagas-body .header-flex { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
.vagas-body .logo-escola { width: 120px; height: 120px; border-radius: 15px; border: 4px solid #f1f5f9; object-fit: contain; background: #fff; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.vagas-body .info-escola h1 { font-size: 28px; font-weight: 700; margin: 0; color: #0f172a; }
.vagas-body .info-escola p { margin: 8px 0 15px; color: #64748b; font-size: 16px; }

.vagas-body .btn-whats-share { background: #25d366; color: #fff; padding: 8px 15px; border-radius: 50px; font-weight: 700; font-size: 13px; text-decoration: none !important; display: inline-flex; align-items: center; gap: 8px; transition: 0.3s; }
.vagas-body .btn-whats-share:hover { background: #128c7e; color: #fff; transform: translateY(-2px); }

/* Grid de Vagas */
.vagas-body .vaga-card { 
    background: #f6fdff; 
    border-radius: 16px; 
    margin-bottom: 30px; 
    padding: 25px; 
    border: 1px solid #70b4c5;
    transition: all 0.3s ease;
    display: block;
    text-decoration: none !important;
    color: inherit;
    position: relative;
    overflow: hidden;
    height: 100%;
}
.vagas-body .vaga-card:hover { border-color: #fb8500; box-shadow: 0 10px 25px rgba(0,0,0,0.1); transform: translateY(-5px); }

.vagas-body .serie-header { border-bottom: 1px dashed #e2e8f0; padding-bottom: 15px; margin-bottom: 15px; }
.vagas-body .turno-tag { font-size: 11px; color: #ffffff; text-transform: uppercase; font-weight: 700; letter-spacing: 1px; background: #219ebc; padding: 2px 8px; border-radius: 4px; }
.vagas-body .serie-nome { font-size: 19px; font-weight: 700; color: #0f172a; margin-top: 5px; display: block; }

.vagas-body .info-detalhes { font-size: 16px; color: #475569; line-height: 1.6; }
.vagas-body .info-detalhes b { color: #0f172a; }

.vagas-body .economia-destaque { 
    background: #fff7ed; 
    color: #c2410c; 
    padding: 10px; 
    border-radius: 10px; 
    margin: 15px 0; 
    font-weight: 700; 
    font-size: 14px; 
    text-align: center;
    border: 1px solid #ffedd5;
}

.vagas-body .frase-destaque {
    background: #e1ae03;
    color: #ffffff;
    padding: 10px;
    border-radius: 10px;
    margin: 15px 0;
    font-weight: 700;
    /*font-size: 13px;*/
    text-align: center;
    border: 1px solid #ffedd5;
}

.vagas-body .preco-container { display: flex; align-items: center; justify-content: space-between; margin-top: 20px; }
.vagas-body .preco-labels { line-height: 1.2; }
.vagas-body .preco-de { font-size: 12px; color: #94a3b8; text-decoration: line-through; }
.vagas-body .preco-por { font-size: 26px; font-weight: 800; color: #023047; display: block; }

.vagas-body .badge-desconto-circular { 
    background: #fb8500; 
    color: #fff; 
    width: 55px; 
    height: 55px; 
    border-radius: 50%; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    justify-content: center; 
    font-weight: 800; 
    font-size: 16px; 
    line-height: 1;
    box-shadow: 0 4px 10px rgba(251, 133, 0, 0.3);
}
.vagas-body .badge-desconto-circular small { font-size: 9px; }

.vagas-body .btn-acao { 
    background: #219ebc; 
    color: #fff; 
    padding: 12px; 
    border-radius: 10px; 
    font-weight: 700; 
    text-align: center; 
    margin-top: 20px; 
    display: block; 
    text-transform: uppercase; 
    letter-spacing: 1px;
    transition: 0.3s;
}
.vagas-body .vaga-card:hover .btn-acao { background: #023047; }

.vagas-body .selo-status { position: absolute; top: 15px; right: 15px; }
.vagas-body .blink-vagas { background: #ef4444; color: #fff; padding: 4px 10px; border-radius: 50px; font-size: 10px; font-weight: 800; animation: pulse 1.5s infinite; }

.vagas-body .esgotado { opacity: 0.6; filter: grayscale(1); pointer-events: none; }
.vagas-body .local-info { font-size: 12px; color: #94a3b8; margin-top: 10px; text-align: center; display: block; }

@media (max-width: 767px) {
    .vagas-body .header-flex { justify-content: center; text-align: center; }
    .vagas-body .vaga-card { padding: 20px; }
}


/* ============================================================
   RESTAURAÇÃO DE CORES E ESTILO - PÁGINA DE BOLSA (bolsa.php)
   Foco em manter a identidade original do Estuda Plus
   ============================================================ */

.vaga-detalhe-body { background-color: #f0f4f8; font-family: 'Ubuntu', sans-serif; }

/* Topo Original */
.vaga-detalhe-body .faixa-topo { background: #023047; padding: 15px 0; border-bottom: 3px solid #fb8500; }

/* Box Interno Suave */
.vaga-detalhe-body .bolsa-box-interno {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    margin-bottom: 25px;
}

.vaga-detalhe-body .bolsa-box-interno-titulo {
    background: #f8fafc;
    padding: 20px;
    border-bottom: 1px solid #eee;
    font-weight: 700;
    color: #023047;
    font-size: 18px;
}

/* Blocos de Valores com Cores Originais */
.vaga-detalhe-body .bolsa-box-valores { padding: 10px; }
.vaga-detalhe-body .bolsa-box-h { padding: 15px; display: flex; flex-direction: column; justify-content: center; min-height: 90px; }
.vaga-detalhe-body .borda-direita { border-right: 1px solid #eee; }

.vaga-detalhe-body .bolsa-box-preco { font-size: 22px; font-weight: 700; color: #fb8500; }
.vaga-detalhe-body .bolsa-box-total { font-size: 24px; font-weight: 700; color: #fff; }

/* Botões */
.vaga-detalhe-body .btn-primary {
    background: #219ebc;
    border: none;
    border-radius: 8px;
    padding: 15px;
    font-weight: 700;
    box-shadow: 0 4px 0 #107e99;
}
.vaga-detalhe-body .btn-primary:hover { background: #107e99; transform: translateY(-1px); }

/* Abas */
.vaga-detalhe-body .nav-tabs { border-bottom: 2px solid #e2e8f0; }
.vaga-detalhe-body .nav-tabs > li > a { border: none !important; font-weight: 700; color: #64748b; }
.vaga-detalhe-body .nav-tabs > li.active > a { color: #023047 !important; border-bottom: 3px solid #fb8500 !important; background: #fff !important; }

@media (max-width: 767px) {
    .vaga-detalhe-body .borda-direita { border-right: none; border-bottom: 1px solid #eee; }
}


/* ======================================================
LGPD ESTUDA PLUS
====================================================== */

.ep-lgpd{
    position: fixed;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 99999;

    display: flex;
    justify-content: center;

    transition: all .4s ease;
}

.ep-lgpd-hide{
    opacity: 0;
    transform: translateY(30px);
}

.ep-lgpd-content{
    width: 100%;
    max-width: 980px;

    background: rgba(2,48,71,.97);

    border: 1px solid rgba(255,255,255,.08);

    border-radius: 14px;

    padding: 18px 22px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    box-shadow: 0 10px 30px rgba(0,0,0,.25);

    backdrop-filter: blur(10px);
}

.ep-lgpd-text{
    color: #fff;
    font-size: 14px;
    line-height: 1.6;
}

.ep-lgpd-text a{
    color: #ffd166;
    font-weight: bold;
    text-decoration: none;
}

.ep-lgpd-text a:hover{
    color: #fff;
}

.ep-lgpd-buttons{
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.ep-lgpd-recusar{
    background: transparent;
    border: 1px solid rgba(255,255,255,.25);
    color: #fff;
}

.ep-lgpd-recusar:hover{
    background: rgba(255,255,255,.08);
    color: #fff;
}

.ep-lgpd-aceitar{
    background: #fb8500;
    border-color: #fb8500;
    color: #fff;
    font-weight: bold;
}

.ep-lgpd-aceitar:hover{
    background: #ff971f;
    border-color: #ff971f;
}

@media(max-width:768px){

    .ep-lgpd{
        left: 10px;
        right: 10px;
        bottom: 10px;
    }

    .ep-lgpd-content{
        flex-direction: column;
        align-items: stretch;

        padding: 18px;
    }

    .ep-lgpd-buttons{
        width: 100%;
    }

    .ep-lgpd-buttons .btn{
        width: 100%;
    }

}


.blog-page-2026 { background: #f7f9fc; padding: 26px 0 35px; }
.blog-top-card { background: #fff; border-radius: 18px; padding: 26px; box-shadow: 0 8px 24px rgba(0,0,0,.07); border: 1px solid #edf0f5; }
.blog-breadcrumb { font-size: 13px; margin-bottom: 14px; color: #777; }
.blog-breadcrumb a { color: #1b78c2; font-weight: 700; }
.blog-label { display: inline-block; background: #ffe36d; color: #263238; padding: 6px 12px; border-radius: 30px; font-size: 12px; font-weight: 700; text-transform: uppercase; margin-bottom: 12px; }
.blog-title-2026 { font-size: 34px; line-height: 1.18; margin: 0 0 14px; color: #1f2d3d; font-weight: 800; }
.blog-subtitle-2026 { font-size: 17px; color: #637083; line-height: 1.55; margin-bottom: 20px; }
.blog-cover-2026 { margin: 0 -26px 22px; background: #eef3f8; }
.blog-cover-2026 img { width: 100%; max-height: 460px; object-fit: cover; }
.blog-content-2026 { font-size: 17px; line-height: 1.85; color: #2d3742; }
.blog-content-2026 h2 { font-size: 25px; margin-top: 32px; margin-bottom: 13px; color: #1f2d3d; font-weight: 800; }
.blog-content-2026 h3 { font-size: 20px; margin-top: 24px; color: #25384d; font-weight: 800; }
.blog-content-2026 p { margin-bottom: 16px; }
.blog-content-2026 ul, .blog-content-2026 ol { padding-left: 24px; margin-bottom: 18px; }
.blog-content-2026 li { margin-bottom: 8px; }
.blog-cta-box { margin-top: 28px; background: linear-gradient(135deg, #1b78c2, #0d4f8f); color: #fff; border-radius: 16px; padding: 24px; overflow: hidden; }
.blog-cta-box h3 { color: #fff; margin-top: 0; font-size: 22px; font-weight: 800; }
.blog-cta-box p { color: #eef6ff; margin-bottom: 18px; }
.btn-blog-cta { background: #ffe36d; color: #263238 !important; border: 0; border-radius: 30px; padding: 12px 22px; font-weight: 800; display: inline-block; text-decoration: none !important; }
.blog-side-card { background: #fff; border-radius: 16px; padding: 18px; box-shadow: 0 8px 24px rgba(0,0,0,.06); border: 1px solid #edf0f5; margin-bottom: 18px; }
.blog-side-card h3 { margin-top: 0; font-size: 19px; font-weight: 800; color: #1f2d3d; }
.blog-side-card p { color: #677587; line-height: 1.55; }
.blog-side-link { display: block; background: #f6f9fd; padding: 11px 12px; border-radius: 10px; margin-bottom: 9px; color: #1f2d3d; font-weight: 700; text-decoration: none !important; border: 1px solid #edf1f7; }
.blog-side-link:hover { background: #eef6ff; color: #1b78c2; }
.related-section-2026 { padding: 34px 0 20px; background: #fff; }
.related-title-2026 { font-size: 26px; font-weight: 800; color: #1f2d3d; margin-bottom: 20px; }
.related-card-2026 { display: block; background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid #edf0f5; box-shadow: 0 6px 18px rgba(0,0,0,.06); color: #1f2d3d; text-decoration: none !important; margin-bottom: 20px; min-height: 315px; transition: all .2s ease; }
.related-card-2026:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(0,0,0,.10); }
.related-card-2026 img { width: 100%; height: 145px; object-fit: cover; background: #eef3f8; }
.related-card-body { padding: 15px; }
.related-card-body h3 { font-size: 17px; line-height: 1.35; margin: 0 0 9px; font-weight: 800; }
.related-card-body p { color: #687589; font-size: 14px; line-height: 1.55; margin: 0; }
.blog-share { margin-top: 20px; padding-top: 15px; border-top: 1px solid #edf0f5; }
.blog-share a { display: inline-block; margin-right: 8px; margin-bottom: 8px; border-radius: 30px; padding: 9px 14px; background: #f3f7fb; color: #1f2d3d; font-weight: 700; text-decoration: none !important; }
.blog-share a:hover { background: #e8f2fc; color: #1b78c2; }
@media (max-width: 767px) {
    .blog-page-2026 { padding-top: 14px; }
    .blog-top-card { padding: 18px; border-radius: 14px; }
    .blog-title-2026 { font-size: 27px; }
    .blog-subtitle-2026 { font-size: 15px; }
    .blog-cover-2026 { margin: 0 -18px 20px; }
    .blog-content-2026 { font-size: 16px; line-height: 1.75; }
    .blog-content-2026 h2 { font-size: 22px; }
    .related-card-2026 { min-height: auto; }
}


/* ============================================================
   MELHORIAS VISUAIS - PÁGINA DE DETALHE DA VAGA/SÉRIE (bolsa.php)
   Mantém lógica e posições originais; apenas melhora apresentação.
   ============================================================ */

.vaga-detalhe-section {
    padding: 55px 0 45px;
    background: linear-gradient(180deg, #f4fbfd 0%, #ffffff 55%);
}

.vaga-detalhe-body .bolsa-card-principal,
.vaga-detalhe-body .bolsa-tabs-card,
.vaga-detalhe-body .bolsa-info-card,
.vaga-detalhe-body .bolsa-instituicao-card {
    border: 1px solid #d9eef5;
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(2, 48, 71, 0.08);
}

.vaga-detalhe-body .bolsa-topo-card {
    background: linear-gradient(135deg, #023047 0%, #0f7486 100%);
    color: #fff;
    padding: 26px 20px 20px;
    border-radius: 0;
}

.vaga-detalhe-body .bolsa-logo-wrap {
    width: 105px;
    height: 105px;
    margin: 0 auto 14px;
    background: #fff;
    border: 4px solid rgba(255,255,255,.35);
    border-radius: 18px;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(0,0,0,.14);
}

.vaga-detalhe-body .bolsa-logo-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border: 0 !important;
    margin: 0 auto;
}

.vaga-detalhe-body .bolsa-selo-beneficio {
    display: inline-block;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 50px;
    padding: 7px 14px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}

.vaga-detalhe-body .bolsa-info-list {
    padding: 18px 22px !important;
    border-bottom: 1px solid #e5f3f7 !important;
    color: #31505c;
    line-height: 1.8;
    background: #fbfdff;
}

.vaga-detalhe-body .bolsa-info-list b {
    color: #023047;
}

.vaga-detalhe-body .bolsa-valores-modern {
    margin-top: 0 !important;
    padding: 0 !important;
    background: #fff;
}

.vaga-detalhe-body .bolsa-valores-modern .bolsa-box-h {
    padding: 18px 12px;
    min-height: 112px;
    color: #31505c;
    background: #ffffff;
}

.vaga-detalhe-body .bolsa-valores-modern .borda-direita {
    border-right: 1px solid #e6f2f6;
}

.vaga-detalhe-body .bolsa-box-preco {
    color: #fb8500;
    font-size: 24px;
    font-weight: 800;
}

.vaga-detalhe-body .bolsa-economia-anual {
    clear: both;
    padding: 15px 12px;
    background: #e8f8fc;
    color: #04778c;
    font-size: 17px;
    border-top: 1px solid #d5edf3;
    border-bottom: 1px solid #d5edf3;
}

.vaga-detalhe-body .bolsa-preco-final {
    color: #fff !important;
    padding: 18px 10px !important;
    min-height: 95px !important;
}

.vaga-detalhe-body .bolsa-preco-final.mensalidade {
    background: #219EBC;
}

.vaga-detalhe-body .bolsa-preco-final.matricula {
    background: #107e99;
}

.vaga-detalhe-body .bolsa-box-total {
    color: #fff;
    font-size: 28px;
    font-weight: 900;
}

.vaga-detalhe-body .bolsa-frase-destaque {
    background: #fb8500;
    color: #fff;
    padding: 10px 14px;
    margin: 0;
    font-weight: 800;
    font-size: 14px;
}

.vaga-detalhe-body .bolsa-aviso-pagamento {
    background: #fffaf0;
    color: #654100;
    margin: 0;
    padding: 16px 12px;
    border-top: 1px solid #ffe5b5;
    border-bottom: 1px solid #ffe5b5;
}

.vaga-detalhe-body .bolsa-cta-wrap {
    padding: 0 18px;
}

.vaga-detalhe-body .btn-inscricao-bolsa {
    width: 100%;
    font-size: 20px;
    border-radius: 12px;
    background: #fb8500;
    border-color: #fb8500;
    box-shadow: 0 5px 0 #c26600;
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: .3px;
    padding: 15px 12px;
}

.vaga-detalhe-body .btn-inscricao-bolsa:hover,
.vaga-detalhe-body .btn-inscricao-bolsa:focus {
    background: #ff9d2e;
    border-color: #ff9d2e;
    color: #fff;
    transform: translateY(-1px);
}

.vaga-detalhe-body .bolsa-lista-espera {
    margin: 22px 18px 20px;
    padding: 16px;
    background: #f6fbfd;
    border: 1px dashed #b9dce6;
    border-radius: 14px;
    color: #31505c;
}

.vaga-detalhe-body .bolsa-lista-espera .btn-simple {
    margin-top: 10px;
    padding: 9px 18px;
    font-weight: 800;
    color: #023047;
    background: #dff7fb;
    border: 1px solid #9edce8;
}

.vaga-detalhe-body .bolsa-info-card {
    padding: 22px;
    line-height: 1.75;
    color: #334155;
}

.vaga-detalhe-body .bolsa-info-card h4 {
    margin-top: 0;
    color: #023047;
}

.vaga-detalhe-body .bolsa-tabs-card {
    padding: 0;
}

.vaga-detalhe-body .bolsa-tabs {
    background: #f8fcfd;
    border-bottom: 1px solid #dcecf1;
}

.vaga-detalhe-body .bolsa-tabs > li > a {
    color: #31505c;
    border: 0 !important;
    font-weight: 800;
    padding: 14px 13px;
}

.vaga-detalhe-body .bolsa-tabs > li.active > a,
.vaga-detalhe-body .bolsa-tabs > li.active > a:hover,
.vaga-detalhe-body .bolsa-tabs > li.active > a:focus {
    color: #023047 !important;
    background: #ffffff !important;
    border: 0 !important;
    border-bottom: 3px solid #fb8500 !important;
}

.vaga-detalhe-body .tab-conteudo {
    padding: 22px;
    font-size: 14px;
    line-height: 1.8;
    color: #334155;
}

.vaga-detalhe-body .bolsa-instituicao-card {
    padding: 22px;
}

.vaga-detalhe-body .bolsa-instituicao-card img {
    margin: 0 auto;
    max-height: 190px;
    object-fit: contain;
    border: 1px solid #e5f3f7;
    background: #fff;
    padding: 10px;
    border-radius: 16px;
}

.vaga-detalhe-body .btn-conheca-instituicao {
    width: 100%;
    border-radius: 12px;
    background: #023047;
    border-color: #023047;
    color: #fff;
    font-weight: 800;
}

.vaga-detalhe-body .btn-conheca-instituicao:hover {
    background: #0f7486;
    border-color: #0f7486;
    color: #fff;
}

@media (max-width: 767px) {
    .vaga-detalhe-section {
        padding: 28px 0 30px;
    }

    .vaga-detalhe-body .bolsa-card-principal,
    .vaga-detalhe-body .bolsa-tabs-card,
    .vaga-detalhe-body .bolsa-info-card,
    .vaga-detalhe-body .bolsa-instituicao-card {
        border-radius: 14px;
        margin-bottom: 18px;
    }

    .vaga-detalhe-body .bolsa-valores-modern .borda-direita {
        border-right: none;
        border-bottom: 1px solid #e6f2f6;
    }

    .vaga-detalhe-body .bolsa-tabs > li > a {
        padding: 12px 8px;
        font-size: 13px;
    }

    .vaga-detalhe-body .btn-inscricao-bolsa {
        font-size: 18px;
    }
}



/* Página bolsa_cpf - Pré-inscrição */
.ep-cpf-topo {
    padding: 18px 0;
}

.ep-cpf-logo-topo {
    width: 170px;
    display: inline-block;
}

.ep-cpf-page {
    background: linear-gradient(180deg, #f7fbff 0%, #ffffff 70%);
    padding: 34px 0 42px;
    min-height: 62vh;
}

.ep-cpf-wrap {
    max-width: 760px;
    margin: 0 auto;
}

.ep-cpf-card {
    background: #fff;
    border: 1px solid #e8eef5;
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(25, 68, 120, .10);
    padding: 28px;
    overflow: hidden;
}

.ep-cpf-card-header {
    text-align: center;
    margin-bottom: 22px;
}

.ep-cpf-etapa {
    display: inline-block;
    background: #eef7ff;
    color: #1274b8;
    border: 1px solid #cfeaff;
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    margin-bottom: 10px;
}

.ep-cpf-card-header h1 {
    color: #172b4d;
    font-size: 28px;
    line-height: 1.18;
    font-weight: 800;
    margin: 0 0 8px;
}

.ep-cpf-card-header p {
    color: #65758b;
    font-size: 15px;
    margin: 0;
}

.ep-cpf-resumo {
    display: table;
    width: 100%;
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: 18px;
    padding: 16px;
    margin-bottom: 22px;
}

.ep-cpf-logo-box,
.ep-cpf-info {
    display: table-cell;
    vertical-align: middle;
}

.ep-cpf-logo-box {
    width: 118px;
    padding-right: 16px;
}

.ep-cpf-logo-box img {
    max-width: 100px;
    background: #fff;
    border: 1px solid #e6edf5;
    border-radius: 14px;
    padding: 8px;
}

.ep-cpf-info span,
.ep-cpf-info-dupla span {
    display: block;
    color: #7b8ba1;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .35px;
    margin-bottom: 4px;
}

.ep-cpf-info strong,
.ep-cpf-info-dupla strong {
    display: block;
    color: #172b4d;
    font-size: 16px;
    line-height: 1.25;
}

.ep-cpf-info-dupla {
    width: 260px;
    padding-left: 18px;
}

.ep-cpf-info-dupla > div + div {
    margin-top: 10px;
}

.ep-cpf-acoes {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin: 22px 0 14px;
}

.ep-cpf-btn {
    display: inline-block;
    border-radius: 12px;
    padding: 13px 20px;
    min-width: 205px;
    font-size: 15px;
    font-weight: 800;
    text-align: center;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: all .2s ease;
    cursor: pointer;
}

.ep-cpf-btn-primary {
    background: #0b84d8;
    color: #fff !important;
    border-color: #0b84d8;
    box-shadow: 0 10px 22px rgba(11, 132, 216, .20);
}

.ep-cpf-btn-primary:hover,
.ep-cpf-btn-primary:focus {
    background: #096fb7;
    border-color: #096fb7;
    color: #fff !important;
    transform: translateY(-1px);
}

.ep-cpf-btn-outline {
    background: #fff;
    color: #0b84d8 !important;
    border-color: #b9ddf6;
}

.ep-cpf-btn-outline:hover,
.ep-cpf-btn-outline:focus {
    background: #eef7ff;
    color: #096fb7 !important;
}

.ep-cpf-nota {
    background: #fff8e8;
    border: 1px solid #ffe2a8;
    color: #71520d;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.45;
    text-align: center;
}

.ep-cpf-form-box {
    max-width: 470px;
    margin: 0 auto;
}

.ep-cpf-form-title h2 {
    color: #172b4d;
    font-size: 22px;
    font-weight: 800;
    margin: 4px 0 6px;
}

.ep-cpf-form-title p {
    color: #65758b;
    font-size: 14px;
    margin-bottom: 18px;
}

.ep-cpf-field label {
    color: #172b4d;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 7px;
}

.ep-cpf-field .form-control {
    height: 48px;
    border: 1px solid #d8e2ee;
    border-radius: 12px;
    box-shadow: none;
    color: #172b4d;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    letter-spacing: .5px;
}

.ep-cpf-field .form-control:focus {
    border-color: #0b84d8;
    box-shadow: 0 0 0 3px rgba(11,132,216,.10);
}

.ep-cpf-resposta {
    display: block;
    font-size: 12px;
    margin-top: 6px;
    min-height: 16px;
}

.ep-cpf-submit {
    margin-top: 16px;
}

.ep-cpf-submit .ep-cpf-btn {
    width: 100%;
}

.ep-cpf-submit .ep-cpf-btn:disabled {
    background: #b9c7d6;
    border-color: #b9c7d6;
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}

.ep-cpf-submit small {
    display: block;
    color: #7b8ba1;
    font-size: 12px;
    margin-top: 8px;
}

.ep-cpf-seguranca {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #f3fbf6;
    border: 1px solid #d7f0df;
    border-radius: 14px;
    padding: 12px 14px;
    margin-top: 12px;
}

.ep-cpf-seguranca span {
    font-size: 17px;
    line-height: 1;
}

.ep-cpf-seguranca p {
    color: #426052;
    font-size: 13px;
    line-height: 1.4;
    margin: 0;
}

.ep-cpf-seguranca a {
    color: #0b84d8;
    font-weight: 800;
}

.ep-cpf-ajuda {
    border-top: 1px solid #edf2f7;
    margin-top: 24px;
    padding-top: 18px;
    text-align: center;
}

.ep-cpf-ajuda span {
    color: #65758b;
    display: inline-block;
    margin-right: 5px;
}

.ep-cpf-ajuda a {
    color: #0b84d8;
    font-weight: 800;
}

@media (max-width: 767px) {
    .ep-cpf-page {
        padding: 22px 0 32px;
    }

    .ep-cpf-card {
        border-radius: 18px;
        padding: 20px 16px;
    }

    .ep-cpf-card-header h1 {
        font-size: 23px;
    }

    .ep-cpf-resumo,
    .ep-cpf-logo-box,
    .ep-cpf-info {
        display: block;
        width: 100%;
        text-align: center;
    }

    .ep-cpf-logo-box {
        padding: 0;
        margin-bottom: 12px;
    }

    .ep-cpf-logo-box img {
        display: inline-block;
    }

    .ep-cpf-info-dupla {
        width: 100%;
        padding-left: 0;
        margin-top: 14px;
    }

    .ep-cpf-acoes {
        display: block;
    }

    .ep-cpf-btn {
        display: block;
        width: 100%;
        min-width: 0;
        margin-bottom: 10px;
    }

    .ep-cpf-ajuda span {
        display: block;
        margin: 0 0 4px;
    }
}

/* BOTÃO VOLTAR - BOLSA CPF */
.bolsa-voltar-wrap{
    margin: 20px 0 10px;
}

.btn-bolsa-voltar{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #dcdcdc;
    color: #555;
    padding: 10px 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all .2s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

.btn-bolsa-voltar:hover{
    background: #f7f7f7;
    border-color: #cfcfcf;
    color: #222;
    text-decoration: none;
    transform: translateY(-1px);
}

.btn-bolsa-voltar i{
    font-size: 13px;
}


/* =========================================================
   CADASTRO CLIENTE - ESTUDA PLUS 2026
   Página: cadastra_cliente.php
========================================================= */

.ep-cadastro-page{
    background: linear-gradient(180deg, #f6f8fb 0%, #ffffff 100%);
    padding: 28px 0 50px;
}

.ep-back-row{
    margin-bottom: 14px;
}

.ep-btn-voltar{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    border: 1px solid #e4e7ec;
    color: #475467;
    padding: 10px 16px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 5px 18px rgba(16,24,40,.05);
    transition: all .2s ease;
}

.ep-btn-voltar:hover,
.ep-btn-voltar:focus{
    color: #1d2939;
    background: #f9fafb;
    border-color: #d0d5dd;
    text-decoration: none;
    transform: translateY(-1px);
}

.ep-cadastro-shell{
    max-width: 820px;
    margin: 0 auto;
}

.ep-cadastro-header{
    text-align: center;
    margin-bottom: 18px;
}

.ep-step-badge{
    display: inline-block;
    background: #eef4ff;
    color: #175cd3;
    border: 1px solid #d1e0ff;
    padding: 7px 13px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.ep-cadastro-header h1{
    margin: 0;
    color: #101828;
    font-size: 30px;
    line-height: 1.18;
    font-weight: 900;
}

.ep-cadastro-header p{
    margin: 10px 0 0;
    color: #667085;
    font-size: 16px;
}

.ep-vaga-resumo{
    margin: 16px auto 0;
    background: #ffffff;
    border: 1px solid #e4e7ec;
    border-radius: 18px;
    padding: 16px 18px;
    max-width: 620px;
    box-shadow: 0 12px 35px rgba(16,24,40,.07);
}

.ep-vaga-resumo strong,
.ep-vaga-resumo span,
.ep-vaga-resumo small{
    display: block;
}

.ep-vaga-resumo strong{
    color: #101828;
    font-size: 18px;
    font-weight: 900;
}

.ep-vaga-resumo span{
    color: #344054;
    font-size: 15px;
    font-weight: 700;
    margin-top: 4px;
}

.ep-vaga-resumo small{
    color: #667085;
    font-size: 13px;
    margin-top: 3px;
}

.ep-form-card{
    background: #ffffff;
    border: 1px solid #e4e7ec;
    border-radius: 24px;
    padding: 26px;
    box-shadow: 0 18px 45px rgba(16,24,40,.08);
}

.ep-form-title{
    border-bottom: 1px solid #eef2f6;
    padding-bottom: 16px;
    margin-bottom: 20px;
}

.ep-form-title h3{
    margin: 0;
    color: #101828;
    font-size: 22px;
    font-weight: 900;
}

.ep-form-title p{
    margin: 6px 0 0;
    color: #667085;
    font-size: 14px;
}

.ep-cadastro-form label{
    color: #344054;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 7px;
}

.ep-input.form-control,
.ep-cadastro-form .form-control{
    min-height: 46px;
    border: 1px solid #d0d5dd;
    border-radius: 12px;
    box-shadow: none;
    color: #101828;
    font-size: 15px;
}

.ep-input.form-control:focus,
.ep-cadastro-form .form-control:focus{
    border-color: #2f80ed;
    box-shadow: 0 0 0 4px rgba(47,128,237,.12);
}

.ep-field-help{
    display: block;
    color: #667085;
    font-size: 12px;
    margin-top: 6px;
}

.ep-recaptcha-wrap{
    display: flex;
    justify-content: center;
    margin: 18px 0;
}

.ep-legal-text{
    color: #667085;
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
    margin: 10px auto 18px;
    max-width: 680px;
}

.ep-legal-text a{
    color: #175cd3;
    font-weight: 800;
}

.ep-form-actions{
    text-align: center;
}

.ep-btn-continuar{
    width: 100%;
    min-height: 52px;
    border: none;
    border-radius: 15px;
    background: #12b76a;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .2px;
    box-shadow: 0 12px 24px rgba(18,183,106,.25);
    transition: all .2s ease;
}

.ep-btn-continuar:hover,
.ep-btn-continuar:focus{
    background: #039855;
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(18,183,106,.28);
}

@media (max-width: 767px){
    .ep-cadastro-page{
        padding: 18px 0 35px;
    }

    .ep-cadastro-header h1{
        font-size: 24px;
    }

    .ep-cadastro-header p{
        font-size: 14px;
    }

    .ep-form-card{
        padding: 18px;
        border-radius: 20px;
    }

    .ep-recaptcha-wrap{
        transform: scale(.92);
        transform-origin: center;
    }
}


/* LOGIN APÓS CADASTRO - BOLSA */
.ep-login-page{
    background: #f7f9fc;
    padding: 42px 0 70px;
}

.ep-login-card{
    max-width: 920px;
    margin: 0 auto;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 14px 40px rgba(0,0,0,.08);
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.06);
}

.ep-login-grid{
    display: table;
    width: 100%;
}

.ep-login-info,
.ep-login-form-area{
    display: table-cell;
    vertical-align: middle;
    width: 50%;
}

.ep-login-info{
    background: linear-gradient(135deg, #1182c4 0%, #0b5f96 100%);
    color: #fff;
    padding: 42px 38px;
}

.ep-login-badge{
    display: inline-block;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.25);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 7px 12px;
    border-radius: 999px;
    margin-bottom: 18px;
    text-transform: uppercase;
    letter-spacing: .3px;
}

.ep-login-info h1{
    font-size: 28px;
    line-height: 1.25;
    font-weight: 800;
    margin: 0 0 12px;
    color: #fff;
}

.ep-login-info p{
    font-size: 15px;
    line-height: 1.55;
    color: rgba(255,255,255,.92);
    margin-bottom: 22px;
}

.ep-login-steps{
    list-style: none;
    padding: 0;
    margin: 0;
}

.ep-login-steps li{
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
    font-size: 14px;
    color: rgba(255,255,255,.96);
}

.ep-login-steps li:before{
    content: "\f00c";
    font-family: FontAwesome;
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    background: rgba(255,255,255,.18);
    border-radius: 50%;
    font-size: 11px;
}

.ep-login-form-area{
    padding: 40px 38px;
}

.ep-login-form-title{
    font-size: 22px;
    font-weight: 800;
    color: #263238;
    margin: 0 0 8px;
}

.ep-login-form-subtitle{
    font-size: 14px;
    color: #6b7280;
    margin-bottom: 22px;
}

.ep-login-notice{
    background: #f1f8ff;
    border: 1px solid #d9ecff;
    color: #36566d;
    padding: 13px 15px;
    border-radius: 14px;
    font-size: 13px;
    line-height: 1.45;
    margin-bottom: 20px;
}

.ep-login-notice strong{
    color: #184a70;
}

.ep-login-form .form-group{
    margin-bottom: 16px;
}

.ep-login-form label{
    display: block;
    color: #344054;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 7px;
}

.ep-login-form .form-control{
    height: 48px;
    border-radius: 12px;
    border: 1px solid #d8dee8;
    box-shadow: none;
    font-size: 15px;
    color: #263238;
}

.ep-login-form .form-control:focus{
    border-color: #1182c4;
    box-shadow: 0 0 0 3px rgba(17,130,196,.12);
}

.ep-login-password-wrap{
    position: relative;
}

.ep-login-password-wrap .form-control{
    padding-right: 48px;
}

.ep-toggle-pass{
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: #6b7280;
    font-size: 17px;
    padding: 6px;
}

.ep-toggle-pass:hover,
.ep-toggle-pass:focus{
    color: #1182c4;
    outline: none;
}

.btn-ep-login{
    width: 100%;
    height: 50px;
    border-radius: 14px;
    background: #f6a623;
    border: 0;
    color: #fff;
    font-weight: 800;
    font-size: 16px;
    transition: all .2s ease;
    box-shadow: 0 8px 18px rgba(246,166,35,.26);
}

.btn-ep-login:hover,
.btn-ep-login:focus{
    color: #fff;
    background: #e79816;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(246,166,35,.34);
}

.ep-login-help{
    margin-top: 16px;
    text-align: center;
    font-size: 13px;
}

.ep-login-help a{
    color: #1182c4;
    font-weight: 700;
}

.ep-login-security{
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #edf0f5;
    color: #7a8699;
    font-size: 12px;
    line-height: 1.45;
}

.ep-login-security i{
    color: #1182c4;
}

.ep-login-error{
    min-height: 20px;
    color: #d93025;
    font-weight: 700;
    font-size: 13px;
}

@media (max-width: 767px){
    .ep-login-page{
        padding: 25px 0 45px;
    }
    .ep-login-card{
        border-radius: 18px;
        margin: 0 10px;
    }
    .ep-login-grid,
    .ep-login-info,
    .ep-login-form-area{
        display: block;
        width: 100%;
    }
    .ep-login-info{
        padding: 28px 24px;
    }
    .ep-login-info h1{
        font-size: 23px;
    }
    .ep-login-form-area{
        padding: 28px 24px;
    }
}


/* =====================================================
WHATSAPP FLOAT - ESTUDA PLUS
===================================================== */

.ep-whatsapp-widget{
position:fixed;
right:20px;
bottom:20px;
z-index:9999;
}

.ep-whatsapp-button{
background:#FB8500;
color:#FFF;
border:none;
border-radius:50px;
padding:14px 22px;
cursor:pointer;
display:flex;
align-items:center;
gap:10px;
font-size:15px;
font-weight:600;
box-shadow:0 8px 25px rgba(0,0,0,.20);
transition:all .25s ease;
animation:epPulse 2.5s infinite;
}

.ep-whatsapp-button:hover{
background:#e97800;
transform:translateY(-2px);
}

.ep-whatsapp-button i{
font-size:24px;
}

.ep-whatsapp-menu{
width:320px;
background:#FFF;
border-radius:18px;
overflow:hidden;
margin-bottom:12px;
box-shadow:0 10px 35px rgba(0,0,0,.20);
display:none;
}

.ep-whatsapp-menu.active{
display:block;
}

.ep-whatsapp-header{
background:#023047;
color:#FFF;
padding:18px;
}

.ep-whatsapp-header strong{
display:block;
font-size:16px;
margin-bottom:5px;
}

.ep-whatsapp-header span{
font-size:13px;
color:rgba(255,255,255,.85);
}

.ep-online{
color:#9EF01A !important;
display:block;
margin-top:6px;
font-size:12px;
}

.ep-whatsapp-menu a{
display:flex;
align-items:center;
gap:12px;
padding:16px;
text-decoration:none;
color:#023047;
font-weight:600;
border-bottom:1px solid #EFEFEF;
transition:.2s;
}

.ep-whatsapp-menu a:hover

.ep-whatsapp-menu a:last-child{
border-bottom:none;
}

.ep-whatsapp-menu a i{
width:22px;
text-align:center;
font-size:18px;
}

@keyframes epPulse{

```
0%{
    box-shadow:0 0 0 0 rgba(251,133,0,.45);
}

70%{
    box-shadow:0 0 0 14px rgba(251,133,0,0);
}

100%{
    box-shadow:0 0 0 0 rgba(251,133,0,0);
}
```

}

@media(max-width:768px){

```
.ep-whatsapp-widget{
    right:15px;
    bottom:15px;
}

.ep-whatsapp-menu{
    width:calc(100vw - 30px);
    max-width:320px;
}

.ep-whatsapp-button span{
    display:none;
}

.ep-whatsapp-button{
    width:60px;
    height:60px;
    border-radius:50%;
    justify-content:center;
    padding:0;
}
```

}
