/* Kestel Koop public mobile bottom navigation v1.0.0 */
.kk-public-bottom-nav {
    display: none;
}

@media (max-width: 940px) {
    body {
        padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    }

    .kk-public-bottom-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 112;
        display: block;
        padding: 7px 8px max(7px, env(safe-area-inset-bottom, 7px));
        border-top: 1px solid color-mix(in srgb, var(--kk-shell-line) 82%, transparent);
        background: color-mix(in srgb, var(--kk-shell-surface) 92%, transparent);
        box-shadow: 0 -14px 36px rgba(4, 20, 55, .12);
        backdrop-filter: blur(22px) saturate(1.15);
        transition: opacity .18s ease, transform .22s ease, visibility .18s ease;
    }

    :root[data-theme="dark"] .kk-public-bottom-nav {
        box-shadow: 0 -16px 38px rgba(0, 0, 0, .34);
    }

    .kk-public-bottom-nav__inner {
        width: min(620px, 100%);
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 4px;
    }

    .kk-public-bottom-nav__item {
        min-width: 0;
        min-height: 57px;
        padding: 5px 3px 4px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        border: 0;
        border-radius: 15px;
        background: transparent;
        color: var(--kk-shell-muted);
        font: inherit;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
    }

    .kk-public-bottom-nav__item:hover,
    .kk-public-bottom-nav__item:focus-visible {
        color: var(--kk-shell-blue);
        background: color-mix(in srgb, var(--kk-shell-blue) 8%, transparent);
        outline: none;
    }

    .kk-public-bottom-nav__item:active {
        transform: scale(.96);
    }

    .kk-public-bottom-nav__item.is-active {
        color: #fff;
        background: linear-gradient(135deg, var(--kk-shell-blue), #006ee9);
        box-shadow: 0 9px 20px rgba(6, 72, 255, .24);
    }

    .kk-public-bottom-nav__icon {
        width: 22px;
        height: 22px;
        display: grid;
        place-items: center;
        line-height: 0;
    }

    .kk-public-bottom-nav__icon svg {
        width: 22px;
        height: 22px;
        display: block;
        fill: currentColor;
    }

    .kk-public-bottom-nav__label {
        max-width: 100%;
        overflow: hidden;
        font-family: var(--kk-font-heading);
        font-size: 10.5px;
        font-weight: 800;
        line-height: 1.1;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.kk-menu-open .kk-public-bottom-nav,
    body.kk-portal-open .kk-public-bottom-nav {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(110%);
    }
}

@media (max-width: 380px) {
    .kk-public-bottom-nav {
        padding-right: 4px;
        padding-left: 4px;
    }

    .kk-public-bottom-nav__inner {
        gap: 1px;
    }

    .kk-public-bottom-nav__item {
        min-height: 55px;
        padding-right: 1px;
        padding-left: 1px;
        border-radius: 13px;
    }

    .kk-public-bottom-nav__label {
        font-size: 9.5px;
    }
}

@media (min-width: 941px) {
    body {
        padding-bottom: 0;
    }
}
