/* Viva Mediathek – Live & Kinomodus. Farben/Schriften aus dem Corporate Design (--vb-…). */
.viva-live{--vl-accent:var(--vb-accent,#7A1E2C);--vl-gold:var(--vb-primary,#E3CA71);--vl-r:var(--vb-radius,10px);--vl-rb:var(--vb-radius-btn,999px);--vl-fh:var(--vb-font-heading,Georgia,serif);--vl-fb:var(--vb-font-body,system-ui,sans-serif);font-family:var(--vl-fb);box-sizing:border-box}
.viva-live *,.viva-live *::before,.viva-live *::after{box-sizing:border-box}
.viva-live [hidden]{display:none!important}
.viva-live img{display:block;max-width:100%}
.vl-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:rgba(127,127,127,.16);font:700 12px/1.4 var(--vl-fb);letter-spacing:.06em;text-transform:uppercase}
.vl-badge.is-live{background:#e0262f;color:#fff;animation:vl-pulse 2s ease-in-out infinite}
@keyframes vl-pulse{50%{box-shadow:0 0 0 6px rgba(224,38,47,.25)}}
.vl-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.vl-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--vl-rb);border:1px solid rgba(127,127,127,.35);font:600 15px/1 var(--vl-fb);text-decoration:none;color:inherit;background:transparent}
.vl-btn:hover{border-color:var(--vl-gold)}
.vl-btn.p{background:var(--vl-accent);border-color:var(--vl-accent);color:#fff}
.vl-cd{display:flex;gap:10px;margin-top:12px}
.vl-cd span{min-width:58px;padding:8px 6px;border-radius:var(--vl-r);background:rgba(127,127,127,.14);text-align:center}
.vl-cd b{display:block;font:700 24px/1.1 var(--vl-fh);font-variant-numeric:tabular-nums}
.vl-cd small{display:block;font-size:11px;opacity:.75;text-transform:uppercase;letter-spacing:.05em}
.vl-soon-t{margin:12px 0 0;font-weight:700}
.vl-when{margin:6px 0 0;font-weight:600}
.vl-next{margin:14px 0 0;opacity:.85}
.vl-player{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--vl-r);overflow:hidden}
.vl-player img{width:100%;height:100%;object-fit:cover}
.vl-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vl-play{position:absolute;inset:0;margin:auto;width:76px;height:76px;border-radius:50%;border:0;background:var(--vl-accent);color:#fff;font-size:28px;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.4)}

/* Karten (Ich bin neu, Spenden, …) */
.vl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:22px}
.vl-cardx{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--vl-r);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:inherit;text-decoration:none;transition:background .15s,border-color .15s}
.vl-cardx:hover{background:rgba(255,255,255,.1);border-color:var(--vl-gold)}
.vl-cardx>b{font-size:28px;line-height:1}
.vl-cardx span{flex:1;min-width:0}
.vl-cardx strong{display:block;font:700 17px/1.3 var(--vl-fh)}
.vl-cardx small{display:block;margin-top:3px;font-size:14px;opacity:.75;line-height:1.4}
.vl-cardx i{font-style:normal;opacity:.6}

