*{
    margin: 0;
    box-sizing: border-box;
    padding: 0;
    outline: none;
    font-family: Arial, Helvetica, sans-serif;
}

.nav-bar{
    top: 0;
    left: 0;
    width: 100%;
    background-color: black;
    max-height: 100%;
    display: flex;
    justify-content: space-between;
    padding: 10px;
    align-items: center;
    z-index: 100;
}

.btn-contato{
    background-color: #DFA50E;
    height: 36px;
    width: 150px;
    border-radius: 34px;
    font-size: 10px;
    font-weight: bold;
    border: none;
    cursor: pointer;

}

.btn-contato a{
    text-decoration: none;
    color: #000;
}
.btn-contato a:hover{
    color: white;
    transition: color 0.3s ease; 
}



.bg-navbar-itens {

    border-radius: 50px;       
    background-color: #DFA50E;
    /* display: flex; */
    height: 36px;  
    width: 760px;
    align-items: center;
    justify-content: center;
    
}


.bg-navbar-itens ul{
    list-style: none;
    padding: 0;
    margin: 0;
    text-decoration: none;
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    width: 100%;
    height: 100%;
}

.bg-navbar-itens ul li a {
  text-decoration: none;     
  color: #3D2B1F;            
  font-weight: bold;
  font-size: 10px;           
  display: flex;
  text-transform: uppercase; 
  align-items: center;
  height: 100%;
  padding: 0px 10px;
  transition: color 0.3s ease; 
}

.bg-navbar-itens ul li a:hover {
 background-color: #dab03f; 
 color: white; 
 border-radius: 30px; 
 transition: background-color 0.3s ease, color 0.3s ease
}

.menu-toggle,
.nav-menu {
    display: none;
}


.section-home {
    padding: 140px 20px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 20px;
    background: linear-gradient(to right, #DFA50E, rgb(211, 181, 33));


    overflow: hidden;
    position: relative;
}

.home-left {
    flex: 1; 
    max-width: 550px; 
    color: #000; 
}

.home-left h1 {
    font-size: 3.50rem; 
    font-weight: bold;
    margin-bottom: 20px;
}

.home-left p {
    font-size: 2rem; 
    font-weight: normal;
    line-height: 1.6;
    margin-bottom: 50px;
    color: #fff; 
}

.btn-page{
    border-radius: 14px;
    border: none;
    outline: none;
}
.btn-page a{
    background-color: #000;
    color: #fff;
    border: none;
    padding: 15px 30px;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    border-radius: 14px;
    transition: background-color 0.3s ease;
    text-decoration: none;
}
.btn-page a:hover {
    color:#DFA50E ;
    background-color: #fff;
    border-radius: 14px;
}


.home-right {
  position: relative; /* IMPORTANTE! */
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 2rem;
  width: 50%;
  max-width: 600px;
 
}

.home-right img {
  max-width: 75%;
  height: auto;
  position: relative; /* necessário pra ficar acima do gradiente */
  z-index: 2;
}


.mockup-pc{
    box-shadow: #000;
    padding-bottom: 50px;
    
}

.mockup-cel{
    padding-top: 25px;
    box-shadow: #000;
}


.circle-gradient {
  position: absolute;
  z-index: 1;
  width: 680px;
  height: 680px;
  border-radius: 50%;

  background: radial-gradient(circle, #FFD866 84%, #DFA50E 100%);
  filter: blur(40px);
  
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}


.section-service {
    width: 100%;
    background-color: #000;
    padding: 60px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;


}


.section-title {
    color: #fff;
    text-align: center;
    margin-bottom: 100px; 
    font-size: 3.5rem;
}


.cards-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 40px;
    width: 80%;
    height: 50%;
       
}

.card-site , .card-landing , .card-blog{
    color: #000;
    background-color: #FFF8E6;
   
    border-radius: 24px;
    display: flex;
    flex-direction: column;


    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    box-shadow: 0 4px 15px rgba(206, 191, 191, 0.473);


}

.card-site:hover, .card-landing:hover,.card-blog:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 30px #DFA50E; 
}

.card-site h3, .card-landing h3 , .card-blog h3{
    color: #fff;
    background-color: #DFA50E;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px 24px 0 0;
    padding: 8px;
    font-size: 1.8rem;
}

.card-site p, .card-landing p , .card-blog p{
    padding: 30px;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    
}

.card-icon {
    margin-bottom: 0;
    align-items: center;
}

.card-icon img {
   
    width: 110px;
    height: 110px;
    display: block; 
    margin: 150px auto 0; 
    transition: transform 0.3s ease-in-out;
}

