/* === POOLBAAS UNIFIED NAVIGATION V2 === */

.pb-nav-v2-header {
    --pbnv-bg: #11082e;
    --pbnv-bg-deep: #09051d;
    --pbnv-panel: rgba(255, 255, 255, 0.07);
    --pbnv-line: rgba(255, 255, 255, 0.11);
    --pbnv-text: #ffffff;
    --pbnv-muted: rgba(238, 233, 250, 0.66);
    --pbnv-purple: #9a63ff;
    --pbnv-purple-deep: #6031d2;
    --pbnv-yellow: #f4cf68;

    position: sticky;
    z-index: 300;
    top: 0;

    border-bottom:
        1px solid var(--pbnv-line);

    background:
        linear-gradient(
            105deg,
            rgba(19, 8, 52, 0.98),
            rgba(10, 6, 30, 0.985)
        );

    box-shadow:
        0 12px 34px rgba(0, 0, 0, 0.2);

    color: var(--pbnv-text);

    backdrop-filter:
        blur(18px)
        saturate(145%);
}


.pb-nav-v2-header
.pb-unified-header__inner {
    min-height: 76px;
}


.pb-nav-v2-header
.pb-unified-brand {
    color: var(--pbnv-text);
    text-decoration: none;
}


.pb-nav-v2-header
.pb-unified-brand__logo {
    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.12);

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.12),
            rgba(255, 255, 255, 0.035)
        );

    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.25);
}


.pb-nav-v2-header
.pb-unified-brand__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.pb-nav-v2-header
.pb-unified-brand__copy strong {
    color: #fff;
}


.pb-nav-v2-header
.pb-unified-brand__copy small,
.pb-nav-v2-header
.pb-unified-context span {
    color: var(--pbnv-muted);
}


.pb-nav-v2-header
.pb-unified-context {
    border: 1px solid var(--pbnv-line);

    background:
        rgba(255, 255, 255, 0.045);
}


.pb-nav-v2-header
.main-nav {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.035);
}


.pb-nav-v2-header
.main-nav a {
    border-radius: 999px;

    color: var(--pbnv-muted);

    transition:
        color 150ms ease,
        background 150ms ease,
        transform 150ms ease;
}


.pb-nav-v2-header
.main-nav a:hover {
    color: #fff;

    background:
        rgba(255, 255, 255, 0.065);

    transform: translateY(-1px);
}


.pb-nav-v2-header
.main-nav a.active,
.pb-nav-v2-header
.main-nav a.is-active {
    background:
        linear-gradient(
            135deg,
            rgba(144, 87, 237, 0.95),
            rgba(94, 48, 205, 0.98)
        );

    color: #fff;

    box-shadow:
        0 8px 18px rgba(91, 45, 195, 0.26);
}


.pb-nav-v2-header
.pb-unified-actions {
    align-items: center;
}


.pb-nav-v2-header
.pb-notification-bell {
    position: relative;

    display: grid;
    place-items: center;

    width: 42px;
    height: 42px;
    padding: 0;

    border: 1px solid var(--pbnv-line);
    border-radius: 13px;

    background:
        rgba(255, 255, 255, 0.055);

    color: #ded6ef;

    text-decoration: none;

    transition:
        transform 150ms ease,
        background 150ms ease,
        border-color 150ms ease;
}


.pb-nav-v2-header
.pb-notification-bell:hover {
    transform150ms ease,
        border-color 150ms ease;
}


: translateY(-1px);

    border-color:
        rgba(173, 119, 255, 0.5);

    background:
        rgba(139, 82, 226, 0.14);
}


.pb-nav-v2-header
.pb-notification-bell.is-active {
    border-color:
        rgba(185, 137, 255, 0.58);

    background:
        linear-gradient(
            145deg,
            rgba(143, 82, 232, 0.94),
            rgba(93, 48, 200, 0.98)
        );

    color: #fff;

    box-shadow:
        0 9px 22px rgba(90, 43, 195, 0.32);
}


.pb-nav-v2-bell-icon {
    display: grid;
    place-items: center;

    width: 21px;
    height: 21px;
}


