/* Named link groups share one layout, including groups composed in the builder. */
.site-menu-link-columns {
    align-items: stretch;
    --block-gap: var(--panel-gap, var(--bs-spacer-7));
    --link-column-gap: var(--block-gap);
}
.site-menu-link-columns > .site-menu-block--group {
    position: relative;
    --block-gap: var(--panel-gap, var(--bs-spacer-1));
}
.site-menu-link-columns > .site-menu-block--group > .site-menu-block-heading {
    margin-block-end: var(--bs-spacer-3);
    padding-inline: var(--panel-link-padding, var(--bs-spacer-4));
    color: var(--menu-muted);
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-font-size-sm);
    font-weight: var(--bs-font-weight-semibold);
    line-height: var(--bs-body-line-height);
    letter-spacing: var(--cms-label-letter-spacing);
}
[data-site-menu] .site-menu-link-columns .site-menu-link {
    align-items: flex-start;
    gap: var(--bs-spacer-4);
    padding-block: var(--panel-link-padding, var(--bs-spacer-3));
}
[data-site-menu] .site-menu-link-columns .site-menu-link__icon {
    flex: 0 0 1.25em;
    inline-size: 1.25em;
    block-size: 1lh;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    color: var(--menu-accent);
}
[data-site-menu] .site-menu-link-columns .site-menu-link__icon > :is(svg, img) {
    inline-size: 1em;
    block-size: 1em;
}
[data-site-menu] .site-menu-link-columns .site-menu-link__title {
    font-weight: var(--bs-font-weight-semibold);
}
.site-menu-link-columns .site-menu-link__description {
    max-inline-size: 42ch;
}
.site-menu-link-columns > .site-menu-feature-column {
    --block-padding: var(--bs-spacer-5);
    --block-gap: var(--panel-gap, var(--bs-spacer-4));
}
.site-menu-feature-column > .site-menu-block {
    --block-background: transparent;
}
.site-menu-feature-column > .site-menu-block--heading {
    padding-inline: var(--panel-link-padding, 0);
}
.site-menu-feature-column .site-menu-block-heading {
    color: var(--menu-muted);
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-font-size-sm);
    font-weight: var(--bs-font-weight-semibold);
    line-height: var(--bs-body-line-height);
}
.site-menu-feature-column > .site-menu-block--card {
    display: flex;
    flex: 1;
}
[data-site-menu] .site-menu-feature-column .site-menu-card {
    flex: 1;
    align-items: stretch;
    gap: var(--bs-spacer-5);
    padding: var(--panel-link-padding, 0);
    background: var(--block-background);
}
.site-menu-feature-column:has(.site-menu-card:is(:hover, :focus-visible)) {
    background: color-mix(
        in srgb,
        var(--block-background, var(--menu-surface)) 92%,
        var(--menu-accent)
    );
}
[data-site-menu]
    .site-menu-feature-column
    .site-menu-card:is(:hover, :focus-visible, .active) {
    background: var(--block-background);
}
.site-menu-feature-column .site-menu-card__image {
    flex: 0 0 auto;
}
.site-menu-feature-column .site-menu-link__body {
    flex: 0 0 auto;
    gap: var(--bs-spacer-3);
}
.site-menu-feature-column .site-menu-eyebrow {
    color: var(--menu-accent);
    font-size: var(--bs-font-size-xs);
    font-weight: var(--bs-font-weight-semibold);
    line-height: var(--bs-body-line-height);
    letter-spacing: var(--cms-label-letter-spacing);
}
[data-site-menu] .site-menu-feature-column .site-menu-link__title {
    flex-wrap: nowrap;
}
.site-menu-feature-arrow {
    flex: 0 0 auto;
    margin-inline-start: auto;
    color: var(--menu-accent);
    line-height: 1;
}
.site-menu-feature-arrow:dir(rtl) {
    transform: rotate(180deg);
}
@container (width >= 1280px) {
    .site-menu-link-columns
        > .site-menu-block--group:not(:first-child)::before {
        content: '';
        position: absolute;
        inset-block: 0;
        inset-inline-start: calc(var(--link-column-gap) / -2);
        border-inline-start: var(--bs-border-width) solid
            var(--menu-border, var(--bs-border-color));
        pointer-events: none;
    }
}
@container (width < 1280px) {
    [data-site-menu]
        .site-menu-panel--custom.menu:has(.site-menu-link-columns) {
        padding: var(--panel-padding, var(--bs-spacer-1));
        border: 0;
        border-radius: var(--panel-radius, 0);
        box-shadow: none;
    }
    .site-menu-link-columns {
        --block-gap: var(--panel-gap, var(--bs-spacer-7));
    }
    .site-menu-link-columns
        > .site-menu-block--group
        + .site-menu-block--group:not(.site-menu-feature-column) {
        padding-block-start: var(--bs-spacer-5);
    }
    .site-menu-link-columns
        > .site-menu-block--group
        + .site-menu-block--group:not(.site-menu-feature-column)::before {
        content: '';
        position: absolute;
        inset-block-start: 0;
        inset-inline: var(--panel-link-padding, var(--bs-spacer-4));
        border-block-start: var(--bs-border-width) solid
            var(--menu-border, var(--bs-border-color));
        pointer-events: none;
    }
    .site-menu-link-columns
        > .site-menu-block--group
        > .site-menu-block-heading {
        margin-block-end: var(--bs-spacer-1);
    }
}
