/* Estilos básicos */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Aplicando a fonte Afacad Flux */
body, .navbar {
    font-family: 'Michroma', sans-serif;
}

/* Estilos da navbar */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    background-color: white; /* Fundo branco */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Sombra leve para separação do conteúdo */
    height: 60px; /* Define a altura da navbar */
}

.navbar .logo {
    color: black; /* Texto preto */
    font-size: 24px;
}

.nav-links {
    list-style: none;
    display: flex;
}

.nav-links li {
    margin-left: 20px;
}

.nav-links li a {
    color: black; /* Links pretos */
    text-decoration: none;
    font-size: 18px;
    padding: 8px 15px;
}

.nav-links li a:hover {
    background-color: #f0f0f0; /* Fundo cinza claro ao passar o mouse */
    border-radius: 4px;
}

/* Estilos do ícone hamburger (para mobile) */
.hamburger {
    display: none;
    font-size: 30px;
    color: black;
    cursor: pointer;
}



/* Background padrão para dispositivos grandes (ex: desktops) */
.background-section {
    height: 100vh; /* Ocupa toda a altura da tela */
    color: white;
    text-align: center;
    font-size: 2rem;
    background-image: url('../img/background.jpg'); /* Imagem para desktop */
    background-size: cover;
    background-attachment: fixed; 
    background-repeat: no-repeat;
    padding-top: 80px; /* Espaço para evitar que o conteúdo fique atrás da navbar */
}

.labeltitle {
      display: block;
    text-align: center;
    font-size: 35px;
    background-color: rgba(255, 255, 255, 0.5);
    color: black;
     font-family: 'Afacad Flux', sans-serif;
    width:100%;
 margin-top:20px;
    border-radius: 5px;


}

#lbmovel{
     display: block;
    text-align: center;
    font-size: 35px;
    background-color: rgba(255, 255, 255, 0.5);
    color: black;
     font-family: 'Afacad Flux', sans-serif;
    width:100%;
    
    border-radius: 5px;
  
}
#lbfixo{
     display: block;
    text-align: center;
    font-size: 35px;
    background-color: rgba(255, 255, 255, 0.5);
    color: black;
     font-family: 'Afacad Flux', sans-serif;
    width:100%;

    border-radius: 5px;
  
    
}
#divquemsomos {
    display: block;
    text-align: center;
    font-size: 20px;
    background-color: white;
    color: black;
    width:100%;
    padding: 10px 20px;
    border-radius: 5px;
    margin-top: 20px; /* Adiciona espaçamento abaixo da navbar */
    font-family: 'Afacad Flux', sans-serif;
  
}
#divgaleria {
    display: block;
    text-align: center;
    font-size: 20px;
    background-color: white;
    color: black;
    width:100%;
    padding: 10px 20px;
    border-radius: 5px;
    margin-top: 20px; /* Adiciona espaçamento abaixo da navbar */
    font-family: 'Afacad Flux', sans-serif;
  
}

#divcontactos {
    display: block;
    text-align: center;
    font-size: 20px;
    background-color: white;
    color: black;
    width:100%;
    padding: 10px 20px;
    border-radius: 5px;
    margin-top: 20px; /* Adiciona espaçamento abaixo da navbar */
    font-family: 'Afacad Flux', sans-serif;
  
}
   #more { display: none; }


    #myBtn {
        background-color: white; /* Cor de fundo branca */
        color: black; /* Cor do texto preta */
        border: 1px solid black; /* Borda preta fina */
        padding: 5px 20px 5px 20px; /* Espaçamento interno (padding) */
        border-radius: 15px; /* Cantos curvos */
        cursor: pointer; /* Mostra o cursor de "mão" quando sobre o botão */
        font-size: 16px; /* Tamanho da fonte */
         font-family: 'Afacad Flux';
    }

    #myBtn:hover {
        background-color: #f1f1f1; /* Cor de fundo mais clara quando o botão é clicado */
    }
    
    #myBtnVerImagens{
        margin-top:10px;
        background-color: white; /* Cor de fundo branca */
        color: black; /* Cor do texto preta */
        border: 1px solid black; /* Borda preta fina */
        padding: 10px 20px 10px 20px; /* Espaçamento interno (padding) */
        border-radius: 15px; /* Cantos curvos */
        cursor: pointer; /* Mostra o cursor de "mão" quando sobre o botão */
        font-size: 16px; /* Tamanho da fonte */
        font-family: 'Afacad Flux'
    }

    #myBtnVerImagens:hover {
        background-color: #f1f1f1; /* Cor de fundo mais clara quando o botão é clicado */
    }

#btnsubmit {
        background-color: white; /* Cor de fundo branca */
        color: black; /* Cor do texto preta */
        border: 1px solid black; /* Borda preta fina */
        padding: 10px 20px 10px 20px; /* Espaçamento interno (padding) */
        border-radius: 15px; /* Cantos curvos */
        cursor: pointer; /* Mostra o cursor de "mão" quando sobre o botão */
        font-size: 16px; /* Tamanho da fonte */
        font-family: 'Afacad Flux'
}

