/* Faz a página deslizar suavemente ao clicar nos links do menu */
html {
    scroll-behavior: smooth;
    /* Evita que o topo da seção fique escondido atrás do menu fixo */
    scroll-padding-top: 80px; 
}

/* Bloqueia o vazamento lateral e a faixa branca */
html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

/* Ajuste para o container das bandeiras */
.language-selector {
    display: flex;
    align-items: center;
    gap: 1px; /* Espaço entre as bandeiras */
}

/* Ajuste para cada bandeira */
.language-selector a img {
    width: 39px;      /* Tamanho ideal para menus */
    height: 27px;     /* Proporção para não deformar a imagem */
    display: block;
    border-radius: 3px; /* Um leve arredondado dá um aspecto moderno */
    transition: transform 0.3s ease; /* Efeito suave ao passar o mouse */
    filter: saturate(50%);
}

/* Efeito ao passar o mouse (opcional) */
.language-selector a img:hover {
    transform: scale(1.5); /* Aumenta levemente ao passar o mouse */
    filter: saturate(100%);
    cursor: pointer;
}

.divisor {
    color: #ccc;
    font-weight: normal;
}

/* Definições Gerais */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: #FFFFFF; /* Branco */
    color: #333;
    line-height: 1.6;
}

/* Menu de Navegação */
header {
    background-color: #627697; /* Azul Sugerido */
    padding: 1rem 5%;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    backdrop-filter: blur(10px) /*Se o fundo for semi-transparente, dá um efeito de vidro fosco moderno*/
}

/* Cria a linha dourada refinada */
header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px; /* Espessura da linha */
    background: linear-gradient(90deg, rgba(191,159,50,0) 0%, rgba(191,159,50,1) 50%, rgba(191,159,50,0) 100%);
}

/* Ajuste do Logo no Menu */
.logo-img {
    height: 70px; /* Define uma altura fixa elegante para o menu */
    width: auto;  /* Mantém a proporção da largura automaticamente */
    display: block;
    margin: 0 auto;
    margin-left: 95px;
    transition: transform 0.3s ease;
}

.logo-img:hover {
    transform: scale(1.05); /* Leve aumento ao passar o mouse, combinando com as fotos */
}

/* Ajuste para o logo no Rodapé (opcional) */
.footer-box img {
    max-width: 300px; /* No rodapé ele pode ser um pouco maior */
    margin-bottom: 20px;
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-links {
    display: flex;
    list-style: none;
}

.nav-links li {
    margin-left: 25px;
}

.nav-links a {
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 400;
    transition: 0.3s;
}

.nav-links a:hover {
    color: #BF9F32; /* Dourado no Hover */
}

/* Seção de Destaque (Hero) */
.hero {
    height: 100vh;
    width: 100%;
    position:relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding:0 20px;
    /* Adicionamos uma cor de fundo sólida para garantir legibilidade enquanto a imagem carrega */
    background-color: #2c3e50; 
}

/* O vídeo ocupa todo o fundo sem distorcer */
.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

/* Criamos o efeito do seu linear-gradient antigo, mas sobre o vídeo */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(44, 62, 80, 0.7); /* Mesma cor do seu gradient antigo */
    z-index: 1;
}

/* Garante que o texto fique por cima de tudo */
.hero-content {
    position: relative;
    z-index: 2;
}

/* Mantive seus estilos de texto exatamente como estavam */
.hero-content h1 {
    font-size: 3.5rem;
    color: #FFFFFF;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.hero-content h1 span {
    color: #BF9F32;
    letter-spacing: 3px;
}

.hero-content p {
    font-size: 1.2rem;
    color: #FFFFFF;
    max-width: 800px;
    margin: 0 auto 30px auto;
}

.hero-h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
    letter-spacing: -0.5px; /* Deixa o título mais moderno e compacto */
    text-transform: none;
}

