/* THC Core — shared form styles ([thc_contact_form]). The same look as THC Membership's help form
   (.thc-help__form), on the theme's palette presets with literal fallbacks; loaded only where a form is shown. */
.thc-form-wrap { max-width: 36rem; scroll-margin-top: 1.5rem; }
.thc-form { position: relative; display: grid; gap: var(--thc-space-md, 1rem); margin-top: var(--thc-space-md, 1rem); }
.thc-form .thc-field { display: grid; gap: var(--thc-space-xs, .5rem); }
.thc-form .thc-field label { font-weight: 600; }
.thc-form .thc-field p { margin: 0; }
.thc-form input[type="text"], .thc-form input[type="email"], .thc-form select, .thc-form textarea {
  box-sizing: border-box; width: 100%; max-width: 100%; min-height: 44px;
  font-family: inherit; font-size: 1rem; /* 16px: readable, and phones don't zoom in when a field is tapped */
}
.thc-form textarea { min-height: 10rem; }
.thc-form__hint { font-size: .95rem; opacity: .85; }
.thc-form__error { color: var(--thc-error, #8a2f29); font-weight: 600; }
.thc-form__error[hidden] { display: none; }
.thc-form [aria-invalid="true"] { border-color: var(--thc-error, #8a2f29); }
.thc-form__hp { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.thc-form__status:empty { display: none; }
.thc-form__status:focus { outline: 2px solid var(--wp--preset--color--accent-3, #3f5c3b); outline-offset: 2px; }
.thc-form__status p { margin: 0 0 .4rem; }
.thc-form__status p:last-child { margin-bottom: 0; }
.thc-form__status ul { margin: .4rem 0 0; padding-left: 1.25rem; }
.thc-form__status.thc-message-success, .thc-form__status.thc-message-error {
  border-inline-start: 4px solid currentColor; border-radius: 6px;
  padding: var(--thc-space-sm, .75rem) var(--thc-space-md, 1rem);
  background: var(--wp--preset--color--accent-5, #fcf8ef);
}
.thc-form__status.thc-message-success { color: var(--wp--preset--color--accent-3, #3f5c3b); }
.thc-form__status.thc-message-error { color: var(--thc-error, #8a2f29); }
.thc-form__status a { color: inherit; font-weight: 600; }
.thc-form__foot { font-size: .95rem; opacity: .85; margin: var(--thc-space-md, 1rem) 0 0; }
