.cfl-chat-launcher {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 1001;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  border: 0;
  border-radius: 999px;
  padding: .85rem 1.15rem;
  color: #fff;
  background: #176451;
  box-shadow: 0 14px 36px rgba(18, 57, 49, .28);
  font-family: inherit;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.1;
  cursor: pointer;
}
.cfl-chat-launcher[hidden] { display: none; }
.cfl-chat-launcher:hover, .cfl-chat-launcher:focus-visible { background: #104c3d; }
.cfl-chat-launcher:focus-visible { outline: 3px solid #f4c95d; outline-offset: 3px; }
.cfl-chat-launcher.is-open { background: #263f39; }
.cfl-chat-shell {
  position: fixed;
  right: 1.25rem;
  bottom: 5.15rem;
  z-index: 1000;
  width: min(400px, calc(100vw - 2rem));
  height: min(650px, calc(100vh - 7rem));
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(18, 57, 49, .3);
}
.cfl-chat-shell[hidden] { display: none; }
.cfl-chat-frame { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 560px) {
  .cfl-chat-shell { inset: 0; width: 100%; height: 100%; border-radius: 0; }
  .cfl-chat-launcher.is-open { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cfl-chat-launcher { scroll-behavior: auto; }
}
