/* Cores Base Revisadas:
   - Fundo/Principal: #242c2c (Verde Escuro / Quase Preto)
   - Destaque/Dourado: #c9a56d (Dourado mais suave)
   - Texto Claro: #ffffff (Branco)
*/

body {
  font-family: 'Roboto', sans-serif;
  color: #000000;
  background-color: #ffffff;
}

/* --- REGRAS GERAIS DE PADDING (APENAS ALTURA E PADDING BASE) --- */

.layout_padding {
  padding-top: 90px;
  padding-bottom: 90px;
  padding-left: 15px;
  padding-right: 15px;
}

.layout_padding-top {
  padding-top: 90px;
  padding-right: 15px;
}

.layout_padding-bottom {
  padding-bottom: 90px;
  padding-right: 15px;
}

/* Ajuste para Alinhar Conteúdo */
.heading_container {
  display: flex;
  flex-direction: column;
  width: 100%; 
}

.heading_container h2 {
  text-transform: uppercase;
  font-weight: bold;
  position: relative;
  color: #242c2c;
  text-align: left; 
}



.heading_container p {
    max-width: 100%; 
    margin: 0 0 25px 0; 
    text-align: left; 
}

/* ------------------------------------- */
/* LOGO CORREÇÃO (TAMANHO PADRÃO DESKTOP) */
/* ------------------------------------- */
.custom_nav-container .navbar-brand {
    padding-top: 5px;
    padding-bottom: 5px;
    /* Garante que o container da logo não expanda demais */
    max-width: 500px; 
}
.custom_nav-container .navbar-brand .logo_ajustada {
  width: 100%; 
  max-width: 500px; 
  height: auto;
  max-height: 100px; 
  margin-top: -10px; 
  padding-left: 0; 
  object-fit: contain; 
}


/* ------------------------------------- */
/* HEADER & TOP BAR */
/* ------------------------------------- */

.header_section .header_top {
  background-color: #242c2c;
  padding: 10px 0; 
}

.header_top_container {
    max-width: 1300px; 
    margin: 0 auto;
    display: flex;
    justify-content: space-between; 
    align-items: center;
    padding-left: 15px; 
    padding-right: 15px;
}

.header_section .header_top .contact_nav {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.header_section .header_top .contact_nav a {
  color: #ffffff;
  font-size: 15px;
  margin-right: 25px; 
  margin-left: 0; 
}

.header_section .header_top .contact_nav a i {
  color: #c9a56d;
  margin-right: 5px;
}

.header_section .header_top .social_box {
    display: flex;
    align-items: center;
}

.header_section .header_top .social_box a {
  color: #ffffff;
  margin: 0 5px; 
}

.header_section .header_top .social_box a i:hover {
  color: #c9a56d;
}

/* Alinhamento do menu principal */
.header_bottom {
  background-color: #242c2c;
  padding: 10px 0;
}

.custom_nav-container {
    padding: 0;
    justify-content: space-between; 
}

/* Navbar Toggle para Mobile (Hamburger) */
.navbar-toggler {
    padding: 0.25rem 0.75rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 0.25rem;
    color: #c9a56d; 
}
.navbar-toggler-icon {
    /* Cor do ícone do hamburger */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28201, 165, 109, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Configuração do menu Desktop (Horizontal) */
.custom_nav-container .navbar-nav {
    display: flex; 
    flex-direction: row; 
    margin-left: 20px; 
    margin-right: auto; 
    width: auto; 
    padding: 0; 
}

.custom_nav-container .navbar-nav .nav-item .nav-link {
  color: #c9a56d;
  text-transform: uppercase;
  font-weight: 500;
  margin: 0 15px; 
}

.custom_nav-container .navbar-nav .nav-item.active .nav-link,
.custom_nav-container .navbar-nav .nav-item:hover .nav-link {
  color: #ffffff;
}

.custom_nav-container .form-inline {
    margin-left: 15px; 
    margin-right: 10px;
}

.quote_btn-container {
    margin-left: 0; 
}

.quote_btn-container a.quote_btn {
  background-color: #c9a56d;
  color: #242c2c;
  border-radius: 5px;
  padding: 8px 25px;
  font-weight: bold;
}

.quote_btn-container a.quote_btn:hover {
  background-color: #242c2c;
  border: 1px solid #c9a56d;
  color: #c9a56d;
}

.nav_search-btn {
    color: #c9a56d;
}

.nav_search-btn:hover {
    color: #ffffff;
}

/* ------------------------------------- */
/* SLIDER SECTION (FUNDO DE IMAGEM) */
/* ------------------------------------- */

.hero_area {
  background-color: #242c2c;
}

.slider_section {
  color: #ffffff;
  padding-top: 90px;
  padding-bottom: 90px;
  
  background-image: url('../images/fotoslider.jpg'); 
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}

.slider_section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(36, 44, 44, 0.7); 
    z-index: -1;
}


.slider_section h1 {
  font-size: 3rem;
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 25px;
  color: #ffffff;
}

.slider_section .detail-box .btn-box a {
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 5px;
  padding: 12px 35px;
  margin-right: 10px;
}

.slider_section .detail-box .btn-box .btn1 {
  background-color: #c9a56d;
  color: #242c2c;
}

.slider_section .detail-box .btn-box .btn1:hover {
  background-color: #e0b47a;
}

.slider_section .detail-box .btn-box .btn2 {
  background-color: transparent;
  border: 1px solid #c9a56d;
  color: #c9a56d;
}

.slider_section .detail-box .btn-box .btn2:hover {
  background-color: #c9a56d;
  color: #242c2c;
}

.slider_section .carousel-indicators li {
  width: 12px;
  height: 12px;
  background-color: #c9a56d;
  border-radius: 100%;
}

.slider_section .carousel-indicators li.active {
  background-color: #ffffff;
}

/* ------------------------------------- */
/* SERVICE SECTION (NOSSOS SERVIÇOS) */
/* ------------------------------------- */

.service_section {
  background-color: #ffffff;
}

.service_section .box {
  background-color: #ffffff;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  padding: 25px; 
  text-align: center; 
  margin-top: 20px;
}

.service_section .box .img-box {
  background-color: #242c2c;
  position: relative;
  overflow: hidden;
  height: 80px; 
  border-radius: 5px 5px 0 0; 
  display: flex;
  justify-content: center;
  align-items: center;
}

.service_section .box .img-box img {
    max-width: 50%;
    max-height: 50%;
    filter: brightness(100%); 
}

.service_section .box .img-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #c9a56d;
}

