/*
  Lead Magnet Pop Up — CSS
*/

/* Overlay container */
.lead-magnet-pop-up {
  position: fixed !important;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100vw;
  background: rgba(0, 0, 0, 0.70);
  z-index: 99999;
  display: none;
}

/* Inner content (pop up) */
.lead-magnet-pop-up .popup-content,
.lead-magnet-pop-up .form-content {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  color: #000;
  padding: 65px 30px 30px;
  width: auto;
  min-width: 250px;
  max-width: 705px;
  height: auto;
  max-height: 98vh;
  overflow-y: auto;
  box-sizing: border-box;
}

#fixed.lead-magnet-pop-up.active {
  position: fixed !important;
  bottom: 15px !important;
  right: 15px !important;
  top: unset !important;
  left: unset !important;
  width: auto;
  height: auto !important;
  background: #fff !important;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  z-index: 10000;
  border-radius: 10px;
  overflow: hidden;
}

#fixed.lead-magnet-pop-up.active .form-content {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  overflow-y: auto;
  min-width: 300px;
  box-sizing: border-box;
}

/* Headings & text basics */
.lead-magnet-pop-up h3 {
  margin: 0;
  color: #000;
  white-space: nowrap;
}
.lead-magnet-pop-up p,
.lead-magnet-pop-up form { margin: 0; }

/* Close button */
.lead-magnet-pop-up .close {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  font-size: 24px;
  padding: 25px;
  line-height: 1;
}

/* Disclaimer color */
.lead-magnet-pop-up .disclaimer { color: #c9252c; }

/* Scroll lock while pop up active */
body:has(.lead-magnet-pop-up.active) { overflow: hidden; }

/* Stacking context helper (theme safe) */
.bt-content-wrap:has(.lead-magnet-pop-up.active) {
  position: relative;
  z-index: 10003;
}

/* GF/CF7 alignment & spacing tweaks */
.lead-magnet-pop-up .gform_wrapper form,
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
  text-align: left !important;
}
.lead-magnet-pop-up .gform_wrapper .top_label .gfield:not(.hidden_label) .gfield_label {
  display: flex !important;
}
.lead-magnet-pop-up .gform_wrapper .top_label .hidden_label .gfield_label { display: none; }
.lead-magnet-pop-up .gfield { text-align: left; }

.lead-magnet-pop-up .form-content:has(.gfield--width-half) { min-width: 700px; }
.lead-magnet-pop-up .form-content:has(form) { min-width: 380px; }

.lead-magnet-pop-up .gform_title { display: none; }
.lead-magnet-pop-up .gform_wrapper.gravity-theme .gform_footer,
.lead-magnet-pop-up .gform_wrapper.gravity-theme .gform_page_footer { padding-bottom: 0; }
.lead-magnet-pop-up input[type="submit"]:not(.um input) { width: auto !important; margin-top: 10px; }
.lead-magnet-pop-up input:not(input[type="submit"], input[type="checkbox"]) { margin: 0 0 20px 0; }
.lead-magnet-pop-up .wpcf7 form .wpcf7-response-output { margin: 50px 0 0; }

/* Date inputs sizing */
.lead-magnet-pop-up .gform_wrapper.gravity-theme .ginput_container_date input,
.site-content .lead-magnet-pop-up input[type="date"],
.lead-magnet-pop-up .wpcf7-form-control-wrap:has(input[type="date"]) {
  width: 100%;
  vertical-align: middle;
}
.lead-magnet-pop-up div:has(input[type="date"]) label { vertical-align: middle; }
.site-content .lead-magnet-pop-up input[type="date"] { margin: 0; }

/* Shared buttons micro-anim */
.lead-magnet-pop-up .buttons { display: flex; gap: 12px; margin-top: 20px; }
.lead-magnet-pop-up .button,
.lead-magnet-pop-up button { transition: transform .2s ease, filter .2s ease; }
.lead-magnet-pop-up .button:hover,
.lead-magnet-pop-up button:hover {
  transform: scale(1.05);
  filter: brightness(0.96);
}

