* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body,
html {
    height: 100%;
    width: 100%;
    scroll-behavior: smooth;
    font-family: 'Roboto', sans-serif;

}

/* Adicione ao seu 'body' ou a um seletor geral de texto */
p,
li {
    color: #333333;
    /* Cinza escuro em vez de preto puro */
    line-height: 1.6;
    /* Aumenta o espaço entre as linhas do parágrafo */
}

/* Adicione mais respiro às suas seções */
.sobre,
.servicos,
.loja,
#local,
.contato {
    padding-top: 80px;
    /* Aumenta o espaço superior */
    padding-bottom: 80px;
    /* Aumenta o espaço inferior */
    padding-left: 20px;
    /* Garante um espaçamento lateral mínimo */
    padding-right: 20px;
}

/* Adicione transições suaves a todos os links */


/* Adicione transições ao botão principal e ao do formulário */
button {
    transition: background-color 0.3s ease, transform 0.2s ease;
}

/* Efeito de crescimento sutil ao passar o mouse */
button:hover {
    transform: scale(1.05);
    /* Aumenta um pouco o tamanho */
    cursor: pointer;
}

#banner {
    width: 100%;
}

header {
    width: 100%;
    height: 110%;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 65px 100px;
    background: url("../img/gato\ preto.png");
    background-attachment: fixed;
    background-position: top;
    background-repeat: repeat-x;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Poppins', sans-serif;
    /* Nova fonte para títulos */
}

nav a {
    text-decoration: none;
    font-size: 14pt;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    color: #fff;
}

nav {
    display: flex;
    width: 100%;
    height: 55px;
    justify-content: space-around;
    background-color: #667f69;
    color: #fff;
    top: 0;
    left: 0;
    position: fixed;
    align-items: center;
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
}

button {
    width: 200px;
    height: 35px;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    border-radius: 5px;
    border: 0.5px #fff;
    cursor: pointer;
}

/*ESTILO DO BOTÃO DE ENVIAR EMAIL*/

.botao-email {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #25a3a3;
  color: white;
  padding: 12px 24px;
  font-size: 1rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
  transition: background-color 0.3s, transform 0.2s;
  text-align: center;
}

.botao-email:hover {
    background-color: #1e8888;
    transform: scale(1.03);
}

.botao-email:active {
    transform: scale(0.98);
}

#logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-align: left;
    justify-content: center;

}

#logo h1 {
    font-size: 25pt;
    color: #f8fcf8;
    padding-top: 10px;
}

#logo {
    width: 25%;
    margin: 10px;
}

.sobre h1 {
    font-size: 30pt;
    font-family: 'Roboto', sans-serif;
    padding-top: 15px;

}

.loja,
.agendamento {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 60px;
    width: 100%;
}


.left-container-loja {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;

}

.loja img,
.left-container-agenda img {
    width: 500px;
    height: 500px;

}

.sobre p,
.loja p {
    font-size: 16pt;
    font-family: 'Roboto', sans-serif;
    padding-top: 15px;
    margin: 0 200px;
    text-align: center;
}

.loja ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    text-align: left;
    flex-direction: column;
    gap: 0.5rem;
}

i {
    color: #0a0a0a;
    font-size: 20pt;
    margin-right: 10px;
}

ul {
    font-size: 16pt;
    font-family: 'Roboto', sans-serif;
    text-align: center;

}

.sobre {
    text-align: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;

}

.sobre,
.servicos,
.loja,
.galeria,
.contatos,
.agendamento {
    padding-top: 60px;
}

footer p {
    font-size: 12pt;
    color: #393636;
    text-align: center;
    padding: 20px;
    font-family: 'Roboto', sans-serif;
    font-style: italic;


}

.duvidas>a {
    text-decoration: none;
    color: #fff;
    font-size: 14pt;
    font-family: 'Roboto', sans-serif;
    gap: 10px;
}

.duvidas h2 {
    font-size: 20pt;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    padding-top: 20px;
    color: #090909;
}

