/* IC Digital / Form feedback v2: an empty-contact hint inside the field. Use with contact.css and typography-v1.css. */
.form-feedback .field-error {
  margin: 8px 0 0;
  padding: 0;
  color: #fff;
  font-size: var(--type-ui, 14px);
  font-weight: var(--weight-text, 500);
  line-height: var(--leading-ui, 1.5);
  overflow-wrap: anywhere;
}
.form-feedback .field-error[hidden] { display: none !important; }
.form-feedback .form-consent-group .field-error { margin-left: 26px; }
.form-feedback .form-field input[aria-invalid="true"] {
  border-color: #101820;
  box-shadow: inset 0 0 0 1px #101820;
}
.form-feedback .form-consent input[aria-invalid="true"] {
  outline: 2px solid #101820;
  outline-offset: 2px;
}
.form-feedback .form-field input:focus-visible,
.form-feedback .form-consent input:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.form-feedback input { scroll-margin-block: 24px; }
.form-feedback .form-status { overflow-wrap: anywhere; }
@media (forced-colors: active) {
  .form-feedback .form-field input[aria-invalid="true"] { border: 2px dashed CanvasText; }
  .form-feedback .form-consent input[aria-invalid="true"] { outline: 2px dashed CanvasText; }
  .form-feedback .form-field input:focus-visible,
  .form-feedback .form-consent input:focus-visible { outline: 2px solid Highlight; }
}

/* One message element changes placement; the value of the input is never changed. */
.form-feedback .contact-input-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  container: contact-field / inline-size;
}
.form-feedback .contact-input-wrap > input {
  grid-area: 1 / 1;
  height: 100%;
}
.form-feedback .contact-input-wrap > .field-error { grid-area: 2 / 1; }
.form-feedback .field-error-example { display: none; }
.form-feedback .contact-input-wrap > .field-error[data-placement="inside"] {
  grid-area: 1 / 1;
  align-self: center;
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  margin: 0;
  padding: 12px 16px;
  color: #B42318;
  z-index: 1;
  pointer-events: none;
}
.form-feedback .field-error-message { min-width: 0; }
.form-feedback .contact-input-wrap > input[data-error-placement="inside"]::placeholder { color: transparent; }
@container contact-field (min-width: 480px) {
  .form-feedback .field-error[data-placement="inside"] > .field-error-example {
    display: block;
    flex: 0 0 auto;
    color: #7B7F83;
    font-size: var(--type-body, 16px);
    line-height: var(--leading-ui, 1.5);
    white-space: nowrap;
  }
}
@media (forced-colors: active) {
  .form-feedback .contact-input-wrap > .field-error[data-placement="inside"] { color: CanvasText; }
  .form-feedback .field-error[data-placement="inside"] > .field-error-example { display: none; }
}
