/* Copyright (c) 2026 Web Upp Limited. Licensed under the GPL-2.0-or-later; see LICENSE. */
/* WebUpp Platform Theme: the forms stylesheet (3.20.0, R37; handle upp-forms, inc/helpers-forms.php). Every form control, label, help line, error, tick and submit on a page that drew a form, from the --wu-field-*, --wu-button-* and --wu-submit-* slots (the bridge prints the site's from theme.json; each falls back to the neutral value). Element rules sit in :where() or at element weight; Gravity Forms and Contact Form 7 by their stable classes, with their own CSS left off (Gravity Forms) or carrying no look (Contact Form 7). Loaded only where a form drew and only while the child keeps upp-sections. Measured at the R37 gate G4. */
:root{--wf-face:var(--wu-field-face,var(--wu-ground,#fff));--wf-text:var(--wu-field-text,var(--wu-text,#1c1c1c));--wf-line:var(--wu-field-line,var(--wu-line-strong,#c2c2c2));--wf-lw:var(--wu-field-line-width,1px);--wf-focus:var(--wu-field-line-focus,var(--wu-accent,#2e2e2e));--wf-ring:var(--wu-field-ring,0 0 0 3px color-mix(in srgb,var(--wf-focus) 25%,transparent));--wf-ph:var(--wu-field-placeholder,var(--wu-muted,#5e5e5e));--wf-err:var(--wu-field-error,#b3261e);--wf-tick:var(--wu-field-tick,var(--wu-accent,#2e2e2e));--wf-r:var(--wu-field-radius,8px);--wf-py:var(--wu-field-pad-y,12px);--wf-px:var(--wu-field-pad-x,14px);--wf-size:var(--wu-field-size,16px);--wf-gap:var(--wu-field-gap,16px);--wf-sf:var(--wu-submit-face,var(--wu-button-face,var(--wu-text,#1c1c1c)));--wf-st:var(--wu-submit-text,var(--wu-button-text,var(--wu-ground,#fff)));--wf-sb:var(--wu-submit-border,var(--wu-button-border,var(--wu-gradient,linear-gradient(#1c1c1c,#1c1c1c))));--wf-sh:var(--wu-submit-hover-face,var(--wu-button-hover-face,var(--wu-gradient,#1c1c1c)));--wf-sht:var(--wu-submit-hover-text,var(--wu-button-hover-text,#fff));--wf-sg:var(--wu-submit-glow,0 10px 40px -10px var(--wu-button-glow,color-mix(in srgb,var(--wu-glow-tint,#1c1c1c) 70%,transparent)))}
input:where(:not([type=checkbox],[type=radio],[type=submit],[type=button],[type=reset],[type=hidden],[type=file],[type=range],[type=color],[type=image])),textarea,select{box-sizing:border-box;max-width:100%;padding:var(--wf-py) var(--wf-px);border:var(--wf-lw) solid var(--wf-line);border-radius:var(--wf-r);background:var(--wf-face);color:var(--wf-text);font:inherit;font-size:var(--wf-size);line-height:1.4}
:where(textarea){min-height:8em;resize:vertical}
:where(input,textarea,select)::placeholder{color:var(--wf-ph);opacity:1}
:where(input,textarea,select):focus-visible{outline:none;border-color:var(--wf-focus);box-shadow:var(--wf-ring)}
:where(input,textarea,select):user-invalid,.gfield_error :is(input,textarea,select),.wpcf7-form .wpcf7-not-valid{border-color:var(--wf-err)}
:where(input[type=checkbox],input[type=radio]){accent-color:var(--wf-tick);width:1.1em;height:1.1em;margin:0 .5em 0 0;vertical-align:-.15em}
:where(.gfield_label,.gform-field-label--type-sub,.comment-form label,.wpcf7-form label,.wp-block-search__label){display:block;margin:0 0 6px;color:var(--wu-field-label-colour,var(--wu-text,inherit));font-weight:var(--wu-field-label-weight,600);font-size:var(--wu-field-label-size,15px);text-transform:var(--wu-field-label-case,none)}
:where(.gchoice .gform-field-label,.wpcf7-list-item-label){display:inline;font-weight:400;text-transform:none}
:where(.gfield_description,.comment-notes,.wpcf7-form small){display:block;margin-top:6px;color:var(--wu-field-help-colour,var(--wu-muted,#5e5e5e));font-size:var(--wu-field-help-size,14px)}
:where(.gfield_required){color:var(--wf-err);margin-left:2px}
:where(.validation_message),.wpcf7 .wpcf7-not-valid-tip{display:block;margin-top:6px;color:var(--wf-err);font-size:var(--wu-field-help-size,14px)}
:where(.gform_validation_errors),.wpcf7 form.wpcf7-form .wpcf7-response-output{margin:0 0 var(--wf-gap);padding:12px 14px;border:1px solid var(--wf-err);border-radius:var(--wf-r);color:var(--wf-err)}
:where(.gform_validation_errors) h2{margin:0;font-size:var(--wf-size);color:inherit}
.wpcf7 form.wpcf7-form .wpcf7-response-output{margin:var(--wf-gap) 0 0}
.wpcf7 form.wpcf7-form:is(.invalid,.unaccepted,.payment-required,.failed,.aborted,.spam) .wpcf7-response-output{border-color:var(--wf-err)}
.wpcf7 form.wpcf7-form.sent .wpcf7-response-output{border-color:var(--wu-success,#3d3d3d);color:var(--wu-text,inherit)}
.gform_wrapper .gform_fields{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--wf-gap);margin:0;padding:0;border:0}
.gform_wrapper .gfield{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0}
@media (min-width:768px){.gform_wrapper .gfield--width-half{grid-column:span 6}.gform_wrapper .gfield--width-third{grid-column:span 4}.gform_wrapper .gfield--width-quarter{grid-column:span 3}}
.gform_wrapper .ginput_container input:not([type=checkbox],[type=radio]),.gform_wrapper .ginput_container textarea,.gform_wrapper .ginput_container select{width:100%}
.gform_wrapper .ginput_complex{display:flex;flex-wrap:wrap;gap:var(--wf-gap)}.gform_wrapper .ginput_complex>span{flex:1 1 12em}
.gform_wrapper :is(.gfield_checkbox,.gfield_radio){display:grid;gap:8px}
.gform_wrapper .gform_validation_container,.gform_wrapper .gfield_visibility_hidden,.gform_wrapper .gform_hidden{display:none!important}
.gform_wrapper .gform_footer{margin-top:var(--wf-gap)}
.wpcf7-form p{margin:0 0 var(--wf-gap)}.wpcf7-form :where(input:not([type=checkbox],[type=radio],[type=submit]),textarea,select){width:100%}
:where(.comment-form) :where(input:not([type=checkbox],[type=submit]),textarea){width:100%}
.gform_wrapper .gform_button,.gform_wrapper .gform_next_button,.wpcf7-form .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;padding:var(--wu-button-pad-y,14px) var(--wu-button-pad-x,22px);border:var(--wu-button-border-width,1px) solid transparent;border-radius:var(--wu-button-radius,var(--wu-radius,8px));background:linear-gradient(var(--wf-sf),var(--wf-sf)) padding-box,var(--wf-sb) border-box;color:var(--wf-st);font-family:var(--wu-button-font,var(--wu-body,inherit));font-size:var(--wu-button-size,15px);font-weight:var(--wu-button-weight,500);line-height:1;text-transform:var(--wu-button-case);cursor:pointer;transition:background .2s,box-shadow .25s,color .2s}
.gform_wrapper .gform_button:hover,.gform_wrapper .gform_next_button:hover,.wpcf7-form .wpcf7-submit:hover{background:var(--wf-sh);color:var(--wf-sht);box-shadow:var(--wf-sg)}
.gform_wrapper .gform_button:focus-visible,.gform_wrapper .gform_next_button:focus-visible,.wpcf7-form .wpcf7-submit:focus-visible{outline:2px solid var(--wf-focus);outline-offset:2px}
.wpcf7-spinner{margin:0 0 0 12px;vertical-align:middle}
