
body {
font-family: 'Montserrat', sans-serif;
line-height: 1.6;
background-color: #FFFFFF;
color: #313131;
margin: 0;
padding: 0;
}

.logo {
height:100px;
width:auto;
max-width:99%;
margin:0;
padding:0;
}


h1 {
  font-size: 2rem;
  padding-top: 0px;
  margin-top: 0px;
  text-align: center;
}
h2 { 
color: #c54b8c;
}

.gradiente{
/* background:linear-gradient(#ffffff,#f8f9fa); */
background:linear-gradient(#f8f9fa,#ffffff);
}

.img-borda-redonda {
  border-radius: 15px;
}

.alinhamento-vertical { 
display: flex;              /* ativa flexbox */
flex-direction: column;     /* garante alinhamento vertical */
justify-content: center;    /* centraliza na vertical */
/* align-items: center; centraliza na horizontal */
}


.materias h2 {
  font-size: 1.6rem!important;
  font-weight: bold;
  margin-top: 60px;
  margin-bottom: 24px;
  text-align: left!important;
}
.materias h3 {
  font-size: 1.2rem!important;
  margin-top: 40px;
  margin-bottom: 10px;
  font-weight: bold!important;
}

.section {
  padding: 60px 20px;
}
.section h2 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 24px;
  text-align: center;
}
.form-section { 
background: #fff; 
margin: 0rem;
padding: 1.0rem; 
border-radius: 8px; 
box-shadow: 0 2px 8px rgba(0,0,0,0.1); 
}


#perguntasFrequentes h3 {
  font-size: 1.0rem;
  font-weight: bold;
  margin-top: 30px;
}

#formularioOrcamento h3 {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  color: #c54b8c;
}

.hero { 
position: relative;
background: #FFFFFF; 
background-position: center center;
background-repeat: no-repeat; 
background-size: cover;
padding: 2rem 1rem; 
text-align: center; 
display: flex;              /* ativa flexbox */
flex-direction: column;     /* garante alinhamento vertical */
justify-content: center;    /* centraliza na vertical */
align-items: center;        /* centraliza na horizontal */
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
/*background-color: rgba(0, 0, 0, 0.3); */ /* 30% preto no banner todo */
z-index: 1; /* Mantém a camada abaixo do conteúdo */
}
.hero .container {
position: relative;
z-index: 2; /* Para que o conteúdo fique acima da camada escura */
}
.hero-overlay {
background: rgba(162, 87, 79, 0.4); /* #a2574f conhaque com 40% */
z-index: 1;
}
.hero-overlay-azul {
background: rgba(0, 0, 255, 0.4); /* azul com 40% */
z-index: 1;
}
.hero-overlay-dourado {
background: rgba(212, 175, 55, 0.4); /* dourado com 40% */
z-index: 1;
}
.hero-overlay-preto {
background: rgba(0, 0, 0, 0.4); /* preto com 40% */
z-index: 1;
}
.hero-overlay-flamingo {
background: rgba(242, 125, 151, 0.4); /* flamingo com 40% */
z-index: 1;
}
.hero-overlay-amendoa {
background: rgba(238, 217, 196, 0.4); /* #EED9C4 amendoa com 40% */
z-index: 1;
}
.hero-overlay-amora {
background: rgba(197, 75, 140, 0.4); /* #c54b8c amora com 40% */
z-index: 1;
}
.hero-overlay-conhaque {
background: rgba(162, 87, 79, 0.4); /* #a2574f conhaque com 40% */
z-index: 1;
}


.hero h1 {
font-size: 2.5rem;
font-weight: bold;
}
.hero p {
font-size: 1.2rem;
margin-bottom: 20px;
}
/* Para telas grandes (lg: >= 992px no Bootstrap) */
@media (min-width: 992px) {
.hero {
height: 550px; /* AQUI DEFINE A ALTURA DO HERO */
padding: 0; /* opcional: se não quiser que o padding aumente a altura */
}
}
/* 
Em telas menores, o `.hero` continua ajustando com o `padding`
Em telas grandes, ele fixa 350px de altura
*/



