body.iij-llv-modal-open{overflow:hidden}.iij-llv-modal[hidden]{display:none!important}.iij-llv-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.iij-llv-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}.iij-llv-modal__dialog{position:relative;z-index:1;width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;color:#1F1F1F;border-radius:20px;padding:38px;box-shadow:0 24px 70px rgba(0,0,0,.22);outline:none}.iij-llv-modal__close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#1F1F1F;font-size:34px;line-height:1;width:42px;height:42px;cursor:pointer;border-radius:50%}.iij-llv-modal__close:hover{background:#E6F9EF}.iij-llv-modal__close:focus-visible,.iij-llv-submit:focus-visible,.iij-llv-input:focus-visible,.iij-llv-check a:focus-visible{outline:3px solid #007A3F;outline-offset:3px}.iij-llv-kicker{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#007A3F;margin-bottom:10px}.iij-llv-modal h2{font-size:clamp(28px,5vw,40px);line-height:1.1;margin:0 46px 14px 0}.iij-llv-modal p{line-height:1.55}.iij-llv-period{background:#E6F9EF;border-radius:10px;padding:10px 12px;font-weight:700;margin:18px 0 24px}.iij-llv-label{display:block;font-weight:700;margin-bottom:7px}.iij-llv-input{display:block;width:100%;min-height:48px;border:1px solid #9B9B9B;border-radius:10px;padding:10px 12px;font:inherit;box-sizing:border-box}.iij-llv-help{font-size:14px;margin:7px 0 18px;color:#4D4D4D}.iij-llv-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;margin:0 0 18px}.iij-llv-check input{margin-top:4px;flex:0 0 auto}.iij-llv-check a{color:#006633;font-weight:700}.iij-llv-turnstile{min-height:0;margin-bottom:16px}.iij-llv-message{display:none;border-radius:10px;padding:12px 14px;line-height:1.5;margin:0 0 14px}.iij-llv-message:not(:empty){display:block}.iij-llv-message.is-error{background:#FDECEC;color:#7A1515}.iij-llv-message.is-success{background:#E6F9EF;color:#005B2F}.iij-llv-message.is-info{background:#F2F4F7;color:#333}.iij-llv-submit{display:block;width:100%;min-height:50px;border:0;border-radius:10px;background:#007A3F;color:#fff;font:inherit;font-weight:800;padding:13px 18px;cursor:pointer}.iij-llv-submit:hover{background:#006633}.iij-llv-submit:disabled{opacity:.55;cursor:not-allowed}.iij-llv-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:767px){.iij-llv-modal{padding:12px}.iij-llv-modal__dialog{padding:30px 20px 24px;border-radius:16px;max-height:calc(100vh - 24px)}.iij-llv-modal__close{right:8px;top:8px}.iij-llv-modal h2{margin-right:38px}}

/* Lieblingsladen-Landingpage: automatische Phasen-Sichtbarkeit.
 * Elementor-Container können EINE ODER MEHRERE der Klassen erhalten:
 * ll-show-signup, ll-show-waiting, ll-show-voting, ll-show-closed.
 * Ein Element bleibt sichtbar, sobald es die Klasse der aktuell aktiven Phase besitzt.
 * Ohne ll-phase-* Body-Klasse (z. B. Elementor-Editor) bleibt alles sichtbar. */
body.ll-phase-signup :is(.ll-show-signup,.ll-show-waiting,.ll-show-voting,.ll-show-closed):not(.ll-show-signup),
body.ll-phase-waiting :is(.ll-show-signup,.ll-show-waiting,.ll-show-voting,.ll-show-closed):not(.ll-show-waiting),
body.ll-phase-voting :is(.ll-show-signup,.ll-show-waiting,.ll-show-voting,.ll-show-closed):not(.ll-show-voting),
body.ll-phase-closed :is(.ll-show-signup,.ll-show-waiting,.ll-show-voting,.ll-show-closed):not(.ll-show-closed){display:none!important}

/* Teilnehmer:innen-Entdeckungsphase:
 * Elementor-Container mit ll-show-participants sind öffentlich erst ab
 * 27.08.2026, 12:00 Uhr bis einschließlich 30.09.2026 sichtbar. */
body.ll-participants-hidden .ll-show-participants{display:none!important}

/* Vor dem Voting bzw. nach dessen Ende werden vorhandene Voting-Buttons
 * automatisch in einen eindeutigen, nicht klickbaren Status versetzt.
 * Der Stil entspricht der deaktivierten Darstellung auf der Teilnehmerübersicht. */
.ll-vote-trigger.ll-vote-trigger--disabled,
.ll-vote-trigger:disabled{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:78px!important;
    padding:14px 20px!important;
    background:#DFE7E2!important;
    color:#4F5D55!important;
    border:1px solid #C8D2CC!important;
    border-radius:11px!important;
    box-shadow:none!important;
    font-size:15px!important;
    font-weight:600!important;
    line-height:1.55!important;
    letter-spacing:.28em!important;
    text-transform:uppercase!important;
    text-align:center!important;
    text-decoration:none!important;
    cursor:not-allowed!important;
    opacity:1!important;
    transform:none!important;
}

/* Elementor-Sonderfall:
 * In Elementor liegt die Klasse ll-vote-trigger häufig auf dem Widget-Wrapper.
 * Dann darf NICHT der Wrapper selbst zur grauen Schaltfläche werden. Stattdessen
 * wird ausschließlich der darin enthaltene echte .elementor-button gestylt. */
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    cursor:default!important;
}

