/*
 * Grouped dropdown in the main menu (header.php).
 *
 * Used when a dropdown has a third level: each second-level item with children
 * becomes a column with a heading. Separate from assets/css/styles.css for the same
 * reason as two-column-process.css (that file can't be safely rebuilt), so every value
 * is a theme variable. The link cards inside reuse the existing .sub-menu-item markup.
 */

/* Columns: a group with more than two links spans two columns and lays its links out
   in two columns too; header.php sets --mega-menu-columns to the total. */
.mega-menu {
    display: grid;
    grid-template-columns: repeat(var(--mega-menu-columns, 3), minmax(0, 1fr));
    width: 100%;
    text-align: left;
}

.mega-menu__group {
    min-width: 0;
    padding: 0 calc(var(--spacing) * 4);
}

.mega-menu__group + .mega-menu__group {
    border-left: 1px solid var(--color-neutral-200);
}

.mega-menu__group--wide {
    grid-column: span 2;
}

.mega-menu__items {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
}

.mega-menu__group--wide .mega-menu__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Heading: lines up with the text inside the cards (their p-4). */
.mega-menu__heading {
    padding: 0 calc(var(--spacing) * 4) calc(var(--spacing) * 2);
}

.mega-menu__title {
    display: inline-flex;
    align-items: center;
    gap: calc(var(--spacing) * 1);
    color: var(--color-black);
    font-size: var(--text-xl);
    line-height: var(--text-xl--line-height);
    font-weight: var(--font-weight-semibold);
}

a.mega-menu__title:hover {
    color: var(--color-cyan-500);
}

.mega-menu__chevron {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
    color: var(--color-cyan-500);
}

.mega-menu__subtext {
    margin-top: calc(var(--spacing) * 1);
    color: var(--color-gray-500);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
}

/* Phone/tablet menu: group headings as small labels between the links. */
.mega-menu__mobile-heading {
    margin: calc(var(--spacing) * 3) 0 calc(var(--spacing) * 1);
    color: var(--color-gray-500);
    font-size: var(--text-sm);
    line-height: var(--text-sm--line-height);
}

.mega-menu__mobile-heading a {
    color: inherit;
}
