/* --- Importação de Fonte Google Fonts (moderna) --- */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

/* --- Variáveis CSS para Cores (paleta moderna) --- */
:root {
    --primary-color: #252424; /* Um azul mais suave/moderno */
    --secondary-color: #63b3ed; /* Um azul claro para destaque */
    --text-color: #2d3748; /* Cinza escuro para texto principal */
    --light-text-color: #718096; /* Cinza médio para texto secundário */
    --background-light: #edf2f7; /* Fundo muito claro */
    --card-background: #ffffff00; /* Fundo de cartões/seções */
    --border-color: #e2e8f0; /* Cor de borda suave */
    --success-color: #48bb78; /* Verde para sucesso */
    --danger-color: #fc8181; /* Vermelho para erro/perigo */
    --button-hover-dark: #4c51bf;
    --button-hover-light: #4299e1;
}

/* --- Estilos Gerais do Corpo da Página --- */
body {
    font-family: 'Poppins', sans-serif; /* Usando a nova fonte */
    margin: 0;
    padding: 0;
    background-color: var(--background-light); /* Usando variável de cor */
    color: var(--text-color); /* Usando variável de cor */
    line-height: 1.1;
}

/* --- Estilos do Cabeçalho (onde fica o título e navegação) --- */
header {
    /* Gradiente de fundo com imagem (VERSÃO DESKTOP - IMAGEM PADRÃO) */
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.6)), /* Camada escura para contraste */
        url('imagens/cabeçalho-desktop.png'); /* <<<< IMAGEM PARA DESKTOP/TELAS MAIORES >>>> */

    /* PROPRIEDADES PRINCIPAIS PARA AJUSTAR A IMAGEM */
    background-size: cover; /* ESSENCIAL: Garante que a imagem cubra todo o cabeçalho */
    background-position: center center; /* ESSENCIAL: Centraliza a imagem */
    background-repeat: no-repeat; /* Evita repetição */

    color: var(--card-background); /* Texto branco puro */
    padding: 4rem 0;
    text-align: center;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 100;
}

/* --- Estilos do Cabeçalho (onde fica o título e navegação) --- */
/* ... (seus estilos existentes para header) ... */

/* --- NOVO: Estilos para o Banner Principal com VÍDEO (Hero Section) --- */
#hero-banner {
    max-width: 1250px;
    margin: 30px auto;
    border-radius: 13px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    background-color: #000; /* Fundo preto para o banner (para caso o vídeo não carregue ou enquanto carrega) */

    height: 300px;
    
    /* As propriedades background-image e transition serão removidas, pois agora é vídeo */
    /* background-image: ... ; */
    /* transition: background-image 1s ease-in-out; */
    
    display: flex; /* Para flexbox do conteúdo */
    justify-content: center; /* Centraliza conteúdo horizontalmente */
    align-items: center; /* Centraliza conteúdo verticalmente */
    text-align: left; /* Seu alinhamento de texto atual */
    color: white;
    padding: 0; /* Remover padding, o vídeo vai cobrir tudo */
    overflow: hidden; /* Esconde qualquer parte do vídeo que ultrapasse o limite do banner */
    position: relative; /* Essencial para o vídeo e o conteúdo ficarem em camadas */
    z-index: 100;
}

/* Estilos para o VÍDEO de Fundo */
#hero-banner video {
    position: absolute; /* Posiciona o vídeo absolutamente dentro do banner */
    top: 50%;
    left: 50%;
    min-width: 100%; /* Garante que o vídeo cubra toda a largura */
    min-height: 100%; /* Garante que o vídeo cubra toda a altura */
    width: auto; /* Permite que a largura se ajuste automaticamente */
    height: auto; /* Permite que a altura se ajuste automaticamente */
    z-index: -1; /* Coloca o vídeo atrás do conteúdo de texto */
    transform: translate(-50%, -50%); /* Centraliza o vídeo (truque CSS) */
    object-fit: cover; /* Garante que o vídeo preencha o container sem distorcer, cortando se necessário */
}

/* Estilos para o CONTEÚDO (texto) sobre o vídeo */
.hero-content {
    position: relative; /* Torna o conteúdo posicional para z-index */
    z-index: 1; /* Garante que o conteúdo fique acima do vídeo */
    max-width: 800px;
    padding: 20px; /* Mais padding para o texto */
    background-color: rgba(0, 0, 0, 0); /* Fundo semi-transparente MAIS ESCURO para o texto sobre o vídeo */
    border-radius: 10px;
    /* Ajuste o text-align se quiser centralizar o texto sobre o vídeo no geral */
    text-align: left; /* Centraliza o texto dentro do hero-content */
}

#hero-banner h1 {
    font-size: 1.8rem;
    margin-bottom: 15px;
    font-weight: 700;
    line-height: 1.2;
    color: white;
}

#hero-banner p {
    font-size: 1.04rem;
    font-weight: 400;
    margin-bottom: 0;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
}

/* --- REMOVIDAS: Classes de carrossel de imagem, não são mais necessárias --- */
/* #hero-banner.hero-image-0 { ... } */
/* #hero-banner.hero-image-1 { ... } */
/* ... */


/* --- Responsividade para o Banner Principal com VÍDEO (Hero Section) --- */

