@charset "ISO-8859-1"; /*** Código que corrige a acentuação ***/
/* CSS Document */
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :: CSS Reset :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
* { 
margin: 0; 
padding: 0; 
list-style: none; 
} 
*,
*::before,
*::after {
    box-sizing: border-box;
}

hr { 
display: none; 
} 
img { 
border: none; 
}
html{
    scroll-behavior: smooth;
}
    @font-face {
    font-family: "OpenSans-Regular";
    src: url("OpenSans-Regular.ttf") format("truetype");
    }
    @font-face {
    font-family: "OpenSans-Bold";
    src: url("OpenSans-Bold.ttf") format("truetype");
    }
    @font-face {
        font-family: "OpenSans-Light";
        src: url("OpenSans-Light.ttf") format("truetype");
}
h1,h2,h3,h4,h5,h6{
    margin-bottom: 20px;
    font-family: "OpenSans-Bold";
    font-size: 36px;
    color: #999999;
    text-align: center;
    max-width: 1200px;
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :: COMPUTADOR :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
body {
  margin: 0;
  padding: 0;
  width: 100%;
}

body, header, main, footer {
  width: 100%;
}

header {
    height: 207px;
    width: 100%;

    /* imagem de fundo */
    background-image: url('img/fundo_topo.jpg'); /* substitua pelo caminho correto */
    background-repeat: repeat-x;             /* repete somente na horizontal */
    background-position: top center;         /* alinha a imagem no topo e centraliza horizontalmente */
    background-size: auto;                   /* mantém tamanho original da imagem */
}
.header-container{
    max-width: 1280px;
    width: calc(100% - 20px);
    margin: 0 auto;
    height: 207px;
    position: relative;
}
.logo{
    width: 389px;
    height: 93px;
    position: absolute;
    top: 25px;
    left: 0;
}

nav {
  padding: 10px 0;
  position: absolute;
    bottom: 13px;
    left: 50%;
    transform: translateX(-50%);
}
#btn-mobile{
    display: none;
}
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  justify-content: center;
  gap: 25px; /* espaçamento entre itens */
}

nav ul li a {
  color: #ffffff;
  text-decoration: none;
  font-size: 20px;
  font-family: "OpenSans-Bold";
  white-space: nowrap;  /* 👈 impede quebrar em duas linhas */

  transition: opacity 0.2s;
}

nav ul li a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.btn_whatsapp{
    width: 54px;
    height: 54px;
    position: absolute;
    bottom: 7px;
    right: 0;
}
.btn_whatsapp a img {
    transition: transform 0.2s ease;
}

.btn_whatsapp:hover a img {
    animation: wobble 0.4s ease;
}

@keyframes wobble {
  0% { transform: rotate(0); }
  25% { transform: rotate(8deg); }
  50% { transform: rotate(-8deg); }
  75% { transform: rotate(5deg); }
  100% { transform: rotate(0); }
}

.contato-box {
    display: flex;
    flex-direction: column;
    gap: 5px; /* espaço entre telefone e email */
    font-family: "OpenSans-Regular";
    font-size: 18px;
    color: #333;
    position: absolute;
    top: 40px;
    right: 0px;
}

.item-contato {
    display: flex;
    align-items: center;
    gap: 8px; /* espaço entre ícone e texto */
}

.item-contato img {
    width: 28px;   /* ajuste para o tamanho que quiser */
    height: auto;
    display: block;
}

main{
    width: 100%;
}

.banner_conteudos {
    position: relative;
    width: 100%; /* largura máxima com margem */
    margin: 0 auto; /* centraliza horizontalmente */
    height: 100px; /* altura do banner */
    background-image: url('img/paralax-imagem.jpg'); /* imagem de fundo */
    background-position: center; /* centraliza a imagem */
    background-repeat: no-repeat; /* não repete a imagem */
    background-size: cover; /* cobre toda a área da div */
    background-attachment: fixed; /* efeito parallax */
    /* sombra no topo */
}
.banner-conteudos-container {
    max-width: 1280px;
    width: calc(100% - 20px);
    height: 100px;
    margin: 0 auto;
    position: relative;
}
.banner_conteudos::before,
.banner_conteudos::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 7px; /* altura da sombra */
    pointer-events: none; /* não interfere em cliques */
}

.banner_conteudos::before {
    top: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.5), transparent);
}

.banner_conteudos::after {
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);
}
.box-texto1-banner-conteudo{
    width: 100%;
    position: absolute;
    top: 35px;
    left: 50%;
    transform: translateX(-50%);
    height: 45px;

    display: flex;
    justify-content: center;
    align-items: center;
}
.texto1_banner-conteudo{
    font-size: 30px;
    font-family: "OpenSans-Bold";
    color:#fff;
    text-align: center;
    padding:0px;
}
.banner {
    position: relative;
    width: 100%; /* largura máxima com margem */
    margin: 0 auto; /* centraliza horizontalmente */
    height: 380px; /* altura do banner */
    background-image: url('img/paralax-imagem.jpg'); /* imagem de fundo */
    background-position: center; /* centraliza a imagem */
    background-repeat: no-repeat; /* não repete a imagem */
    background-size: cover; /* cobre toda a área da div */
    background-attachment: fixed; /* efeito parallax */
    /* sombra no topo */
}
.banner::before,
.banner::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 7px; /* altura da sombra */
    pointer-events: none; /* não interfere em cliques */
}