.service_section .box .detail-box h5 {
    color: #242c2c;
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 10px;
}

.service_section .box .detail-box p {
    color: #333333;
}

.service_section .box .detail-box a {
  color: #c9a56d;
  font-weight: bold;
}

/* ... código anterior ... */

/* ------------------------------------- */
/* ABOUT SECTION (SOBRE O ESCRITÓRIO) */
/* ------------------------------------- */

.about_section {
  background-color: #ffffff; 
}

.about_section .detail-box h2 {
  color: #242c2c;
}

.about_section .detail-box a {
  background-color: #c9a56d;
  color: #242c2c;
  padding: 10px 25px;
  border-radius: 5px;
  display: inline-block;
  font-weight: bold;
}

.about_section .detail-box a:hover {
  background-color: #242c2c;
  color: #c9a56d;
}

/* Novo Estilo para a Galeria de Imagens na Seção About */
.about_section .img-box-grid {
    display: flex;
    flex-wrap: wrap; 
    gap: 5px; 
    justify-content: center;
    align-items: center;
    margin-top: 20px; /* Espaçamento da caixa de texto se a tela for pequena */
}

.about_section .img-box-grid img {
    width: calc(50% - 2.5px); /* Duas colunas no mobile */
    height: 150px; /* Altura fixa no mobile */
    object-fit: cover;
    border-radius: 8px; 
}

@media (min-width: 992px) {
    .about_section .img-box-grid img {
        /* ATUALIZADO: 50% de largura para ter apenas 2 fotos por linha. */
        width: calc(50% - 2.5px) !important; 
        /* Aumentei a altura para garantir que fiquem bem imponentes. */
        height: 320px !important; 
    }
}


/* ... código posterior ... */



/* ------------------------------------- */
/* CLIENT SECTION (DEPOIMENTOS) */
/* ------------------------------------- */

.client_section {
  background-color: #242c2c;
  color: #ffffff;
}

.client_section .heading_container h2 {
  color: #c9a56d;
}

.client_section .box {
  background-color: #384242;
  padding: 25px;
  border-radius: 10px;
}

.client_section .box .detail-box .client_info .fa-quote-left {
  color: #c9a56d;
  font-size: 28px;
}

.client_section .carousel-indicators li {
  background-color: #c9a56d;
}

.client_section .carousel-indicators li.active {
  background-color: #ffffff;
}

/* ------------------------------------- */
/* CONTACT SECTION */
/* ------------------------------------- */

.contact_section {
  background-color: #ffffff;
}

.contact_section .heading_container h2 {
  color: #242c2c;
  text-align: left; 
}

.contact_section .form_container {
    max-width: 600px; 
    margin: 0 auto; 
    padding: 20px 0;
}

