.contact-form {
  margin: 0 auto;
  padding: 24px;
  box-shadow: -40px 40px 80px -8px rgba(145, 158, 171, 0.24);
  background: #fff;
  display: flex;
  flex-flow: column;
  gap: 16px;
  border-radius: 4px;
}

.wpcf7-spinner {
  display: none !important;
}

.form-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.form-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-group h5 {
  font-size: 0.75rem;
  margin-bottom: 0 !important;
  margin-left: 8px !important;
  color: black;
}

.required {
  color: rgba(255, 83, 53, 1);
}

.contact-form input,
.contact-form textarea,
.contact-form select {
  margin-bottom: 0 !important;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  width: 100%;
  padding: 12px 14px !important;
  border: 1px solid rgba(145, 158, 171, 0.32) !important;
  border-radius: 4px !important;
  font-size: 0.875rem !important;
  color: rgba(145, 158, 171, 1);
  outline: unset !important;
  min-height: 46px;
  height: unset;
}

textarea {
  min-height: 96px;
  resize: vertical;
}

select {
  color: rgba(145, 158, 171, 1) !important;
}

select option:not(:first-child) {
  color: black !important;
}

.form-submit {
  text-align: center;
  margin-top: 24px;
}

input[type="submit"] {
  background-color: #3b556b;
  color: #fff;
  font-weight: bold;
  padding: 16px 32px !important;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  margin: 0 !important;
  line-height: 1 !important;
}

input[type="submit"]:hover {
  opacity: 0.9;
}

/* Responsive */
@media (max-width: 849px) {
  .contact-form {
    padding: 16px;
  }
  .form-group h5 {
    font-size: 0.75rem;
  }
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea {
    font-size: 0.875rem;
  }
}

@media (max-width: 549px) {
  .form-row {
    flex-direction: column;
  }
}
