.elementor-28111 .elementor-element.elementor-element-41afd06{--display:flex;}.elementor-28111 .elementor-element.elementor-element-309397a{--display:flex;}/* Start custom CSS for html, class: .elementor-element-28f80c8 */<style>
.druk-form {
  position: relative;
}

.druk-honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.druk-honeypot input {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.druk-form__status {
  min-height: 22px;
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.druk-form__status--success {
  padding: 13px;
  border: 1px solid rgba(80, 255, 160, 0.35);
  border-radius: 10px;
  color: #72ffad !important;
  background: rgba(80, 255, 160, 0.08);
}

.druk-form__status--error {
  padding: 13px;
  border: 1px solid rgba(255, 70, 100, 0.35);
  border-radius: 10px;
  color: #ff7189 !important;
  background: rgba(255, 70, 100, 0.08);
}

.druk-form button:disabled {
  cursor: wait;
  opacity: 0.65;
}
</style>

<script>
document.addEventListener("DOMContentLoaded", function () {
  const form = document.getElementById("drukQuoteForm");
  const status = document.getElementById("drukQuoteStatus");
  const nonceInput = document.getElementById("drukQuoteNonce");

  if (!form) {
    return;
  }

  if (
    typeof drukFormData === "undefined" ||
    !drukFormData.ajaxUrl ||
    !drukFormData.nonce
  ) {
    if (status) {
      status.textContent =
        "Formularz nie został połączony z WordPressem.";

      status.className =
        "druk-form__status druk-form__status--error";
    }

    return;
  }

  nonceInput.value = drukFormData.nonce;

  form.addEventListener("submit", async function (event) {
    event.preventDefault();

    const button = form.querySelector('button[type="submit"]');

    if (!button || !status || !nonceInput) {
      return;
    }

    const originalText = button.innerHTML;

    button.disabled = true;
    button.innerHTML = "Wysyłanie...";

    status.textContent = "";
    status.className = "druk-form__status";

    try {
      const response = await fetch(drukFormData.ajaxUrl, {
        method: "POST",
        body: new FormData(form),
        credentials: "same-origin"
      });

      const result = await response.json();

      if (!response.ok || !result.success) {
        throw new Error(
          result.data && result.data.message
            ? result.data.message
            : "Nie udało się wysłać wiadomości."
        );
      }

      status.textContent =
        result.data && result.data.message
          ? result.data.message
          : "Zapytanie zostało wysłane.";

      status.className =
        "druk-form__status druk-form__status--success";

      form.reset();
      nonceInput.value = drukFormData.nonce;

    } catch (error) {
      status.textContent =
        error.message ||
        "Wystąpił błąd podczas wysyłania formularza.";

      status.className =
        "druk-form__status druk-form__status--error";

    } finally {
      button.disabled = false;
      button.innerHTML = originalText;
    }
  });
});
</script>
.druk-form__hint {
  display: block;
  margin-top: 7px;
  color: var(--druk-muted) !important;
  font-size: 11px;
  line-height: 1.5;
}

.druk-form__file input[type="file"] {
  padding: 10px;
  cursor: pointer;
}

.druk-form__file input[type="file"]::file-.elementor-28111 .elementor-element.elementor-element-28f80c8-button {
  margin-right: 12px;
  padding: 9px 14px;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  color: #ffffff;
  font-weight: 700;
  background: linear-gradient(
    90deg,
    var(--druk-pink),
    var(--druk-purple),
    var(--druk-blue)
  );
}/* End custom CSS */