/* Creative-owned launcher. No vendor selectors or iframe styling. */

.creative-chat-launcher-host {
  --creative-chat-edge: 20px;
  --creative-chat-clearance: 12px;
  --creative-chat-safe-bottom: env(safe-area-inset-bottom, 0px);
  --creative-chat-safe-left: env(safe-area-inset-left, 0px);
  --creative-chat-safe-right: env(safe-area-inset-right, 0px);
  --creative-chat-lift: 0px;
  position: fixed;
  left: var(--creative-chat-layout-left, calc(var(--creative-chat-edge) + var(--creative-chat-safe-left)));
  bottom: calc(var(--creative-chat-edge) + var(--creative-chat-safe-bottom) + var(--creative-chat-lift));
  z-index: 70;
  width: max-content;
  max-width: calc(100vw - 24px);
  margin: 0;
  padding: 0;
  border: 0;
  visibility: hidden;
  pointer-events: none;
}
.creative-chat-launcher-host[data-layout-ready="true"][data-native-link-ready="true"]:not([data-layout-hidden="true"]) { visibility: visible; }
.creative-chat-launcher-host[data-layout-hidden="true"] { visibility: hidden; }
.creative-chat-launcher-host .creative-chat-launcher-face {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 48px;
  height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 999px;
  background: #E83F43;
  color: #FFFFFF;
  font-family: 'Manrope Variable', 'XF1 Inter', Manrope, Arial, sans-serif;
  font-size: 19px;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 4px 18px rgba(0,0,0,.18);
  cursor: pointer;
  pointer-events: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: box-shadow 140ms ease;
}
.creative-chat-launcher-host:has(> .creative-chat-launcher:hover) .creative-chat-launcher-face {
  background: #E83F43;
  color: #FFFFFF;
  text-decoration: none;
  box-shadow: 0 5px 20px rgba(0,0,0,.26);
}
.creative-chat-launcher-host:has(> .creative-chat-launcher:focus-visible) .creative-chat-launcher-face {
  outline: 3px solid #212121;
  outline-offset: 3px;
}
.creative-chat-launcher-host .creative-chat-launcher-icon {
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 767px) {
  .creative-chat-launcher-host { --creative-chat-edge: 12px; }
  .creative-chat-launcher-host .creative-chat-launcher-face { width: 48px; padding: 0; }
  .creative-chat-launcher-host .creative-chat-launcher-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .creative-chat-launcher-host .creative-chat-launcher-face { transition: none; }
}
@media (forced-colors: active) {
  .creative-chat-launcher-host .creative-chat-launcher-face { border: 2px solid ButtonText; }
}
/* This anchor is our public generator placeholder. Generated descendants are untouched. */
.creative-chat-launcher-host > a.creative-chat-launcher {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  overflow: hidden;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
}

/* Reading-zone and native footer clearance share the existing owned placement. */
.creative-chat-launcher-host[data-reading-zone-active="true"],
.creative-chat-launcher-host[data-footer-actions-active="true"] { left: var(--creative-chat-reading-left); }
.creative-chat-launcher-host[data-reading-compact="true"] .creative-chat-launcher-face { width: 48px; padding: 0; }
.creative-chat-launcher-host[data-reading-compact="true"] .creative-chat-launcher-label {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap;
}
