/* SOGUE website chat - scoped, responsive and isolated from theme styles */
#csw-chat-root{--chat-blue:#1763c7;--chat-navy:#112c59;position:fixed!important;inset:auto 22px 22px auto!important;z-index:2147482000!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;color:#183153!important;line-height:1.45!important;pointer-events:none}
#csw-chat-root *,#csw-chat-root *::before,#csw-chat-root *::after{box-sizing:border-box}
#csw-chat-root button,#csw-chat-root textarea{font-family:inherit!important;letter-spacing:normal!important;text-transform:none!important}
#csw-chat-root .csw-chat-toggle{pointer-events:auto!important;position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:52px!important;padding:0 22px!important;border:0!important;border-radius:999px!important;background:linear-gradient(125deg,#1262c9,#1d76db)!important;color:#fff!important;font-size:14px!important;font-weight:700!important;line-height:1!important;box-shadow:0 9px 28px rgba(18,75,152,.27)!important;cursor:pointer!important;opacity:1!important;visibility:visible!important;transition:transform .2s ease,box-shadow .2s ease!important}
#csw-chat-root .csw-chat-toggle:hover{transform:translateY(-2px)!important;box-shadow:0 12px 34px rgba(18,75,152,.34)!important}
#csw-chat-root .csw-chat-toggle-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.18);font-size:18px}
#csw-chat-root .csw-chat-panel{pointer-events:auto!important;position:absolute!important;inset:auto 0 70px auto!important;width:min(390px,calc(100vw - 28px))!important;height:min(565px,calc(100dvh - 112px))!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border:1px solid #e1e8f3!important;border-radius:20px!important;background:#fff!important;box-shadow:0 20px 65px rgba(17,44,89,.23)!important;animation:csw-chat-appear .18s ease-out}
#csw-chat-root .csw-chat-panel[hidden]{display:none!important}
@keyframes csw-chat-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
#csw-chat-root .csw-chat-head{display:flex!important;align-items:center!important;gap:11px!important;flex:none!important;padding:17px 18px!important;background:linear-gradient(120deg,#102d5c,#1768ce)!important;color:#fff!important}
#csw-chat-root .csw-chat-avatar{display:grid;place-items:center;width:41px;height:41px;border-radius:13px;background:rgba(255,255,255,.2);font-size:20px;font-weight:800;color:#fff}
#csw-chat-root .csw-chat-heading{flex:1;min-width:0}
#csw-chat-root .csw-chat-head strong{display:block;font-size:15px!important;font-weight:750!important;color:#fff!important}
#csw-chat-root .csw-chat-head small{display:flex;align-items:center;gap:6px;margin-top:3px;color:#e3efff!important;font-size:11px!important}
#csw-chat-root .csw-chat-online{width:7px;height:7px;border-radius:50%;background:#78e3a5}
#csw-chat-root .csw-chat-close{display:grid!important;place-items:center!important;flex:none!important;width:32px!important;height:32px!important;padding:0!important;background:rgba(255,255,255,.12)!important;color:#fff!important;border:0!important;border-radius:9px!important;font-size:24px!important;font-weight:400!important;line-height:1!important;cursor:pointer!important}
#csw-chat-root .csw-chat-feed{flex:1!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:13px!important;overflow-y:auto!important;padding:20px 16px!important;background:linear-gradient(180deg,#f3f7ff,#f9fbff)!important}
#csw-chat-root .csw-chat-intro{align-self:center;color:#6c7f9a;font-size:11px;font-weight:650;letter-spacing:.02em;margin-bottom:4px}
#csw-chat-root .csw-chat-intro span{color:#2675d7}
#csw-chat-root .csw-chat-bubble{max-width:87%;padding:11px 14px;border-radius:15px;font-size:13px!important;line-height:1.6!important;white-space:pre-wrap;overflow-wrap:anywhere}
#csw-chat-root .csw-chat-bubble.visitor{align-self:flex-end;background:#1768cf;color:#fff;border-bottom-right-radius:4px;box-shadow:0 3px 9px rgba(23,104,207,.12)}
#csw-chat-root .csw-chat-bubble.agent{align-self:flex-start;background:#fff;color:#203856;border:1px solid #e3eaf5;border-bottom-left-radius:4px;box-shadow:0 2px 7px rgba(23,55,92,.04)}
#csw-chat-root .csw-chat-note{flex:none;min-height:0;padding:0 16px;color:#b33c4d;font-size:12px}
#csw-chat-root .csw-chat-note:not(:empty){padding-top:8px;padding-bottom:5px}
#csw-chat-root .csw-chat-form{display:flex!important;align-items:flex-end!important;gap:9px!important;flex:none!important;margin:0!important;padding:12px!important;border-top:1px solid #e8edf5!important;background:#fff!important}
#csw-chat-root .csw-chat-form textarea{display:block!important;flex:1!important;width:auto!important;min-width:0!important;min-height:46px!important;max-height:105px!important;margin:0!important;padding:12px!important;border:1px solid #d7e1ee!important;border-radius:12px!important;background:#f8faff!important;color:#183153!important;font-size:13px!important;line-height:1.4!important;resize:vertical!important;outline:none!important;box-shadow:none!important}
#csw-chat-root .csw-chat-form textarea:focus{border-color:#6ba5ee!important;box-shadow:0 0 0 3px rgba(23,104,207,.10)!important}
#csw-chat-root .csw-chat-form button{display:grid!important;place-items:center!important;flex:none!important;width:46px!important;height:46px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:12px!important;background:#1768cf!important;color:#fff!important;font-size:19px!important;line-height:1!important;cursor:pointer!important}
#csw-chat-root .csw-chat-form button:disabled{opacity:.5!important;cursor:wait!important}
@media(max-width:600px){#csw-chat-root{inset:auto 12px 14px auto!important}#csw-chat-root .csw-chat-toggle{min-height:48px!important;padding:0 16px!important;font-size:13px!important}#csw-chat-root .csw-chat-panel{inset:auto 0 62px auto!important;width:min(370px,calc(100vw - 24px))!important;height:min(520px,calc(100dvh - 92px))!important;border-radius:17px!important}#csw-chat-root .csw-chat-head{padding:13px 15px!important}#csw-chat-root .csw-chat-feed{padding:15px 13px!important}}
@media(max-width:380px){#csw-chat-root .csw-chat-toggle{min-height:46px!important;padding:0 13px!important}#csw-chat-root .csw-chat-panel{height:min(480px,calc(100dvh - 88px))!important}}
@media(prefers-reduced-motion:reduce){#csw-chat-root .csw-chat-panel{animation:none}#csw-chat-root .csw-chat-toggle{transition:none!important}}

/* SOGUE: single-tone logo, no white disk or blue outline ring. */
#csw-chat-root .csw-chat-toggle-icon{
  display:grid!important;place-items:center!important;flex:none!important;
  width:30px!important;height:30px!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;overflow:visible!important;
}
#csw-chat-root .csw-chat-toggle-icon img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:contain!important;filter:brightness(0) invert(1)!important;
}
#csw-chat-root .csw-chat-avatar{
  background:rgba(255,255,255,.14)!important;
  overflow:hidden!important;padding:7px!important;
}
#csw-chat-root .csw-chat-avatar img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:contain!important;filter:brightness(0) invert(1)!important;
}
@media(max-width:600px){
  #csw-chat-root .csw-chat-toggle{
    width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;
    padding:0!important;border:0!important;border-radius:50%!important;gap:0!important;
    background:linear-gradient(135deg,#1768cf,#2184e7)!important;
    box-shadow:0 7px 22px rgba(17,73,150,.26)!important;
  }
  #csw-chat-root .csw-chat-toggle-icon{
    width:39px!important;height:39px!important;padding:0!important;
    background:transparent!important;border:0!important;border-radius:0!important;
  }
  #csw-chat-root .csw-chat-toggle-label{display:none!important}
  #csw-chat-root.csw-chat-open .csw-chat-toggle{display:none!important}
  #csw-chat-root .csw-chat-panel{inset:auto 0 0 auto!important;height:min(520px,calc(100dvh - 30px))!important}
}

