/* Adapt rebuilt forms — Power Tech Electric */
.adapt-form { width: 100%; box-sizing: border-box; }
.adapt-form *, .adapt-form *::before, .adapt-form *::after { box-sizing: border-box; }

.adapt-form .form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.adapt-form .form-row .form-group { flex: 1 1 160px; }
.adapt-form .form-group { margin-bottom: 16px; }

/* Labels adapt to their section: white on dark/blue heros, dark on light sections */
.adapt-form label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.3;
  color: inherit;
}
.adapt-form .required { color: #FD5521; }

.adapt-form input,
.adapt-form textarea {
  display: block;
  width: 100%;
  margin: 0;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.4;
  color: #222;
  background: #fff;
  border: 1px solid #d4d7dd;
  border-radius: 6px;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
  -webkit-appearance: none;
  appearance: none;
}
.adapt-form input::placeholder,
.adapt-form textarea::placeholder { color: #8a8f99; }
.adapt-form input:focus,
.adapt-form textarea:focus {
  outline: none;
  border-color: #FD5521;
  box-shadow: 0 0 0 3px rgba(253, 85, 33, .18);
}
.adapt-form textarea { min-height: 120px; resize: vertical; }

/* Honeypot — hidden from users */
.adapt-form .hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px; height: 1px; overflow: hidden;
}

/* Brand-orange submit button */
.adapt-form button[type="submit"] {
  display: inline-block;
  margin-top: 4px;
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background: #FD5521;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background .15s ease, transform .05s ease;
}
.adapt-form button[type="submit"]:hover,
.adapt-form button[type="submit"]:focus { background: #e0431a; color: #fff; }
.adapt-form button[type="submit"]:active { transform: translateY(1px); }
.adapt-form button[type="submit"][disabled] { opacity: .7; cursor: default; }

.adapt-form .form-message {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 6px;
  font-size: 15px;
}
.adapt-form .form-message--ok { background: #e7f6ec; color: #1c6b39; border: 1px solid #b6e2c4; }
.adapt-form .form-message--error { background: #fbeaea; color: #a12626; border: 1px solid #f0c0c0; }
