@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap');

/* Estilo geral para links */
a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: #F48034; /* Cor ao passar o mouse */
}

/* Logo e imagem centralizada */
@media (max-width: 599px) {
    #topo {
        width: 98%;
        padding: 1%;
        height: 10vh; /* Altura fixa para o topo */
        background: rgba(51, 51, 51, 1.0);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 0.9vw;
        font-weight: 300;
    }

    .logo {
        width: 18%;
        margin-left: 2%;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%; /* Garante que a logo ocupe toda a altura de #topo */
    }

    .logo img {
        height: 10vh; /* Impede que a imagem ultrapasse a altura de .logo */
        width: auto; /* Mantém a proporção da imagem */
        object-fit: contain; /* Garante que a imagem seja contida dentro do espaço */
    }

    #menuToggle {
        background: none; /* Sem fundo */
        border: none; /* Sem borda */
        color: #fff; /* Cor do ícone */
        font-size: 8vw; /* Tamanho do ícone */
        cursor: pointer; /* Cursor em forma de mão ao passar sobre o ícone */
        display: flex;
        justify-content: center; /* Centraliza horizontalmente */
        align-items: center; /* Centraliza verticalmente */
        height: 50px; /* Altura do botão */
        width: 50px; /* Largura do botão */
        margin: 0 auto; /* Centraliza o botão na div */
    }

    #menuList {
        display: none; /* Ocultar menu inicialmente */
        flex-direction: column; /* Empilhar os itens verticalmente */
        position: absolute; /* Para sobrepor outros conteúdos */
        background: rgba(51, 51, 51, 0.9); /* Fundo do menu */
        width: 50%; /* Largura total */
        padding: 10px 0; /* Espaçamento vertical */
        z-index: 1000; /* Certifique-se de que o menu esteja acima de outros elementos */
        text-align: left; /* Alinhar texto à esquerda */
    }

    /* Estilo dos itens do menu */
    #menuList li {
        padding: 10px 15px; /* Adicionar espaçamento interno aos itens */
        transition: background-color 0.3s; /* Transição suave ao passar o mouse */
    }

    /* Alinhamento e hover dos links */
    #menuList li a {
        color: #fff; /* Cor dos links */
        display: block; /* Cada link ocupa a linha inteira */
        font-size: 4vw;
    }

    /* Efeito ao passar o mouse */
    #menuList li:hover {
        background-color: rgba(255, 255, 255, 0.1); /* Mudar fundo ao passar o mouse */
    }

    /* Exibir menu quando ativado */
    #menuList.show {
        display: flex; /* Mostrar menu */
    }
}

/* SESSÃO MOBILE */
@media (max-width: 768px) {
    /* Estilo do Cabeçalho da Seção de Serviços */
    .header-servicos {
        flex-direction: column; /* Empilha os elementos verticalmente */
        align-items: flex-start; /* Alinha à esquerda */
        text-align: left; /* Alinha o texto à esquerda */
    }

    .texto-servicos {
        width: 100%;
        margin-right: 0; /* Remove o espaço à direita */
    }

    .texto-servicos h1 {
        font-size: 2rem; /* Reduz o tamanho do título */
    }

    .texto-servicos p {
        font-size: 0.9rem; /* Ajusta o tamanho do texto */
    }

    .botao-servicos {
        width: 100%; /* Botão ocupa toda a largura */
        background-color: #F48034; /* Cor do botão */
        color: white; /* Cor do texto do botão */
        padding: 10px 20px;
        text-decoration: none;
        border-radius: 5px;
        align-self: flex-start; /* Alinha o botão na vertical, se necessário */
        display: flex; /* Flexbox para o botão */
        justify-content: center; /* Centraliza o texto do botão */
        align-items: center; /* Centraliza verticalmente */
        transition: background-color 0.3s;
        font-size: 2vw;
    }

    .botao-servicos:hover {
        background-color: #f45034; /* Cor do botão ao passar o mouse */
        color: #fff;
    }

    /* Estilo para os serviços */
    #servicos {
        flex-direction: column; /* Empilha os serviços verticalmente */
        align-items: stretch; /* Faz os serviços ocuparem toda a largura */
    }

    .servico {
        width: 100%; /* Cada serviço ocupa toda a largura */
        margin-bottom: 15px; /* Espaçamento entre os serviços */
    }
}

