/* CarOffice, site institucional: cabeçalho fixo com vidro e menu de celular. */

.cb-topo {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  height: var(--st-topo);
  border-bottom: 1px solid transparent;
  transition: border-color .25s ease;
}
.cb-topo::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: var(--st-vidro);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  backdrop-filter: saturate(160%) blur(14px);
  opacity: .55; transition: opacity .25s ease;
}
/* Rolado ou com menu aberto: fundo sólido no próprio cabeçalho, para nenhum texto da página aparecer por baixo. */
.cb-topo.rolado, body.menu-aberto .cb-topo { border-bottom-color: var(--st-linha); background: var(--st-fundo-1); }
.cb-topo.rolado::before, body.menu-aberto .cb-topo::before { opacity: 1; background: var(--st-fundo-1); }
.cb-linha { display: flex; align-items: center; gap: 20px; height: 100%; }
.cb-marca { display: inline-flex; align-items: center; min-height: 44px; flex: none; }
.cb-marca:hover { text-decoration: none; }
.cb-marca img { width: 162px; height: 30px; }

.cb-menu { display: flex; align-items: center; flex: 1; }
.cb-menu ul { display: flex; align-items: center; gap: 2px; margin: 0 auto; padding: 0; list-style: none; }
.cb-menu a.cb-link {
  position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px;
  border-radius: 10px; color: var(--st-texto-2); font-size: .95rem; font-weight: 500;
}
.cb-menu a.cb-link:hover { color: var(--st-texto); text-decoration: none; background: var(--st-azul-suave); }
.cb-menu a.cb-link[aria-current="page"] { color: var(--st-texto); background: var(--st-azul-suave); }
.cb-menu a.cb-link[aria-current="page"]::after {
  content: ''; position: absolute; left: 14px; right: 14px; bottom: 6px; height: 2px; border-radius: 2px; background: var(--st-azul);
}
.cb-menu-acoes { display: none; }

.cb-acoes { display: flex; align-items: center; gap: 10px; flex: none; }
.cb-acoes .st-botao { min-height: 44px; padding: 0 18px; font-size: .92rem; }

.cb-idiomas { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 12px; border: 1px solid var(--st-linha); }
.cb-idiomas a {
  display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 8px;
  border-radius: 9px; font-family: var(--st-mono); font-size: .76rem; font-weight: 600;
  letter-spacing: .06em; color: var(--st-texto-3);
}
.cb-idiomas a:hover { color: var(--st-texto); text-decoration: none; }
.cb-idiomas a[aria-current="true"] { color: var(--st-texto); background: var(--st-azul-suave); }

.cb-botao-menu {
  display: none; place-items: center; width: 46px; height: 46px; margin-left: auto;
  border-radius: 12px; border: 1px solid var(--st-linha); background: transparent;
  color: var(--st-texto); cursor: pointer;
}
.cb-barras, .cb-barras::before, .cb-barras::after {
  display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}
.cb-barras { position: relative; }
.cb-barras::before, .cb-barras::after { content: ''; position: absolute; left: 0; }
.cb-barras::before { top: -6px; }
.cb-barras::after { top: 6px; }
.cb-botao-menu[aria-expanded="true"] .cb-barras { background: transparent; }
.cb-botao-menu[aria-expanded="true"] .cb-barras::before { transform: translateY(6px) rotate(45deg); background: var(--st-texto); }
.cb-botao-menu[aria-expanded="true"] .cb-barras::after { transform: translateY(-6px) rotate(-45deg); background: var(--st-texto); }

@media (max-width: 1120px) {
  .cb-acoes .cb-lista { display: none; }
}
@media (max-width: 980px) {
  .cb-botao-menu { display: inline-grid; }
  .cb-acoes { display: none; }
  .cb-menu {
    position: fixed; inset: var(--st-topo) 0 0 0; z-index: 49;
    display: none; flex-direction: column; align-items: stretch; gap: 24px;
    padding: 20px 18px 32px; overflow-y: auto;
    background: var(--st-fundo-0); border-top: 1px solid var(--st-linha);
  }
  .cb-menu.aberto { display: flex; }
  .cb-menu ul { flex-direction: column; align-items: stretch; gap: 4px; margin: 0; }
  .cb-menu a.cb-link { min-height: 52px; padding: 0 14px; width: 100%; font-size: 1.08rem; border: 1px solid var(--st-linha-2); }
  .cb-menu a.cb-link[aria-current="page"]::after { left: 0; right: auto; top: 12px; bottom: 12px; width: 3px; height: auto; }
  .cb-menu-acoes { display: grid; gap: 12px; }
  .cb-menu-acoes .st-botao { width: 100%; }
  .cb-menu-acoes .cb-idiomas { justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .cb-topo, .cb-topo::before, .cb-barras, .cb-barras::before, .cb-barras::after { transition: none; }
}