@media (max-width: 1024px) {
    #hero-banner {
        height: 310px;
    }
    #hero-banner h1 {
        font-size: 1.9rem;
    }
    #hero-banner p {
        font-size: 0.95rem;
    }
    .hero-content {
        padding: 18px;
    }
}

@media (max-width: 768px) {
    #hero-banner {
        height: 300px;
        margin: 8px auto; /* Ajustado para mobile */
        padding: 0; /* Vídeo ocupa todo o padding */
    }
    #hero-banner h1 {
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
    #hero-banner p {
        font-size: 0.8rem;
    }
    .hero-content {
        padding: 15px;
    }
}

@media (max-width: 480px) {
    #hero-banner {
        height: 180px;
        margin: 7px auto; /* Ajustado para mobile */
        padding: 0;
    }
    #hero-banner h1 {
        font-size: 1.2rem;
        line-height: 1.1;
    }
    #hero-banner p {
        font-size: 0.68rem;
        line-height: 1.4;
    }
    .hero-content {
        padding: 10px;
    }
}

/* ... (O restante do seu CSS permanece ABSOLUTAMENTE INTACTO) ... */
/* --- Responsividade para a IMAGEM DO CABEÇALHO (APARECE AQUI!) --- */
@media (max-width: 768px) {
    header {
        /* Gradiente de fundo com imagem (VERSÃO MOBILE - SOBRESCREVE A IMAGEM DE DESKTOP) */
        background-image:
            linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.24)), /* Mantém a camada escura */
            url('imagens/cabeçalho-mobile.png'); /* <<<< IMAGEM PARA MOBILE/TELAS MENORES >>>> */
        background-position: center center; /* Pode ajustar para 'top center' ou 'bottom center' se a imagem mobile precisar de um foco diferente */
        /* background-size: cover; */ /* Se você precisar que a imagem mobile se comporte de forma diferente, pode redefinir aqui */
        
        padding: 1.5rem 10px; /* Seu padding já existente para mobile */
    }
    /* O restante do seu CSS para @media (max-width: 768px) continua aqui, intacto. */
}

/* ... TODO O RESTANTE DO SEU CÓDIGO CSS PERMANECE INTACTO ... */

/* Estilos para o subtítulo ou slogan, se você adicionar um abaixo do h1 */
header p.slogan {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    margin-top: 0.5rem;
    font-weight: 300; /* Leve */
}

/* Estilos da Navegação (menu) */
nav { /* Agora o nav é o contêiner principal para o toggle e os links */
    display: flex;
    flex-direction: column; /* Para empilhar o toggle e os links (desktop e mobile) */
    align-items: center; /* Centraliza no cabeçalho */
    position: relative; /* Para posicionar o menu toggle em mobile */
    padding-bottom: 1rem; /* Espaço abaixo da nav */
}

/* Contêiner dos links de navegação em DESKTOP */
/* Em desktop, os links estão visíveis, e o nav ul tem o fundo */
.nav-links {
    width: 100%;
    display: flex; /* Para centralizar o ul */
    justify-content: center;
}

nav ul {
    list-style: none;
    margin-top: 1.5rem;
    display: flex; /* Faz os itens ficarem lado a lado em desktop */
    justify-content: center;
    gap: 30px;
    border-radius: 10px;
    backdrop-filter: blur(-15px);
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

nav ul li a {
    background-image: linear-gradient(to right, var(--secondary-color) 0%, hwb(36 0% 0%) 100%);
    color: white;
    text-decoration: none;
    font-weight: 700;
    /* --- Ajustes para deixar os botões MENORES e mais atraentes --- */
    font-size: 0.75rem; /* Fonte ainda menor para um botão mais compacto */
    padding: 0.25rem 0.6rem; /* Padding MUITO reduzido para diminuir o tamanho físico do botão */
    border-radius: 15px; /* Arredondamento para se adequar ao novo tamanho bem pequeno */
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); /* Sombra mais discreta para um botão menor */
    background-size: 200% auto;
    text-transform: uppercase;
    letter-spacing: 0.1px; /* Quase sem espaçamento para compactar o texto */
    position: relative;
    overflow: hidden;
    transform: translateY(0);
    z-index: 1;
}

nav ul li a:hover {
    background-position: right center;
    transform: translateY(-2px) scale(1.01); /* Efeito de elevação e zoom mais sutis */
    box-shadow: 0 5px 12px rgba(0, 0, 0, 0.25); /* Sombra um pouco mais forte no hover */
    z-index: 2;
}

nav ul li a:active {
    background-position: left center;
    transform: translateY(0); /* Retorno imediato ao clique */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08); /* Sombra leve ao clicar */
}

/* --- Media Queries para Responsividade --- */

/* Ajustes para Telas Grandes (acima de 1200px) */
@media (min-width: 1200px) {
    nav ul li a {
        font-size: 0.8rem; /* Um pouco maior em telas grandes */
        padding: 0.3rem 0.7rem; /* Padding ajustado */
        border-radius: 8px;
    }
}

/* Ajustes para Tablets e Telas Médias (entre 769px e 1199px) */
@media (min-width: 769px) and (max-width: 1199px) {
    nav ul li a {
        font-size: 0.78rem; /* Intermediário para tablets */
        padding: 0.28rem 0.65rem; /* Padding ajustado */
        border-radius: 8px;
    }
}

