/* Reset geral para todos os elementos da página */
*{
    margin: 0; /* Remove margens padrão dos navegadores */
    padding: 0; /* Remove preenchimento interno padrão */
    box-sizing: border-box; /* Inclui padding e border no cálculo do tamanho total do elemento */
    
}

/* Estilização global do corpo da página */
body {
    font-family: 'Roboto', sans-serif; /* Define a fonte principal do site */
    overflow-x: hidden; /* Impede a rolagem horizontal */
    background-color: #000000; /* Cor de fundo preta */
    color: #f1f1f1; /* Cor padrão do texto */ 
    margin: 0; 
    opacity: 0;
    transition: opacity 1s ease-in-out, visibility 0s linear 1s;
}


body.loaded {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

html{
    scroll-behavior: smooth; /* Faz a rolagem da página ser suave ao clicar em âncoras */
}

/* Tela de introdução (sem JavaScript) */
.intro {
    position: fixed; /* FIXO na tela, cobre tudo */
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: blurIn 3s ease forwards, fadeOut 1.5s ease forwards;
    animation-delay: 0s, 3s;
    z-index: 9999;
    overflow: hidden;
}

.intro-logo {
    width: 500px;
    height: auto;
    animation: blurIn 1s ease;
}

@keyframes zoomIn {
    0% {
        transform: scale(0.7);
        opacity: 0;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1;
        height: 100vh;
        pointer-events: auto;
        visibility: visible;
    }
    90% {
        opacity: 1;
        height: 100vh;
        pointer-events: auto;
    }
    100% {
        opacity: 0;
        height: 0;
        pointer-events: none;
        visibility: hidden;
        display: none;
    }
}

@keyframes navShowUp {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes blurIn {
  0% {
    filter: blur(10px);
    opacity: 0;
    transform: scale(1.2);
  }
  100% {
    filter: blur(0px);
    opacity: 1;
    transform: scale(1);
  }
}




/* ======================== INÍCIO HEADER ======================== */
.nav {
    background-color: #181818; /* Cor de fundo do menu */
    height: 80px; /* Altura fixa do menu */
    width: 100%; /* Ocupa toda a largura da tela */
    display: flex; /* Ativa o flexbox */
    justify-content: flex-end; /* Alinha os itens no canto direito */
    position: sticky; /* Fixa no topo da tela quando rola */
    top: 0; /* Colado no topo */
    z-index: 9; /* Fica acima de outros elementos */
    animation: navShowUp 2s ease-in-out forwards;
    animation-delay: 2s;
    opacity: 0;
}

.nav-list {
    display: flex; /* Exibe os itens em linha */
    align-items: center; /* Centraliza verticalmente os itens */
    list-style: none; /* Remove os marcadores da lista */
    margin-right: 25px; /* Espaço à direita da lista */
}

.nav-list a {
    color: #ccc; /* Cor clara para os links */
    font-weight: bold; /* Deixa o texto em negrito */
    font-size: 16px; /* Define o tamanho do texto */
    transition: color 0.3s; /* Transição suave ao trocar cor */
    text-decoration: none; /* Remove o sublinhado */
    padding: 20px; /* Espaçamento interno */
   
}

.nav-list a:hover{
    color: #1e96fc; /* Cor azul quando passa o mouse */
}
/* ======================== FIM HEADER ======================== */


/* ======================== INÍCIO MAIN ======================== */
.main{
    position: relative; /* Para posicionar elementos filhos de forma absoluta */
    width: 100%; /* Ocupa toda a largura */
    height: calc(100vh - 80px);  /* Ocupa a altura da tela menos o menu */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), #000 90%), 
    url("images/Tipos-de-rolamentos.png");  /* Degradê com imagem */
    background-size: cover;  /* A imagem cobre toda a área */
    background-repeat: no-repeat;  /* Não repete a imagem */
    background-position: center;  /* Centraliza a imagem */
    display: flex; /* Usa flexbox */
    align-items: center; /* Alinha verticalmente ao centro */
    padding-left: 10%; /* Espaço à esquerda do conteúdo */
    padding-top: 80px; /* altura do .nav */
}


.degrade {
    position: absolute; /* Posiciona sobre o .main */
    top: 0; /* Começa no topo */
    left: 0; /* Começa do lado esquerdo */
    width: 100%; /* Ocupa toda a largura */
    height: 100%; /* Ocupa toda a altura */
    background: linear-gradient(135deg, rgba(0, 0, 0, 20), rgba(0, 0, 0, 0) 100%); /* Degradê escuro para transparência */
    z-index: 1; /* Fica atrás do conteúdo */
}

.conteudo {
    position: relative; /* Para ficar acima do degradê */
    z-index: 2; /* Garante que fique acima do degradê */
    color: white; /* Cor branca para os textos */
}


.main h1{
    color: #FFFFFF; /* Cor do título */
    font-size: 60px; /* Tamanho grande para destaque */
    font-weight: 800; /* Peso da fonte bem forte */
    line-height: 1.2; /* Espaçamento entre as linhas */
}

.main p {
    font-size: 24px; /* Tamanho do texto menor que o h1 */
    font-style: italic; /* Estilo itálico */
    color: #1e96fc; /* Cor azul clara */
    margin-top: 10px; /* Espaço acima */
    margin-bottom: 35px; /* Espaço abaixo */
}

.call-to-action {
    cursor: pointer; /* Muda o cursor para mãozinha */
    display: inline-block; /* Permite definir largura/altura */
    background-color: #FFFFFF; /* Fundo branco */
    padding: 14px 20px; /* Espaçamento interno vertical e horizontal */
    border-radius: 8px; /* Cantos arredondados */
    font-size: 18px; /* Tamanho da fonte */
    font-weight: bold; /* Fonte em negrito */
    color: #181818; /* Cor do texto */
    text-decoration: none; /* Remove sublinhado */
    transition: 0.3s ease; /* Suaviza transições */
}

.call-to-action:hover {
    background-color: #e6e6e6; /* Altera a cor de fundo no hover */
    transform: scale(1.05); /* Leve aumento de escala no hover */
}

.call-to-action:focus {
    outline: 2px solid #1e96fc; /* Borda de foco azul */
    outline-offset: 2px; /* Distância da borda para o botão */
}

.main a {
    text-decoration: none; /* Remove sublinhado dos links */
    color: #181818; /* Cor escura para os links */
}
/* ======================== FIM MAIN ======================== */


/* ======================== INÍCIO ABOUT ======================== */
.about {
    background-color: transparent; /* Fundo transparente para essa seção */
    width: 100%; /* Ocupa toda a largura disponível */
    padding-left: 10%; /* Espaçamento interno à esquerda */
    padding-right: 10%; /* Espaçamento interno à direita */
    padding-top: 80px; /* Espaçamento interno no topo */
    padding-bottom: 80px; /* Espaçamento interno embaixo */
    display: flex; /* Usa flexbox para organizar o conteúdo */
    align-items: center; /* Alinha verticalmente os itens ao centro */
    justify-content: space-between; /* Espaço máximo entre os itens (lado a lado) */
}

.about div {
    max-width: 50%; /* Limita a largura máxima da div para metade da área */
    padding-right: 40px; /* Espaço à direita para separar do outro conteúdo */
}

.about p {
    font-size: 18px; /* Tamanho do texto */
    line-height: 1.8; /* Espaçamento entre linhas para facilitar leitura */
    font-weight: 400; /* Peso normal da fonte */
    color: #dddddd; /* Cor cinza clara para o texto */
}

.about img {
    max-width: 450px; /* Limita a largura máxima da imagem */
    border-radius: 8px; /* Cantos arredondados na imagem */
}

.about div h2 {
    font-size: 32px; /* Tamanho do título da seção */
    margin-bottom: 14px; /* Espaço abaixo do título */
}
/* ======================== FIM ABOUT ======================== */


/* ======================== INÍCIO PROJECT ======================== */
.projects {
    width: 100%; /* Ocupa toda a largura da tela */
    text-align: center; /* Centraliza o texto dentro da seção */
    padding: 60px 0; /* Espaçamento vertical: 60px em cima e embaixo */
}

.projects h2 {
    font-size: 32px; /* Tamanho grande para o título da seção */
    margin-bottom: 8px; /* Espaço abaixo do título */
    margin-top: 20px; /* Espaço acima do título */
}

.projects p {
    margin-bottom: 40px; /* Espaço abaixo do parágrafo */
    font-style: italic; /* Texto em itálico para destaque */
}

.project-list {
    width: 100%; /* Ocupa toda a largura disponível */
    margin-bottom: 8px; /* Espaço abaixo da lista de projetos */
    display: flex; /* Usa flexbox para organizar os itens */
    gap: 20px; /* Espaçamento entre os itens */
    flex-wrap: wrap; /* Permite que os itens quebrem para outra linha */
    justify-content: space-around; /* Centraliza os itens horizontalmente */
    align-items: center; /* Alinha os itens verticalmente ao centro */
}

.img-container {
    width: 300px; /* Largura fixa do container da imagem */
    height: 250px; /* Altura fixa do container da imagem */
    border-radius: 20px; /* Cantos arredondados */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); /* Sombra suave ao redor */
    position: relative; /* Para posicionar elementos filhos dentro dele */
    overflow: hidden; /* Esconde qualquer conteúdo que ultrapasse o container */
    display: flex; /* Usa flexbox para alinhar a imagem */
    justify-content: center; /* Centraliza horizontalmente a imagem */
    align-items: center; /* Centraliza verticalmente a imagem */
    background-color: #f1f1f1; /* Fundo cinza claro para o container */
    aspect-ratio: 4 / 3; /* Mantém proporção 4:3 para o container */
}

