/* Single-page site forms: contact, quote request (Pages/Shared/_ContactForm.cshtml) and distributor inquiry
   (_DistributorInquiry.cshtml). Behaviour in /js/site-form.js. */
.site-form [hidden] { display: none !important; }
.site-form .sf-field { margin-bottom: 18px; }
.site-form .sf-label { display: block; font-weight: 600; color: #333; margin-bottom: 6px; }
.site-form .sf-req { display: inline; color: #d9534f; } /* the theme makes spans in .form-check-label blocks */
.site-form .form-control,
.site-form .form-select { height: 50px; margin-bottom: 0; border-radius: 8px; font-size: 1rem; } /* the theme adds 30px below fields in .contact-form cards */
.site-form textarea.form-control { height: auto; min-height: 140px; }
.site-form .form-control:focus,
.site-form .form-select:focus,
.site-form .form-check-input:focus { border-color: #00b4b6; box-shadow: 0 0 0 0.2rem rgba(0, 180, 182, 0.2); }
.site-form .form-check-input:checked { background-color: #00b4b6; border-color: #00b4b6; }
.site-form .form-check-label { line-height: 1.45; color: #333; }
.site-form .form-check-label a { color: #00b4b6; text-decoration: underline; }
.site-form .sf-invalid .form-control,
.site-form .sf-invalid .form-select,
.site-form .sf-invalid .form-check-input { border-color: #dc3545; }
.site-form .sf-feedback { margin-top: 6px; font-size: 0.875rem; color: #dc3545; }
.site-form .sf-feedback:empty { display: none; }
.site-form .sf-alert { margin-bottom: 18px; padding: 12px 16px; border-radius: 8px; background: #fdecea; color: #a12622; font-size: 0.95rem; }
.site-form .sf-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
