/* Estilização Geral */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body, html {
    font-family: Arial, sans-serif;
    color: #fff;
    background: #000;
    overflow-x: hidden;
    height: 100%; /* Garante que a altura do corpo cubra toda a tela */
}

/* Imagem de fundo única, cobrindo header e banner */
body {
    background: url('/img/banner.jpg') no-repeat center center/cover;
    background-size: cover;
    background-position: center center;
    height: 100%; /* Garante que o corpo cubra a tela toda */
    position: relative; /* Necessário para posicionar a camada de sombreamento */
}

/* Overlay (camada de sombreado) sobre o fundo */
body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* Sombreamento escuro */
    z-index: 1; /* Fica abaixo do conteúdo, mas acima da imagem de fundo */
}

/* Barra de navegação */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 100px;
    position: relative;
    z-index: 2; /* Acima da camada de sombreado */
    background: transparent; /* Garantir que o fundo não seja colorido */
    height: 70px; /* Altura fixa para a barra de navegação */
}

/* Logo */
.logo img {
    width: 280px;
}

/* Botões de contato */
.contact-btn {
    text-decoration: none;
    color: #fff;
    background: linear-gradient(90deg, #0D0709, #D41B23);
    padding: 10px 20px;
    border-radius: 20px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.contact-btn:hover {
    transform: scale(1.1);
    opacity: 0.9;
}

/* Banner */
.banner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: calc(90vh - 70px); /* Altura do banner ajustada para preencher o restante da tela */
    position: relative;
    z-index: 2; /* Acima da camada de sombreado */
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.7); /* Sombra no texto */
}

/* Texto do banner */
.banner h1 {
    font-size: 3rem;
    font-weight: bold;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 20px;
    animation: fadeIn 1.5s ease-out;
    text-align: center;
}

.banner h1 span {
    color: #D41B23;
}

