/* Keep WS Form's validation/runtime while using the landing design tokens. */
#lead-form .wsf-form { margin: 0; padding: 0; color: inherit; font: inherit; }
#lead-form .wsf-grid { margin: 0; }
#lead-form .wsf-group, #lead-form .wsf-section { margin: 0; padding: 0; width: 100%; max-width: none; border: 0; }
#lead-form .livya-wsf-fields > .wsf-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1rem; }
#lead-form .wsf-field-wrapper { width: 100% !important; max-width: none !important; padding: 0; margin: 0; flex: none !important; }
#lead-form .lead-field--full, #lead-form .livya-wsf-consent, #lead-form .livya-wsf-submit { grid-column: 1 / -1; }
#lead-form .lead-field > label { margin: 0; color: var(--vb-color-ink); font: inherit; font-size: var(--vb-fs-small); font-weight: 600; }
#lead-form .lead-field > input, #lead-form .lead-field > textarea { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: .75rem .875rem; border: var(--vb-border-hair) solid var(--vb-color-rule); border-radius: var(--vb-radius-sm); background: var(--vb-color-paper); color: var(--vb-color-ink); font: inherit; font-size: max(16px, var(--vb-fs-small)); line-height: normal; box-shadow: none; }
#lead-form .lead-field > textarea { resize: vertical; }
#lead-form .wsf-label-required { color: inherit; }
#lead-form .wsf-required-wrapper .wsf-text-danger { color: inherit; }
#lead-form .livya-wsf-consent { padding-block: .25rem; }
#lead-form .livya-wsf-consent [data-row-checkbox] { position: relative; display: grid; grid-template-columns: 1.125rem minmax(0, 1fr); align-items: start; gap: 0 .75rem; }
#lead-form .livya-wsf-consent .wsf-invalid-feedback { grid-column: 2; }
#lead-form .livya-wsf-consent input[type="checkbox"] { position: static; appearance: auto; opacity: 1; flex: 0 0 1.125rem; width: 1.125rem; height: 1.125rem; margin: .2rem 0 0; accent-color: var(--vb-color-accent); }
#lead-form .livya-wsf-consent input + label { padding: 0; margin: 0; color: var(--vb-color-ink); font: inherit; font-size: var(--vb-fs-small); cursor: pointer; }
#lead-form .livya-wsf-consent input + label::before, #lead-form .livya-wsf-consent input + label::after { display: none; }
#lead-form .lead-submit { display: flex; align-items: center; width: 100%; justify-content: space-between; padding: .9em 1.6em; border: var(--vb-border-hair) solid var(--vb-color-accent); border-radius: var(--vb-radius-btn); background: var(--vb-color-accent); color: var(--vb-color-accent-contrast); font: inherit; font-size: var(--vb-fs-small); font-weight: var(--vb-weight-strong); line-height: 1; letter-spacing: .01em; box-shadow: none; }
#lead-form .lead-submit::after { content: '↗'; }
#lead-form .lead-submit { min-height: 48px; }
#lead-form .lead-submit:hover { background: var(--vb-color-accent-hover); border-color: var(--vb-color-accent-hover); }
#lead-form .lead-submit:disabled { cursor: wait; opacity: .65; }
#lead-form .wsf-invalid-feedback { font: inherit; font-size: var(--vb-fs-small); }
#lead-form .wsf-alert { margin-top: 1rem; padding: 1rem; border: 0; border-left: 3px solid var(--vb-color-accent); border-radius: 0; background: var(--vb-color-accent-soft); color: var(--vb-color-ink); font: inherit; font-size: var(--vb-fs-small); }
#lead-form .livya-wsf-hidden { display: none; }
#lead-form :is(input, textarea, button):focus-visible { outline: 2px solid var(--vb-color-accent); outline-offset: 3px; }
@media (max-width: 480px) { #lead-form .livya-wsf-fields > .wsf-grid { grid-template-columns: 1fr; } }

/* In the favorites popup the form is a narrow column: one field per row. */
.favorites-contact #lead-form .livya-wsf-fields > .wsf-grid { grid-template-columns: 1fr; }
.favorites-contact #lead-form .wsf-form { padding: 0; }