.card-icon img:hover {
  
  transform: translateY(-10px) scale(1.1);
}

.card-icon-a {
    margin-bottom: 0;
    align-items: center;
}

.card-icon-a img {
   
    width: 110px;
    height: 110px;
    display: block; 
    margin: 150px auto 0; 
    transition: transform 0.3s ease-in-out;
}

.card-icon-a img:hover {
  
  transform: translateY(-10px) scale(1.1);
}


.section-projects{
    display: flex;
    flex-direction: column;
    background-color: #fff;   /*no caso é uma gradiente */
    align-items: center;
    gap: 60px;
    padding-bottom: 40px;

}

.projects-title{
    padding-top: 30px;
    text-align: center;
    font-size: 4.0rem;
    
}

.projects-title h4{
    color: #DFA50E;
    font-size: 2dvh;
    margin-top: 10px;
    font-weight: bold;
    text-align: center;

}

.projects-container{
    display: flex;           /* Ativa o alinhamento em linha */
    justify-content: center; /* Centraliza o conjunto de cards */
    flex-wrap: wrap;         /* PERMITE QUE OS CARDS QUEBREM A LINHA EM TELAS MENORES */
    gap: 50px;               /* Espaçamento ENTRE os cards */
    
    width: 100%; 
    max-width: 1300px;
}

.card-projects{
  
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 30%; 
    
}

.card-projects p{
  font-weight: bold;
  font-size: 1.5rem;
}

.projects-img{
    position: relative;
    border-radius: 34px; 
    overflow: hidden; 
    box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.671);
    height: 400px;
    width: 100%;
}

.project-info-overlay {
    /* Posicionamento */
    position: absolute; /* Posiciona sobre a imagem */
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;

    background-color: rgba(245, 180, 40, 0.95); 
    color: #333; 
    border-radius: 34px;

    
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 30px;
    text-align: left;

   transform: translateY(100%);
   transition: transform 0.4s ease-in-out;
}

.project-info-overlay h3 {
    font-size: 1.5rem; 
    margin-top: 20px;
    margin-bottom: 5px;
    color: #fff;
}

.project-info-overlay p {
    font-size: 1rem; 
    max-width: 350px; 
    color: #000;
}

.projects-img:hover .project-info-overlay {
    
    transform: translateY(0);
}


.projects-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease-in-out
}

.projects-img:hover img {
    transform: scale(1.05); /* Leve efeito de zoom */
}


.list-tecnologys {
  list-style: none; 
  padding: 0;       
  margin: 0;        
  display: flex;    
  gap: 31px;        
  justify-content: space-between;
}


.list-tecnologys li {
  background-color: black;
  color: white;
  border-radius: 20px;
  padding: 10px 20px;
  font-weight: bold;
  font-size: 1rem;
  transition: transform 0.4s ;

}

.list-tecnologys li:hover{
    color: #DFA50E;
    transform: scale(1.05);
}

.btn-project{
    background-color: #DFA50E;
    color: #fff;
    border-radius: 24px;
    padding: 11px 35px 11px 35px;
    font-weight: bold;
    font-size: 1rem;
    border: none;
    margin-top: 20px;
    text-decoration: none;
    display: flex;
    
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
}



.btn-project:hover{
    color: #000;
    transform: translateY(-3px);
    box-shadow: 0 7px 15px rgba(0, 0, 0, 0.3);
}

.btn-project:active {
    transform: translateY(0); /* Volta para a posição original */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Volta para a sombra original */
}