.topo-internas { 
position: relative;
background: #FFFFFF; 
background-position: center center;
background-repeat: no-repeat; 
background-size: cover;
padding: 2rem 1rem;  
display: flex;              /* ativa flexbox */
flex-direction: column;     /* garante alinhamento vertical */
justify-content: center;    /* centraliza na vertical */
/*align-items: center;         centraliza na horizontal */
height: 200px; /* AQUI DEFINE A ALTURA DO HERO */
padding: 0; /* opcional: se não quiser que o padding aumente a altura */
}
.topo-internas::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
/*background-color: rgba(0, 0, 0, 0.3); */ /* 30% preto no banner todo */
z-index: 1; /* Mantém a camada abaixo do conteúdo */
}
.topo-internas .container {
position: relative;
z-index: 2; /* Para que o conteúdo fique acima da camada escura */
}
.topo-internas h1 {
font-size: 2.8rem;
font-weight: bold;
color: #FFFFFF;
opacity:0.7;
text-align: left;
}
.topo-internas p {
font-size: 1.2rem;
margin-bottom: 20px;
}



.destaques-colunas {
font-size: 1.2rem !important;
font-weight: 600;
}

.card {
    border-radius: 12px;
    overflow: hidden;
    transition: all .25s ease;
	padding:4px;
}

.card:hover {
    transform: translateY(-6px);
    box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.12);
}

.card-img-top {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.card-title {
    margin-bottom: 15px;
}




.checklist {
  list-style: none; /* remove o marcador padrão */
  /*padding: 0;
  margin: 0;*/
}
.checklist li::marker {
  content: "✔️ ";  /* substitui o marcador */
}

.checklist {
  list-style-position: outside; /* check alinhado verticalmente e texto não "dança" quando quebra linha em telas pequenas */
  padding-left: 2.0rem;
  list-style: none; /* remove o marcador padrão */
  /*padding:0;
  margin:0;*/
}
.checklist li::marker{
/* content: "✔️ "; */  /* check emoji verde que substitui o marcador, mas não altera a cor */
content:"\2714\00A0";     /* \2714 é o check Unicode, altera cor pelo color. \00A0 é espaço. */
color:#ff7a00;
font-weight:bold;
}
.checklist li.no-marker::marker {
  content: ""; /* remove o marcador desta li */
}
.checklist li.no-marker {
  margin-left: -20px; /* diminue recuo desta li */
  margin-bottom: 5px; /* aumenta margem inferior desta li */
}




.cta-final { 
position: relative;
background: #f8f9fa; 
background-position: center center;
background-repeat: no-repeat; 
background-size: cover;
padding: 2rem 1rem; 
text-align: center; 
display: flex;              /* ativa flexbox */
flex-direction: column;     /* garante alinhamento vertical */
justify-content: center;    /* centraliza na vertical */
align-items: center;        /* centraliza na horizontal */
}
.cta-final::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.4);  /* 40% preto no banner todo */
z-index: 1; /* Mantém a camada abaixo do conteúdo */
}
.cta-final .container {
position: relative;
z-index: 2; /* Para que o conteúdo fique acima da camada escura */
}
.cta-final-overlay-zzzz {
background: rgba(0, 0, 0, 0.4); /* preto com 40% */
z-index: 1;
}
.cta-final h1 {
font-size: 2.5rem;
font-weight: bold;
}
.cta-final p {
font-size: 1.2rem;
margin-bottom: 20px;
}
/* Para telas grandes (lg: >= 992px no Bootstrap) */
@media (min-width: 992px) {
.cta-final_XXX {
height: 350px;
padding: 0; /* opcional: se não quiser que o padding aumente a altura */
}
}
/* 
Em telas menores, o `.hero2` continua ajustando com o `padding`
DESATIVADO XXX: Em telas grandes, ele fixa 350px de altura
*/



/*
.btn-whatsapp {
  background: #25d366;
  color: #fff;
  font-weight: bold;
  padding: 12px 25px;
  border-radius: 30px;
}
.btn-whatsapp:hover {
  background: #1ebe5c;
  color: #fff;
}
*/
.btn-whatsapp{
background:#128C3E; /* verde escuro */
color:#fff;
font-weight:bold;
padding:12px 25px;
border-radius:30px;
box-shadow:0 3px 8px rgba(0,0,0,0.15);
transition:all .2s ease;
}
.btn-whatsapp:hover{
background:#25D366; /* verde whatsapp */
color:#fff;
transform:translateY(-1px);
box-shadow:0 5px 12px rgba(0,0,0,0.2);
}
.btn-whatsapp img {
  margin-right: 8px;
}


