/* RivalEye – Chat-Assistent (Widget zu js/chat.js)
   Alle Klassen beginnen mit rvc-. Keine Regeln für body, a, button usw.: jede Regel hängt an .rvc (dem Behälter des
   Widgets) – einzige Ausnahme ist html.rvc-lock, das js/chat.js nur setzt, solange das Vollbild-Blatt auf dem Handy offen
   ist (Hintergrund rollt dann nicht mit). Das Widget liegt fest über der Seite (position: fixed) und verschiebt nichts.
   Ebenen: Seitenkopf 50, Handy-Leiste 60, Hinweis 130 – Startknopf 900, Fenster 910, Vollbild-Blatt ganz oben.
   Farben wie die Website: Nachtblau #0B1220, Markenblau #1E5EFF, WhatsApp-Grün #25D366. */

.rvc{
  --rvc-ink:#0B1220;--rvc-ink-2:#111A2E;--rvc-ink-3:#1A2540;--rvc-line:#2F3D5C;
  --rvc-text:#E6EDF7;--rvc-muted:#A9B4C8;--rvc-blue:#1E5EFF;--rvc-sky:#93B4FF;
  --rvc-wa:#25D366;--rvc-wa-ink:#062A14;
  --rvc-ease:cubic-bezier(.16,1,.3,1);--rvc-spring:cubic-bezier(.34,1.36,.64,1);
  --rvc-edge:18px;--rvc-btn:64px;
  --rvc-low:calc(var(--rvc-edge) + var(--rv-bottom,0px) + env(safe-area-inset-bottom,0px));
  display:block;margin:0;padding:0;border:0;
  font-family:var(--font,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif);
  font-size:16px;font-weight:400;line-height:1.5;letter-spacing:normal;text-transform:none;text-align:start;
  color:var(--rvc-text);-webkit-text-size-adjust:100%;text-size-adjust:100%;
}
.rvc *,.rvc *::before,.rvc *::after{box-sizing:border-box}
.rvc [hidden]{display:none!important}

/* nur für Vorleseprogramme */
.rvc .rvc-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;min-height:0;display:block}