.banner::before {
    top: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.5), transparent);
}

.banner::after {
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);
}
.banner-container {
    max-width: 1280px;
    width: calc(100% - 20px);
    height: 380px;
    margin: 0 auto;
    position: relative;
}
.box-texto1-banner{
    width: 560px;
    height: 45px;
    position: absolute;
    top: 47px;
    left: 0px;
}
.texto1_banner{
    font-size: 40px;
    font-family: "OpenSans-Bold";
    color: #ffffff;
    text-align: left;
    padding:0px;
}
.separador_texto_banner{
    width: 900px;
    height: 3px;
    background-color:#2C5B78;
    position: absolute;
    top: 97px;
    left: 0px;
}
.box-texto2-banner{
    width: 780px;
    height: 30px;
    position: absolute;
    top: 106px;
    left: 120px;
}
.texto2_banner{
    font-size: 20px;
    font-family: "OpenSans-Bold";
    color: #ffffff;
    text-align: right;
    padding:0px;
}
.box-texto3-banner{
    width: 250px;
    height: 35px;
    position: absolute;
    bottom: 44px;
    left: 0px;
}
.cidade-banner{
    font-size: 30px;
    font-family: "OpenSans-Bold";
    color: #ffffff;
    text-align: left;
    padding:0px;
}
.separador_topo {
    width: 100%; /* largura máxima com margem */
    height: 27px; /* altura do banner */
    background-image: url('img/fundo_separador_topo.jpg'); /* imagem de fundo */
}
.empresa-container {
    max-width: 1280px;
    
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 40px;
    overflow-x: hidden; /* evita scroll horizontal por segurança */
}
.empresa-conteudo {
    display: grid;
    grid-template-columns: 60% 40%;
    gap: 40px;
    align-items: start;
}

/* texto */
.empresa-texto h2 {
    font-size: 34px;
    color: #0a2a28;
    margin-bottom: 20px;
    text-align: left;
}
.empresa-texto p {
    font-size: 18px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 20px;
    font-family: "OpenSans-Regular";
}
/* imagem 100% responsiva */
.empresa-img img {
    width: 100%;
    height: auto;
    display: block; 
    border-radius: 4px;
    max-width: 100%; 
}
/* BOTÃO */
.btn-saiba-mais {
    display: block;
    margin: 30px auto 0 auto;
    width: fit-content;
    background: #4a89a3;
    color: #fff;
    padding: 14px 50px;
    border-radius: 6px;
    font-size: 26px;
    text-decoration: none;
    font-family: "OpenSans-Bold";
    transition: 0.3s ease;
}

.btn-saiba-mais:hover {
    background: #3b6f84;
}







.p_vendas-container { 
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 10px;
    padding-bottom: 40px;
    overflow-x: hidden;
}

.p_vendas-conteudo {
    width:100%;
    margin: 0 auto;
    min-height: 450px; /* mudei para min-height para permitir expansão */
    padding: 20px;
    box-sizing: border-box;
}

.texto-topo-vendas {
    text-align: center;
    margin-bottom: 35px;
}

.texto-topo-vendas p {
    font-size: 20px;
    color: #555;
    margin-top: 0px;
    font-family: "OpenSans-Regular";
}