.pb-nav-v2-bell-icon svg {
    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.pb-nav-v2-header
.pb-notification-bell > b {
    position: absolute;
    top: -5px;
    right: -5px;

    display: none;
    place-items: center;

    min-width: 19px;
    height: 19px;
    padding: 0 5px;

    border: 2px solid #10072c;
    border-radius: 999px;

    background: #ff5575;

    color: #fff;

    font-size: 0.55rem;
    font-weight: 900;
    line-height: 1;
}


.pb-nav-v2-header
.pb-notification-bell.has-unread > b {
    display: grid;
}


/* Onderste mobiele navigatie */

@media (min-width: 761px) {

    .pb-nav-v2-dock-layer {
        display: none !important;
    }

}


@media (max-width: 760px) {

    .pb-nav-v2-header {
        top: 0;

        min-height:
            calc(
                62px
                + env(safe-area-inset-top)
            );

        padding-top:
            env(safe-area-inset-top);
    }


    .pb-nav-v2-header
    .pb-unified-header__inner {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            auto;

        align-items: center;
        gap: 10px;

        width: 100%;
        min-height: 61px;
        padding: 8px 11px;
    }


    .pb-nav-v2-header
    .pb-unified-brand {
        display: grid;
        grid-template-columns:
            40px
            minmax(0, 1fr);

        align-items: center;
        gap: 9px;

        min-width: 0;
    }


    .pb-nav-v2-header
    .pb-unified-brand__logo {
        width: 40px;
        height: 40px;

        border-radius: 12px;
    }


    .pb-nav-v2-header
    .pb-unified-brand__copy {
        display: block;
        min-width: 0;
    }


    .pb-nav-v2-header
    .pb-unified-brand__copy > strong {
        display: block;

        overflow: hidden;

        font-size: 0.9rem;
        line-height: 1.08;

        text-overflow: ellipsis;
        white-space: nowrap;
    }


    .pb-nav-v2-header
    .pb-unified-brand__copy > small {
        display: none !important;
    }


    .pb-nav-v2-header
    .pb-unified-mobile-context {
        display: block;

        overflow: hidden;

        margin-top: 3px;

        color:
            rgba(229, 218, 249, 0.66);

        font-size: 0.58rem;
        font-weight: 700;
        line-height: 1.15;

        text-overflow: ellipsis;
        white-space: nowrap;
    }


    .pb-nav-v2-header
    .pb-unified-centre {
        display: none !important;
    }


    .pb-nav-v2-header
    .pb-unified-actions {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        gap: 6px;
    }


    .pb-nav-v2-header
    .pb-unified-actions > * {
        display: none !important;
    }


    .pb-nav-v2-header
    .pb-unified-actions >
    .pb-notification-bell {
        display: grid !important;
    }


    .pb-nav-v2-header
    .pb-unified-actions >
    .pb-language-switcher--header {
        display: flex !important;
    }


    .pb-nav-v2-header
    .pb-notification-bell {
        width: 40px;
        height: 40px;

        border-radius: 12px;
    }


    .pb-nav-v2-dock-layer {
        position: fixed !important;
        z-index: 450 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;

        display: flex !important;
        justify-content: center !important;

        padding:
            0
            9px
            max(
                7px,
                env(safe-area-inset-bottom)
            ) !important;

        pointer-events: none !important;
    }


    .pb-nav-v2-dock {
        position: relative !important;
        inset: auto !important;

        display: grid !important;
        grid-template-columns:
            repeat(5, minmax(0, 1fr)) !important;

        align-items: end !important;
        gap: 1px !important;

        width: min(
            100%,
            540px
        ) !important;

        min-height: 70px !important;
        margin: 0 !important;
        padding:
            7px
            5px
            6px !important;

        border:
            1px solid
            rgba(184, 141, 255, 0.22) !important;

        border-radius: 22px !important;

        background:
            linear-gradient(
                155deg,
                rgba(24, 12, 61, 0.97),
                rgba(9, 7, 31, 0.985)
            ) !important;

        box-shadow:
            0 18px 48px rgba(0, 0, 0, 0.44),
            inset 0 1px
            rgba(255, 255, 255, 0.055) !important;

        backdrop-filter:
            blur(22px)
            saturate(150%) !important;

        pointer-events: auto !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__item {
        position: relative;

        display: grid !important;
        grid-template-rows:
            31px
            14px;

        place-items: center !important;
        gap: 2px !important;

        min-width: 0 !important;
        min-height: 55px !important;
        padding: 4px 2px 2px !important;

        border-radius: 15px !important;

        color:
            rgba(235, 226, 248, 0.55) !important;

        text-decoration: none !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__item::after {
        position: absolute;
        right: 22%;
        bottom: 1px;
        left: 22%;

        height: 2px;

        content: "";

        border-radius: 999px;

        background: transparent;

        box-shadow: none;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__icon {
        display: grid !important;
        place-items: center !important;

        width: 29px !important;
        height: 29px !important;

        margin: 0 !important;

        border: 0 !important;
        border-radius: 10px !important;

        background: transparent !important;

        color: inherit !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__icon svg {
        width: 21px !important;
        height: 21px !important;

        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.75 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__label {
        overflow: hidden;

        width: 100%;

        color: inherit !important;

        font-size: 0.55rem !important;
        font-weight: 760 !important;
        line-height: 1 !important;

        text-align: center;
        text-overflow: ellipsis;
        white-space: nowrap;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__item.is-active {
        background:
            rgba(143, 83, 232, 0.13) !important;

        color: #d2b7ff !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__item.is-active::after {
        background:
            linear-gradient(
                90deg,
                #9b62ff,
                #c497ff
            ) !important;

        box-shadow:
            0 0 10px
            rgba(165, 103, 255, 0.62) !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__item--primary {
        grid-template-rows:
            39px
            14px !important;

        transform:
            translateY(-10px);
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__item--primary
    .pb-mobile-dock__primary-button {
        display: grid !important;
        place-items: center !important;

        width: 48px !important;
        height: 48px !important;

        border:
            4px solid
            rgba(17, 8, 45, 0.98) !important;

        border-radius: 17px !important;

        background:
            linear-gradient(
                145deg,
                #f5dc7f,
                #e7b94c
            ) !important;

        color: #2a1a08 !important;

        box-shadow:
            0 10px 24px
            rgba(218, 166, 53, 0.32),
            inset 0 1px
            rgba(255, 255, 255, 0.48) !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__item--primary.is-active {
        background: transparent !important;

        color: #f5d477 !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__item--primary.is-active
    .pb-mobile-dock__primary-button {
        transform: translateY(-1px);

        box-shadow:
            0 13px 28px
            rgba(224, 173, 54, 0.42),
            0 0 0 3px
            rgba(245, 211, 112, 0.12) !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__item:focus-visible,
    .pb-nav-v2-header
    a:focus-visible {
        outline:
            2px solid #c196ff !important;

        outline-offset: 2px !important;
    }


    body:has(.pb-nav-v2-dock) {
        padding-bottom:
            calc(
                91px
                + env(safe-area-inset-bottom)
            ) !important;
    }

}


@media (
    max-width: 370px
) {

    .pb-nav-v2-header
    .pb-language-switcher--header {
        display: none !important;
    }


    .pb-nav-v2-dock
    .pb-mobile-dock__label {
        font-size: 0.5rem !important;
    }

}


@media (
    prefers-reduced-motion: reduce
) {

    .pb-nav-v2-header *,
    .pb-nav-v2-dock * {
        transition: none !important;
    }

}

/* === POOLBAAS MOBILE TOPBAR V3 START === */

/*
 * Sticky wordt hier bewust nogmaals met
 * hogere specificiteit vastgelegd, zodat
 * oudere navbarregels dit niet overschrijven.
 */

html body .pb-nav-v2-header {
    position: sticky !important;
    z-index: 1000 !important;
    top: 0 !important;

    isolation: isolate;
    transform: none !important;
}


@media (max-width: 760px) {

    html body .pb-nav-v2-header {
        min-height:
            calc(
                76px
                + env(safe-area-inset-top)
            ) !important;

        padding-top:
            env(safe-area-inset-top) !important;
    }


    html body
    .pb-nav-v2-header
    .pb-unified-header__inner {
        grid-template-columns:
            60px
            minmax(0, 1fr) !important;

        gap: 10px !important;

        min-height: 76px !important;
        padding:
            7px
            12px !important;
    }


    html body
    .pb-nav-v2-header
    .pb-unified-brand {
        display: block !important;

        width: 60px !important;
        min-width: 60px !important;
        height: 60px !important;
    }


    html body
    .pb-nav-v2-header
    .pb-unified-brand__logo {
        display: grid !important;
        place-items: center !important;

        width: 60px !important;
        min-width: 60px !important;
        height: 60px !important;

        padding: 3px !important;

        border-radius: 18px !important;

        background:
            linear-gradient(
                145deg,
                rgba(255, 255, 255, 0.14),
                rgba(255, 255, 255, 0.045)
            ) !important;

        box-shadow:
            0 10px 28px
            rgba(0, 0, 0, 0.3) !important;
    }


    html body
    .pb-nav-v2-header
    .pb-unified-brand__logo img {
        display: block !important;

        width: 100% !important;
        height: 100% !important;

        object-fit: contain !important;
    }


    /*
     * Verwijdert op mobiel zowel:
     * - Poolbaas
     * - Poolbaas Kantoor / arenacontext
     */

    html body
    .pb-nav-v2-header
    .pb-unified-brand__copy {
        display: none !important;
    }


    html body
    .pb-nav-v2-header
    .pb-unified-actions {
        grid-column: 2;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        min-width: 0;
    }


    html body
    .pb-nav-v2-header
    .pb-notification-bell {
        width: 44px !important;
        height: 44px !important;

        border-radius: 14px !important;
    }


    html body
    .pb-nav-v2-header
    .pb-nav-v2-bell-icon {
        width: 23px !important;
        height: 23px !important;
    }

}

/* === POOLBAAS MOBILE TOPBAR V3 END === */
