/* ============================================================
   NAVBAR — barra de vidro fosco em largura total (todas as páginas)
   Logo à esquerda; telefone e menu em botões quadrados à direita.
   Sobre o topo escuro (hero, page-hero): vidro escuro + logo branca.
   Depois dele (.is-stuck):
   vidro claro + logo navy. Os links abrem num painel abaixo da barra.
   ============================================================ */
:root { --bar-h: 84px; }

.site-header.site-header--glass {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: var(--bar-h);
  transform: none;
  animation: none;
  padding: 0 max(var(--pad), calc((100% - var(--maxw)) / 2));
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,0.14);
  border-radius: 0;
  box-shadow: none;
  background: rgba(8,24,40,0.18);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  backdrop-filter: blur(18px) saturate(1.3);
  transition: background 0.3s, border-color 0.3s;
}
.site-header.site-header--glass::after { content: none; }
.site-header.site-header--glass .brand { width: clamp(150px, 13vw, 180px); }

.site-header.site-header--glass.is-stuck {
  background: rgba(247,249,251,0.78);
  border-bottom-color: rgba(0,68,124,0.12);
}

.nav-tools { display: flex; align-items: center; gap: 10px; }
.site-header.site-header--glass .nav-toggle,
.nav-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.site-header.site-header--glass .nav-toggle { flex-direction: column; gap: 5px; }
.site-header.site-header--glass .nav-toggle span { width: 20px; margin: 0; background: var(--navy); }
.nav-phone svg { width: 19px; height: 19px; }
.site-header.site-header--glass .nav-toggle:hover,
.nav-phone:hover { background: #E6ECF2; }

.site-header.site-header--glass.is-stuck .nav-toggle,
.site-header.site-header--glass.is-stuck .nav-phone { background: var(--navy); color: #fff; }
.site-header.site-header--glass.is-stuck .nav-toggle span { background: #fff; }

/* Painel do menu: cartão branco alinhado à grade, com 3 colunas de
   links + logo embaixo à esquerda + foto alta à direita. */
.site-header.site-header--glass .nav {
  position: absolute;
  top: 100%;
  left: max(var(--pad), calc((100% - var(--maxw)) / 2));
  right: max(var(--pad), calc((100% - var(--maxw)) / 2));
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.2fr);
  grid-template-rows: auto 1fr;
  align-items: start;
  gap: 0 clamp(28px, 4vw, 64px);
  max-height: calc(100svh - var(--bar-h) - 16px);
  overflow-y: auto;
  padding: 30px;
  background: #fff;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 30px 80px rgba(4,18,32,0.35);
  font: 400 1rem/1.3 var(--body);
  letter-spacing: 0;
  text-transform: none;
}
.site-header.site-header--glass .nav.open { display: grid; animation: nav-in 0.3s cubic-bezier(.2,.7,.2,1) both; }
@keyframes nav-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: none; }
}
.nav-col { display: flex; flex-direction: column; min-width: 0; }
.nav-col-head {
  margin: 8px 0 18px;
  font: 500 1.45rem/1.2 var(--display);
  letter-spacing: -0.02em;
  color: var(--text);
}
.site-header.site-header--glass .nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid var(--bg-line);
  color: var(--text-2);
  font: 400 1rem/1.3 var(--body);
  transition: color 0.2s;
}
.site-header.site-header--glass .nav a::after {
  content: "↗";
  flex: none;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 4px;
  background: var(--bg-alt);
  color: var(--navy);
  font-size: 0.85rem;
  transition: background 0.2s;
}
.site-header.site-header--glass .nav a:hover { color: var(--navy); }
.site-header.site-header--glass .nav a:hover::after { background: var(--yellow); }

.nav-panel-logo {
  grid-column: 1 / 4;
  grid-row: 2;
  align-self: end;
  display: block;
  width: clamp(200px, 21vw, 290px);
  aspect-ratio: 2.645 / 1;
  margin-top: 56px;
  background: var(--navy);
  -webkit-mask: url(assets/logo-fmc.svg) left bottom / contain no-repeat;
  mask: url(assets/logo-fmc.svg) left bottom / contain no-repeat;
}
.nav-panel-media {
  position: relative;
  grid-column: 4;
  grid-row: 1 / 3;
  align-self: stretch;
  min-height: 400px;
  margin: 0;
  overflow: hidden;
  border-radius: 6px;
  background: var(--bg-alt);
}
.nav-panel-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 960px) {
  .site-header.site-header--glass .nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nav-panel-media { display: none; }
}
@media (max-width: 680px) {
  .site-header.site-header--glass .nav {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 22px 22px 26px;
  }
  .nav-col-head { margin: 0 0 8px; font-size: 1.2rem; }
  .nav-panel-logo { grid-column: 1; grid-row: auto; width: 170px; margin-top: 4px; }
}

@media (max-width: 560px) {
  :root { --bar-h: 70px; }
  .site-header.site-header--glass .brand { width: 140px; }
  .site-header.site-header--glass .nav-toggle,
  .nav-phone { width: 40px; height: 40px; }
}

/* ---- Seletor de idioma (PT-BR / EN-US) ----
   Cada opção é um link para a mesma página no outro idioma. */
.lang {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-right: 6px;
  padding: 3px;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 8px;
}
.lang-opt {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 36px;
  padding: 0 10px;
  border-radius: 5px;
  font: 600 0.74rem/1 var(--body);
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.88);
  transition: background 0.2s, color 0.2s;
}
.lang-opt svg {
  flex: none;
  width: 20px;
  height: 14px;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.12);
}
.lang-opt:hover { background: rgba(255,255,255,0.14); color: #fff; }
.lang-opt.is-active { background: #fff; color: var(--navy); }
.site-header.site-header--glass.is-stuck .lang { border-color: rgba(0,68,124,0.22); }
.site-header.site-header--glass.is-stuck .lang-opt { color: var(--text-2); }
.site-header.site-header--glass.is-stuck .lang-opt:hover { background: rgba(0,68,124,0.08); }
.site-header.site-header--glass.is-stuck .lang-opt.is-active { background: var(--navy); color: #fff; }

@media (max-width: 560px) {
  .lang { margin-right: 2px; }
  .lang-opt { height: 32px; padding: 0 7px; }
  .lang-opt span { display: none; }
}
@media (max-width: 380px) {
  .site-header.site-header--glass .brand { width: 116px; }
  .nav-tools { gap: 6px; }
}
