/* ======= Added Enhancements for Header & Mega Menu ======= */

.mega {
  background: var(--card);
  box-shadow: var(--shadow);
  border-radius: var(--radius-lg);
  padding: 1rem 1.5rem;
  display: none;
}
.has-mega:hover .mega,
.has-mega.is-open .mega {
  display: block;
}

.mega-inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}
.mega-col h3 {
  font-size: 1rem;
  color: var(--brand);
  margin-bottom: 0.5rem;
}
.mega-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mega-col ul li a {
  display: block;
  padding: 0.3rem 0;
  color: var(--ink);
  text-decoration: none;
}
.mega-col ul li a:hover {
  color: var(--accent);
}
.mega-cta {
  align-self: center;
  text-align: center;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

/* Drawer (mobile) */
.drawer {
  position: fixed;
  top: 0; right: -100%;
  width: 80%; max-width: 320px;
  height: 100vh;
  background: var(--card);
  box-shadow: var(--shadow);
  transition: right var(--trans-slow);
  z-index: 1200;
  overflow-y: auto;
  padding: 1rem;
}
.drawer.is-open { right: 0; }

.drawer-group { margin-bottom: 1rem; }
.drawer-parent {
  width: 100%;
  text-align: left;
  font-weight: 600;
  border: none;
  background: none;
  font-size: 1rem;
}
.drawer-children {
  display: none;
  margin-left: 1rem;
}
.drawer-group.open .drawer-children {
  display: block;
}

/* Overlay for drawer */
.drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 1100;
}
.drawer-overlay.show {
  opacity: 1;
  visibility: visible;
}

/* Active link */
.nav a.active,
.drawer a.active {
  color: var(--accent);
  font-weight: 700;
}
