details.insights-marketing-chat {
  box-sizing: border-box;
  width: min(100%, var(--im-chat-width, 24rem));
  margin: 0;
  color: #17364a;
  font: inherit;
  text-align: left;
}

details.insights-marketing-chat > summary {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 48px;
  max-width: 100%;
  padding: .65rem 1rem;
  border: 1px solid transparent;
  border-radius: 2rem;
  background: var(--im-chat-color, #105747);
  color: var(--im-chat-ink, #fff);
  cursor: pointer;
  list-style: none;
  font-size: .95rem;
  font-weight: 650;
  line-height: 1.25;
  text-align: center;
  text-transform: none;
  overflow-wrap: anywhere;
  box-shadow: 0 .22rem .75rem #17364a32;
}

.insights-marketing-chat > summary::-webkit-details-marker { display: none; }
.insights-marketing-chat > summary::marker { content: ""; }
.insights-marketing-chat:not([open]) .insights-marketing-chat-close,
.insights-marketing-chat:not([open]) .insights-marketing-chat-close-icon,
.insights-marketing-chat[open] .insights-marketing-chat-open,
.insights-marketing-chat[open] .insights-marketing-chat-open-icon { display: none; }
.insights-marketing-chat-open-icon,
.insights-marketing-chat-close-icon { display: grid; flex: 0 0 auto; place-items: center; }
.insights-marketing-chat-close-icon { width: 20px; height: 20px; font: 1.4rem/1 system-ui, sans-serif; }
.insights-marketing-chat[data-launcher="circle"] > summary { width: 3.25rem; min-height: 3.25rem; padding: 0; }
.insights-marketing-chat[data-launcher="circle"] :is(.insights-marketing-chat-open, .insights-marketing-chat-close) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.insights-marketing-chat[data-font="humanist"],
.insights-marketing-chat-shell[data-font="humanist"] { font-family: "Trebuchet MS", "Segoe UI", sans-serif; }
.insights-marketing-chat[data-font="serif"],
.insights-marketing-chat-shell[data-font="serif"] { font-family: Georgia, "Times New Roman", serif; }
.insights-marketing-chat > summary:focus-visible,
.insights-marketing-chat .insights-marketing-chat-link:focus-visible,
.insights-marketing-chat-teaser button:focus-visible {
  outline: 3px solid #245d86;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px #fff;
}

.insights-marketing-chat-panel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  margin: .6rem 0 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #b8ccd4;
  border-radius: var(--im-chat-radius, .9rem);
  background: var(--im-chat-surface, #f5f9fc);
  box-shadow: 0 .65rem 1.8rem #17364a2b;
}

.insights-marketing-chat-header {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .85rem .95rem;
  background: var(--im-chat-color, #105747);
  color: var(--im-chat-ink, #fff);
  text-align: left;
}

.insights-marketing-chat-header > * { min-width: 0; }

.insights-marketing-chat .insights-marketing-chat-avatar,
.insights-marketing-chat-teaser .insights-marketing-chat-avatar {
  display: block;
  flex: 0 0 2.5rem;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  object-fit: cover;
}

.insights-marketing-chat .insights-marketing-chat-title,
.insights-marketing-chat .insights-marketing-chat-greeting {
  display: block;
  margin: 0;
  color: inherit;
  text-transform: none;
  overflow-wrap: anywhere;
}

.insights-marketing-chat .insights-marketing-chat-title { font-size: 1.05rem; font-weight: 700; line-height: 1.25; }
.insights-marketing-chat .insights-marketing-chat-greeting { margin-top: .2rem; font-size: .875rem; line-height: 1.45; }

.insights-marketing-chat iframe {
  box-sizing: border-box;
  display: block;
  flex: 0 1 auto;
  width: 100%;
  max-width: 100%;
  min-height: min(9rem, 37vh);
  height: min(var(--im-chat-height, 29rem), calc(100vh - 5rem));
  height: min(var(--im-chat-height, 29rem), calc(100dvh - 5rem));
  margin: 0;
  border: 0;
  background: var(--im-chat-surface, #f3f8fc);
}

/* WordPress page caches may still serve the previous bare iframe markup. */
.insights-marketing-chat > iframe {
  margin-top: .6rem;
  border: 1px solid #b8ccd4;
  border-radius: .9rem;
}

.insights-marketing-chat .insights-marketing-chat-link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 44px;
  padding: .3rem .75rem;
  border-top: 1px solid #c9d9e0;
  background: #fff;
  color: #164d6f;
  font-size: .875rem;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: .15em;
}

.insights-marketing-chat-shell,
details.insights-marketing-chat--floating {
  --im-chat-left-space: max(.75rem, env(safe-area-inset-left));
  --im-chat-right-space: max(.75rem, env(safe-area-inset-right));
  --im-chat-bottom-space: max(.75rem, env(safe-area-inset-bottom));
  position: fixed;
  right: var(--im-chat-right-space);
  bottom: var(--im-chat-bottom-space);
  left: auto;
  z-index: 1000;
  width: min(var(--im-chat-width, 24rem), calc(100vw - var(--im-chat-left-space) - var(--im-chat-right-space)));
  text-align: right;
  pointer-events: none;
}

.insights-marketing-chat-shell[data-position="left"],
.insights-marketing-chat-shell--left,
details.insights-marketing-chat--floating.insights-marketing-chat--left {
  right: auto;
  left: var(--im-chat-left-space);
  text-align: left;
}

.insights-marketing-chat-shell:has(> details.insights-marketing-chat--left) {
  right: auto;
  left: var(--im-chat-left-space);
}

.insights-marketing-chat-shell > details.insights-marketing-chat--floating {
  position: relative;
  inset: auto;
  z-index: auto;
  width: 100%;
}

.insights-marketing-chat--floating > summary,
.insights-marketing-chat--floating > iframe,
.insights-marketing-chat--floating > noscript,
.insights-marketing-chat--floating .insights-marketing-chat-panel { pointer-events: auto; }
.insights-marketing-chat--floating .insights-marketing-chat-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + .65rem);
  left: 0;
  max-height: calc(100vh - var(--im-chat-bottom-space) - 3.8rem);
  max-height: calc(100dvh - var(--im-chat-bottom-space) - 3.8rem);
  margin: 0;
}

.insights-marketing-chat-teaser {
  box-sizing: border-box;
  position: absolute;
  right: 0;
  bottom: calc(100% + .65rem);
  display: flex;
  align-items: center;
  gap: .25rem;
  width: min(20rem, 100%);
  max-height: calc(100dvh - var(--im-chat-bottom-space) - 4.5rem);
  padding: .43rem .33rem .43rem .53rem;
  overflow: auto;
  border: 1px solid #b8ccd4;
  border-radius: var(--im-chat-radius, .9rem);
  background: var(--im-chat-surface, #f5f9fc);
  color: var(--im-chat-surface-ink, #17364a);
  box-shadow: 0 .45rem 1.35rem #17364a24;
  font-size: .875rem;
  line-height: 1.4;
  text-align: left;
  overflow-wrap: anywhere;
  pointer-events: auto;
}

.insights-marketing-chat-shell[data-position="left"] > .insights-marketing-chat-teaser,
.insights-marketing-chat-shell--left > .insights-marketing-chat-teaser { right: auto; left: 0; }
.insights-marketing-chat-shell:has(> details.insights-marketing-chat--left) > .insights-marketing-chat-teaser { right: auto; left: 0; }
.insights-marketing-chat-shell:has(> details[open]) > .insights-marketing-chat-teaser,
.insights-marketing-chat-teaser[hidden] { display: none; }

.insights-marketing-chat-teaser .insights-marketing-chat-greeting { flex: 1 1 auto; min-width: 0; margin: 0; }
.insights-marketing-chat-teaser .insights-marketing-chat-teaser-message {
  appearance: none;
  display: flex;
  align-items: center;
  gap: .55rem;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: .2rem;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: .45rem;
  font: inherit;
  line-height: 1.4;
  text-align: start;
  text-transform: none;
  overflow-wrap: anywhere;
  cursor: pointer;
}
.insights-marketing-chat-teaser-avatar {
  display: grid;
  flex: 0 0 2.5rem;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  color: var(--im-chat-ink, #fff);
  background: var(--im-chat-color, #105747);
  border-radius: 50%;
}
.insights-marketing-chat-teaser [data-insights-dismiss-teaser] {
  box-sizing: border-box;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 1.2rem;
  cursor: pointer;
}

@media (prefers-reduced-motion: no-preference) {
  details.insights-marketing-chat[open] .insights-marketing-chat-panel {
    animation: im-chat-panel-in .16s ease-out;
  }
  @keyframes im-chat-panel-in {
    from { opacity: 0; transform: translateY(.25rem); }
    to { opacity: 1; transform: translateY(0); }
  }
}
