/* ========================= CONFIGURAÇÃO GLOBAL ========================= */
 body {
    font-family: 'Inter', system-ui, -apple-system, Arial, sans-serif;
}
/* ========================= FORMULÁRIOS ========================= */
 .form-control {
     padding: 12px 14px;
     border-radius: 6px;
}
 .form-control:focus {
     border-color: #009FE3;
     box-shadow: 0 0 0 0.2rem rgba(0,159,227,0.25);
}
/* ========================= BOTÃO COTAÇÃO (ACERTO DE CONTRASTE) ========================= */
 .btn-cotacao {
     /* Escurecemos o azul de #009FE3 para #007BB2 para passar no teste de contraste com branco */
     background: #007BB2 !important; 
     border: none !important;
     /* Texto branco puro para máxima legibilidade */
     color: #ffffff !important; 
     font-weight: 700 !important; /* Aumentamos um pouco o peso para ajudar na leitura */
     padding: 12px 20px !important;
     transition: 0.3s !important;
     text-transform: uppercase; /* Opcional: ajuda a destacar o CTA */
     letter-spacing: 0.5px;
}

 .btn-cotacao:hover, 
 .btn-cotacao:focus, 
 .btn-cotacao.ativo {
     /* Um tom mais escuro para o estado de interação */
     background: #005F8A !important; 
     color: #ffffff !important;
}
/* ========================= TÍTULOS ========================= */
 .titulo-cotacao {
     font-size: 34px;
     font-weight: 600;
}
 .texto-descricao {
     font-size: 20px;
     line-height: 1.7;
     max-width: 600px;
     margin: auto;
}
/* ========================= HEADER / MENU ========================= */
 #header .container {
     display: flex;
     align-items: center;
     justify-content: space-between;
}
 #header {
     padding-top: 15px;
    /* margem interna superior */
     padding-bottom: 00px;
    /* margem interna inferior, opcional */
}
 #nav-menu-container {
     float: right;
}
 .nav-menu {
     list-style: none;
     margin: 0;
     padding: 0;
     display: flex;
     align-items: center;
     gap: 30px;
}
 .nav-menu li {
     display: inline-block;
}
 .nav-menu a {
     color: #ffffff;
     text-decoration: none;
     font-weight: 500;
     font-size: 15px;
     letter-spacing: 0.5px;
     transition: 0.3s;
}
 .nav-menu a:hover {
     color: #009FE3;
     transform: translateY(-1px);
}
/* ========================= FORMULÁRIO RODAPÉ ========================= */
 .form-rodape {
     max-width: 280px;
     margin: 0 auto;
}
 .form-rodape .form-control, .form-rodape select {
     font-size: 14px;
     padding: 8px 10px;
}
 .form-rodape button.btn-rodape {
     font-size: 14px;
     padding: 8px 10px;
}
/* ========================= LINKS DO RODAPÉ ========================= */
 footer .link-fancy-light:hover {
     color: #009FE3 !important;
}
/* ========================= MENU MOBILE ========================= */
 #mobile-nav {
     display: flex;
     position: fixed;
     top: 0;
     left: -270px;
     width: 270px;
     height: 100%;
     background: #111;
     transition: 0.4s;
     z-index: 9999;
     padding-top: 20px;
     justify-content: flex-start;
    /* alinha os itens no topo */
     box-shadow: 4px 0 20px rgba(0,0,0,0.4);
}
 body.mobile-nav-active #mobile-nav {
     left: 0;
}
 #mobile-nav-toggle {
     position: fixed;
     right: 15px;
     top: 22px;
     z-index: 99999;
     background: none;
     border: none;
     font-size: 24px;
     color: #fff;
}
 #mobile-body-overly {
     width: 100%;
     height: 100%;
     position: fixed;
     top: 0;
     left: 0;
     background: rgba(0,0,0,0.6);
     display: none;
     z-index: 9997;
}
 body.mobile-nav-active #mobile-body-overly {
     display: block;
}
 #mobile-nav ul {
     list-style: none;
     padding: 0;
     margin: 0;
     margin-top: 0;
    /* remove margens que empurram */
     padding-top: 0;
}
 #mobile-nav ul li {
    3 display: flex;
     flex-direction: column;
     justify-content: flex-start;
    /* topo */
     align-items: flex-start;
    /* esquerda */
     padding: 10px 20px;
     border-bottom: 1px solid rgba(255,255,255,0.08);
}
 #mobile-nav ul li a {
     color: #fff;
     text-decoration: none;
     display: block;
     font-family: 'Montserrat', sans-serif;
     font-weight: 500;
     font-size: 1rem;
     letter-spacing: 0.5px;
     transition: 0.3s;
     padding: 8px 20px;
}
 #mobile-nav ul li a:hover {
     color: #009FE3;
}
/* ========================= RESPONSIVO ========================= */
 @media (min-width:992px) {
     #mobile-nav, #mobile-nav-toggle {
         display: none;
    }
}
 @media (max-width:991px) {
     #nav-menu-container, .nav-menu-container {
         display: none !important;
    }
}
/* ========================= MENU DESKTOP (Montserrat) ========================= */
 .nav-menu-container {
     display: flex;
     gap: 35px;
     list-style: none;
     margin: 0;
     padding: 0;
}
 .nav-menu-container .nav-link {
     font-family: 'Montserrat', sans-serif !important;
     font-weight: 500 !important;
     font-size: 1.1rem !important;
     letter-spacing: 0.5px !important;
     color: #ffffff !important;
     text-decoration: none !important;
     transition: 0.3s;
}
 .nav-menu-container .nav-link:hover {
     color: #009FE3 !important;
     transform: translateY(-1px);
}
/* ========================= SCROLL OFFSET ========================= */
 html {
     scroll-padding-top: 80px;
}
 @media (max-width:768px){
     html {
         scroll-padding-top: 80px;
    }
}
/* ========================= MENU DESKTOP CORRIGIDO ========================= */
 #nav-menu-container .nav-menu li a {
     font-family: 'Inter', sans-serif;
    /* Troca Montserrat por Inter */
     font-weight: 500;
     font-size: 1.2rem;
    /* Ajuste do tamanho do menu */
     letter-spacing: 0.5px;
     color: #ffffff;
     text-decoration: none;
     transition: color 0.3s, transform 0.3s;
}
 #nav-menu-container .nav-menu li a:hover {
     color: #009FE3;
     transform: translateY(-1px);
}
/* ========================= MENU MOBILE CORRIGIDO ========================= */
 #mobile-nav ul li a {
     font-family: 'Inter', sans-serif;
     font-weight: 500;
     font-size: 1.1rem;
    /* Ajustável */
     letter-spacing: 0.5px;
     color: #fff;
     text-decoration: none;
     transition: color 0.3s, transform 0.3s;
}
 #mobile-nav ul li a:hover {
     color: #009FE3;
}
/* Ajuste específico para mobile no CSS */
 @media (max-width: 991px) {
     #header {
         padding-top: 10px;
         position: fixed;
         top: 0;
         left: 0;
         width: 100%;
         z-index: 9999;
        /* garante que fique acima de todo o conteúdo */
         background: #111;
        /* ou a cor que seu header tem */
         padding-top: 10px;
        /* mantém o espaçamento que você já ajustou */
         padding-bottom: 10px;
    }
     main {
         margin-top: 70px;
        /* empurra o conteúdo pra baixo e evita que fique por trás do header */
    }
}
/* Reduz a altura interna do header no desktop */
 @media (min-width: 992px) {
     #header {
         padding-top: 5px !important;
         padding-bottom: 0px !important;
    }
    /* Remove o recuo superior da primeira div do main apenas no desktop */
     main .py-vh-0 {
         padding-top: 0 !important;
    }
}
/* Ajuste para o logo não criar altura extra */
 #logo img {
     max-width: 100%;
     height: auto;
     display: block;
     margin: 0 auto;
}
/* Forçar a subida do conteúdo no Desktop */
 @media (min-width: 992px) {
    /* 1. Remove o espaço do topo da seção preta principal */
     main .container.py-vh-0 {
         padding-top: 0 !important;
    }
    /* 2. Zera as margens da linha do formulário e puxa para cima */
     .row.d-flex.align-items-center {
         margin-top: -30px !important;
        /* Puxa o conteúdo em direção ao menu */
         padding-top: 0 !important;
    }
    /* 3. Garante que o Header não tenha altura extra */
     .navbar {
         min-height: auto !important;
         padding-top: 5px !important;
         padding-bottom: 5px !important;
    }
    /* 4. Ajusta o logo para não empurrar nada para baixo */
     #logo {
         margin-bottom: 0 !important;
    }
}
/* Centralizar verticalmente os itens do menu desktop */
 #nav-menu-container .nav-menu {
     display: flex;
     align-items: center;
    /* Centraliza verticalmente os itens da lista */
     height: 100%;
    /* Garante que a lista use a altura total disponível */
     margin: 0;
}
 #nav-menu-container .nav-menu li a {
     display: flex;
     align-items: center;
     padding-top: 8px;
    /* Ajuste fino: aumente este número para "baixar" o texto */
     padding-bottom: 8px;
     line-height: 1;
    /* Evita que a altura da linha empurre o texto para cima */
}
/* Centralização Vertical do Logo */
 #logo {
     display: flex !important;
     align-items: center !important;
     height: 100%;
     margin: 0 !important;
     padding: 0 !important;
}
 #logo img {
     display: block;
     max-height: 100%;
     width: auto;
     margin: 0;
}
/* Garante que o container principal do menu também alinhe tudo ao centro */
 .navbar .container {
     display: flex;
     align-items: center;
     justify-content: space-between;
}
 .btn-whatsapp {
     display: inline-flex;
     align-items: center;
     gap: 0.6rem;
     padding: 0.8rem 1.5rem;
     font-size: 1.25rem;
     border-radius: 50px;
     border: 2px solid white;
     color: white;
     background-color: transparent;
     transition: all 0.3s ease;
     text-decoration: none;
}
 .btn-whatsapp i {
     font-size: 1.2rem;
     color: #25D366;
     transition: color 0.3s ease;
}
/* Hover com prioridade sobre o Bootstrap */

 .btn-whatsapp.btn-outline-light:hover, .btn-whatsapp.btn-outline-light:focus {
     background-color: #25D366 !important;
    /* verde WhatsApp */
     border-color: #25D366 !important;
    /* contorno também verde */
     color: white !important;
    /* texto branco */
     text-decoration: none !important;
}
 .btn-whatsapp.btn-outline-light:hover i, .btn-whatsapp.btn-outline-light:focus i {
     color: white !important;
    
/* ícone branco */
}
 .nav.flex-column .nav-item a i {
     vertical-align: middle;
     font-size: 1rem;
    /* tamanho do ícone */
     color: #bfbfbf;
    /* cor padrão igual ao texto */
     transition: color 0.3s;
}
 .nav.flex-column .nav-item a:hover i {
     color: #009FE3;
    
/* muda para azul ao passar o mouse, igual o link */
}