.social,
.social a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    font-size: 25pt;
}

.email {
    display: flex;
    flex-direction: column;
    text-decoration: none;
}


.contato {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    background-color: #667f69;
}

a:hover {
    color: #312b2b
}

.imagem {
    width: 100%;
    height: 100%;

}

span {
    position: relative;
    width: 288px;
    height: 192px;
}

.overlay {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: rgba(67, 64, 64, 0.8);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s ease;

}

span:hover .overlay {
    opacity: 1;
    cursor: default;
}

.frase {
    font-size: 24px;
    /* ajuste o tamanho da fonte conforme necessário */
    text-align: center;
    color: #fff;
}

.servicos {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    width: 1200px;

}

h1 {
    font-size: 30pt;
    font-family: 'Roboto', sans-serif;
    text-align: center;
}


input {
    display: none;
}

.local h1 {
    font-size: 30pt;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    margin: 30px 0;
}

.right-container-agenda {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.local p {
    font-size: 12pt;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    margin: 0 20px;
}

.local {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-top: 20px;
    gap: 20px;
}

/* Estilo para o Botão Flutuante de WhatsApp */
.whatsapp-button {
    position: fixed;
    /* Mantém o botão fixo na tela */
    bottom: 30px;
    /* Distância da parte de baixo da tela */
    right: 30px;
    /* Distância da parte da direita da tela */
    background-color: #25D366;
    /* Cor de fundo do WhatsApp */
    color: white;
    /* Cor do ícone */
    width: 60px;
    /* Largura do botão */
    height: 60px;
    /* Altura do botão */
    border-radius: 50%;
    /* Deixa o botão redondo */
    display: flex;
    /* Centraliza o ícone */
    align-items: center;
    justify-content: center;
    font-size: 30px;
    /* Tamanho do ícone */
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
    /* Sombra para dar destaque */
    z-index: 1000;
    /* Garante que o botão fique acima de outros elementos */
    transition: transform 0.3s;
    /* Adiciona uma animação suave */
}

/* Animação ao passar o mouse */
.whatsapp-button:hover {
    transform: scale(1.1);
    /* Aumenta um pouco o tamanho */
}

/* ========================================= */
/* ESTILO PARA O FORMULÁRIO DE CONTATO       */
/* ========================================= */

.contact-form {
    display: flex;
    flex-direction: column;
    /* Coloca os campos um abaixo do outro */
    max-width: 500px;
    /* Define uma largura máxima */

}

.contact-form label {
    margin-top: 15px;
    /* Espaço acima do texto do rótulo */
    margin-bottom: 5px;
    /* Espaço abaixo do texto do rótulo */
    font-weight: bold;
    color: #333;
    /* Garante que o texto do rótulo seja visível */
}

/* ESTA É A PARTE MAIS IMPORTANTE PARA OS CAMPOS APARECEREM */
.contact-form input,
.contact-form textarea {
    display: block;
    /* Garante que o campo seja um bloco */
    width: 100%;
    /* FAZ O CAMPO OCUPAR O ESPAÇO DISPONÍVEL */
    padding: 12px;
    /* Espaçamento interno, para o texto não colar na borda */
    border: 1px solid #ccc;
    /* UMA BORDA VISÍVEL */
    border-radius: 5px;
    font-size: 16px;
    background-color: #fff;
    /* Fundo branco para garantir que não seja transparente */
}

.contact-form button {
    margin-top: 20px;
    background-color: #00050ae8;
    color: white;
    border: none;
    text-align: center;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.contact-form button:hover {
    background-color: #0056b3;
}

/* Estilos para a Galeria Swiper */
.swiper {
    width: 100%;
    max-width: 800px;
    /* Largura máxima da galeria no desktop */
    height: 500px;
    /* Altura da galeria */
    margin: 30px auto;
    /* Centraliza a galeria */
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Faz a imagem cobrir o slide sem distorcer */
}

/* CSS para o mapa responsivo */
#local iframe {
    width: 100%;
    /* Ocupa toda a largura da seção */
    max-width: 800px;
    /* Limita a largura em telas grandes */
    height: 400px;
    /* Altura do mapa */
    margin-top: 20px;
    /* Espaço entre o texto do endereço e o mapa */
    border: 0;
    border-radius: 8px;
    /* Bordas arredondadas para um visual moderno */
}

/* Estilo para o Menu Hamburger */
.hamburger-menu {
    display: none; /* Escondido por padrão em telas grandes */
    position: fixed; /* Fixo no topo */
    top: 15px;
    right: 20px;
    z-index: 1001; /* Garante que fique acima da barra de navegação */
    cursor: pointer;
}

.hamburger-menu i {
    font-size: 24px;
    color: #fff;
}

/* Mostra o hamburger em telas de tablet e celular */
@media (max-width: 768px) {
    .hamburger-menu {
        display: block;
    }
}

/* ========================================= */
/* CSS PARA RESPONSIVIDADE                   */
/* ========================================= */

/* Estilos para TABLETS (telas de até 768px) */
@media (max-width: 768px) {

    /* Ajusta o padding geral das seções */
    .sobre,
    .servicos,
    .loja,
    #local,
    .contato {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    /* --- Cabeçalho e Navegação --- */
    header {
        padding: 40px 20px;
        height: auto;
        /* Altura automática para o conteúdo caber */
    }

    nav {
        flex-direction: column;
        /* Itens do menu um abaixo do outro */
        height: auto;
        padding: 10px;
        display: none;
        /* Esconde o menu por padrão em telas menores */
    }

    .active {
        display: flex;
        /* Mostra o menu quando o hamburger for clicado */
    }

    nav a {
        padding: 10px 0;
        /* Espaçamento para facilitar o toque */
        text-align: center;
        width: 100%;
    }

    nav a button {
        width: 100%;
    }

    /* --- Seção Sobre --- */
    .sobre p,
    .loja p {
        margin: 0 20px;
        /* Reduz a margem lateral */
        font-size: 14pt;
    }

    /* --- Seção Serviços --- */
    .servicos {
        width: 100%;
        /* Ocupa a largura total */
        justify-content: center;
        /* Centraliza os itens */
        gap: 15px;
    }

    /* --- Seção Loja e Agendamento --- */
    .loja,
    .agendamento,
    .local,
    .contato {
        flex-direction: column;
        /* Coloca os itens na vertical */
        text-align: center;
    }

    .left-container-loja,
    .right-container-agenda {
        align-items: center;
        /* Centraliza os itens */
    }

    .loja img,
    .left-container-agenda img {
        width: 100%;
        /* Imagem ocupa 100% do container */
        max-width: 400px;
        /* Limita o tamanho máximo */
        height: auto;
    }

    /* --- Galeria Swiper --- */
    .swiper {
        height: 300px;
        /* Altura menor para a galeria */
    }

    /* --- Seção Localização (Mapa) --- */
    #local iframe {
        height: 300px;
    }

    /* --- Rodapé --- */
    .contato {
        gap: 40px;
    }
}


/* Estilos para CELULARES (telas de até 480px) */
@media (max-width: 480px) {

    h1 {
        font-size: 22pt;
        /* Diminui o tamanho dos títulos principais */
    }

    #logo img {
        width: 60%;
        /* Ajusta o tamanho da logo */
    }

    #logo h1 {
        font-size: 18pt;
        /* Diminui o subtítulo da logo */
    }

    .sobre p,
    .loja p,
    ul {
        font-size: 12pt;
        /* Diminui o texto geral */
        margin: 0 10px;
    }

    /* Botão flutuante do WhatsApp */
    .whatsapp-button {
        width: 50px;
        height: 50px;
        right: 20px;
        bottom: 20px;
        font-size: 25px;
    }

    .contact-form {
        width: 100%;
        padding: 0 20px;
    }

}