/* Subscribe-form validation styling (Bootstrap "form-validation" example, trimmed).
   Served at /static/form-validation.css via app.static. The original Go app referenced
   this path but never shipped the file (a 404); the kernel port ships it. */
.needs-validation .form-control:focus { box-shadow: 0 0 0 .25rem rgba(113, 44, 249, .15); }
.was-validated .form-control:invalid, .form-control.is-invalid { border-color: #dc3545; }
.was-validated .form-control:valid, .form-control.is-valid { border-color: #198754; }
.invalid-feedback { display: none; width: 100%; margin-top: .25rem; font-size: .875em; color: #dc3545; }
.was-validated :invalid ~ .invalid-feedback, .is-invalid ~ .invalid-feedback { display: block; }
.dim { opacity: .55; pointer-events: none; transition: opacity .2s ease; }
