/* public/css/fm/nav.css
 *
 * Skin da Nav própria (fatia 1). Valores derivados do skin legado:
 *   .header.absolute   → posição/inset/z-index
 *   .navbar-menu       → barra pílula (bg --black #011222 = --fm-navy, radius 500px, padding 10/20/10/10, gap 4px)
 *   .navbar-menu-item-link → item (#fff, radius 500px, padding .5rem 1rem, Nunito Sans 1rem/400, hover #ffffff1a)
 *   .navbar-logo(.white) → logo preto visível por padrão (white = display:none); SVG intrínseco 125×43
 *   .badge.inverse     → social (40×40 círculo, bg #fff, color preto, hover --light-gray #caced1)
 *   .navbar-dropdown-inner → slab navy (bg --black, radius 3rem, padding 3rem)
 * Auto-contido: o skin legado coexiste (regras de elemento a/.body cascateiam),
 * então fixamos box-sizing/font/cor/decoração explicitamente em cada classe fm-.
 */

/* ——— casca / barra ——————————————————————————————————————————— */

.fm-nav,
.fm-nav * {
  box-sizing: border-box;
}

.fm-nav {
  /* GLOBAL: topnav FIXA — navegação sempre acessível ao rolar (regra do Heitor).
     A caixa do header é transparente e cobriria o conteúdo; pointer-events:none deixa
     o clique passar, e só os blocos interativos (logo/pílula/sociais) recebem evento. */
  position: fixed;
  inset: 0% 0% auto;
  z-index: 1000;
  width: 100%;
  pointer-events: none;
  /* padding-top 45px = posição da pílula do baseline (.navbar-menu em y≈45 no desktop) */
  padding: 45px 5% 0;
  font-family: var(--fm-font-body);
  color: var(--fm-white);
}
/* só os blocos interativos da barra recebem clique (o resto é transparente p/ o conteúdo).
   O logo agora vive DENTRO da pílula → herda o pointer-events dela. */
.fm-nav-menu,
.fm-nav-right {
  pointer-events: auto;
}

/* Grid de 3 colunas espelhando o skin legado (.navbar-inner):
 *   grid-template-columns: .25fr .5fr .25fr  → logo | menu (centralizado) | sociais
 * O menu pílula e os sociais ancoram no TOPO da barra; o logo desce ~5.5rem
 * (no skin o logo cai numa "linha" abaixo da pílula — paridade com o baseline:
 *  pílula em y≈48, logo em y≈136). align-items:start mantém pílula/sociais no topo. */
.fm-nav-bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr; /* colunas laterais iguais → pílula centralizada */
  align-items: start;
  gap: var(--fm-space-4);
  /* telas largas: barra (logo/pílula/sociais) centraliza no max-width em vez de
     espalhar logo e sociais p/ as bordas */
  max-width: var(--fm-max-width);
  margin: 0 auto;
}

/* logo DENTRO da pílula: primeiro item à esquerda, sempre branco (pílula navy) */
.fm-nav-logo {
  display: inline-flex;
  align-items: center;
  flex: none;
  padding-left: var(--fm-space-2);
  margin-right: var(--fm-space-3);
  text-decoration: none;
}

.fm-nav-logo-img {
  display: block;
  width: auto;
  height: 26px;
}

/* ——— menu (barra pílula) ————————————————————————————————————— */

.fm-nav-menu {
  display: flex;
  align-items: center;
  justify-self: center; /* pílula centralizada na coluna central (.5fr) */
  gap: 4px;
  background-color: var(--fm-navy);
  border-radius: 500px;
  padding: 10px 20px 10px 10px;
}

.fm-nav-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: var(--fm-space-2) var(--fm-space-4);
  border-radius: 500px;
  font-family: var(--fm-font-body);
  font-size: var(--fm-text-md);
  font-weight: 400;
  line-height: 1.6; /* paridade c/ .navbar-menu-item-link (herda 1.6 do .body) — define a altura da pílula */
  color: var(--fm-white);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.3s;
}

.fm-nav-item:hover {
  background-color: #ffffff1a;
}

/* reset do <button> que faz papel de item de menu.
 * NÃO usar `font: inherit` aqui: o atalho reimporia o font-size/line-height do .body
 * (18px/1.6 no desktop), deixando os toggles (Serviços/Produtos) ~3px mais altos que
 * os links simples e inchando a pílula. As props de fonte já vêm de .fm-nav-item. */
.fm-nav-item--toggle {
  background: none;
  border: 0;
  cursor: pointer;
  font-family: inherit;
}

/* chevron CSS (~10px) ao lado de Serviços/Produtos */
.fm-nav-caret {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.2s;
}

.fm-nav-dropdown.is-open .fm-nav-caret {
  transform: translateY(1px) rotate(-135deg);
}

/* ——— dropdowns ——————————————————————————————————————————————— */

.fm-nav-dropdown {
  position: relative;
}

/* painel fechado por padrão; estado abre */
.fm-nav-panel {
  display: none;
  position: absolute;
  top: 100%;
  z-index: 9999;
  margin-top: var(--fm-space-2);
}

