/* SOPHIA 1.0.1 – robustes Layout gegen Theme- und Button-Stile */
#sophia-chatbot-root,
#sophia-chatbot-root *,
#sophia-chatbot-root *::before,
#sophia-chatbot-root *::after { box-sizing: border-box !important; }

#sophia-chatbot-root { font-family: Arial, Helvetica, sans-serif !important; line-height: 1.45; }
#sophia-chatbot-root button { font-family: Arial, Helvetica, sans-serif !important; letter-spacing: normal !important; text-transform: none !important; white-space: normal !important; }

#sophia-chatbot-root .sophia-launcher {
 position:fixed !important; right:22px !important; bottom:22px !important; z-index:99999 !important;
 display:flex !important; align-items:center !important; justify-content:center !important; gap:10px !important;
 width:auto !important; max-width:calc(100vw - 24px) !important; min-height:58px !important; height:auto !important;
 margin:0 !important; padding:12px 20px !important; border:2px solid #fff !important; border-radius:32px !important;
 background:#174f70 !important; color:#fff !important; font-size:18px !important; font-weight:700 !important;
 line-height:1.3 !important; cursor:pointer !important; box-shadow:0 3px 14px rgba(0,0,0,.22) !important;
}
#sophia-chatbot-root .sophia-launcher:hover,
#sophia-chatbot-root .sophia-launcher:focus { background:#103b55 !important; color:#fff !important; }
#sophia-chatbot-root .sophia-launcher-icon { display:inline-block !important; font-size:24px !important; }

#sophia-chatbot-root .sophia-panel {
 position:fixed !important; right:22px !important; bottom:92px !important; z-index:100000 !important;
 display:flex !important; flex-direction:column !important; align-items:stretch !important;
 width:min(390px, calc(100vw - 28px)) !important; max-width:calc(100vw - 28px) !important;
 max-height:min(690px, calc(100vh - 125px)) !important; min-height:390px !important;
 margin:0 !important; padding:0 !important; background:#fff !important; color:#263238 !important;
 border:1px solid #cbd5dc !important; border-radius:16px !important;
 box-shadow:0 8px 32px rgba(0,0,0,.24) !important; overflow:hidden !important;
}
#sophia-chatbot-root .sophia-panel[hidden] { display:none !important; }
#sophia-chatbot-root .sophia-header {
 flex:0 0 auto !important; display:flex !important; flex-direction:row !important; justify-content:space-between !important;
 align-items:center !important; gap:12px !important; margin:0 !important; padding:17px 20px !important;
 background:#174f70 !important; color:#fff !important;
}
#sophia-chatbot-root .sophia-header p { margin:0 0 3px !important; color:#fff !important; font-size:13px !important; }
#sophia-chatbot-root .sophia-header h2 { margin:0 !important; padding:0 !important; color:#fff !important; font-size:24px !important; line-height:1.2 !important; }
#sophia-chatbot-root .sophia-close {
 display:block !important; flex:0 0 auto !important; width:40px !important; min-width:40px !important; height:40px !important;
 margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important;
 color:#fff !important; font-size:32px !important; line-height:1 !important; cursor:pointer !important;
}
#sophia-chatbot-root .sophia-messages { flex:1 1 auto !important; min-height:80px !important; padding:16px !important; overflow-y:auto !important; }
#sophia-chatbot-root .sophia-message {
 display:block !important; width:auto !important; max-width:100% !important; margin:0 0 12px !important;
 padding:13px 15px !important; border-radius:13px !important; font-size:16px !important; line-height:1.55 !important;
 overflow-wrap:anywhere !important; white-space:normal !important;
}
#sophia-chatbot-root .sophia-message p { display:block !important; margin:0 0 10px !important; padding:0 !important; }
#sophia-chatbot-root .sophia-message p:last-child { margin-bottom:0 !important; }
#sophia-chatbot-root .sophia-bot-message { background:#f0f5f7 !important; border:1px solid #dce7ec !important; }
#sophia-chatbot-root .sophia-user-message { margin-left:12% !important; background:#e4f1f6 !important; border:1px solid #c5dce6 !important; }
#sophia-chatbot-root .sophia-message a { color:#075b91 !important; text-decoration:underline !important; font-weight:700 !important; }

#sophia-chatbot-root .sophia-actions {
 flex:0 0 auto !important; display:flex !important; flex-direction:column !important; align-items:stretch !important;
 gap:9px !important; width:100% !important; max-height:245px !important; margin:0 !important;
 padding:0 16px 14px !important; overflow-y:auto !important;
}
#sophia-chatbot-root .sophia-actions .sophia-choice {
 display:block !important; flex:0 0 auto !important; position:relative !important;
 width:100% !important; min-width:0 !important; max-width:100% !important; min-height:48px !important; height:auto !important;
 margin:0 !important; padding:11px 13px !important; border:2px solid #276783 !important; border-radius:9px !important;
 background:#fff !important; color:#174f70 !important; text-align:left !important; text-align-last:left !important;
 font-size:16px !important; font-weight:700 !important; line-height:1.4 !important;
 cursor:pointer !important; white-space:normal !important; overflow-wrap:anywhere !important;
 box-shadow:none !important; transform:none !important;
}
#sophia-chatbot-root .sophia-actions .sophia-choice:hover,
#sophia-chatbot-root .sophia-actions .sophia-choice:focus {
 background:#eaf4f7 !important; color:#174f70 !important; outline:3px solid #f0c75e !important; outline-offset:1px !important;
}
#sophia-chatbot-root .sophia-footer {
 flex:0 0 auto !important; display:block !important; margin:0 !important; padding:10px 16px 13px !important;
 border-top:1px solid #e0e5e8 !important; background:#fafcfd !important;
}
#sophia-chatbot-root .sophia-footer p { margin:0 0 7px !important; color:#4c5960 !important; font-size:12px !important; line-height:1.4 !important; }
#sophia-chatbot-root .sophia-home { display:inline-block !important; width:auto !important; margin:0 !important; padding:4px 0 !important; border:0 !important; background:transparent !important; color:#075b91 !important; text-decoration:underline !important; font-size:14px !important; font-weight:700 !important; cursor:pointer !important; }

@media (max-width:480px) {
 #sophia-chatbot-root .sophia-launcher { right:12px !important; bottom:12px !important; min-height:52px !important; padding:10px 16px !important; font-size:16px !important; }
 #sophia-chatbot-root .sophia-panel { right:8px !important; bottom:74px !important; width:calc(100vw - 16px) !important; max-width:calc(100vw - 16px) !important; max-height:calc(100vh - 92px) !important; min-height:360px !important; }
 #sophia-chatbot-root .sophia-message, #sophia-chatbot-root .sophia-actions .sophia-choice { font-size:15px !important; }
}