/* MODAL */
/* Estilos para dispositivos até 768px */
@media (max-width: 768px) {
    #loginModal {
        justify-content: center;
        align-items: center;
        padding: 0;
    }

    .modal-content {
        width: 100%;
        max-width: 320px;
        padding: 2rem;
        border-radius: 10px;
        box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.4);
        margin: 1rem;
    }

    .modal-content h2 {
        font-size: 1.6em;
        margin-bottom: 1rem;
        color: #333;
    }

    .modal-content label {
        font-size: 1em;
        font-weight: bold;
        color: #666;
        display: block;
        margin-bottom: 0.3rem;
    }

    .modal-content input[type="email"],
    .modal-content input[type="password"] {
        width: 90%;
        padding: 2%;
        font-size: 1.1em;
        border-radius: 8px;
        border: 1px solid #ccc;
        margin-top: 0.3rem;
    }

    .modal-content button {
        width: 100%;
        padding: 1rem;
        font-size: 1.1em;
        margin-top: 1rem;
        border-radius: 8px;
        background-color: #f48034;
        color: #fff;
        border: none;
        cursor: pointer;
        transition: background-color 0.3s;
    }

    .modal-content button:hover {
        background-color: #d9692a;
    }

    #clientLink {
        display: block;
        font-size: 1em;
        font-weight: bold;
        color: #f48034;
        text-align: center;
        margin-top: 1.5rem;
        text-decoration: none;
        padding: 0.5rem;
        border: 2px solid #f48034;
        border-radius: 8px;
    }

    #clientLink:hover {
        background-color: #f48034;
        color: #fff;
    }

    #closeModal {
        font-size: 1.8rem;
        position: absolute;
        top: 15px;
        right: 15px;
        cursor: pointer;
    }
}

/*RODAPÉ*/
/* Mobile Styles para telas até 768px */
@media (max-width: 768px) {
    footer {
        font-size: 0.9rem; /* Reduzindo o tamanho da fonte para o footer */
    }

    .footer-container {
        flex-direction: column; /* Colocando as seções em coluna */
        align-items: center; /* Centralizando as seções */
        padding: 5% 0; /* Ajustando o padding */
    }

    .footer-section {
        width: 100%; /* Cada seção ocupa 100% da largura */
        margin-bottom: 2%;
        text-align: center; /* Centralizando o texto */
    }

    .social-section,
    .location-section,
    .menu-section,
    .newsletter-section {
        font-size: 0.9rem;
        font-weight: 300;
    }

    .footer-content h3 {
        font-size: 1.2rem; /* Aumentando o tamanho do título */
    }

    .footer-content p, .footer-content a {
        font-size: 0.9rem; /* Ajustando o tamanho da fonte */
    }

    .social-icons {
        font-size: 1.2rem; /* Aumentando o tamanho dos ícones sociais */
    }

    .newsletter-form input[type="email"] {
        width: 100%; /* Ajustando a largura do campo de email */
    }

    .newsletter-form button {
        width: 100%; /* Ajustando a largura do botão */
    }
}

/* Mobile Styles para telas até 468px */
@media (max-width: 468px) {
    .footer-container {
        padding: 5%; /* Ajustando o padding para telas menores */
    }

    .footer-content h3 {
        font-size: 1rem; /* Reduzindo o tamanho do título */
    }

    .footer-content p, .footer-content a {
        font-size: 0.8rem; /* Ajustando o tamanho da fonte */
    }

    .social-icons {
        font-size: 1rem; /* Reduzindo o tamanho dos ícones sociais */
    }

    .footer-section ul li {
        font-size: 0.8rem; /* Ajustando o tamanho da fonte da lista */
    }

    .newsletter-form input[type="email"] {
        padding: 1.5%; /* Ajustando o padding do campo de email */
    }

    .newsletter-form button {
        padding: 1.5%; /* Ajustando o padding do botão */
    }
}