.btn-whatsapp-navbar {
	height: 70px !important;
	width: auto;
	cursor: pointer;
	border: none;
}

.btn-whatsapp-top{
background:#128C3E; /* verde escuro */
color:#fff;
font-weight:bold;
padding:12px 25px;
border-radius:30px;
box-shadow:0 3px 8px rgba(0,0,0,0.15);
transition:all .2s ease;
}
.btn-whatsapp-top:hover{
background:#25D366; /* verde whatsapp */
color:#fff;
transform:translateY(-1px);
box-shadow:0 5px 12px rgba(0,0,0,0.2);
}
.btn-whatsapp img {
  margin-right: 6px;
}


.btn-destaques{
background:#128C3E; /* verde escuro */
color:#fff;
font-weight:normal;
padding:6px 12px;
border-radius:10px;
transition:all .2s ease;
}
.btn-destaques:hover{
background:#25D366; /* verde whatsapp */
color:#fff;
transform:translateY(-1px);
}
.btn-destaques img {
  margin-right: 6px;
}



/* INICIO BOTAO WHATSAPP, INSTAGRAM, FACEBOOK */
.botaowhatsapp {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 70px;
  height: 70px;
  background-color: transparent;
  opacity:0.8;
  z-index: 1000;
}

.botaoinstagram {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 54px;
  height: 54px;
  background-color: transparent;
  opacity:0.8;
  z-index: 999;
}

.botaofacebook {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 54px;
  height: 54px;
  background-color: transparent;
  opacity:0.8;
  z-index: 998;
}
/* FIM BOTAO WHATSAPP, INSTAGRAM, FACEBOOK */




/* INICIO BOTAO VOLTAR AO TOPO */
#backToTop {
    position: fixed;
    bottom: 20px;
    right: 25px;
	width: 51px;
	height: 51px;
    display: none; /* Inicialmente escondido */
    /*background-color: #007BFF;*/
	background-color: rgba(0, 123, 255, 0.8); /* Adiciona transparência */
    color: white;
    border: none;
    border-radius: 50%;
    padding: 10px;
    font-size: 18px;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: opacity 0.3s, transform 0.3s;
	z-index: 8990;
}
#backToTop:hover {
    /*background-color: #0056b3;*/
	background-color: rgba(0, 86, 179, 0.9); /* Ajusta a transparência ao passar o mouse */
}
#backToTop:active {
    transform: scale(0.95);
}
/* FIM BOTAO VOLTAR AO TOPO */





footer {
  background: #c54b8c;
  /*background: #e3627e; flamingo escuro;   PRETO #292b2c;  */
  color: #fff;
  text-align: center;
  padding: 20px;
  margin-top: 20px;
}
footer a {
    text-decoration: none;
    color: #fff !important;
}
footer a:hover {
    text-decoration: underline;
}

.logo-rodape-mini {
height:80px;
}

.menu-rodape {
color: #f8f9fa;
}
.menu-rodape-ul {
display: inline-block; /* Permite que o ul se comporte como um bloco centralizável */
padding: 0;
margin: 0 auto;/*alinha ao centro horizontalmente*/
color: #f8f9fa;
}
.menu-rodape-li {
font-size: 1.1rem!important;
line-height:22px!important;
padding: 0;
text-align:left;
list-style-type: square; /* disc / circle / square. Opcional: none remove os marcadores da lista */
color: #f8f9fa;
}
.menu-rodape-ul a {
  text-decoration: none;
  color: #f8f9fa;
}
.menu-rodape-ul a:hover {
  text-decoration: underline;
}


.creditos {
    color: #fff !important;
}
.creditos a {
    text-decoration: none;
    color: #fff !important;
}
.creditos a:hover {
    text-decoration: underline;
}



#banner-cookies {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  text-align: center;
  padding: 15px;
  font-size: 14px;
  display: none; /* Ocultar por padrão */
  justify-content: space-between;
  align-items: center;
  z-index: 9000;
}
#banner-cookies.show {
  display: flex; /* Mostrar somente quando necessário */
}
#banner-cookies button {
  background: #ff9900;
  color: #fff;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
  border-radius: 5px;
}




/* INICIO FORMULARIO */
input:focus::placeholder,
textarea:focus::placeholder {
  color: transparent;
}