/* Ajustes para Celulares (até 768px) */
@media (max-width: 768px) {
    nav ul li a {
        font-size: 0.75rem; /* Tamanho de fonte padrão para mobile */
        padding: 0.25rem 0.6rem; /* Padding bem reduzido para mobile */
        border-radius: 14px;
    }
}

/* Opcional: Ajustes para Telas MUITO pequenas (ex: iPhones SE) */
@media (max-width: 480px) {
    nav ul li a {
        font-size: 0.7rem; /* Fonte mínima para legibilidade */
        padding: 0.2rem 0.5rem; /* Padding ainda mais reduzido */
        border-radius: 12px;
    }
}

/* Estilos para o ícone do menu (hambúrguer) - ESCONDIDO POR PADRÃO NO DESKTOP */
.menu-toggle {
    display: none; /* ESSENCIAL: Esconde o ícone de hambúrguer em telas grandes */
    background: none;
    border: none;
    cursor: pointer;
    padding: 0px;
    position: absolute; /* Posiciona o ícone */
    top: 1.5rem; /* Ajuste a posição vertical */
    right: 20px; /* Posição à direita */
    z-index: 101; /* Fica acima de tudo */
    outline: none;
}

.menu-toggle .bar {
    display: block;
    width: 25px;
    height: 3px;
    margin: 5px auto;
    background-color: white;
    transition: all 0.3s ease-in-out;
    border-radius: 2px;
}

/* Animação do ícone de hambúrguer para X */
.menu-toggle.is-active .bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}
.menu-toggle.is-active .bar:nth-child(2) {
    opacity: 0;
}
.menu-toggle.is-active .bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* --- Responsividade para o menu hambúrguer (APARECE AQUI!) --- */
@media (max-width: 768px) {
    .menu-toggle {
        display: block; /* ESSENCIAL: Mostra o ícone de hambúrguer em telas pequenas */
        position: static; /* Volta a posição normal dentro do fluxo do nav */
        margin-left: auto; /* Empurra para a direita se o nav for flex-direction: row */
        margin-right: 20px; /* Um pouco de margem na direita */
        top: 20px; /* empurra Um pouco de margem para cima */
    }
    nav { /* Ajusta o nav para mobile: alinhar itens e permitir que o toggle fique visível */
        flex-direction: row-reverse; /* Para que o título e o toggle possam ficar na mesma linha se desejado */
        justify-content: space-between; /* Espaçamento entre o título e o toggle */
        align-items: center; /* Alinha verticalmente */
        padding: 0.5rem 1px; /* Ajusta o padding do cabeçalho */
        position: relative; /* Para o menu expansível */
        width: 104%; /* Ocupa a largura total */
        box-sizing: border-box; /* Inclui padding na largura */
    }
    header h1 { /* Ajusta o título no mobile */
        font-size: 1.8rem;
        margin: 0;
        padding: 0;
    }

    /* O contêiner dos links é ESCONDIDO por padrão em mobile */
    .nav-links {
        position: relative; /* Posiciona o menu flutuante */
        top: -50%; /* Começa logo abaixo do cabeçalho/nav */
        left: 0;
        width: 100%;
        height: 0; /* ESSENCIAL: Esconde o menu recolhendo a altura */
        overflow: hidden; /* Esconde o conteúdo que vaza */
        transition: height 0.4s ease-in-out, padding 0.4s ease-in-out; /* Animação suave */
        background-color: rgba(205 205 205 / 34%); /* Fundo semi-transparente para o menu aberto */
        border-bottom-left-radius: 20px; /* Bordas arredondadas na parte inferior */
        border-bottom-right-radius: 20px;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
        backdrop-filter: blur(6px); /* Desfoque para o fundo do menu aberto */
        box-shadow: 0 0px 15px rgb(255, 1, 1);
        z-index: 99; /* Fica abaixo do menu-toggle */
        padding: 0; /* Sem padding vertical quando escondido */
        flex-direction: column; /* Conteúdo interno em coluna */
        align-items: center; /* Centraliza itens internos */
    }

    /* Classe para MOSTRAR o menu quando o menu-toggle for clicado */
    .nav-links.is-open {
        height: auto; /* ESSENCIAL: Permite que o conteúdo defina a altura */
        max-height: 300px; /* Limite de altura para não ser muito grande (ou ajuste/remova) */
        padding: 1rem; /* Adiciona padding vertical quando aberto */
        overflow-y: auto; /* Adiciona rolagem se o conteúdo for muito grande */
    }

    nav ul { /* Lista de links DENTRO do nav-links */
        flex-direction: column; /* Itens da lista em coluna */
        width: 100%; /* Ocupa a largura do nav-links */
        max-width: none;
        background: none; /* Remove o fundo do ul, o fundo é do nav-links */
        border: none;
        box-shadow: none;
        margin-top: revert-layer;
        padding: 0;
        gap: 10px; /* Espaço entre os links */
    }

    nav ul li {
        width: 100%;
        text-align: center;
    }

    nav ul li a {
        padding: 0.8rem 1rem;
        font-size: 1rem;
        width: calc(100% - 2rem);
        box-sizing: border-box;
        display: block;
        border-radius: 6px;
        margin: 0 auto;
    }
}

