/* Shared visual controls; validation, submission and upload remain plugin-owned. */
.nc-contact-form{font-family:inherit}
.nc-contact-form .nc-contact-field label{font-size:13px;font-weight:600;line-height:1.5;margin-bottom:8px}
.nc-contact-form .nc-contact-field :is(input:not([type=checkbox]),textarea,select){box-sizing:border-box;min-height:48px;padding:13px 14px;border:1px solid var(--field-line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-size:15px;line-height:1.5}
.nc-contact-form .nc-contact-field textarea{min-height:150px}
.nc-contact-form .nc-contact-fields{gap:22px 18px}
.nc-contact-form button{min-height:48px;padding:14px 24px;border:0;border-radius:4px;background:var(--accent);color:var(--surface);font:inherit;font-size:15px;font-weight:600;line-height:1.5}
.nc-contact-form button:hover{background:var(--accent-strong)}
.nc-contact-form .nc-contact-field :is(input,textarea,select):focus-visible,.nc-contact-form button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.nc-contact-form :is(.nc-contact-help,.nc-contact-notice,.nc-contact-response,.nc-files-file-help){font-size:13px;line-height:1.7}
:is(.nc-contact-form,.nc-quotes-request) input[type=file]{max-width:100%;overflow:hidden;font-size:13px;line-height:1.5;padding:9px}
:is(.nc-contact-form .nc-contact-field,.nc-quotes-request .nc-quotes-field) input[type=file]::file-selector-button{font:inherit;font-size:13px;font-weight:600;background:var(--muted);color:var(--ink);padding:8px 12px;border:1px solid var(--line);border-radius:4px;margin-right:10px}
.gdn-contact-panel .nc-contact-field :is(input:not([type=checkbox]),textarea,select){background:var(--ink);color:var(--surface);border-color:var(--text-subtle)}
.gdn-contact-panel .nc-contact-field label{color:var(--surface)}
.gdn-contact-panel :is(.nc-contact-notice,.nc-contact-response){color:var(--on-dark-text)}
.gdn-contact-panel :is(input,textarea,select,button):focus-visible{outline-color:var(--accent-on-dark)}
.gdn-contact-panel--compact .gdn-contact-panel-inner{display:flex;justify-content:space-between;align-items:center;gap:28px;max-width:var(--page)}
.gdn-contact-panel--compact h2{text-align:left;margin:0;font-size:clamp(22px,2.5vw,30px)}
.gdn-contact-panel--compact a.gdn-content-button{flex:none;display:inline-block;color:var(--surface);background:var(--accent);text-decoration:none;margin:0;padding:14px 24px;min-height:48px;border-radius:4px;font-size:15px;font-weight:600;line-height:1.5}
.gdn-contact-panel--compact a.gdn-content-button:hover{background:var(--accent-strong)}
@media(max-width:689px){.nc-contact-form .nc-contact-field :is(input:not([type=checkbox]),textarea,select){font-size:16px}.gdn-contact-panel--compact .gdn-contact-panel-inner{flex-direction:column;align-items:flex-start}}