.section-about{
    display: flex;
    padding: 160px 20px;
    background: linear-gradient(to right, #f3b007, #f7d008);
    align-items: center;
    justify-content: space-around;
    gap: 60px;
    flex-wrap: wrap;

}

.about-img{
    width: 45%;
    padding-left: 40px;
    
}

.about-img img{
    display: flex;
    width: 80%;
    height: 80%;
    object-fit: cover;
    border-radius: 24px; 
    
}


.about-text {
    display: flex;
    flex: 1; 
    max-width:40%; 
    color: #000; 
    font-size: 2.25rem;
    gap: 1rem;
    flex-wrap: wrap;
    
}

.about-text p{
    color: #fff;
    font-size: 2rem;
}

.social-icons {
    display: flex;
    gap: 1rem; 
    justify-content: center; 
}

.social-icons a {
    display: inline-flex; 
    justify-content: center;
    align-items: center;
    width: 50px; 
    height: 50px;
    background-color: #000; 
    border-radius: 50%; 
    color: #f3b007; 
    font-size: 1.5rem; 
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease; 
}

.social-icons a:hover {
    background-color: #333; 
    color: #fff; 
}


.social-icons a i {
    font-size: inherit; 
}

span{
    font-weight: bold;
}


.section-contact{
    display: flex;
    padding: 180px 20px;
    width: 100%;
    align-items: center;
    justify-content: center;
   
}
.contact-form {
   
    max-width: 600px; 
    width: 100%;
    display: flex;
    flex-direction: column; 
}

.contact-form h4{
    color:#DFA50E;
    margin-bottom: 40px;
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
}

.form-group {
    margin-bottom: 15px; 
}

.contact-form label {
    display: block; /* Faz a label ocupar sua própria linha */
    margin-bottom: 8px;
    font-size: 1rem;
    font-weight: bold;
    color: #333; /* Uma cor escura para o texto */
    text-align: left;
}

.contact-form input[type="text"],
.contact-form input[type="email"],

.contact-form textarea {
    width: 100%;
    padding: 12px;
    background-color: transparent; /* Fundo transparente */
    border: 2px solid #DFA50E; /* Borda dourada */
    border-radius: 8px; /* Bordas levemente arredondadas */
    font-size: 1rem;
    color: #000000;
   

    
}




#submit_button{
    
    align-self: flex-end; 
    margin-top: 10px;
    padding: 12px 28px;
    background-color: #DFA50E;
    color: white;
    font-weight: bold;
    font-size: 0.9rem;
    border: none;
    border-radius: 25px; 
    cursor: pointer;
    transition: background-color 0.3s ease;
}


#submit_button:hover {
    background-color: #c8940c; 
}



.site-footer {
    background-color: #000000; 
    color: #a0a0a0; 
    padding: 60px 0 0 0; 
}


.footer-container {
    max-width: 1280px; 
    margin: 0 auto; 
    padding: 0 20px; 
    
    
    display: flex;
    justify-content: space-between; 
    flex-wrap: wrap; 
    gap: 40px;
}


.footer-column {
    flex: 1;
    
    min-width: 250px;
}




.footer-logo {
    max-width: 150px; 
    margin-bottom: 10px;
    margin-top: -15px;
}


.social-links a {
    color: #DFA50E; /* Ícones em branco */
    font-size: 1.8rem; /* Tamanho dos ícones */
    margin-right: 15px;
    text-decoration: none;
    transition: color 0.3s ease;
    padding-left: 20px;

}

.social-links a:hover {
    color: #fff; /* Ícones ficam dourados no hover */
}

/* Títulos das colunas (ex: "Navegação") */
.footer-column h4 {
    color: #ffffff; /* Títulos em branco */
    font-size: 1.2rem;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Lista de navegação */
.footer-column ul {
    list-style: none; 
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    margin-bottom: 10px;
}

.footer-column ul li a {
    color: #a0a0a0; /* Links em cinza claro */
    text-decoration: none;
    transition: color 0.3s ease, padding-left 0.3s ease;
}

.footer-column ul li a:hover {
    color: #DFA50E; /* Links ficam dourados no hover */
    padding-left: 5px; /* Efeito sutil de deslocamento */
}


.footer-bottom {
    text-align: center;
    padding: 25px 20px;
    margin-top: 50px;
    border-top: 1px solid #333; /* Linha sutil para separar */
}

.footer-bottom p {
    margin: 0;
    font-size: 0.9rem;
    color: #777;
}




/* RESPONSIVIDADE */

@media (max-width: 768px) {
    
    .bg-navbar-itens,
    .btn-contato {
        display: none;
    }

    /* Mostra e estiliza o ícone hamburger */
    .nav-menu {
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        width: 30px;
        height: 25px;
        cursor: pointer;
        order: -1; /* Joga o hamburger para a esquerda */
        transition: 0.5s
    }
    .bar {
        height: 3px;
        width: 100%;
        background-color: #DFA50E;
    }

    /* Estilo do menu dropdown quando ele aparecer */
    .bg-navbar-itens {
        display: flex;
        visibility: hidden;
        opacity: 1;
        transform: translateX(10px);
        transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s linear 0.4s;


        z-index: 99;
        position: absolute;
        top: 65px;         
        left: 10px;
        width: 20%;
        background-color: #000; 
        padding: 1rem 0;
        flex-direction: column;
        align-items: flex-start;
        border-radius: 0;
        height: auto;

    
       
    }
    .bg-navbar-itens ul {
        flex-direction: column;
       
    }
    .bg-navbar-itens li {
        margin: 1rem 0;
        text-align: center;
    }
    .bg-navbar-itens a {
        color: #DFA50E !important; /* <-- A COR AMARELA FORÇADA! O !important garante que esta regra vença qualquer outra. */
        font-size: 18px;           /* <-- Aumentei um pouco a fonte */
        font-weight: bold;
        text-decoration: none;
        padding: 15px; 

    }

    /* A MÁGICA: Mostra o menu quando o checkbox for clicado */
    .menu-toggle:checked ~ .bg-navbar-itens {
        display: flex;
        visibility: visible;
        opacity: 1;
        transform: translateX(-5px);
        transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s;
        pointer-events: auto;

    }
    
    
    
    /* HOME */
    .section-home {
        justify-content: space-around;
        padding: 140px 40px;
        text-align: center; /* Alinha o texto à esquerda */
        display: flex;
        flex-direction: column;
    }

    .home-left {
        flex: 1;
        max-width: 550px;
        margin-bottom: 0;
    }

    .home-left h1 {
        font-size: 2.5rem; /* Retorna ao tamanho de fonte original */
    }

    .home-left p {
        font-size: 1rem; /* Aumenta um pouco a fonte do parágrafo */
    }

    .home-right {
        width: 50%;
        max-width: 600px;
        align-items: flex-start;
        gap: 2rem;
    }

    /* Mostramos a imagem do PC no desktop */
    .mockup-pc {
       display: none;
    }

    .mockup-cel {
        max-width: 35%; /* Ajusta o tamanho do celular em relação ao PC */
        padding-top: 25px;
    }

    .circle-gradient {
        display: none;
    }
    
    
    
    /* services */
    .section-service {
    width: 100%;
    background-color: #000;
    padding: 60px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;


}


.section-title {
    color: #fff;
    text-align: center;
    margin-bottom: 100px; 
    font-size: 3.5rem;
}


.cards-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 40px;
    width: 80%;
    height: 50%;
       
}

.card-site , .card-landing , .card-blog{
    color: #000;
    background-color: #FFF8E6;
   
    border-radius: 24px;
    display: flex;
    flex-direction: column;


    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    box-shadow: 0 4px 15px rgba(206, 191, 191, 0.473);


}

.card-site:hover, .card-landing:hover,.card-blog:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 30px #DFA50E; 
}