.hero-content h1 {
    font-size: 3.5rem;
    color: #FFFFFF;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

/* Criando um destaque dourado em uma palavra específica do título */
.hero-content h1 span {
    color: #BF9F32;
    letter-spacing: 3px; /* Espaçamento largo para dar um ar de "marca de luxo" */
}

.hero-content p {
    font-size: 1.2rem;
    color: #FFFFFF;
    max-width: 800px;
    margin: 0 auto 30px auto;
}
/* Espaçamento da seção de Valores */
.container {
    padding: 100px 10%; /* Mais respiro lateral e vertical */
}

/* Botão Dourado */
.btn-dourado {
    display: inline-block;
    background-color: #BF9F32; /* Dourado Sugerido */
    color: white;
    padding: 12px 30px;
    text-decoration: none;
    font-weight: bold;
    border: 2px solid #BF9F32;
    border-radius: 4px;
    margin-top: 20px;
    transition: background 0.3s;
}

.btn-dourado:hover {
    background-color: #A38628; /* Dourado levemente mais escuro */
}

/* Estilização da Seção de Valores */
.container h2 {
    color: #627697; /* Seu Azul */
    margin-bottom: 20px;
    font-size: 2rem;
}

.valores-section {
    padding-top: 80px;    /* Espaço no topo da seção Valores */
    padding-bottom: 80px; /* Espaço na base da seção Valores */
}

.valores-grid {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    flex-wrap: wrap; /* Garante que funcione no celular */
}

.valores-texto {
    flex: 2; /* Ocupa mais espaço */
    text-align: justify;
}

.valores-texto p {
    margin-bottom: 15px;
    color: #555;
}

.valores-lista {
    flex: 1; /* Ocupa menos espaço lateral */
    background-color: #f4f4f4;
    padding: 30px;
    border-left: 5px solid #BF9F32; /* Detalhe em Dourado */
}

.valores-lista h3 {
    color: #627697;
    margin-bottom: 15px;
}

.valores-lista ul {
    list-style: none;
}

.valores-lista li {
    margin-bottom: 10px;
    font-weight: bold;
    color: #333;
    display: flex;
    align-items: center;
}

/* Pequeno detalhe decorativo antes de cada item da lista */
.valores-lista li::before {
    content: "•";
    color: #BF9F32;
    font-size: 1.5rem;
    margin-right: 10px;
}

/* Estilização da Seção Sócio */
.socio-section {
    background-color: #f9f9f9; /* Um cinza bem claro para diferenciar da seção anterior */
    /*padding-top: 80px;    /* Garante que o topo do Sócio não encoste nos Valores */
    /*padding-bottom: 80px;*/
}

.socio-grid {
    display: flex;
    align-items: center;
    gap: 60px;
    flex-wrap: wrap;
}

.socio-foto {
    flex: 1;
    min-width: 300px;
}

.socio-foto img {
    width: 100%;
    border-bottom: 8px solid #BF9F32; /* Detalhe em Dourado na base da foto */
    box-shadow: 15px 15px 0px -5px rgba(98, 118, 151, 0.2); /* Azul com transparência */
    transition: transform 0.4s ease;
}

/* --- Efeito Preto e Branco para Colorido com Hover --- */

.foto-interativa {
    /* 1. Estado Inicial: Preto e Branco */
    /*filter: grayscale(100%);*/
    
    /* 2. Suavidade: Define a duração e o tipo da transição */
    transition: filter 0.5s ease-in-out, transform 0.5s ease-in-out;
    
    /* Garante que a imagem se comporte bem no contêiner */
    height: 614px;
    width: 461px;
    /* Evita qualquer distorção visual */
    object-fit: cover;
    /* Mantém a foto responsiva para dispositivos móveis */
    max-width: 100%;
    height: auto;
}

/* 3. Estado ao passar o mouse (Hover) */
.foto-interativa:hover {
    /* Remove o filtro preto e branco, revelando as cores originais */
    filter: grayscale(0%);
    
    /* Opcional: Um leve zoom para aumentar a interatividade (combina com seu botão dourado) */
    transform: scale(1.02);
}

.socio-foto img:hover {
    transform: scale(1.02); /* Leve zoom ao passar o mouse */
}

.socio-info {
    flex: 1.5;
    min-width: 300px;
    text-align: justify;
}

.detalhe-dourado {
    color: #BF9F32;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 2px;
    font-size: 0.9rem;
    letter-spacing: 3px; /* Espaçamento largo para dar um ar de "marca de luxo" */
}

.socio-info h2 {
    color: #627697;
    font-size: 2.5rem;
    margin: 10px 0 20px 0;
}

.resumo-profissional {
    font-style: italic;
    color: #555;
    margin-bottom: 25px;
    font-size: 1.1rem;
}

.curriculo-mini h3 {
    color: #627697;
    margin-bottom: 15px;
    font-size: 1.2rem;
    border-bottom: 1px solid #ddd;
    display: inline-block;
}

.curriculo-mini ul {
    list-style: none;
    padding-left: 0;
}

.curriculo-mini li {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
    color: #444;
}

/* Botão com contorno (estilo mais leve) */
.btn-outline {
    display: inline-block;
    margin-top: 30px;
    padding: 10px 25px;
    border: 2px solid #627697;
    color: #627697;
    text-decoration: none;
    font-weight: bold;
    transition: 0.3s;
}

.btn-outline:hover {
    background-color: #627697;
    color: white;
}

/* Cabeçalho da Seção */
.section-header {
    text-align: center;
    margin-bottom: 50px;
}

.section-header h2 {
    color: #627697;
    font-size: 2.2rem;
}

.section-header p {
    color: #777;
    max-width: 600px;
    margin: 10px auto;
}

/* Grid de Áreas */
.areas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}

