/* Navegação e controles compartilhados pela home, blog e páginas institucionais. */
:root { --site-content-width: 1280px; --site-gutter: clamp(16px, 3vw, 40px); }
.navbar, .navbar.scrolled { background: #0c0c0d; }
.navbar__inner, .footer > .container {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--site-content-width);
  margin-inline: auto;
  padding-inline: var(--site-gutter);
}
.btn, #cta-nav { box-shadow: none !important; }
.btn--primary, #cta-nav { background: var(--color-primary); border-color: var(--color-primary); }
.btn--primary:hover, #cta-nav:hover { background: var(--color-primary-light); border-color: var(--color-primary-light); }
.navbar__cta .btn, #cta-nav { height: var(--nav-control-size); min-height: var(--nav-control-size); padding-block: 2px 0; border-width: 1px; line-height: 1.2; position: relative; }
.navbar__toggle { width: 48px; min-width: 48px; height: var(--nav-control-size); min-height: var(--nav-control-size); position: relative; justify-content: center; align-items: center; gap: 2px; padding: 2px 6px; border-radius: 8px; background: #1c1c1f; color: var(--text-primary); }
.navbar__toggle span { width: 16px; height: 2px; }
.navbar__toggle svg { width: 20px; height: 16px; }
.navbar__inner { --nav-action-font-size: .82rem; --nav-control-size: 36px; }
.navbar__logo-icon { width: var(--nav-control-size); height: var(--nav-control-size); }
.navbar__cta .btn--primary, #cta-nav, .navbar__toggle-label {
  font-family: inherit;
  font-size: var(--nav-action-font-size);
  font-weight: 600;
  letter-spacing: .01em;
}
.navbar__toggle-label { display: block; line-height: 1.2; text-transform: none; }
/* Compensação óptica da fonte, sem alterar a altura dos controles. */
.navbar__toggle > :is(span, svg, b) { position: relative; top: 1px; }
.navbar__toggle.active span:nth-child(1) { transform: rotate(45deg) translate(3.5px, 3.5px); }
.navbar__toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(3.5px, -3.5px); }
.navbar__links + .navbar__toggle { margin-left: auto; }
.navbar__logo, .navbar__links, .navbar__cta { flex-shrink: 0; }
.navbar__links { gap: 36px; }
@media (min-width: 1280px) {
  .navbar__inner { gap: 48px; }
  .navbar__link { display: inline-flex; align-items: center; min-height: 44px; padding-bottom: 0; }
}
@media (max-width: 1279px) {
  /* WebViews podem ampliar o texto sem ampliar o espaço disponível. */
  .navbar { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  .navbar__inner { justify-content: flex-start; gap: 10px; --nav-action-font-size: 13.12px; }
  .navbar__logo { font-size: 18.4px; }
  .navbar__cta .btn { transition-property: background-color, border-color, color, opacity, transform; }
  .navbar__links, .navbar__cta .btn--outline { display: none; }
  .navbar__cta { display: flex; margin-left: auto; }
  .navbar__toggle { display: flex; margin-left: 0; }
  .navbar__mobile { display: flex !important; }
  .navbar__mobile-overlay { display: block !important; }
}
.navbar__mobile { height: 100dvh; max-height: 100dvh; padding-bottom: max(24px, env(safe-area-inset-bottom)); overscroll-behavior: contain; }
.navbar__mobile a { min-height: 44px; display: flex; align-items: center; }
.cookie-banner__inner, .cookie-banner__actions { flex-wrap: wrap; }
.cookie-banner button { min-height: 44px; }
.cookie-banner { max-height: min(60dvh, 440px); overflow-y: auto; }
.footer__col-links a { display: inline-flex; align-items: center; min-height: 36px; }
.blog-filter-btn, .blog-pagination__btn, .sidebar-category-link,
.sidebar-newsletter__input, .sidebar-newsletter__btn { min-height: 44px; }
.blog-pagination__btn { min-width: 44px; }
.blog-pagination { flex-wrap: wrap; }
.legal-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
@media (max-width: 480px) {
  /* Uma unidade comum reduz marca, controles e espaços proporcionalmente. */
  .navbar__inner {
    --nav-unit: min(1px, .25vw);
    --nav-control-size: calc(32 * var(--nav-unit));
    --nav-action-font-size: calc(13.12 * var(--nav-unit));
    padding-inline: calc(16 * var(--nav-unit));
    gap: calc(10 * var(--nav-unit));
  }
  .navbar__logo { font-size: calc(14.4 * var(--nav-unit)); gap: calc(7 * var(--nav-unit)); white-space: nowrap; }
  .navbar__logo-icon svg { width: calc(20 * var(--nav-unit)) !important; height: calc(20 * var(--nav-unit)) !important; }
  #cta-nav { padding-inline: calc(12 * var(--nav-unit)); white-space: nowrap; }
  .navbar__toggle {
    width: calc(48 * var(--nav-unit));
    min-width: 44px;
    flex-shrink: 0;
    gap: calc(2 * var(--nav-unit));
    padding: calc(2 * var(--nav-unit)) calc(6 * var(--nav-unit));
  }
  .navbar__toggle span { width: calc(16 * var(--nav-unit)); height: calc(2 * var(--nav-unit)); }
  .navbar__toggle svg { width: calc(20 * var(--nav-unit)); height: calc(16 * var(--nav-unit)); }
  .navbar__toggle.active span:nth-child(1) { transform: rotate(45deg) translate(calc(3.5 * var(--nav-unit)), calc(3.5 * var(--nav-unit))); }
  .navbar__toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(calc(3.5 * var(--nav-unit)), calc(-3.5 * var(--nav-unit))); }
}
@media (max-height: 500px) and (max-width: 1279px) {
  .navbar__mobile { padding-top: 76px; }
  .cookie-banner { max-height: 50dvh; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn, .navbar__mobile, .navbar__mobile a { transition: none !important; }
}

/* Altura visual igual à logo; o alvo de toque continua com 44px. */
.navbar__cta .btn::after, .navbar__toggle::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: max(44px, var(--nav-control-size));
  transform: translateY(-50%);
}
