/* Cabeçalho minimalista compartilhado: logo → tema → conta → menu. */
.site-header .nav{
  gap:14px;
}

.site-header .nav-cta{
  display:none!important;
}

/* O ícone do tema é desenhado como símbolo de texto, e não emoji.
   Isso evita o sol/lua gigante ou a bolinha branca que alguns navegadores
   (principalmente Safari/iOS) renderizam ao usar emoji colorido. */
.site-header .theme-toggle,
.site-header .login-theme-toggle{
  position:relative;
  display:grid!important;
  place-items:center;
  flex:0 0 auto;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  margin-left:auto;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.035)!important;
  color:#eff9fa!important;
  box-shadow:none!important;
  cursor:pointer;
  font-size:0!important;
  line-height:1!important;
  appearance:none;
  -webkit-appearance:none;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .2s ease;
}

.site-header .theme-toggle::before,
.site-header .login-theme-toggle::before{
  display:block;
  color:currentColor;
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-size:23px;
  font-weight:400;
  line-height:1;
  text-align:center;
  text-rendering:geometricPrecision;
}

/* Tema escuro ativo: mostra o sol (ação = ir para o claro). O seletor inclui
   variation selector de texto para impedir renderização como emoji. */
html[data-theme="dark"] .site-header .theme-toggle::before,
html[data-theme="dark"] .site-header .login-theme-toggle::before{
  content:"☀︎";
  color:#f4d36b;
}

/* Tema claro ativo: mostra lua monocromática. */
html:not([data-theme="dark"]) .site-header .theme-toggle::before,
html:not([data-theme="dark"]) .site-header .login-theme-toggle::before,
html[data-theme="light"] .site-header .theme-toggle::before,
html[data-theme="light"] .site-header .login-theme-toggle::before{
  content:"☾";
  color:#dff9fb;
}

.site-header .theme-toggle:hover,
.site-header .login-theme-toggle:hover{
  border-color:rgba(32,208,219,.65)!important;
  background:rgba(32,208,219,.08)!important;
  transform:translateY(-1px);
}

.site-header .theme-toggle:focus-visible,
.site-header .login-theme-toggle:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:3px;
}

.site-header .menu-toggle{
  display:block!important;
  flex:0 0 auto;
  width:44px;
  height:44px;
  margin-left:auto;
  padding:7px;
  border:0;
  border-radius:12px;
  background:transparent;
  cursor:pointer;
}

.site-header .theme-toggle ~ .menu-toggle,
.site-header .login-theme-toggle ~ .menu-toggle{
  margin-left:0;
}

.site-header .menu-toggle span{
  display:block;
  width:25px;
  height:2px;
  margin:5px auto;
  border-radius:999px;
  background:#eff9fa;
  transition:transform .18s ease,opacity .18s ease;
}

.site-header .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-header .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.site-header .nav-links{
  position:fixed;
  top:82px;
  left:0;
  right:0;
  z-index:49;
  display:none;
  flex-direction:column;
  gap:0;
  margin-left:0;
  padding:16px max(20px,calc((100vw - 1180px) / 2));
  border-bottom:1px solid #1b383f;
  background:rgba(7,19,23,.985);
  color:#eff9fa;
  box-shadow:0 18px 38px rgba(0,0,0,.22);
  backdrop-filter:blur(18px);
}

.site-header .nav-links.open{display:flex}
.site-header .nav-links a{
  width:100%;
  padding:12px 2px;
  color:#eff9fa;
  font-size:13px;
  font-weight:700;
}
.site-header .nav-links a::after{display:none}
.site-header .nav-links a:hover{color:var(--teal)}

@media (max-width:650px){
  .site-header .nav-links{
    top:72px;
    padding:14px 18px 18px;
  }
  .site-header .menu-toggle{
    width:40px;
    height:40px;
    padding:5px;
  }
  .site-header .theme-toggle,
  .site-header .login-theme-toggle{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
  }
  .site-header .theme-toggle::before,
  .site-header .login-theme-toggle::before{
    font-size:21px;
  }
}