/* Centraliza horizontalmente o título */
 #footer .col.border-end span.h6 {
     text-align: center;
    /* centraliza o texto */
     display: block;
     width: 100%;
     margin-bottom: 15px;
    
/* mantém espaço entre título e formulário */
}
 .whatsapp-float{
     position:fixed;
     width:60px;
     height:60px;
     bottom:25px;
     right:25px;
     background:#25d366;
     color:#FFF;
     border-radius:50%;
     text-align:center;
     font-size:32px;
     box-shadow:0 4px 10px rgba(0,0,0,0.3);
     z-index:9999;
     display:flex;
     align-items:center;
     justify-content:center;
     text-decoration:none;
     transition:all 0.3s;
}
 .whatsapp-float:hover{
     background:#1ebe5d;
     transform:scale(1.08);
}

/* ========================= 
JANELA WHATSAPP ESTILO WHATSAPP 
========================= */

 .btn-whatsapp2 {
     position: fixed;
     bottom: 25px;
     right: 25px;
     width: 60px;
     height: 60px;
     background: #25D366;
     color: #fff;
     border-radius: 50%;
     display: flex;
    /* garante que o ícone fique centralizado */
     align-items: center;
    /* centraliza verticalmente */
     justify-content: center;
    /* centraliza horizontalmente */
     text-decoration: none;
     font-size: 32px;
    /* tamanho do ícone */
     box-shadow: 0 4px 10px rgba(0,0,0,0.3);
     z-index: 9999;
     transition: all 0.3s;
}
 .btn-whatsapp2:hover {
     background: #1ebe5d;
     transform: scale(1.08);
}
 .btn-whatsapp2 i {
     color: #fff;
    /* garante que o ícone fique branco */
     font-size: 32px;
    /* tamanho do ícone */
     line-height: 1;
    /* evita que fique cortado */
}

