/* ===== AdClarity popup — namespaced, safe to inject into a live site ===== */

.adc-popup-overlay,
.adc-popup-overlay *,
.adc-popup-overlay *::before,
.adc-popup-overlay *::after {
  box-sizing: border-box !important;
}

.adc-popup-overlay.adc-popup-hidden {
  display: none !important;
}

/* ===== Overlay ===== */
.adc-popup-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  overflow-y: auto !important;
  background: rgba(10, 12, 25, 0.6) !important;
  font-family: "FAIRE Sprig Sans", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* ===== Modal card ===== */
.adc-popup-modal {
  position: relative !important;
  display: flex !important;
  flex-direction: row-reverse !important; /* image right, form left */
  width: 100% !important;
  max-width: 980px !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45) !important;
}

/* ===== Left image side ===== */
.adc-popup-image {
  flex: 0 0 60% !important;
  background: #05050a !important;
}

.adc-popup-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* ===== Right form side ===== */
.adc-popup-form-side {
  flex: 1 !important;
  min-width: 0 !important;
  padding: 34px 36px 28px !important;
  position: static !important; /* so the close button anchors to the modal, not this panel */
  color: #1f2233 !important;
}



/* Close button — top-right corner of the whole modal (over the image) */
.adc-popup-close {
  position: absolute !important;
  top: 16px !important;
  right: 18px !important;
  z-index: 3 !important;
  width: 39px !important;
  height: 39px !important;
  border: none !important;
  background: transparent !important;
  font-size: 31px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  cursor: pointer !important;
  border-radius: 8px !important;
}

/* Badge */
.adc-popup-badge {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  max-width: 80% !important;
  background: #f3f0fb !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin-bottom: 22px !important;
}
.adc-popup-badge-icon {
  color: #6d28d9 !important;
  display: flex !important;
  align-items: center !important;
}
.adc-popup-badge-text {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  line-height: 1.3 !important;
}
.adc-popup-badge-text strong {
  font-size: 14px !important;
  color: #1f2233 !important;
}
.adc-popup-badge-text span {
  font-size: 12px !important;
  color: #6b7280 !important;
}

/* =====================================================================
   HubSpot "developer" embed (hsfc-* markup) — scoped to this widget only
   Replaces the old .hs-form-field / .hs-input / .hs-button rules.
   ===================================================================== */

.adc-popup-form-side #adc-popup-hubspot-form,
.adc-popup-form-side .hs-form-html,
.adc-popup-form-side [data-hsfc-id="Renderer"],
.adc-popup-form-side .hsfc-FormWrapper,
.adc-popup-form-side .hsfc-Form {
  width: 100% !important;
  /* HubSpot hard-codes .hsfc-Form to Helvetica; force it to inherit the
     overlay font so every child that uses font-family:inherit reaches FAIRE. */
  font-family: inherit !important;
}

/* Strip HubSpot's own card chrome (border/background/40px padding) —
   our modal already provides the card.
   NOTE: do NOT force `display` here — HubSpot toggles inactive steps with
   an inline `style="display:none"`, and an !important display rule would
   override it and show all steps at once. */
.adc-popup-form-side .hsfc-Step {
  border: none !important;
  background: transparent !important;
}
.adc-popup-form-side .hsfc-Step__Content {
  width: 100% !important;
  padding: 0 !important;
}
.adc-popup-form-side .hsfc-Step__Content > :last-child {
  margin-bottom: 0 !important;
}

/* Rows (email / name pairs / company) */
.adc-popup-form-side .hsfc-Row {
  gap: 14px !important;
  margin-bottom: 16px !important;
}

/* Labels */
.adc-popup-form-side .hsfc-FieldLabel {
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1f2233 !important;
  margin-bottom: 6px !important;
}
.adc-popup-form-side .hsfc-FieldLabel__RequiredIndicator {
  color: #6d28d9 !important;
}

/* Text / email / textarea inputs */
.adc-popup-form-side .hsfc-TextInput,
.adc-popup-form-side .hsfc-TextareaInput {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  border: 1px solid #d9dbe4 !important;   /* overrides HubSpot's dashed border */
  border-radius: 10px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: #1f2233 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.adc-popup-form-side .hsfc-TextareaInput {
  height: auto !important;
  padding: 10px 14px !important;
}
.adc-popup-form-side .hsfc-TextInput::placeholder,
.adc-popup-form-side .hsfc-TextareaInput::placeholder {
  color: #a2a7b4 !important;
}
.adc-popup-form-side .hsfc-TextInput:hover,
.adc-popup-form-side .hsfc-TextareaInput:hover {
  box-shadow: none !important;
}
.adc-popup-form-side .hsfc-TextInput:focus,
.adc-popup-form-side .hsfc-TextInput:active,
.adc-popup-form-side .hsfc-TextInput:focus-visible,
.adc-popup-form-side .hsfc-TextareaInput:focus,
.adc-popup-form-side .hsfc-TextareaInput:active,
.adc-popup-form-side .hsfc-TextareaInput:focus-visible {
  border-color: #6d28d9 !important;
  box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.15) !important;
  outline: none !important;
}

