/* Mega Menu — webpowers UG
   NOVA keeps category entries inside a dropdown wrapper. The outer shell owns
   placement and visibility; the inner NOVA row owns the CSS grid. */
.wp-mega{
    position:absolute;
    left:0;
    right:0;
    display:block;
    padding:0;
    background:#fff;
    box-shadow:0 8px 32px rgba(0,0,0,.12);
    border-radius:0 0 8px 8px;
    visibility:hidden;
    opacity:0;
    transition:opacity .15s ease,visibility .15s ease;
    z-index:1000;
}
.wp-mega-grid{
    display:grid;
    grid-template-columns:repeat(var(--wp-mega-cols,3),minmax(0,1fr));
    gap:8px 24px;
    width:100%;
    margin:0;
    padding:16px 24px;
}
.wp-mega:not(.wp-mega-grid) .dropdown-body,
.wp-mega:not(.wp-mega-grid) .subcategory-wrapper{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
}
.wp-mega--open,
.nav-item:focus-within .wp-mega,
.nav-item:hover .wp-mega{
    visibility:visible;
    opacity:1;
}
.wp-mega-grid > li,
.wp-mega-grid > a,
.wp-mega-grid > .nav-item{
    /* NOVA's .col-lg-4/.col-xl-3 are flex-column widths. In a CSS grid they
       shrink each category into a fraction of its grid track and clip links. */
    width:auto !important;
    max-width:none !important;
    flex:none !important;
    min-width:0;
    break-inside:avoid;
    margin-bottom:8px;
    font-size:14px;
}
@media(max-width:768px){
    .wp-mega{
        position:relative;
        box-shadow:none;
    }
    .wp-mega-grid{
        grid-template-columns:1fr;
    }
}
@media(prefers-reduced-motion:reduce){
    .wp-mega{
        transition:none;
    }
}
