/* style.css - Arquivo Mestre de Estilos */

/* --- IMPORTAÇÃO DE FONTES --- */
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* --- RESET E GERAL --- */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Montserrat', sans-serif !important;
    background-color: #fdfdfd;
    color: #333;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

a { text-decoration: none; color: inherit; transition: color 0.3s; }
img { max-width: 100%; display: block; }

/* --- MENU (NAVBAR) --- */
.navbar {
    background-color: #fff;
    padding: 20px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* --- LOGO EM IMAGEM --- */
.logo img {
    height: 40px; /* Altura ideal para menu. Ajuste se precisar maior/menor */
    width: auto;  /* Mantém a proporção para não distorcer */
    display: block;
    transition: transform 0.3s;
}

.logo:hover img {
    transform: scale(1.05); /* Um leve efeito de zoom ao passar o mouse */
}

.menu-links { display: flex; gap: 20px; align-items: center; }
.menu-links a {
    text-transform: uppercase;
    font-size: 0.85em;
    letter-spacing: 1px;
    color: #555;
}
.menu-links a:hover { color: #d4af37; }
.menu-divider { height: 20px; border-right: 1px solid #ddd; margin: 0 10px; }

/* --- BANNER HERO --- */
.hero {
    height: 400px;
    background-image: url('https://images.unsplash.com/photo-1573408301185-9146fe634ad0?auto=format&fit=crop&w=1200&q=80');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.hero::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.4); }
.hero-content { position: relative; z-index: 1; text-align: center; color: white; }
.hero-content h2 { font-family: 'Montserrat', sans-serif !important; font-size: 3em; margin-bottom: 10px; }
.hero-content p { font-size: 1.2em; font-weight: 300; }

/* --- REMOVER ESPAÇO ENTRE BANNER E BARRA --- */

/* Tira a margem de baixo do Carrossel */
.hero, #slider {
    margin-bottom: 0 !important;
}

/* Tira a margem de cima da Régua de Benefícios */
.beneficios-bar {
    margin-top: 0 !important;
    border-top: none !important; /* Remove borda se tiver */
}

/* --- BARRA DE BUSCA (CORRIGIDO) --- */
.search-box {
    display: flex;
    justify-content: center; /* Centraliza na tela */
    margin-top: -30px; /* Sobe para cima do banner */
    position: relative;
    z-index: 5;
    margin-bottom: 40px;
}

.search-box form {
    background: white;
    padding: 5px; /* Espacinho branco em volta */
    border-radius: 50px; /* Borda bem redonda */
    box-shadow: 0 5px 15px rgba(0,0,0,0.15); /* Sombra para destacar */
    display: flex; /* Coloca input e botão lado a lado */
    align-items: center;
}

.search-box input {
    border: none;
    background: transparent;
    padding: 15px 20px;
    width: 500px;
    outline: none; /* Tira a borda azul ao clicar */
    box-shadow: none;
    font-family: 'Montserrat', sans-serif !important;
}

.search-box button {
    width: 45px !important;
    height: 45px !important;
    border-radius: 50%;
    padding: 0;
    margin: 0 10px 0 0;
    background: #22223A;
    color: #d4af37; /* Cor da lupa */
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2em; /* Tamanho da lupa */
    transition: background 0.3s, transform 0.3s;
}

.search-box button:hover {
    background: #333;
    transform: scale(1.05);
}

/* NOVO ESTILO PARA A LUPA (SVG) */
.search-box button svg {
    fill: currentColor; /* Faz a lupa usar a cor do "color" definido acima */
    width: 20px; /* Tamanho da lupa */
    height: 20px;
}

/* --- VITRINE DE PRODUTOS --- */
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; flex: 1; }
.titulo-secao {
    text-align: center;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2em;
    margin-bottom: 40px;
    margin-top: 60px;
}

/* Correção do Card (Flexbox) */
.grid-produtos {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin-bottom: 70px;
}

.card {
    background: white;
    border: 1px solid #eee;
    transition: transform 0.3s;
    display: flex;
    flex-direction: column;
    width: 270px;
    min-width: 270px;
}
.card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.08); }
.card img { width: 100%; height: 300px; object-fit: cover; }

