/* SABRE — skin for the Elementor Pro Form widget in the footer.
   Paste into Site Settings > Custom CSS, after sabre-tokens.css.

   Requires the form widget to have CSS Classes: sabre-form
   (Advanced tab > CSS Classes). Everything below is scoped to that class,
   so other Elementor forms on the site are untouched. */

.sabre-form .elementor-form {
  display: flex; flex-wrap: wrap; gap: 12px;
}
.sabre-form .elementor-field-group { padding: 0 !important; margin: 0 !important; }
.sabre-form .elementor-field-group-email { flex: 1 1 200px; min-width: 0; }

/* Hide the label — the mono heading above the form already says it */
.sabre-form .elementor-field-label { display: none !important; }

.sabre-form .elementor-field-type-email input,
.sabre-form input[type="email"] {
  width: 100%; height: 42px; box-sizing: border-box;
  background: transparent !important;
  border: 1px solid var(--sabre-line-on-dark) !important;
  border-radius: 0 !important;
  color: #FFFFFF !important;
  padding: 0 14px !important;
  font-family: var(--sabre-mono) !important;
  font-size: 13px !important;
  letter-spacing: 0.04em;
  box-shadow: none !important;
  transition: border-color var(--sabre-med) var(--sabre-ease);
}
.sabre-form input[type="email"]:focus {
  border-color: var(--sabre-lime) !important;
  outline: none !important;
}
.sabre-form input[type="email"]::placeholder { color: var(--sabre-fg-on-dark-3); }

.sabre-form .elementor-field-type-submit { flex: 0 0 auto; }
.sabre-form .elementor-button {
  height: 42px !important; min-height: 42px;
  padding: 0 20px !important;
  display: inline-flex; align-items: center; gap: 8px;
  border-radius: 0 !important; border: 1px solid var(--sabre-lime) !important;
  background: var(--sabre-lime) !important;
  color: #0A0A0A !important;
  font-family: var(--sabre-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.16em; text-transform: uppercase;
  box-shadow: none !important;
  transition: background var(--sabre-med) var(--sabre-ease),
              border-color var(--sabre-med) var(--sabre-ease);
}
.sabre-form .elementor-button:hover,
.sabre-form .elementor-button:focus {
  background: var(--sabre-lime-ink) !important;
  border-color: var(--sabre-lime-ink) !important;
  color: #0A0A0A !important;
}
.sabre-form .elementor-button-text { letter-spacing: inherit; }

/* Success / error messages */
.sabre-form .elementor-message {
  font-family: var(--sabre-mono); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; margin-top: 10px;
}
.sabre-form .elementor-message-success { color: var(--sabre-lime) !important; }
.sabre-form .elementor-message-danger { color: #FF6B6B !important; }

/* Elementor's own required-field asterisk and helper text */
.sabre-form .elementor-field-required-indicator { display: none; }
.sabre-form .elementor-field-description {
  font-family: var(--sabre-mono); font-size: 10px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--sabre-fg-on-dark-3);
}
