/* VARIÁVEIS DE COR E ESTILO */
:root {
    /* Azul mais escuro e profundo a seu pedido (era #092C56, agora é #051A33) */
    --color-primary-dark: #051A33; 
    --color-accent-gold: #F0D275; /* Dourado */
    --color-bg-light: #F8F4F1; /* Off-White */
    --color-white: #FFFFFF;
    --color-text-dark: #1A1A1A;
    --color-text-light: #E0E0E0;
    
    /* Fonte Montserrat */
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Montserrat', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); background-color: var(--color-white); color: var(--color-text-dark); line-height: 1.6; }

.container { width: 90%; max-width: 1200px; margin: 0 auto; }
.bg-light { background-color: var(--color-bg-light); }

.section-title { font-family: var(--font-heading); font-weight: 700; color: var(--color-primary-dark); text-align: center; font-size: 2.5rem; margin-bottom: 2rem; }
.section-title.text-white { color: var(--color-white); }

.text-center { text-align: center; }
.text-gold { color: var(--color-accent-gold); }
.mt-4 { margin-top: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
.subtitle-large { font-size: 1.2rem; font-weight: 600; color: var(--color-text-dark); max-width: 800px; margin: 0 auto; }

/* BOTÕES EM GRADIENTE VERDE WHATSAPP */
.btn { 
    display: inline-flex; 
    align-items: center; 
    justify-content: center;
    gap: 10px;
    padding: 0.8rem 1.8rem; 
    border-radius: 6px; 
    text-decoration: none; 
    font-weight: 700; 
    transition: all 0.3s ease; 
    cursor: pointer; 
    text-transform: uppercase; 
    letter-spacing: 0.5px; 
    border: none;
}

.btn-whatsapp {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: #FFFFFF;
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
}

.btn-whatsapp:hover {
    background: linear-gradient(135deg, #128C7E 0%, #075E54 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
    color: #FFFFFF;
}

.btn-large {
    padding: 1rem 2.5rem;
    font-size: 1.1rem;
}

/* HEADER */
header { 
    background-color: var(--color-white); 
    padding: 0.5rem 0; /* Diminuí o padding para a barra ficar mais fina */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); 
    position: sticky; 
    top: 0; 
    z-index: 100; 
}

.header-content { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}

.logo img { 
    height: 50px; /* Trava a altura do bloco para o header não crescer */
    width: auto;
    transform: scale(2.2); /* DÁ O ZOOM: Aumenta a logo visualmente em 2.2x */
    transform-origin: left center; /* Garante que o zoom expanda para a direita, sem cortar a tela */
    margin-left: 20px; /* Dá um respiro para a logo não colar na borda esquerda com o zoom */
}
/* HERO SECTION - GRID COM IMAGEM */
.hero { background-color: var(--color-primary-dark); color: var(--color-white); padding: 5rem 0; }
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.hero h1 { font-family: var(--font-heading); font-size: 2.8rem; font-weight: 800; color: var(--color-accent-gold); margin-bottom: 1.5rem; line-height: 1.2; }
.hero h2 { font-weight: 400; font-size: 1.1rem; color: var(--color-text-light); margin-bottom: 2.5rem; }

.hero-image img {
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    border: 2px solid var(--color-accent-gold);
}

/* TICKER ANIMADO - AZUL ESCURO */
.ticker-wrap { width: 100%; overflow: hidden; background-color: var(--color-primary-dark); color: var(--color-white); padding: 12px 0; font-weight: 600; font-size: 1.1rem; border-top: 2px solid var(--color-accent-gold); border-bottom: 2px solid var(--color-accent-gold); }
.ticker { display: inline-flex; white-space: nowrap; animation: ticker 25s linear infinite; }
.ticker-item { padding: 0 2rem; display: flex; align-items: center; gap: 10px; color: var(--color-accent-gold); }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* SEÇÕES GERAIS E GRIDS */
.criminal-destaque, .atuacao, .equipe { padding: 5rem 0; }
.grid-atuacao { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; }

.card { background-color: var(--color-white); padding: 2.5rem; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); transition: transform 0.3s ease; border-top: 4px solid var(--color-accent-gold); }
.card:hover { transform: translateY(-5px); }

/* Borda dos cards criminais agora usa o azul escuro padrão no lugar do vermelho */
.card-criminal { border-top: 4px solid var(--color-primary-dark); }

.icon-gold { color: var(--color-accent-gold); font-size: 2.5rem; margin-bottom: 1rem; }
.card h3 { font-family: var(--font-heading); font-weight: 700; color: var(--color-primary-dark); margin-bottom: 1rem; font-size: 1.3rem; }

/* SOBRE O ESCRITÓRIO - GRID COM IMAGEM */
.sobre-nos { background-color: var(--color-primary-dark); color: var(--color-white); padding: 5rem 0; }
.sobre-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.sobre-image img { width: 100%; border-radius: 8px; box-shadow: -15px 15px 0px var(--color-accent-gold); }
.sobre-content { font-size: 1.1rem; }
.sobre-content p { margin-bottom: 1.5rem; color: var(--color-text-light); }

/* EQUIPE - ESPAÇO PARA FOTOS */
.equipe { background-color: var(--color-white); }
.grid-equipe { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 3rem; margin-bottom: 2rem; }
.advogado-card { background-color: var(--color-bg-light); padding: 2.5rem; border-radius: 12px; border-top: 5px solid var(--color-primary-dark); text-align: center; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }

.foto-advogado img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--color-accent-gold);
    margin-bottom: 1.5rem;
    background-color: #ddd; 
}