/* --- Estilos das Seções Principais (Produtos, Agendamento, Contato) --- */
main {
    padding: 0px; /* Mais preenchimento geral */
    max-width: 1250px; /* Largura máxima um pouco maior */
    margin: 0px auto; /* Mais margem e centralizado */
    background-color: var(--card-background); /* Fundo branco */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08); /* Sombra mais destacada */
    border-radius: 12px; /* Bordas mais arredondadas */
}

section {
    margin-bottom: 40px; /* Mais espaço abaixo de cada seção */
    padding-bottom: 10px; /* Mais preenchimento inferior */
    border-bottom: 0px solid var(--border-color); /* Usando variável de cor */
}

section:last-child {
    border-bottom: none;
    margin-bottom: 0; /* Remove margem da última seção */
    padding-bottom: 0;
}

section h2 {
    color: var(--primary-color);
    /* border-bottom: 2px solid var(--secondary-color); */ /* Linha removida ou comentada */
    padding-bottom: 3px;
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 1.8rem;
    text-align: center;
}

/* --- Estilos para o Layout dos PRODUTOS (Alinhamento Horizontal com Grid) --- */
#produtos .conteudo-produtos {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px; /* Espaçamento entre os cartões de produto */
    justify-items: center;
    align-items: stretch; /* Garante que os cartões estiquem para ter a mesma altura */
    margin-top: 2px;
}

/* --- Estilos para CADA Item de Produto Individualmente (o "cartão" do produto) --- */
.produto-item {
    background-color: var(--background-light); /* Fundo mais claro para cada item */
    border: 1px solid var(--border-color); /* Borda suave */
    padding: 20px; /* Mais preenchimento */
    border-radius: 23px; /* Bordas arredondadas */
    text-align: center;
    min-width: 280px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08); /* Sombra mais moderna */
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease; /* Adicionamos 'background-color' aqui */
}

.produto-item:hover {
    transform: translateY(-5px); /* Efeito de "levantar" */
    box-shadow: 0 8px 20px rgba(0,0,0,0.12); /* Sombra mais intensa no hover */
    background-color: #03d7fb61; /* Laranja bem suave ao passar o mouse */
}

.produto-item h3 {
    color: var(--text-color);
    margin-top: 15px; /* Mais espaço acima do título */
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 1.4rem;
}

.produto-item p { /* Estilo geral de parágrafo dentro do produto-item */
    color: var(--light-text-color); /* Texto secundário */
    font-size: 0.95rem;
    margin-bottom: 8px; /* Espaço abaixo dos parágrafos */
}

/* --- Estilos para o Texto do Preço (Novo Layout: Riscado e Destaque) --- */
/* Estilo para o contêiner do preço, ajustado para flexbox */
.produto-item p[id$="-preco"] { /* Seleciona parágrafos com IDs terminando em "-preco" */
    display: flex; /* Permite alinhar os preços lado a lado */
    justify-content: center; /* Centraliza os preços horizontalmente */
    align-items: baseline; /* Alinha os preços pela base da linha de texto */
    gap: 10px; /* Espaço entre o preço riscado e o novo preço */
    
    font-size: 1.2rem; /* Tamanho base do preço */
    font-weight: 700; /* Negrito para destaque */
    color: var(--primary-color); /* Usa a cor primária para o preço promocional */
    
    margin-top: 10px; /* Espaço acima do preço */
    margin-bottom: 15px; /* Espaço abaixo do preço */
    padding: 8px 0; /* Pequeno padding vertical */
    
    /* Bordas removidas para um visual mais limpo (conforme sua solicitação) */
    /* border-top: none; */
    /* border-bottom: none; */
}

/* Estilo para o PREÇO ORIGINAL (riscado e pequeno) */
.preco-original-riscado {
    text-decoration: line-through; /* Riscado */
    color: var(--light-text-color); /* Cor mais suave para o preço antigo */
    font-size: 0.8em; /* 80% do tamanho do pai (p[id$="-preco"]) */
    font-weight: 400; /* Mais leve */
    white-space: nowrap; /* Impede que o texto quebre em várias linhas */
}

/* Estilo para o PREÇO PROMOCIONAL (destacado) */
.preco-promocional {
    color: var(--primary-color); /* Cor principal para o preço atual */
    font-size: 1.3em; /* Levemente maior que o tamanho base do pai */
    font-weight: 700; /* Bem negrito */
    white-space: nowrap; /* Impede que o texto quebre */
}

/* --- Estilos para o CONTÊINER DO CARROSSEL (galeria-produto) --- */
.galeria-produto {
    position: relative;
    width: 100%;
    height: 220px; /* Altura um pouco maior para o carrossel. AJUSTE SE NECESSÁRIO! */
    margin-bottom: 15px;
    overflow: hidden;
    border-radius: 8px; /* Mais arredondamento */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #eee; /* Fundo para quando não há imagem */
}

/* Estilos para a LISTA DE SLIDES */
.galeria-produto > ul[data-slides] {
    margin: 0;
    padding: 0;
    list-style: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    transition: transform 0.5s ease-in-out;
}

/* Estilos para CADA SLIDE INDIVIDUAL (o li) */
.galeria-produto > ul[data-slides] > .slide {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--card-background); /* Fundo branco para slides */
}

/* O slide ATIVO (visível) */
.galeria-produto > ul[data-slides] > .slide[data-active] {
    opacity: 1;
    z-index: 1;
}