/* Caixa do chat estilo WhatsApp */
 #wppBox {
     display: none;
     position: absolute;
     bottom: 70px;
     right: 0;
     width: 300px;
     height: 230px;
    
/* ou ajuste conforme desejar */
     background-color: #ece5dd;
    
/* cor base do fundo do WhatsApp */
     background-image: url('../img/bg-whats.webp');
  
 /* textura sutil estilo WhatsApp */
     background-repeat: repeat;
     background-size: 200px 200px;
    
/* tamanho da “gravação” da textura */
     opacity: 0.95;
     color: #000;
     border-radius: 16px;
     box-shadow: 0 5px 20px rgba(0,0,0,0.3);
     overflow: hidden;
     flex-direction: column;
     font-size: 14px;
     animation: fadeInUp 0.3s ease;
}
 
/* =========================
   CORREÇÕES DO MENU MOBILE
   ========================= */

html, body {
    overflow-x: hidden;
    width: 100%;
}

@media (max-width: 991px) {
       #logo img {
        max-width: 180px !important;
        height: auto;!important;
    }


    #header {
        width: 100%;
        max-width: 100vw;
        box-sizing: border-box;
    }


    #mobile-nav-toggle {
        position: fixed !important;
        right: 15px !important;
        margin: 0;
    }
}
/* =========================
   ALINHAMENTO DO MENU MOBILE NO TOPO
   ========================= */