.rvc .rvc-ic{display:block;flex:none;width:20px;height:20px;max-width:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rvc[dir="rtl"] .rvc-flip{transform:scaleX(-1)}

/* ------------------------------------------------------------ Startknopf */
.rvc .rvc-launcher{
  position:fixed;z-index:900;inset-inline-end:var(--rvc-edge);bottom:var(--rvc-low);
  width:var(--rvc-btn);height:var(--rvc-btn);margin:0;padding:0;border:0;border-radius:50%;
  display:block;overflow:visible;cursor:pointer;color:#fff;font:inherit;
  background:radial-gradient(circle at 32% 24%,#22386E 0%,#0F1B3A 46%,#0B1220 78%);
  box-shadow:0 0 0 1.5px rgba(110,168,255,.45),0 16px 36px -10px rgba(0,0,0,.6),0 0 34px -6px rgba(30,94,255,.65);
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-appearance:none;appearance:none;
  transition:transform .3s var(--rvc-ease),box-shadow .3s ease,bottom .3s var(--rvc-ease);
}
.rvc .rvc-launcher:active{transform:scale(.94)}
.rvc .rvc-launcher:focus{outline:0}
.rvc .rvc-launcher:focus-visible{outline:3px solid var(--rvc-sky);outline-offset:4px;border-radius:50%}
.rvc .rvc-launcher-img{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;border-radius:50%;object-fit:cover;
  pointer-events:none;-webkit-user-select:none;user-select:none;
  transition:opacity .22s ease,transform .35s var(--rvc-ease);
}
.rvc .rvc-launcher-x{
  position:absolute;inset:0;margin:auto;width:28px;height:28px;stroke-width:2.4;opacity:0;transform:rotate(-90deg) scale(.6);
  transition:opacity .22s ease,transform .35s var(--rvc-ease);pointer-events:none;
}
.rvc[data-open="1"] .rvc-launcher-img{opacity:0;transform:scale(.6)}
.rvc[data-open="1"] .rvc-launcher-x{opacity:1;transform:none}
.rvc .rvc-ring{
  position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(59,130,246,.75);pointer-events:none;opacity:0;
  animation:rvc-breathe 3.4s ease-in-out infinite;
}
.rvc[data-open="1"] .rvc-ring{animation:none;opacity:0}
.rvc .rvc-dot{
  position:absolute;inset-inline-end:1px;bottom:3px;width:15px;height:15px;border-radius:50%;
  background:#22C55E;border:2.5px solid #0B1220;pointer-events:none;transition:opacity .2s ease;
}
.rvc[data-open="1"] .rvc-dot{opacity:0}

/* ------------------------------------------------------------ Begrüßungsblase */
.rvc .rvc-bubble{
  position:fixed;z-index:899;inset-inline-end:var(--rvc-edge);bottom:calc(var(--rvc-low) + var(--rvc-btn) + 14px);
  display:flex;align-items:stretch;max-width:min(300px,calc(100vw - 2 * var(--rvc-edge)));
  border-radius:18px;border-end-end-radius:6px;background:#FFFFFF;color:#0F172A;
  box-shadow:0 0 0 1px rgba(15,35,90,.08),0 18px 44px -14px rgba(8,16,40,.5);
  opacity:0;transform:translateY(10px) scale(.94);transform-origin:100% 100%;pointer-events:none;
  transition:opacity .22s ease,transform .4s var(--rvc-spring);
}
.rvc[dir="rtl"] .rvc-bubble{transform-origin:0 100%}
.rvc .rvc-bubble.rvc-in{opacity:1;transform:none;pointer-events:auto}
.rvc .rvc-bubble-t{
  flex:1 1 auto;min-width:0;min-height:48px;margin:0;padding:12px 4px 12px 16px;padding-inline:16px 4px;border:0;border-radius:18px;
  background:transparent;color:inherit;font:inherit;font-size:.93rem;font-weight:600;line-height:1.35;text-align:start;
  cursor:pointer;overflow-wrap:anywhere;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;
}
.rvc .rvc-bubble-x{
  flex:none;width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:14px;background:transparent;color:#5B6578;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-appearance:none;appearance:none;
}
.rvc .rvc-bubble-x .rvc-ic{width:17px;height:17px}
.rvc .rvc-bubble-t:focus-visible,.rvc .rvc-bubble-x:focus-visible{outline:3px solid var(--rvc-blue);outline-offset:-3px;border-radius:14px}

/* ------------------------------------------------------------ Fenster (Desktop: Karte 384 x 600) */
.rvc .rvc-panel{
  position:fixed;z-index:910;inset-inline-end:var(--rvc-edge);bottom:calc(var(--rvc-low) + var(--rvc-btn) + 14px);
  width:384px;max-width:calc(100vw - 2 * var(--rvc-edge));
  height:600px;max-height:calc(100vh - var(--rvc-btn) - 62px - var(--rv-bottom,0px));
  display:flex;flex-direction:column;margin:0;padding:0;overflow:hidden;border-radius:22px;
  background:var(--rvc-ink);color:var(--rvc-text);
  box-shadow:0 0 0 1px rgba(110,168,255,.24),0 34px 90px -24px rgba(0,0,0,.75),0 0 70px -34px rgba(30,94,255,.8);
  opacity:0;visibility:hidden;transform:translateY(18px) scale(.95);transform-origin:100% 100%;
  transition:opacity .2s ease,transform .3s var(--rvc-ease),visibility 0s linear .3s;
  outline:0;
}
@supports (height:100dvh){
  .rvc .rvc-panel{max-height:calc(100dvh - var(--rvc-btn) - 62px - var(--rv-bottom,0px))}
}
.rvc[dir="rtl"] .rvc-panel{transform-origin:0 100%}
.rvc .rvc-panel.rvc-in{
  opacity:1;visibility:visible;transform:none;
  transition:opacity .22s ease,transform .46s var(--rvc-spring),visibility 0s;
}
/* die Website rundet fokussierte Elemente auf 6px ab – das Fenster behält seine Form */
.rvc .rvc-panel:focus,.rvc .rvc-panel:focus-visible{outline:0;border-radius:22px}

/* Kopf */
.rvc .rvc-head{
  flex:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 6px;
  margin:0;padding:14px 10px 12px 14px;padding-inline:14px 10px;
  background:radial-gradient(420px 180px at 100% 0%,rgba(30,94,255,.42),transparent 70%),linear-gradient(135deg,#0B1F5C 0%,#101C3D 55%,#0B1220 100%);
  border-bottom:1px solid rgba(110,168,255,.18);
}
.rvc .rvc-id{display:flex;align-items:center;gap:11px;min-width:0}
.rvc .rvc-avatar{
  flex:none;width:44px;height:44px;max-width:none;border-radius:50%;object-fit:cover;background:#0B1220;
  box-shadow:0 0 0 2px rgba(59,130,246,.85),0 0 18px -2px rgba(30,94,255,.7);transform-origin:50% 80%;
}
.rvc .rvc-id-t{min-width:0}
.rvc .rvc-title{
  margin:0;padding:0;font-family:var(--display,inherit);font-size:1.02rem;font-weight:700;line-height:1.2;letter-spacing:normal;
  color:#FFFFFF;text-wrap:wrap;overflow-wrap:anywhere;
}
.rvc .rvc-sub{display:flex;align-items:center;gap:7px;margin:3px 0 0;padding:0;font-size:.79rem;line-height:1.3;color:#C3CFE6;overflow-wrap:anywhere}
.rvc .rvc-on{flex:none;width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.22)}
.rvc .rvc-acts{display:flex;align-items:center;gap:0}
.rvc .rvc-ibtn{
  flex:none;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:12px;background:transparent;color:#D5DFF3;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit;
  -webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
  transition:background-color .2s ease,color .2s ease;
}
.rvc .rvc-ibtn:active{background:rgba(255,255,255,.14)}
.rvc .rvc-ibtn:focus-visible{outline:2px solid var(--rvc-sky);outline-offset:-2px;border-radius:12px}
.rvc .rvc-wa{
  grid-column:1 / -1;display:flex;align-items:center;gap:10px;min-height:46px;margin:0;padding:9px 14px;border-radius:14px;
  background:var(--rvc-wa);color:var(--rvc-wa-ink);font-size:.9rem;font-weight:700;line-height:1.25;text-decoration:none;
  box-shadow:0 10px 24px -12px rgba(37,211,102,.7);-webkit-tap-highlight-color:transparent;
  transition:transform .2s var(--rvc-ease),filter .2s ease;
}
.rvc .rvc-wa-t{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.rvc .rvc-wa-z{unicode-bidi:isolate;white-space:nowrap;font-weight:800}
.rvc .rvc-wa:active{transform:scale(.985)}
.rvc .rvc-wa:focus-visible{outline:3px solid #FFFFFF;outline-offset:2px;border-radius:14px}

/* Verlauf */
.rvc .rvc-body{
  flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px;margin:0;padding:12px 14px 8px;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:#33436A transparent;
  background:radial-gradient(520px 260px at 50% -10%,rgba(30,94,255,.10),transparent 70%),var(--rvc-ink);
}
.rvc .rvc-log{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;outline:0}
.rvc .rvc-msg{display:flex;align-items:flex-end;gap:8px;min-width:0;margin:0}
.rvc .rvc-msg-u{justify-content:flex-end}
.rvc .rvc-mav{
  flex:none;width:28px;height:28px;max-width:none;border-radius:50%;object-fit:cover;background:#0B1220;
  box-shadow:0 0 0 1px rgba(110,168,255,.45);
}
.rvc .rvc-col{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;max-width:calc(100% - 36px)}
.rvc .rvc-msg-u .rvc-col{align-items:flex-end;max-width:86%}
.rvc .rvc-bub{
  max-width:100%;margin:0;padding:10px 14px;border-radius:18px;font-size:.95rem;line-height:1.5;
  overflow-wrap:anywhere;word-break:normal;text-align:start;unicode-bidi:plaintext;
}
.rvc .rvc-msg-a .rvc-bub{background:var(--rvc-ink-3);color:var(--rvc-text);border-end-start-radius:6px;box-shadow:inset 0 0 0 1px rgba(110,168,255,.13)}
.rvc .rvc-msg-u .rvc-bub{background:linear-gradient(135deg,#1E5EFF 0%,#1A4FE0 100%);color:#FFFFFF;border-end-end-radius:6px;box-shadow:0 10px 22px -14px rgba(30,94,255,.9)}
.rvc .rvc-msg-e .rvc-bub{background:#2A1A24;color:#FFE4E6;box-shadow:inset 0 0 0 1px rgba(248,113,113,.45)}
.rvc .rvc-line{margin:0;padding:0;text-wrap:wrap;unicode-bidi:plaintext}
.rvc .rvc-line + .rvc-line{margin-top:.3em}
.rvc .rvc-line.rvc-gap{margin-top:.75em}
.rvc .rvc-li{padding-inline-start:1.15em;text-indent:-1.15em}

/* Der ganze Adler neben der Begrüßung (erste Ansicht, statt des kleinen Kopfes) */
.rvc .rvc-hero{position:relative;flex:none;align-self:center;display:block;width:78px;height:110px;margin:0;pointer-events:none}
.rvc .rvc-hero-glow{
  position:absolute;inset:2% -14% 0;border-radius:50%;
  background:radial-gradient(closest-side,rgba(30,94,255,.46),rgba(30,94,255,.12) 58%,rgba(30,94,255,0) 76%);
  animation:rvc-glow 5.2s ease-in-out infinite;
}
.rvc .rvc-hero-img{
  position:relative;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:contain;object-position:50% 100%;
  transform-origin:50% 100%;animation:rvc-float 5.2s ease-in-out infinite;
  filter:drop-shadow(0 8px 12px rgba(8,16,40,.55));-webkit-user-select:none;user-select:none;
}
.rvc .rvc-msg-hero{align-items:center}
.rvc .rvc-msg-hero .rvc-col{max-width:calc(100% - 86px)}

/* Link-Knöpfe unter einer Antwort */
.rvc .rvc-links{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;margin:0;padding:0}
.rvc .rvc-link{
  display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;margin:0;padding:9px 16px;border-radius:999px;
  background:var(--rvc-blue);color:#FFFFFF;font-size:.9rem;font-weight:650;line-height:1.25;text-decoration:none;
  box-shadow:0 12px 26px -14px rgba(30,94,255,.95),inset 0 1px 0 rgba(255,255,255,.18);
  -webkit-tap-highlight-color:transparent;transition:transform .2s var(--rvc-ease),filter .2s ease,background-color .2s ease;
}
.rvc .rvc-link-t{min-width:0;overflow-wrap:anywhere}
.rvc .rvc-link .rvc-ic{width:18px;height:18px}
.rvc .rvc-link-2{background:transparent;color:#E6EDF7;box-shadow:inset 0 0 0 1.5px #4A5C88}
.rvc .rvc-link-wa{background:var(--rvc-wa);color:var(--rvc-wa-ink);box-shadow:0 12px 26px -14px rgba(37,211,102,.8)}
.rvc .rvc-link:active{transform:scale(.97)}
.rvc .rvc-link:focus-visible{outline:3px solid var(--rvc-sky);outline-offset:2px;border-radius:999px}

/* Aktionscode in der Begrüßung */
.rvc .rvc-promo{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;max-width:100%;margin:0;padding:10px 11px 11px;border-radius:16px;
  border:1.5px dashed rgba(147,180,255,.6);
  background:linear-gradient(135deg,rgba(30,94,255,.26),rgba(30,94,255,.07));
}
.rvc .rvc-promo-l{flex:1 1 100%;font-size:.74rem;font-weight:700;line-height:1.3;letter-spacing:.05em;text-transform:uppercase;color:var(--rvc-sky)}
.rvc[dir="rtl"] .rvc-promo-l{letter-spacing:0;font-size:.82rem}
.rvc .rvc-code{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;margin:0;padding:6px 7px 6px 12px;padding-inline:12px 7px;border:0;border-radius:12px;
  background:#0B1220;color:#FFFFFF;cursor:pointer;font:inherit;
  box-shadow:inset 0 0 0 1px rgba(110,168,255,.5);-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;
  transition:transform .2s var(--rvc-ease),box-shadow .2s ease;
}
.rvc .rvc-code-t{
  font-family:var(--mono,ui-monospace,"Cascadia Mono","SF Mono",Menlo,Consolas,monospace);font-size:.95rem;font-weight:700;
  letter-spacing:.02em;line-height:1.2;background:none;color:inherit;padding:0;overflow-wrap:anywhere;
}
.rvc .rvc-code-i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:rgba(30,94,255,.3);color:#DCE6F7}
.rvc .rvc-code-i .rvc-ic{width:17px;height:17px}
.rvc .rvc-promo.rvc-ok .rvc-code-i{background:#16A34A;color:#FFFFFF}
.rvc .rvc-code:active{transform:scale(.97)}
.rvc .rvc-code:focus-visible{outline:3px solid var(--rvc-sky);outline-offset:2px;border-radius:12px}
.rvc .rvc-promo-u{flex:1 1 66px;min-width:0;font-size:.8rem;line-height:1.3;color:#C3CFE6;overflow-wrap:anywhere}
.rvc .rvc-promo-w{flex-basis:100%}

/* „schreibt …" */
.rvc .rvc-typing{display:flex;align-items:flex-end;gap:8px;margin:0}
.rvc .rvc-dots{display:inline-flex;align-items:center;gap:5px;min-height:40px;padding:0 15px;border-radius:18px;border-end-start-radius:6px;background:var(--rvc-ink-3);box-shadow:inset 0 0 0 1px rgba(110,168,255,.13)}
.rvc .rvc-dots i{display:block;width:7px;height:7px;border-radius:50%;background:var(--rvc-sky);opacity:.45;animation:rvc-dot 1.15s ease-in-out infinite}
.rvc .rvc-dots i:nth-child(2){animation-delay:.16s}
.rvc .rvc-dots i:nth-child(3){animation-delay:.32s}

/* Schnellantworten */
.rvc .rvc-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0 0 4px;padding-inline-start:36px}
/* erste Ansicht: vier Schnellantworten im Raster 2 x 2 (passt ohne Rollen in die Karte) */
.rvc .rvc-quick.rvc-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-inline-start:0}
.rvc .rvc-quick-grid .rvc-chip{width:100%;border-radius:16px;padding:8px 12px}
.rvc .rvc-chip{
  display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;margin:0;padding:8px 15px;border-radius:999px;
  border:1px solid #42558A;background:rgba(30,94,255,.12);color:#E6EDF7;cursor:pointer;
  font:inherit;font-size:.88rem;font-weight:600;line-height:1.3;text-align:start;overflow-wrap:anywhere;
  -webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
  transition:transform .2s var(--rvc-ease),background-color .2s ease,border-color .2s ease;
}
.rvc .rvc-chip .rvc-ic{width:16px;height:16px;order:-1}
.rvc .rvc-chip:active{transform:scale(.97);background:rgba(30,94,255,.3)}
.rvc .rvc-chip:focus-visible{outline:3px solid var(--rvc-sky);outline-offset:2px;border-radius:999px}
.rvc .rvc-chip-r{border-color:#F59E0B;background:rgba(245,158,11,.12)}

/* Eingabe */
.rvc .rvc-form{
  position:relative;flex:none;display:flex;align-items:flex-end;gap:8px;margin:0;padding:10px 12px 6px;
  border:0;border-top:1px solid rgba(110,168,255,.16);background:var(--rvc-ink);
}
.rvc .rvc-input{
  flex:1 1 auto;display:block;min-width:0;width:auto;height:46px;min-height:46px;max-height:120px;margin:0;padding:11px 14px;
  border:1px solid #42558A;border-radius:16px;background:var(--rvc-ink-2);color:var(--rvc-text);
  font-family:inherit;font-size:16px;font-weight:400;line-height:1.4;letter-spacing:normal;text-align:start;
  resize:none;overflow-y:auto;outline:0;box-shadow:none;-webkit-appearance:none;appearance:none;
  scrollbar-width:thin;caret-color:var(--rvc-sky);transition:border-color .2s ease,box-shadow .2s ease;
}
.rvc .rvc-input::placeholder{color:#8E9BB8;opacity:1}
.rvc .rvc-input:focus,.rvc .rvc-input:focus-visible{outline:0;border-color:#7FB0FF;border-radius:16px;box-shadow:0 0 0 3px rgba(59,130,246,.45)}
.rvc .rvc-count{
  position:absolute;inset-inline-end:68px;top:-11px;padding:1px 8px;border-radius:999px;background:var(--rvc-ink-3);
  color:#C3CFE6;font-size:.7rem;line-height:1.5;box-shadow:inset 0 0 0 1px rgba(110,168,255,.25);pointer-events:none;
}
.rvc .rvc-send{
  flex:none;width:46px;height:46px;margin:0;padding:0;border:0;border-radius:16px;background:var(--rvc-blue);color:#FFFFFF;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit;
  box-shadow:0 12px 24px -12px rgba(30,94,255,.95),inset 0 1px 0 rgba(255,255,255,.2);
  -webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;
  transition:transform .2s var(--rvc-ease),opacity .2s ease,background-color .2s ease;
}
.rvc .rvc-send:disabled{opacity:.45;cursor:default;box-shadow:none}
.rvc .rvc-send:not(:disabled):active{transform:scale(.93)}
.rvc .rvc-send:focus-visible{outline:3px solid var(--rvc-sky);outline-offset:2px;border-radius:16px}

/* Fußzeile */
.rvc .rvc-foot{flex:none;margin:0;padding:2px 14px 12px;background:var(--rvc-ink);color:#9AA8C4;font-size:.72rem;line-height:1.45;text-wrap:wrap;overflow-wrap:anywhere}
.rvc .rvc-plink{color:#C9D8F7;text-decoration:underline;text-underline-offset:2px}
.rvc .rvc-plink:focus-visible{outline:2px solid var(--rvc-sky);outline-offset:2px;border-radius:4px}

/* Bewegung */
.rvc .rvc-msg.rvc-new{animation:rvc-up .38s var(--rvc-ease) both}
.rvc .rvc-avatar.rvc-nod{animation:rvc-nod .7s var(--rvc-ease)}
@keyframes rvc-breathe{0%{transform:scale(.96);opacity:0}35%{opacity:.75}100%{transform:scale(1.22);opacity:0}}
@keyframes rvc-dot{0%,70%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-5px);opacity:1}}
@keyframes rvc-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes rvc-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-1.5deg)}}
@keyframes rvc-glow{0%,100%{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes rvc-nod{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg) translateY(1px)}55%{transform:rotate(6deg)}80%{transform:rotate(-2deg)}}

/* Zeiger vorhanden: Hover-Effekte (nichts davon ist zum Bedienen nötig) */
@media (hover:hover) and (pointer:fine){
  .rvc .rvc-launcher:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 0 0 1.5px rgba(147,180,255,.7),0 20px 40px -10px rgba(0,0,0,.6),0 0 44px -4px rgba(30,94,255,.9)}
  .rvc .rvc-ibtn:hover{background:rgba(255,255,255,.1);color:#FFFFFF}
  .rvc .rvc-wa:hover{filter:brightness(1.06)}
  .rvc .rvc-link:hover{filter:brightness(1.1)}
  .rvc .rvc-link-2:hover{background:rgba(30,94,255,.2);filter:none}
  .rvc .rvc-chip:hover{background:rgba(30,94,255,.24);border-color:#7FB0FF}
  .rvc .rvc-code:hover{box-shadow:inset 0 0 0 1px var(--rvc-sky)}
  .rvc .rvc-send:not(:disabled):hover{background:#3B72FF}
  .rvc .rvc-bubble-x:hover{color:#0F172A;background:rgba(15,23,42,.06)}
  .rvc .rvc-plink:hover{color:#FFFFFF}
}

/* ------------------------------------------------------------ Handy: Vollbild-Blatt */
@media (max-width:640px){
  .rvc{--rvc-edge:14px}
  .rvc .rvc-panel{
    z-index:2147483000;inset:auto;left:0;right:0;top:var(--rvc-top,0px);bottom:auto;
    width:100%;max-width:none;height:var(--rvc-vh,100vh);max-height:none;border-radius:0;box-shadow:none;
    transform:translateY(28px);transform-origin:50% 100%;
  }
  .rvc .rvc-panel:focus,.rvc .rvc-panel:focus-visible{border-radius:0}
  .rvc .rvc-head{
    padding-top:calc(12px + env(safe-area-inset-top,0px));
    padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));
  }
  .rvc .rvc-body{padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}
  .rvc .rvc-form{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}
  .rvc .rvc-foot{
    padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));
    padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));
  }
  .rvc[data-open="1"] .rvc-launcher{visibility:hidden;pointer-events:none}
  .rvc .rvc-bubble{max-width:min(280px,calc(100vw - 2 * var(--rvc-edge)))}
}
@media (max-width:640px){
  @supports (height:100dvh){
    .rvc .rvc-panel{height:var(--rvc-vh,100dvh)}
  }
}
@media (max-width:360px){
  .rvc .rvc-avatar{width:38px;height:38px}
  .rvc .rvc-id{gap:9px}
  .rvc .rvc-quick{padding-inline-start:0}
  .rvc .rvc-hero{width:64px;height:90px}
  .rvc .rvc-msg-hero .rvc-col{max-width:calc(100% - 72px)}
  .rvc .rvc-bub{font-size:.93rem}
}
/* sehr niedrige Fenster (Handy quer): Kopf kompakt, damit der Verlauf Platz hat */
@media (max-height:460px){
  .rvc .rvc-head{padding-top:calc(8px + env(safe-area-inset-top,0px));padding-bottom:8px;gap:6px}
  .rvc .rvc-wa{min-height:44px;padding-block:6px}
  .rvc .rvc-avatar{width:36px;height:36px}
  .rvc .rvc-foot{display:none}
}

/* Hintergrund festhalten, solange das Vollbild-Blatt offen ist (Klasse setzt js/chat.js nur auf dem Handy) */
html.rvc-lock,html.rvc-lock body{overflow:hidden!important;overscroll-behavior:none}
html.rvc-lock body{position:fixed;left:0;right:0;top:var(--rvc-scroll,0px);width:100%}

/* weniger Bewegung gewünscht */
@media (prefers-reduced-motion:reduce){
  .rvc *,.rvc *::before,.rvc *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rvc .rvc-panel,.rvc .rvc-bubble{transform:none}
}

/* erzwungene Farben (Windows-Kontrastmodus) */
@media (forced-colors:active){
  .rvc .rvc-launcher,.rvc .rvc-panel,.rvc .rvc-bub,.rvc .rvc-chip,.rvc .rvc-link,.rvc .rvc-wa,.rvc .rvc-input,.rvc .rvc-send,.rvc .rvc-code,.rvc .rvc-bubble{border:1px solid CanvasText}
}

@media print{
  .rvc{display:none!important}
}