.advogado-card h3 { font-family: var(--font-heading); font-weight: 700; color: var(--color-primary-dark); font-size: 1.5rem; margin-bottom: 0.5rem; }
.oab { display: inline-block; background-color: var(--color-accent-gold); color: var(--color-primary-dark); padding: 0.3rem 1rem; border-radius: 20px; font-size: 0.85rem; font-weight: 700; margin-bottom: 1.5rem; }
.advogado-card ul { list-style: none; text-align: left; }
.advogado-card ul li { margin-bottom: 0.8rem; padding-left: 1.5rem; position: relative; font-size: 0.95rem; }
.advogado-card ul li::before { content: "\f00c"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: var(--color-accent-gold); position: absolute; left: 0; font-size: 1rem; }

/* FOOTER */
footer { background-color: var(--color-primary-dark); color: var(--color-white); padding: 3rem 0; border-top: 5px solid var(--color-accent-gold); }
.footer-content { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.footer-info h3 { font-family: var(--font-heading); font-weight: 700; color: var(--color-accent-gold); margin-bottom: 0.5rem; }

/* WHATSAPP FLOAT */
.whatsapp-float { position: fixed; width: 60px; height: 60px; bottom: 40px; right: 40px; background: linear-gradient(135deg, #25D366 0%, #128C7E 100%); color: #FFF; border-radius: 50%; text-align: center; font-size: 32px; box-shadow: 0 4px 15px rgba(37,211,102,0.4); z-index: 1000; display: flex; justify-content: center; align-items: center; text-decoration: none; transition: transform 0.3s ease; }
.whatsapp-float:hover { transform: scale(1.1); }

/* RESPONSIVO MOBILE */
@media (max-width: 768px) {
    .hero-grid, .sobre-grid { grid-template-columns: 1fr; gap: 2rem; text-align: center; }
    .hero h1 { font-size: 2.2rem; }
    
    /* MUDANÇA NO HEADER MOBILE: Coloca lado a lado e ajusta os tamanhos */
    .header-content { 
        flex-direction: row; /* Lado a lado em vez de empilhar */
        justify-content: space-between; 
        align-items: center;
        padding: 0 5px; /* Dá um respiro nas laterais */
    }
    
    /* SUPER ZOOM NA LOGO MOBILE */
    .logo img { 
        height: 30px; /* Mantém a barra branca fininha */
        transform: scale(3.2); /* Amplia a logo em mais de 3x */
        transform-origin: left center; /* Garante que ela cresça para a direita */
        margin-left: 35px; /* Afasta da borda para não cortar a ponta */
        margin-bottom: 0;
        margin-top: 10px;
    } 
    
    /* BOTÃO DO HEADER MENOR NO MOBILE */
    header .btn {
        padding: 0.4rem 0.8rem; /* Tira o "gordura" do botão */
        font-size: 0.75rem; /* Letra menorzinha */
        gap: 5px; /* Ícone mais perto do texto */
    }
    
    /* O botão principal da página (Hero) continua grande para chamar atenção */
    .hero .btn-large {
        padding: 1rem 1.5rem;
        font-size: 1rem;
        width: 100%; /* Faz o botão debaixo ocupar a tela toda no celular */
    }

    /* Outros ajustes que já estavam lá */
    .sobre-image img { box-shadow: none; border: 2px solid var(--color-accent-gold); }
    .sobre-content h2 { text-align: center !important; }
}

.esconder {
    display: none !important;
}