/* Voucher-holder survey add-on. Loaded after styles.css; does not change shared styles. */
.vh-q { margin: 0; }
.vh-q + .vh-q { margin-top: 1.25rem; }
.vh-num { display: inline-block; margin-right: .4rem; font-weight: 700; color: var(--accent); }
.field input[type="number"] {
  display: block; width: 100%; margin-top: .35rem; padding: .65rem .75rem;
  font: inherit; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 8px;
}
.field input[type="number"]:focus-visible { outline: 3px solid #8eb9a3; outline-offset: 1px; border-color: var(--accent); }
.field input:invalid:not(:placeholder-shown):not(:focus) { border-color: #8b3a3a; }
.vh-err { margin: .35rem 0 0; font-size: .9rem; color: #8b3a3a; }
.survey-form .card { padding: 1.1rem 1rem; }
.choice { padding-block: .6rem; min-height: 44px; align-items: center; }
.choice input { width: 1.2rem; height: 1.2rem; margin-top: 0; }
.field select { min-height: 46px; }
.field input[type="text"], .field input[type="email"], .field input[type="number"] { min-height: 46px; }
.vh-sub { margin-left: .5rem; }
.btn.vh-submit { width: 100%; text-align: center; padding: .9rem 1.2rem; font-size: 1.05rem; }
.hp { position: absolute; left: -9999px; }
@media (min-width: 720px) { .btn.vh-submit { width: auto; } }