/* GALERIA */
.galeria-produtos {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* máximo 4 por linha */
    gap: 20px;
}
/* Tela média – até 1200px */
@media (max-width: 1200px) {
    .galeria-produtos {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Tablet – até 900px */
@media (max-width: 900px) {
    .galeria-produtos {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Celular – até 600px */
@media (max-width: 600px) {
    .galeria-produtos {
        grid-template-columns: 1fr;
    }
}

/* CARD DO PRODUTO */
.produto {
    background: #E9E7D6;
    border-radius: 10px;
    overflow: hidden;
    padding-bottom: 20px;
    text-align: center;
    box-shadow: 0 3px 8px rgba(0,0,0,0.2);
    transition: transform .2s;
}

.produto:hover {
    transform: scale(1.03);
}

.produto img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.produto h3 {
    margin: 15px 0 10px;
    font-size: 18px;
    color: #333;
}

.btn-comprar {
    display: inline-block;
    padding: 10px 18px;
    background: rgb(146, 146, 146);
    color: #fff;
    border-radius: 8px;
    font-family: "OpenSans-Regular";
    text-decoration: none;
}

.btn-comprar:hover {
    background: #848051;
}




.detalhes-container {
    max-width: 1280px;
    width: calc(100% - 20px);
    margin: 0 auto;
    padding-top: 30px;
    padding-bottom: 50px;
    font-family: "OpenSans-Regular";
}

.detalhes-conteudo {
    width: 100%;
}

/* Foto principal + informações lado a lado */
.produto-topo {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
}

/* FOTO PRINCIPAL */
.foto-principal {
    flex: 1;
}

.foto-principal img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.25);
}


/* INFORMAÇÕES DO PRODUTO */
.info-produto {
    flex: 1;
}

.titulo-produto {
    font-size: 30px;
    margin-bottom: 15px;
    color: #333;
}

.texto-compra {
    font-size: 16px;
    color: #555;
    background: #f5f5f5;
    padding: 12px 15px;
    border-left: 4px solid #777;
    border-radius: 6px;
    margin-bottom: 25px;
}

.subtitulo {
    margin-top: 25px;
    font-size: 20px;
    color: #444;
}

.descricao-produto {
    font-size: 15px;
    color: #444;
    line-height: 1.6;
}

/* GALERIA ADICIONAL */
.galeria-adicional {
    margin-top: 40px;
}

.lista-fotos {
    margin-top: 15px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 15px;
}

.lista-fotos img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.2);
    transition: transform .2s;
}

.lista-fotos img:hover {
    transform: scale(1.05);
}

/* RESPONSIVO */
@media (max-width: 900px) {
    .produto-topo {
        flex-direction: column;
    }

    .foto-principal img {
        height: 300px;
    }
}








.localizacao-container {
    max-width: 1280px;
    width: calc(100% - 20px);
    margin: 0 auto;
}

.localizacao-conteudo {
    width: 100%;
}

/* Wrapper responsivo para o iframe */
.mapa-responsivo {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* proporção 16:9 */
    height: 0;
    overflow: hidden;
}

.mapa-responsivo iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




/* Layout principal */
.contato-container {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 20px 10px;
    box-sizing: border-box;
}

.contato-conteudo {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Formulário */
.form-contato {
    width: 100%;
    max-width: 700px;
    background: #ffffff15;
    padding: 30px;
    border-radius: 12px;
    backdrop-filter: blur(5px);
    border: 1px solid #ffffff30;
}

.form-contato h2 {
    margin-bottom: 20px;
    font-size: 26px;
    font-family: "OpenSans-Light";
    color: #333;
}

/* Grupos de campos */
.form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 18px;
}

.form-group.full {
    grid-column: span 2;
}

.form-group label {
    color: #333;
    font-family: "OpenSans-Regular";
    margin-bottom: 6px;
    font-size: 16px;
}

.form-group input,
.form-group textarea {
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 16px;
    font-family: "OpenSans-Regular";
    background: #EAEAEA;
}

/* Textarea maior */
.form-group textarea {
    min-height: 120px;
    resize: vertical;
}

/* Botão */
.btn-enviar {
    width: 100%;
    padding: 14px;
    background: #0066cc;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 18px;
    font-family: "OpenSans-Regular";
    cursor: pointer;
    transition: 0.3s;
}

.btn-enviar:hover {
    background: #004c99;
}

/* Responsividade */
@media (max-width: 820px) {
    .form-contato {
        padding: 20px;
    }
    .contato-conteudo {
        display: block;
    }
}



.envia_contato-container {
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 40px;
    overflow-x: hidden; /* evita scroll horizontal por segurança */
}
.envia_contato-conteudo {
    width: 100%;
}

/* texto */
.envia_contato-texto {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.envia_contato-texto h2 {
    font-size: 34px;
    color: #0a2a28;
    margin-bottom: 20px;
    text-align: center;
}
.envia_contato-texto p {
    font-size: 18px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 20px;
    font-family: "OpenSans-Regular";
        text-align: center;
}





/* Container geral */
.nossas_obras-container {
    max-width: 1280px;
    margin: 0 auto;
    padding-top: 20px;
    padding-bottom: 40px;
    overflow-x: hidden;
}

/* Texto */
.nossas_obras-conteudo {
    width: 100%;
}

.nossas_obras-texto p {
    font-size: 18px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 20px;
    font-family: "OpenSans-Regular";
    padding-left: 10px;
    padding-right: 10px;
}

/* GALERIA RESPONSIVA */
.galeria-obras {
    width: 100%;
    max-width: 1280px;
    margin: 40px auto 20px auto;
    padding: 0 10px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 25px;
}

.galeria-obras .item {
    background: #f5f5f5;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
    padding-bottom: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-decoration: none;
    color: inherit;
    transition: transform .2s ease, box-shadow .2s ease;
}

.galeria-obras .item:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.galeria-obras img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform .3s ease;
}

.galeria-obras img:hover {
    transform: scale(1.08);
}

/* descrição */
.galeria-obras .descricao {
    margin-top: 10px;
    font-size: 16px;
    color: #444;
    font-family: "OpenSans-Regular";
    padding: 0 10px;
}





