@charset "UTF-8";

.wpcf7 label {
  display: block;
}

.wpcf7-form {
  display: flex;
  flex-direction: column;
  justify-content: stretch;
  align-items: flex-start;
  gap: 1rem;
}

.wpcf7-form > * {
  width: 100%;
}

.wpcf7 input:where(
  [type="text"],
  [type="email"],
  [type="url"],
  [type="tel"],
  [type="password"]
),
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
}

.wpcf7 input:where([type="submit"]) {
  max-width: 21.25rem;
  width: 100%;
}

.wpcf7-form-control-wrap {
  display: block;
  margin-top: .3em;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.wpcf7-acceptance label {
  padding: 1em;
  border: .0625rem solid rgba(0, 0, 0, .2);
  cursor: pointer;
  background-color: #fff;
}

@media (hover: hover) {
  .wpcf7-acceptance label {
    transition: background-color .3s;
  }
  .wpcf7-acceptance label:hover {
    background-color: rgba(0, 0, 0, .05);
  }
}

.wpcf7 form .wpcf7-response-output {
  margin: .5em 0;
  padding: .5em;
}

.wpcf7 span.wpcf7-not-valid-tip {
  display: none;
}
.wpcf7 .wpcf7-not-valid {
  background: #ffeaed;
}

.wpcf7 .required {
  color: red;
  margin-left: .3em;
}

.wpcf7 .wpcf7-not-valid::placeholder {
  color: red !important;
}
