/* Public mega menu (desktop) and grouped mobile drawer. Uses the Clearwave tokens, so dark mode follows. */
.mm { position: static; gap: .25rem; align-items: center; }
.cw-nav__inner { position: relative; }
.mm-item { position: static; }
.mm-trigger {
  display: inline-flex; align-items: center; gap: .3rem; padding: .55rem .85rem; border-radius: 10px;
  border: 0; background: transparent; color: var(--cw-ink-soft); font: inherit; font-weight: 600; font-size: .95rem;
  cursor: pointer; text-decoration: none; transition: background .25s var(--cw-silk), color .25s var(--cw-silk);
}
.mm-trigger i { font-size: .7rem; transition: transform .3s var(--cw-silk); }
.mm-trigger:hover, .mm-trigger[aria-expanded="true"], .mm-trigger.active { background: var(--cw-seafoam-soft); color: var(--cw-teal-deep); }
.mm-trigger[aria-expanded="true"] i { transform: rotate(180deg); }
.mm-trigger:focus-visible, .mm-link:focus-visible { outline: 2px solid var(--cw-accent); outline-offset: 2px; }

.mm-panel {
  position: absolute; top: calc(100% - 6px); left: 50%; transform: translate(-50%, 8px);
  width: min(560px, calc(100vw - 2rem)); padding: 1.25rem; border-radius: var(--cw-radius-lg);
  background: var(--cw-surface); border: 1px solid var(--cw-line); box-shadow: var(--cw-shadow-lg);
  opacity: 0; visibility: hidden; pointer-events: none; z-index: 120;
  transition: opacity .25s var(--cw-silk), transform .35s var(--cw-silk), visibility 0s linear .25s;
}
.mm-panel--wide { width: min(1040px, calc(100vw - 2rem)); padding: 1.5rem 1.5rem 0; }
.mm-panel--narrow { width: 340px; }
.mm-item.open .mm-panel {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);
  transition: opacity .25s var(--cw-silk), transform .35s var(--cw-silk), visibility 0s;
}
.mm-grid { display: grid; gap: .25rem 1.25rem; }
.mm-grid--3 { grid-template-columns: repeat(3, 1fr); }
.mm-grid--2 { grid-template-columns: repeat(2, 1fr); }
.mm-heading {
  font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: var(--cw-ink-faint); margin: 0 .6rem .5rem;
}
.mm-link {
  display: flex; gap: .8rem; align-items: flex-start; padding: .65rem .6rem; border-radius: 12px;
  color: var(--cw-ink); text-decoration: none; transition: background .2s var(--cw-silk);
}
.mm-link:hover { background: var(--cw-surface-2); color: var(--cw-ink); }
.mm-icon {
  --mm-c: var(--cw-teal); flex: 0 0 38px; height: 38px; border-radius: 10px; display: inline-flex;
  align-items: center; justify-content: center; font-size: 1.1rem; color: var(--mm-c);
  background: color-mix(in srgb, var(--mm-c) 12%, transparent);
}
.mm-text { display: flex; flex-direction: column; min-width: 0; }
.mm-title { font-weight: 700; font-size: .92rem; display: flex; align-items: center; gap: .4rem; }
.mm-desc { font-size: .8rem; color: var(--cw-ink-soft); line-height: 1.35; margin-top: .1rem; }
.mm-soon {
  font-size: .6rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase;
  padding: .1rem .4rem; border-radius: 6px; background: #fef3c7; color: #92400e;
}
.mm-promo {
  display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; justify-content: space-between;
  margin: 1rem -1.5rem 0; padding: .9rem 1.5rem; border-top: 1px solid var(--cw-line);
  background: var(--cw-bg-tint); border-radius: 0 0 var(--cw-radius-lg) var(--cw-radius-lg);
  font-size: .85rem; color: var(--cw-ink-soft);
}
.mm-promo a { font-weight: 700; color: var(--cw-teal); text-decoration: none; white-space: nowrap; }
@media (max-width: 1100px) { .mm-grid--3 { grid-template-columns: repeat(2, 1fr); } }
@media (prefers-reduced-motion: reduce) { .mm-panel, .mm-trigger i { transition: none; } }

/* Mobile drawer groups */
.mdn-group { border-bottom: 1px solid var(--cw-line); }
.mdn-toggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between; padding: .85rem .25rem;
  background: none; border: 0; font: inherit; font-weight: 700; color: var(--cw-ink);
}
.mdn-toggle i { transition: transform .3s var(--cw-silk); }
.mdn-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.mdn-list { padding: 0 0 .6rem; }
.mdn-list .mm-link { padding: .55rem .25rem; }
.mdn-list .mm-heading { margin: .5rem .25rem .25rem; }

/* Footer now has five columns: brand + three product groups + company */
@media (min-width: 901px) { .cw-footer__inner { grid-template-columns: 1.5fr repeat(4, 1fr); gap: 2rem; } }

/* Footer: feature and comparison links (internal linking for search) */
.cw-footer__seo { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .9rem; padding: 1.1rem 0; border-top: 1px solid var(--cw-line); font-size: .82rem; }
.cw-footer__seo span { font-weight: 700; color: var(--cw-ink-soft); }
.cw-footer__seo a { color: var(--cw-ink-faint); text-decoration: none; }
.cw-footer__seo a:hover { color: var(--cw-teal); }
