.vitz-floating-nav{
    --vitz-floating-side-offset:24px;
    --vitz-floating-vertical-offset:0px;
    --vitz-floating-tooltip-gap:12px;
    --vitz-floating-mobile-padding-top:8px;
    --vitz-floating-mobile-padding-right:10px;
    --vitz-floating-mobile-padding-bottom:8px;
    --vitz-floating-mobile-padding-left:10px;
    box-sizing:border-box;
    width:max-content;
    max-width:calc(100vw - 20px);
    padding:10px 8px;
    border-radius:18px;
    background:#f3ddd4;
    box-shadow:0 8px 24px rgba(33,17,13,.22);
}
.vitz-floating-nav *{box-sizing:border-box}
.vitz-floating-nav--fixed{position:fixed;z-index:999}
.vitz-floating-nav--fixed.vitz-floating-nav--behind-hero{z-index:20!important}
body:not(.elementor-editor-active):has(.vitz-floating-nav--fixed.vitz-floating-nav--behind-hero) .vitz-responsive-hero{z-index:21}
.vitz-floating-nav--fixed.vitz-floating-nav--right{right:var(--vitz-floating-side-offset)}
.vitz-floating-nav--fixed.vitz-floating-nav--left{left:var(--vitz-floating-side-offset)}
.vitz-floating-nav--fixed.vitz-floating-nav--anchor-top{top:var(--vitz-floating-vertical-offset)}
.vitz-floating-nav--fixed.vitz-floating-nav--anchor-center{top:calc(50% + var(--vitz-floating-vertical-offset));transform:translateY(-50%)}
.vitz-floating-nav--fixed.vitz-floating-nav--anchor-bottom{bottom:var(--vitz-floating-vertical-offset)}
.vitz-floating-nav--sticky{position:sticky;top:var(--vitz-floating-vertical-offset);z-index:20}
.vitz-floating-nav--sticky.vitz-floating-nav--right,
.vitz-floating-nav--inline.vitz-floating-nav--right{margin-left:auto}
.vitz-floating-nav--sticky.vitz-floating-nav--left,
.vitz-floating-nav--inline.vitz-floating-nav--left{margin-right:auto}
.vitz-floating-nav__list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
.vitz-floating-nav__item{position:relative;margin:0;padding:0}
.vitz-floating-nav__link{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    margin:0;
    padding:0;
    border:1px solid transparent;
    border-radius:50%;
    background:#fff8f3;
    color:#a34f32;
    text-decoration:none;
    font:inherit;
    cursor:pointer;
    appearance:none;
    transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.vitz-floating-nav__link:hover,
.vitz-floating-nav__link:focus-visible{background:#a34f32;color:#fff;transform:scale(1.06)}
.vitz-floating-nav__link:focus-visible{outline:3px solid color-mix(in srgb,#f05a00 60%,#fff);outline-offset:3px}
.vitz-floating-nav__item--active .vitz-floating-nav__link{background:#4a1655;color:#fff}
.vitz-floating-nav__item--accent .vitz-floating-nav__link{background:#f05a00;color:#fff}
.vitz-floating-nav__icon{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}
.vitz-floating-nav__icon svg{width:1em;height:1em;fill:currentColor}
.vitz-floating-nav__label{
    position:absolute;
    top:50%;
    z-index:2;
    width:max-content;
    max-width:min(260px,70vw);
    padding:8px 12px;
    border-radius:8px;
    background:#32133b;
    box-shadow:0 6px 18px rgba(0,0,0,.18);
    color:#fff;
    white-space:normal;
    pointer-events:none;
    opacity:0;
    visibility:hidden;
    transform:translateY(-50%) scale(.96);
    transition:opacity .18s ease,visibility .18s ease,transform .18s ease;
}
.vitz-floating-nav--right .vitz-floating-nav__label{right:calc(100% + var(--vitz-floating-tooltip-gap));transform-origin:right center}
.vitz-floating-nav--left .vitz-floating-nav__label{left:calc(100% + var(--vitz-floating-tooltip-gap));transform-origin:left center}
.vitz-floating-nav--labels-tooltip .vitz-floating-nav__link:hover .vitz-floating-nav__label,
.vitz-floating-nav--labels-tooltip .vitz-floating-nav__link:focus-visible .vitz-floating-nav__label,
.vitz-floating-nav--labels-always .vitz-floating-nav__label{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}
.vitz-floating-nav--hide-desktop{display:none}
@media(min-width:1025px){
    .vitz-floating-nav__item--hide-desktop{display:none!important}
}
@media(min-width:768px) and (max-width:1024px){
    .vitz-floating-nav--hide-desktop{display:block}
    .vitz-floating-nav--hide-tablet{display:none}
    .vitz-floating-nav__item--hide-tablet{display:none!important}
}
@media(max-width:767px){
    .vitz-floating-nav{--vitz-floating-side-offset:10px}
    .vitz-floating-nav--hide-desktop{display:block}
    .vitz-floating-nav--hide-mobile{display:none}
    .vitz-floating-nav__item--hide-mobile{display:none!important}
    .vitz-floating-nav--hide-mobile-labels .vitz-floating-nav__label{display:none}
    .vitz-floating-nav--fixed.vitz-floating-nav--mobile-bottom{
        top:auto;
        right:auto;
        bottom:var(--vitz-floating-vertical-offset);
        left:50%;
        width:max-content;
        max-width:calc(100vw - (2 * var(--vitz-floating-side-offset)));
        padding:var(--vitz-floating-mobile-padding-top)
            var(--vitz-floating-mobile-padding-right)
            calc(var(--vitz-floating-mobile-padding-bottom) + env(safe-area-inset-bottom,0px))
            var(--vitz-floating-mobile-padding-left);
        transform:translateX(-50%);
    }
    .vitz-floating-nav--mobile-bottom .vitz-floating-nav__list{
        flex-direction:row;
        align-items:center;
        justify-content:center;
        width:100%;
    }
    .vitz-floating-nav--mobile-bottom.vitz-floating-nav--mobile-portrait-full{
        right:0;
        left:0;
        width:100vw;
        max-width:none;
        transform:none;
    }
    .vitz-floating-nav--mobile-bottom.vitz-floating-nav--mobile-portrait-full .vitz-floating-nav__item{
        flex:1 1 0;
        min-width:0;
    }
    .vitz-floating-nav--mobile-bottom.vitz-floating-nav--mobile-portrait-full .vitz-floating-nav__link{
        margin-inline:auto;
    }
    .vitz-floating-nav--mobile-bottom .vitz-floating-nav__label{
        top:auto;
        right:auto;
        bottom:calc(100% + var(--vitz-floating-tooltip-gap));
        left:50%;
        transform:translateX(-50%) scale(.96);
        transform-origin:center bottom;
    }
    .vitz-floating-nav--mobile-bottom.vitz-floating-nav--labels-tooltip .vitz-floating-nav__link:hover .vitz-floating-nav__label,
    .vitz-floating-nav--mobile-bottom.vitz-floating-nav--labels-tooltip .vitz-floating-nav__link:focus-visible .vitz-floating-nav__label,
    .vitz-floating-nav--mobile-bottom.vitz-floating-nav--labels-always .vitz-floating-nav__label{
        transform:translateX(-50%) scale(1);
    }
}
@media(max-width:767px) and (orientation:landscape){
    .vitz-floating-nav--fixed.vitz-floating-nav--mobile-bottom.vitz-floating-nav--mobile-landscape-full{
        right:0;
        left:0;
        width:100vw;
        max-width:none;
        transform:none;
    }
    .vitz-floating-nav--mobile-bottom.vitz-floating-nav--mobile-landscape-full .vitz-floating-nav__item{
        flex:1 1 0;
        min-width:0;
    }
    .vitz-floating-nav--mobile-bottom.vitz-floating-nav--mobile-landscape-full .vitz-floating-nav__link{
        margin-inline:auto;
    }
}
@media(prefers-reduced-motion:reduce){
    .vitz-floating-nav__link,.vitz-floating-nav__label{transition:none}
}

/* Im Elementor-Editor darf die Frontend-Navigation nicht am Vorschaufenster
 * fixiert werden. Die normale Ausgabe auf der veröffentlichten Seite bleibt
 * davon unberührt. */
.vitz-floating-nav--editor-preview{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:1!important;
    margin:16px auto!important;
    transform:none!important;
}
