/* Rodi – Maskottchen. Schriften kommen vom Theme. */
.svs-rodi-app{position:fixed;right:20px;bottom:20px;z-index:100000;font-family:inherit;line-height:1.45;--rodi-schwarz:#111;--rodi-grau:#6b6b6b;--rodi-linie:#e6e6e6}
.svs-rodi-app[hidden]{display:none}
.svs-rodi-app *{box-sizing:border-box;font-family:inherit}

/* Knopf */
.svs-rodi__knopf{display:block;width:78px;height:78px;padding:0;border:3px solid #fff;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 6px 22px rgba(0,0,0,.35);overflow:hidden;animation:svs-rodi-rein .7s cubic-bezier(.3,1.6,.5,1) both,svs-rodi-wackeln 7s ease-in-out 3s infinite;transition:transform .2s}
.svs-rodi__knopf:hover{transform:scale(1.07) rotate(-4deg)}
.svs-rodi__knopf:focus-visible{outline:3px solid #fff;outline-offset:3px}
.svs-rodi__knopf img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.12)}
.ist-offen .svs-rodi__knopf{animation:none}
@keyframes svs-rodi-rein{from{transform:translateY(120px) scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes svs-rodi-wackeln{0%,88%,100%{transform:rotate(0)}91%{transform:rotate(-12deg)}94%{transform:rotate(10deg)}97%{transform:rotate(-6deg)}}

/* Lebendigkeit */
.ist-lebendig .svs-rodi__knopf{animation:svs-rodi-rein .7s cubic-bezier(.3,1.6,.5,1) both,svs-rodi-atmen 3.2s ease-in-out .8s infinite;transform-origin:50% 100%}
.ist-lebendig .svs-rodi__knopf img{transition:transform .25s ease-out}
@keyframes svs-rodi-atmen{0%,100%{transform:scale(1,1)}50%{transform:scale(1.025,.975) translateY(1px)}}
.svs-rodi__knopf.anim-huepf{animation:svs-rodi-huepf .6s cubic-bezier(.3,1.5,.5,1)!important}
@keyframes svs-rodi-huepf{0%{transform:none}30%{transform:translateY(-14px) scale(1.04,.97)}60%{transform:translateY(0) scale(1.06,.92)}100%{transform:none}}
.svs-rodi__knopf.anim-drueck{animation:svs-rodi-drueck .35s ease-out!important}
@keyframes svs-rodi-drueck{0%{transform:none}40%{transform:scale(1.12,.86)}100%{transform:none}}
.svs-rodi__knopf.anim-jubel{animation:svs-rodi-jubel 1.2s cubic-bezier(.3,1.5,.5,1)!important}
@keyframes svs-rodi-jubel{0%{transform:none}15%{transform:translateY(-34px) rotate(-12deg)}30%{transform:translateY(0) scale(1.1,.9)}45%{transform:translateY(-22px) rotate(12deg)}60%{transform:translateY(0) scale(1.06,.94)}75%{transform:translateY(-8px)}100%{transform:none}}
.svs-rodi__knopf.anim-gucken{animation:svs-rodi-gucken 2.6s ease-in-out!important}
@keyframes svs-rodi-gucken{0%{transform:none}12%{transform:translateY(8px) scale(.95)}28%{transform:translateY(-26px) rotate(-10deg) scale(1.1)}45%{transform:translateY(-26px) rotate(10deg) scale(1.1)}62%{transform:translateY(-26px) rotate(-6deg) scale(1.1)}80%{transform:translateY(-4px)}100%{transform:none}}
.svs-rodi__knopf.anim-winken{animation:svs-rodi-winken 1.4s ease-in-out!important}
@keyframes svs-rodi-winken{0%,100%{transform:none}15%,45%,75%{transform:rotate(-14deg)}30%,60%,90%{transform:rotate(14deg)}}
.rodi-spricht .svs-rodi__kopfzeile img{animation:svs-rodi-spricht .35s ease-in-out infinite alternate}
@keyframes svs-rodi-spricht{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-3px) rotate(3deg)}}
.svs-rodi__kopfzeile img.rodi-winkt{animation:svs-rodi-winken 1.1s ease-in-out}
.svs-rodi__konfetti{position:absolute;right:39px;bottom:39px;width:0;height:0;pointer-events:none;z-index:2}
.svs-rodi__konfetti span{position:absolute;left:0;top:0;line-height:1;text-shadow:0 0 2px rgba(0,0,0,.6);animation:svs-rodi-konfetti 1.4s cubic-bezier(.2,.7,.3,1) forwards;opacity:0}
@keyframes svs-rodi-konfetti{0%{transform:translate(0,0) rotate(0) scale(.4);opacity:1}70%{opacity:1}100%{transform:translate(var(--x),calc(var(--y) + 60px)) rotate(var(--r)) scale(1);opacity:0}}
.svs-rodi__kzname{color:#fff!important;font-weight:700;font-size:16px;text-decoration:none!important;border-bottom:1px dashed rgba(255,255,255,.5);align-self:flex-start}
.svs-rodi__kzname:hover{border-bottom-style:solid}

/* Sprechblase */
.svs-rodi__blase{position:absolute;right:6px;bottom:92px;width:max-content;max-width:min(270px,calc(100vw - 50px));display:flex;align-items:flex-start;gap:.2em;background:#fff;color:var(--rodi-schwarz);border-radius:18px 18px 4px 18px;box-shadow:0 8px 26px rgba(0,0,0,.3);padding:.75em .5em .75em 1em;opacity:0;transform:translateY(10px) scale(.95);transform-origin:bottom right;pointer-events:none;transition:opacity .25s,transform .25s}
.mit-blase .svs-rodi__blase{opacity:1;transform:none;pointer-events:auto}
.svs-rodi__blasetext{background:none;border:0;padding:0;margin:0;text-align:left;color:inherit;font:inherit;font-weight:700;font-size:15px;line-height:1.35;cursor:pointer}
.svs-rodi__blasezu{background:none;border:0;color:#999;font-size:13px;cursor:pointer;padding:0 .3em;line-height:1}
.svs-rodi__blasezu:hover{color:#000}

/* Panel */
.svs-rodi__panel{position:absolute;right:0;bottom:92px;width:370px;max-width:calc(100vw - 32px);height:min(560px,calc(100vh - 140px));background:#fff;color:var(--rodi-schwarz);border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:flex;flex-direction:column;overflow:hidden;animation:svs-rodi-panel .25s ease-out}
.svs-rodi__panel[hidden]{display:none}
@keyframes svs-rodi-panel{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.svs-rodi__kopfzeile{display:flex;align-items:center;gap:.7em;padding:.8em .9em;background:#111;color:#fff;flex-shrink:0}
.svs-rodi__kopfzeile img{width:42px;height:42px;border-radius:50%;background:#fff;object-fit:cover}
.svs-rodi__kztext{flex:1;display:flex;flex-direction:column;line-height:1.2}
.svs-rodi__kztext strong{font-size:16px;color:#fff}
.svs-rodi__kztext span{font-size:12px;color:rgba(255,255,255,.65)}
.svs-rodi__icon{background:rgba(255,255,255,.12);border:0;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:15px;line-height:1}
.svs-rodi__icon:hover{background:rgba(255,255,255,.25)}

.svs-rodi__verlauf{position:relative;flex:1;overflow-y:auto;padding:1em .9em 1.2em;display:flex;flex-direction:column;gap:.55em;background:#f4f4f4;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.svs-rodi__msg{max-width:88%;padding:.6em .9em;border-radius:16px;font-size:14.5px;line-height:1.45;animation:svs-rodi-msg .2s ease-out;overflow-wrap:anywhere}
@keyframes svs-rodi-msg{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.svs-rodi__msg--rodi{align-self:flex-start;background:#fff;border:1px solid var(--rodi-linie);border-bottom-left-radius:4px}
.svs-rodi__msg--ich{align-self:flex-end;background:#111;color:#fff;border-bottom-right-radius:4px}
.svs-rodi__tippt{display:flex;gap:4px;padding:.8em .9em}
.svs-rodi__tippt span{width:7px;height:7px;border-radius:50%;background:#bbb;animation:svs-rodi-tipp 1s infinite}
.svs-rodi__tippt span:nth-child(2){animation-delay:.15s}
.svs-rodi__tippt span:nth-child(3){animation-delay:.3s}
@keyframes svs-rodi-tipp{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}

/* Antwort-Knöpfe */
.svs-rodi__wahl{display:flex;flex-direction:column;align-items:flex-end;gap:.4em;margin-top:.2em}
.svs-rodi__option{background:#fff;border:1.5px solid #111;color:#111;border-radius:20px;padding:.5em .95em;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-align:right;transition:background .15s,color .15s}
.svs-rodi__option:hover,.svs-rodi__option:focus-visible{background:#111;color:#fff;outline:none}
.svs-rodi__wahl--klein .svs-rodi__option{font-size:13px;padding:.4em .85em;border-color:#999;color:#555}
.svs-rodi__jahre{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch}
.svs-rodi__jahre .svs-rodi__option{text-align:center;padding:.5em .2em}
.svs-rodi__option--breit{grid-column:1/-1}

/* Inhalte in Nachrichten */
.svs-rodi__msg .svs-rodi__karte{margin:-.1em -.2em}
.svs-rodi__kartenkopf{display:flex;align-items:baseline;gap:.5em;flex-wrap:wrap;margin-bottom:.5em}
.svs-rodi__kartenkopf strong{font-size:22px;line-height:1}
.svs-rodi__kartenkopf span{color:var(--rodi-grau);font-size:13px}
.svs-rodi__zeile{display:flex;flex-direction:column;padding:.4em 0;border-top:1px solid var(--rodi-linie);font-size:13.5px}
.svs-rodi__zeile b{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--rodi-grau)}
.svs-rodi__klein{font-size:12.5px;color:var(--rodi-grau);margin:.3em 0 0;padding:0}
.svs-rodi__btns{display:flex;flex-wrap:wrap;gap:.4em;margin-top:.6em}
.svs-rodi__msg>.svs-rodi__btns{margin-top:0}
.svs-rodi__btn{display:inline-block;background:#111;color:#fff!important;border:2px solid #111;border-radius:10px;padding:.45em .85em;font-weight:700;font-size:13.5px;text-decoration:none!important;line-height:1.2}
.svs-rodi__btn:hover{opacity:.85}
.svs-rodi__btn--linie{background:#fff;color:#111!important}
.svs-rodi__link{color:#111!important;font-weight:700;text-decoration:underline}
.svs-rodi__liste{display:flex;flex-direction:column;margin:-.15em -.25em}
.svs-rodi__listeneintrag{display:flex;flex-direction:column;padding:.45em .3em;border-bottom:1px solid var(--rodi-linie);text-decoration:none!important;color:#111!important}
.svs-rodi__listeneintrag:last-child{border-bottom:0}
.svs-rodi__listeneintrag strong{font-size:14px}
.svs-rodi__listeneintrag span{font-size:12.5px;color:var(--rodi-grau)}
.svs-rodi__listeneintrag:hover strong{text-decoration:underline}
.svs-rodi__adresse{white-space:pre-line;margin:0;padding:0;font-weight:700}

/* Handy */
@media (max-width:640px){
	.svs-rodi-app{right:12px;bottom:12px}
	.svs-rodi__knopf{width:62px;height:62px}
	.svs-rodi__blase{bottom:74px}
	.svs-rodi-app.ist-offen{left:8px;right:8px;bottom:8px}
	.ist-offen .svs-rodi__knopf{display:none}
	.svs-rodi__panel{position:fixed;left:8px;right:8px;bottom:8px;top:auto;width:auto;max-width:none;height:min(80vh,620px)}
}
@media (prefers-reduced-motion:reduce){
	.svs-rodi__knopf,.svs-rodi__knopf img,.svs-rodi__panel,.svs-rodi__msg{animation:none!important}
	.svs-rodi__tippt span{animation:none}
}

/* ---------- [svs_rodi] auf Seiten ---------- */
.svs-rodi-inline{--rodi-h:200px;display:flex;align-items:flex-end;gap:.6em;margin:1em 0}
.svs-rodi-inline--rechts{flex-direction:row-reverse}
.svs-rodi-inline__bild{height:var(--rodi-h)!important;width:auto!important;max-width:45%;object-fit:contain;flex-shrink:0}
.svs-rodi-inline__blase{position:relative;background:#fff;color:#111;border-radius:18px;padding:1em 1.2em;margin-bottom:calc(var(--rodi-h)*.45);box-shadow:0 6px 20px rgba(0,0,0,.18);max-width:420px}
.svs-rodi-inline__blase::before{content:"";position:absolute;bottom:14px;left:-9px;border:10px solid transparent;border-right-color:#fff;border-left:0}
.svs-rodi-inline--rechts .svs-rodi-inline__blase::before{left:auto;right:-9px;border-right:0;border-left:10px solid #fff}
.svs-rodi-inline__blase p{margin:0;padding:0;font-weight:700;font-size:1.05em;line-height:1.4;color:#111}
.svs-rodi-inline__btn{display:inline-block;margin-top:.7em;background:#111;color:#fff!important;font-weight:700;padding:.55em 1.1em;border-radius:8px;text-decoration:none!important}
.svs-rodi-oeffnen{display:inline-flex;align-items:center;gap:.5em;background:#fff;color:#111;border:2px solid #fff;border-radius:40px;padding:.35em 1.2em .35em .35em;font:inherit;font-weight:700;cursor:pointer}
.svs-rodi-oeffnen img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.svs-rodi-oeffnen:hover{opacity:.9}

