/* Card grids retain the builder's columns, spans, order, and visual overrides. */
.site-menu-card-grid {
    align-items: stretch;
}
.site-menu-block--grid:has(> .site-menu-card-grid) {
    align-items: stretch;
}
.site-menu-card-grid > :is(.site-menu-block--card, .site-menu-bento__cell) {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: transparent;
    --block-padding: var(--panel-link-padding, var(--bs-spacer-5));
}
[data-site-menu] .site-menu-card-grid .site-menu-card {
    flex: 1;
    gap: var(--bs-spacer-5);
    padding: var(--block-padding);
    border: var(--bs-border-width) solid
        var(--menu-border, var(--bs-border-color));
    border-radius: var(--block-radius, var(--menu-radius));
    background: var(--block-background, var(--menu-theme-muted));
    color: inherit;
    transition:
        background var(--cms-motion-duration-short) ease,
        border-color var(--cms-motion-duration-short) ease;
}
[data-site-menu]
    .site-menu-card-grid
    .site-menu-card:is(:hover, :focus-visible, .active) {
    background: color-mix(
        in srgb,
        var(--block-background, var(--menu-theme-muted)) 60%,
        var(--menu-hover)
    );
    border-color: var(--menu-accent);
    color: inherit;
}
.site-menu-card-grid .site-menu-card__image {
    flex: 0 0 auto;
}
.site-menu-card-grid .site-menu-link__body {
    flex: 0 0 auto;
    gap: var(--bs-spacer-3);
}
[data-site-menu] .site-menu-card-grid .site-menu-link__title {
    flex-wrap: nowrap;
    font-size: var(--panel-font-size, var(--bs-font-size-md));
    font-weight: var(--bs-font-weight-semibold);
    line-height: var(--bs-body-line-height);
}
.site-menu-card-grid .menu-item-icon {
    flex: 0 0 auto;
    color: var(--block-color, var(--menu-accent));
}
.site-menu-card-grid .site-menu-feature-arrow {
    flex: 0 0 auto;
    margin-inline-start: auto;
    color: var(--block-color, var(--menu-accent));
    line-height: 1;
}
.site-menu-card-grid .site-menu-feature-arrow:dir(rtl) {
    transform: rotate(180deg);
}
[data-site-menu] .site-menu-card-grid .site-menu-link__description {
    color: var(--block-color, var(--menu-muted));
    font-weight: var(--bs-font-weight-normal);
}
.site-menu-card-grid .site-menu-eyebrow {
    color: var(--block-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);
}
.site-menu-block-stack:has(> .site-menu-card-grid)
    > .site-menu-block--heading
    .site-menu-block-heading {
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-font-size-md);
    font-weight: var(--bs-font-weight-semibold);
    line-height: var(--bs-body-line-height);
    color: var(--menu-muted);
}
@container (width < 1280px) {
    [data-site-menu] .site-menu-panel--custom.menu:has(.site-menu-card-grid) {
        padding: var(--panel-padding, var(--bs-spacer-1));
        border: 0;
        border-radius: var(--panel-radius, 0);
        box-shadow: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    [data-site-menu] .site-menu-card-grid .site-menu-card {
        transition: none;
    }
}