/* Botão CTA */
.cta-btn {
    text-decoration: none;
    font-size: 1.2rem;
    color: #fff;
    background: linear-gradient(90deg, #0D0709, #D41B23);
    padding: 15px 40px;
    border-radius: 50px;
    margin-top: 20px;
    transition: transform 0.3s ease, opacity 0.3s ease;
    animation: fadeIn 2s ease-out;
}

.cta-btn:hover {
    transform: scale(1.1);
    opacity: 0.9;
}

/* Animações */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsividade */
@media (max-width: 768px) {
    header {
        flex-direction: column;
        padding: 20px;
    }

    .banner h1 {
        font-size: 2rem;
    }

    .contact-btn, .cta-btn {
        padding: 10px 20px;
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    header {
        padding: 10px;
    }

    .banner h1 {
        font-size: 1.5rem;
    }

    .contact-btn, .cta-btn {
        padding: 8px 15px;
        font-size: 0.9rem;
    }
}


/* Seção Assistência */
.assistencia {
    padding: 50px 20px;
    text-align: center; /* Centraliza o conteúdo da seção */
    background-color: #000; /* Cor de fundo sutil para a seção */
    animation: fadeInUp 1.5s ease-out;
}

/* Título da Seção (com degradê) */
.assistencia h2 {
    font-size: 2.5rem;
    color: transparent; /* Para o degradê aparecer corretamente */
    background: linear-gradient(90deg, #0D0709, #D41B23); /* Degradê */
    -webkit-background-clip: text; /* Faz o degradê aparecer apenas no texto */
    background-clip: text; /* Compatível com navegadores modernos */
    margin-bottom: 40px;
}

/* Cards */
.cards {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
    flex-wrap: wrap; /* Responsividade para dispositivos menores */
}

.card {
    background-color: #000; /* Cor de fundo dos cards */
    border: 2px solid #D41B23; /* Bordas vermelhas */
    padding: 20px;
    width: 300px;
    border-radius: 10px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    animation: fadeInUp 1.5s ease-out;
}

.card:hover {
    transform: translateY(-10px); /* Efeito de elevação ao passar o mouse */
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.3); /* Sombra para efeito de destaque */
}

.card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 15px;
}

.card p {
    font-size: 1rem;
    color: #fff; /* Cor da descrição em branco */
}

/* Botão CTA abaixo dos cards */
.cta-btn {
    text-decoration: none;
    font-size: 1.2rem;
    color: #fff;
    background: linear-gradient(90deg, #0D0709, #D41B23); /* Degradê do botão */
    padding: 15px 40px;
    border-radius: 50px;
    margin-top: 20px;
    display: inline-block; /* Garante que o botão se comporte como um botão normal */
    animation: fadeInUp 2s ease-out;
}

.cta-btn:hover {
    transform: scale(1.1);
    opacity: 0.9;
}

/* Animação de entrada */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsividade */
@media (max-width: 768px) {
    .cards {
        flex-direction: column;
        align-items: center;
    }

    .card {
        width: 80%; /* Ajuste para a largura dos cards em telas menores */
        margin-bottom: 20px;
    }

    .cta-btn {
        padding: 12px 30px;
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .assistencia h2 {
        font-size: 2rem; /* Reduz o tamanho da fonte em dispositivos pequenos */
    }

    .card {
        width: 90%; /* Maior largura nos cards para telas pequenas */
    }

    .cta-btn {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
}

/* Seção Regiões Atendidas */
.regioes {
    background-color: #000; /* Fundo preto para a seção */
    padding: 50px 20px;
    text-align: center; /* Centraliza o conteúdo da seção */
    animation: fadeInUp 1.5s ease-out;
}

/* Título da Seção (com degradê) */
.regioes h2 {
    font-size: 2.5rem;
    color: transparent; /* Para o degradê aparecer corretamente */
    background: linear-gradient(90deg, #0D0709, #D41B23); /* Degradê */
    -webkit-background-clip: text; /* Faz o degradê aparecer apenas no texto */
    background-clip: text; /* Compatível com navegadores modernos */
    margin-bottom: 40px;
}

/* Lista de Cidades */
.cidade-lista {
    display: grid; /* Utiliza grid para alinhamento das cidades */
    grid-template-columns: repeat(5, 1fr); /* 5 colunas */
    gap: 20px; /* Espaço entre as colunas */
    justify-items: center; /* Centraliza as cidades nas colunas */
    margin-bottom: 40px;
}

/* Nome das Cidades */
.cidade-lista div {
    font-size: 1.2rem;
    color: #fff; /* Nome das cidades em branco */
    font-weight: bold;
    transition: transform 0.3s ease, color 0.3s ease;
}

.cidade-lista div:hover {
    transform: translateY(-5px); /* Efeito de elevação ao passar o mouse */
    color: #D41B23; /* Muda a cor para vermelho quando passa o mouse */
}

/* Satisfied Clients */
.satisfied-clients {
    font-size: 1.5rem;
    color: #D41B23;
    margin-top: 40px;
    font-weight: bold;
    text-transform: uppercase;
    animation: fadeInUp 2s ease-out;
}

/* Animação de entrada */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsividade */
@media (max-width: 768px) {
    .cidade-lista {
        grid-template-columns: repeat(3, 1fr); /* Ajuste para 3 colunas em telas menores */
    }

    .regioes h2 {
        font-size: 2rem; /* Reduz o tamanho da fonte em dispositivos pequenos */
    }

    .cidade-lista div {
        font-size: 1rem; /* Ajuste o tamanho da fonte das cidades */
    }

    .satisfied-clients {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    .cidade-lista {
        grid-template-columns: 1fr; /* Ajusta para 1 coluna em telas muito pequenas */
    }

    .regioes h2 {
        font-size: 1.5rem; /* Reduz ainda mais o tamanho da fonte */
    }

    .cidade-lista div {
        font-size: 0.9rem; /* Reduz o tamanho das cidades */
    }

    .satisfied-clients {
        font-size: 1rem;
    }
}

/* Seção Nossos Serviços */
.servicos {
    background-color: #000; /* Fundo preto */
    padding: 50px 20px; /* Espaçamento superior e inferior */
    text-align: center; /* Centraliza o conteúdo */
    animation: fadeInUp 1.5s ease-out; /* Animação de entrada */
}

/* Título da Seção (com degradê) */
.servicos h2 {
    font-size: 2.5rem;
    color: transparent; /* Para o degradê aparecer corretamente */
    background: linear-gradient(90deg, #0D0709, #D41B23); /* Degradê */
    -webkit-background-clip: text; /* Faz o degradê aparecer apenas no texto */
    background-clip: text; /* Compatível com navegadores modernos */
    margin-bottom: 40px; /* Espaçamento inferior */
}

/* Círculos dos Serviços */
.circles {
    display: flex; /* Alinha os círculos horizontalmente */
    justify-content: center; /* Centraliza os círculos */
    gap: 30px; /* Espaçamento entre os círculos */
    margin-bottom: 40px; /* Espaçamento inferior */
}

.circle {
    width: 150px; /* Largura dos círculos */
    height: 150px; /* Altura dos círculos */
    background-color: #fff; /* Fundo branco para os círculos */
    border-radius: 50%; /* Faz os círculos ficarem redondos */
    display: flex;
    align-items: center; /* Alinha o texto verticalmente */
    justify-content: center; /* Alinha o texto horizontalmente */
    border: 3px solid #D41B23; /* Borda vermelha */
    font-size: 0.7rem;
    color: #fff; /* Cor do texto no círculo */
    font-weight: bold;
    overflow: hidden; /* Garante que a imagem não ultrapasse o círculo */
    position: relative; /* Necessário para posicionar o texto sobre a imagem */
    background-size: cover; /* Faz a imagem cobrir todo o círculo */
    background-position: center; /* Centraliza a imagem */
    transition: transform 0.3s ease, background-color 0.3s ease; /* Efeito de hover */
}

.circle p {
    position: absolute; /* O texto fica sobre a imagem */
    bottom: 10px; /* Espaço da parte inferior */
    width: 100%; /* Garante que o texto ocupe toda a largura do círculo */
    text-align: center; /* Centraliza o texto */
    background: rgba(0, 0, 0, 0.5); /* Fundo semitransparente para contraste */
    color: #fff; /* Cor do texto */
    padding: 5px 0; /* Espaçamento do texto */
}

/* Efeito Hover nos círculos */
.circle:hover {
    transform: translateY(-5px); /* Elevação ao passar o mouse */
    background-color: #D41B23; /* Muda a cor do fundo para vermelho */
    color: #fff; /* Muda a cor do texto para branco */
}

/* Botão "Peça agora" */
.cta-btn {
    text-decoration: none;
    font-size: 1.2rem;
    color: #fff;
    background: linear-gradient(90deg, #0D0709, #D41B23);
    padding: 15px 40px;
    border-radius: 50px;
    margin-top: 30px; /* Espaço superior entre os círculos e o botão */
    transition: transform 0.3s ease, opacity 0.3s ease;
    animation: fadeInUp 2s ease-out; /* Animação de entrada */
}

.cta-btn:hover {
    transform: scale(1.1); /* Efeito de ampliação no hover */
    opacity: 0.9;
}

/* Animação de entrada */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsividade */
@media (max-width: 768px) {
    .servicos h2 {
        font-size: 2rem; /* Ajusta o tamanho da fonte para dispositivos menores */
    }

    .circle {
        width: 120px; /* Ajusta o tamanho dos círculos */
        height: 120px;
        font-size: 1rem; /* Ajusta o tamanho da fonte dentro dos círculos */
    }

    .circles {
        gap: 20px; /* Ajusta o espaço entre os círculos */
    }

    .cta-btn {
        padding: 10px 30px; /* Ajusta o tamanho do botão */
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .servicos h2 {
        font-size: 1.5rem; /* Ajusta o tamanho da fonte do título */
    }

    .circle {
        width: 100px; /* Ajusta o tamanho dos círculos para telas pequenas */
        height: 100px;
        font-size: 0.9rem; /* Ajusta o tamanho da fonte dentro dos círculos */
    }

    .cta-btn {
        padding: 8px 25px; /* Ajusta o tamanho do botão */
        font-size: 0.9rem;
    }
}

/* Estilos para o rodapé */
.footer {
    display: flex;
    justify-content: space-between; /* Alinha os itens na horizontal */
    align-items: center;
    background-color: #000; /* Fundo preto */
    padding: 20px 40px;
    color: #fff; /* Cor do texto */
    position: relative;
    z-index: 10; /* Garante que o rodapé não sobreponha outros elementos */
}


/* Parte esquerda do rodapé (logo + direitos autorais) */
.footer-left {
    display: flex;
    flex-direction: column; /* Coloca os itens um abaixo do outro */
    align-items: flex-start; /* Alinha à esquerda */
}

.footer-left .logo img {
    width: 280px; /* Ajusta o tamanho da logo */
    margin-bottom: 10px;
    color: #000;
    align-items: center;
}

.footer-left p {
    font-size: 0.9rem;
}

/* Parte direita do rodapé (redes sociais) */
.footer-right ul {
    display: flex;
    gap: 15px; /* Espaço entre os ícones */
    list-style: none; /* Remove os pontos de lista */
}

.footer-right ul li {
    display: inline-block; /* Para que os ícones fiquem lado a lado */
}

.footer-right ul li a {
    display: block;
    width: 40px; /* Tamanho dos ícones */
    height: 40px;
    background-color: #fff; /* Fundo branco para os ícones */
    border-radius: 50%; /* Ícones circulares */
    padding: 10px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.footer-right ul li a img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garante que os ícones fiquem bem ajustados */
    border-radius: 50%; /* Ícones circulares */
}

/* Efeito de hover para os ícones */
.footer-right ul li a:hover {
    transform: scale(1.1); /* Aumenta o ícone ao passar o mouse */
    opacity: 0.8;
}

/* Responsividade */
@media (max-width: 768px) {
    .footer {
        flex-direction: column; /* Coloca o conteúdo do rodapé em uma coluna */
        align-items: center;
    }

    .footer-left {
        align-items: center;
        text-align: center;
    }

    .footer-right ul {
        justify-content: center;
        gap: 10px;
        margin-top: 20px; /* Espaço entre os ícones e a parte inferior */
    }

    .footer-left p {
        font-size: 0.8rem;
    }
}

@media (max-width: 480px) {
    .footer-right ul {
        gap: 8px;
    }

    .footer-left p {
        font-size: 0.75rem;
    }
}

/* Estilos para os números de contato */
.contact-numbers {
    margin-top: 10px; /* Espaço entre a logo e os números */
}

.contact-numbers a {
    color: #fff; /* Cor dos números */
    text-decoration: none; /* Remove sublinhado */
    font-size: 1rem; /* Tamanho da fonte */
    display: block; /* Coloca os números em linhas separadas */
}

.contact-numbers a:hover {
    text-decoration: underline; /* Sublinha ao passar o mouse */
    color: #007BFF; /* Cor azul para destaque */
}

/* Ajuste para responsividade */
@media (max-width: 768px) {
    .contact-numbers a {
        font-size: 0.9rem; /* Reduz o tamanho da fonte em telas menores */
    }
}