/* Estilos para as IMAGENS DENTRO dos slides */
.galeria-produto > ul[data-slides] > .slide img {
    width: 100%;
    height: 100%;
    object-fit: unset; /* Faz a imagem cobrir o espaço */
    display: block;
    border-radius: 5px; /* Bordas arredondadas para as imagens também */
}

/* --- Estilos dos BOTÕES DE NAVEGAÇÃO DO CARROSSEL --- */
.carousel-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgb(0, 0, 0); /* Fundo um pouco mais escuro para melhor contraste */
    color: white;
    border: none;
    cursor: pointer;
    font-size: 1.8rem; /* Setas maiores */
    z-index: 2;
    border-radius: 50%; /* Botões circulares */
    transition: background-color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.carousel-button:hover {
    background: rgb(165 70 64); /* Fundo mais escuro ao passar o mouse */
    transform: translateY(-50%) scale(1.05); /* Pequeno efeito de "zoom" */
}

.carousel-button.prev {
    left: 10px;
}

.carousel-button.next {
    right: 10px;
}


/* --- Estilos dos Formulários --- */
form label {
    display: block;
    margin-bottom: 8px; /* Mais espaço */
    font-weight: 600; /* Seminegrito */
    color: var(--text-color);
}

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="datetime-local"],
form textarea {
    width: calc(100% - 24px); /* Ajuste o padding */
    padding: 12px; /* Mais padding */
    margin-bottom: 20px; /* Mais espaço */
    border: 1px solid var(--border-color); /* Borda suave */
    border-radius: 6px; /* Mais arredondamento */
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif; /* Usando a nova fonte */
    font-size: 1rem;
}

form textarea {
    resize: vertical;
    min-height: 100px; /* Altura mínima para textarea */
}

form button[type="submit"] {
    background-color: var(--success-color); /* Cor de sucesso */
    color: white;
    padding: 12px 25px; /* Mais padding */
    border: none;
    border-radius: 6px; /* Mais arredondamento */
    cursor: pointer;
    font-size: 1.1rem; /* Tamanho maior */
    font-weight: 600;
    transition: background-color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

form button[type="submit"]:hover {
    background-color: #38a169; /* Tom mais escuro no hover */
    transform: translateY(-2px);
}

/* --- Estilos para a Caixa de Seleção de Dias --- */
.selecao-dias {
    margin-top: 15px; /* Espaço acima da caixa de seleção */
    margin-bottom: 15px; /* Espaço abaixo da caixa de seleção */
    width: 100%; /* Garante que a caixa de seleção ocupe a largura total do produto-item */
    text-align: center; /* Centraliza o label e o select */
}

.selecao-dias label {
    display: block; /* Garante que o label fique em uma linha separada */
    margin-bottom: 8px; /* Espaço abaixo do label */
    font-weight: 600; /* Texto do label em negrito */
    color: var(--text-color); /* Cor do texto */
    font-size: 0.95rem;
}

.selecao-dias select {
    width: calc(100% - 20px); /* Ajusta a largura para caber no padding do item */
    padding: 10px; /* Preenchimento interno */
    border: 0.1px solid #6b6666;
    border-radius: 6px; /* Bordas arredondadas */
    background-color: #ffffff;
    color: var(--text-color); /* Cor do texto */
    font-family: 'Poppins', sans-serif; /* Usa a fonte Poppins */
    font-size: 1rem;
    cursor: pointer;
    -webkit-appearance: none; /* Remove estilos padrão do navegador para dropdowns */
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232d3748'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); /* Seta para baixo customizada */
    background-repeat: no-repeat;
    background-position: right 10px center; /* Posição da seta */
    background-size: 18px; /* Tamanho da seta */
}

.selecao-dias select:focus {
    outline: none; /* Remove o contorno azul padrão ao focar */
    border-color: var(--primary-color); /* Mudar cor da borda ao focar */
    box-shadow: 0 0 0 3px rgba(90, 103, 216, 0.2); /* Sombra suave ao focar */
}


/* --- Media Queries para Responsividade Fina --- */

/* Ajustes para Telas Grandes (acima de 1200px) */
@media (min-width: 1200px) {
    /* ... TODO O CONTEÚDO DESTA MEDIA QUERY PERMANECE INTACTO, EXCETO OS BOTÕES ... */
    nav ul li a {
        /* Ajustes para telas grandes */
        padding: 0.5rem 0.9rem; /* Padding ligeiramente maior para o botão em telas grandes */
        font-size: 1rem; /* Tamanho da fonte padrão para telas grandes */
    }
}


/* Ajustes para Tablets e Telas Médias (entre 769px e 1199px) */
@media (min-width: 769px) and (max-width: 1199px) {
    /* ... TODO O CONTEÚDO DESTA MEDIA QUERY PERMANECE INTACTO, EXCETO OS BOTÕES ... */
    nav ul li a {
        /* Ajustes para tablets */
        padding: 0.5rem 0.8rem; /* Padding levemente ajustado para tablets */
        font-size: 0.95rem; /* Ajuste o tamanho da fonte para tablets */
    }
}


/* Ajustes para Celulares (até 768px) */
@media (max-width: 768px) {
    /* ... TODO O CONTEÚDO DESTA MEDIA QUERY PERMANECE INTACTO, EXCETO OS BOTÕES ... */
    nav ul li a {
        padding: 0.6rem 1.2rem; /* Ajuste para o botão em coluna no mobile */
        font-size: 0.9rem; /* Levemente menor para mobile */
        border-radius: 20px; /* Reduz ligeiramente o arredondamento para mobile */
    }
}

    form input[type="text"],
    form input[type="email"],
    form input[type="tel"],
    form input[type="datetime-local"],
    form textarea {
        width: calc(100% - 20px);
        padding: 10px;
    }
    form button[type="submit"] {
        padding: 10px 20px;
        font-size: 1rem;
    }

/* --- Estilos para o Botão de Produto em Destaque --- */
.btn-produto {
    /* Usaremos um gradiente para um visual mais moderno */
    background: linear-gradient(98deg, rgb(240, 129, 2) 0%, rgb(248, 8, 8) 50%, rgba(252, 176, 69, 1) 100%); 
    color: white; /* Texto branco */
    padding: 14px 30px; /* Mais preenchimento para um botão mais substancial */
    border: none; /* Sem borda */
    border-radius: 8px; /* Bordas mais arredondadas */
    cursor: pointer; /* Mãozinha ao passar o mouse */
    font-size: 1.1rem; /* Tamanho da fonte um pouco maior */
    font-weight: 700; /* Mais negrito */
    margin-top: 2px; /* Mais espaço acima do botão */
    transition: all 0.3s ease; /* Transição suave para todas as propriedades */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0); /* Sombra mais destacada e moderna */
    text-transform: uppercase; /* Texto em maiúsculas */
    letter-spacing: 0.8px; /* Pequeno espaçamento entre as letras para clareza */
    background-size: 200% auto; /* Prepara o gradiente para o efeito hover */
}