.servicos-container {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 40px 10px; /* 10px de margem interna nas laterais */
    box-sizing: border-box;
}

/* GRID 40% / 60% seguro (desktop) */
.servicos-conteudo {
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
    gap: 40px;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

/* garante que os filhos possam encolher sem forçar overflow */
.servicos-conteudo > * {
    min-width: 0;
}

/* imagem - à esquerda, não vaza e se ajusta ao container */
.servicos-img {
    justify-self: start; /* força o bloco da imagem à esquerda da grade */
    display: block;
}
.servicos-img img {
    display: block;
    max-width: 80%;
    height: auto;
    width: 100%;      /* ocupar 100% do bloco (o bloco já tem 40% da grid) */
    box-sizing: border-box;
    border-radius: 4px;
}

/* texto - direita, sem overflow */
.servicos-texto {
    justify-self: stretch;
    box-sizing: border-box;
}
.servicos-texto h2 {
    font-size: 34px;
    color: #0a2a28;
    margin: 0 0 20px 0;
    text-align: right;
    font-family: "OpenSans-Bold";
}
.servicos-texto p {
    font-size: 18px;
    line-height: 1.6;
    color: #333;
    margin: 0 0 20px 0;
    font-family: "OpenSans-Regular";
    text-align: right;
    word-wrap: break-word; /* evita expandir além do container */
    overflow-wrap: anywhere;
}

/* botão */
.btn-saiba-mais_servicos {
    display: block;
    margin: 30px auto 0 auto;
    width: fit-content;
    background: #4a89a3;
    color: #fff;
    padding: 14px 50px;
    border-radius: 6px;
    font-size: 26px;
    text-decoration: none;
    font-family: "OpenSans-Bold";
    transition: 0.3s ease;
}
.btn-saiba-mais_servicos:hover { background: #3b6f84; }

/* SAFETY: se por algum motivo ainda houver overflow escondemos só o extra fora do container */
.servicos-container { overflow-x: hidden; }
.atalhos-container {
    width: 100%;
    background-color: #00618E;
    padding: 40px 0;
}

.atalhos-conteudo {
    max-width: 1280px;
    width: calc(100% - 40px);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;   /* reduzido de 30px para 20px */
}

/* --- ITEM --- */
.atalho-item {
    width: 300px; /* FIXO – não diminui */
    text-align: center;
}

/* --- IMAGENS --- */
.atalho-img {
    width: 300px;
    height: 160px;
    position: relative;
    display: flex;
    /* align-items: center;  REMOVER */
    justify-content: center;
    
    padding: 10px;
    padding-top: 80px; /* <<< espaço superior igual à imagem */
    
    text-align: center;
    color: #fff;
    font-size: 16px;
    font-family: "OpenSans-Bold";
    border: 1px solid #333;
    box-sizing: border-box;
}

.atalho-img p {
    position: relative;
    z-index: 2;
}

/* --- FUNDO DAS IMAGENS (coloque as verdadeiras aqui) --- */
.img1 { background: url("img/atalho1.jpg") center/cover no-repeat; }
.img2 { background: url("img/atalho2.jpg") center/cover no-repeat; }
.img3 { background: url("img/atalho3.jpg") center/cover no-repeat; }
.img4 { background: url("img/atalho4.jpg") center/cover no-repeat; }

.img3 p {
    text-align: left;
}
/* --- OVERLAYS COLORIDAS --- */

.overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(48, 190, 246, 0.60);
    z-index: 1;
}

.verde { background-color: rgba(2, 217, 142, 0.60); }
.amarelo { background-color: rgba(252, 194, 68, 0.60); }
.azul { background-color: rgba(0, 112, 180, 0.60); }

/* --- BOTÕES --- */

.atalho-botao {
    display: block;
    margin-top: 10px;
    width: 300px;
    background: #738089;
    color: #fff;
    padding: 6px 0;
    font-size: 18px;
    border-radius: 2px;
    text-decoration: none;
    font-family: "OpenSans-Bold";
    border: 1px solid #333;
    transition: 0.3s;
}

.atalho-botao:hover {
    background: #556168;
}
footer{
    height: 402px;
    width: 100%;

    /* imagem de fundo */
    background-image: url('img/fundo_rodape.jpg'); /* substitua pelo caminho correto */
    background-repeat: repeat-x;             /* repete somente na horizontal */
    background-position: top center;         /* alinha a imagem no topo e centraliza horizontalmente */
    background-size: auto;                   /* mantém tamanho original da imagem */
}
.footer-container {
    max-width: 1280px;
    width: calc(100% - 20px);
    height: 402px;
    margin: 0 auto;
    position: relative;
}
.footer-menu {
    width: 160px;
    height: 228px;
    position: absolute;
    top: 27px;
    left: 0px;
}

.footer-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu li {
    margin-bottom: 3px; /* espaçamento entre os itens */
}

.footer-menu a {
    font-family: "OpenSans-Light";
    font-size: 20px;
    color: #fff;
    text-decoration: none;
    text-align: right;
    display: block;
    letter-spacing: 1px; /* deixa parecido com o da imagem */
}

.footer-menu a:hover {
    opacity: 0.7;
}

.footer-separador {
    width: 6px;
    height: 208px;
    background-color:#D7D1B5;
    position: absolute;
        top: 28px;
        left: 164px;
}
.footer-contatos {
    width: 300px;
    height: 150px;
    position: absolute;
        top: 69px;
        left: 223px;
}
.footer-contatos p {
    display: flex;
    align-items: center;  /* ← alinha verticalmente */
    gap: 8px;             /* ← espaço entre o ícone e o texto */

    font-family: "OpenSans-Light";
    font-size: 20px;
    color: #fff;
    text-align: left;
    padding-top: 0px;
}
.footer-contatos img {
    width: 22px;
    height: auto;
    position: relative;
    top: 3px;     /* ↓ desce o ícone exatamente 3px */
}
.footer-endereco {
    width: 300px;
    height: 150px;
    position: absolute;
        top: 69px;
        right: 356px;
}
.footer-endereco p{
    font-family: "OpenSans-Light";
    font-size: 20px;
    color: #fff;
    text-align: left;
    padding-top: 0px;
}
.footer-logotipo {
    width: 285px;
    height: 68px;
    position: absolute;
        top: 69px;
        right: 0px;
}
.footer-direitos {
    width: 100%;
    height: 48px;
    position: absolute;
        top: 257px;
        left: 0px;
}
.footer-direitos p{
    font-family: "OpenSans-Light";
    font-size: 20px;
    color: #333;
    text-align: center;
    padding-top: 9px;
}
.footer-olhar_criativo {
    width: 81px;
    height: 65px;
    position: absolute;
        top: 311px;
        right: 0px;
}

#colorbox,
#cboxOverlay,
#cboxWrapper,
#cboxContent,
#cboxLoadedContent,
#cboxLoadingOverlay,
#cboxLoadingGraphic {
    box-sizing: content-box !important;
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :: TABLET :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
@media screen and (min-width:768px) and (max-width:1024px){
    /* ---------------- */
    /* Começo topo home */
    /* ---------------- */
.header-container{
    max-width: 1024px;
    width: calc(100% - 20px);
    margin: 0 auto;
    height: 207px;
    position: relative;
}
.logo{
    width: 320px;
    height: 93px;
    position: absolute;
    top: 25px;
    left: 0;
}
.logo img{
    width: 320px;
}

nav {
  padding: 10px 0;
  position: absolute;
    bottom: 13px;
    left: 50%;
    transform: translateX(-50%);
}

nav ul {
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  justify-content: center;
  gap: 20px; /* espaçamento entre itens */
}

nav ul li a {
  color: #ffffff;
  text-decoration: none;
  font-size: 15px;
  font-family: "OpenSans-Bold";
  white-space: nowrap;  /* 👈 impede quebrar em duas linhas */

  transition: opacity 0.2s;
}

nav ul li a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.btn_whatsapp{
    width: 54px;
    height: 54px;
    position: absolute;
    bottom: 60px;
    right: 0;
}
.btn_whatsapp a img {
    transition: transform 0.2s ease;
}

.btn_whatsapp:hover a img {
    animation: wobble 0.4s ease;
}

@keyframes wobble {
  0% { transform: rotate(0); }
  25% { transform: rotate(8deg); }
  50% { transform: rotate(-8deg); }
  75% { transform: rotate(5deg); }
  100% { transform: rotate(0); }
}

.contato-box {
    display: flex;
    flex-direction: column;
    gap: 5px; /* espaço entre telefone e email */
    font-family: "OpenSans-Regular";
    font-size: 18px;
    color: #333;
    position: absolute;
    top: 15px;
    right: 0px;
}

.item-contato {
    display: flex;
    align-items: center;
    gap: 8px; /* espaço entre ícone e texto */
}

.item-contato img {
    width: 28px;   /* ajuste para o tamanho que quiser */
    height: auto;
    display: block;
}

.banner-container {
    max-width: 1280px;
    width: calc(100% - 20px);
    height: 380px;
    margin: 0 auto;
    position: relative;
}
.box-texto1-banner{
    width: 440px;
    height: 40px;
    position: absolute;
    top: 57px;
    left: 0px;
}
.texto1_banner{
    font-size: 30px;
    font-family: "OpenSans-Bold";
    color: #ffffff;
    text-align: left;
    padding:0px;
}
.separador_texto_banner{
    width: 700px;
    height: 3px;
    background-color:#2C5B78;
    position: absolute;
    top: 97px;
    left: 0px;
}
.box-texto2-banner{
    width: 640px;
    height: 25px;
    position: absolute;
    top: 106px;
    left: 60px;
}
.texto2_banner{
    font-size: 16px;
    font-family: "OpenSans-Bold";
    color: #ffffff;
    text-align: right;
    padding:0px;
}
.box-texto3-banner{
    width: 200px;
    height: 35px;
    position: absolute;
    bottom: 38px;
    left: 0px;
}
.cidade-banner{
    font-size: 22px;
    font-family: "OpenSans-Bold";
    color: #ffffff;
    text-align: left;
    padding:0px;
}

/* LAYOUT TABLET */
.empresa-conteudo {
    display: grid;
    grid-template-columns: 55% 45%;
    gap: 40px;
    align-items: start;
}
/* texto */
.empresa-texto h2 {
    font-size: 28px;
    color: #0a2a28;
    margin-bottom: 20px;
    text-align: left;
}

.empresa-texto p {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 20px;
    font-family: "OpenSans-Regular";
}

/* imagem 100% responsiva */
.empresa-img img {
    width: 100%;
    height: auto;
    display: block;          /* remove espaço extra do inline */
    border-radius: 4px;
    max-width: 100%;         /* impede ultrapassar limite */
}

/* BOTÃO */
.btn-saiba-mais {
    display: block;
    margin: 20px auto 0 auto;
    width: fit-content;
    background: #4a89a3;
    color: #fff;
    padding: 10px 40px;
    border-radius: 6px;
    font-size: 20px;
    text-decoration: none;
    font-family: "OpenSans-Bold";
    transition: 0.3s ease;
}

.btn-saiba-mais:hover {
    background: #3b6f84;
}

/* BASE */
.servicos-container {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 40px 10px; /* 10px de margem interna nas laterais */
    box-sizing: border-box;
}

/* GRID 40% / 60% seguro (desktop) */
.servicos-conteudo {
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
    gap: 40px;
    align-items: start;
    width: 100%;
    box-sizing: border-box;
}

/* garante que os filhos possam encolher sem forçar overflow */
.servicos-conteudo > * {
    min-width: 0;
}

/* imagem - à esquerda, não vaza e se ajusta ao container */
.servicos-img {
    justify-self: start; /* força o bloco da imagem à esquerda da grade */
    display: block;
}
.servicos-img img {
    display: block;
    max-width: 100%;
    height: auto;
    width: 100%;      /* ocupar 100% do bloco (o bloco já tem 40% da grid) */
    box-sizing: border-box;
    border-radius: 4px;
}

/* texto - direita, sem overflow */
.servicos-texto {
    justify-self: stretch;
    box-sizing: border-box;
}
.servicos-texto h2 {
    font-size: 28px;
    color: #0a2a28;
    margin: 0 0 20px 0;
    text-align: right;
    font-family: "OpenSans-Bold";
}
.servicos-texto p {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin: 0 0 20px 0;
    font-family: "OpenSans-Regular";
    text-align: right;
    word-wrap: break-word; /* evita expandir além do container */
    overflow-wrap: anywhere;
}

/* BOTÃO */
.btn-saiba-mais_servicos {
    display: block;
    margin: 20px auto 0 auto;
    width: fit-content;
    background: #4a89a3;
    color: #fff;
    padding: 10px 40px;
    border-radius: 6px;
    font-size: 20px;
    text-decoration: none;
    font-family: "OpenSans-Bold";
    transition: 0.3s ease;
}

.btn-saiba-mais_servicos:hover {
    background: #3b6f84;
}

/* SAFETY: se por algum motivo ainda houver overflow escondemos só o extra fora do container */
.servicos-container { overflow-x: hidden; }

.footer-menu {
   display: none;
}
.footer-separador {
    display: none;
}
.footer-contatos {
    width: 300px;
    height: 150px;
    position: absolute;
        top: 20px;
        left: 5px;
}
.footer-endereco {
    width: 300px;
    height: 150px;
    position: absolute;
        top: 160px;
        left: 5px;
}

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :: CELULAR ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
@media (max-width:768px){
    /* ---------------- */
    /* Começo topo home */
    /* ---------------- */
    header {
    height: 288px;
    width: 100%;

    /* imagem de fundo */
    background-image: url('img/fundo_topo_celular.jpg'); /* substitua pelo caminho correto */
    background-repeat: repeat-x;             /* repete somente na horizontal */
    background-position: top center;         /* alinha a imagem no topo e centraliza horizontalmente */
    background-size: auto;                   /* mantém tamanho original da imagem */
}
.header-container {
    position: relative;
    max-width: 580px;
    width: calc(100% - 10px);
    margin: 0 auto;
    height: 288px;
}
.logo{
    width: 389px;
    height: 93px;
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
}
nav {
  padding: 10px 0;
  position: absolute;
    bottom: 13px;
    left: 50%;
    transform: translateX(-50%);
}
#btn-mobile{
    display: none;
}
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  justify-content: center;
  gap: 25px; /* espaçamento entre itens */
}

nav ul li a {
  color: #ffffff;
  text-decoration: none;
  font-size: 20px;
  font-family: "OpenSans-Bold";
  white-space: nowrap;  /* 👈 impede quebrar em duas linhas */

  transition: opacity 0.2s;
}

nav ul li a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.btn_whatsapp{
    width: 54px;
    height: 54px;
    position: absolute;
    bottom: 7px;
    right: 10px;
}
.btn_whatsapp a img {
    transition: transform 0.2s ease;
}

.btn_whatsapp:hover a img {
    animation: wobble 0.4s ease;
}

@keyframes wobble {
  0% { transform: rotate(0); }
  25% { transform: rotate(8deg); }
  50% { transform: rotate(-8deg); }
  75% { transform: rotate(5deg); }
  100% { transform: rotate(0); }
}

.contato-box {
    width: 389px;
    height: 93px;
    position: absolute;
    top: 140px;
    left: 50%;
    transform: translateX(-50%);
}

.item-contato {
    display: flex;
    align-items: center; /* ícone alinhado com o texto */
    gap: 6px; /* espaço entre ícone e texto */
}

.item-contato img {
    width: 22px;   /* tamanho igual da imagem de exemplo */
    height: auto;
    display: block;
}
#nav{
        width: 380px;
        height: 30px;
        position: absolute;
        top: 240px;
        left: 50%;
        z-index: 1000;
    }
    #menu{
        padding: 0;
        display: block;
        position: absolute;
        width: 100%;
        height: 0px;
        transition: .6s;
        top: 48px;
        right: 0px;
        background: #D7D1B5;
        visibility: hidden;
        overflow-y: hidden;
        border-top: 1px solid #fff;
    }
    #nav.active #menu{
        width: 100%;
        height: 345px;
        visibility: visible;
    }
    #menu li{
        display: block;
    }
    #menu li a{
        font-family: "OpenSans-Regular";
        font-size: 20px;
        color: #333;
        text-decoration: none;
        padding: 10px;
        display: block;
        transition: background .6s;
        border-bottom: 2px solid #fff;
    }
    #menu li a:hover{
        font-family: "OpenSans-Regular";
        font-size: 20px;
        color: #333;
        padding: 10px;
        display: block;
        background-color: #958A52;
        color: #fff;
    }
    #btn-mobile{
        display: flex;
        position: absolute;
        top: 5px;
        right: 5px;
        font-size: 1rem;
        font-family: "OpenSans-Bold";
        color: #fff;
        border: none;
        background: none;
        cursor: pointer;
        gap: .5rem;
    }
    #hamburger{
        width: 25px;
        border-top: 3px solid;
        display: block;
    }
    #hamburger::after, #hamburger::before{
        content: '';
        display: block;
        width: 25px;
        height: 3px;
        background: currentColor;
        margin-top: 5px;
        transition: .3s;
        position: relative;
    }
    #nav.active #hamburger{
        border-top-color: transparent;
    }
    #nav.active #hamburger::before{
        transform: rotate(135deg);
    }
    #nav.active #hamburger::after{
        transform: rotate(-135deg);
        top: -7px;
    }