#mobile-nav {
    flex-direction: column;
    justify-content: flex-start !important;
}

#mobile-nav ul {
    /* Anula o comportamento "flex" que vem clonado do desktop e centraliza as coisas */
    display: block !important; 
    margin-top: 60px; /* Dá um respiro legal do topo da tela para os botões não ficarem colados na borda */
    width: 100%;
}

#mobile-nav ul li {
    /* Substitui e corrige a regra "3 display: flex;" que estava com erro */
    display: block !important; 
    width: 100%;
}

.texto-empresa p{
  text-align: justify;
  text-indent: 40px;
  line-height: 1.8;
  padding-left:15px;
  padding-right:15px;
}

/* Faixa de Destaques Sobre Nós */
.faixa-destaques {
  background-color: #2f2f2f; /* cinza escuro parecido com a faixa "Proteção Personalizada" */
  border-top: 1px solid #444; /* opcional, dá separação sutil */
  border-bottom: 1px solid #444;
}

.faixa-destaques h5 {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.faixa-destaques p {
  font-size: 1.1rem;
  line-height: 1.4;
}

footer {
    border-top: none; /* remove a linha */
}

.quadro-cinza-founder {
  background: #2c2c2c;
  padding: 8px;
  display: inline-block;
  border-radius: 4px;
  box-shadow: 0 0 18px rgba(0,0,0,0.6);
}

.quadro-cinza-founder img {
  display: block;
}

.quadro-cinza-service {
background-color: #2c2c2c !important; /* Mantendo o padrão do founder */
        padding: 15px !important; /* Espaçamento interno menor para o mobile */
        display: inline-flex !important; /* Faz o quadro "abraçar" a imagem em vez de ocupar 100% */
        justify-content: center !important;
        align-items: center !important;
        border-radius: 8px;
        box-shadow: 0 0 15px rgba(0,0,0,0.5);
        margin: 0 auto; /* Centraliza o elemento inline-flex */
        width: auto !important; /* Impede que ele estique */
        max-width: 280px; /* Limite próximo ao tamanho da sua imagem (250px) + padding */
    }

.quadro-cinza-service img {
max-width: 100% !important; /* Garante que a imagem não estoure o quadro */
        height: auto !important;
    }

figcaption {
  line-height: 1.2;
}

.legenda-fundador {
  line-height: 1.2;
  margin-top: 10px;
  color: #ccc;
  font-size: 14px;
}

.legenda-fundador {
  max-width: 260px;
  margin: 10px auto 0;
  line-height: 1.2;
}
figcaption strong {
  font-size: 18px;
}

@media (max-width: 768px) {

footer .container {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

footer img {
    margin-top: 0 !important;
}

}

html {
  scroll-behavior: smooth;
}

p {
  text-align: justify;
  hyphens: auto;
}


/* =============================================== */


/* Botão flutuante */
.wppchat {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  font-family: 'Montserrat', sans-serif;
}

.wppchat .avatar-mini {
  width: 60px;
  height: 60px;
  background: #25D366;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 28px;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3);
  transition: transform 0.2s;
}
.wppchat .avatar-mini:hover {
  transform: scale(1.1);
}

/* Caixa do chat */
.wppchat .box {
  display: none;
  position: absolute;
  bottom: 70px;
  right: 0;
  width: 300px;
  background: #f0f0f0;
  color: #000;
  border-radius: 16px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.3);
  overflow: hidden;
  flex-direction: column;
  font-size: 14px;
  animation: fadeInUp 0.3s ease;
}

/* Cabeçalho */
.wppchat .header {
  background: #075E54;
  color: #fff;
  padding: 10px;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}
.wppchat .header .name { font-size: 14px; }
.wppchat .header .close { cursor: pointer; font-weight: bold; }

/* Corpo do chat */
.wppchat .body {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Bolhas de mensagem */
.wppchat .msg-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.wppchat .msg {
  padding: 8px 12px;
  border-radius: 16px;
  max-width: 80%;
  line-height: 1.3;
}


/* Bolha do chat (simulando WhatsApp) */
.wppchat .msg:nth-child(odd) {
  background: #dcf8c6;
  align-self: flex-start;
}

.wppchat .msg:nth-child(even) {
  background: #fff;
  align-self: flex-end;
}


/* Botão de contato */
#wppBotao {
  background: #25D366;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 600;
  width: 100%;
  margin-top: 8px;
  transition: background 0.2s;
}
#wppBotao:hover {
  background: #128C7E;
}

