/**
 * BWDS Megamenu Column Layout Styles
 * Structural megamenu layout inspired by row/column dropdown patterns.
 * This file intentionally avoids color and typography overrides.
 */

/* Dropdown content container: structured grid for clean 3-4 column behavior */
.pxl-menu-primary .sub-menu.pxl-megamenu-columns {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(7, auto);
    grid-auto-columns: minmax(180px, 1fr);
    align-items: start;
    column-gap: 26px;
    row-gap: 4px;
    list-style: none;
    margin: 0;
    padding: 20px 24px;
}

/* Grid items */
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li {
    min-width: 0;
    margin: 0;
    padding: 0;
    white-space: normal;
    border: 0;
    background: transparent;
}

/* Links: neutral baseline to prevent inherited shifting effects */
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li > a {
    display: block;
    padding: 8px 0;
    margin: 0;
    line-height: 1.5;
    white-space: normal;
    position: relative;
    transform: none !important;
    transition: none !important;
}

/* Remove inherited pseudo icon/line decorations inside megamenu columns */
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li > a::before,
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li > a span::before,
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li > a span::after {
    content: none !important;
    display: none !important;
}

/* Underline hover indicator */
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 220ms ease;
}

/* Keep hover static so items stay aligned in columns */
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li > a:hover,
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li.current-menu-item > a,
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li.current_page_item > a {
    padding-left: 0 !important;
    transform: none !important;
}

.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li > a:hover::after,
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li.current-menu-item > a::after,
.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li.current_page_item > a::after {
    transform: scaleX(1);
}

.pxl-menu-primary .sub-menu.pxl-megamenu-columns > li > a span {
    display: inline;
    transform: none !important;
    transition: none !important;
}

@media (max-width: 1200px) {
    .pxl-menu-primary .sub-menu.pxl-megamenu-columns {
        grid-auto-columns: minmax(170px, 1fr);
        column-gap: 22px;
    }
}

@media (max-width: 900px) {
    .pxl-menu-primary .sub-menu.pxl-megamenu-columns {
        grid-auto-flow: row;
        grid-template-rows: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-columns: auto;
        padding: 16px 18px;
    }
}

@media (max-width: 600px) {
    .pxl-menu-primary .sub-menu.pxl-megamenu-columns {
        grid-template-columns: 1fr;
        row-gap: 0;
    }
}