/* Contact Form 7 validation */

[data-js-cf7-validation] .wpcf7-form-control-wrap {
  display: block;
}

[data-js-cf7-validation] .cf7-field > p,
[data-js-cf7-validation] .cf7-policy > p,
[data-js-cf7-validation] .cf7-actions > p {
  margin: 0;
}

[data-js-cf7-validation] .cf7-field,
[data-js-cf7-validation] .cf7-policy {
  min-width: 0;
}

[data-js-cf7-validation] .wpcf7-not-valid,
[data-js-cf7-validation] .cf7-field.is-invalid .cf7-input {
  border-color: var(--danger-color);
}

[data-js-cf7-validation] .wpcf7-not-valid:focus,
[data-js-cf7-validation] .cf7-field.is-invalid .cf7-input:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgb(207 59 59 / 14%);
}

[data-js-cf7-validation] .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  color: var(--danger-color);
  font-size: 13px;
  line-height: 1.35;
}

[data-js-cf7-validation][data-validation-show-valid="true"]
  .cf7-field.is-valid
  .cf7-input:not([type="file"]) {
  border-color: var(--success-color);
}

[data-js-cf7-validation] .cf7-field.is-invalid .cf7-file__button {
  color: var(--danger-color);
  border-color: var(--danger-color);
}

[data-js-cf7-validation] .cf7-policy.is-invalid .wpcf7-list-item-label {
  color: var(--danger-color);
}

[data-js-cf7-validation] .cf7-policy.is-invalid a {
  color: inherit;
}

[data-js-cf7-validation] .cf7-file__text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-js-cf7-validation] .cf7-file.has-file .cf7-file__button {
  color: var(--accent-color);
  border-color: var(--accent-color);
}

[data-js-cf7-validation] .cf7-form-validation-message {
  margin-top: 16px;
  color: var(--danger-color);
  font-size: 14px;
  line-height: 1.4;
}

[data-js-cf7-validation] .cf7-form-validation-message:empty {
  display: none;
}
