/* CEFC Assistant - genuinely compact version */
.cefc-chat-launcher{position:fixed;right:14px;bottom:14px;z-index:9998;border:0;background:transparent;padding:0;cursor:pointer;display:flex;align-items:center;gap:4px;font:inherit}
.cefc-chat-launcher img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.2))}
.cefc-chat-bubble{background:#fff;border:2px solid #123f78;border-radius:9px 9px 9px 3px;padding:2px 5px;color:#123f78;font-size:.50rem;font-weight:800;box-shadow:0 3px 10px rgba(0,0,0,.16);white-space:nowrap}

.cefc-chat-panel{position:fixed;right:14px;bottom:76px;width:320px;max-width:calc(100vw - 20px);height:auto!important;min-height:0!important;max-height:520px;z-index:9999;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.25);overflow:hidden;display:none;flex-direction:column;border:1px solid #d9e1ea;font-family:inherit}
.cefc-chat-panel.open{display:flex}
.cefc-chat-head{background:#123f78;color:#fff;padding:10px 12px;display:flex;align-items:center;justify-content:space-between}
.cefc-chat-head strong{font-size:.9rem}
.cefc-chat-close{border:0;background:transparent;color:#fff;font-size:1.35rem;line-height:1;cursor:pointer;padding:0 2px}

.cefc-chat-messages{flex:0 1 auto;min-height:0!important;max-height:190px;overflow-y:auto;padding:10px;background:#f6f8fb}
.cefc-msg{max-width:88%;margin:0 0 7px;padding:8px 10px;border-radius:12px;line-height:1.35;font-size:.84rem;white-space:pre-wrap}
.cefc-msg.bot{background:#fff;border:1px solid #dde4ec;border-bottom-left-radius:4px}
.cefc-msg.user{background:#123f78;color:#fff;margin-left:auto;border-bottom-right-radius:4px}

.cefc-chat-actions{display:flex;flex-wrap:wrap;gap:5px;padding:0 10px 7px;background:#f6f8fb}
.cefc-chat-actions a{display:inline-block;text-decoration:none;background:#fff;border:1px solid #123f78;color:#123f78;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:700}

.cefc-chat-form{display:flex;gap:6px;padding:8px;border-top:1px solid #e0e5eb;background:#fff}
.cefc-chat-form input{min-width:0;flex:1;border:1px solid #b9c4d0;border-radius:8px;padding:8px 9px;font:inherit;font-size:.82rem}
.cefc-chat-form button{border:0;border-radius:8px;background:#123f78;color:#fff;padding:8px 10px;font-size:.8rem;font-weight:700;cursor:pointer}
.cefc-chat-note{font-size:.62rem;line-height:1.25;color:#667085;padding:0 9px 7px;background:#fff}
.cefc-chat-typing{opacity:.65;font-style:italic}

@media(max-width:520px){
 .cefc-chat-launcher{right:8px;bottom:8px}
 .cefc-chat-launcher img{width:44px;height:44px}
 .cefc-chat-bubble{font-size:.47rem;padding:2px 4px}
 .cefc-chat-panel{right:8px;bottom:62px;width:300px;max-width:calc(100vw - 16px);max-height:calc(100vh - 60px)}
 .cefc-chat-messages{max-height:180px}
}


/* IMPORTANT: neutralise CEFC site's global section spacing on the chat panel */
section.cefc-chat-panel {
  padding: 0 !important;
  margin: 0 !important;
  content-visibility: visible !important;
  contain: none !important;
  contain-intrinsic-size: none !important;
}

/* Larger mascots, while keeping the speech bubble small */
.cefc-chat-launcher img {
  width: 72px !important;
  height: 72px !important;
}
.cefc-chat-bubble {
  font-size: .50rem !important;
  padding: 2px 5px !important;
}
.cefc-chat-panel {
  bottom: 94px !important;
}

@media (max-width:520px) {
  .cefc-chat-launcher img {
    width: 58px !important;
    height: 58px !important;
  }
  .cefc-chat-panel {
    bottom: 76px !important;
  }
}

/* New mascot includes its own speech bubble. */
.cefc-chat-launcher img{width:112px !important;height:auto !important;max-height:112px !important}
.cefc-chat-panel{bottom:130px !important}
@media(max-width:520px){.cefc-chat-launcher img{width:90px !important;max-height:90px !important}.cefc-chat-panel{bottom:105px !important}}

/* Keep the input visible while long conversations scroll above it. */
.cefc-chat-panel{height:min(520px,calc(100dvh - 150px))!important;min-height:260px!important}
.cefc-chat-messages{flex:1 1 auto!important;max-height:none!important;min-height:0!important;overflow-y:auto;overscroll-behavior:contain}
.cefc-chat-head,.cefc-chat-actions,.cefc-chat-form,.cefc-chat-note{flex-shrink:0}
.cefc-chat-actions:empty{display:none}
.cefc-msg{overflow-wrap:anywhere}
.cefc-msg strong{font-weight:750}
.cefc-chat-form button:disabled{opacity:.55;cursor:wait}
@media(max-width:520px){
 .cefc-chat-panel{height:min(480px,calc(100dvh - 125px))!important;min-height:220px!important}
}
