/* ── Mega menu (components/nav.php, data: components/nav-data.php) ── */
.nav-links > li { position: static; }
.nav-links > li.is-active > a, .nav-links > li.is-active > .nav-trigger { color: var(--ink); font-weight: 600; }
.nav-links > li.is-active > a::after { width: 100%; }

.nav-trigger { display: inline-flex; align-items: center; gap: .3rem; height: 64px; padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: .875rem; font-weight: 500; color: var(--body); transition: color .18s; position: relative; }
.nav-trigger:hover, .has-mega.open > .nav-trigger, .has-mega:focus-within > .nav-trigger { color: var(--ink); }
.nav-trigger::after { content: ''; position: absolute; bottom: 18px; left: 0; width: 0; height: 1.5px; background: var(--green); border-radius: 99px; transition: width .35s var(--ease-out); }
.has-mega.is-active > .nav-trigger::after, .has-mega:hover > .nav-trigger::after, .has-mega.open > .nav-trigger::after { width: 100%; }
.nav-chev { transition: transform .25s; }
.has-mega:hover .nav-chev, .has-mega.open .nav-chev { transform: rotate(180deg); }

.mega { position: absolute; top: 64px; left: 50%; transform: translate(-50%, 8px); width: min(1080px, 94vw);
  background: #fff; border: 1px solid var(--border); border-radius: 0 0 18px 18px; box-shadow: 0 24px 60px rgba(0, 0, 0, .14);
  opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .18s ease, transform .22s ease, visibility 0s linear .22s; z-index: 520; }
.has-mega:hover > .mega, .has-mega.open > .mega, .has-mega:focus-within > .mega {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); transition: opacity .18s ease, transform .22s ease, visibility 0s; }
.has-mega.esc > .mega { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

.mega-inner { display: grid; gap: 1.6rem 2rem; padding: 1.6rem 2rem 1.2rem; }
.mega-inner.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mega-inner.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mega-inner.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mega-inner.cols-2 .mega-col ul { columns: 2; column-gap: 1.6rem; }
.mega-grid .mega-col ul { columns: 3; column-gap: 1.6rem; }

.mega-col { min-width: 0; }
.mega .mega-h { display: flex; align-items: center; gap: .45rem; font-family: 'Bricolage Grotesque', sans-serif; font-size: .95rem; font-weight: 800;
  color: var(--ink); padding-bottom: .55rem; margin-bottom: .45rem; border-bottom: 1px solid var(--border); }
.mega .mega-h svg { width: 17px; height: 17px; color: var(--green-d); flex-shrink: 0; }
.mega .mega-h:hover { color: var(--green-d); }
.mega-n { margin-left: auto; font-family: 'Instrument Sans', sans-serif; font-size: .7rem; font-weight: 700; color: var(--green-d);
  background: rgba(29, 191, 115, .1); border-radius: 99px; padding: .1rem .5rem; }
.mega ul { list-style: none; margin: 0; padding: 0; }
.mega ul li { break-inside: avoid; }
.mega ul a { display: block; padding: .32rem 0; font-size: .86rem; font-weight: 500; color: var(--body); line-height: 1.35; }
.mega ul a:hover { color: var(--green-d); }
.mega ul a[aria-current="page"] { color: var(--green-d); font-weight: 700; }
.mega a::after { display: none !important; }
.mega .mega-all { display: inline-block; margin-top: .45rem; font-size: .8rem; font-weight: 700; color: var(--green-d); }

.mega-foot { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.6rem; padding: .85rem 2rem; background: var(--off);
  border-top: 1px solid var(--border); border-radius: 0 0 18px 18px; font-size: .82rem; }
.mega .mega-foot a { font-weight: 700; color: var(--ink); }
.mega .mega-foot a:hover { color: var(--green-d); }
.mega .mega-foot .mega-wa { margin-left: auto; font-weight: 600; color: var(--muted); }

@media (max-width: 1180px) {
  .nav-links { gap: 1.5rem !important; }
  .mega-inner { padding: 1.3rem 1.4rem 1rem; gap: 1.2rem 1.4rem; }
  .mega-foot { padding: .8rem 1.4rem; }
}

/* ── Mobile drawer groups ─────────────────────────────────────────── */
.mobile-nav-inner { overflow-y: auto; overscroll-behavior: contain; }
.mn-group summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; }
.mn-group summary::-webkit-details-marker { display: none; }
.mn-group summary .nav-chev { width: 18px; height: 18px; transition: transform .25s; }
.mn-group[open] summary .nav-chev { transform: rotate(180deg); }
.mn-sub { display: flex; flex-direction: column; padding: 0 0 1rem .2rem; }
.mn-sub a { padding: .42rem 0; font-size: .95rem; color: var(--body); text-decoration: none; }
.mn-sub a[aria-current="page"] { color: var(--green-d); font-weight: 700; }
.mn-sub .mn-h { margin-top: .8rem; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--green-d); display: flex; justify-content: space-between; }
.mn-sub .mn-h span { color: var(--muted); font-weight: 700; }
.mn-sub .mn-all { font-size: .85rem; font-weight: 700; color: var(--ink); }
.mn-link.mn-small { font-size: 1rem; font-weight: 600; color: var(--muted); }
.mobile-nav-links li:nth-child(8) .mn-link { transition-delay: .34s; }
.mobile-nav-links li:nth-child(9) .mn-link { transition-delay: .38s; }
.mobile-nav-links li:nth-child(10) .mn-link { transition-delay: .42s; }
