/* CM Klara navigation v3 — mobile overlay stacking + drilldown polish. */

@media (max-width: 1024px) {
    /*
     * Panel i backdrop są portalowane bezpośrednio do <body> przez navigation-v3.js.
     * Dzięki temu nie dziedziczą stacking-contextu wrapperów motywu / Visual Composera
     * i zawsze przykrywają stare dolne menu mobilne.
     */
    body > .cmk-nav-mobile__backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483645 !important;
        width: 100vw !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: rgba(17, 22, 29, .58) !important;
    }

    body > .cmk-nav-mobile__panel {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 2147483646 !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        isolation: isolate !important;
    }

    body.admin-bar > .cmk-nav-mobile__panel {
        top: 46px !important;
        height: calc(100dvh - 46px) !important;
        max-height: calc(100dvh - 46px) !important;
    }

    /* Parent-link nie może odziedziczyć 3-kolumnowego grida zwykłych pozycji. */
    .cmk-nav-mobile__level a.cmk-nav-mobile__parent-link {
        width: 100% !important;
        min-height: 46px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        grid-template-columns: none !important;
        gap: 8px !important;
        margin: 7px 0 11px !important;
        padding: 11px 13px !important;
        border: 1px solid rgba(190, 30, 45, .16) !important;
        border-radius: 10px !important;
        background: #fff5f6 !important;
        color: #a81724 !important;
        box-shadow: none !important;
        font-family: "Open Sans", Arial, sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }

    .cmk-nav-mobile__level a.cmk-nav-mobile__parent-link::before,
    .cmk-nav-mobile__level a.cmk-nav-mobile__parent-link::after {
        display: none !important;
        content: none !important;
    }

    /* Wyraźny, łatwy do trafienia przycisk cofania. */
    .cmk-nav-mobile__level button.cmk-nav-mobile__back {
        width: 100% !important;
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 9px !important;
        margin: 7px 0 8px !important;
        padding: 10px 13px !important;
        border: 1px solid rgba(190, 30, 45, .18) !important;
        border-radius: 10px !important;
        background: #fff5f6 !important;
        color: #a81724 !important;
        box-shadow: none !important;
        font-family: "Open Sans", Arial, sans-serif !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-align: left !important;
        cursor: pointer !important;
        transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
    }

    .cmk-nav-mobile__level button.cmk-nav-mobile__back:hover,
    .cmk-nav-mobile__level button.cmk-nav-mobile__back:focus-visible {
        border-color: rgba(190, 30, 45, .34) !important;
        background: #ffecef !important;
        color: #be1e2d !important;
        outline: 0 !important;
    }

    /* Stabilizuje długie nazwy pozycji — normalne łamanie wyłącznie między słowami. */
    .cmk-nav-mobile__forward > span:not(.cmk-nav-mobile__row-icon),
    .cmk-nav-mobile__level > ul > li > a {
        min-width: 0 !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
    }

    /* Footer panelu zawsze ponad zawartością i nad systemowym safe-area. */
    body > .cmk-nav-mobile__panel .cmk-nav-mobile__footer {
        position: relative !important;
        z-index: 3 !important;
        background: #fff !important;
        box-shadow: 0 -8px 20px rgba(24, 28, 35, .04) !important;
    }
}
