/* HFR forms.css  v1.2.9  –  2025-07-10 */
.hfr-form{
  display:grid;
  gap:1rem;
  max-width:600px;
  margin:0 auto;
}

.hfr-form label{
  display:flex;
  flex-direction:column;
  font-size:.9rem;
  color:#ccc;
}

.hfr-form input,
.hfr-form textarea,
.hfr-form select{
  padding:.6rem .7rem;
  border:1px solid #666;
  border-radius:4px;
  background:#333;
  color:#fff;
  font-family:inherit;
  font-size:1rem;
  outline:none;
}
.hfr-form input:focus,
.hfr-form textarea:focus,
.hfr-form select:focus{border-color:var(--orange)}

/* 2-column name pair */
.pair{display:grid;gap:1rem}
@media(min-width:500px){.pair{grid-template-columns:1fr 1fr}}

/* headings */
.hfr-form-heading{text-align:center;margin-bottom:.75rem}
.req-note{text-align:center;font-size:.85rem;color:#aaa;margin:-.3rem 0 1rem}

/* required asterisk */
.asterisk{color:#ff5555;font-weight:600;margin-left:3px}

/* alert banner */
.alert{
  width:600px;
  padding:.8rem 1rem;
  border-radius:4px;
  margin:0 auto 1rem;
  box-sizing:border-box;
  text-align:center;
}
.alert.success{background:#044d30;color:#b9f5cf}
.alert.error  {background:#5d0000;color:#ffb8b8}

/* --- forced link colors inside banner (extra-specific) --- */
.alert.success a,
.alert.success a:visited,
.alert.error  a,
.alert.error  a:visited{
  color:#ff6600 !important;         /* HFR orange */
  text-decoration:underline;
}
.alert.success a:hover,
.alert.success a:active,
.alert.error  a:hover,
.alert.error  a:active{
  color:#ffffff !important;         /* white on hover/active */
}
