/* BB Mega Menu – Frontend Styles
   ================================================ */

/* ── Container ──────────────────────────────────── */

.sdbmm-has-mega {
    position: static !important; /* override relative so panel can be full-width */
}

/* ── Panel ──────────────────────────────────────── */

.sdbmm-panel {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;

    /* Hidden by default */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition:
        opacity   .22s ease,
        transform .22s ease,
        visibility 0s   .22s;

    background: #ffffff;
    border-top: 3px solid #1a73e8;
    box-shadow: 0 8px 32px rgba(0,0,0,.12);
    border-radius: 0 0 8px 8px;
}

/* Open state */
.sdbmm-has-mega.sdbmm-open > .sdbmm-panel,
.sdbmm-has-mega:focus-within > .sdbmm-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition:
        opacity   .22s ease,
        transform .22s ease;
}

/* ── Width variants ─────────────────────────────── */

.sdbmm-panel.sdbmm-panel-width-full {
    left: 0;
    right: 0;
    width: 100vw;
    /* Push back to left edge of viewport when menu isn't flush */
    margin-left: calc( (100vw - 100%) / -2 );
}

.sdbmm-panel.sdbmm-panel-width-container {
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    width: min(1200px, 96vw);
}

.sdbmm-has-mega.sdbmm-open > .sdbmm-panel.sdbmm-panel-width-container,
.sdbmm-has-mega:focus-within > .sdbmm-panel.sdbmm-panel-width-container {
    transform: translateX(-50%) translateY(0);
}

.sdbmm-panel.sdbmm-panel-width-auto {
    left: 0;
    min-width: 320px;
    width: max-content;
    max-width: 96vw;
}

/* ── Toggle button & chevron icon ───────────────── */

/* Standalone toggle button injected after the <a> */
.sdbmm-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0 6px;
    margin: 0;
    cursor: pointer;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    vertical-align: middle;
    /* Match the link height so it doesn't push the row taller */
    height: 100%;
}

.sdbmm-toggle:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* The FontAwesome <i> icon inside the button */
.sdbmm-chevron {
    font-size: .75em;
    line-height: 1;
    opacity: 0.8;
    display: inline-block !important;
    transition: transform .22s ease, opacity .22s ease;
    width: auto !important;
    height: auto !important;
    pointer-events: none; /* let button handle clicks */
}

/* Rotate chevron when open — targets both our button and PP's button */
.sdbmm-has-mega.sdbmm-open > .sdbmm-toggle .sdbmm-chevron,
.sdbmm-has-mega.sdbmm-open > .pp-has-submenu-container > .pp-menu-toggle .sdbmm-chevron,
.sdbmm-has-mega:focus-within > .sdbmm-toggle .sdbmm-chevron {
    transform: rotate(180deg);
    opacity: 1;
}

/* ── Inner wrapper ──────────────────────────────── */

.sdbmm-panel-inner {
    padding: 32px 40px;
}

/* Remove BB's default margin-bottom on last row */
.sdbmm-panel-inner .fl-row:last-child {
    margin-bottom: 0;
}

/* ── Accessibility: skip invisible panels ───────── */
.sdbmm-panel[aria-hidden="true"] * {
    visibility: hidden;
}



/* ── Mobile: stack panels below nav item ────────── */
@media (max-width: 1023px) {
    .sdbmm-panel,
    .sdbmm-panel.sdbmm-panel-width-full,
    .sdbmm-panel.sdbmm-panel-width-container,
    .sdbmm-panel.sdbmm-panel-width-auto {
        position: static;
        width: 100%;
        margin-left: 0;
        left: auto;
        right: auto;
        transform: none !important;
        box-shadow: none;
        border-top: none;
        border-left: 3px solid #1a73e8;
        border-radius: 0;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        display: none; /* toggled by JS on mobile */
    }

    .sdbmm-has-mega.sdbmm-open > .sdbmm-panel {
        display: block;
    }

    .sdbmm-panel-inner {
        padding: 16px 20px;
    }
}

/* ── Back button (mobile) ────────────────────────── */
@media (max-width: 1023px) {
    .sdbmm-back-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        background: none;
        border: none;
        border-bottom: 1px solid rgba(0,0,0,.08);
        padding: 12px 20px;
        margin-bottom: 8px;
        font-size: inherit;
        font-family: inherit;
        color: inherit;
        cursor: pointer;
        text-align: left;
    }
    .sdbmm-back-btn:active {
        opacity: 0.7;
    }
}
