/* Cabeçalho fixo com mega menu. Fica transparente no topo e vira vidro ao rolar. */
.topo { position: fixed; inset: 0 0 auto; z-index: 50; transition: background-color var(--duration-slow) var(--ease-standard), box-shadow var(--duration-slow) var(--ease-standard); }
.topo.rolou { background: color-mix(in srgb, var(--wp-white) 88%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--border-default); }
.topo__in { display: flex; align-items: center; justify-content: space-between; height: 78px; }
.topo__logo { display: block; border: 0; }
.topo__logo img { height: 38px; width: auto; }

.menu { display: flex; align-items: center; gap: 4px; }
.menu > a:not(.btn), .menu__grupo > button {
  padding: 10px 14px; border: 0; border-radius: var(--radius-pill); background: none; cursor: pointer;
  color: var(--wp-ink); font: var(--fw-medium) 0.95rem/1 var(--font-body); text-decoration: none;
  transition: background-color var(--duration-fast) var(--ease-standard);
}
.menu > a:not(.btn):hover, .menu__grupo > button:hover, .menu__grupo:focus-within > button { background: var(--wp-surface-tint); }
.menu .menu__cta { margin-left: 10px; }

.menu__grupo { position: relative; }
.menu__grupo > button::after { content: ''; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg) translate(-2px, -2px); }

.mega {
  position: absolute; top: calc(100% + 10px); left: 50%; width: 760px; padding: 14px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;
  background: var(--wp-white); border-radius: var(--radius-lg);
  box-shadow: 0 30px 60px -20px rgba(42, 35, 66, 0.25), 0 0 0 1px var(--border-default);
  opacity: 0; visibility: hidden; transform: translate(-50%, 8px);
  transition: opacity var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard), visibility 0s var(--duration-base);
}
.menu__grupo:hover .mega, .menu__grupo:focus-within .mega, .menu__grupo.aberto .mega { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }
.mega__col { display: grid; align-content: start; gap: 2px; padding: 16px; border-radius: var(--radius-md); transition: background-color var(--duration-fast) var(--ease-standard); }
.mega__col:hover { background: var(--wp-surface-tint); }
.mega__col img { height: 34px; width: auto; margin-bottom: 12px; }
.mega__col a { padding: 4px 0; color: var(--text-secondary); font-size: 0.9rem; text-decoration: none; }
.mega__col a:hover { color: var(--accent-text); }
.mega__col .mega__titulo { margin-bottom: 6px; color: var(--wp-ink); font: var(--fw-semibold) 1rem/1.25 var(--font-display); }

.hamb { display: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--wp-ink); color: var(--wp-white); cursor: pointer; }
.hamb span { display: block; width: 18px; height: 2px; margin: 4px auto; background: currentColor; transition: transform var(--duration-slow) var(--ease-standard), opacity var(--duration-base); }
.hamb[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hamb[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamb[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 980px) {
  .topo__logo img { height: 32px; }
  .hamb { display: block; }
  .menu {
    position: fixed; inset: 78px 0 auto; flex-direction: column; align-items: stretch;
    max-height: calc(100vh - 78px); overflow: auto; padding: 16px var(--gutter) 28px;
    background: var(--wp-white); box-shadow: 0 20px 40px -20px rgba(42, 35, 66, 0.3);
    transform: translateY(calc(-100% - 90px)); visibility: hidden;
    transition: transform var(--duration-slow) var(--ease-standard), visibility 0s var(--duration-slow);
  }
  .menu.aberto { transform: none; visibility: visible; transition: transform var(--duration-slow) var(--ease-standard); }
  .menu > a:not(.btn), .menu__grupo > button { width: 100%; padding: 14px 4px; font-size: 1.05rem; text-align: left; border-radius: 0; }
  .menu .menu__cta { margin: 12px 0 0; }
  .mega { position: static; width: auto; display: none; grid-template-columns: 1fr; padding: 0 0 0 10px; opacity: 1; visibility: visible; transform: none; box-shadow: none; }
  .menu__grupo.aberto .mega { display: grid; }
  .menu__grupo:hover .mega { transform: none; }
  .mega__col img { display: none; }
}