.btn-produto:hover {
    background-position: right center; /* Move o gradiente para a direita no hover */
    transform: translateY(-3px); /* Efeito de "levantar" mais pronunciado */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25); /* Sombra mais intensa no hover */
}

.btn-produto:active {
    transform: translateY(0); /* Volta ao normal ao clicar */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra menor ao clicar */
    background-position: left center; /* Volta o gradiente para a posição inicial */
}

/* --- Estilos para Mensagens de Erro de Validação --- */
.error-message {
    color: var(--danger-color); /* Cor vermelha para erro */
    font-size: 0.85rem; /* Fonte um pouco menor */
    margin-top: -15px; /* Ajusta a margem para ficar mais perto do campo */
    margin-bottom: 10px; /* Espaço abaixo da mensagem */
    text-align: left; /* Alinha o texto à esquerda (ou centralize se preferir) */
    display: none; /* Por padrão, as mensagens de erro ficam escondidas */
}

/* Opcional: Estilo para campos com erro (borda vermelha) */
.input-error {
    border-color: var(--danger-color) !important; /* Borda vermelha para o campo */
    box-shadow: 0 0 0 2px rgba(252, 129, 129, 0.3) !important; /* Sombra sutil vermelha */
}

/* --- Estilos do Rodapé (Footer) --- */
footer {
    background-color: var(--text-color); /* Fundo cinza escuro para o rodapé */
    color: var(--background-light); /* Texto muito claro (quase branco) */
    padding: 30px 20px; /* Preenchimento interno */
    text-align: center; /* Centraliza o texto */
    font-size: 0.9rem; /* Tamanho da fonte um pouco menor */
    margin-top: 0px; /* Espaço acima do rodapé para separá-lo da última seção */
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.1); /* Sombra para dar profundidade para cima */
}

.footer-content {
    max-width: 960px; /* Largura máxima do conteúdo do rodapé (igual ao main) */
    margin: 0 auto; /* Centraliza o conteúdo */
    display: flex; /* Usa flexbox para organizar itens */
    flex-direction: column; /* Itens em coluna por padrão */
    gap: 15px; /* Espaço entre os elementos do rodapé */
}

.footer-content p {
    margin: 0; /* Remove margens padrão dos parágrafos */
    padding: 0;
}

.social-links {
    margin-top: 10px; /* Espaço acima dos links sociais */
    display: flex; /* Organiza os links sociais em linha */
    justify-content: center; /* Centraliza os links sociais */
    gap: 20px; /* Espaço entre os links sociais */
}

.social-links a {
    color: var(--secondary-color); /* Cor dos links sociais (azul claro) */
    text-decoration: none; /* Remove sublinhado */
    font-weight: 600; /* Seminegrito */
    transition: color 0.3s ease, transform 0.2s ease; /* Transição suave */
}

.social-links a:hover {
    color: #ff9800; /* Laranja ao passar o mouse */
    transform: translateY(-2px); /* Pequeno efeito de elevação */
}

/* Responsividade para o rodapé em telas menores */
@media (max-width: 768px) {
    footer {
        padding: 20px 15px; /* Menos padding em mobile */
    }
    .footer-content {
        gap: 10px; /* Menos espaço entre itens */
    }
    .social-links {
        gap: 15px; /* Menos espaço entre links sociais */
    }
    footer p {
        font-size: 0.8rem; /* Fonte menor em mobile */
    }
}

/* --- Documentação Completa --- */
/*
   Este CSS cria uma barra animada com gradiente de cores, simulando um efeito de LED RGB.
   A barra se posiciona acima do rodapé.
*/

