.rbfaq-root{
    --fq-purple:#6027A6;
    --fq-purple-deep:#4A148C;
    --fq-ink:#0d0613;
    --fq-soft:#f6f3fb;
    --fq-soft-2:#efe7f8;
    --fq-line:rgba(96,39,166,.14);
    --fq-text-soft:rgba(0,0,0,.62);
    font-family:'Poppins',sans-serif;color:#000;background:#FFF;
  }
  .rbfaq-root *{box-sizing:border-box;}
  /* Poppins-Härtung */
  .rbfaq-root h1,.rbfaq-root h2,.rbfaq-root h3,.rbfaq-root h4,.rbfaq-root h5,.rbfaq-root h6,.rbfaq-root p{font-family:'Poppins',sans-serif;}

  .rbfaq-root a{text-decoration:none;}
  .rbfaq-root button{font-family:'Poppins',sans-serif;}
  .rbfaq-wrap{width:min(100%,1000px);margin:0 auto;}
  .rbfaq-badge{display:inline-flex;align-items:center;gap:10px;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12px;line-height:1;font-weight:800;letter-spacing:.045em;text-transform:uppercase;margin-bottom:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
  .rbfaq-bdot{width:9px;height:9px;border-radius:999px;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.14);}

  /* ============ HERO + SUCHE ============ */
  #rbfaq-hero{width:100%;position:relative;overflow:hidden;background:#0d0613;color:#fff;padding:140px 22px 76px;}
  .rbfaq-hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
  .rbfaq-hero__bg span{position:absolute;border-radius:999px;filter:blur(100px);}
  .rbfaq-hero__bg span:nth-child(1){top:-160px;right:-100px;width:500px;height:500px;background:#6027A6;opacity:.48;}
  .rbfaq-hero__bg span:nth-child(2){bottom:-200px;left:-130px;width:440px;height:440px;background:#4A148C;opacity:.44;}
  .rbfaq-hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at 50% 20%,#000,transparent 68%);-webkit-mask-image:radial-gradient(circle at 50% 20%,#000,transparent 68%);}
  .rbfaq-hero__inner{position:relative;z-index:2;text-align:center;}
  .rbfaq-hero__title{margin:0;color:#fff;font-size:clamp(38px,5.2vw,66px);line-height:1.0;letter-spacing:-.05em;font-weight:800;}
  .rbfaq-hero__title span{color:#fff;position:relative;white-space:nowrap;}
  .rbfaq-hero__text{margin:20px auto 0;max-width:540px;color:rgba(255,255,255,.78);font-size:clamp(15px,1.3vw,18px);line-height:1.65;font-weight:500;}
  /* Suchfeld */
  .rbfaq-search{position:relative;z-index:2;max-width:600px;margin:34px auto 0;}
  .rbfaq-search__box{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:6px 6px 6px 20px;box-shadow:0 24px 60px rgba(0,0,0,.4);}
  .rbfaq-search__ic{width:22px;height:22px;color:#6027A6;flex:0 0 auto;}
  .rbfaq-search__input{flex:1;border:0;outline:0;background:transparent;font-family:'Poppins',sans-serif;font-size:16px;font-weight:500;color:#0d0613;padding:14px 0;min-width:0;}
  .rbfaq-search__input::placeholder{color:rgba(0,0,0,.4);}
  .rbfaq-search__clear{flex:0 0 auto;width:46px;height:46px;border:0;border-radius:13px;background:#f6f3fb;color:#6027A6;cursor:pointer;display:none;align-items:center;justify-content:center;transition:background .18s ease;}
  .rbfaq-search__clear:hover{background:#efe7f8;}
  .rbfaq-search__clear svg{width:18px;height:18px;}
  .rbfaq-search__clear.is-show{display:flex;}
  .rbfaq-search__hint{margin-top:12px;color:rgba(255,255,255,.6);font-size:13px;font-weight:500;}

  /* ============ KATEGORIEN + LISTE ============ */
  #rbfaq-body{width:100%;background:#fff;padding:44px 22px 100px;scroll-margin-top:96px;}
  .rbfaq-cats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:14px;position:sticky;top:96px;z-index:15;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:18px 0;}
  .rbfaq-cat{min-height:42px;padding:0 18px;border-radius:12px;border:1.5px solid var(--fq-line);background:#fff;color:rgba(0,0,0,.6);font-size:13.5px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .18s ease;white-space:nowrap;}
  .rbfaq-cat:hover{border-color:rgba(96,39,166,.4);color:#6027A6;}
  .rbfaq-cat.is-active{background:#6027A6;color:#fff;border-color:#6027A6;box-shadow:0 10px 24px rgba(96,39,166,.24);}
  .rbfaq-cat__n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:rgba(0,0,0,.07);color:rgba(0,0,0,.5);font-size:11px;font-weight:800;}
  .rbfaq-cat.is-active .rbfaq-cat__n{background:rgba(255,255,255,.24);color:#fff;}

  /* Ergebnis-Info */
  .rbfaq-count{text-align:center;color:var(--fq-text-soft);font-size:13.5px;font-weight:600;margin:6px 0 26px;min-height:20px;}
  .rbfaq-count b{color:#6027A6;}

  /* Gruppen-Überschrift */
  .rbfaq-group{margin-bottom:14px;}
  .rbfaq-group__hd{display:flex;align-items:center;gap:12px;margin:34px 0 16px;padding-bottom:0;}
  .rbfaq-group:first-of-type .rbfaq-group__hd{margin-top:6px;}
  .rbfaq-group__ic{width:38px;height:38px;border-radius:11px;background:#efe7f8;color:#6027A6;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
  .rbfaq-group__ic svg{width:20px;height:20px;}
  .rbfaq-group__hd h2{margin:0;color:#000;font-size:21px;line-height:1.15;letter-spacing:-.03em;font-weight:800;}

  /* Frage-Item (details/summary) */
  .rbfaq-item{border:1px solid var(--fq-line);border-radius:16px;background:#fff;margin-bottom:10px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease;}
  .rbfaq-item[open]{border-color:rgba(96,39,166,.32);box-shadow:0 12px 30px rgba(96,39,166,.08);}
  .rbfaq-item summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15.5px;line-height:1.45;font-weight:700;color:#0d0613;transition:color .18s ease;}
  .rbfaq-item summary::-webkit-details-marker{display:none;}
  .rbfaq-item summary:hover{color:#6027A6;}
  .rbfaq-item__icon{width:30px;height:30px;min-width:30px;border-radius:999px;background:#f6f3fb;color:#6027A6;display:flex;align-items:center;justify-content:center;transition:transform .26s ease,background .18s ease;}
  .rbfaq-item__icon svg{width:16px;height:16px;}
  .rbfaq-item[open] .rbfaq-item__icon{transform:rotate(45deg);background:#6027A6;color:#fff;}
  .rbfaq-item__body{padding:0 22px 22px;color:var(--fq-text-soft);font-size:14.5px;line-height:1.75;font-weight:500;}
  .rbfaq-item__body p{margin:0 0 12px;}
  .rbfaq-item__body p:last-child{margin-bottom:0;}
  .rbfaq-item__body strong{color:#000;font-weight:700;}
  .rbfaq-item__body a{color:#6027A6;text-decoration:underline;}
  .rbfaq-item.rbfaq-hide{display:none;}
  .rbfaq-group.rbfaq-hide{display:none;}
  /* Defensiv-Guard: geschlossene details IMMER zu (unabhängig vom Theme-UA-Verhalten) */
  .rbfaq-item:not([open]) .rbfaq-item__body{display:none;}
  mark.rbfaq-mark{background:#efe7f8;color:#6027A6;border-radius:4px;padding:0 2px;font-weight:700;}

  /* Keine Treffer */
  .rbfaq-empty{display:none;text-align:center;padding:50px 20px;}
  .rbfaq-empty.is-show{display:block;}
  .rbfaq-empty__ic{width:64px;height:64px;border-radius:18px;background:#f6f3fb;color:#6027A6;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;}
  .rbfaq-empty__ic svg{width:30px;height:30px;}
  .rbfaq-empty h3{margin:0 0 8px;color:#000;font-size:20px;font-weight:800;letter-spacing:-.02em;}
  .rbfaq-empty p{margin:0 auto 22px;max-width:380px;color:var(--fq-text-soft);font-size:14.5px;line-height:1.6;font-weight:500;}
  #rbfaq-body .rbfaq-empty__btn{min-height:52px;padding:0 24px;border:0;border-radius:14px;background:#6027A6;color:#fff;font-size:14.5px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:background .2s ease,transform .2s ease;}
  #rbfaq-body .rbfaq-empty__btn:hover{background:#4A148C;transform:translateY(-2px);}

  /* Vorlauf oben haengt am Verhalten des Headers, nicht an der Bildschirmbreite:
     Ueber 940 px schwebt er (seine Section ist 0 hoch), deshalb traegt der Hero
     dort die 140 px als Platz fuer ihn. AB 940 px reserviert die Section 66 px
     EIGENEN Platz (rb-header.txt, @media(max-width:940px){height:66px}) — die
     140 bzw. 118 px kamen dann obendrauf und schoben den Inhalt auf dem Handy
     rund 114 px zu weit nach unten. Eigene Regel bei 940, damit der 760er-Block
     darunter (Body-Abstand, Kategorien-Fix) unveraendert bleibt. */
  @media(max-width:940px){
    #rbfaq-hero{padding-top:38px;}
  }

  @media(max-width:760px){
    #rbfaq-hero{padding:38px 16px 60px;}
    #rbfaq-body{padding:30px 14px 70px;}

    /* Mobile-Fix: Kategorien sollen beim Scrollen NICHT oben kleben */
    .rbfaq-cats{
      position:relative !important;
      top:auto !important;
      z-index:1 !important;
      background:transparent !important;
      -webkit-backdrop-filter:none !important;
      backdrop-filter:none !important;
      padding:14px 0;
      gap:8px;
    }

    .rbfaq-cat{min-height:38px;padding:0 13px;font-size:12.5px;}
    .rbfaq-item summary{padding:17px 16px;font-size:14.5px;}
    .rbfaq-item__body{padding:0 16px 18px;}
    .rbfaq-search__input{font-size:15px;}
  }
  @media(prefers-reduced-motion:reduce){
    .rbfaq-root *,.rbfaq-root *::before,.rbfaq-root *::after{transition:none !important;animation:none !important;}
    .rbfaq-root .rbfaq-cta__btn:hover,.rbfaq-root .rbfaq-empty__btn:hover{transform:none !important;}
  }

#rbfaq-cta{width:100%;background:#f6f3fb;padding:0 22px 100px;}
  .rbfaq-cta__box{border-radius:30px;background:#0d0613;color:#fff;padding:52px 44px;text-align:center;position:relative;overflow:hidden;}
  .rbfaq-cta__box::after{content:"";position:absolute;right:-90px;top:-100px;width:300px;height:300px;border-radius:999px;background:rgba(96,39,166,.45);filter:blur(60px);pointer-events:none;}
  .rbfaq-cta__in{position:relative;z-index:2;}
  .rbfaq-cta__in h2{margin:0 0 12px;color:#fff;font-size:clamp(28px,3.6vw,44px);line-height:1.06;letter-spacing:-.04em;font-weight:800;}
  .rbfaq-cta__in p{margin:0 auto 28px;max-width:500px;color:rgba(255,255,255,.8);font-size:16px;line-height:1.7;font-weight:500;}
  .rbfaq-cta__actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;}
  #rbfaq-cta .rbfaq-cta__btn{min-height:58px;padding:0 26px;border:0;border-radius:16px;display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:800;cursor:pointer;text-decoration:none;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;}
  #rbfaq-cta .rbfaq-cta__btn--p{background:#fff;color:#0d0613;box-shadow:0 16px 38px rgba(0,0,0,.3);}
  #rbfaq-cta .rbfaq-cta__btn--p:hover{transform:translateY(-3px);background:#6027A6;color:#fff;box-shadow:0 22px 48px rgba(96,39,166,.4);}
  #rbfaq-cta .rbfaq-cta__btn--s{background:rgba(255,255,255,.08);color:#fff;border:1.5px solid rgba(255,255,255,.28);}
  #rbfaq-cta .rbfaq-cta__btn--s:hover{transform:translateY(-3px);background:rgba(255,255,255,.16);}
  #rbfaq-cta .rbfaq-cta__btn svg{width:18px;height:18px;transition:transform .22s ease;}
  #rbfaq-cta .rbfaq-cta__btn--p:hover svg{transform:translateX(4px);}
  /* Bieber-Maskottchen lugt unten rechts aus der CTA-Box */
  /* Quellbild ist 1920x1080 mit Bieber nur im rechten Drittel -> praeziser CSS-Crop, buendig zur Box-Ecke */
  .rbfaq-cta__mascot{position:absolute;right:0;bottom:0;width:126px;height:184px;background-position:right bottom;background-size:auto 100%;background-repeat:no-repeat;z-index:1;pointer-events:none;user-select:none;}
  @media(max-width:760px){
    #rbfaq-cta{padding:0 14px 70px;}
    .rbfaq-cta__box{padding:38px 24px 150px;}
    #rbfaq-cta .rbfaq-cta__btn{width:100%;justify-content:center;}
    .rbfaq-cta__mascot{width:96px;height:140px;}
  }

/* ============ EINLEITUNG "Persönlich betreut. Passend eingerichtet." ============ */
#rbfaq-intro{width:100%;background:#fff;padding:54px 22px 0;scroll-margin-top:96px;}
.rbfaq-intro__box{border:1px solid var(--fq-line);border-radius:26px;background:var(--fq-soft);padding:38px 40px;}
.rbfaq-intro__box h2{margin:0 0 12px;color:#000;font-size:clamp(24px,3vw,34px);line-height:1.12;letter-spacing:-.04em;font-weight:800;}
.rbfaq-intro__box p{margin:0;max-width:660px;color:var(--fq-text-soft);font-size:15.5px;line-height:1.75;font-weight:500;}
.rbfaq-intro__list{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:9px;}
.rbfaq-intro__list li{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--fq-line);border-radius:12px;padding:9px 14px;color:#0d0613;font-size:13.5px;line-height:1.3;font-weight:700;}
.rbfaq-intro__list svg{width:15px;height:15px;color:#6027A6;flex:0 0 auto;}
.rbfaq-intro__note{margin:22px 0 0;max-width:660px;color:var(--fq-text-soft);font-size:13px;line-height:1.65;font-weight:500;}

/* Weiterführende Zeile unter einer Antwort */
.rbfaq-item__body .rbfaq-item__more{margin:14px 0 0;font-weight:700;}
.rbfaq-item__body .rbfaq-item__more a{color:#6027A6;text-decoration:underline;text-underline-offset:3px;}

/* ============ SICHTBARER TASTATUR-FOKUS ============ */
.rbfaq-root a:focus-visible,.rbfaq-root button:focus-visible,.rbfaq-root input:focus-visible{outline:3px solid #6027A6;outline-offset:3px;border-radius:12px;}
/* .rbfaq-item hat overflow:hidden -> Fokusring nach INNEN zeichnen, sonst weggeschnitten */
.rbfaq-root .rbfaq-item summary:focus-visible{outline:3px solid #6027A6;outline-offset:-3px;border-radius:16px;}
#rbfaq-hero a:focus-visible,#rbfaq-hero button:focus-visible,#rbfaq-cta a:focus-visible,#rbfaq-cta button:focus-visible{outline-color:#fff;}
#rbfaq-hero .rbfaq-search__box button:focus-visible,#rbfaq-hero .rbfaq-search__box input:focus-visible{outline-color:#6027A6;}

@media(max-width:760px){
  #rbfaq-intro{padding:32px 14px 0;}
  .rbfaq-intro__box{padding:26px 20px;border-radius:22px;}
  .rbfaq-intro__box h2{font-size:23px;}
  .rbfaq-intro__box p{font-size:14.5px;}
  .rbfaq-intro__list li{font-size:12.5px;padding:8px 11px;}
}
