/* ---------------------------------------------------------------------------
 * Cabeçalho — uma fonte só de estilo para todas as páginas
 *
 * O HTML do cabeçalho sempre foi include (`includes/header.php`), mas o CSS
 * dele estava copiado dentro de cada página, com o comentário "navbar idêntica
 * ao index.html". As cópias divergiram, como cópia sempre diverge:
 *
 *   - produtos.php tinha `font-size: 14px !important` e o menu saía um ponto
 *     maior que o da home;
 *   - 404.php não tinha cópia nenhuma e herdava o estilo cru do template —
 *     outra fonte, outras cores, logo de 40px em vez de 60px.
 *
 * Este arquivo é carregado por includes/header.php, junto com o HTML que ele
 * estiliza: quem inclui o cabeçalho recebe o estilo do cabeçalho. As regras
 * foram copiadas de index.php, que é a referência.
 *
 * Enquanto index.php ainda mantiver a cópia embutida dela, tests/navbar-igual
 * garante que as duas não divirjam: ele compara o resultado final no navegador
 * nas três páginas.
 * --------------------------------------------------------------------------- */

/* Medidas do eixo do site. Cada página também as declara; como o <style> da
 * página vem depois deste arquivo, o valor dela prevalece. Aqui elas existem
 * para a página que esquecer de declarar — foi assim que a 404 apareceu com a
 * navbar fora do eixo. */
:root {
  --container-max: 1200px;
  --container-gutter: 24px;
  --frame: 0px;
}

.navbar {
  position: fixed !important;
  top: 24px !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  width: min(var(--container-max), calc(100% - (var(--container-gutter) * 2))) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
}
.nav-block {
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  height: 72px !important;
  width: 100% !important;
  background-color: #ffffff !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
}
/* Navbar e Botão Contact 1:1 Fiel */
.navbar {
  background: transparent !important;
  padding: 0 !important;
}
.nav-block {
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  height: 72px !important;
  background-color: #ffffff !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
}
/* Logo com o mesmo recuo do original Harvest: imagem a 28px da borda da navbar.
   O recuo vem só do .brand (margin-left 18 + padding 10); o .nav-left não soma padding. */
.nav-left {
  display: flex !important;
  align-items: center !important;
  padding-left: 0 !important;
}
.nav-left .brand {
  margin: 0 10px 0 18px !important;
  padding: 10px !important;
}
.nav-right {
  display: flex !important;
  align-items: stretch !important;
  height: 100% !important;
}
/* Menu horizontal só no desktop. Abaixo de 992px quem comanda é o próprio Webflow,
   que move o .nav-menu para dentro de um overlay ao clicar no hambúrguer. Forçar
   display:flex aqui (como estava) deixava o menu aberto e transbordando no celular. */
@media (min-width: 992px) {
  .nav-menu {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    margin: 0 24px 0 0 !important;
  }
  /* No desktop o Contato é o botão vermelho da barra, não um item do menu. */
  #nav-contato-mobile {
    display: none !important;
  }
}
.nav-button, #whatsapp-btn {
  background-color: #d2a912 !important;
  color: #ffffff !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 36px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
}
/* A tipografia do cabeçalho é declarada aqui, e não herdada do body: cada
 * página define a própria fonte de corpo, e o botão saía em Merriweather na
 * 404 e em Arvo nas demais. Cabeçalho compartilhado tem de ser autossuficiente
 * — se depende do que a página define, volta a divergir. */
.nav-button, #whatsapp-btn,
.nav-button .text-button,
.nav-link {
  font-family: 'Montserrat', sans-serif !important;
}
.nav-button .text-button {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-size: 14px !important;
}
.nav-button:hover, #whatsapp-btn:hover {
  background-color: #d2a912 !important;
}
.nav-link:hover,
.nav-link:focus-visible {
  color: #d2a912 !important;
}
.nav-link {
  color: #383838 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
}
/* Item do menu que é só ícone. O traço usa currentColor, então acompanha o hover
   vermelho dos demais links sem precisar de regra própria. */