.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:78px!important;
    padding:14px 20px!important;
    background:#DFE7E2!important;
    color:#4F5D55!important;
    border:1px solid #C8D2CC!important;
    border-radius:11px!important;
    box-shadow:none!important;
    text-align:center!important;
    text-decoration:none!important;
    cursor:not-allowed!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:none!important;
}

.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button-content-wrapper{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
}

.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button-text{
    color:#4F5D55!important;
    font-size:15px!important;
    font-weight:600!important;
    line-height:1.55!important;
    letter-spacing:.28em!important;
    text-transform:uppercase!important;
    text-align:center!important;
}

.ll-vote-trigger.ll-vote-trigger--disabled:hover,
.ll-vote-trigger.ll-vote-trigger--disabled:focus,
.ll-vote-trigger:disabled:hover,
.ll-vote-trigger:disabled:focus,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button:hover,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button:focus{
    background:#DFE7E2!important;
    color:#4F5D55!important;
    border-color:#C8D2CC!important;
    box-shadow:none!important;
    transform:none!important;
}

@media(max-width:767px){
    .ll-vote-trigger.ll-vote-trigger--disabled,
    .ll-vote-trigger:disabled,
    .ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button{
        min-height:70px!important;
        padding:13px 16px!important;
    }

    .ll-vote-trigger.ll-vote-trigger--disabled,
    .ll-vote-trigger:disabled,
    .ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button-text{
        font-size:14px!important;
        letter-spacing:.22em!important;
    }
}


/* v1.2.5 – Elementor-Hover auf deaktivierten Detailseiten-CTAs vollständig neutralisieren.
 * Einige Elementor-Button-Styles reagieren auf :hover des Widget-Wrappers und können
 * dadurch trotz deaktiviertem Link einen eckigen Overlay-/Randzustand erzeugen. */
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled:hover,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled:focus,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled:focus-within{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
}

.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button-wrapper,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled:hover .elementor-button-wrapper,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled:focus-within .elementor-button-wrapper{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
}

.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled:hover .elementor-button,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled:focus-within .elementor-button,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button:hover,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button:focus,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button:active{
    background:#DFE7E2!important;
    background-color:#DFE7E2!important;
    color:#4F5D55!important;
    border:1px solid #C8D2CC!important;
    border-radius:11px!important;
    box-shadow:none!important;
    outline:0!important;
    transform:none!important;
    overflow:hidden!important;
}

/* Elementor/Theme-Hover-Overlays dürfen im deaktivierten Zustand keine
 * eckige Fläche oder zusätzliche obere Linie zeichnen. */
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button::before,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled .elementor-button::after,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled:hover .elementor-button::before,
.ll-vote-trigger--elementor-wrapper.ll-vote-trigger--disabled:hover .elementor-button::after{
    content:none!important;
    display:none!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}