.fm-nav-dropdown.is-open .fm-nav-panel {
  display: block;
}

.fm-nav-panel-title {
  font-family: var(--fm-font-display);
  font-size: var(--fm-text-sm);
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--fm-teal-soft);
  margin-bottom: var(--fm-space-4);
}

.fm-nav-panel-item {
  display: block;
  font-family: var(--fm-font-body);
  font-size: var(--fm-text-md);
  font-weight: 400;
  line-height: 1.2;
  color: var(--fm-white);
  padding: var(--fm-space-2) 0;
  text-decoration: none;
  transition: color 0.15s;
}

.fm-nav-panel-item:hover {
  color: var(--fm-teal-bright);
}

/* painel Serviços POLIDO (exceção E1): grid 4 colunas, proporcional ao conteúdo */
.fm-nav-panel--servicos {
  display: none;
  left: 50%;
  transform: translateX(-50%);
  max-width: 64rem;
  width: max-content;
  grid-template-columns: repeat(4, minmax(12rem, 1fr));
  gap: var(--fm-space-8) var(--fm-space-12);
  padding: var(--fm-space-12);
  background: var(--fm-navy);
  border-radius: var(--fm-radius-lg);
  box-shadow: 0 2px 24px #00000040;
}

.fm-nav-dropdown.is-open .fm-nav-panel--servicos {
  display: grid;
}

/* painéis pequenos (Produtos / mobile): navy, arredondado, mesmo item */
.fm-nav-panel--produtos,
.fm-nav-panel--mobile {
  min-width: 14rem;
  width: max-content;
  padding: var(--fm-space-6);
  background: var(--fm-navy);
  border-radius: var(--fm-radius-md);
  box-shadow: 0 2px 24px #00000040;
}

/* Produtos abre alinhado ao gatilho; mobile alinha à direita da barra */
.fm-nav-panel--mobile {
  right: 0;
}

/* ——— direita (sociais) ———————————————————————————————————————— */

.fm-nav-right {
  display: flex;
  align-items: center;
  justify-self: end; /* sociais alinhados à direita na coluna direita (.25fr) */
  gap: var(--fm-space-3);
  flex: none;
}

.fm-nav-social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--fm-white);
  color: var(--fm-navy);
  border: 1px solid transparent;
  line-height: 100%;
  text-decoration: none;
  transition: background-color 0.2s, border 0.2s;
}

.fm-nav-social:hover {
  background-color: var(--fm-gray-100);
}

.fm-nav-social svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* ——— responsivo (breakpoint do site.css: colapsa abaixo de 1280) ———
 *
 * Três bandas, espelhando o baseline congelado:
 *   >1279.98px (desktop): pílula completa; hambúrguer escondido.
 *   992–1279.98px (tablet): pílula central com só os 2 dropdowns + o hambúrguer
 *       JUNTOS (o skin escondia os links .hide-tablet e mostrava o burger dentro da
 *       mesma pílula); sociais escondidos. O burger é item da pílula (ícone, sem
 *       círculo).
 *   ≤991.98px (mobile): a pílula some; sobra só o hambúrguer, círculo navy, à direita
 *       (paridade com o baseline@375 — botão isolado no topo-direita). */

/* o hambúrguer (agora dentro da .fm-nav-menu) some no desktop */
.fm-nav-dropdown--mobile {
  display: none;
}

/* —— banda tablet: 992–1279.98 —— */
@media (min-width: 992px) and (max-width: 1279.98px) {
  /* esconde os links simples (.hide-tablet do skin) e os sociais */
  .fm-nav-item--plain,
  .fm-nav-right {
    display: none;
  }
  /* hambúrguer aparece como item da pílula (ícone branco, fundo transparente) */
  .fm-nav-dropdown--mobile {
    display: block;
  }
  .fm-nav-burger {
    background-color: transparent;
    color: var(--fm-white);
  }
  .fm-nav-burger:hover {
    background-color: #ffffff1a;
  }
  /* a pílula mantém o tratamento do desktop (só os 3 itens centralizados) */
}

/* —— banda mobile: ≤991.98 —— */
@media (max-width: 991.98px) {
  /* mobile: a pílula vira uma BARRA [logo | hambúrguer] ocupando a largura. */
  .fm-nav-bar {
    grid-template-columns: 1fr;
  }
  .fm-nav-menu {
    justify-self: stretch;
    justify-content: space-between; /* logo à esquerda, hambúrguer à direita */
    padding: 8px 10px 8px 16px;
  }
  .fm-nav-item--plain,
  .fm-nav-dropdown:not(.fm-nav-dropdown--mobile),
  .fm-nav-right {
    display: none;
  }
  .fm-nav-dropdown--mobile {
    display: block;
  }
  /* hambúrguer: ícone 36×36 transparente DENTRO da pílula-círculo */
  .fm-nav-burger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    background-color: transparent;
    color: var(--fm-white);
    border-radius: 50%;
  }
  .fm-nav-burger:hover {
    background-color: #ffffff1a;
  }
}