.projeto-img {
    cursor: pointer; /* Cursor muda para mãozinha indicando clicável */
    width: 100%; /* A imagem ocupa toda a largura do container */
    height: 100%; /* A imagem ocupa toda a altura do container */
    margin-left: 0.5%; /* Pequeno espaçamento à esquerda */
    margin-right: 0.5%; /* Pequeno espaçamento à direita */
    opacity: 0.8; /* Transparência leve para a imagem */
    transition: 0.9s; /* Transição suave para efeitos */
    object-fit: cover; /* A imagem cobre todo o espaço sem distorcer */
    display: flex; /* Exibe como flexível, pode ser redundante aqui */
}

.projects img:hover {
    opacity: 1; /* Imagem fica totalmente opaca quando passa o mouse */
}

.img-container .item-name {
    position: absolute; /* Posiciona em relação ao container */
    bottom: 0; /* Na parte inferior */
    left: 0; /* Alinhado à esquerda */
    width: 100%; /* Ocupa toda a largura do container */
    padding: 5px; /* Espaço interno para o texto */
    background: rgba(0, 0, 0, 1.0); /* Fundo preto opaco */
    color: white; /* Texto branco */
    font-size: 18px; /* Tamanho da fonte */
    text-align: center; /* Centraliza o texto */
    opacity: 0; /* Inicialmente invisível */
    transition: 0.3s; /* Transição suave para aparecer */
    pointer-events: none; /* Não atrapalha cliques quando invisível */
}

