/* cf7 */
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=url],
.wpcf7 input[type=tel],
.wpcf7 input[type=number],
.wpcf7 input[type=date],
.wpcf7 input[type=file],
.wpcf7 textarea,
.wpcf7 textarea:focus {
  margin-top: 5px;
  border-radius: 20px;
  padding: 12px 16px;
  margin-bottom: 1.2em;
}

.submit-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.submit-wrapper p {
  width: 100%;
  margin-bottom: 5px;
}

.wpcf7-submit {
  width: 100% ;
  min-width: 100px;
  padding: 10px 20px ;
}
.btn {
  border-radius: 20px;
}

.wpcf7 input[type=text].wpcf7-not-valid,
.wpcf7 input[type=email].wpcf7-not-valid,
.wpcf7 input[type=url].wpcf7-not-valid,
.wpcf7 input[type=tel].wpcf7-not-valid,
.wpcf7 input[type=number].wpcf7-not-valid,
.wpcf7 input[type=date].wpcf7-not-valid,
.wpcf7 input[type=file].wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid:focus {
  border-color: var(--color-error);
  --text-color: var(--color-error);
}

.wpcf7-not-valid-tip {
  opacity: 0;
  position: absolute;
  bottom: -1.7em;
  right: .3em;
  font-size: .8em !important;
  transition: opacity .2s ease;
}
.wpcf7-form-control-wrap:hover .wpcf7-not-valid-tip {
  opacity: 1;
}
@media screen and (min-width: 1200px) {
  .wpcf7-not-valid-tip {
      font-size: .6em !important;
  }
}

.wpcf7 .submit-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.wpcf7-spinner {
  position: absolute;
  top: 50%;
  right: .5em;
  transform: translateY(-50%);
}
.wpcf7 form .wpcf7-response-output {
  padding: .5em 1em;
  border-radius: 2em;
  text-align: center;
  margin: .5em 0 1.8em 0;
}
.wpcf7 form.invalid .wpcf7-response-output {
  border: 1px solid var(--color-error);
  background: rgba(255, 17, 0, 0.10);
}
.wpcf7 form.sent .wpcf7-response-output {
  border: 1px solid #00b10f;
  background: rgba(0, 177, 15, 0.10);
}
label.not-valid {
  color: var(--color-error);
}
label.not-valid input {
  border: 1px solid var(--color-error);
}

[data-name="acceptance"] label {
  display: flex;
  align-items: center;
  gap: .6em;
  margin-top: 1em;
}
[data-name="acceptance"] .wpcf7-list-item {
  margin-left: 0;
}
[data-name="acceptance"] label input {
  display: block;
  margin: 0 !important;
}