.btn_whatsapp{
    width: 54px;
    height: 54px;
    position: absolute;
    bottom: 96px;
    right: 10px;
    z-index: 999;
}
.btn_whatsapp a img {
    transition: transform 0.2s ease;
}

.btn_whatsapp:hover a img {
    animation: wobble 0.4s ease;
}

@keyframes wobble {
  0% { transform: rotate(0); }
  25% { transform: rotate(8deg); }
  50% { transform: rotate(-8deg); }
  75% { transform: rotate(5deg); }
  100% { transform: rotate(0); }
}

.box-texto1-banner {
    width: 370px;
    height: 40px;
    position: absolute;
    top: 57px;
    left: 50%;
    transform: translateX(-50%);
}
.texto1_banner{
    font-size: 26px;
    font-family: "OpenSans-Bold";
    color: #ffffff;
    text-align: center;
    padding:0px;
}
.separador_texto_banner{
    width: 370px;
    height: 3px;
    background-color:#2C5B78;
    position: absolute;
    top: 97px;
    left: 50%;
    transform: translateX(-50%);
}
.box-texto2-banner {
    width: 370px;
    height: 25px;
    position: absolute;
    top: 106px;
    left: 50%;
    transform: translateX(-50%);
}
.texto2_banner{
    font-size: 16px;
    font-family: "OpenSans-Bold";
    color: #ffffff;
    text-align: center;
    padding:0px;
}
.box-texto3-banner{
    width: 200px;
    height: 35px;
    position: absolute;
    bottom: 38px;
    left: 50%;
    transform: translateX(-50%);
}
.cidade-banner{
    font-size: 18px;
    font-family: "OpenSans-Bold";
    color: #ffffff;
    text-align: center;
    padding:0px;
}
.empresa-conteudo {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .empresa-img {
        width: 100%;
        padding: 0 10px;
    }

    .empresa-texto {
        padding: 0 10px;
        text-align: left;
    }

    .empresa-texto h2 {
    font-size: 18px;
    color: #0a2a28;
    margin-bottom: 26px;
    text-align: left;
    }

    .empresa-texto p {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 20px;
    font-family: "OpenSans-Regular";
    }

    /* BOTÃO */
.btn-saiba-mais {
    display: block;
    margin: 20px auto 0 auto;
    width: fit-content;
    background: #4a89a3;
    color: #fff;
    padding: 10px 40px;
    border-radius: 6px;
    font-size: 18px;
    text-decoration: none;
    font-family: "OpenSans-Bold";
    transition: 0.3s ease;
}

.btn-saiba-mais:hover {
    background: #3b6f84;
}
.servicos-conteudo {
    display: flex;
    flex-direction: column;
    gap: 25px;

    /* centra todos os itens horizontalmente dentro do container */
    align-items: center !important;
}

/* título permanece com largura total, alinhado à esquerda visualmente */
.servicos-texto {
    width: 100%;
    box-sizing: border-box;
    padding: 0 10px; /* mantém o espaçamento lateral */
}

/* mantemos o h2 ocupando 100% (título em linha) */
.servicos-texto h2 {
    order: 1;
    width: 100%;
    font-size: 18px;
    box-sizing: border-box;
    margin: 0 0 18px 0;
    text-align: left;
}

/* imagem centralizada — o elemento .servicos-img fica com largura relativa e centrado */
.servicos-img {
    order: 2;
    width: 70%;              /* ajuste conforme necessário (ex: 70% / 90%) */
    max-width: 720px;        /* evita ficar gigante em telas grandes */
    min-width: 200px;        /* evita ficar muito pequeno */
    margin: 0 auto !important;
    align-self: center !important;
    padding: 0;              /* remove padding que empurra a imagem */
    box-sizing: border-box;
}

/* garante que a IMG ocupe 100% do bloco .servicos-img sem vazar */
.servicos-img img {
    width: 100%;
    height: auto;
    display: block;
    max-width: 100%;
    box-sizing: border-box;
}

/* texto do parágrafo fica abaixo */
.servicos-texto p {
    order: 3;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 10px 0;
    text-align: left;
}

/* botão por último */
.btn-saiba-mais_servicos {
    display: block;
    margin: 20px auto 0 auto;
    width: fit-content;
    background: #4a89a3;
    color: #fff;
    padding: 10px 40px;
    border-radius: 6px;
    font-size: 18px;
    text-decoration: none;
    font-family: "OpenSans-Bold";
    transition: 0.3s ease;
}

.btn-saiba-mais_servicos:hover {
    background: #3b6f84;
}
footer{
    height: 496px;
    width: 100%;

    /* imagem de fundo */
    background-image: url('img/fundo_rodape_celular.jpg'); /* substitua pelo caminho correto */
    background-repeat: repeat-x;             /* repete somente na horizontal */
    background-position: top center;         /* alinha a imagem no topo e centraliza horizontalmente */
    background-size: auto;                   /* mantém tamanho original da imagem */
}
.footer-container {
    max-width: 1280px;
    width: calc(100% - 20px);
    height: 496px;
    margin: 0 auto;
    position: relative;
}
.footer-direitos {
    width: 100%;
    height: 48px;
    position: absolute;
        top: 350px;
        left: 0px;
}
.footer-direitos p{
    font-family: "OpenSans-Light";
    font-size: 16px;
    color: #333;
    text-align: center;
    padding-top: 3px;
}
.footer-olhar_criativo {
    width: 81px;
    height: 65px;
    position: absolute;
    top: 406px;

    left: 50%;
    transform: translateX(-50%);
}
.footer-menu {
    display: none;
}
.footer-separador {
    display: none;
}
.footer-logotipo {
    width: 285px;
    height: 68px;
    position: absolute;
    top: 20px;

    left: 50%;
    transform: translateX(-50%);
}

.footer-contatos {
    width: 300px;
    height: 150px;
    position: absolute;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    /* opcional: para garantir que as linhas fiquem empilhadas e centralizadas */
    display: flex;
    flex-direction: column;
    justify-content: center; /* centra verticalmente o conjunto dentro do container */
    gap: 6px;
}

.footer-contatos p {
    display: flex;
    align-items: center;    /* alinha ícone e texto verticalmente */
    justify-content: center;/* centra ícone+texto horizontalmente na linha */
    gap: 8px;

    font-family: "OpenSans-Light";
    font-size: 16px;
    color: #fff;
    margin: 0;              /* remover margens padrão de <p> */
    padding: 0;
}

.footer-endereco {
    width: 300px;
    height: 150px;
    position: absolute;
    top: 270px;

    left: 50%;
    transform: translateX(-50%);
}
.footer-endereco p{
    font-family: "OpenSans-Light";
    font-size: 16px;
    color: #fff;
    text-align: center;
    padding-top: 0px;
}

}