/* trawiasta.pl – wspólne menu (hamburger) */
.site-menu { position: fixed; top: 1rem; right: 1rem; z-index: 50; font-family: 'Outfit', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.site-menu.inline { position: relative; top: auto; right: auto; }
.site-menu .menu-toggle {
  width: 3rem; height: 3rem; padding: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(10, 12, 10, 0.75); color: #3dff7a;
  border: 1px solid rgba(61, 255, 122, 0.3); border-radius: 0.9rem;
  box-shadow: 0 0 20px rgba(61, 255, 122, 0.12);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  font-size: 1rem; letter-spacing: 0; text-transform: none; cursor: pointer; margin: 0;
  transition: background 0.2s, box-shadow 0.2s;
}
.site-menu .menu-toggle:hover { transform: none; background: rgba(61, 255, 122, 0.12); box-shadow: 0 0 24px rgba(61, 255, 122, 0.25); }
.site-menu .menu-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.menu-icon { position: relative; width: 1.3rem; height: 2px; background: currentColor; border-radius: 2px; transition: background 0.2s; }
.menu-icon::before, .menu-icon::after {
  content: ""; position: absolute; left: 0; width: 100%; height: 2px; background: currentColor; border-radius: 2px;
  transition: transform 0.25s ease, top 0.25s ease;
}
.menu-icon::before { top: -7px; }
.menu-icon::after { top: 7px; }
.menu-toggle[aria-expanded="true"] .menu-icon { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-icon::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-icon::after { top: 0; transform: rotate(-45deg); }
.menu-panel {
  position: absolute; top: calc(100% + 0.6rem); right: 0; min-width: 14rem;
  background: #0c110c; border: 1px solid rgba(61, 255, 122, 0.22);
  border-radius: 1.1rem; padding: 0.5rem; text-align: left;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 40px rgba(61, 255, 122, 0.08);
  opacity: 0; visibility: hidden; transform: translateY(-8px) scale(0.98); transform-origin: top right;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}
.menu-panel.open { opacity: 1; visibility: visible; transform: none; transition: opacity 0.2s ease, transform 0.2s ease; }
.menu-panel ul { list-style: none; margin: 0; padding: 0; }
.site-menu .menu-panel a {
  display: block; padding: 0.75rem 1rem; border-radius: 0.75rem; border: none; background: transparent; box-shadow: none;
  color: #e8f5e9; text-decoration: none; font-weight: 500; font-size: 1rem;
}
.site-menu .menu-panel a:hover, .site-menu .menu-panel a:focus-visible { background: rgba(61, 255, 122, 0.12); color: #3dff7a; outline: none; }
.site-menu .menu-panel a[aria-current="page"] { color: #3dff7a; }
@media (max-width: 480px) {
  .menu-panel { position: fixed; top: 4.6rem; left: 1rem; right: 1rem; min-width: 0; }
  .site-menu .menu-panel a { padding: 0.95rem 1rem; font-size: 1.05rem; }
}
@media (prefers-reduced-motion: reduce) { .menu-panel, .menu-icon::before, .menu-icon::after { transition: none; } }