/* Mobile: drag the floating button without scrolling the page; chat panel stays fixed. */
@media(max-width:600px){
 #csw-chat-root .csw-chat-toggle{touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-tap-highlight-color:transparent!important}
 #csw-chat-root.csw-chat-open .csw-chat-panel{position:fixed!important;left:auto!important;right:12px!important;bottom:14px!important;top:auto!important;transform:none!important}
}

/* Keep the opened mobile panel viewport-anchored, independent of the dragged trigger. */
@media(max-width:600px){
 #csw-chat-root.csw-chat-open{transform:none!important;inset:auto 12px 14px auto!important}
 #csw-chat-root.csw-chat-open .csw-chat-panel{position:fixed!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important}
}

/* Compact website chat composer — desktop and mobile. */
#csw-chat-root .csw-chat-form{display:block!important;padding:10px 12px 12px!important;background:#fff!important}
#csw-chat-root .csw-chat-compose{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;min-width:0!important}
#csw-chat-root .csw-chat-input-shell{display:flex!important;flex-direction:column!important;min-width:0!important;border:1px solid #dce6f4!important;border-radius:16px!important;background:#fff!important;box-shadow:0 2px 10px rgba(20,58,112,.055)!important;overflow:hidden!important;transition:border-color .15s,box-shadow .15s!important}
#csw-chat-root .csw-chat-input-shell:focus-within{border-color:#91b9ed!important;box-shadow:0 0 0 2px rgba(23,104,207,.09)!important}
#csw-chat-root .csw-chat-form textarea{display:block!important;flex:none!important;width:100%!important;height:42px!important;min-height:42px!important;max-height:100px!important;margin:0!important;padding:11px 12px 3px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#183153!important;font-size:13px!important;line-height:1.4!important;resize:none!important;outline:none!important;box-shadow:none!important;overflow-y:auto!important}
#csw-chat-root .csw-chat-form textarea:focus{border:0!important;outline:none!important;box-shadow:none!important}
#csw-chat-root .csw-chat-input-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-height:40px!important;padding:0 7px 7px 8px!important}
#csw-chat-root .csw-chat-upload{display:grid!important;place-items:center!important;position:relative!important;flex:none!important;width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#667d9d!important;cursor:pointer!important}
#csw-chat-root .csw-chat-upload:hover{background:#edf4ff!important;color:#1768cf!important}
#csw-chat-root .csw-chat-upload:focus-visible{outline:2px solid #80b4f3!important;outline-offset:1px!important}
#csw-chat-root .csw-chat-file{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
#csw-chat-root .csw-chat-form button[type=submit]{display:grid!important;place-items:center!important;flex:none!important;width:38px!important;height:38px!important;min-height:38px!important;margin:0!important;padding:0!important;border:0!important;border-radius:11px!important;background:#1768cf!important;color:#fff!important;font-size:18px!important;line-height:1!important;cursor:pointer!important}
#csw-chat-root .csw-chat-form button[type=submit]:disabled{opacity:.5!important;cursor:wait!important}
#csw-chat-root .csw-chat-image-preview{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;padding:8px!important;border:1px solid #e1e8f3!important;border-radius:13px!important;background:#f7faff!important;font-size:11px!important}
#csw-chat-root .csw-chat-image-preview[hidden]{display:none!important}
#csw-chat-root .csw-chat-image-preview img{width:52px!important;height:52px!important;flex:none!important;object-fit:cover!important;border-radius:9px!important}
#csw-chat-root .csw-chat-image-preview span{min-width:0!important;flex:1!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#csw-chat-root .csw-chat-image-preview .csw-chat-image-remove{display:grid!important;place-items:center!important;flex:none!important;width:26px!important;height:26px!important;min-height:26px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#e4ecf8!important;color:#183153!important;font-size:19px!important;cursor:pointer!important}
#csw-chat-root .csw-chat-attachment{display:block;max-width:100%;max-height:240px;object-fit:contain;border-radius:8px;cursor:zoom-in;margin-top:6px}
@media(max-width:600px){
 #csw-chat-root .csw-chat-form{padding:8px 10px 10px!important}
 #csw-chat-root .csw-chat-input-shell{border-radius:14px!important}
 #csw-chat-root .csw-chat-form textarea{height:40px!important;min-height:40px!important;font-size:16px!important;padding:9px 11px 2px!important}
 #csw-chat-root .csw-chat-input-toolbar{min-height:38px!important;padding:0 6px 6px 7px!important}
 #csw-chat-root .csw-chat-upload{width:32px!important;height:32px!important}
 #csw-chat-root .csw-chat-form button[type=submit]{width:36px!important;height:36px!important}
 #csw-chat-root .csw-chat-image-preview img{width:46px!important;height:46px!important}
}