/* Kinomodus */
.vl-cinema-body{margin:0;min-height:100vh;background:#0b0b0c;color:#f2efe8;font:400 16px/1.55 var(--vb-font-body,system-ui,sans-serif);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.vl-top{display:flex;align-items:center;gap:16px;height:60px;padding:0 max(16px,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.08)}
.vl-logo img{height:30px;width:auto}
.vl-back{display:grid;place-items:center;width:40px;height:40px;margin-left:-8px;border-radius:50%;color:#fff;text-decoration:none;font-size:30px;line-height:1}
.vl-back:hover{background:rgba(255,255,255,.1)}
.vl-logo{color:#fff;text-decoration:none}
.vl-top-t{flex:1;min-width:0;font:700 17px/1.2 var(--vb-font-heading,Georgia,serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vl-top-a{color:var(--vb-primary,#E3CA71);text-decoration:none;font-weight:600;white-space:nowrap}
.vl-soon{display:grid;place-items:center;min-height:60vh}
.vl-cinema{display:block;max-width:1500px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-left)) 40px}
.vl-wait{display:grid;place-items:center;min-height:50vh}
.vl-wait span{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--vb-accent,#7A1E2C);animation:vl-spin .8s linear infinite}
@keyframes vl-spin{to{transform:rotate(1turn)}}
.vl-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.vl-stage.has-chat{grid-template-columns:minmax(0,1fr) 360px}
.vl-stage:not(.has-chat) .vl-main{width:100%;max-width:min(1200px,calc((100vh - 130px) * 16 / 9));margin:0 auto}
.vl-stage:not(.has-chat)+.vl-cards{max-width:1200px;margin-left:auto;margin-right:auto}
.vl-cinema .vl-player{box-shadow:0 20px 60px rgba(0,0,0,.6)}
.vl-over{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(transparent 30%,rgba(0,0,0,.75))}
.vl-over .vl-cd{margin:0;align-self:end;margin-bottom:24px}
.vl-over .vl-cd span{background:rgba(0,0,0,.55);backdrop-filter:blur(6px);color:#fff}
.vl-info{padding-top:16px}
.vl-info h1{margin:10px 0 0;font:700 clamp(22px,3vw,32px)/1.2 var(--vb-font-heading,Georgia,serif)}
.vl-chat{border-radius:var(--vl-r);overflow:hidden;background:#fff;min-height:520px}
.vl-chat iframe{width:100%;height:100%;min-height:520px;border:0;display:block}
.vl-none{text-align:center;padding:60px 0 20px}
.vl-none p{font:700 22px/1.3 var(--vb-font-heading,Georgia,serif);margin:0 0 18px}
@media (max-width:1099px){.vl-stage.has-chat{grid-template-columns:minmax(0,1fr)}.vl-chat{display:none}}
@media (max-width:600px){.vl-cinema{padding-top:0;padding-left:0;padding-right:0}.vl-cinema .vl-player{border-radius:0}.vl-info,.vl-cinema .vl-cards,.vl-none{padding-left:16px;padding-right:16px}.vl-top-a{font-size:14px}.vl-cd span{min-width:52px}}

/* Shortcode auf der Website */
.vl-widget{margin:0 auto;max-width:1100px}
.vl-w{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:center;padding:22px;border-radius:var(--vl-r);background:var(--vb-bg-warm,#FAF7F0);color:var(--vb-text,#1C1A17)}
.vl-w.is-live{box-shadow:0 0 0 2px #e0262f}
.vl-w h3{margin:10px 0 0;font:700 clamp(22px,2.6vw,30px)/1.2 var(--vl-fh)}
.vl-w .vl-t{margin:6px 0 0;opacity:.8}
.vl-empty{text-align:center;opacity:.8}
@media (max-width:760px){.vl-w{grid-template-columns:minmax(0,1fr);gap:16px;padding:14px}}

/* Schmaler Banner auf der Mediathek-Startseite */
.vl-mini{display:flex;align-items:center;gap:16px;padding:10px 18px 10px 10px;border-radius:var(--vl-r);background:var(--card,#fff);border:1px solid var(--line,rgba(0,0,0,.1));color:inherit;text-decoration:none;margin:0 0 24px}
.vl-mini:hover{border-color:#e0262f}
.vl-mini.is-live{border-color:#e0262f;box-shadow:0 0 0 1px #e0262f}
.vl-mini img{width:120px;aspect-ratio:16/9;object-fit:cover;border-radius:calc(var(--vl-r) - 4px);flex:none}
.vl-mini-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.vl-mini-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.vl-mini-b strong{font:700 18px/1.25 var(--vl-fh);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vl-mini .vl-ws{font-size:14px;font-weight:600;color:var(--muted,#5E5850)}
.vl-mini .vl-wsh{display:none}
.vl-mini [data-cdt]{color:#e0262f;font-variant-numeric:tabular-nums;white-space:nowrap}
.vl-mini em{font-style:normal;font-weight:700;color:#e0262f;white-space:nowrap}
.vl-badge.is-next{background:#e0262f;color:#fff}
.vl-mini .vl-badge{padding:3px 10px;font-size:11px}
/* Handy: noch kompakter */
@media (max-width:700px){
.vl-mini{gap:12px;padding:8px 12px 8px 8px;margin-bottom:16px}
.vl-mini img{width:84px;border-radius:6px}
.vl-mini-b{gap:3px}
.vl-mini-top{gap:4px 8px}
.vl-mini .vl-badge{font-size:10px;padding:2px 8px}
.vl-mini-b strong{font-size:15px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.vl-mini .vl-ws{font-size:13px}
.vl-mini .vl-wl,.vl-mini em{display:none}
.vl-mini .vl-wsh{display:inline}
.vl-mini::after{content:'›';font-size:26px;line-height:1;color:var(--muted,#5E5850);flex:none}
}

/* Kinomodus (neu): Video links, Karten rechts – alles ohne Scrollen sichtbar */
.vl-stage2{grid-template-columns:minmax(0,1fr)}
.vl-stage2 .vl-main{max-width:none;margin:0}
.vl-side{display:flex;flex-direction:column;gap:14px}
.vl-side .vl-cards{grid-template-columns:minmax(0,1fr);margin-top:0;gap:12px}
.vl-side .vl-chat{min-height:360px}
.vl-cal{color:var(--vb-primary,#E3CA71);font-weight:600;text-decoration:none;white-space:nowrap}
.vl-cal:hover{text-decoration:underline}
@media (min-width:1100px){
.vl-stage2,.vl-stage2.has-chat{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
.vl-stage2 .vl-player{max-height:calc(100vh - 230px)}
.vl-stage2 .vl-main{max-width:calc((100vh - 230px) * 16 / 9)}
.vl-side .vl-chat{height:calc(100vh - 420px)}
.vl-side .vl-chat iframe{min-height:0;height:100%}
}
@media (max-width:1099px){.vl-side .vl-chat{display:none}.vl-side .vl-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
/* Vorschau-Fenster für die Karten */
.vl-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.7)}
.vl-modal-c{display:flex;flex-direction:column;width:min(1100px,100%);height:min(86vh,900px);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.vl-modal-h{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;background:#141416;color:#fff}
.vl-modal-h b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:700 17px/1.2 var(--vb-font-heading,Georgia,serif)}
.vl-modal-h .vl-btn{min-height:38px;font-size:14px}
.vl-x{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:16px;cursor:pointer}
.vl-modal iframe{flex:1;width:100%;border:0;background:#fff}
@media (max-width:600px){.vl-modal{padding:0}.vl-modal-c{width:100%;height:100%;border-radius:0}.vl-modal-h .vl-btn{padding:0 12px;font-size:13px}}
.vl-modal{--vl-accent:var(--vb-accent,#7A1E2C);--vl-gold:var(--vb-primary,#E3CA71);--vl-rb:var(--vb-radius-btn,999px);--vl-fb:var(--vb-font-body,system-ui,sans-serif);font-family:var(--vl-fb)}

/* Kinomodus: Anmeldung Sonntagseinladung (1.8) */
.vl-nl{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;width:min(980px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:clamp(24px,4vw,48px);border-radius:18px;background:#f8f4ec;color:#1c1a17;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.vl-nl .vl-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.06);color:#1c1a17;font-size:16px;cursor:pointer}
.vl-nl-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#e3ca71;margin-bottom:18px}
.vl-nl-ic svg{width:24px;height:24px;fill:none;stroke:#1c1a17;stroke-width:2;stroke-linejoin:round}
.vl-nl-eb{margin:0 0 6px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7a1e2c}
.vl-nl h2{margin:0 0 14px;font:400 clamp(28px,3.4vw,40px)/1.12 var(--vb-font-heading,Georgia,serif);color:#1c1a17}
.vl-nl-lead{margin:0 0 16px;font-size:17px;line-height:1.6;color:#4a4540}
.vl-nl ul{list-style:none;margin:0;padding:0}
.vl-nl li{position:relative;padding-left:30px;margin:8px 0}
.vl-nl li::before{content:'✓';position:absolute;left:0;top:1px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#7a1e2c;color:#fff;font-size:12px;font-weight:700}
.vl-nl-f{position:relative;padding:28px;border-radius:14px;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.08)}
.vl-nl-f h3{margin:0 0 18px;font:400 22px/1.2 var(--vb-font-heading,Georgia,serif);color:#1c1a17}
.vl-nl-f label{display:block;margin:0 0 8px;font-weight:700;font-size:15px}
.vl-nl-f input[type=email]{width:100%;box-sizing:border-box;padding:14px 18px;border:1px solid #d8d2c6;border-radius:999px;font:inherit;font-size:16px;background:#fff;color:#1c1a17}
.vl-nl-f input[type=email]:focus{outline:2px solid #e3ca71;outline-offset:1px}
.vl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.vl-nl-btn{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:14px 26px;border:0;border-radius:8px;background:#e3ca71;color:#1c1a17;font-family:inherit;font-size:14px;font-weight:700;line-height:1;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 16px rgba(227,202,113,.4)}
.vl-nl-btn:disabled{opacity:.6;cursor:wait}
.vl-nl-msg{margin:10px 0 0;font-size:14px;color:#2e8540}
.vl-nl-msg.err{color:#b32d2e}
.vl-nl-msg:empty{display:none}
.vl-nl-small{margin:12px 0 0;font-size:13px;line-height:1.6;color:#6b6660}
.vl-nl-cal{position:absolute;top:-26px;right:18px;width:118px;border-radius:10px;overflow:hidden;background:#fff;text-align:center;box-shadow:0 10px 24px rgba(0,0,0,.14);transform:rotate(3deg)}
.vl-nl-cal i{display:block;padding:8px 4px 6px;background:#7a1e2c;color:#e3ca71;font-size:10px;font-weight:700;line-height:1;white-space:nowrap;font-style:normal;letter-spacing:.14em;text-transform:uppercase}
.vl-nl-cal b{display:block;padding:8px 4px 0;font:400 20px/1.1 var(--vb-font-heading,Georgia,serif)}
.vl-nl-cal small{display:block;padding:2px 4px 10px;font-size:10px;color:#6b6660;border-bottom:3px solid #e3ca71}
.vl-nl-sent h3{margin:0 0 10px}
.vl-nl-sent p{margin:0 0 8px;line-height:1.6}
@media (max-width:760px){.vl-nl{grid-template-columns:1fr;gap:28px;padding:22px}.vl-nl-cal{display:none}.vl-nl h2{font-size:28px}.vl-nl-f{padding:20px}}

/* Kopf: «Kinomodus beenden» (1.10.1) */
.vl-logo{display:flex;align-items:center}
.vl-exit{display:inline-flex;align-items:center;gap:8px;flex:none;padding:8px 16px 8px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-size:14px;transition:background .15s}
.vl-exit:hover{background:rgba(255,255,255,.2)}
.vl-exit span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.16);font-size:12px}
.vl-exit b{font-weight:600}
.vl-exit-s{display:none}
@media (max-width:600px){.vl-exit-l{display:none}.vl-exit-s{display:inline}.vl-exit{padding:7px 12px 7px 8px;font-size:13px}.vl-top{gap:10px}}

/* Kinomodus: kompakte Fenster der Karten (1.11) */
.vl-nl-ic svg{width:24px;height:24px;fill:none;stroke:#1c1a17;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.vl-nl-f form label{margin-top:10px}
.vl-nl-f form label:first-child{margin-top:0}
.vl-nl-f input[type=text],.vl-nl-f textarea{width:100%;box-sizing:border-box;padding:12px 16px;border:1px solid #d8d2c6;border-radius:14px;font:inherit;font-size:15px;background:#fff;color:#1c1a17;resize:vertical}
.vl-nl-f input[type=text]{border-radius:999px}
.vl-nl-f input[type=text]:focus,.vl-nl-f textarea:focus{outline:2px solid #e3ca71;outline-offset:1px}
.vl-pop-times{display:grid;gap:8px;margin:0 0 14px}
.vl-pop-times div{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:#f8f4ec}
.vl-pop-times b{font:400 22px/1 var(--vb-font-heading,Georgia,serif);color:#7a1e2c;min-width:62px}
.vl-pop-times span{font-weight:700;line-height:1.25}
.vl-pop-times small{display:block;font-weight:400;font-size:13px;color:#6b6660}
.vl-pop-addr{margin:0 0 12px;line-height:1.55}
.vl-pop-btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.vl-pop-btns .vl-nl-btn{margin-top:0;text-decoration:none}
.vl-pop-link{color:#7a1e2c;font-weight:600;text-decoration:none}
.vl-nl-small a{color:#7a1e2c;font-weight:600;text-decoration:none}
.vl-pop-meta{margin:-6px 0 14px;line-height:1.5;color:#4a4540}
.vl-pop-iban{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:12px 14px;border-radius:10px;background:#f8f4ec}
.vl-pop-iban code{font:700 17px/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.02em;color:#1c1a17}
.vl-pop-copy{margin-left:auto;padding:7px 12px;border:1px solid #d8d2c6;border-radius:999px;background:#fff;font:600 13px/1 inherit;cursor:pointer}
.vl-pop-tw{margin:16px 0 0}
.vl-pop-tw img{height:52px;width:auto;display:block}
.vl-pop-tel{font:400 24px/1.2 var(--vb-font-heading,Georgia,serif);color:#1c1a17;text-decoration:none}
.vl-pop-direct{list-style:none;margin:6px 0 0;padding:0;font-size:14px}
.vl-pop-direct li{display:flex;justify-content:space-between;gap:10px;margin:0!important;padding:6px 0!important;border-top:1px solid rgba(0,0,0,.08)}
.vl-pop-direct li::before{display:none}
.vl-pop-direct a{color:#7a1e2c;text-decoration:none;font-weight:600;white-space:nowrap}
.vl-pop-contact .vl-nl-lead,.vl-pop-give .vl-nl-lead{font-size:16px}
@media (max-width:760px){.vl-pop-direct{display:none}}
/* Handy: Fenster ohne Scrollen (1.11) */
@media (max-width:760px){.vl-nlm{padding:10px;align-items:center}.vl-nlm .vl-nl{gap:16px;padding:18px;max-height:calc(100vh - 20px)}.vl-nlm .vl-nl-ic,.vl-nlm .vl-nl ul,.vl-nlm .vl-pop-tw+p{display:none}.vl-nlm .vl-nl h2{font-size:23px;margin-bottom:8px}.vl-nlm .vl-nl-lead{font-size:15px;line-height:1.5;margin-bottom:0}.vl-nlm .vl-nl-f{padding:16px}.vl-nlm .vl-nl-f h3{font-size:19px;margin-bottom:10px}.vl-pop-times{gap:6px;margin-bottom:10px}.vl-pop-times div{padding:7px 10px}.vl-pop-times b{font-size:18px;min-width:52px}.vl-pop-addr{margin-bottom:10px;font-size:14px}.vl-nl-small{margin-top:8px;font-size:12px}.vl-pop-tw img{height:44px}.vl-nlm textarea{min-height:64px}.vl-nlm .vl-nl-f form label{margin-top:6px}.vl-nlm .vl-nl-btn{padding:12px 20px}}
