/* Self-contained Make chat. All selectors are scoped to avoid changing old pages. */
#os-chat-widget, #os-chat-widget * { box-sizing: border-box; }
#os-chat-widget { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1d2a33; }
#os-chat-widget button, #os-chat-widget input { font-family: inherit; }
#os-chat-widget button { cursor: pointer; }
#os-chat-widget .os-chat-fab {
  position: fixed; right: 22px; bottom: 22px; z-index: 1000;
  display: inline-flex; align-items: center; gap: 10px;
  max-width: calc(100vw - 32px); padding: 14px 20px 14px 16px;
  border: 0; border-radius: 999px; background: #2e9bd6; color: #fff;
  box-shadow: 0 14px 30px rgba(23,97,143,.35);
  font-size: 15px; font-weight: 700; line-height: 1.3;
}
#os-chat-widget .os-chat-fab:hover { background: #17618f; }
#os-chat-widget .os-chat-avatar { position: relative; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; animation: osChatBob 3.4s ease-in-out infinite; }
#os-chat-widget .os-chat-avatar img { display: block; position: relative; z-index: 2; width: 40px; height: 40px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; }
#os-chat-widget .os-chat-avatar::before { content: ""; position: absolute; inset: -6px; border: 2px solid rgba(255,255,255,.75); border-radius: 50%; animation: osChatRing 2.2s ease-out infinite; }
#os-chat-widget .os-chat-avatar::after { content: ""; position: absolute; right: -1px; bottom: -1px; z-index: 3; width: 11px; height: 11px; border: 2px solid #fff; border-radius: 50%; background: #54d18b; }
#os-chat-widget .os-chat-dots { display: inline-flex; gap: 3px; }
#os-chat-widget .os-chat-dots i { display: block; width: 4px; height: 4px; border-radius: 50%; background: #fff; animation: osChatDots 1.4s ease-in-out infinite; }
#os-chat-widget .os-chat-dots i:nth-child(2) { animation-delay: .2s; }
#os-chat-widget .os-chat-dots i:nth-child(3) { animation-delay: .4s; }
#os-chat-widget .os-chat-panel {
  position: fixed; right: 22px; bottom: 22px; z-index: 1001;
  display: flex; flex-direction: column;
  width: min(384px, calc(100vw - 32px)); max-height: calc(100vh - 28px);
  overflow: hidden; border-radius: 24px; background: #fff;
  box-shadow: 0 26px 70px rgba(6,30,46,.28);
}
#os-chat-widget .os-chat-panel[hidden], #os-chat-widget .os-chat-fab[hidden] { display: none !important; }
#os-chat-widget .os-chat-head { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; padding: 16px 18px; background: linear-gradient(135deg,#2e9bd6,#17618f); color: #fff; }
#os-chat-widget .os-chat-head-avatar { display: block; flex: 0 0 42px; width: 42px; height: 42px; overflow: hidden; border-radius: 50%; background: #fff; }
#os-chat-widget .os-chat-head-avatar img { display: block; width: 42px; height: 42px; object-fit: cover; }
#os-chat-widget .os-chat-head-copy { display: block; min-width: 0; line-height: 1.35; }
#os-chat-widget .os-chat-head-copy b { display: block; color: #fff; font-size: 15px; }
#os-chat-widget .os-chat-head-copy small { display: block; margin-top: 3px; color: #cfe9f8; font-size: 12px; }
#os-chat-widget .os-chat-head-copy small::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: #54d18b; }
#os-chat-widget .os-chat-close { flex: 0 0 32px; width: 32px; height: 32px; margin-left: auto; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.18); color: #fff; font-size: 20px; line-height: 1; }
#os-chat-widget .os-chat-body { display: flex; flex-direction: column; gap: 12px; min-height: 100px; max-height: min(56vh,420px); padding: 16px; overflow-y: auto; background: #f4f8fb; }
#os-chat-widget .os-chat-message { max-width: 86%; padding: 12px 14px; border-radius: 16px; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; box-shadow: 0 6px 18px rgba(23,97,143,.08); }
#os-chat-widget .os-chat-message-bot { align-self: flex-start; border: 1px solid #dce8f0; border-bottom-left-radius: 6px; background: #fff; }
#os-chat-widget .os-chat-message-me { align-self: flex-end; border-bottom-right-radius: 6px; background: #2e9bd6; color: #fff; }
#os-chat-widget .os-chat-contacts { padding: 14px; border: 1px solid #dce8f0; border-radius: 16px; background: #fff; box-shadow: 0 6px 18px rgba(23,97,143,.08); }
#os-chat-widget .os-chat-contacts b { display: block; font-size: 15px; }
#os-chat-widget .os-chat-contacts p { margin: 4px 0 0; color: #65798a; font-size: 13px; line-height: 1.5; }
#os-chat-widget .os-chat-contacts-row { display: flex; gap: 8px; margin-top: 10px; }
#os-chat-widget .os-chat-contacts-row input { flex: 1; min-width: 0; width: 50%; height: 42px; padding: 10px 12px; border: 1px solid #dce8f0; border-radius: 12px; background: #f4f8fb; color: #1d2a33; font-size: 14px; }
#os-chat-widget .os-chat-save { width: 100%; min-height: 42px; margin-top: 10px; padding: 10px 14px; border: 0; border-radius: 999px; background: #e23d2e; color: #fff; font-size: 14px; font-weight: 700; }
#os-chat-widget .os-chat-save:disabled { opacity: .6; cursor: wait; }
#os-chat-widget .os-chat-quick { display: flex; flex-wrap: wrap; gap: 7px; flex: 0 0 auto; padding: 0 16px 12px; background: #f4f8fb; }
#os-chat-widget .os-chat-quick button { padding: 8px 12px; border: 1px solid #dce8f0; border-radius: 999px; background: #fff; color: #17618f; font-size: 13px; font-weight: 600; }
#os-chat-widget .os-chat-form { display: flex; gap: 9px; flex: 0 0 auto; margin: 0; padding: 12px 14px 16px; border-top: 1px solid #dce8f0; background: #fff; }
#os-chat-widget .os-chat-form input { flex: 1; min-width: 0; height: 46px; padding: 11px 16px; border: 1px solid #dce8f0; border-radius: 999px; background: #f4f8fb; color: #1d2a33; font-size: 15px; }
#os-chat-widget .os-chat-form input:focus, #os-chat-widget .os-chat-contacts-row input:focus { outline: 2px solid #2e9bd6; outline-offset: 1px; background: #fff; }
#os-chat-widget .os-chat-send { flex: 0 0 46px; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: #e23d2e; color: #fff; font-size: 20px; box-shadow: 0 10px 22px rgba(226,61,46,.28); }
#os-chat-widget .os-chat-send:hover, #os-chat-widget .os-chat-save:hover { background: #be2c1f; }
@keyframes osChatBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes osChatRing { 0% { transform: scale(.85); opacity: .85; } 100% { transform: scale(1.35); opacity: 0; } }
@keyframes osChatDots { 0%,100% { opacity: .3; } 50% { opacity: 1; transform: translateY(-2px); } }
@media (max-width: 620px) {
  #os-chat-widget .os-chat-panel { right: 10px; bottom: 10px; width: calc(100vw - 20px); max-height: calc(100vh - 20px); }
  #os-chat-widget .os-chat-fab { right: 14px; bottom: 14px; padding: 12px 16px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  #os-chat-widget .os-chat-avatar, #os-chat-widget .os-chat-avatar::before, #os-chat-widget .os-chat-dots i { animation: none; }
}