#btnsubmit:hover {
        background-color: #f1f1f1; /* Cor de fundo mais clara quando o botão é clicado */
}    

    
.contact-section {
    background-color: #f5f5f5;
    padding: 40px;
}

.contact-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.contact-info, .contact-form {
    flex: 1;
    min-width: 300px;
    margin: 10px;
}

/* Estilização do formulário */
.contact-form form {
    display: flex;
    flex-direction: column;
}

.form-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 15px;
}

.form-group {
    flex: 1;
    margin-right: 10px;
}

.form-group.full-width {
    flex: 100%;
    margin-right: 0;
}

.contact-form label {
    display: block;
    font-size: 16px;
    margin-bottom: 5px;
}

.contact-form input, .contact-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.contact-form textarea {
    resize: vertical;
}

.contact-form button {
    background-color: #007bff;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    margin-top: 10px;
}

.contact-form button:hover {
    background-color: #0056b3;
}


ul {
    list-style-type: none; /* Remove os marcadores (bolas pretas) */
    padding-left: 0; /* Remove o espaçamento à esquerda */
    margin-left: 0;
}

li {
    margin-bottom: 10px; /* Adiciona espaçamento entre os itens da lista */
}

/* Remove qualquer ::marker que possa estar definido */
ul::marker, ol::marker {
    display: none;
} 


#lbloading {
    animation: blink 3s infinite;
}

@keyframes blink {
    50% { opacity: 0; }
}

.solutions-container {
    display: flex;
    flex-wrap: wrap; /* Permite que as soluções se movam para a próxima linha em telas menores */
    justify-content: center; /* Centraliza os itens */
    padding: 10px; /* Reduz o padding geral */
    gap: 10px; /* Reduz o espaço entre os itens */
}

.solution {
    background-color: white;
    color:black;
    flex: 1 1 30%; /* Cada solução ocupa pelo menos 30% do espaço em telas maiores */
    max-width: 300px; /* Limita a largura máxima */
    margin: 10px; /* Espaçamento entre as soluções */
    text-align: center; /* Centraliza o texto */
    border: 1px solid #ccc; /* Adiciona uma borda */
    border-radius: 8px; /* Bordas arredondadas */
    padding: 15px; /* Espaçamento interno */
    box-shadow: 2px 2px 10px rgba(0,0,0,0.1); /* Sombra sutil */
    transition: transform 0.2s; /* Efeito de transição ao passar o mouse */
}
.solution p{
 font-size: 20px;  
  font-family: 'Afacad Flux'
}
.solution img {
    max-width: 100%; /* A imagem ocupa a largura máxima do contêiner */
    height: auto; /* Mantém a proporção da imagem */
    border-radius: 5px; /* Bordas arredondadas para a imagem */
}

.solution h3 {
    padding:10px;
   font-size:30px;
       color:black;
        font-family: 'Afacad Flux'
}

.solution:hover {
    transform: scale(1.05); /* Aumenta a solução ao passar o mouse */
}

.image-container {
    display: inline-block;
    width: 300px; /* largura fixa igual à largura da imagem */
    margin: 10px;
    vertical-align: top;
}

.gallery-image {
    height: 300px; /* altura fixa */
    width: 300px;  /* largura fixa */
    margin-top: 20px;
    padding: 5px;
}

.description {
    font-size: 14px;
    color: #333;
    text-align: center;
    margin: 5px 0;
    max-width: 300px; /* Limita a largura da descrição */
    word-wrap: break-word; /* Evita que palavras longas quebrem o layout */
}

/* Responsividade */
@media (max-width: 1024px) {
    .background-section {
        background-image: url('../img/background.jpg'); /* Imagem para tablets */
    }
}

/* Para telemóveis ou dispositivos com largura até 768px */
@media (max-width: 768px) {
    .background-section {
          
        background-image: url('../img/background_phone.jpg'); /* Imagem para telemóveis */
    }
     .nav-links {
        position: absolute;
        right: 0;
        top: 60px;
        background-color: white;
        width: 100%;
        height: 100vh;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        display: none;
    }

    .nav-links.active {
        display: flex;
    }

    .nav-links li {
        margin: 20px 0;
    }

    .hamburger {
        display: block;
    }
    .solution {
        flex: 1 1 100%; /* Em telas menores, cada solução ocupa 100% do espaço */
    }
    
}

/* Para telemóveis com larguras menores, até 480px */
@media (max-width: 480px) {
    .background-section {
       
        background-image: url('../img/background_phone_small.jpg'); /* Imagem para telemóveis menores */
         background-size: cover; /* Garante que a imagem cubra a área */
        background-position: center; /* Centraliza a imagem */
    }
    .nav-links {
        position: absolute;
        right: 0;
        top: 60px;
        background-color: white;
        width: 100%;
        height: 100vh;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        display: none;
    }

    .nav-links.active {
        display: flex;
    }

    .nav-links li {
        margin: 20px 0;
    }

    .hamburger {
        display: block;
    }
    .solution {
        flex: 1 1 100%; /* Em telas menores, cada solução ocupa 100% do espaço */
    }
}