/*"focus highlight" nos campos do formulário */
.form-control:focus{
border-color:#25D366;
box-shadow:0 0 0 0.1rem rgba(37,211,102,.25);
}


/* Fundo tipo chat */
#OrcForm {
  background: #FAFAFA;
  padding: 10px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}


/* Inputs estilo "bolha" */
#OrcForm .form-control {
  border-radius: 12px;
  border: 1px solid #ddd;
  padding: 10px 12px;
  font-size: 14px;
  box-shadow: none;
}

/* Select igual input */
#OrcForm select.form-control {
  border-radius: 12px;
  padding: 4px 6px;
}

/* Textarea */
#OrcForm textarea.form-control {
  border-radius: 12px;
}

/* Foco (quando clica) */
#OrcForm .form-control:focus {
  border-color: #25D366;
  box-shadow: 0 0 0 2px rgba(37, 211, 102, 0.2);
}

/* Caixa de info */
#exibeServicos {
  background: #fff;
  border-radius: 10px;
  border-left: 4px solid #25D366;
}

/* Checkbox */
#OrcForm input[type="checkbox"] {
  accent-color: #25D366;
}

/* Texto pequeno */
#OrcForm small {
  font-size: 12px;
}

#OrcForm .form-group {
  margin-bottom: 8px;
}

#OrcForm .form-group label {
  margin-top: 3px;
  margin-bottom: 3px;
}
/* FIM FORMULARIO */





/* ================================= INICIO RESOLUÇÃO ATÉ 980px ================================= */
@media (max-width:980px){

.logo {
height:40px;
max-width:99%;
margin:0;
padding:0;
}

.btn-whatsapp-navbar {
	height: 70px !important;
	width: auto;
	cursor: pointer;
	border: none;
}

.btn-whatsapp-top{
background:#128C3E; /* verde escuro */
color:#fff;
font-weight:bold;
padding:12px 25px;
border-radius:30px;
box-shadow:0 3px 8px rgba(0,0,0,0.15);
transition:all .2s ease;
}
.btn-whatsapp-top:hover{
background:#25D366; /* verde whatsapp */
color:#fff;
transform:translateY(-1px);
box-shadow:0 5px 12px rgba(0,0,0,0.2);
}



.hero h1 {
font-size: 1.6rem;
font-weight: bold;
}
.hero h2 {
font-size: 1.6rem;
font-weight: bold;
}
.hero p {
font-size: 1.4rem;
margin-bottom: 20px;
}



.cta-final h1 {
font-size: 1.6rem;
font-weight: bold;
}
.cta-final h2 {
font-size: 1.6rem;
font-weight: bold;
}
.cta-final p {
font-size: 1.4rem;
margin-bottom: 20px;
}



#banner-cookies {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  text-align: center;
  padding: 10px;
  font-size: 12px;
  display: none; /* Ocultar por padrão */
  justify-content: space-between;
  align-items: center;
  z-index: 9000;
}
#banner-cookies.show {
  display: flex; /* Mostrar somente quando necessário */
}
#banner-cookies button {
  background: #ff9900;
  color: #fff;
  border: none;
  padding: 6px 14px;
  cursor: pointer;
  border-radius: 5px;
}

}
/* ================================= FIM RESOLUÇÃO ATÉ 980px ================================= */




/* ================================= INICIO RESOLUÇÃO ATÉ 767px ================================= */
@media (max-width: 767px) {

.logo {
max-width: 99% !important;
height: auto !important;
}

.btn-whatsapp-navbar {
	height: 70px !important;
	width: auto;
	cursor: pointer;
	border: none;
}

.btn-whatsapp-top{
background:#128C3E; /* verde escuro */
color:#fff;
font-weight:bold;
padding:12px 25px;
border-radius:30px;
box-shadow:0 3px 8px rgba(0,0,0,0.15);
transition:all .2s ease;
}
.btn-whatsapp-top:hover{
background:#25D366; /* verde whatsapp */
color:#fff;
transform:translateY(-1px);
box-shadow:0 5px 12px rgba(0,0,0,0.2);
}

h1 {
	font-size: 2.0rem; /* Tamanho reduzido para telas menores */
}

h2 {
	font-size: 1.5rem; /* Tamanho reduzido para telas menores */
}

h3 {
	font-size: 1.2rem; /* Tamanho reduzido para telas menores */
}

.hero h1 {
font-size: 1.6rem;
font-weight: bold;
}
.hero h2 {
font-size: 1.6rem;
font-weight: bold;
}
.hero p {
font-size: 1.4rem;
margin-bottom: 20px;
}

.cta-final h1 {
font-size: 1.6rem;
font-weight: bold;
}
.cta-final h2 {
font-size: 1.6rem;
font-weight: bold;
}
.cta-final p {
font-size: 1.4rem;
margin-bottom: 20px;
}


#banner-cookies {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  text-align: center;
  padding: 10px;
  font-size: 12px;
  display: none; /* Ocultar por padrão */
  justify-content: space-between;
  align-items: center;
  z-index: 9000;
}
#banner-cookies.show {
  display: flex; /* Mostrar somente quando necessário */
}
#banner-cookies button {
  background: #ff9900;
  color: #fff;
  border: none;
  padding: 6px 14px;
  cursor: pointer;
  border-radius: 5px;
}

}
/* ================================= FIM RESOLUÇÃO ATÉ 767px ================================= */