.img-container:hover img {
    transform: translateY(-32px); /* Move a imagem para cima ao passar mouse */
}

.img-container:hover .item-name {
    opacity: 1; /* Torna o nome visível ao passar mouse */
}

.whatsapp-button {
    display: inline-flex; /* Exibe flexível na linha */
    align-items: center; /* Centraliza itens verticalmente */
    background-color: #25D366; /* Cor verde do WhatsApp */
    padding: 12px 20px; /* Espaçamento interno vertical e horizontal */
    border-radius: 8px; /* Cantos arredondados */
    color: white; /* Cor do texto */
    text-decoration: none; /* Remove sublinhado */
    font-weight: bold; /* Texto em negrito */
    gap: 10px; /* Espaço entre texto e ícone */
    transition: background 0.3s; /* Transição suave na cor do fundo */
}

.whatsapp-button:hover {
    background-color: #20b653; /* Verde mais escuro no hover */
}

.whatsapp-img {
    width: 20px; /* Largura do ícone */
    height: 20px; /* Altura do ícone */
    transition: transform 0.5s ease; /* Suaviza transformações no ícone */
}
/* ======================== FIM PROJECT ======================== */


/* ======================== INÍCIO RODAPÉ ======================== */
.footer {
    background-color: #0d0d0d; /* Fundo escuro do rodapé */
    color: #ccc; /* Cor clara do texto */
    padding: 60px 20px 20px 20px; /* Espaçamento: 60px em cima, 20px nas laterais e embaixo */
    font-size: 16px; /* Tamanho da fonte */
}

.footer-container {
    max-width: 1200px; /* Largura máxima para limitar o conteúdo */
    margin: 0 auto; /* Centraliza horizontalmente */
    display: flex; /* Usa flexbox para organizar colunas */
    flex-wrap: nowrap; /* Não permite quebra de linha (colunas em uma linha só) */
    justify-content: space-between; /* Espaça as colunas igualmente */
    align-items: flex-start; /* Alinha topo das colunas */
    gap: 40px; /* Espaçamento entre as colunas */
    padding: 20px 0; /* Espaçamento vertical dentro do container */
}

