.vitz-popup-trigger-wrap{
    display:flex;
    width:100%;
    justify-content:flex-end;
}
.vitz-popup-portal{display:contents}
.vitz-popup__trigger{
    --vitz-popup-trigger-size:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:var(--vitz-popup-trigger-size);
    height:var(--vitz-popup-trigger-size);
    margin:0;
    padding:0;
    border:1px solid transparent;
    border-radius:50%;
    background:#fff;
    color:#f05a00;
    font:inherit;
    line-height:1;
    cursor:pointer;
    appearance:none;
    transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.vitz-popup__trigger--has-text{
    width:auto;
    min-width:var(--vitz-popup-trigger-size);
    padding:10px 14px;
}
.vitz-popup__trigger:hover,
.vitz-popup__trigger:focus-visible{background:#f05a00;color:#fff}
.vitz-popup__trigger:focus-visible,
.vitz-popup__close:focus-visible,
.vitz-popup__button:focus-visible{outline:3px solid color-mix(in srgb,#f05a00 55%,#fff);outline-offset:3px}
.vitz-popup__trigger-icon,
.vitz-popup__button-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1}
.vitz-popup__trigger-icon{font-size:18px}
.vitz-popup__trigger-icon svg,
.vitz-popup__button-icon svg{display:block;width:1em;height:1em;fill:currentColor}
.vitz-popup__trigger-text{line-height:1.2}

.vitz-popup__overlay{
    position:fixed;
    inset:0;
    z-index:100000;
    display:grid;
    place-items:center;
    box-sizing:border-box;
    width:100%;
    height:100%;
    padding:24px;
    overflow:auto;
    overscroll-behavior:contain;
    background:rgba(18,18,18,.68);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
}
.vitz-popup__overlay[hidden]{display:none!important}
.vitz-popup__overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
.vitz-popup__dialog{
    position:relative;
    width:680px;
    max-width:100%;
    max-height:88vh;
    margin:auto;
    overflow:auto;
    overscroll-behavior:contain;
    border:0 solid transparent;
    border-radius:18px;
    background:#fff;
    box-shadow:0 22px 70px rgba(0,0,0,.3);
    color:#252525;
    transform:translateY(8px) scale(.98);
    transform-origin:center;
    transition:transform .22s ease,opacity .22s ease;
}
.vitz-popup__overlay--animation-fade .vitz-popup__dialog{transform:none}
.vitz-popup__overlay--animation-slide-up .vitz-popup__dialog{transform:translateY(42px)}
.vitz-popup__overlay.is-open .vitz-popup__dialog{transform:none}
.vitz-popup__close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:3;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin:0;
    padding:0;
    border:0 solid transparent;
    border-radius:50%;
    background:#f2f2f2;
    color:#252525;
    font:700 28px/1 Arial,sans-serif;
    cursor:pointer;
    appearance:none;
    transition:color .2s ease,background-color .2s ease,transform .2s ease;
}
.vitz-popup__close:hover{transform:scale(1.06)}
.vitz-popup__close span{display:block;transform:translateY(-1px)}
.vitz-popup__media{position:relative;display:block;width:100%;margin:0;overflow:hidden;background:#eee}
.vitz-popup__media img{display:block;width:100%;height:auto;max-height:42vh;object-fit:cover}
.vitz-popup__content{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:18px;
    padding:34px;
}
.vitz-popup__template,
.vitz-popup__template > .elementor{width:100%;min-width:0}
.vitz-popup__template-placeholder{
    width:100%;
    padding:22px;
    border:1px dashed #c9c9c9;
    border-radius:10px;
    background:#f7f7f7;
    color:#555;
    text-align:center;
}
.vitz-popup__editor-template-notice{
    width:100%;
    margin:10px 0;
    padding:10px 12px;
    border:1px dashed #c9c9c9;
    border-radius:8px;
    background:#f7f7f7;
    color:#555;
    font-size:13px;
    line-height:1.4;
    text-align:center;
}
.vitz-popup__title{width:100%;margin:0;padding-right:48px;color:#252525}
.vitz-popup__media + .vitz-popup__content .vitz-popup__title{padding-right:0}
.vitz-popup__intro{width:100%;margin:0;color:#626262}
.vitz-popup__body{width:100%;color:#444}
.vitz-popup__body > :first-child{margin-top:0}
.vitz-popup__body > :last-child{margin-bottom:0}
.vitz-popup__body a{color:#d85200;text-decoration:underline;text-underline-offset:.15em}
.vitz-popup__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    max-width:100%;
    padding:11px 18px;
    border:0 solid transparent;
    border-radius:999px;
    background:#f05a00;
    color:#fff;
    text-align:center;
    text-decoration:none;
    transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.vitz-popup__button:hover{background:#c94b00;color:#fff;transform:translateY(-1px)}
body.vitz-popup-open{overflow:hidden}

/* Kompakte Ausgabe innerhalb des Blocksy-HTML-Header-Elements.
 * Elementor-Vorlagen bringen sonst mitunter eine komplette, weiße
 * Containerfläche samt Mindesthöhe in die Headerzeile ein. */
#header .elementor-widget-vitz-popup{
    display:inline-flex!important;
    align-self:center!important;
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
}
#header .elementor-widget-vitz-popup>.elementor-widget-container,
#header .elementor-widget-vitz-popup .vitz-popup-trigger-wrap{
    display:inline-flex!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
}
#header :is(.ct-header-text,.ct-header-html,[data-id*="text"],[data-id*="html"]):has(.elementor-widget-vitz-popup),
#header :is(.ct-header-text,.ct-header-html,[data-id*="text"],[data-id*="html"]) :is(p,.elementor,.elementor-section,.elementor-container,.e-con,.e-con-inner):has(.elementor-widget-vitz-popup){
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
}

@media(max-width:767px){
    .vitz-popup__overlay{
        padding:max(14px,env(safe-area-inset-top,0px)) 14px max(14px,env(safe-area-inset-bottom,0px));
    }
    .vitz-popup__dialog{width:100%;max-height:calc(100dvh - 28px)}
    .vitz-popup__content{padding:26px 22px}
    .vitz-popup__media img{max-height:34vh}
    .vitz-popup__overlay--mobile-sheet{
        place-items:end center;
        padding:0;
    }
    .vitz-popup__overlay--mobile-sheet .vitz-popup__dialog{
        width:100%;
        max-width:none;
        max-height:calc(100dvh - max(18px,env(safe-area-inset-top,0px)));
        margin:0;
        border-bottom-right-radius:0!important;
        border-bottom-left-radius:0!important;
        transform:translateY(100%);
    }
    .vitz-popup__overlay--mobile-sheet.is-open .vitz-popup__dialog{transform:none}
    .vitz-popup__overlay--mobile-sheet .vitz-popup__content{
        padding-bottom:max(26px,calc(18px + env(safe-area-inset-bottom,0px)));
    }
}
@media(prefers-reduced-motion:reduce){
    .vitz-popup__overlay,
    .vitz-popup__dialog,
    .vitz-popup__trigger,
    .vitz-popup__close,
    .vitz-popup__button{transition:none!important}
}
