.lids-chat-anchor {
  position: fixed;
  z-index: 9999;
  bottom: max(20px, env(safe-area-inset-bottom, 0px));
  right: max(20px, env(safe-area-inset-right, 0px));
  width: 68px;
  height: 68px;
}

.lids-chat-anchor[dir="rtl"] {
  right: auto;
  left: max(20px, env(safe-area-inset-left, 0px));
}

.lids-chat-pulse {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  border: 1.5px solid #38bdf8;
  animation: lids-pulse 2.4s ease-out infinite;
  pointer-events: none;
}

.lids-chat-anchor[dir="rtl"] .lids-chat-pulse {
  right: auto;
  left: 0;
}

df-messenger.lids-chat-messenger {
  position: absolute !important;
  bottom: 0;
  right: 0;
  z-index: 1;
  display: block;

  --df-messenger-font-family: 'Heebo', ui-sans-serif, system-ui, sans-serif;
  --df-messenger-font-size: 14px;
  --df-messenger-font-color: #0A2540;
  --df-messenger-primary-color: #5650E8;
  --df-messenger-focus-color: #5650E8;
  --df-messenger-focus-color-contrast: #ffffff;

  --df-messenger-chat-border: 1px solid #E3E8EE;
  --df-messenger-chat-border-radius: 18px;
  --df-messenger-chat-background: #F6F9FC;
  --df-messenger-chat-padding: 14px;

  --df-messenger-titlebar-background: #5650E8;
  --df-messenger-titlebar-font-color: #ffffff;
  --df-messenger-titlebar-title-font-family: 'Heebo', sans-serif;
  --df-messenger-titlebar-title-font-size: 16px;
  --df-messenger-titlebar-title-font-weight: 600;
  --df-messenger-titlebar-subtitle-font-color: rgba(255, 255, 255, 0.85);
  --df-messenger-titlebar-subtitle-font-size: 12px;
  --df-messenger-titlebar-icon-width: 36px;
  --df-messenger-titlebar-icon-height: 36px;
  --df-messenger-titlebar-icon-padding: 0 12px 0 0;

  --df-messenger-message-font-family: 'Heebo', sans-serif;
  --df-messenger-message-border-radius: 16px;
  --df-messenger-message-bot-background: #ffffff;
  --df-messenger-message-bot-font-color: #0A2540;
  --df-messenger-message-bot-border: 1px solid #E3E8EE;
  --df-messenger-message-user-background: #E8E6FF;
  --df-messenger-message-user-font-color: #0A2540;
  --df-messenger-message-spacing: 14px;
  --df-messenger-message-stack-spacing: 4px;

  --df-messenger-message-actor-spacing: 12px;
  --df-messenger-message-actor-image-size: 42px;
  --df-messenger-message-actor-border-radius: 999px;
  --df-messenger-message-bot-actor-background: #ffffff;
  --df-messenger-message-bot-actor-border: 2px solid #E8E6FF;
  --df-messenger-message-bot-writing-background: #ffffff;
  --df-messenger-message-bot-writing-border: 1px solid #E3E8EE;

  --df-messenger-input-background: #ffffff;
  --df-messenger-input-font-color: #0A2540;
  --df-messenger-input-placeholder-font-color: #5E6B7A;
  --df-messenger-input-border: 1px solid #E3E8EE;
  --df-messenger-input-border-radius: 12px;

  --df-messenger-chat-bubble-background: #ffffff;
  --df-messenger-chat-bubble-size: 68px;
  --df-messenger-chat-bubble-border-radius: 34px;
  --df-messenger-chat-bubble-border: none;
  --df-messenger-chat-bubble-box-shadow: 0 10px 32px rgba(86, 80, 232, 0.28);
  --df-messenger-chat-window-width: min(380px, calc(100vw - 40px));
  --df-messenger-chat-window-height: min(560px, calc(100dvh - 112px));
  --df-messenger-chat-window-offset: 14px;
  --df-messenger-chat-window-box-shadow: 0 16px 48px rgba(10, 37, 64, 0.18);
}

.lids-chat-anchor[dir="rtl"] df-messenger.lids-chat-messenger {
  right: auto;
  left: 0;
}

df-messenger.lids-chat-messenger[dir="rtl"] {
  direction: rtl;
  --df-messenger-titlebar-title-align: end;
  --df-messenger-titlebar-title-order: row-reverse;
  --df-messenger-titlebar-icon-padding: 0 0 0 12px;
  --df-messenger-message-bot-actor-order: row-reverse;
  --df-messenger-message-user-actor-order: row;
}

df-messenger.lids-chat-ready {
  animation: lids-chat-fade-in 0.35s ease;
}

@keyframes lids-pulse {
  0%   { transform: scale(1);    opacity: 0.5; }
  70%  { transform: scale(1.18); opacity: 0;   }
  100% { transform: scale(1.18); opacity: 0;   }
}

@keyframes lids-chat-fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 520px) {
  .lids-chat-anchor,
  .lids-chat-anchor[dir="rtl"] {
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
  }

  .lids-chat-anchor {
    right: max(12px, env(safe-area-inset-right, 0px));
  }

  .lids-chat-anchor[dir="rtl"] {
    left: max(12px, env(safe-area-inset-left, 0px));
  }

  df-messenger.lids-chat-messenger {
    --df-messenger-chat-window-width: calc(100vw - 24px);
    --df-messenger-chat-window-height: calc(100dvh - 96px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .lids-chat-pulse,
  df-messenger.lids-chat-ready {
    animation: none;
  }
}
