/* Real-time phone/email validation states (field-validate.js). Mirrors .quiz-error. */
.fv-msg { display: none; font-size: 12px; line-height: 1.4; color: #dc2626; margin: -4px 0 8px; text-align: left; font-family: inherit; }
.fv-msg.is-on { display: block; }
.fv-msg.is-ok { color: #16a34a; }
.fv-msg.is-suggest { color: #475569; }
.fv-suggest { font: inherit; font-weight: 600; color: var(--midnight, #454da1); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; }
.fv-suggest:hover { color: var(--turquoise, #21bfcf); }

input.is-invalid { border-color: #ff8a8a !important; box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12) !important; }
input.is-valid {
  border-color: #6fd3a5 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
  padding-right: 36px !important;
}

/* Dark popups (logo brief flow) */
.lgv1-brief-flow .fv-msg { color: #fca5a5; }
.lgv1-brief-flow .fv-msg.is-ok { color: #86efac; }
.lgv1-brief-flow .fv-msg.is-suggest { color: #cbd5e1; }
.lgv1-brief-flow .fv-suggest { color: #fff; }
.lgv1-brief-flow input.is-valid { background-color: transparent; }