.nav-link-instagram svg {
  width: 20px;
  height: 20px;
  display: block;
}
/* Logo do cabeçalho.
 *
 * A altura vem do painel (`header.logo_height`), por variável. Antes o valor do
 * painel era escrito num style="" inline no <img> e nunca fazia efeito, porque
 * a regra abaixo usa !important — e !important em folha vence style="" inline.
 * O campo existia no painel e não mudava nada. */
.logo {
  max-height: 48px;
  width: auto;
  object-fit: contain;
}
@media (min-width: 992px) {
  .logo {
    height: var(--logo-height, 60px) !important;
    max-height: none;
  }
}

@media (max-width: 991px) {
  .logo {
    max-height: 46px;
  }
}

@media (max-width: 991px) {
  .nav-link:hover,
  .nav-link:focus-visible {
    background-color: #d2a912 !important;
    color: #ffffff !important;
  }
  /* No celular o menu é uma lista empilhada: o ícone sozinho ficaria sem rótulo e
     com área de toque pequena, então ganha o texto ao lado via ::after. */
  .nav-link-instagram {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }
  .nav-link-instagram::after {
    content: 'Instagram';
  }
}
@media (max-width: 991px) {
    .navbar {
      top: 16px !important;
      width: min(var(--container-max), calc(100% - (var(--container-gutter) * 2))) !important;
    }
}
@media (max-width: 768px) {
    :root {
      --container-gutter: 16px;
      --frame: 0px;
    }
}
@media (max-width: 991px) {
    /* Navbar: hambúrguer + menu em painel. O Webflow injeta o menu em .w-nav-overlay. */
    .nav-block {
      height: 64px !important;
    }
    /* Hambúrguer no vermelho da marca, ocupando a ponta direita da barra: é ele que
       recebe o chanfro do .nav-block, como o botão CONTATO faz no desktop. */
    /* Os !important aqui são necessários: o CSS do Webflow traz
       `.w-nav-button.w--open { background-color: #C8C8C8 }`, com especificidade maior
       que `.menu-button`. Sem eles, o botão aberto voltaria ao cinza do template. */
    .menu-button,
    .menu-button.w--open,
    .menu-button:hover,
    .menu-button:focus {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 64px !important;
      height: 64px !important;
      background-color: #d2a912 !important;
      color: #ffffff !important;
      font-size: 22px;
      border-radius: 0 !important;
      /* Sem isto o iOS pinta um véu cinza sobre o botão a cada toque. */
      -webkit-tap-highlight-color: transparent;
    }
    /* Com o menu ABERTO o painel branco desce logo abaixo da barra */
    .menu-button.w--open,
    .nav-block:has(.menu-button.w--open) {
      border-radius: 0 !important;
    }
    /* O ícone acompanha o botão em qualquer estado. */
    .menu-button .w-icon-nav-menu,
    .menu-button.w--open .w-icon-nav-menu {
      color: #ffffff !important;
    }
    .nav-block {
      border-radius: 0 !important;
    }
    /* O botão de Contato sai da barra e vira o último item do menu. */
    .nav-button, #whatsapp-btn {
      display: none !important;
    }
    .nav-menu {
      background-color: #ffffff;
      padding: 8px 0 16px;
      border-radius: 0;
      box-shadow: 0 18px 36px rgba(0, 0, 0, .16);
    }
    #nav-contato-mobile {
      display: block !important;
      width: auto !important;
      margin: 12px 20px 0 !important;
      padding: 16px 20px !important;
      background-color: #d2a912;
      color: #ffffff !important;
      text-align: center;
      border-bottom: none !important;
      border-radius: 0 !important;
    }
    .nav-menu .nav-link {
      display: block;
      width: 100%;
      padding: 15px 28px !important;
      margin: 0 !important;
      color: #383838 !important;
      border-bottom: 1px solid rgba(58, 94, 46, .1);
    }
    .nav-menu .nav-link:last-child {
      border-bottom: none;
    }
    .nav-left .brand {
      margin-left: 4px !important;
      padding-left: 6px !important;
    }
    .nav-button, #whatsapp-btn {
      padding: 0 22px !important;
    }
}