/* API error layout */
.lead-magnet-pop-up .popup-content:has(.api-error),
.lead-magnet-pop-up .form-content:has(.api-error) { min-width: 510px; }
.lead-magnet-pop-up .api-error { color: #c9252c; }

/* Custom scrollbars (WebKit) — fixed selector */
.lead-magnet-pop-up .popup-content::-webkit-scrollbar,
.lead-magnet-pop-up .form-content::-webkit-scrollbar { width: 12px; }
.lead-magnet-pop-up .popup-content::-webkit-scrollbar-track,
.lead-magnet-pop-up .form-content::-webkit-scrollbar-track {
  background: #f0f0f0;
  border-radius: 20px;
}
.lead-magnet-pop-up .popup-content::-webkit-scrollbar-thumb,
.lead-magnet-pop-up .form-content::-webkit-scrollbar-thumb {
  background: #d3d3d3;
  border-radius: 20px;
}

/* Firefox scrollbars */
.lead-magnet-pop-up .popup-content,
.lead-magnet-pop-up .form-content {
  scrollbar-width: thin;
  scrollbar-color: #d3d3d3 #f0f0f0;
}

/* =========================================
   Launchers
   ========================================= */

/* Fixed floating launcher (chatbot style) */
.lead-magnet-launcher-fixed {
  display: flex;
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: var(--e-global-color-accent, #0073e6);
  color: #fff;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 50px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.3);
  cursor: pointer;
  z-index: 10001;
  font-size: 16px;
  transition: transform .2s ease, filter .2s ease;
}
.lead-magnet-launcher-fixed:hover { filter: brightness(1.1); }
.lead-magnet-launcher-fixed:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(0,115,230,.35);
}
.lead-magnet-launcher-fixed .chat-icon { font-size: 20px; line-height: 1; }

/* Inline launcher (button_display="inline") */
.lead-magnet-launcher-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  font: inherit;
  color: #fff;
  background: var(--e-global-color-accent, #0073e6);
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
  transition: transform .2s ease, filter .2s ease;
}
.lead-magnet-launcher-inline:hover { filter: brightness(1.08); }
.lead-magnet-launcher-inline:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(0,115,230,.35);
}

/* =========================================
   Responsive
   ========================================= */

/* Tablet */
@media screen and (max-width: 1000px) and (min-width: 580px) {
  .lead-magnet-pop-up .gform_body { max-width: 100% !important; }
  .lead-magnet-pop-up h3 { white-space: normal; }
}

@media screen and (max-width: 770px) {

 #fixed.lead-magnet-pop-up.active {
    position: fixed !important;
    bottom: 0px !important;
    right: 0px !important;
    top: unset !important;
    left: unset !important;
    width: 100%;
  }

  #fixed.lead-magnet-pop-up.active .form-content {
    width: 99vw;
    max-width: 99vw;
    max-height: 90vh;
    min-width: 95vw;
  }
}

/* Mobile */
@media screen and (max-width: 580px) {

  .lead-magnet-pop-up .popup-content:has(.gfield--width-half),
  .lead-magnet-pop-up .popup-content:has(.api-error),
  .lead-magnet-pop-up .popup-content,
  .lead-magnet-pop-up .form-content:has(.gfield--width-half),
  .lead-magnet-pop-up .form-content:has(.api-error),
  .lead-magnet-pop-up .form-content:has(form),
  .lead-magnet-pop-up .form-content {
    width: 100vw;
    max-width: 99vw;
    max-height: 90vh;
    min-width: unset;
  }
  .lead-magnet-pop-up .gform_body { max-width: 100% !important; }
  .lead-magnet-pop-up .popup-content:has(.api-error),
  .lead-magnet-pop-up .form-content:has(.api-error) { padding: 20px; }
  .lead-magnet-pop-up .api-error { font-size: 15px; }
  .lead-magnet-pop-up h3 { white-space: normal; }
}

/* Motion reduction */
@media (prefers-reduced-motion: reduce) {
  .lead-magnet-launcher-fixed,
  .lead-magnet-launcher-inline,
  .lead-magnet-pop-up .button,
  .lead-magnet-pop-up button {
    transition: none !important;
  }
}