/* --- Estilos para a Barra de LED RGB --- */
.led-bar {
    width: 100%;
    height: 8px;
    background: linear-gradient(
        to right,
        #ff0000, /* Vermelho */
        #ff7f00, /* Laranja */
        #ffff00, /* Amarelo */
        #00ff00, /* Verde */
        #0000ff, /* Azul */
        #4b0082, /* Anil */
        #9400d3 /* Violeta */
    );
    background-size: 400% 100%;
    animation: rainbow-strip 10s linear infinite;
    margin-top: 0; /* Colado no rodapé */
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
}

/* Definição da Animação do Gradiente */
@keyframes rainbow-strip {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 100% 50%;
    }
}

/* --- INÍCIO: CSS para o modelo de avaliação moderno e atraente --- */

/* Variáveis de cor adicionais para este modelo, se precisar */
:root {
    --card-bg-color: #ffffff;
    --card-shadow: 0 10px 30px rgba(0, 0, 0, 0.171);
    --star-filled: #FFD700; /* Dourado vibrante */
    --star-empty: #e0e0e0; /* Cinza claro para estrelas não preenchidas */
    --text-quote: #495057; /* Um cinza mais escuro para o texto do depoimento */
    --avatar-border: #f0f0f0; /* Borda suave para o avatar */
}

#avaliacoes-modernas {
    background-color: var(--background-color); /* Mantém o fundo da seção leve */
    padding: 0.1rem 0.5rem;
    margin-bottom: 2rem;
    text-align: center;
}

#avaliacoes-modernas h2 {
    color: var(--primary-color);
    margin-bottom: 0.5rem;
    font-size: 2.5em;
    font-weight: 700;
}

.depoimento-cards-container {
    display: flex;
    flex-wrap: wrap; /* Permite que os cards quebrem a linha */
    justify-content: left;
    gap: 2.5rem; /* Espaçamento entre os cards */
    max-width: 1000px; /* Limita a largura do contêiner de cards */
    margin: 0 auto;
}

/* --- INÍCIO: CSS para o modelo de avaliação moderno e atraente --- */

/* ... (seus estilos existentes para :root, #avaliacoes-modernas, h2, etc.) ... */

/* NOVO: Container para Depoimentos e Selos */
.avaliacoes-e-selos-wrapper {
    display: flex; /* Habilita Flexbox para alinhar itens lado a lado */
    flex-wrap: wrap; /* Permite que os itens quebrem a linha em telas menores */
    justify-content: center; /* Centraliza os itens horizontalmente */
    align-items: flex-start; /* Alinha os itens ao topo */
    gap: 2.5rem; /* Espaçamento entre os depoimentos e a área de selos */
    max-width: 1000px; /* Limita a largura total do wrapper */
    margin: 0 auto 3rem auto; /* Centraliza e adiciona margem inferior para separar da próxima seção */
}

/* Ajuste para o contêiner de depoimentos dentro do novo wrapper */
.depoimento-cards-container {
    /* Mantenha seus estilos existentes aqui: */
    /* display: flex; */
    /* flex-wrap: wrap; */
    /* justify-content: left; */ /* Altere para 'flex-start' ou 'center' se necessário */
    /* gap: 2.5rem; */
    /* max-width: 1000px; */
    /* margin: 0 auto; */

    /* NOVO: Garante que os depoimentos ocupem o espaço adequado */
    flex: 1; /* Permite que o container de depoimentos cresça */
    min-width: 300px; /* Largura mínima para o container de depoimentos */
    max-width: 65%; /* Limita a largura para deixar espaço para os selos */
    justify-content: center; /* Centraliza os cards de depoimento dentro do container */
}

/* ... (restante do seu CSS para .depoimento-card-moderno, etc.) ... */
.depoimento-card-moderno {
    background-color: var(--card-bg-color);
    border-radius: 12px; /* Cantos mais arredondados */
    box-shadow: var(--card-shadow); /* Sombra mais pronunciada e moderna */
    padding: 2rem;
    width: 100%;
    max-width: 450px; /* Largura máxima para cada card */
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.depoimento-card-moderno:hover {
    transform: translateY(-8px); /* Efeito de flutuação ao passar o mouse */
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15); /* Sombra mais intensa no hover */
}

.card-header-moderno {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}

.avatar-moderno {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 1rem;
    border: 3px solid var(--avatar-border); /* Borda sutil no avatar */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.info-moderno {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centraliza verticalmente o nome e estrelas */
}

.nome-cliente-moderno {
    font-weight: bold;
    color: var(--text-color);
    font-size: 1.15rem;
    margin: 0;
    line-height: 1.2;
}

.estrelas-moderno {
    font-size: 1.1rem; /* Tamanho das estrelas */
    margin-top: 0.2rem;
    line-height: 1;
}

.estrelas-moderno .estrela-preenchida {
    color: var(--star-filled); /* Estrela preenchida */
}

.estrelas-moderno .estrela-vazia {
    color: var(--star-empty); /* Estrela vazia */
}

.texto-avaliacao-moderno {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text-quote); /* Cor para o texto do depoimento */
    margin-bottom: 0; /* Remove margem inferior padrão */
    font-style: italic; /* Geralmente depoimentos ficam bem em itálico */
}

