/* R&B PAY — CHAT-BIEBER, Gestaltung
   Gehoert zu website/rb-chatbot.txt. Diese Datei wird BEARBEITET, nicht erzeugt.
   Sie liegt getrennt, weil die Section auf jeder Seite steckt und der Browser
   sie so nur einmal laedt. Nach Aenderungen: node _preview/build.js */

#rbcb,#rbcb *{box-sizing:border-box;}
  #rbcb h1,#rbcb h2,#rbcb h3,#rbcb p{font-family:'Poppins',sans-serif;}
  #rbcb button,#rbcb input,#rbcb select,#rbcb textarea{font-family:'Poppins',sans-serif;}

  #rbcb{
    --cb-lila:#6027A6;
    --cb-lila-tief:#4A148C;
    --cb-ink:#0d0613;
    --cb-soft:#f6f3fb;
    --cb-soft2:#efe7f8;
    --cb-line:rgba(96,39,166,.16);
    --cb-weich:rgba(13,6,19,.60);
    --cb-rand:22px;
    font-family:'Poppins',sans-serif;color:var(--cb-ink);
  }

  .rbcb-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

  /* ============================ Startknopf ============================ */
  .rbcb-dock{
    position:fixed;z-index:1400000;
    right:max(20px, env(safe-area-inset-right));
    bottom:max(20px, env(safe-area-inset-bottom));
    display:flex;align-items:flex-end;gap:12px;
  }

  .rbcb-launch{
    position:relative;width:66px;height:66px;flex:0 0 66px;border-radius:999px;
    border:1.5px solid var(--cb-line);
    background:#fff;
    box-shadow:0 12px 32px rgba(96,39,166,.26), 0 3px 10px rgba(13,6,19,.10);
    cursor:pointer;padding:0;overflow:visible;
    display:flex;align-items:center;justify-content:center;
    transition:transform .24s cubic-bezier(.16,1,.3,1), box-shadow .24s ease, border-color .24s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .rbcb-launch:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 20px 44px rgba(96,39,166,.34);border-color:rgba(96,39,166,.34);}
  .rbcb-launch:active{transform:translateY(-1px) scale(.98);}
  .rbcb-launch:focus-visible{outline:3px solid var(--cb-lila);outline-offset:3px;}
  .rbcb-launch__bild{width:56px;height:56px;border-radius:999px;object-fit:cover;display:block;pointer-events:none;}

  /* Online-Punkt */
  .rbcb-launch__dot{
    position:absolute;right:3px;bottom:3px;width:15px;height:15px;border-radius:999px;
    background:#25c26e;border:2.5px solid #fff;pointer-events:none;
  }
  /* Ruhiges Signal statt Dauerwackeln: ein sanfter Ring, alle 6 s einmal. */
  .rbcb-launch::after{
    content:'';position:absolute;inset:-3px;border-radius:999px;
    border:2px solid rgba(96,39,166,.45);opacity:0;pointer-events:none;
    animation:rbcbRing 6s ease-out 3s infinite;
  }
  .rbcb-launch.is-offen::after{animation:none;}
  @keyframes rbcbRing{
    0%{transform:scale(1);opacity:.65;}
    18%{transform:scale(1.28);opacity:0;}
    100%{transform:scale(1.28);opacity:0;}
  }
  /* Kurzes Winken beim ersten Erscheinen — einmal, dann Ruhe. */
  .rbcb-launch.is-neu .rbcb-launch__bild{animation:rbcbWink 1.6s ease-in-out .8s 2;transform-origin:50% 85%;}
  @keyframes rbcbWink{
    0%,100%{transform:rotate(0);}
    20%{transform:rotate(-9deg);}
    40%{transform:rotate(7deg);}
    60%{transform:rotate(-5deg);}
    80%{transform:rotate(3deg);}
  }

  /* X-Symbol im geöffneten Zustand */
  .rbcb-launch__x{position:absolute;inset:0;display:none;align-items:center;justify-content:center;border-radius:999px;background:var(--cb-lila);}
  .rbcb-launch__x svg{width:24px;height:24px;stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round;}
  .rbcb-launch.is-offen .rbcb-launch__x{display:flex;}

  /* ============================== Teaser ============================== */
  .rbcb-teaser{
    max-width:268px;position:relative;
    background:#fff;border:1px solid var(--cb-line);border-radius:18px 18px 6px 18px;
    box-shadow:0 14px 34px rgba(13,6,19,.14);
    padding:14px 34px 14px 16px;
    opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;
    transition:opacity .34s ease, transform .34s cubic-bezier(.16,1,.3,1);
  }
  .rbcb-teaser.is-an{opacity:1;transform:none;pointer-events:auto;}
  .rbcb-teaser__text{margin:0;font-size:14px;line-height:1.5;font-weight:500;color:var(--cb-ink);cursor:pointer;}
  .rbcb-teaser__zu{
    position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:999px;
    border:0;background:transparent;color:var(--cb-weich);cursor:pointer;
    display:flex;align-items:center;justify-content:center;
  }
  .rbcb-teaser__zu:hover{background:var(--cb-soft);color:var(--cb-ink);}
  .rbcb-teaser__zu svg{width:13px;height:13px;stroke:currentColor;stroke-width:2.6;fill:none;stroke-linecap:round;}

  /* ============================== Fenster ============================= */
  .rbcb-fenster{
    position:fixed;z-index:1400001;
    right:max(20px, env(safe-area-inset-right));
    bottom:calc(20px + 66px + 14px + env(safe-area-inset-bottom));
    width:min(400px, calc(100vw - 40px));
    height:min(624px, calc(100dvh - 132px));
    background:#fff;border-radius:var(--cb-rand);
    border:1px solid var(--cb-line);
    box-shadow:0 28px 70px rgba(13,6,19,.26), 0 6px 18px rgba(13,6,19,.10);
    display:flex;flex-direction:column;overflow:hidden;
    opacity:0;transform:translateY(16px) scale(.97);transform-origin:100% 100%;
    pointer-events:none;visibility:hidden;
    transition:opacity .26s ease, transform .3s cubic-bezier(.16,1,.3,1), visibility .3s;
  }
  .rbcb-fenster.is-an{opacity:1;transform:none;pointer-events:auto;visibility:visible;}

  /* ------ Kopf ------ */
  .rbcb-kopf{
    flex:0 0 auto;display:flex;align-items:center;gap:12px;
    padding:15px 14px 15px 17px;background:var(--cb-ink);color:#fff;
  }
  .rbcb-kopf__bild{width:42px;height:42px;border-radius:999px;object-fit:cover;background:#fff;flex:0 0 42px;}
  .rbcb-kopf__txt{min-width:0;flex:1 1 auto;}
  .rbcb-kopf__name{display:block;font-size:15px;font-weight:700;letter-spacing:-.01em;line-height:1.2;}
  .rbcb-kopf__stat{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:rgba(255,255,255,.72);margin-top:2px;}
  .rbcb-kopf__stat i{width:7px;height:7px;border-radius:999px;background:#25c26e;display:inline-block;}
  .rbcb-kopf__akt{display:flex;gap:4px;flex:0 0 auto;}
  .rbcb-ikon{
    width:34px;height:34px;border-radius:11px;border:0;background:rgba(255,255,255,.10);
    color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:background .2s ease, transform .2s ease;
  }
  .rbcb-ikon:hover{background:rgba(255,255,255,.22);}
  .rbcb-ikon:active{transform:scale(.94);}
  .rbcb-ikon:focus-visible{outline:2px solid #fff;outline-offset:2px;}
  .rbcb-ikon svg{width:17px;height:17px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}

  /* ------ Verlauf ------ */
  .rbcb-liste{
    flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    padding:18px 16px 8px;background:var(--cb-soft);
    display:flex;flex-direction:column;gap:12px;
    scrollbar-width:thin;scrollbar-color:rgba(96,39,166,.28) transparent;
  }
  .rbcb-liste::-webkit-scrollbar{width:6px;}
  .rbcb-liste::-webkit-scrollbar-thumb{background:rgba(96,39,166,.26);border-radius:999px;}

  .rbcb-zeile{display:flex;gap:9px;align-items:flex-end;animation:rbcbRein .34s cubic-bezier(.16,1,.3,1);}
  .rbcb-zeile--ich{flex-direction:row-reverse;}
  @keyframes rbcbRein{from{opacity:0;transform:translateY(9px);}to{opacity:1;transform:none;}}
  .rbcb-ava{width:29px;height:29px;border-radius:999px;flex:0 0 29px;object-fit:cover;background:#fff;border:1px solid var(--cb-line);}
  .rbcb-zeile--ich .rbcb-ava{display:none;}

  .rbcb-blase{
    max-width:83%;padding:11px 14px;border-radius:17px;
    font-size:14.5px;line-height:1.58;font-weight:500;
    overflow-wrap:anywhere;
  }
  .rbcb-zeile--biber .rbcb-blase{background:#fff;border:1px solid var(--cb-line);border-bottom-left-radius:6px;color:var(--cb-ink);}
  .rbcb-zeile--ich .rbcb-blase{background:var(--cb-lila);color:#fff;border-bottom-right-radius:6px;box-shadow:0 4px 14px rgba(96,39,166,.28);}
  .rbcb-blase p{margin:0 0 8px;}
  .rbcb-blase p:last-child{margin-bottom:0;}
  .rbcb-blase ul{margin:6px 0 0;padding-left:18px;}
  .rbcb-blase li{margin:0 0 4px;}
  .rbcb-blase a{color:var(--cb-lila);font-weight:700;text-decoration:underline;text-underline-offset:2px;}
  .rbcb-zeile--ich .rbcb-blase a{color:#fff;}
  .rbcb-blase strong{font-weight:700;}

  /* Fehlerblase */
  .rbcb-zeile--fehler .rbcb-blase{background:#fff;border:1px solid rgba(200,60,60,.34);border-bottom-left-radius:6px;}
  .rbcb-retry{
    margin-top:10px;border:1.5px solid var(--cb-lila);background:transparent;color:var(--cb-lila);
    border-radius:11px;padding:7px 13px;font-size:13px;font-weight:700;cursor:pointer;
  }
  .rbcb-retry:hover{background:var(--cb-soft2);}

  /* ------ Schreibt … ------ */
  .rbcb-tippt{display:flex;gap:9px;align-items:flex-end;animation:rbcbRein .3s ease;}
  .rbcb-tippt__box{background:#fff;border:1px solid var(--cb-line);border-radius:17px;border-bottom-left-radius:6px;padding:12px 14px;display:flex;align-items:center;gap:9px;}
  .rbcb-tippt__txt{font-size:13px;font-weight:600;color:var(--cb-weich);}
  .rbcb-punkte{display:flex;gap:4px;}
  .rbcb-punkte i{width:6px;height:6px;border-radius:999px;background:var(--cb-lila);opacity:.35;animation:rbcbHuepf 1.25s ease-in-out infinite;}
  .rbcb-punkte i:nth-child(2){animation-delay:.16s;}
  .rbcb-punkte i:nth-child(3){animation-delay:.32s;}
  @keyframes rbcbHuepf{0%,60%,100%{transform:translateY(0);opacity:.32;}30%{transform:translateY(-5px);opacity:1;}}

  /* ------ Chips ------ */
  .rbcb-chips{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 4px 38px;}
  .rbcb-chip{
    border:1.5px solid var(--cb-line);background:#fff;color:var(--cb-lila);
    border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;
    transition:background .18s ease, border-color .18s ease, transform .18s ease;
    text-align:left;
  }
  .rbcb-chip:hover{background:var(--cb-soft2);border-color:rgba(96,39,166,.4);transform:translateY(-1px);}
  .rbcb-chip:active{transform:translateY(0);}
  .rbcb-chip:focus-visible{outline:2px solid var(--cb-lila);outline-offset:2px;}

  /* ------ Produktkarte ------ */
  .rbcb-karten{display:flex;flex-direction:column;gap:9px;padding:2px 0 4px 38px;}
  .rbcb-karte{
    display:flex;gap:12px;background:#fff;border:1px solid var(--cb-line);border-radius:16px;
    padding:11px;align-items:center;
    transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  }
  .rbcb-karte:hover{border-color:rgba(96,39,166,.36);box-shadow:0 8px 22px rgba(96,39,166,.14);transform:translateY(-2px);}
  .rbcb-karte__bild{
    width:62px;height:62px;flex:0 0 62px;border-radius:12px;background:var(--cb-soft2);
    object-fit:contain;padding:5px;
  }
  .rbcb-karte__txt{min-width:0;flex:1 1 auto;}
  .rbcb-karte__name{display:block;font-size:14px;font-weight:800;letter-spacing:-.01em;}
  .rbcb-karte__kurz{display:block;font-size:12.5px;line-height:1.45;color:var(--cb-weich);margin-top:2px;}
  .rbcb-karte__merk{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px;}
  .rbcb-karte__merk span{font-size:11px;font-weight:700;color:var(--cb-lila);background:var(--cb-soft2);border-radius:999px;padding:3px 8px;}
  .rbcb-karte__mehr{
    display:inline-flex;align-items:center;gap:5px;margin-top:8px;
    font-size:12.5px;font-weight:800;color:var(--cb-lila);text-decoration:none;
  }
  .rbcb-karte__mehr svg{width:13px;height:13px;stroke:currentColor;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;}
  .rbcb-karte__mehr:hover svg{transform:translateX(3px);}

  /* ------ Kontaktknöpfe ------ */
  .rbcb-kontakt{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 4px 38px;}
  .rbcb-kontakt a{
    display:inline-flex;align-items:center;gap:7px;text-decoration:none;
    border:1.5px solid var(--cb-line);background:#fff;color:var(--cb-lila);
    border-radius:12px;padding:9px 13px;font-size:13px;font-weight:700;
    transition:background .18s ease,border-color .18s ease,transform .18s ease;
  }
  .rbcb-kontakt a:hover{background:var(--cb-soft2);border-color:rgba(96,39,166,.4);transform:translateY(-1px);}
  .rbcb-kontakt svg{width:15px;height:15px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}

  /* ------ Formular im Chat ------ */
  .rbcb-form{
    margin-left:38px;background:#fff;border:1px solid var(--cb-line);border-radius:18px;
    padding:15px;animation:rbcbRein .34s cubic-bezier(.16,1,.3,1);
  }
  .rbcb-form__kopf{display:flex;align-items:center;gap:9px;margin-bottom:12px;}
  .rbcb-form__kopf b{font-size:14px;font-weight:800;letter-spacing:-.01em;}
  .rbcb-form__kopf svg{width:17px;height:17px;stroke:var(--cb-lila);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
  .rbcb-feld{margin-bottom:9px;}
  .rbcb-feld label{display:block;font-size:11.5px;font-weight:700;color:var(--cb-weich);margin-bottom:4px;}
  .rbcb-form input,.rbcb-form textarea,.rbcb-form select{
    width:100%;border:1.5px solid var(--cb-line);border-radius:11px;background:var(--cb-soft);
    padding:10px 12px;font-size:14px;font-weight:500;color:var(--cb-ink);
    transition:border-color .18s ease,background .18s ease;
  }
  .rbcb-form input:focus,.rbcb-form textarea:focus,.rbcb-form select:focus{
    outline:0;border-color:var(--cb-lila);background:#fff;
  }
  .rbcb-form textarea{min-height:62px;resize:vertical;}
  .rbcb-zwei{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
  .rbcb-hak{display:flex;gap:9px;align-items:flex-start;margin:11px 0 4px;}
  .rbcb-hak input{width:17px;height:17px;flex:0 0 17px;margin-top:2px;accent-color:var(--cb-lila);}
  .rbcb-hak span{font-size:11.5px;line-height:1.5;color:var(--cb-weich);}
  .rbcb-hak a{color:var(--cb-lila);font-weight:700;}
  .rbcb-form__senden{
    width:100%;margin-top:11px;min-height:46px;border:0;border-radius:13px;
    background:var(--cb-lila);color:#fff;font-size:14.5px;font-weight:800;cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:8px;
    transition:background .2s ease,transform .2s ease,opacity .2s ease;
  }
  .rbcb-form__senden:hover{background:var(--cb-lila-tief);transform:translateY(-1px);}
  .rbcb-form__senden[disabled]{opacity:.6;cursor:default;transform:none;}
  .rbcb-form__abbruch{
    width:100%;margin-top:6px;border:0;background:transparent;color:var(--cb-weich);
    font-size:12.5px;font-weight:600;cursor:pointer;padding:6px;
  }
  .rbcb-form__abbruch:hover{color:var(--cb-ink);text-decoration:underline;}
  .rbcb-form__fehler{margin:9px 0 0;font-size:12.5px;font-weight:600;color:#b3261e;}

  /* ------ Eingabe ------ */
  .rbcb-fuss{flex:0 0 auto;background:#fff;border-top:1px solid var(--cb-line);padding:11px 12px 9px;}
  .rbcb-eingabe{display:flex;gap:9px;align-items:flex-end;}
  .rbcb-eingabe textarea{
    flex:1 1 auto;border:1.5px solid var(--cb-line);border-radius:15px;background:var(--cb-soft);
    padding:11px 13px;font-size:15px;line-height:1.45;font-weight:500;color:var(--cb-ink);
    resize:none;max-height:118px;min-height:46px;overflow-y:auto;
    transition:border-color .18s ease,background .18s ease;
  }
  .rbcb-eingabe textarea:focus{outline:0;border-color:var(--cb-lila);background:#fff;}
  .rbcb-eingabe textarea::placeholder{color:rgba(13,6,19,.42);}
  .rbcb-send{
    width:46px;height:46px;flex:0 0 46px;border-radius:14px;border:0;background:var(--cb-lila);
    color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:background .2s ease,transform .2s ease,opacity .2s ease;
  }
  .rbcb-send:hover:not([disabled]){background:var(--cb-lila-tief);transform:translateY(-1px);}
  .rbcb-send[disabled]{opacity:.42;cursor:default;}
  .rbcb-send:focus-visible{outline:2px solid var(--cb-lila);outline-offset:2px;}
  .rbcb-send svg{width:19px;height:19px;stroke:currentColor;stroke-width:2.3;fill:none;stroke-linecap:round;stroke-linejoin:round;}

  .rbcb-fuss__hinweis{
    margin:8px 2px 0;font-size:10.5px;line-height:1.45;color:var(--cb-weich);text-align:center;
  }
  .rbcb-fuss__hinweis a{color:var(--cb-lila);font-weight:700;text-decoration:underline;}

  /* ====================== Zurücktreten, wenn nötig ==================== */
  body:has(#rbp-cookie.is-on) .rbcb-dock,
  body:has(#rbp-cookie.is-on) .rbcb-fenster,
  body.rbp-menu-open .rbcb-dock,
  body.rbp-menu-open .rbcb-fenster{
    opacity:0 !important;visibility:hidden !important;pointer-events:none !important;
  }

  /* ============================== Mobil =============================== */
  @media (max-width:600px){
    .rbcb-dock{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));}
    .rbcb-launch{width:60px;height:60px;flex-basis:60px;}
    .rbcb-launch__bild{width:51px;height:51px;}
    .rbcb-teaser{max-width:min(232px, calc(100vw - 100px));padding:12px 30px 12px 14px;}
    .rbcb-teaser__text{font-size:13px;}

    /* Fast Vollbild. 100dvh statt 100vh, damit die Browserleiste am Handy
       nichts abschneidet; der Fuß bekommt zusätzlich die Safe-Area. */
    .rbcb-fenster{
      right:0;left:0;top:0;bottom:0;width:100%;height:100dvh;max-height:100dvh;
      border-radius:0;border:0;transform:translateY(24px);
    }
    .rbcb-kopf{padding-top:max(15px, env(safe-area-inset-top));}
    .rbcb-fuss{padding-bottom:max(9px, env(safe-area-inset-bottom));}
    .rbcb-blase{max-width:88%;font-size:15px;}
    .rbcb-chips,.rbcb-karten,.rbcb-kontakt{padding-left:0;}
    .rbcb-form{margin-left:0;}
    /* iOS zoomt bei Feldern unter 16px hinein */
    .rbcb-eingabe textarea,.rbcb-form input,.rbcb-form textarea,.rbcb-form select{font-size:16px;}
  }

  /* Sehr flache Fenster (Tastatur offen auf kleinen Geräten) */
  @media (max-height:520px) and (min-width:601px){
    .rbcb-fenster{height:calc(100dvh - 110px);}
  }

  @media (prefers-reduced-motion:reduce){
    #rbcb *{animation:none !important;transition-duration:.01ms !important;}
  }