/* 2. Adicione esta regra para fixar 3 colunas em telas maiores (Desktop) */
@media (min-width: 1024px) {
    .areas-grid {
        /* Força exatamente 3 colunas, ignorando o cálculo automático */
        grid-template-columns: repeat(3, 1fr);
    }
}

.area-card {
    background: #fff;
    padding: 40px 30px;
    min-height: 320px; /* Ajuste conforme necessário para alinhar todos os cards */
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    border: 1px solid #eee;
    transition: all 0.4s ease;
    border-top: 4px solid transparent; /* Preparo para o efeito de hover */
}

.area-card:hover {
    border-top: 4px solid #BF9F32; /* Dourado aparece no topo ao passar o mouse */
    box-shadow: 0 15px 30px rgba(0,0,0,0.05);
    transform: translateY(-5px);
}

.area-icon {
    font-size: 2.5rem;
    margin-bottom: 20px;
    display: block;
}

.area-card h3 {
    color: #627697; /* Azul */
    margin-bottom: 15px;
    font-size: 1.4rem;
}

.area-card p {
    color: #666;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* Isso aplica o seu Azul (#627697) aos ícones e muda para Dourado no hover */
.area-icon img {
    width: 230px;
    height: 230px;
    filter: invert(49%) sepia(13%) saturate(1074%) hue-rotate(186deg) brightness(91%) contrast(88%);
    transition: filter 0.3s ease;
}

.area-card:hover .area-icon img {
    filter: invert(62%) sepia(61%) saturate(442%) hue-rotate(11deg) brightness(92%) contrast(92%);
}

/* Estilo da lista detalhada (Estrutura) */
.lista-detalhada {
    list-style: none;
    padding: 15px 0;
    text-align: left;
    font-size: 0.9rem;
    color: #555;
    border-top: 1px solid #eee;
    margin-top: 15px;
}

.lista-detalhada li {
    margin-bottom: 8px;
    padding-left: 15px;
    position: relative;
}

/* O "galho" da estrutura em dourado */
.lista-detalhada li::before {
    content: "•";    /*├*/ 
    color: #BF9F32; /* Seu Dourado */
    position: absolute;
    left: 0;
}

/* O Link Ver Mais / Recolher */
.btn-toggle-servico {
    display: inline-block;
    margin-top: 15px;
    color: #627697; /* Seu Azul */
    text-decoration: none;
    font-weight: bold;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: 0.3s;
}

.btn-toggle-servico:hover {
    color: #BF9F32; /* Dourado no Hover */
}

/* Seção Escritório */
.escritorio-section {
    padding: 80px 0;
    background-color: #FFFFFF;
}

.escritorio-grid {
    display: flex;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap-reverse; /* No celular, a imagem fica em cima */
}

.escritorio-info {
    flex: 1;
    min-width: 300px;
    text-align: justify;
}

.escritorio-imagem {
    flex: 1.2;
    min-width: 300px;
}

.escritorio-imagem img {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/*Contato - Fale Conosco*/

.contato-section {
    padding: 100px 0;
    background-color: #f8f9fa; /* Fundo claro para separar do Sócio */
}

.contato-titulo {
    text-align: center;
}

.form-contato {
    max-width: 800px;
    margin: 60px auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.form-contato input, .form-contato textarea {
    padding: 15px;
    border: 1px solid #627697; /* Seu azul */
    border-radius: 5px;
    font-size: 16px;
}

.form-contato .row {
    display: flex;
    gap: 15px;
}

.btn-enviar {
    background-color: #BF9F32; /* Seu dourado */
    color: white;
    align-self: center;
    min-width: 200px;
    padding: 15px 40px;
    border: none;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.btn-enviar:hover {
    background-color: #a68a2b;
    transform: translateY(-3px);
}

.char-limit {
    font-size: 12px;
    color: #666;
    text-align: right;
}

.nota-seguranca {
    font-size: 12px;
    color: #888; /* Cinza discreto */
    line-height: 1.4;
    margin-top: 5px;
    margin-bottom: 15px;
    font-style: italic;
}

.nota-seguranca strong {
    color: #627697; /* Seu Azul para destacar o 'Nota:' */
}

/* Se escolher a opção abaixo do botão: */
.nota-seguranca-rodape {
    font-size: 11px;
    color: #999;
    text-align: center;
    margin-top: 10px;
}

/* Rodapé */
footer {
    background-color: #627697; /* Seu Azul */
    color: white;
    padding: 60px 0 20px 0;
    margin-top: 50px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin-bottom: 25px;
}

.footer-box h3 {
    color: #BF9F32; /* Dourado */
    margin-bottom: 20px;
    font-size: 1.2rem;
}

.footer-box p {
    font-size: 0.9rem;
    margin-bottom: 10px;
    opacity: 0.9;
}

.footer-box ul {
    list-style: none;
}

.footer-box ul li a {
    color: white;
    text-decoration: none;
    font-size: 0.9rem;
    transition: 0.3s;
}

.footer-box ul li a:hover {
    color: #BF9F32;
}

/* Linha horizontal sutil */
.footer-divisor {
    border: 0;
    height: 1px;
    background: rgba(191, 159, 50, 0.3); /* Dourado com transparência */
    margin: 20px 0;
}

/* Organiza os links e o copyright em uma linha no monitor horizontal */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 0px;
    flex-wrap: wrap; /* Permite quebras se necessário */
}

/* Ajuste específico para Celulares e Telas Pequenas */
@media (max-width: 768px) {
    .footer-bottom {
        flex-direction: column; /* Empilha os blocos um embaixo do outro */
        text-align: center;     /* Centraliza os textos */
        gap: 15px;              /* Cria um espaço seguro entre os links e o copyright */
    }

    .footer-links-legais {
        display: flex;
        flex-direction: column; /* Empilha também os links se a tela for muito estreita */
        gap: 8px;               /* Dá um espaço entre um link e outro */
    }
}

.footer-links-legais {
    display: flex;
    gap: 20px;
}

.footer-links-legais a {
    color: white; /* troquei para branco */
    text-decoration: none;
    font-size: 14px;
    transition: 0.3s;
}

.footer-links-legais a:hover {
    color: #BF9F32; /* Seu Dourado */
}

.footer-bottom p {
    font-size: 14px;
    color: white;
    margin: 0;
    /*padding: 15px 0;*/
}

/* Esta regra diz: "Se o container estiver dentro do footer, ignore o padding de 100px no fundo" */
footer .container {
    padding-bottom: 0 !important;
    padding-top: 40px; /* Reduzi o topo também para o rodapé não ficar gigante */
}

/* Ajuste fino para o copyright não sumir */
.footer-bottom {
    padding-bottom: 20px; 
    margin-top: 10px;
}

/* Estilo do Botão Principal (Chamado de CTA - Call to Action) */
.btn-dourado {
    display: inline-block;
    background-color: #BF9F32; /* Seu Dourado */
    color: #FFFFFF !important; /* Força a cor branca no texto */
    padding: 15px 35px;
    text-decoration: none;
    font-weight: 700;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

/* Efeito ao passar o mouse (Hover) */
.btn-dourado:hover {
    background-color: #a68a2b; /* Um dourado levemente mais escuro para o efeito */
    transform: translateY(-2px); /* Eleva o botão sutilmente */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Garante que o link não mude de cor após ser clicado (Visitado) */
.btn-dourado:visited {
    color: #FFFFFF;
}

/* ==========================================================================
   AJUSTE DO MENU HAMBÚRGUER (MOBILE)
   ========================================================================== */

/* 1. Esconde o botão hambúrguer no Desktop */
.menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 5px;
    z-index: 1100;
}

.bar {
    width: 25px;
    height: 3px;
    background-color: #FFFFFF;
    transition: 0.3s;
}

/* 2. REGRAS PARA TELAS MÓVEIS (Ajuste de 768px para 1024px para melhor usabilidade) */
@media (max-width: 1024px) {

    header {
        position: fixed; /* Garante que o cabeçalho nunca saia do topo */
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
    }
    
   /* 1. Organiza a barra do topo para manter elementos nas extremidades */
    .navbar {
        display: flex;
        flex-direction: row !important; /* Força a ficar em linha, não em coluna */
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    /* 2. Empurra o Logo para a esquerda */
    .logo {
        order: 1;
        margin-right: auto; /* Garante que ele "empurre" o resto para a direita */
    }

   .logo-img {
    margin-left: 0 !important; 
    height: 50px;   /* Altura menor para mobile */
    width: auto;    /* Crucial para não achatar */
    max-width: 150px; 
    object-fit: contain;
}

    /* 3. Agrupa Idiomas e Hambúrguer na direita */
    .language-selector {
        order: 2;
        margin-right: 15px; /* Espaço entre as bandeiras/letras e o hambúrguer */
        display: flex;
    }

    /* Coloca o botão hambúrguer na direita */
    .menu-toggle {
        display: flex; /* Faz o botão aparecer */
        order: 3;
    }

    /* Animação das barras do hambúrguer */
    .menu-toggle.is-active .bar:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle.is-active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .menu-toggle.is-active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

    /* Transforma o menu em uma lista vertical escondida */
    .nav-links {
        order: 4; /* 4. Garante que o menu de links continue vindo abaixo de tudo quando aberto */
        display: none; /* Esconde por padrão */
        flex-direction: column;
        position: fixed;
        top: 70px;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: #627697; /* Seu azul */
        padding: 20px 0;
        text-align: center;
        box-shadow: 0 10px 15px rgba(0,0,0,0.2);
        z-index: 999;
        overflow-y: auto;
    }

    /* Classe que o JavaScript vai ativar ao clicar */
    .nav-links.active {
        display: flex !important;
    }

    .nav-links li {
        margin: 15px 0;
        margin-left: 0;
    }

    /* Ajustes das outras seções que você já tinha */
    .hero-content h1 {
        font-size: 2.2rem;
    }

    .hero-content p {
        font-size: 1rem;
        padding: 0 10px;
    }

    .valores-grid, .socio-grid, .escritorio-grid {
        flex-direction: column;
        text-align: center;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .mapa iframe {
        height: 200px;
    }

    /* 1. Faz os campos que estão lado a lado ficarem um sobre o outro */
    .form-contato .row {
        flex-direction: column; /* Muda de linha para coluna */
        gap: 15px; /* Mantém o espaçamento entre os campos empilhados */
    }

    /* 2. Garante que nenhum campo ou o próprio formulário ultrapasse a largura da tela */
    .form-contato {
        width: 100%;
        max-width: 100%;
        padding: 0 10px; /* Adiciona um respiro nas laterais para não encostar na borda */
    }

    .form-contato input, 
    .form-contato textarea {
        width: 100% !important; /* Força os campos a ocuparem toda a largura do celular */
        font-size: 16px; /* Evita que o iOS dê zoom automático ao clicar no campo */
    }

    /* 3. Ajusta o botão de enviar para não ficar gigante ou fora de centro */
    .btn-enviar {
        width: 100%; /* No celular, botões largos são mais fáceis de clicar */
        margin-top: 10px;
    }
}

/* Manter seus estilos do Mapa que estavam no final */
.mapa iframe {
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    filter: grayscale(20%);
}

.mapa iframe:hover {
    filter: grayscale(0%);
    transition: 0.5s;
}

@media (max-width: 380px) {
    .logo-img {
        height: 40px; /* Diminui o logo para caber tudo na mesma linha */
        width: auto;
    }
    .language-selector {
        gap: 0px; /* Remove o espaço entre as bandeiras para economizar pixels */
    }
    .language-selector a img {
        width: 32px; /* Reduz levemente as bandeiras apenas em telas minúsculas */
        height: 22px;
    }
}