/* Importação da Fonte Google */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

/* ==== Variáveis de Cor (Paleta de AZUL) - ATUALIZADO ==== */
:root {
    --azul-principal: #2a3a6a;     /* Azul escuro (Branding, Títulos) */
    --azul-cta: #4A90E2;          /* Azul médio (CTAs, Destaques) */
    --texto-dark: #333333;
    --fundo-claro: #FFFFFF;
    --fundo-alternativo: #F0F5FA;  /* Azul bem claro (Fundo de Seção) */
    
    --bs-primary: var(--azul-principal); /* Sobrescreve o primário do Bootstrap */
    --bs-secondary: var(--azul-cta);   /* Sobrescreve o secundário do Bootstrap */
}

/* ==== Estilos Globais ==== */
body {
    font-family: 'Poppins', sans-serif;
    color: var(--texto-dark);
    /* Ajuste para a navbar fixa */
    padding-top: 70px; 
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    color: var(--azul-principal);
}

.section-title {
    color: var(--azul-principal);
    font-weight: 700;
}

.text-primary-color {
    color: var(--azul-principal) !important;
}

.text-secondary-color {
    color: var(--azul-cta) !important;
}

.bg-light-alt {
    background-color: var(--fundo-alternativo);
}

/* ==== Botões (CTAs) Customizados - ATUALIZADO ==== */
.btn-cta-primary {
    background-color: var(--azul-cta);
    border-color: var(--azul-cta);
    color: #FFFFFF;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.btn-cta-primary:hover,
.btn-cta-primary:focus {
    background-color: #357ABD; /* Tom mais escuro do azul-cta */
    border-color: #357ABD;
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.btn-cta-secondary {
    background-color: var(--azul-principal);
    border-color: var(--azul-principal);
    color: #FFFFFF;
    font-weight: 600;
    padding: 0.75rem 1.5rem;
    transition: all 0.3s ease;
}

.btn-cta-secondary:hover {
    background-color: #223057; /* Tom mais escuro do azul-principal */
    border-color: #223057;
    color: #FFFFFF;
}


/* ==== Navbar - ATUALIZADO ==== */
.navbar-brand .logo-text {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--azul-principal);
}

.navbar .nav-link {
    font-weight: 500;
    color: #555;
    transition: color 0.3s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: var(--azul-cta) !important; /* Atualizado de verde para azul-cta */
}

/* ==== Seção Hero (#home) - ATUALIZADO ==== */
.hero-section {
    min-height: calc(100vh - 70px); /* 100vh menos a altura da navbar */
    background-color: var(--fundo-alternativo); 
    /* Recomendação: usar uma imagem de fundo limpa */
    /* background: url('path/to/hero-image.jpg') no-repeat center center; */
    /* background-size: cover; */
}

.hero-section h1 {
    color: var(--azul-principal);
    font-size: calc(1.5rem + 2.5vw); /* Responsivo */
    line-height: 1.2;
}

@media (min-width: 992px) {
    .hero-section h1 {
        font-size: 3.5rem;
    }
}

/* ==== Seção Serviços (#servicos) - ATUALIZADO ==== */
.service-card {
    transition: all 0.3s ease;
    border-radius: 10px;
}
.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08) !important;
}
.service-icon {
    font-size: 3rem;
    color: var(--azul-cta); /* Atualizado de verde para azul-cta */
}

/* ==== Seção Equipe (#equipe) - ATUALIZADO ==== */
.team-card {
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s ease;
}
.team-card:hover {
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

/* ATUALIZAÇÃO: Padronização do tamanho das fotos */
.team-card img {
    filter: grayscale(20%);
    transition: all 0.3s ease;
    
    /* Novas propriedades para padronizar o tamanho */
    width: 100%;
    aspect-ratio: 4 / 3;     /* Proporção (largura / altura) */
    object-fit: cover;     /* Garante que a imagem cubra a área sem distorcer */
    object-position: top center; /* Prioriza o topo da imagem no corte */
}

.team-card:hover img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* ==== Seção Depoimentos (#depoimentos) ==== */
.depoimento-box {
    max-width: 700px;
    margin: 0 auto;
    padding: 2rem;
}
.depoimento-box .blockquote p {
    color: #444;
    font-style: italic;
}
.depoimento-box .blockquote-footer {
    font-weight: 600;
    color: var(--azul-principal);
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: var(--azul-principal);
    border-radius: 50%;
    padding: 1.2rem;
}


/* ==== Botão Flutuante WhatsApp ==== */
.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 25px;
    right: 25px;
    background-color: #25D366; /* Cor oficial WhatsApp (mantida por branding) */
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    font-size: 30px;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}
.whatsapp-float:hover {
    color: white;
    transform: scale(1.1);
}

/* ==== Rodapé - ATUALIZADO ==== */
.footer-dark {
    background-color: var(--azul-principal);
    color: rgba(255, 255, 255, 0.8);
}
.logo-text-footer {
    font-size: 1.3rem;
    font-weight: 700;
    color: #FFFFFF;
}
.social-icon {
    font-size: 1.5rem;
    color: rgba(255, 255, 255, 0.8);
    margin-left: 1rem;
    transition: color 0.3s ease;
}
.social-icon:hover {
    color: var(--azul-cta);
}

/* Oculta os passos que não estão ativos */
.form-step {
    display: none;
}
/* Mostra o passo ativo */
.form-step.active-step {
    display: block;
}

/* Estilo dos botões de serviço */
.service-choice {
    padding: 0.75rem 0.5rem;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    border-color: var(--azul-cta);
    color: var(--azul-cta);
}

.service-choice:hover,
.service-choice.active {
    background-color: var(--azul-cta);
    color: #FFFFFF;
    border-color: var(--azul-cta);
}

.progress-bar {
    background-color: var(--azul-cta);
    transition: width 0.4s ease-in-out;
}