/* Animação de entrada */
@keyframes fadeInUp {
  0% {opacity: 0; transform: translateY(20px);}
  100% {opacity: 1; transform: translateY(0);}
}

/* --- CONFIGURAÇÃO GLOBAL DO BLOCO --- */
.bloco-seguro {
    margin-top: 60px;
}

.linha-divisora {
    border-top: 1px solid #ffffff; 
    padding-top: 40px;
}

/* --- DESKTOP (992px para cima) --- */
@media (min-width: 992px) {
    .col-texto-servico {
        flex: 1; 
        padding-right: 3rem;
    }

    .col-imagem-servico {
        flex: 0 0 auto !important;
        width: auto !important;
        align-self: flex-start;
    }

    .quadro-cinza {
        background-color: #212529;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 40px 30px; 
    }

    /* Aumenta os textos apenas no Desktop */
    .texto-downloads, .texto-justificado {
        font-size: 1.25rem;
        line-height: 1.6;
    }
} /* Fechamento correto do Media Query Desktop */

/* --- MOBILE (Abaixo de 991px) --- */
@media (max-width: 991px) {
    .col-texto-servico {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

.col-imagem-servico {
        display: flex !important;
        justify-content: center !important; /* Garante que o quadro fique no centro da tela */
        width: 100% !important;
    }
    .col-texto-servico {
        padding-left: 20px !important;
        padding-right: 20px !important;
        margin-bottom: 20px;
    }    

    .quadro-cinza {
        background-color: #212529 !important;
        margin-top: 10px;
        padding: 40px 20px;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        min-height: 150px; /* Garante que o quadro tenha altura */
    }

    .display-1, .texto-downloads {
        padding-left: 15px;
        padding-right: 15px;
    }

    footer {
        margin-top: 50px;
    }
}

/* --- AJUSTES GLOBAIS (Funcionam em todos os tamanhos) --- */
.texto-justificado, .texto-downloads {
    text-align: justify;
    text-indent: 2em;
}

footer {
    margin-top: 80px; 
}

.nav-item-social-media {
  margin-bottom: 0.3rem; /* ajuste conforme necessário */
}
.nav-item-social-media.mt-2 {
  margin-top: 1.5rem; /* ajuste conforme a altura que deseja */
}

.box-cotacao {
    border-radius: 20px !important; /* Ajuste o valor conforme seu gosto */
    overflow: hidden; /* Garante que nada interno escape do arredondamento */
}

.box-cotacao {
    border-radius: 20px !important; /* Arredondamento desejado */
}

.box-cotacao .form-control {
    width: 100%; /* Garante que os inputs não estourem a largura */
}

.links-apps {
  border-radius: 15px;
  overflow: hidden;
}

@media (max-width: 991px) {
    .links-apps {
        margin-left: 15px;
        margin-right: 15px;
        width: auto;
           margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Customização da classe display-6 para o título principal */
h1.display-6 {
    font-weight: 400 !important;   /* Remove o negrito (400 é o normal da Inter) */
    font-size: 2.75rem !important;  /* Ajusta o tamanho (opcional, pode mudar o valor) */
    line-height: 1.3;              /* Melhora o respiro entre as linhas */
    letter-spacing: -0.01em;       /* Deixa o texto mais elegante */
}

/* Ajuste para telas de celular */
@media (max-width: 768px) {
    h1.display-6 {
        font-size: 1.8rem !important; /* Diminui no mobile para não quebrar feio */
    }
}
/* --- TAMANHO PARA MOBILE (Ecrãs até 991px) --- */
@media (max-width: 991px) {
    .btn-whatsapp {
     padding: 0.5rem 1rem;
        font-size: 1.2rem !important;
    }
    
    .btn-whatsapp i {
        font-size: 1.2rem !important; 
    }
}

.fa {
    font-family: FontAwesome !important;
}

/* ========================= FIX HEADER (ANTI-PULO) ========================= */

#header {
    min-height: 70px !important;
    display: flex;
    align-items: center;
}

#header .container {
    min-height: 70px;
    display: flex;
    align-items: center;
}

/* Garante que o logo não altere a altura */
#logo img {
    max-width: 250px;
    height: auto;
}

@media (max-width: 991px) {
    .titulo-mobile {
        text-align: center !important;
    }
}

#pet-img {
  transition: opacity 0.6s ease-in-out;
}
/* ========================= LGPD CHECKBOX E LINK ========================= */

/* Link Política de Privacidade */
.form-check-label a {
    color: #009FE3;
    text-decoration: none;
    transition: 0.3s;
}

.form-check-label a:hover {
    color: #66c7f0;
    text-decoration: underline;
}

/* Checkbox estilo personalizado */
.form-check-input {
    cursor: pointer;
    border: 1px solid #666;
    background-color: transparent;
}

/* Quando marcado */
.form-check-input:checked {
    background-color: #009FE3;
    border-color: #009FE3;
}

/* Glow no foco (fica bonito no seu tema escuro) */
.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(0,159,227,0.25);
}

/* Alinhamento preciso para a seção de contato na política de privacidade */
.contato-indentado {
    margin-left: 55px !important;
}

/* Ajuste para telas menores (opcional) */
@media (max-width: 768px) {
    .contato-indentado {
        margin-left: 15px !important; /* Remove o indent em telas pequenas para ganhar espaço */
    }
}