/* Validation error text */
.adc-popup-form-side .hsfc-ErrorAlert {
  font-family: inherit !important;
  font-size: 12px !important;
  color: #d3232f !important;
  margin-top: 6px !important;
}

/* Privacy / rich-text consent line (step 2) */
.adc-popup-form-side .hsfc-RichText,
.adc-popup-form-side .hsfc-RichText span {
  font-family: inherit !important;
  font-size: 12px !important;
  color: #6b7280 !important;
}
.adc-popup-form-side .hsfc-RichText a {
  color: #6d28d9 !important;
  text-decoration: underline !important;
}

/* Progress bar */
.adc-popup-form-side .hsfc-ProgressBar__Text {
  font-family: inherit !important;
  font-size: 12px !important;
  color: #6d28d9 !important;
}
.adc-popup-form-side .hsfc-ProgressBar__Progress > div {
  background: #6d28d9 !important;
}

/* Buttons */
.adc-popup-form-side .hsfc-NavigationRow {
  margin-top: 6px !important;
}
.adc-popup-form-side .hsfc-NavigationRow__Buttons {
  gap: 12px !important;
}
.adc-popup-form-side .hsfc-Button {
  width: 100% !important;
  height: 46px !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .15s, opacity .15s !important;
}
/* Primary = Next / Submit (always the last button in the row) */
.adc-popup-form-side .hsfc-NavigationRow__Buttons > .hsfc-Button:last-child {
  background: #6d28d9 !important;
  color: #ffffff !important;
}
.adc-popup-form-side .hsfc-NavigationRow__Buttons > .hsfc-Button:last-child:not([disabled]):hover {
  background: #5b21b6 !important;
  transform: none !important;   /* kill HubSpot's translateY hover */
}
.adc-popup-form-side .hsfc-NavigationRow__Buttons > .hsfc-Button[disabled] {
  opacity: .5 !important;
  filter: none !important;
  cursor: not-allowed !important;
}
/* Secondary = Previous (ghost, only present on steps 2 & 3) */
.adc-popup-form-side .hsfc-NavigationRow__Buttons > .hsfc-Button:first-child:not(:last-child) {
  background: #f3f0fb !important;
  color: #6d28d9 !important;
}
.adc-popup-form-side .hsfc-NavigationRow__Buttons > .hsfc-Button:first-child:not(:last-child):hover {
  background: #e9e3f8 !important;
  transform: none !important;
}

/* Trust row */
.adc-popup-trust {
  list-style: none !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 22px 0 14px !important;
}
.adc-popup-trust li {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #1f2233 !important;
  white-space: nowrap !important;
}
.adc-popup-trust svg { color: #6d28d9 !important; }

/* Privacy */
.adc-popup-privacy {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  font-size: 12px !important;
  color: #4b5060 !important;
}

/* ===== Responsive: stack on small screens ===== */
@media (max-width: 720px) {
  .adc-popup-overlay { align-items: flex-start !important; padding: 16px !important; }
  .adc-popup-modal { flex-direction: column !important; max-width: 480px !important; margin: 0 auto !important; }
  .adc-popup-image { flex: none !important; width: 100% !important; height: auto !important; aspect-ratio: 604 / 560 !important; }
  .adc-popup-close { top: 10px !important; right: 10px !important; color: #ffffff !important; }
  .adc-popup-form-side { padding: 24px 20px 20px !important; position: static !important; }
  .adc-popup-badge { max-width: 100% !important; }
  .adc-popup-trust { flex-wrap: nowrap !important; gap: 6px !important; }
  .adc-popup-trust li { font-size: 11px !important; gap: 4px !important; }
  .adc-popup-trust svg { width: 13px !important; height: 13px !important; flex: none !important; }
}

@media (max-width: 380px) {
  .adc-popup-trust { flex-wrap: wrap !important; row-gap: 8px !important; }
}

@media (min-width: 787px) {
.adc-popup-form-side {
    min-height: 472px !important;
  }
}