.elementor-3526 .elementor-element.elementor-element-6a1539c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3526 .elementor-element.elementor-element-00d13e2 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 15px 0px;}.elementor-3526 .elementor-element.elementor-element-1eceb63{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-3526 .elementor-element.elementor-element-6a1539c{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3526 .elementor-element.elementor-element-1eceb63{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-00d13e2 *//* =========================================================
   GNOSIS — HEADER + MENU MOBILE (VIDRO PREMIUM) — FINAL
   - Overlay mais escuro (prioriza menu)
   - Painel começa abaixo do header
   - Logo sempre visível
   - Tudo cabe numa tela (sem “scroll feio”)
   ========================================================= */

:root{ --nav-h: 72px; } /* JS ajusta automaticamente */

/* ---------- HEADER ---------- */
.site-header{
  position: sticky !important;
  top: 0;
  z-index: 3000 !important;
  background: rgba(255,255,255,.96);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid rgba(11,18,32,.08);
}

.site-header-inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* Logo */
.brand{ display:flex; align-items:center; gap:10px; min-width:44px; }
.brand-logo{
  width: 34px; height: 34px;
  border-radius: 999px;
  overflow: hidden;
  background:#fff;
  border: 1px solid rgba(11,18,32,.08);
  box-shadow: 0 8px 20px rgba(11,18,32,.10);
  position: relative;
  z-index: 3100; /* acima do overlay */
}
.brand-logo img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Desktop nav */
.main-nav{ display:flex; align-items:center; gap:18px; }
.main-nav a{
  color: rgba(11,18,32,.86);
  text-decoration:none;
  font-weight:600;
  font-size:15px;
  padding:8px 10px;
  border-radius:999px;
  transition: background .18s ease, transform .18s ease;
}
.main-nav a:hover{ background: rgba(11,18,32,.06); }
.main-nav .nav-donate{
  background: rgba(61,139,255,.12);
  border: 1px solid rgba(61,139,255,.26);
}

/* Right side */
.header-right{ display:flex; align-items:center; gap:12px; }

.lang-switch{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px;
  border-radius:999px;
  border:1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.90);
  box-shadow: 0 10px 24px rgba(11,18,32,.06);
}
.lang-btn{
  border:0;
  background:transparent;
  color: rgba(11,18,32,.75);
  font-weight:900;
  font-size:12px;
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
}
.lang-btn.is-active{
  background: rgba(61,139,255,.14);
  color: rgba(11,18,32,.92);
  border: 1px solid rgba(61,139,255,.22);
}

/* Hamburger */
.menu-toggle{
  border:1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.90);
  border-radius:999px;
  width:44px; height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  cursor:pointer;
  box-shadow: 0 10px 24px rgba(11,18,32,.06);
  position: relative;
  z-index: 3100;
}
.menu-toggle span{
  display:block;
  width:18px; height:2px;
  background: rgba(11,18,32,.72);
  border-radius:999px;
  transition: transform .18s ease, opacity .18s ease;
}

/* vira X quando abre */
.site-header.is-open .menu-toggle span:nth-child(1){ transform: translateY(3px) rotate(45deg); }
.site-header.is-open .menu-toggle span:nth-child(2){ transform: translateY(-3px) rotate(-45deg); }

/* ---------- MOBILE OVERLAY PANEL ---------- */
/* IMPORTANT: começa abaixo do header */
.mobile-nav-panel{
  position: fixed;
  left:0; right:0;
  top: 0 !important;
  bottom: 0 !important;
  z-index: 2500;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-10px);
  transition: opacity .18s ease, transform .18s ease;

  /* ISTO é o que “baixa” o menu (não falha) */
  padding-top: calc(var(--nav-h, 72px) + env(safe-area-inset-top, 0px) + 10px) !important;
}


/* EDITA AQUI para “escurecer um pouco” */
.mobile-nav-panel::before{
  content:"";
  position:absolute; inset:0;
  background: rgba(38,18,32,.38);      /* <- MAIS ESCURO */
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
}

/* estado aberto (bate com o teu JS) */
.mobile-nav-panel.is-open{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* Card “vidro” */
.mobile-nav-inner{
  position: relative !important;
  margin: 0 12px 18px !important;   /* topo 0 porque agora quem desce é o padding do painel */
  padding: 14px;
  border-radius: 22px;

  background: rgba(11,18,32,.45);
  border: 1px solid rgba(255,255,255,.45);
  box-shadow: 0 24px 70px rgba(11,18,32,.18);
}


/* Botão X */
.mobile-close{
  position:absolute;
  top: 10px; right: 30px;
  width: 44px; height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.70);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  color: rgba(214,69,69,.95);
}

/* Links (cabem numa tela) */
.mobile-nav-links{
  display: grid;
  gap: 10px;
  margin-top: 54px; /* espaço pro X */
}
.mobile-nav-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(11,18,32,.10);
  font-weight: 900;
  font-size: 16px;  /* <- AQUI diminui para caber tudo */
  color: #0B1220;
  text-decoration:none;
}
.mobile-nav-links a::after{
  content:"›";
  opacity:.45;
  font-size: 22px;
}
.mobile-nav-links a[data-nav-key="donate"]{
  background: rgba(61,139,255,.14);
  border-color: rgba(61,139,255,.22);
}

/* remove bloco de idioma duplicado de baixo */
.mobile-lang{ display:none !important; }

/* trava scroll ao abrir */
html.no-scroll, body.no-scroll{ overflow:hidden !important; }

/* Responsivo */
@media (max-width: 992px){
  .main-nav{ display:none; }
}
@media (min-width: 993px){
  .mobile-nav-panel{ display:none !important; }
  .menu-toggle{ display:none !important; }
}/* End custom CSS */