.footer-column {
    flex: 1 1 0; /* Flex-grow e flex-shrink iguais, com base zero */
    min-width: 200px; /* Evita que a coluna fique muito pequena */
}

.footer-column h3,
.footer-column h4 {
    color: #1e96fc; /* Títulos em azul */
    margin-bottom: 12px; /* Espaço abaixo dos títulos */
}

.footer-column p,
.footer-column a {
    color: #ccc; /* Texto claro */
    margin-bottom: 8px; /* Espaço abaixo dos parágrafos e links */
    text-decoration: none; /* Remove sublinhado dos links */
    font-size: 15px; /* Tamanho um pouco menor que o padrão */
}

.footer-column a:hover {
    color: #fff; /* Cor branca ao passar o mouse nos links */
    transition: 0.3s; /* Transição suave */
}

.footer-column ul {
    list-style: none; /* Remove marcadores das listas */
    padding: 0; /* Remove padding das listas */
}

.footer-bottom {
    border-top: 1px solid #333; /* Linha separadora acima */
    padding: 20px 0; /* Espaçamento vertical */
    text-align: center; /* Centraliza o texto */
    font-size: 14px; /* Fonte menor para o rodapé inferior */
    color: #777; /* Cor cinza clara */
    width: 100%; /* Ocupa toda largura */
}

.footer-img {
    width: 80px; /* Largura da imagem (logo) */
    height: auto; /* Altura automática para manter proporção */
    margin-right: 20px; /* Espaço à direita da imagem */
    flex-shrink: 0; /* Impede que a imagem encolha */
}

.footer-logo {
    flex: 0 0 auto; /* Tamanho fixo da logo, não cresce nem encolhe */
}
/* ======================== FIM RODAPÉ ======================== */


/* ======================== INÍCIO RESPONSIVIDADE ======================== */
@media (max-width: 1050px) {
  /* Estilos aplicados para telas com largura até 1050px */

  /* Ajuste do título principal na main */
  .main h1 {
    font-size: 45px; /* Diminui o tamanho da fonte para melhor visualização em telas menores */
  }

  /* Ajuste do parágrafo na main */
  .main p {
    font-size: 18px; /* Reduz tamanho da fonte para o parágrafo */
  }

  /* Ajusta background para melhor apresentação */
  .main {
    background-size: cover; /* Mantém a imagem de fundo cobrindo toda área */
  }

  /* ======================== SOBRE RESPONSIVO ======================== */

  .about {
    flex-direction: column; /* Alinha os elementos da seção sobre em coluna, um embaixo do outro */
    padding-top: 80px; /* Mantém espaçamento superior */
    padding-left: 0; /* Remove espaçamento lateral */
    padding-right: 0; /* Remove espaçamento lateral */
    padding-bottom: 0; /* Remove espaçamento inferior */
  }

  .about div {
    max-width: 80%; /* Aumenta largura máxima para caber melhor em telas menores */
  }

  .about div h2 {
    font-size: 45px; /* Aumenta o tamanho do título para manter destaque */
  }

  .about img {
    width: 80%; /* Aumenta largura da imagem para ocupar mais espaço horizontal */
    margin-top: 5%; /* Espaço acima da imagem */
  }

  /* ======================== PROJETOS RESPONSIVO ======================== */

  .img-container {
    width: 28%; /* Diminui a largura das imagens para caber mais em linha */
    height: auto; /* Ajusta altura automaticamente */
    aspect-ratio: 4 / 3; /* Mantém proporção das imagens */
  }

  /* ======================== BUTTON WHATSAPP RESPONSIVO ======================== */

  .whatsapp-img {
    width: 20px; /* Mantém tamanho do ícone */
    height: 20px; /* Mantém tamanho do ícone */
  }

  /* ======================== RODAPÉ RESPONSIVO ======================== */

  .footer-container {
    flex-wrap: wrap; /* Permite quebra de linha nas colunas do rodapé */
    justify-content: center; /* Centraliza as colunas */
    gap: 20px; /* Espaço entre as colunas */
  }

  .footer-column,
  .footer-logo {
    flex: 1 1 100%; /* Colunas ocupam toda a largura da tela */
    text-align: center; /* Centraliza texto das colunas */
  }

  .footer-img {
    margin: 0 auto 10px; /* Centraliza imagem e adiciona margem inferior */
  }
}
/* ======================== FIM RESPONSIVIDADE ======================== */