.card-info { padding: 20px; text-align: center; flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; }
.card-cat { color: #999; font-size: 0.75em; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; display: block; }
.card-title { font-family: 'Montserrat', sans-serif !important; font-size: 1.2em; margin-bottom: 10px; color: #22223A; }
.card-price { font-weight: bold; color: #d4af37; font-size: 1.1em; margin-bottom: 15px; }

.btn-detalhes, .btn-comprar {
    display: block; width: 100%; padding: 12px;
    background: #22223A; color: white; border: none;
    text-transform: uppercase; font-size: 0.8em; letter-spacing: 1px; cursor: pointer;
    text-decoration: none; font-weight: bold; text-align: center;
}
.btn-detalhes:hover, .btn-comprar:hover { background: #333; }

/* --- PÁGINA DE DETALHES (produto.php) --- */
.produto-container {
    max-width: 1100px; margin: 50px auto; padding: 0 20px;
    display: flex; flex-wrap: wrap; gap: 50px;
}
.img-box { flex: 1; min-width: 300px; }
.info-box { flex: 1; min-width: 300px; padding-top: 20px; }
.descricao { line-height: 1.6; color: #555; margin-bottom: 40px; font-size: 1.1em; border-top: 1px solid #eee; padding-top: 20px; }

.btn-whatsapp {
    display: inline-block;
    background-color: #25D366;
    color: white;
    padding: 15px 30px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.1em;
    transition: transform 0.2s;
}

.btn-whatsapp:hover { transform: translateY(-3px); }

/* --- RODAPÉ (FOOTER) --- */
footer {
    background-color: #22223A !important;
    color: #fff;
    padding: 0px 20px 20px;
    margin-top: 0px; }

.footer-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  border-bottom: 1px solid #333; padding-bottom: 30px; }

.footer-col { flex: 1; min-width: 250px; }
.footer-col h4 { color: #d4af37; font-family: 'Montserrat', sans-serif !important; margin-bottom: 20px; font-size: 1.2em; }
.footer-col p, .footer-col a { color: #bbb; font-size: 0.9em; line-height: 1.8; display: block; margin-bottom: 10px; }
.copyright { text-align: center; padding-top: 20px; font-size: 0.8em; color: #666; }

/* --- WHATSAPP FLUTUANTE --- */
.whatsapp-float {
    position: fixed; width: 60px; height: 60px; bottom: 40px; right: 40px;
    background-color: #25d366; color: #FFF; border-radius: 50px;
    text-align: center; font-size: 30px;
    z-index: 10000; display: flex; align-items: center; justify-content: center;
    transition: transform 0.3s;
    animation: pulse 2s infinite; /* Adicione essa linha */
}
.whatsapp-float:hover { transform: scale(1.1); }
.whatsapp-float img { width: 35px; height: 35px; }

/* Crie essa regra nova no final do arquivo */
@keyframes pulse {
	0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
	70% { box-shadow: 0 0 0 15px rgba(37, 211, 102, 0); }
	100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

/* --- PÁGINAS GERAIS (Sobre / Contato / Login) --- */
.login-box { background: white; padding: 40px; border-radius: 8px; width: 300px; text-align: center; margin: 50px auto; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
input, textarea, select { width: 100%; padding: 10px; margin: 10px 0; border: 1px solid #ddd; box-sizing: border-box; font-family: 'Montserrat', sans-serif !important; }
button { width: 100%; padding: 10px; background: #d4af37; border: none; color: white; font-weight: bold; cursor: pointer; }

/* Painel Admin Tabela */
table { width: 100%; border-collapse: collapse; background: #fff; margin-top: 20px; }
th, td { padding: 12px; border-bottom: 1px solid #ddd; text-align: left; }
th { background-color: #22223A; color: #d4af37; }

/* =========================================
   ÁREA ADMINISTRATIVA (Correção do Layout)
   ========================================= */

/* Fundo cinza para diferenciar do site principal */
.bg-admin {
    background-color: #f0f2f5;
    display: block; /* Anula o flex do body principal */
}

/* Caixa centralizada (tipo folha de papel) */
.admin-container {
    max-width: 1300px;
    margin: 50px auto;
    background: white;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Cabeçalho (Título a esquerda, botões a direita) */
.admin-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

.admin-header h1 { margin: 0; font-size: 1.8em; color: #22223A; }
.admin-header p { margin: 5px 0 0; color: #777; font-size: 0.9em; }

/* Botões do Topo */
.admin-buttons { display: flex; gap: 10px; }

.btn-ver-site {
    background: white; border: 1px solid #ccc; color: #333;
    padding: 8px 15px; border-radius: 4px; font-size: 0.9em; font-weight: bold;
}
.btn-sair {
    background: #ffe5e5; color: #d32f2f; border: 1px solid #ffcccc;
    padding: 8px 15px; border-radius: 4px; font-size: 0.9em; font-weight: bold;
}

/* Botão Adicionar (Verde destaque) */
.btn-novo {
    display: inline-block;
    background-color: #28a745;
    color: white;
    padding: 12px 25px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: background 0.3s;
}
.btn-novo:hover { background-color: #218838; }

/* Tabela do Admin */
.table-responsive { overflow-x: auto; }

table { width: 100%; border-collapse: collapse; margin-top: 0; }
th { background-color: #22223A; color: #d4af37; padding: 15px; text-align: left; font-size: 0.9em; text-transform: uppercase; letter-spacing: 1px; }
td { padding: 15px; border-bottom: 1px solid #eee; vertical-align: middle; }
tr:hover { background-color: #fafafa; }

/* Miniatura da foto na tabela */
.admin-thumb {
    width: 60px; height: 60px; object-fit: cover; border-radius: 4px; border: 1px solid #ddd;
}

/* Botão Excluir */
.btn-excluir {
    color: #dc3545; font-size: 0.85em; font-weight: bold;
    border: 1px solid #dc3545; padding: 5px 10px; border-radius: 4px;
    transition: all 0.2s;
}
.btn-excluir:hover { background: #dc3545; color: white; }

/* Estilo para Formulários do Admin */
.admin-form label {
    display: block;
    margin-bottom: 5px;
    margin-top: 15px;
    font-weight: bold;
    color: #22223A;
    font-size: 0.9em;
}

.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus {
    border-color: #d4af37;
    outline: none;
    box-shadow: 0 0 5px rgba(212, 175, 55, 0.3);
}

/* Botão Editar (Azul) */
.btn-editar {
    color: #007bff; font-size: 0.85em; font-weight: bold;
    border: 1px solid #007bff; padding: 5px 10px; border-radius: 4px;
    margin-right: 5px; /* Espaço entre o editar e o excluir */
    transition: all 0.2s;
}
.btn-editar:hover { background: #007bff; color: white; }

/* Arrumando os botões da tabela */
.acoes-btns {
    display: flex;        /* Coloca lado a lado de forma inteligente */
    gap: 8px;             /* Espaço entre os botões */
    justify-content: flex-start; /* Alinha no começo da célula */
    align-items: center;
}

/* Ajuste fino para garantir que não quebrem linha */
.btn-editar, .btn-excluir {
    white-space: nowrap; /* Impede que o texto "Editar" quebre */
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* --- SLIDESHOW (CARROSSEL) --- */
.hero {
    position: relative;
    height: 400px;
    overflow: hidden;
    background: #000; /* Fundo preto enquanto carrega */
}

.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0; /* Começa invisível */
    transition: opacity 1s ease-in-out; /* Efeito suave de troca */
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slide.ativo {
    opacity: 1; /* O slide ativo fica visível */
    z-index: 1;
}

/* --- TEXTO DO SLIDE (ESTILO LUXO/MINIMALISTA) --- */
.slide-content {
    text-align: center;
    color: white;
    z-index: 2;
    position: relative;

    /* O segredo do minimalismo: limitar a largura para não espalhar na tela */
    max-width: 800px;
    padding: 0 60px; /* Garante que não encoste nas setas */

    /* Animação suave subindo */
    animation: subirTexto 1s ease-out;
}

/* Título Principal (Elegante e Serfado) */
.slide-content h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2.5em;
    margin-bottom: 35px;
    font-weight: 400; /* Peso normal, não negrito */
    font-style: italic; /* O itálico dessa fonte é muito chique */
    line-height: 1.1;
    letter-spacing: 1px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3); /* Sombra suave, não dura */
}

/* Subtítulo (Moderno, Caixa Alta e Espaçado) */
.slide-content p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85em;
    font-weight: 400;
    text-transform: uppercase; /* Caixa alta */
    letter-spacing: 4px; /* Letras bem separadas = LUXO */
    margin-top: 10px;
    opacity: 0.9;
}

/* Animação para o texto entrar suave */
@keyframes subirTexto {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Ajuste para Celular (para não ficar gigante) */
@media (max-width: 768px) {
    .slide-content h2 { font-size: 2em; }
    .slide-content p { font-size: 0.7em; letter-spacing: 2px; }
    .seta-slide { padding: 10px; font-size: 18px; }
}

/* Sombra escura em cima da foto para ler o texto */
.overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.3); z-index: 0;
}

/* --- BOTÕES DE NAVEGAÇÃO DO SLIDE --- */
.seta-slide {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px; /* Centraliza verticalmente exato */
    color: white;
    font-weight: bold;
    font-size: 24px;
    transition: 0.3s ease;
    border-radius: 0 3px 3px 0;
    user-select: none; /* Impede de selecionar o texto da seta */
    z-index: 10; /* Fica por cima da imagem e do texto */
    background-color: rgba(0,0,0,0.2); /* Fundo levemente escuro */
    border: none;
}

/* Posicionamento */
.prev { left: 0; border-radius: 0 5px 5px 0; }
.next { right: 0; border-radius: 5px 0 0 5px; }

/* Efeito ao passar o mouse */
.seta-slide:hover {
    background-color: rgba(0,0,0,0.8); /* Fica bem preto ao passar o mouse */
}

/* --- PÁGINA DE DETALHES (REFINADA) --- */
.produto-container {
    max-width: 1100px;
    margin: 60px auto;
    padding: 0 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 60px; /* Mais espaço entre a foto e o texto */
    align-items: flex-start; /* Garante que o texto comece no topo */
}

/* Coluna da Imagem */
.img-box {
    flex: 1.2; /* A imagem ocupa um pouco mais de espaço */
    min-width: 300px;
}
.img-box img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08); /* Sombra suave e luxuosa */
}

/* Coluna das Informações */
.info-box {
    flex: 1;
    min-width: 300px;
    padding-top: 10px;
}

/* Categoria (ex: COLAR) */
.categoria {
    color: #999;
    text-transform: uppercase;
    letter-spacing: 3px; /* O segredo do visual chique */
    font-size: 0.75em;
    margin-bottom: 15px;
    display: block;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700;
}

/* Título do Produto */
.info-box h1 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 3em; /* Bem grande */
    color: #22223A;
    margin: 0 0 20px 0;
    line-height: 1.1;
}

/* Preço */
.preco {
    font-size: 2.2em;
    color: #d4af37; /* Dourado */
    font-weight: 400;
    margin-bottom: 5px;
    font-family: 'Montserrat', sans-serif !important;
}
.parcelas {
    color: #777;
    font-size: 0.95em;
    margin-bottom: 30px;
}

/* Descrição */
.descricao {
    line-height: 1.8;
    color: #555;
    margin-bottom: 40px;
    font-size: 1.05em;
    border-top: 1px solid #eee; /* Linha separadora */
    border-bottom: 1px solid #eee;
    padding: 25px 0;
}
.descricao h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.3em;
    margin-bottom: 15px;
    color: #22223A;
}

/* Botão WhatsApp Refinado */
.btn-whatsapp {
    display: flex; /* Para alinhar ícone e texto */
    align-items: center;
    justify-content: center;
    gap: 12px; /* Espaço entre o ícone e o texto */
    background-color: #25D366;
    color: white;
    padding: 18px 35px;
    border-radius: 6px; /* Borda um pouco mais quadrada, mais séria */
    text-decoration: none;
    font-weight: bold;
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 20px rgba(37, 211, 102, 0.3); /* Brilho verde suave */
    width: 100%; /* Botão largo */
}
.btn-whatsapp:hover {
    transform: translateY(-3px);
    background-color: #1ebc57;
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.5);
}
/* Ícone SVG dentro do botão */
.btn-whatsapp svg {
    width: 24px;
    height: 24px;
    fill: white;
}

/* --- GALERIA DE PRODUTOS (SLIDE) --- */
.galeria-wrapper {
    width: 100%;
}

/* Foto Grande Principal */
.foto-destaque {
    width: 100%;
    height: 400px; /* Altura fixa para ficar bonito */
    object-fit: cover; /* Corta a imagem para preencher sem esticar */
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    margin-bottom: 15px;
    transition: opacity 0.3s;
}

/* Container das Miniaturas */
.miniaturas-box {
    display: flex;
    gap: 10px;
    overflow-x: auto; /* Permite rolar se tiver muitas fotos */
    padding-bottom: 5px;
}

/* Miniatura individual */
.miniatura {
  width: 70px !important; /* FORÇA o tamanho da miniatura */
  height: 70px !important; /* FORÇA a altura da miniatura */
    object-fit: cover;
    border-radius: 4px;
    cursor: pointer;
    opacity: 0.6;
    border: 2px solid transparent;
    transition: all 0.2s;
}

.miniatura:hover, .miniatura.ativa {
    opacity: 1;
    border-color: #d4af37; /* Dourado quando selecionada */
    transform: scale(1.05);
}

/* =========================================
   PÁGINA SOBRE NÓS
   ========================================= */
.sobre-container {
    max-width: 1000px;
    margin: 60px auto;
    padding: 0 20px;
    display: flex; /* Coloca lado a lado */
    gap: 50px;
    align-items: center;
}

.sobre-img {
    flex: 1; /* Ocupa metade */
    min-width: 300px;
}
.sobre-img img {
    width: 100%;
    border-radius: 4px;
    box-shadow: 10px 10px 0px #d4af37; /* Sombra dourada charmosa */
}

.sobre-text {
    flex: 1; /* Ocupa a outra metade */
    text-align: justify;
    line-height: 1.8;
    color: #555;
}
.sobre-text h1 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2.5em;
    margin-bottom: 20px;
    color: #22223A;
}
.destaque-texto {
    color: #d4af37;
    font-weight: bold;
    font-style: italic;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.2em;
    margin: 20px 0;
    display: block;
}

/* =========================================
   PÁGINA CONTATO
   ========================================= */
.header-contato {
    background-color: #22223A; /* Azul escuro */
    color: white;
    text-align: center;
    padding: 60px 20px 80px; /* Padding extra embaixo para o card subir */
}
.header-contato h1 { margin: 0; font-family: 'Montserrat', sans-serif !important; font-size: 2.5em; }

.contato-wrapper {
    max-width: 1200px;
    margin: -50px auto 50px; /* Margem negativa faz subir no banner */
    background: white;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    position: relative;
    z-index: 2;
}

.form-side { flex: 1.5; min-width: 300px; }
.info-side {
    flex: 1;
    min-width: 250px;
    border-left: 1px solid #eee;
    padding-left: 40px;
}

.info-item { margin-bottom: 30px; }
.info-item h3 { font-family: 'Montserrat', sans-serif !important; margin-bottom: 10px; color: #22223A; font-size: 1.2em; }
.info-item p { color: #666; line-height: 1.6; margin: 0; }

/* Responsivo para celular */
@media (max-width: 768px) {
    .sobre-container { flex-direction: column; }
    .contato-wrapper { flex-direction: column; margin-top: 0; }
    .info-side { border-left: none; padding-left: 0; border-top: 1px solid #eee; padding-top: 30px; }
}

/* --- BOTÃO VER MAIS (HOME) --- */
.ver-mais-container {
    text-align: center;
    width: 100%;
    margin-top: 30px;
}

.btn-ver-mais {
    display: inline-block;
    padding: 10px 30px;
    border: 1px solid #ccc;
    background-color: white;
    color: #555;
    border-radius: 50px; /* Botão arredondado */
    text-decoration: none;
    font-size: 0.9em;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
}

.btn-ver-mais:hover {
    border-color: #22223A;
    background-color: #22223A;
    color: white;
    transform: translateY(-2px);
}

/* ======================================================
   RESPONSIVIDADE (VERSÃO CELULAR)
   ====================================================== */

   /* ======================================================
      RESPONSIVIDADE (VERSÃO CELULAR - CORRIGIDA)
      ====================================================== */
   @media (max-width: 768px) {

       /* 1. A BARRA DO TOPO (Navbar) */
       .navbar {
           display: flex;
           flex-direction: row; /* Garante que fiquem lado a lado */
           justify-content: space-between; /* Logo na ponta esquerda, Ícone na ponta direita */
           align-items: center;
           position: relative; /* Necessário para o menu flutuar a partir daqui */
           padding: 15px 20px;
           background: white;
           z-index: 10000;
       }

       /* 2. O ÍCONE DE HAMBÚRGUER */
       .menu-icon {
           display: block !important;
           font-size: 28px;
           cursor: pointer;
           color: #22223A;
           line-height: 1; /* Remove espaços extras verticais */
       }

       /* DENTRO DO @media (max-width: 768px) */

    /* Usando ID (#) para forçar a regra */
    #menuLista {
        display: none !important; /* OBRIGA a começar escondido */

        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: white;
        flex-direction: column;
        z-index: 99999;
        box-shadow: 0 10px 20px rgba(0,0,0,0.2);
        border-top: 1px solid #eee;
    }

    /* Quando o Javascript ativa, ele muda para FLEX */
    #menuLista.ativo {
        display: flex !important; /* OBRIGA a aparecer */
    }

       /* ESTILO DOS LINKS NO CELULAR */
       .menu-links a {
           padding: 20px;
           border-bottom: 1px solid #f5f5f5;
           width: 100%;
           text-align: center;
           color: #333;
           font-weight: bold;
           font-size: 0.95em;
       }
       .menu-divider { display: none; } /* Esconde o divisor */


       /* --- AJUSTES DO RESTO DO SITE PARA CELULAR --- */

       /* Banner menor */
       .hero { height: 250px; }
       .slide-content h2 { font-size: 1.8em; }
       .slide-content p { font-size: 0.7em; letter-spacing: 2px; }

       /* Produtos um embaixo do outro */
       .grid-produtos { gap: 20px; }
       .card { width: 100%; max-width: 350px; }

       /* Busca menor */
       .search-box { margin-top: -22px; }
       .search-box input { width: 180px; padding: 12px; }
       .search-box button { width: 40px !important; height: 40px !important; }

       /* Páginas Internas */
       .produto-container, .sobre-container, .contato-wrapper {
           flex-direction: column;
           padding: 0 20px;
           margin-top: 20px;
       }
       .img-box, .info-box, .sobre-img, .sobre-text, .form-side, .info-side {
           width: 100%; min-width: auto;
       }
       .info-side { border-left: none; border-top: 1px solid #eee; padding-top: 30px; padding-left: 0; }

       /* Ajuste da Galeria no Celular */
       .foto-destaque { height: 300px; }
       .miniaturas-box { justify-content: center; }

       /* Ajustes dos novos elementos no celular */
    .beneficios-bar { flex-direction: column; gap: 30px; }
    .item-beneficio { justify-content: center; text-align: left; }
    .news-form { flex-direction: column; }
    .news-form button { width: 100%; }
    .top-bar { font-size: 0.65em; padding: 10px 5px; }
   }

/* --- REGRA PADRÃO DO ÍCONE DE MENU (DESKTOP) --- */
/* Fora do @media, o ícone deve ficar escondido */
.menu-icon { display: none; }

/* --- TOP BAR (FAIXA DE AVISO) --- */
.top-bar {
    background-color: #22223A; /* Um tom mais escuro que o menu */
    color: #ccc;
    text-align: center;
    padding: 8px;
    font-size: 0.8em;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: bold;
}

/* --- RÉGUA DE BENEFÍCIOS --- */
.beneficios-bar {
    display: flex;
    justify-content: center;
    gap: 50px;
    padding: 80px 20px;
    background-color: #fff;
    border-bottom: 1px solid #eee;
    flex-wrap: wrap;
    margin-top: 50px;
    margin-bottom: 0px;
}

.item-beneficio {
    display: flex;
    align-items: center;
    gap: 15px;
}

.item-beneficio .icone {
    font-size: 2em; /* Tamanho do emoji/ícone */
}

.item-beneficio strong {
    display: block;
    color: #22223A;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.1em;
}

.item-beneficio p {
    margin: 0;
    color: #777;
    font-size: 0.85em;
}

/* --- NEWSLETTER --- */
.newsletter {
    background-color: #f9f9f9;
    padding: 80px 20px;
    text-align: center;
    margin-top: 0px;
}

.newsletter h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2em;
    color: #22223A;
    margin-bottom: 10px;
}

.newsletter p { color: #666; margin-bottom: 30px; }

.news-form {
    display: flex;
    justify-content: center;
    gap: 10px;
    max-width: 500px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.news-form input {
    padding: 15px;
    border: 1px solid #ddd;
    flex: 1;
    min-width: 200px;
}

.news-form button {
    padding: 15px 30px;
    background-color: #22223A;
    color: #d4af37;
    border: none;
    font-weight: bold;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background 0.3s;
}
.news-form button:hover { background-color: #000; }

/* --- EFEITO DE ZOOM NA FOTO --- */
.zoom-container {
    width: 100%;
    height: 400px; /* Mesma altura da imagem */
    overflow: hidden; /* O SEGREDO: Esconde o que sair da borda */
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    margin-bottom: 15px;
    cursor: crosshair; /* Muda o cursor para uma cruz */
    position: relative;
}

.zoom-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.1s ease-out; /* Movimento rápido e suave */
    display: block;
}

/* --- DASHBOARD (CARDS DO ADMIN) --- */
.dashboard-cards {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.dash-card {
    flex: 1;
    min-width: 200px;
    background: white;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    border-left: 5px solid #ddd; /* Cor padrão */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.dash-card h3 {
    margin: 0;
    font-size: 2.5em;
    color: #22223A;
    font-family: 'Montserrat', sans-serif !important;
}

.dash-card p {
    margin: 5px 0 0;
    color: #777;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: bold;
}

/* Cores Específicas */
.card-produtos { border-left-color: #22223A; } /* Azul da marca */
.card-leads { border-left-color: #d4af37; }    /* Dourado */
.card-valor { border-left-color: #28a745; }    /* Verde (Dinheiro) */

/* --- BANNER DE CATEGORIAS (ESTÁTICO) --- */
.banner-categoria {
    width: 100%;
    height: 250px; /* Mais baixo que o slide da home (que é 400px) */
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
}

.overlay-cat {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(34, 34, 58, 0.5); /* Azul da marca com transparência */
}

.banner-categoria h1 {
    position: relative;
    z-index: 2;
    color: white;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 3em;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
    letter-spacing: 2px;
    font-weight: 400;
    font-style: italic;
}

/* Ajuste para celular */
@media (max-width: 768px) {
    .banner-categoria { height: 180px; }
    .banner-categoria h1 { font-size: 2em; }

    .navbar {
        flex-wrap: wrap; /* Permite quebrar linha */
        padding: 15px;
    }

    /* Faz a busca cair para a linha de baixo no celular */
    .nav-search {
        order: 3; /* Força ser o terceiro item (depois do logo e icone) */
        width: 100%;
        margin: 15px 0 0 0; /* Espaço em cima */
        max-width: 100%;
    }

    .nav-search form {
        width: 100%; /* Barra ocupa a tela toda */
    }
}

/* --- RÉGUA DE BENEFÍCIOS (LUXO) --- */
.beneficios-bar {
    display: flex;
    justify-content: center;
    gap: 60px;
    padding: 40px 20px;
    background-color: #22223A;
    color: white;
    border-bottom: 1px solid #22223A;;
    flex-wrap: wrap;
    margin-bottom: 0px;
}

.item-beneficio {
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 350px;
}

/* Configuração dos Ícones SVG */
.icone-luxo {
    width: 45px;
    height: 45px;
    color: white; /* Cor do ícone */
    flex-shrink: 0; /* Não deixa o ícone esmagar */
    stroke-width: 20; /* Espessura da linha do desenho */
}

.item-beneficio strong {
    display: block;
    color: #fff; /* Título Branco */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.3em;
    margin-bottom: 5px;
    font-weight: 400; /* Fonte mais fina fica mais chique */
    letter-spacing: 0.5px;
}

.item-beneficio p {
    margin: 0;
    color: #D4AF37; /* Subtítulo Dourado (cor da imagem) */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9em;
    font-weight: 300;
    letter-spacing: 0.5px;
}

/* Responsivo: No celular fica um embaixo do outro */
@media (max-width: 768px) {
    .beneficios-bar {
        flex-direction: column;
        align-items: center; /* Centraliza tudo */
        gap: 40px;
        text-align: left; /* Mantém texto alinhado a esquerda do ícone */
    }
    .item-beneficio {
        width: 100%;
        justify-content: center; /* Centraliza o bloco na tela */
    }
}

/* --- BUSCA NO MENU (NAVBAR) --- */
.nav-search {
    flex-grow: 1; /* Faz a busca ocupar o espaço livre no meio */
    max-width: 500px; /* Limite para não ficar gigante em telas largas */
    margin: 0 20px; /* Espaço nas laterais */
}

.nav-search form {
    display: flex;
    align-items: center;
    background: #f5f5f5;
    border-radius: 50px; /* Pílula arredondada */
    border: 1px solid #e0e0e0;
    padding: 3px 3px 3px 15px; /* Padding interno */
}

.nav-search input {
    border: none;
    background: transparent;
    flex-grow: 1; /* Ocupa o espaço todo */
    outline: none;
    padding: 5px;
    font-size: 0.9em;
    color: #333;
    margin: 0 !important; /* Força remover margens padrão */
    box-shadow: none !important;
}

.nav-search button {
    background: #22223A;
    color: #d4af37;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
}

.nav-search button svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
}

/* --- SEÇÃO DESIGNER (ARTESANAL) --- */
.designer-section {
    background-color: #22223A; /* Azul da marca */
    color: white;
    padding: 80px 0;
    margin: 60px 0; /* Espaço antes e depois */
    width: 100vw !important; /* Força 100% da largura da viewport */
    position: relative; /* Para o left/right funcionarem se a seção estiver dentro de um container com padding */
    left: 50%;
    right: 50%;
    margin-left: -50vw; /* Puxa para a esquerda */
    margin-right: -50vw; /* Puxa para a direita */

    /* Outros estilos permanecem como estavam */
}

.designer-container {
    max-width: 1000px; /* Limita o conteúdo dentro dela */
    margin: 0 auto; /* Centraliza o conteúdo */
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    gap: 60px;
}

/* LADO DA IMAGEM (O ARCO) */
.designer-img-wrapper {
    position: relative;
    width: 350px;
    height: 450px;
    flex-shrink: 0;
}


/* A Foto em si (frente) */
.arco-foto {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 20px 20px; /* Arredonda só em cima */
    z-index: 2;
    background: #ccc;
}

.arco-foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* LADO DO TEXTO */
.designer-content {
    flex: 1;
}

.designer-content h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 3em;
    line-height: 1.2;
    margin-bottom: 20px;
    color: #fff;
}

.designer-content h2 em {
    font-style: italic;
    color: #d4af37; /* "à mão" em dourado */
}

.designer-content h2 u {
    text-decoration: underline;
    text-decoration-color: #d4af37;
    text-underline-offset: 8px;
}

.designer-content p {
    font-family: 'Montserrat', sans-serif !important;
    line-height: 1.8;
    font-size: 1.1em;
    margin-bottom: 20px;
    opacity: 0.9;
}

/* Botão */
.btn-designer {
    display: inline-block;
    background-color: #0B3B32; /* Verde profundo para destacar no azul (ou use dourado) */
    color: white;
    padding: 15px 40px;
    text-decoration: none;
    letter-spacing: 2px;
    font-size: 0.9em;
    font-weight: bold;
    margin-top: 10px;
    border: 1px solid rgba(255,255,255,0.2);
    transition: all 0.3s;
}

.btn-designer:hover {
    background-color: #d4af37;
    color: #22223A;
}

/* RESPONSIVO (CELULAR) */
@media (max-width: 768px) {
    .designer-container {
        flex-direction: column;
        text-align: center;
    }
    .designer-img-wrapper {
        width: 280px;
        height: 350px;
        margin-bottom: 30px;
    }
    .designer-content h2 { font-size: 2.2em; }
}

/* --- SEÇÃO DE DEPOIMENTOS --- */
/* --- SEÇÃO DE DEPOIMENTOS --- */
.depoimentos-section {
    background-color: #22223A; /* Azul da Marca */
    padding: 80px 0 100px;
    margin-top: 60px;
    color: white;
    text-align: center;
    overflow: hidden;

    width: 100vw !important; /* Força 100% da largura da viewport */
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw; /* Puxa para a esquerda */
    margin-right: -50vw; /* Puxa para a direita */

    /* Outros estilos permanecem como estavam */
}

.depoimentos-titulo {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2.5em;
    color: #d4af37; /* Dourado */
    margin-bottom: 60px;
}

/* Container que rola (Carrossel) */
.carrossel-depoimentos {
    display: flex;
    gap: 30px;
    overflow-x: auto; /* Permite rolar horizontalmente */
    padding: 40px 20px; /* Espaço para a sombra e foto saltada */
    scroll-behavior: smooth;

    /* Esconde a barra de rolagem feia */
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}
.carrossel-depoimentos::-webkit-scrollbar { display: none; } /* Chrome */

/* O Cartão do Cliente */
.depo-card {
    background: white;
    color: #333;
    min-width: 320px; /* Tamanho fixo do cartão */
    max-width: 320px;
    border-radius: 8px;
    padding: 60px 30px 30px; /* Padding topo grande para caber a foto */
    position: relative;
    text-align: center;
    flex-shrink: 0; /* Não deixa encolher */
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* A Foto Flutuante */
.depo-foto {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid white; /* Borda branca para destacar */
    position: absolute;
    top: -40px; /* Puxa para fora do cartão */
    left: 50%;
    transform: translateX(-50%); /* Centraliza */
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* Estrelas */
.depo-estrelas {
    color: #d4af37;
    font-size: 1.2em;
    margin-bottom: 15px;
}

/* Texto */
.depo-texto {
    font-style: italic;
    font-size: 0.95em;
    line-height: 1.6;
    color: #555;
    margin-bottom: 20px;
}

.depo-nome {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: bold;
    font-size: 1.1em;
    color: #22223A;
}
.depo-info {
    font-size: 0.8em;
    color: #888;
    display: block;
}

/* --- ANIMAÇÃO DE SCROLL (FADE IN) --- */
.reveal {
    opacity: 0;
    transform: translateY(30px); /* Começa um pouco pra baixo */
    transition: all 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.modal-fundo {
        display: none; /* Escondido por padrão */
        position: fixed; z-index: 99999; left: 0; top: 0; width: 100%; height: 100%;
        background-color: rgba(0,0,0,0.8); /* Fundo preto transparente */
        align-items: center; justify-content: center;
    }
    .modal-conteudo {
        background-color: white; padding: 30px; border-radius: 8px;
        max-width: 500px; width: 90%; text-align: center; position: relative;
        animation: descerModal 0.3s;
    }
    .fechar-modal {
        position: absolute; top: 10px; right: 20px; font-size: 30px; cursor: pointer; color: #aaa;
    }
    @keyframes descerModal { from {transform: translateY(-50px); opacity:0;} to {transform: translateY(0); opacity:1;} }

    /* --- BARRA DE COOKIES (LGPD) --- */
.cookie-banner {
    display: none; /* O JS ativa se precisar */
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 -5px 10px rgba(0,0,0,0.05);
    z-index: 999999;
    justify-content: center;
    align-items: center;
    gap: 20px;
    border-top: 2px solid #22223A;
}

.cookie-banner p {
    margin: 0;
    font-size: 0.9em;
    color: #555;
}

.cookie-banner button {
    background-color: #22223A;
    color: #d4af37;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-weight: bold;
    border-radius: 4px;
}

/* --- SEÇÃO INSTAGRAM --- */
.insta-section {
    margin-top: 80px;
    padding: 0;
    overflow: hidden;
}

.insta-grid {
    display: flex;
    flex-wrap: wrap;
}

.insta-item {
    flex: 1;
    min-width: 200px; /* Garante que não fique muito pequeno */
    height: 250px;
    position: relative;
    overflow: hidden;
}

.insta-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

/* Efeito de Zoom ao passar o mouse (Engajamento) */
.insta-item:hover img {
    transform: scale(1.1);
    opacity: 0.9;
}

/* --- DASHBOARD MODERNO (LAYOUT TIPO SAAS) --- */
body.bg-admin {
    background-color: #F4F7FE; /* Fundo cinza bem clarinho (moderno) */
    margin: 0;
    overflow-x: hidden;
}

/* Layout Geral: Flexbox */
.admin-wrapper {
    display: flex;
    min-height: 100vh;
}

/* 1. SIDEBAR (Menu Lateral) */
.sidebar {
    width: 260px;
    background-color: #ffffff;
    padding: 20px;
    display: flex;
    flex-direction: column;
    position: fixed; /* Fixo na esquerda */
    height: 100%;
    left: 0;
    top: 0;
    box-shadow: 2px 0 10px rgba(0,0,0,0.02);
    z-index: 100;
}

.sidebar-logo {
    margin-bottom: 40px;
    text-align: center;
}
.sidebar-logo img { width: 140px; }

.sidebar-menu a {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 20px;
    color: #888;
    text-decoration: none;
    border-radius: 12px;
    margin-bottom: 8px;
    font-weight: 500;
    transition: all 0.3s;
}

.sidebar-menu a:hover, .sidebar-menu a.active {
    background-color: #22223A; /* Azul da Marca */
    color: #fff;
    box-shadow: 0 5px 15px rgba(34, 34, 58, 0.3);
}

.sidebar-footer {
    margin-top: auto; /* Empurra para o final */
    padding-top: 20px;
    border-top: 1px solid #eee;
}

/* 2. ÁREA PRINCIPAL (Conteúdo) */
.main-content {
    margin-left: 260px; /* Espaço da sidebar */
    flex: 1;
    padding: 30px;
    width: calc(100% - 360px);
}

/* Header do Topo */
.top-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}
.top-header h2 { margin: 0; color: #22223A; font-family: 'Montserrat', sans-serif !important; }

/* 3. CARDS MODERNOS (Igual ao anexo) */
.grid-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 25px;
    margin-bottom: 30px;
}

.card-moderno {
    background: white;
    padding: 25px;
    border-radius: 16px; /* Borda bem redondinha */
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
    position: relative;
    transition: transform 0.2s;
}
.card-moderno:hover { transform: translateY(-5px); }

.card-icon {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 45px;
    height: 45px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
}

/* Cores dos ícones */
.icon-blue { background: #E3F5FF; color: #0099FF; }
.icon-green { background: #E5F9F0; color: #00C853; }
.icon-gold { background: #FFF8E1; color: #FFC107; }
.icon-purple { background: #EDE7F6; color: #673AB7; }

.card-label { font-size: 0.9em; color: #888; font-weight: 600; }
.card-number { font-size: 2.2em; font-weight: bold; color: #333; margin: 10px 0 5px; }
.card-sub { font-size: 0.8em; color: #aaa; }
.card-sub span { color: #00C853; font-weight: bold; } /* Verde para "crescimento" */

/* 4. TABELA MODERNA */
.table-container-modern {
    background: white;
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
}

.table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.status-badge {
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.75em;
    font-weight: bold;
    text-transform: uppercase;
}
.badge-cat { background: #E3F5FF; color: #0099FF; } /* Azulzinho estilo Tag */

/* Responsivo para celular */
@media (max-width: 768px) {
    .sidebar { display: none; } /* Esconde menu no celular por enquanto */
    .main-content { margin-left: 0; width: 100%; }
}
