/* ===========================================================================
   Kingston Love — form validation & status styles
   Used by the generic form handler in assets/js/main.js.
   Loaded after style.css so these rules win.
   ======================================================================== */

/* --- Honeypot -------------------------------------------------------------
   Hidden from humans, still submitted by bots. Deliberately NOT
   `display:none` on the input alone — some bots skip those — the wrapper is
   taken out of flow and pushed off-screen instead.                         */
.kl-hp-wrap {
  position: absolute !important;
  left: -9999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* --- Field-level errors --------------------------------------------------- */
.kl-invalid,
input.kl-invalid,
textarea.kl-invalid,
select.kl-invalid {
  border-color: #d93025 !important;
  box-shadow: 0 0 0 1px rgba(217, 48, 37, 0.25);
}

.kl-field-error {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.4;
  color: #d93025;
}

/* --- Form-level status message -------------------------------------------- */
.kl-form-message {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.5;
  border: 1px solid transparent;
}

.kl-form-message[hidden] {
  display: none;
}

.kl-form-message.kl-success {
  color: #0f5132;
  background: #d1e7dd;
  border-color: #badbcc;
}

.kl-form-message.kl-error {
  color: #842029;
  background: #f8d7da;
  border-color: #f5c2c7;
}

/* The footer newsletter sits on a dark background — keep the message legible
   without inheriting the dark theme's text colour. */
.ak-footer .kl-form-message,
footer .kl-form-message {
  margin-top: 12px;
  padding: 10px 14px;
  font-size: 13px;
}

/* --- Busy state ----------------------------------------------------------- */
.kl-sending,
button.kl-sending,
button[disabled].kl-sending {
  opacity: 0.65;
  cursor: progress;
  pointer-events: none;
}
