.hcp-contact-button {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 99998;
  border: 0;
  border-radius: 999px;
  background: #3399cc;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
  cursor: pointer;
  font:
    700 16px/1.2 Arial,
    sans-serif;
  padding: 16px 22px;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}
.hcp-contact-button:hover,
.hcp-contact-button:focus {
  background: #0a0063;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
  transform: translateY(-1px);
  outline: 0;
}
.hcp-contact-button:focus-visible {
  outline: 3px solid rgba(10, 102, 194, 0.35);
  outline-offset: 3px;
}
.hcp-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(16, 24, 40, 0.62);
}
.hcp-modal.is-open {
  display: flex;
}
.hcp-modal-panel {
  position: relative;
  width: min(760px, 100%);
  max-height: calc(100vh - 40px);
  overflow: auto;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
  padding: 32px;
}
.hcp-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
}
.hcp-modal-intro h2 {
  margin: 0 0 8px;
  color: #111827;
  font:
    700 28px/1.2 Arial,
    sans-serif;
}
.hcp-modal-intro h4 {
  margin: 0 0 10px;
  color: #374151;
  font:
    600 17px/1.4 Arial,
    sans-serif;
}
.hcp-modal-intro h6 {
  margin: 0;
  color: #6b7280;
  font:
    600 13px/1.4 Arial,
    sans-serif;
}
.hcp-modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #f3f4f6;
  color: #111827;
  cursor: pointer;
  font:
    700 24px/1 Arial,
    sans-serif;
}
.hcp-modal-close:hover,
.hcp-modal-close:focus {
  background: #e5e7eb;
  outline: 0;
}
.hcp-modal-close:focus-visible {
  outline: 3px solid rgba(10, 102, 194, 0.28);
  outline-offset: 2px;
}
.hcp-form-container {
  min-height: 180px;
}
.hcp-form-loading {
  color: #4b5563;
  font:
    400 15px/1.5 Arial,
    sans-serif;
}
#hcp-hubspot-form .hs-form {
  display: block;
  width: 100%;
  margin: 0;
  font-family: Arial, sans-serif;
}
#hcp-hubspot-form .hs-form fieldset {
  max-width: none !important;
  width: 100%;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
}
#hcp-hubspot-form .hs-form fieldset.form-columns-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
#hcp-hubspot-form .hs-form fieldset.form-columns-1 {
  display: block;
}
#hcp-hubspot-form .hs-form .hs-form-field {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#hcp-hubspot-form .hs-form .input {
  margin: 0 !important;
}
#hcp-hubspot-form .hs-form label {
  display: block;
  margin: 0 0 7px;
  color: #1f2937;
  font:
    700 13px/1.35 Arial,
    sans-serif;
}
#hcp-hubspot-form
  .hs-form
  label:not([class*="checkbox-display"]):not([class*="radio-display"]) {
  display: block;
  margin: 0 0 7px;
  color: #1f2937;
  font:
    700 13px/1.35 Arial,
    sans-serif;
}
#hcp-hubspot-form .hs-form-required {
  margin-left: 3px;
  color: #0a0063;
}
#hcp-hubspot-form .hs-input {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 46px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font:
    400 15px/1.35 Arial,
    sans-serif;
  padding: 11px 13px;
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    background 0.16s ease;
}
#hcp-hubspot-form .hs-input:not([type="checkbox"]):not([type="radio"]) {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 46px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #fff;
  color: #111827;
  font:
    400 15px/1.35 Arial,
    sans-serif;
  padding: 11px 13px;
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    background 0.16s ease;
}
#hcp-hubspot-form input[type="checkbox"].hs-input,
#hcp-hubspot-form input[type="radio"].hs-input {
  width: 16px !important;
  height: 16px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 2px 0 0 !important;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
  accent-color: #3399cc;
}
#hcp-hubspot-form select.hs-input {
  appearance: auto;
  color: #111827;
}
#hcp-hubspot-form textarea.hs-input {
  min-height: 108px;
  resize: vertical;
  line-height: 1.5;
}
#hcp-hubspot-form .hs-input:hover {
  border-color: #9ca3af;
}
#hcp-hubspot-form .hs-input:focus {
  border-color: #3399cc;
  box-shadow: 0 0 0 3px rgba(51, 153, 204, 0.18);
  outline: 0;
}
#hcp-hubspot-form .hs-input.invalid,
#hcp-hubspot-form .hs-input.error {
  border-color: #dc2626;
}
#hcp-hubspot-form .hs-error-msgs {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  color: #b91c1c;
  font:
    600 12px/1.4 Arial,
    sans-serif;
}
#hcp-hubspot-form .hs-error-msgs label {
  margin: 0;
  color: #b91c1c;
  font:
    600 12px/1.4 Arial,
    sans-serif;
}
#hcp-hubspot-form .legal-consent-container {
  margin: 8px 0 18px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #f9fafb;
}
#hcp-hubspot-form .legal-consent-container .hs-richtext p {
  margin: 0 0 10px;
  color: #4b5563;
  font:
    400 12px/1.55 Arial,
    sans-serif;
}
#hcp-hubspot-form .inputs-list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
#hcp-hubspot-form .inputs-list li {
  margin: 0 0 10px !important;
  padding: 0 !important;
}
#hcp-hubspot-form .hs-form-booleancheckbox-display {
  display: flex !important;
  align-items: flex-start;
  gap: 9px;
  margin: 0 !important;
  color: #374151;
  font:
    400 13px/1.45 Arial,
    sans-serif;
}
#hcp-hubspot-form .hs-form-booleancheckbox-display input {
  flex: 0 0 auto;
  width: 16px !important;
  height: 16px !important;
  margin: 2px 0 0 !important;
  accent-color: #3399cc;
}
#hcp-hubspot-form .hs-form-booleancheckbox-display > span {
  display: block;
  margin-left: 0 !important;
}
#hcp-hubspot-form .hs-form-booleancheckbox-display p {
  display: inline;
  margin: 0 !important;
}
#hcp-hubspot-form label[class*="checkbox-display"] {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  margin: 0 !important;
  color: #374151 !important;
  font:
    400 13px/1.45 Arial,
    sans-serif !important;
  cursor: pointer;
}
#hcp-hubspot-form label[class*="checkbox-display"] input {
  flex: 0 0 auto;
  width: 16px !important;
  height: 16px !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 2px 0 0 !important;
  accent-color: #3399cc;
}
#hcp-hubspot-form label[class*="checkbox-display"] > span {
  display: block;
  margin-left: 0 !important;
}
#hcp-hubspot-form label[class*="checkbox-display"] p {
  display: inline;
  margin: 0 !important;
}
#hcp-hubspot-form .hs-recaptcha {
  margin: 2px 0 18px;
}
#hcp-hubspot-form .hs-submit {
  margin-top: 6px;
}
#hcp-hubspot-form .hs-submit .actions {
  margin: 0 !important;
  padding: 0 !important;
}
#hcp-hubspot-form .hs-button.primary {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: #3399cc;
  color: #fff;
  cursor: pointer;
  font:
    800 15px/1 Arial,
    sans-serif;
  padding: 15px 22px;
  text-align: center;
  transition:
    background 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease;
}
#hcp-hubspot-form .hs-button.primary:hover,
#hcp-hubspot-form .hs-button.primary:focus {
  background: #0a0063;
  box-shadow: 0 12px 24px rgba(10, 0, 99, 0.22);
  outline: 0;
  transform: translateY(-1px);
}
#hcp-hubspot-form .submitted-message {
  border-radius: 6px;
  background: #f0f9ff;
  color: #0f172a;
  font:
    600 16px/1.5 Arial,
    sans-serif;
  padding: 18px;
  border: 1px solid rgba(51, 153, 204, 0.28);
}
body.hcp-modal-open {
  overflow: hidden;
}
@media (max-width: 600px) {
  .hcp-contact-button {
    right: 16px;
    bottom: 16px;
    padding: 14px 18px;
    font-size: 15px;
  }
  .hcp-modal {
    padding: 12px;
    align-items: flex-end;
  }
  .hcp-modal-panel {
    max-height: calc(100vh - 24px);
    padding: 22px 18px;
    border-radius: 8px 8px 0 0;
  }
  .hcp-modal-intro h2 {
    font-size: 24px;
  }
  .hcp-modal-intro h4 {
    font-size: 16px;
  }
  #hcp-hubspot-form .hs-form fieldset.form-columns-2 {
    display: block;
  }
  #hcp-hubspot-form .hs-form fieldset.form-columns-2 .hs-form-field {
    margin: 0 0 14px !important;
  }
  #hcp-hubspot-form .legal-consent-container {
    padding: 14px;
  }
}
