/* SON Academy shared presentation for SON Platform public forms. */
.son-forms-pilot{max-width:740px}.son-form-contact{display:grid;gap:16px}.son-form-field{display:grid;gap:5px}.son-form-field label{font-weight:600}.son-form-field input,.son-form-field textarea{width:100%;max-width:100%;padding:10px;border:1px solid #929aa4;border-radius:5px}.son-form-field [aria-invalid=true]{border-color:#b42318}.son-form-error{color:#a11919}.son-form-success{padding:12px;border-left:4px solid #237a42}.son-form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.son-form-contact button{justify-self:start;padding:12px 20px;cursor:pointer}

.son-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.son-field-onderwerp,.son-field-bericht,.son-field-klacht,.son-field-oplossing,.son-field-opleiding{grid-column:1/-1}.son-form-field input:focus,.son-form-field textarea:focus{outline:2px solid #2777a5;outline-offset:1px}.son-form-field input:invalid:not(:placeholder-shown){box-shadow:none}@media(max-width:650px){.son-form-grid{grid-template-columns:1fr}}

.son-form-field select{width:100%;max-width:100%;padding:10px;border:1px solid #929aa4;border-radius:5px;background:#fff;color:inherit}.son-form-field select:focus{outline:2px solid #2777a5;outline-offset:1px}.son-form-field .son-field-feedback{font-size:.85em;margin:2px 0 0;color:#a11919}.son-form-field .son-field-feedback:empty{display:none}

.son-forms-pilot .son-phone-hint{display:block;font-size:.85em;color:#566475;margin-top:5px}.son-forms-pilot .son-field-feedback:not(:empty){display:block;color:#9f2424;margin-top:5px}

.son-registration-pilot h2{margin:12px 0 0}.son-registration-notice{padding:12px;border-left:4px solid #c58a20;background:#fff7e6;color:#342900}.son-registration-pilot button[disabled]{opacity:.6;cursor:not-allowed}.son-registration-pilot .son-form-field select{width:100%}

.son-registration-pilot [hidden]{display:none!important}

/* Contact and complaint forms: scoped, accessible design; does not affect registration pilot. */
.son-forms-pilot:not(.son-registration-pilot){max-width:780px;margin:24px auto;color:#122e47}
.son-forms-pilot .son-form-contact{padding:clamp(20px,4vw,36px);background:linear-gradient(160deg,#fff 0%,#f7fafc 100%);border:1px solid #d9e5ee;border-top:5px solid #e77e22;border-radius:18px;box-shadow:0 14px 34px rgba(11,42,70,.07);gap:24px}
.son-forms-pilot .son-form-grid{gap:20px 22px}
.son-forms-pilot .son-form-field{gap:8px;min-width:0}
.son-forms-pilot .son-form-field label{font-size:15px;font-weight:700;line-height:1.45;color:#123554}
.son-forms-pilot .son-form-field input,.son-forms-pilot .son-form-field select,.son-forms-pilot .son-form-field textarea{box-sizing:border-box;min-height:48px;padding:12px 14px;border:1px solid #b9cddd;border-radius:10px;background:#fff;color:#172d40;font-size:16px;transition:border-color .15s,box-shadow .15s}
.son-forms-pilot .son-form-field textarea{min-height:145px;resize:vertical}
.son-forms-pilot .son-form-field :is(input,select,textarea):focus{outline:0;border-color:#17699b;box-shadow:0 0 0 3px rgba(23,105,155,.15)}
.son-forms-pilot .son-form-contact button[type=submit]{background:#123554;color:#fff;border:0;border-radius:10px;padding:14px 26px;font-size:16px;font-weight:700;min-height:50px;transition:background .15s,transform .15s}
.son-forms-pilot .son-form-contact button[type=submit]:hover{background:#1b547b;transform:translateY(-1px)}
.son-forms-pilot .son-form-contact button[type=submit]:focus-visible{outline:3px solid #e77e22;outline-offset:3px}
.son-forms-pilot .son-form-success{border-left:5px solid #23835d;background:#eaf7f0;color:#14573d;padding:20px;border-radius:10px}
.son-forms-pilot .son-form-error{font-size:14px;line-height:1.5}
@media(max-width:650px){.son-forms-pilot .son-form-contact{padding:20px 16px;border-radius:14px}.son-forms-pilot .son-form-grid{grid-template-columns:1fr;gap:18px}.son-forms-pilot .son-form-contact button[type=submit]{width:100%}}

/* beta473: Align paired fields by their labels, not by helper text height. */
.son-forms-pilot:not(.son-registration-pilot) .son-form-grid{align-items:start}
.son-forms-pilot:not(.son-registration-pilot) .son-form-field{align-content:start;grid-template-rows:auto auto minmax(0,auto)}
.son-forms-pilot:not(.son-registration-pilot) .son-form-field :is(input,select){height:50px;min-height:50px}
.son-forms-pilot:not(.son-registration-pilot) .son-form-field :is(input,select,textarea){margin:0}

.son-theme-form{scroll-margin-top:110px}
.son-theme-form .son-form-success{scroll-margin-top:110px}
