/* FDL website assistant v1.0 */
.fxb { position: fixed; left: 20px; bottom: 20px; z-index: 9990; font-family: "Plus Jakarta Sans", system-ui, sans-serif; }
.fxb-launch { display: inline-flex; align-items: center; gap: 8px; height: 50px; padding: 0 20px 0 16px; border: 0; border-radius: 999px; background: #33406a; color: #fff; font: 700 15px/1 inherit; box-shadow: 0 10px 30px rgba(35,48,92,.35); cursor: pointer; transition: transform .15s; }
.fxb-launch:hover { transform: translateY(-2px); }
.fxb-launch svg { width: 22px; height: 22px; }
.fxb.is-open .fxb-launch { display: none; }
.fxb.is-nudge .fxb-launch::after { content: "Questions? Ask me 👋"; position: absolute; left: 0; bottom: 60px; white-space: nowrap; background: #fff; color: #23305c; font-weight: 600; font-size: 13.5px; padding: 9px 14px; border-radius: 12px; box-shadow: 0 8px 24px rgba(35,48,92,.18); animation: fxb-pop .3s ease both; }
.fxb-panel { width: min(370px, calc(100vw - 24px)); height: min(560px, calc(100vh - 110px)); height: min(560px, calc(100dvh - 110px)); display: flex; flex-direction: column; background: #fff; border-radius: 20px; box-shadow: 0 24px 60px rgba(20,28,60,.28); overflow: hidden; animation: fxb-pop .2s ease both; }
.fxb-panel[hidden] { display: none; }
.fxb-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #33406a; color: #fff; }
.fxb-head strong { display: block; font-size: 15px; }
.fxb-head small { font-size: 12px; opacity: .8; }
.fxb-head > span:nth-child(2) { flex: 1; }
.fxb-avatar { width: 38px; height: 38px; border-radius: 50%; background: #fff; color: #33406a; display: grid; place-items: center; font-weight: 800; }
.fxb-close { width: 34px; height: 34px; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.fxb-log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 8px; background: #f5f7fb; }
.fxb-msg { max-width: 86%; padding: 10px 13px; border-radius: 16px; font-size: 14px; line-height: 1.5; color: #23305c; overflow-wrap: anywhere; }
.fxb-msg.is-bot { align-self: flex-start; background: #fff; border-bottom-left-radius: 4px; box-shadow: 0 1px 2px rgba(20,28,60,.06); }
.fxb-msg.is-me { align-self: flex-end; background: #33406a; color: #fff; border-bottom-right-radius: 4px; }
.fxb-msg a { color: #e0533a; font-weight: 600; }
.fxb-msg.is-typing { display: inline-flex; gap: 4px; padding: 13px 14px; }
.fxb-msg.is-typing i { width: 7px; height: 7px; border-radius: 50%; background: #a3abc6; animation: fxb-dot 1s infinite; }
.fxb-msg.is-typing i:nth-child(2) { animation-delay: .15s; } .fxb-msg.is-typing i:nth-child(3) { animation-delay: .3s; }
.fxb-wa { display: inline-block; margin-top: 8px; padding: 8px 14px; border-radius: 999px; background: #25d366; color: #fff !important; text-decoration: none; }
.fxb-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px 4px; background: #f5f7fb; max-height: 132px; overflow-y: auto; }
.fxb-chips:empty { display: none; }
.fxb-chips button { border: 1px solid #cfd5e3; background: #fff; color: #23305c; font: 600 13px/1.2 inherit; padding: 8px 12px; border-radius: 999px; cursor: pointer; }
.fxb-chips button:hover { border-color: #e0533a; color: #e0533a; }
.fxb-input { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid #e3e7f0; background: #fff; }
.fxb-input input { flex: 1; min-width: 0; height: 42px; border: 1px solid #cfd5e3; border-radius: 999px; padding: 0 16px; font: 500 14px inherit; color: #23305c; outline: none; }
.fxb-input input:focus { border-color: #33406a; box-shadow: 0 0 0 3px rgba(51,64,106,.12); }
.fxb-input button { width: 42px; height: 42px; border: 0; border-radius: 50%; background: #e0533a; color: #fff; font-size: 16px; cursor: pointer; }
.fxb-foot { text-align: center; padding: 0 12px 10px; background: #fff; font-size: 12.5px; }
.fxb-foot a { color: #6b7290; text-decoration: none; }
.fxb-foot a:hover { color: #25d366; }
@keyframes fxb-pop { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes fxb-dot { 0%, 80%, 100% { opacity: .3; } 40% { opacity: 1; } }
@media (max-width: 480px) {
  .fxb { left: 12px; bottom: 12px; }
  .fxb-launch { height: 46px; padding: 0 16px 0 13px; font-size: 14px; }
  .fxb.is-open { left: 0; right: 0; bottom: 0; }
  .fxb-panel { width: 100vw; height: calc(100dvh - 60px); border-radius: 18px 18px 0 0; }
}
@media (prefers-reduced-motion: reduce) { .fxb-panel, .fxb-msg.is-typing i { animation: none; } }

/* header Login button visible on phones (was hidden in the burger menu only) */
@media (max-width: 1199px) {
  .fx-header-actions .fx-login-btn { display: inline-flex; padding: 8px 12px; }
}
@media (max-width: 380px) { .fx-header-actions .fx-login-btn .fa-user-circle { display: none; } }