/* Slightly taller composer with emoji and attachment tools (desktop + mobile). */
#csw-chat-root .csw-chat-form textarea{height:56px!important;min-height:56px!important;max-height:120px!important;padding-top:13px!important}
#csw-chat-root .csw-chat-input-toolbar{justify-content:flex-start!important;align-items:center!important;gap:2px!important}
#csw-chat-root .csw-chat-form button.csw-chat-emoji-toggle{display:grid!important;place-items:center!important;flex:none!important;width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;margin:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#667d9d!important;box-shadow:none!important;cursor:pointer!important}
#csw-chat-root .csw-chat-form button.csw-chat-emoji-toggle:hover,#csw-chat-root .csw-chat-form button.csw-chat-emoji-toggle[aria-expanded="true"]{background:#edf4ff!important;color:#667d9d!important}
#csw-chat-root .csw-chat-form button.csw-chat-emoji-toggle:focus-visible{outline:2px solid #80b4f3!important;outline-offset:1px!important}
#csw-chat-root .csw-chat-form button[type=submit]{margin-left:auto!important}
#csw-chat-root .csw-chat-emoji-picker{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px!important;padding:8px!important;border:1px solid #e1e8f3!important;border-radius:12px!important;background:#f7faff!important;max-height:142px!important;overflow-y:auto!important}
#csw-chat-root .csw-chat-emoji-picker[hidden]{display:none!important}
#csw-chat-root .csw-chat-emoji-picker button{display:grid!important;place-items:center!important;width:100%!important;height:33px!important;min-height:33px!important;margin:0!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:inherit!important;font-size:21px!important;cursor:pointer!important}
#csw-chat-root .csw-chat-emoji-picker button:hover{background:#e5efff!important}
/* Align icon buttons by the same box, then correct optical centers of their paths. */
#csw-chat-root .csw-chat-input-toolbar > .csw-chat-emoji-toggle,
#csw-chat-root .csw-chat-input-toolbar > .csw-chat-upload{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 align-self:center!important;vertical-align:middle!important;
 width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
 flex:0 0 32px!important;margin:0!important;padding:0!important;
 line-height:0!important;background:transparent!important;color:#667d9d!important;
 border:0!important;box-shadow:none!important;
}
#csw-chat-root .csw-chat-input-toolbar > .csw-chat-emoji-toggle svg,
#csw-chat-root .csw-chat-input-toolbar > .csw-chat-upload svg{
 display:block!important;width:21px!important;height:21px!important;
 flex:0 0 21px!important;stroke:currentColor!important;
}
#csw-chat-root .csw-chat-input-toolbar > .csw-chat-emoji-toggle svg{transform:translateY(-1px)!important}
#csw-chat-root .csw-chat-input-toolbar > .csw-chat-upload svg{transform:translateY(1px)!important}
@media(max-width:600px){
 #csw-chat-root .csw-chat-form textarea{height:56px!important;min-height:56px!important;font-size:16px!important}
 #csw-chat-root .csw-chat-form button.csw-chat-emoji-toggle{width:32px!important;height:32px!important}
 #csw-chat-root .csw-chat-emoji-picker{grid-template-columns:repeat(7,minmax(0,1fr))}
}
