.mlua-contact-directory{--mlua-contact-green:#258C4F;--mlua-contact-green-dark:#1E713F;--mlua-contact-text:#17212b;--mlua-contact-muted:#5e6b75;--mlua-contact-border:#dce2e7;--mlua-contact-soft:#f4f7f8}.mlua-contact-group{margin:0 0 3rem}.mlua-contact-group__title{margin:0 0 1rem;padding:0 0 .55rem;border-bottom:2px solid var(--mlua-contact-green);color:var(--mlua-contact-text);font-size:clamp(1.3rem,2vw,1.75rem)}.mlua-contact-grid{display:grid;grid-template-columns:repeat(var(--mlua-contact-columns),minmax(0,1fr));gap:1.2rem}.mlua-contact-card{display:grid;grid-template-columns:135px minmax(0,1fr);overflow:hidden;min-height:170px;border:1px solid var(--mlua-contact-border);border-radius:8px;background:#fff;box-shadow:0 3px 14px rgba(23,33,43,.07)}.mlua-contact-card__image{min-height:170px;background:var(--mlua-contact-soft)}.mlua-contact-card__image img{display:block;width:100%;height:100%;min-height:170px;object-fit:cover}.mlua-contact-card__body{display:flex;flex-direction:column;padding:1.15rem 1.25rem}.mlua-contact-card__name{margin:0 0 .25rem;color:var(--mlua-contact-text);font-size:1.18rem}.mlua-contact-card__position{margin:0 0 1rem;color:var(--mlua-contact-muted)}.mlua-contact-card__links{display:grid;gap:.4rem;margin-top:auto}.mlua-contact-card__links a{color:var(--mlua-contact-green);text-decoration:none;overflow-wrap:anywhere}.mlua-contact-card__links a:hover,.mlua-contact-card__links a:focus{color:var(--mlua-contact-green-dark);text-decoration:underline}.mlua-contact-card__links span{margin-right:.3rem;color:var(--mlua-contact-muted)}.mlua-contact-empty{padding:1rem 1.2rem;border-left:4px solid var(--mlua-contact-green);background:var(--mlua-contact-soft);color:var(--mlua-contact-text)}@media(max-width:980px){.mlua-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.mlua-contact-grid{grid-template-columns:1fr}.mlua-contact-card{grid-template-columns:105px minmax(0,1fr)}.mlua-contact-card__image,.mlua-contact-card__image img{min-height:150px}}@media(max-width:440px){.mlua-contact-card{grid-template-columns:1fr}.mlua-contact-card__image,.mlua-contact-card__image img{height:240px}}


.mlua-contact-card__contact-button,.mlua-contact-form button[type="submit"]{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:42px;padding:.65rem 1rem;border:0;border-radius:4px;background:var(--mlua-contact-green);color:#fff;font:inherit;font-weight:600;cursor:pointer}.mlua-contact-card__contact-button:hover,.mlua-contact-card__contact-button:focus,.mlua-contact-form button[type="submit"]:hover,.mlua-contact-form button[type="submit"]:focus{background:var(--mlua-contact-green-dark);color:#fff}.mlua-contact-form{grid-column:1/-1;padding:1.25rem;border-top:1px solid var(--mlua-contact-border);background:var(--mlua-contact-soft)}.mlua-contact-form[hidden]{display:none}.mlua-contact-form__form{display:grid;gap:.9rem}.mlua-contact-form__form p{margin:0}.mlua-contact-form__form label{display:grid;gap:.35rem;color:var(--mlua-contact-text);font-weight:600}.mlua-contact-form__form input,.mlua-contact-form__form textarea{box-sizing:border-box;width:100%;padding:.7rem .8rem;border:1px solid var(--mlua-contact-border);border-radius:4px;background:#fff;color:var(--mlua-contact-text);font:inherit}.mlua-contact-form__form textarea{resize:vertical}.mlua-contact-form__privacy{color:var(--mlua-contact-muted);font-size:.92rem}.mlua-contact-form__honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.mlua-contact-form__message{margin:0 0 1rem;padding:.8rem 1rem;border-left:4px solid var(--mlua-contact-green);background:#fff}.mlua-contact-form__message--error{border-left-color:#b32d2e}


body.mlua-contact-modal-open {
    overflow: hidden;
}

.mlua-contact-modal {
    position: fixed;
    z-index: 99999;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    background: rgba(23, 33, 43, .68);
}

.mlua-contact-modal[hidden] {
    display: none !important;
}

.mlua-contact-modal__panel {
    position: relative;
    width: min(100%, 680px);
    max-height: calc(100vh - 2.5rem);
    overflow: auto;
    padding: 1.6rem;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(23, 33, 43, .28);
}

.mlua-contact-modal__panel h2 {
    margin: 0 3rem 1.2rem 0;
    color: var(--mlua-contact-text, #17212b);
}

.mlua-contact-modal__close {
    position: absolute;
    top: .7rem;
    right: .8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--mlua-contact-text, #17212b);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}

.mlua-contact-modal__close:hover,
.mlua-contact-modal__close:focus {
    background: var(--mlua-contact-soft, #f4f7f8);
}

.mlua-contact-form__form {
    display: grid;
    gap: .95rem;
}

.mlua-contact-form__form p {
    margin: 0;
}

.mlua-contact-form__form label {
    display: grid;
    gap: .35rem;
    color: var(--mlua-contact-text, #17212b);
    font-weight: 600;
}

.mlua-contact-form__form input,
.mlua-contact-form__form textarea {
    box-sizing: border-box;
    width: 100%;
    padding: .75rem .85rem;
    border: 1px solid var(--mlua-contact-border, #dce2e7);
    border-radius: 4px;
    background: #fff;
    color: var(--mlua-contact-text, #17212b);
    font: inherit;
}

.mlua-contact-form__form input:focus,
.mlua-contact-form__form textarea:focus {
    outline: 2px solid var(--mlua-contact-green, #258C4F);
    outline-offset: 2px;
}

.mlua-contact-form__privacy {
    color: var(--mlua-contact-muted, #5e6b75);
    font-size: .92rem;
}

.mlua-contact-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: .25rem;
}

.mlua-contact-form__cancel,
.mlua-contact-form__submit {
    min-height: 42px;
    padding: .65rem 1rem;
    border-radius: 4px;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.mlua-contact-form__cancel {
    border: 1px solid var(--mlua-contact-border, #dce2e7);
    background: #fff;
    color: var(--mlua-contact-text, #17212b);
}

.mlua-contact-form__submit {
    border: 0;
    background: var(--mlua-contact-green, #258C4F);
    color: #fff;
}

.mlua-contact-form__submit:hover,
.mlua-contact-form__submit:focus {
    background: var(--mlua-contact-green-dark, #1E713F);
}

@media (max-width: 680px) {
    .mlua-contact-modal {
        align-items: flex-end;
        padding: 0;
    }

    .mlua-contact-modal__panel {
        width: 100%;
        max-height: 94vh;
        border-radius: 12px 12px 0 0;
        padding: 1.25rem;
    }

    .mlua-contact-form__actions {
        flex-direction: column-reverse;
    }

    .mlua-contact-form__cancel,
    .mlua-contact-form__submit {
        width: 100%;
    }
}


/* Kompakteres Popup-Design ab Version 1.2.2 */
.mlua-contact-modal {
    padding: 1rem;
}

.mlua-contact-modal__panel {
    width: min(100%, 520px);
    max-height: calc(100vh - 2rem);
    padding: 1.15rem 1.25rem 1.25rem;
    border-radius: 8px;
}

.mlua-contact-modal__panel h2 {
    margin: 0 2.75rem .85rem 0;
    font-size: 1.35rem;
    line-height: 1.25;
}

.mlua-contact-modal__close {
    top: .55rem;
    right: .6rem;
    width: 36px;
    height: 36px;
    border: 1px solid var(--mlua-contact-border, #dce2e7);
    background: #fff;
    font-size: 1.7rem;
}

.mlua-contact-form__form {
    gap: .65rem;
}

.mlua-contact-form__form label {
    gap: .25rem;
    font-size: .95rem;
}

.mlua-contact-form__form input,
.mlua-contact-form__form textarea {
    padding: .5rem .65rem;
    min-height: 38px;
    font-size: .95rem;
    line-height: 1.35;
}

.mlua-contact-form__form textarea {
    min-height: 105px;
}

.mlua-contact-form__privacy {
    margin-top: .1rem;
    font-size: .84rem;
    line-height: 1.35;
}

.mlua-contact-form__actions {
    gap: .6rem;
    margin-top: .15rem;
}

.mlua-contact-form__cancel,
.mlua-contact-form__submit {
    min-height: 38px;
    padding: .5rem .85rem;
    font-size: .93rem;
}

@media (max-width: 680px) {
    .mlua-contact-modal {
        align-items: center;
        padding: .75rem;
    }

    .mlua-contact-modal__panel {
        width: min(100%, 500px);
        max-height: calc(100vh - 1.5rem);
        padding: 1rem;
        border-radius: 8px;
    }

    .mlua-contact-form__actions {
        flex-direction: row;
        justify-content: flex-end;
    }

    .mlua-contact-form__cancel,
    .mlua-contact-form__submit {
        width: auto;
    }
}

@media (max-width: 440px) {
    .mlua-contact-form__actions {
        flex-direction: column-reverse;
    }

    .mlua-contact-form__cancel,
    .mlua-contact-form__submit {
        width: 100%;
    }
}


/* Popup-Design angelehnt an die bisherige MLUA-Kontaktseite – Version 1.2.3 */
.mlua-contact-modal {
    padding: 1.5rem;
    background: rgba(23, 33, 43, .52);
}

.mlua-contact-modal__panel {
    width: min(100%, 760px);
    max-height: calc(100vh - 3rem);
    padding: 1.55rem 1.75rem 1.65rem;
    border: 1px solid rgba(23, 33, 43, .12);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 14px 42px rgba(23, 33, 43, .24);
}

.mlua-contact-modal__panel h2 {
    margin: 0 3rem 1.4rem;
    color: #5e6b75;
    font-size: 1.45rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
}

.mlua-contact-modal__close {
    top: .65rem;
    right: .7rem;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: var(--mlua-contact-green, #258C4F);
    color: #fff;
    font-size: 1.35rem;
    box-shadow: 0 2px 6px rgba(23, 33, 43, .2);
}

.mlua-contact-modal__close:hover,
.mlua-contact-modal__close:focus {
    background: var(--mlua-contact-green-dark, #1E713F);
    color: #fff;
}

.mlua-contact-form__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem 1.25rem;
}

.mlua-contact-form__field {
    margin: 0;
}

.mlua-contact-form__field--half {
    grid-column: span 1;
}

.mlua-contact-form__field--full {
    grid-column: 1 / -1;
}

.mlua-contact-form__form label {
    gap: .35rem;
    color: #5e6b75;
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.mlua-contact-form__form input,
.mlua-contact-form__form textarea {
    min-height: 34px;
    padding: .42rem .55rem;
    border: 1px solid #8c949b;
    border-radius: 0;
    background: #fff;
    color: #17212b;
    font-size: .92rem;
    line-height: 1.3;
}

.mlua-contact-form__form textarea {
    min-height: 112px;
}

.mlua-contact-form__form input:focus,
.mlua-contact-form__form textarea:focus {
    border-color: var(--mlua-contact-green, #258C4F);
    outline: 1px solid var(--mlua-contact-green, #258C4F);
    outline-offset: 0;
}

.mlua-contact-form__privacy {
    color: #6f787f;
    font-size: .78rem;
    line-height: 1.4;
}

.mlua-contact-form__actions {
    display: flex;
    justify-content: flex-start;
    gap: .7rem;
    margin-top: .25rem;
}

.mlua-contact-form__cancel,
.mlua-contact-form__submit {
    min-height: 40px;
    padding: .55rem 1.3rem;
    border-radius: 0;
    font-size: .82rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mlua-contact-form__submit {
    min-width: 150px;
    background: var(--mlua-contact-green, #258C4F);
}

.mlua-contact-form__cancel {
    border: 1px solid #c3c4c7;
    background: #fff;
    color: #5e6b75;
}

.mlua-contact-form__cancel:hover,
.mlua-contact-form__cancel:focus {
    border-color: #8c949b;
    background: #f4f7f8;
    color: #17212b;
}

.mlua-contact-form__message {
    grid-column: 1 / -1;
    margin: 0 0 1rem;
}

@media (max-width: 680px) {
    .mlua-contact-modal {
        align-items: center;
        padding: .75rem;
    }

    .mlua-contact-modal__panel {
        width: 100%;
        max-height: calc(100vh - 1.5rem);
        padding: 1.2rem 1rem 1.25rem;
    }

    .mlua-contact-modal__panel h2 {
        margin: 0 2.5rem 1rem;
        font-size: 1.25rem;
    }

    .mlua-contact-form__form {
        grid-template-columns: 1fr;
        gap: .7rem;
    }

    .mlua-contact-form__field--half,
    .mlua-contact-form__field--full {
        grid-column: 1;
    }

    .mlua-contact-form__actions {
        flex-direction: row;
    }
}

@media (max-width: 440px) {
    .mlua-contact-form__actions {
        flex-direction: column-reverse;
    }

    .mlua-contact-form__cancel,
    .mlua-contact-form__submit {
        width: 100%;
    }
}


/* Kompaktere Popup-Höhe und Abstand zum Hauptmenü – Version 1.2.4 */
.mlua-contact-modal {
    align-items: flex-start;
    padding: clamp(74px, 9vh, 105px) 1rem 1rem;
    overflow-y: auto;
}

.mlua-contact-modal__panel {
    width: min(100%, 700px);
    max-height: calc(100vh - clamp(90px, 12vh, 125px));
    padding: 1rem 1.35rem 1.1rem;
    overflow-y: auto;
}

.mlua-contact-modal__panel h2 {
    margin: 0 2.8rem .85rem;
    font-size: 1.28rem;
}

.mlua-contact-modal__close {
    top: .5rem;
    right: .55rem;
    width: 32px;
    height: 32px;
    font-size: 1.25rem;
}

.mlua-contact-form__form {
    gap: .55rem 1rem;
}

.mlua-contact-form__form label {
    gap: .2rem;
    font-size: .7rem;
    line-height: 1.15;
}

.mlua-contact-form__form input,
.mlua-contact-form__form textarea {
    min-height: 30px;
    padding: .28rem .48rem;
    font-size: .88rem;
    line-height: 1.2;
}

.mlua-contact-form__form textarea {
    min-height: 78px;
    max-height: 135px;
}

.mlua-contact-form__privacy {
    margin: 0;
    font-size: .73rem;
    line-height: 1.25;
}

.mlua-contact-form__actions {
    gap: .55rem;
    margin-top: .05rem;
}

.mlua-contact-form__cancel,
.mlua-contact-form__submit {
    min-height: 34px;
    padding: .4rem 1rem;
    font-size: .76rem;
}

@media (max-width: 680px) {
    .mlua-contact-modal {
        align-items: flex-start;
        padding: 70px .65rem .65rem;
    }

    .mlua-contact-modal__panel {
        max-height: calc(100vh - 82px);
        padding: .9rem;
    }

    .mlua-contact-modal__panel h2 {
        margin-bottom: .7rem;
    }

    .mlua-contact-form__form {
        gap: .5rem;
    }

    .mlua-contact-form__form input,
    .mlua-contact-form__form textarea {
        min-height: 30px;
        padding: .28rem .45rem;
    }

    .mlua-contact-form__form textarea {
        min-height: 72px;
    }
}


/* Stabilisiertes Popup-Layout – Version 1.2.5 */
.mlua-contact-modal {
    position: fixed !important;
    z-index: 2147483000 !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem !important;
    overflow: auto !important;
    background: rgba(23, 33, 43, .58) !important;
}

.mlua-contact-modal[hidden] {
    display: none !important;
}

.mlua-contact-modal__panel {
    position: relative !important;
    width: min(100%, 680px) !important;
    max-height: calc(100vh - 2rem) !important;
    overflow-y: auto !important;
    padding: 1rem 1.25rem 1.1rem !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-shadow: 0 14px 42px rgba(23, 33, 43, .25) !important;
}

.mlua-contact-modal__panel h2 {
    margin: 0 2.75rem .8rem !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

.mlua-contact-modal__close {
    position: absolute !important;
    top: .5rem !important;
    right: .55rem !important;
    width: 32px !important;
    height: 32px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: var(--mlua-contact-green, #258C4F) !important;
    color: #fff !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
}

.mlua-contact-form__form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .5rem .9rem !important;
}

.mlua-contact-form__form label {
    gap: .18rem !important;
    font-size: .68rem !important;
    line-height: 1.1 !important;
}

.mlua-contact-form__form input,
.mlua-contact-form__form textarea {
    min-height: 28px !important;
    padding: .22rem .42rem !important;
    font-size: .86rem !important;
    line-height: 1.15 !important;
}

.mlua-contact-form__form textarea {
    min-height: 70px !important;
    max-height: 110px !important;
}

.mlua-contact-form__privacy {
    margin: 0 !important;
    font-size: .72rem !important;
    line-height: 1.2 !important;
}

.mlua-contact-form__actions {
    margin-top: .05rem !important;
    gap: .5rem !important;
}

.mlua-contact-form__cancel,
.mlua-contact-form__submit {
    min-height: 32px !important;
    padding: .35rem .85rem !important;
    font-size: .74rem !important;
}

@media (max-width: 680px) {
    .mlua-contact-modal {
        padding: .65rem !important;
    }

    .mlua-contact-modal__panel {
        max-height: calc(100vh - 1.3rem) !important;
        padding: .9rem !important;
    }

    .mlua-contact-form__form {
        grid-template-columns: 1fr !important;
        gap: .45rem !important;
    }

    .mlua-contact-form__field--half,
    .mlua-contact-form__field--full {
        grid-column: 1 !important;
    }
}


/* Dynamischer Abstand zu mitfahrendem Hauptmenü – Version 1.2.6 */
.mlua-contact-modal {
    align-items: flex-start !important;
    padding:
        var(--mlua-contact-top-offset, 90px)
        1rem
        1rem !important;
}

.mlua-contact-modal__panel {
    max-height:
        calc(
            100vh
            - var(--mlua-contact-top-offset, 90px)
            - 16px
        ) !important;
}

@media (max-width: 680px) {
    .mlua-contact-modal {
        padding:
            var(--mlua-contact-top-offset, 76px)
            .65rem
            .65rem !important;
    }

    .mlua-contact-modal__panel {
        max-height:
            calc(
                100vh
                - var(--mlua-contact-top-offset, 76px)
                - 10px
            ) !important;
    }
}


/* Korrigierte Positionierung – Version 1.2.7 */
.mlua-contact-modal {
    align-items: center !important;
    justify-content: center !important;
    padding:
        var(--mlua-contact-top-offset, 16px)
        1rem
        16px !important;
}

.mlua-contact-modal__panel {
    margin: 0 !important;
    max-height:
        calc(
            100vh
            - var(--mlua-contact-top-offset, 16px)
            - 16px
        ) !important;
}

@media (max-width: 680px) {
    .mlua-contact-modal {
        align-items: center !important;
        padding:
            var(--mlua-contact-top-offset, 12px)
            .65rem
            10px !important;
    }

    .mlua-contact-modal__panel {
        max-height:
            calc(
                100vh
                - var(--mlua-contact-top-offset, 12px)
                - 10px
            ) !important;
    }
}
