.avn-family-form {
  display: grid;
  gap: 18px;
  color: #484848;
}

.avn-family-form label {
  display: grid;
  gap: 8px;
  font-weight: 500;
}

.avn-family-form input[type="text"],
.avn-family-form input[type="tel"],
.avn-family-form input[type="email"] {
  width: 100%;
  min-height: 52px;
  padding: 12px 18px;
  border: 1px solid #e6ddd6;
  border-radius: 16px;
  background: #fffaf5;
  color: #484848;
  font: inherit;
}

.avn-family-form input:focus {
  border-color: #fd83a6;
  outline: 3px solid rgb(253 131 166 / 20%);
  outline-offset: 1px;
}

.avn-family-form__legal {
  display: grid;
  gap: 12px;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.45;
}

.avn-family-form__legal p { margin: 0; }
.avn-family-form__legal a { color: #c25f7d; text-decoration: underline; text-underline-offset: 2px; }
.avn-family-form .wpcf7-acceptance label { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; font-weight: 300; }
.avn-family-form .wpcf7-acceptance input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: #fd83a6; }
.avn-family-form .wpcf7-not-valid-tip { margin-top: 5px; color: #b42318; font-size: 12px; }
.avn-family-form .wpcf7-submit { width: 100%; min-height: 52px; }
.avn-family-form .wpcf7-spinner { display: block; margin: 8px auto 0; }

