/* VectroWeb shared contact form. Colors, font and shapes come from the site's theme (tools/form_page.py). */
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); }
body { color: var(--text); font: 1rem/1.5 var(--font); }
main { padding: 2px; }
.vw-contact { display: grid; gap: .3rem; }
.vw-contact label { font-weight: var(--label-weight); font-size: var(--label-size); letter-spacing: var(--label-spacing); text-transform: var(--label-case); margin-top: .7rem; }
.vw-contact label:first-child { margin-top: 0; }
.vw-contact input, .vw-contact textarea { font: inherit; width: 100%; color: var(--field-text); background: var(--field); border: var(--field-border); border-radius: var(--radius); padding: .75rem .85rem; }
[data-fields="underline"] .vw-contact input, [data-fields="underline"] .vw-contact textarea { border-width: 0 0 1px; padding-inline: 0; }
.vw-contact textarea { min-height: 7.5rem; resize: vertical; }
.vw-contact input:focus-visible, .vw-contact textarea:focus-visible, .vw-contact button:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }
.vw-contact button { justify-self: start; margin-top: 1.1rem; font: 700 1rem var(--font); color: var(--accent-text); background: var(--accent); border: 0; border-radius: var(--button-radius); padding: .9rem 1.6rem; cursor: pointer; }
.vw-contact button:hover { filter: brightness(1.08); }
.vw-contact button:disabled { opacity: .7; cursor: default; }
.vw-contact-status { min-height: 1.5em; margin: .5rem 0 0; }
.vw-turnstile:empty { display: none; }
.vw-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
