/**
 * Bestway floating chat — WordPress companion styles
 * Hosted: https://sliderule.bestwayoilfield.com/wp-chat-float.css
 * Pair with wp-chat-float.js
 */

/* Trigger: bottom-right, transparent, sized for background-image CTA */
#chat-trigger.et_pb_section,
#chat-trigger.bw-chat-trigger-host {
  background: transparent !important;
  width: 200px !important;
  max-width: min(200px, calc(100vw - 40px)) !important;
  height: 75px !important;
  left: auto !important;
  right: 20px !important;
  bottom: 20px !important;
  top: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  position: fixed !important;
  z-index: 999990 !important;
  pointer-events: none !important;
}

#chat-trigger .et_pb_row {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  pointer-events: auto !important;
  cursor: pointer;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center right !important;
}

#chat-trigger .et_pb_column,
#chat-trigger .et_pb_module {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Unread badge on trigger */
.bw-chat-badge {
  display: none;
  position: absolute;
  top: 8px;
  right: 8px;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: #ce3344;
  color: #fff;
  font: 700 0.75rem/1.35rem "Segoe UI", system-ui, sans-serif;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  pointer-events: none;
  z-index: 2;
}
.bw-chat-badge.is-on {
  display: block;
}
#chat-trigger {
  position: fixed !important;
}

/* Hide trigger while expanded */
body.bw-chat-expanded #chat-trigger {
  opacity: 0;
  pointer-events: none !important;
}

/* Panel host — never a Divi modal */
#chat-window.bw-chat-panel,
#chat-window.et_pb_section {
  background: #0a1524 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  z-index: 1000002 !important;
}

/* Minimized / closed: keep iframe alive off-screen (polling continues) */
#chat-window.is-minimized,
body:not(.bw-chat-expanded) #chat-window.bw-chat-panel,
body:not(.bw-chat-expanded) #chat-window.et_pb_section {
  position: fixed !important;
  width: 2px !important;
  height: 2px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  left: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  overflow: hidden !important;
  transform: none !important;
  /* Do not use display:none — that can pause the iframe */
}

/* Expanded: bottom-right chat card (clears 200×75 CTA) */
body.bw-chat-expanded #chat-window,
body.bw-chat-expanded #chat-window.bw-chat-panel,
body.bw-chat-expanded #chat-window.et_pb_section,
#chat-window.is-expanded {
  position: fixed !important;
  inset: auto 20px 108px auto !important;
  top: auto !important;
  left: auto !important;
  right: 20px !important;
  bottom: 108px !important;
  width: min(420px, calc(100vw - 32px)) !important;
  max-width: 420px !important;
  height: min(560px, calc(100dvh - 140px)) !important;
  max-height: min(620px, calc(100dvh - 140px)) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  display: block !important;
  margin: 0 !important;
  flex: none !important;
}

#chat-window .et_pb_row,
#chat-window .et_pb_column,
#chat-window .et_pb_module,
#chat-window .et_pb_code,
#chat-window .et_pb_code_inner {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

#chat-window iframe,
#bw-support-chat-iframe {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 280px;
  border: 0;
  background: #0a1524;
}

/* Our minimize control (replaces Divi ×) */
.bw-chat-min {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 5;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.bw-chat-min:hover {
  background: rgba(0, 0, 0, 0.55);
}

/* Never dim / lock the page for chat */
body.bw-chat-expanded,
html.bw-chat-expanded {
  overflow: visible !important;
  height: auto !important;
  padding-right: 0 !important;
}
body.bw-chat-expanded .da-overlay,
body.da-popup-visible:has(#chat-window) .da-overlay {
  display: none !important;
  pointer-events: none !important;
}

@media (max-width: 480px) {
  #chat-trigger.et_pb_section,
  #chat-trigger.bw-chat-trigger-host {
    width: min(200px, calc(100vw - 24px)) !important;
    height: 75px !important;
    right: 12px !important;
    bottom: 12px !important;
  }

  body.bw-chat-expanded #chat-window,
  body.bw-chat-expanded #chat-window.bw-chat-panel,
  #chat-window.is-expanded {
    inset: auto 12px 100px 12px !important;
    right: 12px !important;
    bottom: 100px !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
  }
}