/* Responsividade */
@media (max-width: 768px) {
    #avaliacoes-modernas {
        padding: 2rem 1rem;
    }

    #avaliacoes-modernas h2 {
        font-size: 2em;
        margin-bottom: 2rem;
    }

    .depoimento-cards-container {
        gap: 1.5rem;
    }

    .depoimento-card-moderno {
        padding: 1.5rem;
        max-width: 100%; /* Ocupa a largura total em telas menores */
    }

    .avatar-moderno {
        width: 50px;
        height: 50px;
        margin-right: 0.8rem;
    }

    .nome-cliente-moderno {
        font-size: 1rem;
    }

    .estrelas-moderno {
        font-size: 1rem;
    }

    .texto-avaliacao-moderno {
        font-size: 0.9rem;
    }
}

/* NOVO: Container para os Selos e Tópicos de Benefícios */
.selos-e-beneficios {
    display: flex;
    flex-direction: column; /* Empilha os itens verticalmente */
    align-items: flex-end; /* Alinha os itens à direita dentro deste container */
    gap: 15px; /* Espaçamento entre as imagens e os tópicos */
    
    padding: 20px; /* Um pouco de padding interno */
    background-color: var(--card-background); /* Fundo branco para o container */
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0); /* Sombra suave */
    
    flex: 0 0 280px; /* Não cresce, não encolhe, largura fixa de 280px */
    max-width: 30%; /* Limita a largura máxima em relação ao wrapper */
    text-align: right; /* Alinha o texto à direita */
}

/* Estilos para as imagens de selo */
.imagem-selo-garantia,
.imagem-selo-qualidade-suporte {
    max-width: 150px; /* Ajuste o tamanho máximo da imagem */
    height: auto;
    display: block; /* Garante que a imagem se comporte como um bloco */
    margin-left: auto; /* Empurra a imagem para a direita */
}

.imagem-selo-qualidade-suporte {
    max-width: 135px; /* Pode ser um pouco maior ou menor, ajuste conforme sua imagem */
    margin-top: 10px; /* Espaço entre as duas imagens de selo */
}

/* Estilos para a lista de benefícios (os tópicos) */
.lista-beneficios {
    list-style: none; /* Remove os marcadores de lista padrão */
    padding: 0;
    margin: 15px 0 0 0; /* Espaço acima da lista */
    text-align: right; /* Alinha o texto da lista à direita */
    font-size: 1rem;
    color: var(--text-color);
}

.lista-beneficios li {
    margin-bottom: 8px; /* Espaço entre cada item da lista */
    font-weight: 600; /* Texto em negrito */
    position: relative; /* Para posicionar um ícone/check se quiser no futuro */
    padding-right: 25px; /* Espaço para um possível ícone na direita */
}

/* Opcional: Adicionar um ícone de "check" ao lado de cada tópico (sem usar imagem) */
.lista-beneficios li::after {
    content: '\2713'; /* Caractere de checkmark Unicode */
    color: var(--success-color); /* Cor verde para o check */
    position: absolute;
    right: 0;
    top: 0;
    font-weight: bold;
    font-size: 1.1em;
}

/* --- Media Query para Responsividade em Telas Menores (Mobile) --- */
@media (max-width: 768px) {
    /* ... seus estilos existentes para mobile ... */

    /* NOVO: Esconde a segunda imagem de selo em dispositivos móveis */
    .imagem-selo-qualidade-suporte {
        display: none; /* Isso fará com que a imagem não apareça */
    }

    /* Opcional: Se quiser ajustar o tamanho da imagem de garantia em mobile */
    .imagem-selo-garantia {
        max-width: 120px; /* Um pouco menor para mobile */
    }

    /* ... continue com o restante dos seus estilos existentes para mobile ... */
}

.pulse-animation {
  animation: pulse 1.5s infinite;
}

@keyframes pulso { /* O nome do keyframes está em português: 'pulso' */
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }
    70% {
        transform: scale(1.1);
        box-shadow: 0 0 0 10px rgba(37, 211, 102, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

/* Esta é a classe que seu JavaScript adiciona para ativar a animação */
.animacao-de-pulso {
    /* Use o nome do keyframes 'pulso' aqui */
    animation: pulso 1.5s infinite ease-in-out; 
}

.whatsapp-button {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #25D366;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  z-index: 1000;
}

.whatsapp-button img {
  width: 30px;
  height: 30px;
}

.whatsapp-alert {
  position: absolute;
  top: 1px;
  right: -4px;
  background-color: red;
  color: white;
  font-weight: bold;
  font-size: 14px;
  width: 20px;
  height: 20px;
  text-align: center;
  line-height: 20px;
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.purchase-alert {
  position: fixed;
  bottom: 21%;
  left: 4%;
  background-color: #f56300;
  color: #333;
  padding: 10px 16px;
  font-size: 13px;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
  max-width: 260px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  z-index: 9999;
  pointer-events: none;
}

.purchase-alert.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.top-banner {
  /* REMOVIDO: position: fixed; */
  /* REMOVIDO: top: 0; */
  left: 0;
  width: 100%;
  background: linear-gradient(1deg, #4d0a0a, #ff3b00);
  color: #fff;
  text-align: center;
  padding: 3px 0px;
  font-size: 14px;
  font-weight: 500;
  z-index: 9999;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