/* Estilização dos Inputs e Textarea (Message Box) - Garantido 100% de largura */
.contact_section form input,
.contact_section form .message-box {
  border: 1px solid #242c2c; 
  color: #242c2c;
  border-radius: 8px; 
  width: 100%; /* <<-- ESSENCIAL PARA O FORMULÁRIO RESPONSIVO */
  padding: 15px 15px; 
  margin-bottom: 20px; 
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); 
  transition: border-color 0.3s;
}

/* Foco nos Inputs: Destaque com o Dourado */
.contact_section form input:focus,
.contact_section form .message-box:focus {
    border-color: #c9a56d; 
    outline: none;
    box-shadow: 0 0 8px rgba(201, 165, 109, 0.4); 
}

.contact_section form .message-box {
    height: 150px; 
    resize: vertical; 
}

.contact_section form input::placeholder,
.contact_section form .message-box::placeholder {
    color: #242c2c;
    opacity: 0.6; 
}


/* Estilização do Botão ENVIAR */
.contact_section .form_container button {
  background-color: #c9a56d; 
  color: #242c2c; 
  text-transform: uppercase;
  font-weight: bold;
  padding: 12px 30px; 
  border: none;
  border-radius: 8px; 
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.contact_section .form_container button:hover {
  background-color: #242c2c; 
  color: #c9a56d; 
  border: 1px solid #c9a56d; 
}

/* ------------------------------------- */
/* INFO SECTION (RODAPÉ) */
/* ------------------------------------- */

.info_section {
  background-color: #242c2c;
  color: #ffffff;
  padding-top: 45px;
  padding-bottom: 45px;
}

.info_section .contact_nav {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 20px;
    margin-bottom: 30px;
    flex-wrap: wrap; 
    justify-content: center;
}

.info_section .contact_nav a {
  color: #ffffff;
  margin-bottom: 10px;
}

.info_section .contact_nav a i {
  color: #c9a56d;
}

.info_section h4,
.info_section h5 {
  color: #c9a56d;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 20px;
}

.info_section .info_links_menu a {
  color: #ffffff;
  display: block;
}

.info_section .info_links_menu a:hover {
  color: #c9a56d;
}

.info_section .info_form form input {
    background-color: #ffffff;
    border-radius: 5px;
    padding: 10px;
    width: 100%;
    margin-bottom: 10px;
    color: #242c2c;
}

.info_section .info_form form button {
  background-color: #c9a56d;
  color: #242c2c;
  border: none;
  padding: 8px 15px;
  border-radius: 5px;
  text-transform: uppercase;
  font-weight: bold;
}

.info_section .info_form form button:hover {
    background-color: #ffffff;
    color: #242c2c;
}

.info_section .social_box a {
  color: #ffffff;
  font-size: 24px;
  margin-left: 10px;
}

.info_section .social_box a:hover {
  color: #c9a56d;
}

/* ------------------------------------- */
/* FOOTER SECTION */
/* ------------------------------------- */

.footer_section {
  background-color: #1a2020;
  padding: 20px 0;
  color: #ffffff;
  text-align: center;
}


/* ----------------------------------------------------- */
/* MEDIA QUERIES PARA RESPONSIVIDADE (CORREÇÃO FINAL FORÇADA) */
/* ----------------------------------------------------- */

/* Medium devices (Telas até 991px - Mobile/Tablet) */
@media (max-width: 991.98px) {
    
    /* 1. CORREÇÃO ESSENCIAL DO LAYOUT ESPREMIDO (Mobile/Tablet) */
    /* Zera qualquer padding fixo de overflow */
    .layout_padding,
    .layout_padding-top,
    .layout_padding-bottom,
    .slider_section .container,
    .container-fluid { 
        padding-right: 15px !important; 
        padding-left: 15px !important;
        width: 100% !important; 
        max-width: 100% !important;
        overflow-x: hidden !important; /* Previne rolagem horizontal */
    }
    
    /* 2. FORÇA VISIBILIDADE DO HAMBURGER E OCULTA O MENU HORIZONTAL */
    .navbar-toggler {
        display: block !important; /* FORÇA o ícone a aparecer no mobile */
        margin-right: 15px; /* Ajusta a posição para não colar na borda */
        order: 2; /* Garante que ele fique à direita da logo */
    }
    .custom_nav-container .navbar-collapse {
        /* O menu deve estar invisível/colapsado por padrão no mobile */
        width: 100%;
        
    }
    .custom_nav-container .navbar-nav {
        /* Assegura que o menu apareça em coluna quando expandido */
        flex-direction: column !important;
        width: 100% !important;
        margin: 0 !important;
    }
    
    /* 3. CORREÇÃO DA LOGO EXPLODINDO (Mobile/Tablet) */
    .custom_nav-container .navbar-brand {
        max-width: 50% !important; /* Limita o espaço que a logo pode ocupar */
        margin-left: 15px !important;
        padding: 5px 0 !important;
        order: 1; /* Garante que a logo fique à esquerda */
    }
    .custom_nav-container .navbar-brand .logo_ajustada {
        max-width: 150px !important; /* Redução FORÇADA da logo */
        max-height: 40px !important;
        width: auto !important;
        margin-top: 0 !important;
    }

    /* 4. ALINHAMENTO DE TÍTULOS E TEXTO (Centralizando para melhor visualização) */
    .heading_container h2,
    .heading_container p,
    .about_section .detail-box h2,
    .contact_section .heading_container h2 {
        text-align: center !important;
    }
    
    /* 5. AJUSTE DO MENU TOP (Oculta ou Simplifica) */
    .header_section .header_top .contact_nav {
        display: none !important; 
    }
    
    /* 6. CORREÇÃO DO FORMULÁRIO ESTREITO */
    .contact_section .col-lg-4.col-md-5.offset-md-1 {
        margin-left: 0 !important; 
        width: 100% !important; 
        max-width: 100% !important;
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .contact_section .form_container {
        /* Força o contêiner interno do formulário a usar a largura total */
        width: 100% !important; 
        max-width: 100% !important;
        padding: 0 15px; /* Adiciona padding interno para não colar nas bordas do celular */
    }
    
    .contact_section form input,
    .contact_section form .message-box,
    .contact_section .form_container button {
        /* Garante que os inputs e botão usem a largura total */
        width: 100% !important;
    }
}


/* Large devices (Desktops, 992px e acima) */
@media (min-width: 992px) {
    
    /* Força o recuo de 400px APENAS NO DESKTOP */
    .layout_padding,
    .layout_padding-top,
    .layout_padding-bottom {
        
        padding-left: 15px; 
    }

    /* Aplica o mesmo recuo ao slider para que o texto se alinhe */
    .slider_section .container {
        padding-right: 400px !important;
    }

    /* OCULTA o botão de hamburger no desktop */
    .navbar-toggler {
        display: none !important;
    }
    
    /* Garante que o menu principal seja horizontal no desktop */
    .custom_nav-container .navbar-collapse {
        display: flex !important;
    }
    
    /* Retorna o alinhamento de títulos para a esquerda no Desktop */
    .heading_container h2,
    .heading_container p,
    .about_section .detail-box h2,
    .slider_section h1,
    .contact_section .heading_container h2 {
        text-align: left !important;
    }

    .slider_section .detail-box .btn-box {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
    }
}
/* ======================== */
/* SEÇÃO NOSSA EQUIPE (TEAM) */
/* ======================== */
.team_section {
    padding-top: 50px; /* Adiciona um espaço extra no topo */
    padding-bottom: 50px;
    background-color: #f7f7f7; /* Um cinza claro para destacar a seção */
}

.team_section .box {
    text-align: center;
    padding: 30px 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 12px;
    background-color: #ffffff;
    transition: all 0.3s ease;
    height: 100%; /* Garante que todos os cards tenham a mesma altura */
}

.team_section .box:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
    transform: translateY(-8px); /* Efeito sutil de elevação */
}

/* Estilo para a caixa da imagem (TORNA O CÍRCULO) */
.team_section .img-box {
    width: 160px; /* Tamanho do círculo */
    height: 160px;
    min-width: 160px; 
    margin: 0 auto 25px auto; /* Centraliza e adiciona margem inferior */
    border-radius: 50%; /* CHAVE: Torna o contêiner da imagem circular */
    overflow: hidden; /* Corta o excesso da imagem */
    border: 6px solid #c9a56d; /* Borda dourada em torno da foto */
    box-shadow: 0 0 0 2px #fff; /* Sombra interna branca */
}

/* Garante que a imagem preencha perfeitamente o círculo */
.team_section .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta e centraliza a imagem sem distorção */
    filter: grayscale(10%); /* Deixa as fotos com um toque mais profissional */
}

.team_section .detail-box h5 {
    font-weight: 700;
    margin-bottom: 5px;
    color: #222;
    font-size: 20px;
}

.team_section .detail-box p {
    font-size: 14px;
    color: #555;
    line-height: 1.5;
    min-height: 70px; /* Ajuda a manter o layout se as descrições tiverem tamanhos ligeiramente diferentes */
}

/* Estilo para os ícones sociais */
.team_section .social_box {
    margin-top: 15px;
}

.team_section .social_box a {
    color: #4a4a4a;
    margin: 0 8px;
    font-size: 22px;
    transition: color 0.3s;
}

.team_section .social_box a:hover {
    color: #c9a56d; /* Dourado no hover para interatividade */
}

/* RESPONSIVIDADE (Ajustes para telas pequenas) */
@media (max-width: 767px) {
    .team_section .img-box {
        width: 130px; 
        height: 130px;
        min-width: 130px;
    }
}