.card-site h3, .card-landing h3 , .card-blog h3{
    color: #fff;
    background-color: #DFA50E;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px 24px 0 0;
    padding: 8px;
    font-size: 1.8rem;
}

.card-site p, .card-landing p , .card-blog p{
    padding: 30px;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
}

.card-icon {
    margin-bottom: 0;
    align-items: center;
}

.card-icon img {
   
    width: 100px;
    height: 100px;
    display: block; 
    margin: 100px auto 0; 
    transition: transform 0.3s ease-in-out;
}

.card-icon img:hover {
  
  transform: translateY(-10px) scale(1.1);
}


/* services */

.section-service {
        padding: 60px 20px;
    }

    /* --- Ajusta o título principal --- */
    .section-title {
        font-size: 2.5rem; /* Diminui a fonte do título */
        margin-bottom: 60px;
    }

    /* --- Empilha os cards --- */
    .cards-container {
        flex-direction: column; /* A MUDANÇA PRINCIPAL: de linha para coluna */
        align-items: center;    /* Centraliza os cards na vertical */
        width: 90%;             /* Ocupa 90% da tela para ter uma margem */
    }

    /* --- Ajusta o tamanho dos cards e fontes --- */
    .card-site, .card-landing, .card-blog {
        width: 100%;       /* Cada card ocupa 100% do container */
        max-width: 380px;  /* Limita a largura máxima dos cards */
    }

    .card-site h3, .card-landing h3, .card-blog h3 {
        font-size: 1.5rem; /* Diminui a fonte do título do card */
    }

    .card-site p, .card-landing p, .card-blog p {
        font-size: 1.1rem; /* Diminui a fonte do parágrafo */
        text-align: center;
        padding: 25px;
    }
    
    /* --- Ajusta o ícone --- */
    .card-icon img {
        width: 80px;
        height: 80px;
        margin: 20px auto 30px; /* Diminui a margem de cima do ícone */
    }





