.verify-state{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding:10px 14px;border-radius:12px;font-size:.92rem;line-height:1.4}
.verify-state[hidden]{display:none}
.verify-state.pending{background:#f4f6f8;color:var(--m)}
.verify-state.ok{background:#ecf8ef;color:#17692f}
.verify-state.bad{background:#fdeeee;color:#a31d1d}
.verify-state .vt{flex:1 1 180px;min-width:0}
.verify-spin{flex:0 0 16px;height:16px;border:2px solid #cfd6dd;border-top-color:var(--ol);border-radius:50%;animation:verify-spin .8s linear infinite}
@keyframes verify-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.verify-spin{animation-duration:2.4s}}
.verify-retry{margin-left:auto;padding:7px 14px;border-radius:999px;border:1px solid currentColor;background:#fff;color:inherit;font:inherit;font-weight:800;font-size:.85rem;cursor:pointer}
.verify-retry:focus-visible{outline:2px solid var(--ol);outline-offset:2px}

/* Quote form budget hints (fix #21) */
.budget-hint{display:block;margin-top:8px;padding:9px 12px;border-radius:10px;background:#fff4ea;color:#7a3d00;font-size:.86rem;font-weight:500;line-height:1.45}
.budget-hint[hidden]{display:none}
.budget-hint b{font-weight:800}

/* Keep hidden quote checkboxes inside their card so the page cannot scroll sideways on phones (Oct 17, 2026). */
.choice{position:relative}.choice input{inset:0;width:100%;height:100%;margin:0}