/* ================================= INICIO FILTERS ================================= */
/* filters gerados em https://codepen.io/sosuke/pen/Pjoqqp */

/* #0275d8 primary */
.icoSvg-primary {
filter: invert(39%) sepia(54%) saturate(4441%) hue-rotate(191deg) brightness(87%) contrast(99%);
}

/* #5cb85c success */
.icoSvg-success {
filter: invert(68%) sepia(10%) saturate(1940%) hue-rotate(71deg) brightness(89%) contrast(97%);
}

/* #df4759 danger */
.icoSvg-danger {
filter: invert(34%) sepia(75%) saturate(2057%) hue-rotate(329deg) brightness(94%) contrast(85%);
}

/* #5bc0de info */
.icoSvg-info {
filter: invert(67%) sepia(16%) saturate(1198%) hue-rotate(147deg) brightness(100%) contrast(94%);
}

/* #f0ad4e warning */
.icoSvg-warning {
filter: invert(73%) sepia(26%) saturate(1099%) hue-rotate(344deg) brightness(101%) contrast(88%);
}

/* #6c757d secondary */
.icoSvg-secondary {
filter: invert(50%) sepia(7%) saturate(542%) hue-rotate(166deg) brightness(88%) contrast(87%);
}

/* #292b2c dark */
.icoSvg-dark {
filter: invert(14%) sepia(6%) saturate(361%) hue-rotate(156deg) brightness(96%) contrast(91%);
}

/* #f7f7f7 light */
.icoSvg-light {
filter: invert(98%) sepia(89%) saturate(164%) hue-rotate(360deg) brightness(119%) contrast(94%);
}

/* #FFD700 gold */
.icoSvg-gold {
filter: invert(76%) sepia(81%) saturate(1234%) hue-rotate(357deg) brightness(104%) contrast(107%);
}

/* #25d366 verde-whatsapp */
.icoSvg-verde-whatsapp {
filter: invert(63%) sepia(40%) saturate(830%) hue-rotate(90deg) brightness(98%) contrast(90%);
}

.icoSvg-666666 {
filter: invert(47%) sepia(16%) saturate(0%) hue-rotate(155deg) brightness(77%) contrast(80%);
}

.icoSvg-ffffff {
filter: invert(100%) sepia(56%) saturate(0%) hue-rotate(210deg) brightness(109%) contrast(101%);
}
/* ================================= FIM FILTERS ================================= */



/* ================================= INICIO ALTURAS ================================= */
.height-100 {
height:100px;
}
.height-90 {
height:90px;
}
.height-80 {
height:80px;
}
.height-70 {
height:70px;
}
.height-60 {
height:60px;
}
.height-50 {
height:50px;
}
.height-45 {
height:45px;
}
.height-40 {
height:40px;
}
.height-35 {
height:35px;
}
.height-30 {
height:30px;
}
.height-28 {
height:28px;
}
.height-26 {
height:26px;
}
.height-24 {
height:24px;
}
.height-22 {
height:22px;
}
.height-20 {
height:20px;
}
.height-18 {
height:18px;
}
.height-16 {
height:16px;
}
.height-14 {
height:14px;
}
.height-12 {
height:12px;
}
.height-10 {
height:10px;
}
.height-5 {
height:5px;
}
.height-3 {
height:3px;
}
/* ================================= FIM ALTURAS ================================= */