/* PROJETOS */

 .section-projects {
        padding: 60px 20px; /* Reduz o espaçamento geral */
        gap: 40px;
    }

    .projects-title {
        font-size: 2.5rem; /* Diminui a fonte do título principal */
    }

    .projects-title h4 {
        font-size: 1rem; /* Diminui a fonte do subtítulo */
    }

    /* --- Ajusta o container dos cards --- */
    .projects-container {
        /* A propriedade 'flex-wrap: wrap' que você já tem vai ajudar aqui! */
        /* Apenas ajustamos o espaçamento */
        gap: 50px; 
    }

    /* --- A MUDANÇA PRINCIPAL --- */
    /* Força os cards a ocuparem a largura total, criando a coluna única */
    .card-projects {
        width: 90%;       /* O card ocupa 90% da largura da tela */
        max-width: 400px; /* Limita a largura máxima para não ficar gigante em tablets */
    }

    /* --- Ajustes de texto dentro do card --- */
    .card-projects p {
        font-size: 1.2rem; /* Ajusta o título de cada projeto */
    }
    
    .project-info-overlay h3 {
        font-size: 1.2rem; /* Ajusta o título no overlay */
    }

    .project-info-overlay p {
        font-size: 0.9rem; /* Ajusta o parágrafo no overlay */
    }

    /* --- Ajusta a lista de tecnologias para quebrar a linha se necessário --- */
    .list-tecnologys {
        flex-wrap: wrap; /* Permite que os itens quebrem a linha */
        justify-content: center; /* Centraliza os itens quando quebram a linha */
        gap: 15px; /* Diminui o espaço entre as tecnologias */
    }


     .section-about {
        /* A mudança principal: empilha a imagem e o texto */
        flex-direction: column; 
        padding: 60px 20px; /* Reduz o espaçamento */
        gap: 30px; /* Reduz o espaço entre a imagem e o texto */
    }

    /* --- Ajusta a coluna da imagem --- */
    .about-img {
        width: 100%; /* Faz a div da imagem ocupar toda a largura */
        padding-left: 0; /* Remove o espaçamento da esquerda */
        display: flex; /* Adicionado para ajudar a centralizar a imagem */
        justify-content: center; /* Centraliza a imagem */
        order: -1; /* Opcional: Joga a imagem para cima do texto, como na foto */
    }

    .about-img img {
        width: 50%; /* Define um tamanho para a imagem */
        max-width: 200px; /* Limita o tamanho máximo da imagem */
        height: auto; /* Mantém a proporção */
    }

    /* --- Ajusta a coluna do texto --- */
    .about-text {
        max-width: 100%; /* Ocupa toda a largura disponível */
        font-size: 1.5rem; /* Diminui a fonte do título */
        text-align: justify; /* Centraliza todo o texto */
        gap: 20px; /* Ajusta o espaçamento interno */
        justify-content: center; /* Centraliza os ícones sociais */
    }

    .about-text p {
        font-size: 1.1rem; /* Diminui a fonte do parágrafo */
        color: #fff;
    }
    
    /* Os ícones sociais já se adaptam bem, mas podemos garantir o alinhamento */
    .social-icons {
        margin-top: 15px; /* Adiciona um espaço acima dos ícones */
    }


    .social-icons a i {
        font-size: inherit; 
    }

    span{
        font-weight: bold;
    }
}


/* footer */

 .footer-container {
        flex-direction: column; /* Faz as colunas ficarem uma sobre a outra */
        align-items: center;    /* Centraliza todo o conteúdo no meio */
        text-align: center;     /* Garante que o texto dentro das colunas também seja centralizado */
        gap: 30px;
    }

    /* --- Centraliza o logo e ajusta margens --- */
    .footer-logo {
        margin: -15px auto 20px auto; /* Centraliza o logo e ajusta espaçamento */
    }

    /* --- Diminui o tamanho e o espaçamento dos ícones sociais --- */
    .social-links a {
        font-size: 1.5rem;  /* Diminui o tamanho dos ícones */
        margin: 0 10px;   /* Ajusta o espaçamento entre eles */
        padding-left: 0;  /* Remove o padding extra */
    }

    /* --- Ajusta a lista de navegação --- */
    .footer-column ul {
        display: flex; /* Coloca os links de navegação lado a lado */
        flex-wrap: wrap; /* Permite que quebrem a linha se não couberem */
        justify-content: center; /* Centraliza a lista de links */
        gap: 15px 25px; /* Espaçamento vertical e horizontal entre os links */
    }

    /* Remove a margem de baixo do último item da lista */
    .footer-column ul li {
        margin-bottom: 0;
    }

    /* Remove o efeito de deslocamento no hover para mobile */
    .footer-column ul li a:hover {
        padding-left: 0;
    }

    /* Opcional: esconde o título "Navegação" no mobile para um look mais limpo */
    .footer-column h4 {
        display: none;
    }

    /* --- Ajusta o espaçamento da parte inferior --- */
    .footer-bottom {
        margin-top: 30px;
        padding-top: 20px;
    }

    .footer-bottom p {
        font-size: 0.8rem;
    }