.wsc-contact-form {
  margin: 0 auto;
  max-width: 760px;
  padding: 5px;
}

.wsc-contact-form * {
  box-sizing: border-box;
}

.wsc-contact-form__required {
  font-size: 0.9rem;
  margin-bottom: 24px;
}

.wsc-contact-form__field {
  margin-bottom: 25px;
}

.wsc-contact-form label,
.wsc-contact-form legend {
  color: inherit;
  display: block;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 10px;
}

.wsc-contact-form input[type="text"],
.wsc-contact-form input[type="email"],
.wsc-contact-form select,
.wsc-contact-form textarea {
  background: #f7f7f7;
  border: 1px solid #c4c4c4;
  border-radius: 0;
  box-shadow: none;
  color: #333;
  font: inherit;
  padding: 12px;
  transition: border-color 0.2s, background-color 0.2s;
  width: 100%;
}

.wsc-contact-form input[type="text"],
.wsc-contact-form input[type="email"],
.wsc-contact-form select {
  min-height: 50px;
}

.wsc-contact-form textarea {
  min-height: 200px;
  resize: vertical;
}

.wsc-contact-form input:focus,
.wsc-contact-form select:focus,
.wsc-contact-form textarea:focus {
  background: #fff;
  border-color: #0f81a1;
  outline: 2px solid rgba(15, 129, 161, 0.25);
  outline-offset: 1px;
}

.wsc-contact-form__consent {
  align-items: flex-start;
  display: flex;
  gap: 10px;
}

.wsc-contact-form__consent input {
  flex: 0 0 auto;
  height: 20px;
  margin: 2px 0 0;
  width: 20px;
}

.wsc-contact-form__consent label {
  font-size: 15px;
  font-weight: 400;
  margin: 0;
}

.wsc-contact-form__submit {
  background: #0f81a1;
  border: 0;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 12px 24px;
  transition: background-color 0.2s;
}

.wsc-contact-form__submit:hover,
.wsc-contact-form__submit:focus {
  background: #0b627a;
}

.wsc-contact-form__submit:disabled {
  cursor: wait;
  opacity: 0.7;
}

.wsc-contact-form__status {
  border: 1px solid;
  margin: 0 auto 24px;
  max-width: 760px;
  padding: 15px;
}

.wsc-contact-form__status--success {
  background: #edf8ef;
  border-color: #2e7d32;
  color: #205723;
}

.wsc-contact-form__status--error {
  background: #fff0f0;
  border-color: #b3261e;
  color: #8c1d18;
}

.wsc-contact-form__honeypot {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

.wsc-contact-form__note {
  font-size: 0.9rem;
}

.wsc-contact-form__required-mark {
  color: #b3261e;
}

