.swb-overlay{position:fixed;inset:0;background:rgba(15,23,42,.64);backdrop-filter:blur(3px);z-index:99990;display:none;align-items:center;justify-content:center;padding:22px}.swb-overlay.is-open{display:flex}.swb-modal{width:min(1420px,94vw);max-height:90vh;background:#fff;border-radius:22px;box-shadow:0 36px 120px rgba(0,0,0,.38);display:grid;grid-template-columns:minmax(430px,48%) minmax(360px,34%) minmax(240px,18%);gap:24px;padding:22px;position:relative;color:#0f172a;overflow:auto}.swb-close{position:absolute;right:14px;top:12px;border:0;background:#eef2f7;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer;z-index:3}.swb-photoPanel{min-width:0}.swb-photoStage{height:620px;border-radius:18px;background:linear-gradient(135deg,#fbbf24,#f97316);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.swb-photoStage.has-image{background:#111827}.swb-photo{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}.swb-avatarFallback{height:100%;display:grid;place-items:center;font-size:96px;font-weight:900;background:#fbbf24;color:#111827}.swb-online{position:absolute;left:18px;top:18px;background:rgba(15,23,42,.9);color:#fff;border-radius:999px;padding:8px 13px;font-weight:900;font-size:14px}.swb-online span{display:inline-block;width:10px;height:10px;background:#22c55e;border-radius:50%;margin-right:6px}.swb-speechBubble{position:absolute;left:26px;right:26px;bottom:24px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-radius:17px;padding:17px 19px;font-size:18px;line-height:1.38;box-shadow:0 10px 32px rgba(0,0,0,.18)}.swb-audioRow{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px}.swb-audio{border:1px solid #fb923c;background:#fff7ed;color:#ea580c;border-radius:999px;padding:10px 15px;font-weight:900;cursor:pointer}.swb-kicker{display:inline-block;background:#dcfce7;color:#166534;font-weight:900;border-radius:999px;padding:7px 13px;margin-bottom:14px}.swb-textPanel h2{font-size:48px;line-height:.98;margin:0 0 12px;font-weight:950;letter-spacing:-1.5px}.swb-textPanel h3{font-size:22px;margin:0;color:#f97316}.swb-subline{font-size:17px;margin:8px 0 18px;color:#334155}.swb-benefits{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:15px}.swb-benefits li{padding-left:38px;position:relative}.swb-benefits li:before{content:'✓';position:absolute;left:0;top:0;background:#fff7ed;color:#f97316;border:1px solid #fed7aa;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-weight:900}.swb-benefits b{display:block;font-size:17px}.swb-benefits span{font-size:14px;color:#475569}.swb-actions{display:flex;gap:12px;flex-wrap:wrap}.swb-btn,.swb-actions a{border:1px solid #fb923c;background:#fff;color:#ea580c;border-radius:12px;padding:12px 18px;font-weight:900;text-decoration:none;cursor:pointer;text-align:center}.swb-btn.primary{background:#f97316;color:#fff}.swb-btn.whatsapp{background:#16a34a;color:#fff;border-color:#16a34a}.swb-btn.ghost{border-color:#cbd5e1;color:#334155}.swb-btn.full{width:100%;margin-top:8px}.swb-helpPanel{display:grid;align-content:start;gap:12px}.swb-helpPanel h4{font-size:22px;margin:0 0 4px}.swb-helpPanel button,.swb-helpPanel a{border:1px solid #e2e8f0;background:#f8fafc;color:#0f172a;border-radius:13px;padding:14px;text-align:left;font-weight:900;text-decoration:none;cursor:pointer}.swb-helpPanel a{background:#ecfdf5;border-color:#bbf7d0;color:#15803d}.swb-helpPanel button:hover{background:#fff7ed;border-color:#fb923c}.swb-miniCard{position:fixed;right:22px;bottom:22px;z-index:99980;width:340px;background:#fff;border-radius:20px;box-shadow:0 22px 70px rgba(15,23,42,.24);padding:18px;display:grid;gap:10px;border:1px solid #e2e8f0;color:#0f172a}.swb-miniClose{position:absolute;right:10px;top:9px;border:0;background:#e2e8f0;border-radius:50%;width:24px;height:24px;cursor:pointer}.swb-bubble{border:0;background:transparent;padding:0;margin:0 auto;cursor:pointer}.swb-bubble img{width:160px;height:160px;border-radius:50%;object-fit:cover;object-position:center 28%;border:5px solid #fbbf24;box-shadow:0 12px 36px rgba(0,0,0,.22)}.swb-bubble span{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:#fbbf24;color:#111827;font-weight:950;font-size:48px}.swb-miniName{text-align:center;font-weight:950;font-size:24px}.swb-miniTitle{text-align:center;color:#16a34a;font-weight:900}.swb-miniCard p{text-align:center;margin:2px 0 6px;color:#334155;line-height:1.35}.swb-miniAction,.swb-miniWhats{border:0;border-radius:13px;padding:13px;font-weight:950;text-align:center;text-decoration:none;cursor:pointer}.swb-miniAction{background:#f97316;color:#fff}.swb-miniWhats{background:#16a34a;color:#fff}.swb-miniCard.is-small{width:auto;border-radius:999px;padding:7px 12px 7px 7px;display:flex;align-items:center;gap:8px}.swb-miniCard.is-small .swb-miniClose,.swb-miniCard.is-small p,.swb-miniCard.is-small .swb-miniAction,.swb-miniCard.is-small .swb-miniWhats,.swb-miniCard.is-small .swb-miniTitle{display:none}.swb-miniCard.is-small .swb-bubble img{width:42px;height:42px;border-width:3px}.swb-miniCard.is-small .swb-bubble span{width:42px;height:42px;font-size:14px}.swb-miniCard.is-small .swb-miniName{font-size:13px;color:#fff;background:#0f172a;border-radius:999px;padding:8px 10px}.swb-speaking .swb-photoStage{animation:swbPulse 1s infinite}@keyframes swbPulse{0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,.45)}50%{box-shadow:0 0 0 14px rgba(249,115,22,0)}}@media(max-width:1100px){.swb-modal{grid-template-columns:1fr;max-height:94vh}.swb-photoStage{height:460px}.swb-textPanel h2{font-size:38px}.swb-helpPanel{grid-template-columns:1fr 1fr}.swb-miniCard{width:300px}.swb-bubble img,.swb-bubble span{width:130px;height:130px}}@media(max-width:640px){.swb-overlay{padding:8px}.swb-modal{width:96vw;padding:14px;border-radius:16px;gap:14px}.swb-photoStage{height:330px}.swb-textPanel h2{font-size:30px}.swb-helpPanel{grid-template-columns:1fr}.swb-actions{display:grid}.swb-btn,.swb-actions a{text-align:center}.swb-miniCard{right:10px;bottom:10px;width:280px}.swb-bubble img,.swb-bubble span{width:105px;height:105px}}


/* V2026-28 FIX: Wissensdatenbank-Antwort sichtbar im Popup */
.swb-answerBox{border:1px solid #fed7aa;background:#fff7ed;border-radius:14px;padding:14px 16px;margin:0 0 18px;color:#0f172a;box-shadow:0 8px 26px rgba(249,115,22,.10)}
.swb-answerTitle{font-weight:950;font-size:18px;color:#ea580c;margin-bottom:8px}
.swb-answerItem{border-top:1px solid #ffedd5;padding-top:9px;margin-top:9px}
.swb-answerItem:first-of-type{border-top:0;padding-top:0;margin-top:0}
.swb-answerItem b{display:block;font-size:15px;margin-bottom:3px}
.swb-answerItem p{margin:0;font-size:14px;line-height:1.38;color:#334155}

/* V2026-30 MOBILE FIX: großer Verkaufsberater am Handy kleiner + sicher schließbar
   Wichtig: kleines Popup rechts unten (.swb-miniCard) bleibt unverändert. */
@media (max-width: 760px){
  .swb-overlay{
    align-items:flex-start !important;
    justify-content:center !important;
    padding:10px !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .swb-modal{
    width:calc(100vw - 20px) !important;
    max-width:420px !important;
    max-height:calc(100vh - 20px) !important;
    overflow-y:auto !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:12px !important;
    padding-top:50px !important;
    border-radius:16px !important;
  }
  .swb-close{
    position:fixed !important;
    right:14px !important;
    top:14px !important;
    z-index:100000 !important;
    width:44px !important;
    height:44px !important;
    border-radius:999px !important;
    background:#111827 !important;
    color:#fff !important;
    font-size:30px !important;
    line-height:44px !important;
    box-shadow:0 8px 28px rgba(0,0,0,.35) !important;
  }
  .swb-photoStage{
    height:210px !important;
    border-radius:14px !important;
  }
  .swb-photo{
    object-position:center 22% !important;
  }
  .swb-online{
    left:10px !important;
    top:10px !important;
    font-size:12px !important;
    padding:6px 9px !important;
  }
  .swb-speechBubble{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    padding:10px 12px !important;
    font-size:13px !important;
    line-height:1.28 !important;
    max-height:74px !important;
    overflow:auto !important;
  }
  .swb-audioRow{
    margin-top:8px !important;
    gap:6px !important;
  }
  .swb-audio{
    padding:8px 10px !important;
    font-size:12px !important;
  }
  .swb-kicker{
    font-size:12px !important;
    padding:5px 9px !important;
    margin-bottom:6px !important;
  }
  .swb-textPanel h2{
    font-size:24px !important;
    line-height:1.05 !important;
    letter-spacing:-.5px !important;
    margin-bottom:6px !important;
  }
  .swb-textPanel h3{
    font-size:16px !important;
  }
  .swb-subline{
    font-size:13px !important;
    margin:6px 0 9px !important;
  }
  .swb-benefits{
    gap:7px !important;
    margin-bottom:10px !important;
  }
  .swb-benefits li{
    padding-left:28px !important;
  }
  .swb-benefits li:before{
    width:20px !important;
    height:20px !important;
    border-radius:6px !important;
    font-size:13px !important;
  }
  .swb-benefits b{
    font-size:13px !important;
  }
  .swb-benefits span{
    font-size:12px !important;
  }
  .swb-actions{
    gap:7px !important;
  }
  .swb-btn,.swb-actions a{
    padding:10px 12px !important;
    font-size:13px !important;
  }
  .swb-helpPanel{
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }
  .swb-helpPanel h4{
    grid-column:1/-1;
    font-size:16px !important;
    margin-top:2px !important;
  }
  .swb-helpPanel button,.swb-helpPanel a{
    padding:10px !important;
    font-size:12px !important;
    border-radius:10px !important;
  }
  .swb-answerBox{
    padding:10px 12px !important;
    margin-bottom:10px !important;
    max-height:155px !important;
    overflow:auto !important;
  }
  .swb-answerTitle{
    font-size:15px !important;
  }
  .swb-answerItem p{
    font-size:12px !important;
  }
}

@media (max-width: 390px){
  .swb-photoStage{height:185px !important;}
  .swb-textPanel h2{font-size:21px !important;}
  .swb-helpPanel{grid-template-columns:1fr !important;}
}

/* V2026-31 MOBILE POPUP FIX: kleines Rechts-unten-Popup am Handy kompakt + schließbar.
   Der große Berater bleibt über den Button erreichbar. */
@media (max-width: 760px){
  .swb-miniCard{
    right:12px !important;
    bottom:12px !important;
    width:236px !important;
    max-width:calc(100vw - 24px) !important;
    padding:12px !important;
    gap:6px !important;
    border-radius:18px !important;
    box-shadow:0 14px 42px rgba(15,23,42,.22) !important;
  }
  .swb-miniClose{
    right:8px !important;
    top:8px !important;
    width:28px !important;
    height:28px !important;
    font-size:18px !important;
    line-height:28px !important;
    background:#eaf2fb !important;
    color:#2563eb !important;
    z-index:3 !important;
  }
  .swb-bubble img,
  .swb-bubble span{
    width:74px !important;
    height:74px !important;
    border-width:4px !important;
  }
  .swb-miniName{
    font-size:20px !important;
    line-height:1.05 !important;
  }
  .swb-miniTitle{
    font-size:14px !important;
  }
  .swb-miniCard p{
    font-size:13px !important;
    line-height:1.25 !important;
    margin:0 0 4px !important;
  }
  .swb-miniAction,
  .swb-miniWhats{
    padding:10px !important;
    font-size:14px !important;
    border-radius:12px !important;
  }
  .swb-miniCard.is-small{
    width:auto !important;
    max-width:none !important;
    border-radius:999px !important;
    padding:6px 10px 6px 6px !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
  }
  .swb-miniCard.is-small .swb-miniClose,
  .swb-miniCard.is-small p,
  .swb-miniCard.is-small .swb-miniAction,
  .swb-miniCard.is-small .swb-miniWhats,
  .swb-miniCard.is-small .swb-miniTitle{
    display:none !important;
  }
  .swb-miniCard.is-small .swb-bubble img,
  .swb-miniCard.is-small .swb-bubble span{
    width:42px !important;
    height:42px !important;
    border-width:3px !important;
  }
  .swb-miniCard.is-small .swb-miniName{
    font-size:13px !important;
    color:#fff !important;
    background:#0f172a !important;
    border-radius:999px !important;
    padding:8px 10px !important;
  }
  .swb-miniCard.is-hidden{
    display:none !important;
  }
}

/* V2026-32 PC POPUP FIX: Desktop-Berater rechts unten bleibt immer sichtbar/bedienbar.
   Handy-Regeln aus V2026-31 bleiben unverändert. */
@media (min-width: 761px){
  .swb-miniCard{
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .swb-miniCard.is-hidden{
    display:grid !important;
  }
  .swb-miniCard.is-small{
    width:340px !important;
    border-radius:20px !important;
    padding:18px !important;
    display:grid !important;
  }
  .swb-miniCard.is-small .swb-miniClose,
  .swb-miniCard.is-small p,
  .swb-miniCard.is-small .swb-miniAction,
  .swb-miniCard.is-small .swb-miniWhats,
  .swb-miniCard.is-small .swb-miniTitle{
    display:block !important;
  }
}

/* V2026-33 Mikrofon / Voice */
.swb-btn.mic,
.swb-helpMic,
.swb-miniMic,
.swb-micBtn{
  border-color:#2563eb !important;
  background:#eff6ff !important;
  color:#1d4ed8 !important;
}
.swb-btn.mic.is-recording,
.swb-helpMic.is-recording,
.swb-miniMic.is-recording,
.swb-micBtn.is-recording{
  background:#fee2e2 !important;
  color:#b91c1c !important;
  border-color:#ef4444 !important;
}
.swb-miniMic{
  border:1px solid #2563eb;
  background:#eff6ff;
  color:#1d4ed8;
  border-radius:999px;
  padding:8px 12px;
  font-weight:900;
  cursor:pointer;
  margin-top:6px;
}
.swb-answerHint{font-size:13px;color:#64748b;margin-top:6px}
@media (max-width:760px){
  .swb-miniCard.is-small .swb-miniMic{display:none !important;}
  .swb-btn.mic{width:100%;}
}


/* V2026-35 Kostenloser Sprachberater: Textfrage, Ton-Schalter, Chat-Verlauf */
.swb-chatForm{
  display:flex;
  gap:8px;
  margin:10px 0 8px;
}
.swb-chatForm input{
  flex:1;
  min-width:0;
  border:1px solid #cbd5e1;
  border-radius:14px;
  padding:12px 14px;
  font-size:15px;
  outline:none;
  background:#fff;
}
.swb-chatForm input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.swb-chatForm button,
.swb-toolRow button{
  border:0;
  border-radius:14px;
  padding:12px 14px;
  font-weight:900;
  cursor:pointer;
  background:#0f172a;
  color:#fff;
}
.swb-toolRow{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 10px;
}
.swb-toolRow button{
  background:#f1f5f9;
  color:#0f172a;
  border:1px solid #cbd5e1;
  padding:9px 12px;
  font-size:13px;
}
.swb-toolRow button.is-off{
  background:#fff7ed;
  color:#9a3412;
  border-color:#fed7aa;
}
.swb-chatItem{
  border-radius:14px;
  padding:10px 12px;
  margin:8px 0;
}
.swb-chatItem p{margin:4px 0 0;line-height:1.35}
.swb-chatItem.user{background:#eff6ff;border:1px solid #bfdbfe}
.swb-chatItem.bot{background:#f8fafc;border:1px solid #e2e8f0}
.swb-chatItem.user b{color:#1d4ed8}
.swb-chatItem.bot b{color:#0f172a}
@media (max-width:760px){
  .swb-chatForm{flex-direction:column;margin:8px 0}
  .swb-chatForm input{font-size:16px;padding:11px 12px}
  .swb-chatForm button{width:100%;padding:11px 12px}
  .swb-toolRow{gap:6px}
  .swb-toolRow button{flex:1;padding:9px 8px;font-size:12px}
}

/* V2026-39 Hybrid KI */
.swb-answerSource{margin-top:8px;font-size:12px;font-weight:800;color:#475569;background:#f1f5f9;border-radius:999px;display:inline-flex;padding:5px 9px}
.swb-searchLinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.swb-searchLinks a{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border-radius:10px;background:#2563eb;color:#fff!important;text-decoration:none;font-weight:900;font-size:13px}
.swb-answerHint a{color:#166534;font-weight:900;text-decoration:none}


/* V2026-41: Berater bleibt intern im Konfigurator, kein externer Google-Zwang */
.swb-overlay.is-expanded{
  align-items:stretch !important;
  justify-content:center !important;
  padding:18px !important;
}
.swb-overlay.is-expanded .swb-modal{
  width:min(1280px, calc(100vw - 36px)) !important;
  max-width:1280px !important;
  height:calc(100vh - 36px) !important;
  max-height:calc(100vh - 36px) !important;
  overflow:hidden !important;
  grid-template-columns:minmax(280px, 34%) minmax(420px, 1fr) minmax(220px, 24%) !important;
}
.swb-overlay.is-expanded .swb-textPanel{
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
.swb-overlay.is-expanded .swb-answerBox{
  flex:1 1 auto !important;
  max-height:none !important;
  overflow:auto !important;
}
.swb-overlay.is-expanded .swb-photoStage{
  height:min(56vh, 520px) !important;
}
.swb-searchDetails{
  margin-top:10px;
  font-size:12px;
  color:#475569;
}
.swb-searchDetails summary{
  cursor:pointer;
  font-weight:900;
  color:#334155;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:10px;
  padding:7px 9px;
  display:inline-flex;
}
.swb-searchDetails .swb-searchLinks a{
  background:#f1f5f9 !important;
  color:#334155 !important;
  border:1px solid #cbd5e1 !important;
  font-size:12px !important;
}
@media(max-width:760px){
  .swb-overlay.is-expanded{padding:8px !important;}
  .swb-overlay.is-expanded .swb-modal{
    width:calc(100vw - 16px) !important;
    height:calc(100vh - 16px) !important;
    max-height:calc(100vh - 16px) !important;
    grid-template-columns:1fr !important;
    overflow:auto !important;
  }
  .swb-overlay.is-expanded .swb-answerBox{
    max-height:45vh !important;
  }
}


/* V2026-42: Google-Auswahl im Berater. Kunde entscheidet selbst. */
.swb-searchDetails[open]{
  display:block;
  padding:10px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
}
.swb-searchLinks{
  align-items:center;
}
.swb-googleChoice{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 11px;
  border:0;
  border-radius:10px;
  background:#2563eb;
  color:#fff;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
}
.swb-googleExternal{
  background:#fff !important;
  color:#475569 !important;
  border:1px solid #cbd5e1 !important;
  padding:8px 10px !important;
}
.swb-googleFrameWrap{
  margin-top:10px;
  border:1px solid #cbd5e1;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.swb-googleFrameHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  background:#0f172a;
  color:#fff;
  font-size:13px;
}
.swb-googleFrameHead button{
  border:0;
  border-radius:8px;
  padding:6px 9px;
  background:#334155;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.swb-googleFrame{
  width:100%;
  height:520px;
  border:0;
  display:block;
  background:#fff;
}
.swb-googleNote{
  margin:0;
  padding:8px 10px;
  font-size:12px;
  color:#64748b;
  background:#f8fafc;
}
@media(max-width:760px){
  .swb-googleFrame{height:46vh;}
  .swb-googleChoice,.swb-googleExternal{font-size:12px!important; padding:8px 9px!important;}
}
