/*
Theme Name: Paschoalotto
Theme URI: paschoalotto.com.br
Author: Paschoalotto
Version: 1.0
Author URI: paschoalotto.com.br
Text Domain: Paschoalotto

*/

:root {
	/*--azulRoyal: #36024C;*/
	--azulRoyal:#0051FA;
	--azulRoyal-escuro: #220130;
	--azulRoyal-claro: #5B2CF8;
	--azul: #54D8f0;
	--pink: #FF80BB;
	--pink-claro: #FC3F8E;
	--menta: #12E8A5;
	--verde: #00AF4F; 
	--amarelo: #F2B313;
	--laranja: #F25D27;
	--laranja: #F25D27;
	--rosa-claro: #FF9ED0;
	--branco: #F2F2F2;
	--cinza-paschoalotto: #F5F5F5;
	--branco: #fff;
	--preto: #000;
	--heading-color: #220130;
	--body-color: hsl(0, 0%, 25%);
	--body-color2: #070707;
	--font: 'Inter', sans-serif;
	--azulPaschoalotto:#0051FA;
	--azulRoyal:#002368;
    --laranja:#F25C27;
}

a{
    color: var(--azulPaschoalotto);
    text-decoration: underline;

}
.azulPasc{color: var(--azulPaschoalotto);}
.txtLaranja{color: var(--laranja);}
.txtBlack{color: #404040;}

/* Reset */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

html {scroll-behavior: smooth;}

h1, h2, h3, h4, h5, h6 {font-family:var(--font);}
body {font-family:var(--font), sans-serif; color:var(--body-color); letter-spacing: -0.7px; font-size:16px; line-height:24px; font-weight:normal; background:#fff;}
body img {max-width:100%; height:initial;}
strong {font-weight:bold;}
a {text-decoration: none;}
a:hover, a:focus {text-decoration:none;}
ul, ol {margin: 0; padding:0;}
	
	#site {position:relative; overflow-x: hidden;}
		
	/* CTA's */
	.cta_primary {border:0; padding: 10px 30px; color:var(--azulRoyal); font-weight: bold; transition:all .3s; border-radius: 12px; display: table; background: var(--cinza-paschoalotto); font-family: var(--font); font-size: 16px; border:1px var(--azulRoyal) solid;}
	.cta_primary:hover {background: var(--azulRoyal); color:#fff;}
		.cta_primary i {margin-left: 10px;  position: relative; }
		.cta_primary:hover i {right:-10px;}

	
	.cta_orcamento {position: fixed; z-index: 99; bottom:30px; right:30px; display: table; border-radius: 50px; background:#fff; color:#2e2e2e; padding:10px 20px; padding-left: 70px; border:1px #dedede solid; font-size:14px; box-shadow: 0 0 20px #00000026; transition: all .2s;}
	.cta_orcamento strong {font-weight: bold;}
	.cta_orcamento:hover {color:#fff; background:var(--azul); border-color:var(--azul);}
		.cta_orcamento i {background:var(--azul); color:#fff; width:50px; height:50px; position: absolute; left:10px; top:50%; transform: translateY(-50%); line-height: 50px; text-align: center; border-radius: 50%; font-size:16px}

	/* Menu Responsivo */	
	.menuResponsivo {background:#fff; top:0; left:-70%; width:70%; display:block; height:100%; overflow:auto; position:fixed; z-index:99999; padding:0px 0;}
		.menuResponsivo img {margin:20px auto; margin-top:60px; display:block; max-width: 200px;}
		.menuResponsivo ul {display:table; width:100%;}
			.menuResponsivo ul li {display:table; width:100%; border-bottom: 1px #dedede solid;}
			.menuResponsivo ul li a {color:#000; text-align:center; display:block; font-size:14px; padding:15px; font-weight: bold;}
			.menuResponsivo ul li a:hover, .menuResponsivo ul li a:focus {background:var(--azul); color:#fff;}
			
			.menuResponsivo .sub-menu {background: #f5f5f5;}
			.menuResponsivo .sub-menu a {font-weight: normal; font-size:14px;}

			.menuResponsivo ul li.destaque a {background: var(--azul); color:#fff;}
	
	
	/* Cookies */
	.avisoCookies {z-index:9999999; position: fixed; bottom: 0; left: 0; width: 100%; display: table; background: #1b1b1bd4; color: #fff; padding: 20px 0;}
		.avisoCookies p {font-size:13px; color:#fff; text-align:center; line-height: 18px;}
		.avisoCookies p a {color:#fff; font-weight: bold; text-decoration: underline;}
		.avisoCookies .acoes {display: flex; justify-content: center; align-items: center;	width: fit-content;	margin: auto; margin-top: 15px;}
		.avisoCookies .acoes a {display: table; margin: auto; margin-top: 10px; background: transparent; line-height: 12px; color: #fff; padding: 5px 20px; border-radius: 6px;  font-size: 12px; text-transform: uppercase; cursor: pointer; float:left; text-decoration:none; margin-right:10px; border:1px #fff solid;}
		.avisoCookies .acoes button {display: table;margin: auto; margin-top: 10px; background: var(--azulPaschoalotto); border:1px var(--azulPaschoalotto) solid;  color: #fff; padding: 0px 20px; border-radius: 6px; font-weight: bold; font-size: 12px; text-transform: uppercase; cursor: pointer; float:left;}
	
	
	/* 404 */
	body.error404 footer {padding-top: 80px; margin-top: 0;}
	.page-404 {padding: 90px 0; border-top: 1px #dedede solid; border-bottom: 1px #dedede solid;}
		.page-404 .container {text-align: center;}
		.page-404 h1 {font-size:36px; line-height:40px; font-weight: bold; color:var(--azul); text-transform: uppercase;}
		.page-404 h2 {font-size:18px; margin-bottom: 50px; line-height: 30px;}
		.page-404 a {margin:auto;}

	
	section.title-page h1 {text-align: left;}


/*SoluÃ§Ãµes Paschoalotto*/
section.ns {
    position: relative;    
}

section.ns .principal {
    padding: 80px 0;
}

section.ns .row {
    align-items: center;
}


section.ns .row h3{
    font-weight: 700;
    text-align: left;
    margin: 15px 0;
    font-size: 20px;
}

section.ns .p-sobre {
    position: relative;
    top: -30px;
}

section.ns .p-sobre h2 {
    font-size:44px;
    line-height: 110%;
    font-weight: bold;
    letter-spacing: -3px;
    position: relative;
    padding-left: 60px;
    padding-top: 55px;
}

section.ns .p-sobre h2:after {
    content:'';
    width:420px;
    height:406px;
    display: block;
    /*background: url(../../img/p-sobre.png) center center no-repeat;*/
    background-size: contain;
    position: absolute;
    top: 0;
    left:0;
}

section.ns .texto-sobre {
    margin-top: 20px;
}

section.ns .texto-sobre p {
    letter-spacing: 0;
    font-size: 18px;
    color:var(--azulRoyal);
    line-height: 24px;
}

section.ns .texto-sobre p:not(:last-child) {
    margin-bottom: 30px;
}

/* Estrutura */
section.ns .estrutura {
    text-align: center;
    padding: 85px 0;
}

section.ns .estrutura h2 {
    font-size:44px;
    line-height: 110%;
    font-weight: bold;
    letter-spacing: -2px;
    margin-bottom: 65px;
    color: var(--azulPaschoalotto);
}

section.ns .estrutura h4 {
    font-size: 18px;
    font-weight: 500;
    max-width: 640px;
    margin: auto;
    line-height: 30px;
    margin-bottom: 40px;
}

section.ns .estrutura .fotos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap:30px;
    margin:auto;
}

section.ns .estrutura .fotos div {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

section.ns .estrutura .fotos img {
    display: block;
}

section.ns .estrutura .cta_primary {
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    border-color: var(--laranja);
}

section.ns .card {
  
	border-radius: 10px;
	margin: 10px;

}

section.ns .card:hover {
  
	border-color: var(--azulPaschoalotto);
	overflow: hidden; /* garante que os cantos arredondados sejam aplicados corretamente */
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* sombra para efeito visual */
	transition: border-color 0.3s ease; /* transiÃ§Ã£o suave para a cor da borda */

}

section.ns .card .card-text{

	text-align: left;
	color: #152536;

}

section.ns .card .icon{

	text-align: left;
	padding: 30px 0 0 0;

}

section .card .card-body .snP{padding: 0;}
.snMP{min-height: 255px;}

section .card .card-body .nvP { padding: 0;  min-height: 89px; }
.nvMP{min-height: 355px;}
.sepMP{min-height: 105px;}
.premiacao .card{   margin: 10px 0; }

@media (max-width: 1400px){
    .snMP{min-height: 305px;}
    section .snMP .card-text{font-size: 14px;}

    .nvMP{min-height: 425px;}
    .sepMP{min-height: 115px;}

}

@media (max-width: 1200px){
    .nvMP{min-height: 300px;}
    .sepMP{min-height: 140px;}
}

@media (max-width: 993px){
    .nvMP{min-height: 250px;}
}

@media (max-width: 768px){
    .nvMP{min-height: 270px;}
    .sepMP{min-height: 105px;}
}


section.vsp .container{}
	
section.vsp .row{ padding: 10px; margin: 40px 0; border-radius: 12px; border: 1px solid #F2F2F2; }
section.vsp img{ padding: 10px; object-fit: cover;  height: 100%;  border-radius: 24px; }
section.vsp h2{	color:var(--azulRoyal); font-size: 44px; line-height: 1.3;font-weight: bold; margin: 15px 0; }
section.vsp h2 span{ color:var(--azulPaschoalotto); }
section.vsp h3{	color:var(--azulRoyal);	font-size: 16px; line-height: 1.3; margin: 15px 0; }
section.vsp a{	color:var(--azulPaschoalotto);	font-size: 16px; line-height: 1.3; margin: 15px 0; border: 1px solid var(--azulPaschoalotto); border-radius: 10px; }

section.card-default .row{ padding: 10px; margin: 40px 0; border-radius: 12px; border: 1px solid #F2F2F2; }
section.card-default  img{ padding: 10px; object-fit: cover;  height: 100%;  border-radius: 24px; }
section.card-default  h2{	color:var(--azulRoyal); font-size: 44px; line-height: 1.3;font-weight: bold; margin: 15px 0; }
section.card-default .txtLaranja{color: #F25C27;}
section.card-default h2 span{ color:var(--azulPaschoalotto); }
section.card-default  h3{	color:var(--azulRoyal);	font-size: 16px; line-height: 1.3; margin: 15px 0; }
section.card-default  a{	color:var(--azulRoyal);	font-size: 16px; line-height: 1.3; margin: 15px 0;}
section.card-default iframe { border-radius: 18px; overflow: hidden;   width: 100% !important;}


/*FAQ*/


section.duvidas a{

    color: var(--azulPaschoalotto);
    text-decoration: underline;
    
}

section.duvidas .box__duvidas {
    border-radius: 10px 10px 0px 0px;
    border: 1px solid #C4C4C4;
    max-width: 1024px;
    margin: 0 auto;
}

section.duvidas .box__duvidas h2 {
    text-align: center;
    font-weight: 700;
    font-size: 32px;
    line-height: 120%;
    margin-bottom: 40px;
    color:var(--roxo);
}

.duvidas__list {
    /* margin-bottom: 60px; */
    margin-bottom: 0;
}

.duvidas__list li {
    
    font-family:var(--font);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 170%; /* 27.2px */
    color: #404040;
    text-align: left;
    border-bottom: 1px solid #C4C4C4;
    position: relative;
    cursor: pointer;
    letter-spacing: 0;
}

.duvidas__list li .content {
    display: none;
}

.duvidas__list li.open .content {
    display: table;
}

.duvidas__list li:first-child {
    border-top:0px #d1cad6 solid;
}

.duvidas__list li h3 {
    font-family:var(--font);
    color: #070707;
    font-size: 18px;
    text-align: left;
    padding: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
    letter-spacing: 0px;
}

.duvidas__list li > i {
    position: absolute;
    right: 24px;
    top: 32px;
    
}

.content{
    border-top: 1px solid #c4c4c4;
    padding: 24px;

}
.duvidas__list li .content {
    margin-top: 15px;
}

.duvidas__list .content p {
    
}

.duvidas__list li .content p:not(:last-child) {
    margin-bottom: 15px;
}

section.duvidas .cta__text {
    text-align: center;
    font-weight: 700;
    font-size: 26px;
    line-height: 120%;
    margin-bottom: 35px;
}

section.duvidas a.cta__link {
    display: table;
    margin: auto;
    color: #fff;
    border:none;
    background: var(--roxo);
    border-radius: 40px;
    padding: 14px 80px;
    font-size: 16px;
    transition: all .5s;
    font-weight: 600;
}

section.duvidas a.cta__link:hover {
    background: var(--verde);
}

.duvidas .container{

    padding: 0;

}
/*FIM FAQ*/
/*
#onetrust-consent-sdk #onetrust-pc-btn-handler, #onetrust-consent-sdk #onetrust-pc-btn-handler.cookie-setting-link {
    background-color:  #FFFFFF !important;
    border-color: #002368 !important;
    color: #002368 !important;
    font-size: 16px;
}

	
#onetrust-consent-sdk #onetrust-accept-btn-handler, #onetrust-banner-sdk #onetrust-reject-all-handler {
    background-color: #002368 !important;
    border-color: #002368 !important;
    color: #FFFFFF;
    font-size: 16px;
}
    */ 
	
/* Header: manter logo no fluxo e empurrar o botão para a direita */
header .principal .row{
  display: flex;           /* garante o flex (bootstrap já faz, mas aqui fica explícito) */
  align-items: center;     /* alinha verticalmente */
  justify-content: space-between; /* logo esquerda / botão direita */
}

/* evita o botão "quebrar" embaixo no mobile */
header .principal .row > .header-contato{
  flex: 0 0 auto;
  width: auto;
  margin-left: auto;       /* empurra pro lado direito mesmo se o justify não pegar por override */
  display: flex;
  align-items: center;
}

/* opcional: visual */
header .principal .row > .header-contato .btn{
  border-radius: 12px;
  font-weight: 700;
  padding: 10px 18px;
}
