/* Message us: channel picker and contact form (contact.js), on public pages and the client portal */
/* "Message us" popup (contact.js) */
.lf-contact { z-index: 10000; }   /* above the floating bubble (9998) */
.lf-contact-card { max-width: min(94vw, 520px); padding: 26px 24px; }
.lf-contact .modal-title { font-size: 21px; font-weight: 800; margin: 0 0 4px; }
.lf-c-label { display: block; font-size: 12.5px; font-weight: 600; color: var(--text-muted); margin: 12px 0 6px; }
.lf-contact .form-input { width: 100%; }
.lf-contact textarea.form-input { resize: vertical; min-height: 110px; line-height: 1.5; }
.lf-c-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lf-c-count { text-align: right; font-size: 11.5px; color: var(--text-dim); margin-top: 4px; }
.lf-c-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#lf-c-captcha { margin-top: 12px; }
.lf-c-error { color: var(--color-danger); font-size: 13px; margin: 10px 0 0; min-height: 0; }
.lf-c-error:empty { display: none; }
.lf-c-send { width: 100%; margin-top: 14px; padding: 12px; }
.lf-c-done { text-align: center; padding: 10px 0 4px; }
.lf-c-done .modal-subtitle { text-align: center; }
.lf-c-done-icon { width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 50%; display: grid; place-items: center; font-size: 26px; font-weight: 800;
    color: #fff; background: linear-gradient(135deg, #22c55e, #16a34a); }
@media (max-width: 520px) {
    .lf-c-row { grid-template-columns: 1fr; gap: 0; }
    .lf-contact-card { padding: 22px 16px; }
}

/* Channel picker */
.lf-pick-card { max-width: min(94vw, 440px); }
.lf-pick-list { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.lf-pick { display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px 16px; border-radius: 14px; text-align: left; cursor: pointer;
    font: inherit; color: var(--text-main); text-decoration: none; background: var(--bg-alt, rgba(255,255,255,0.03));
    border: 1px solid var(--border-glass); transition: border-color .15s, transform .15s, background .15s; }
.lf-pick:hover, .lf-pick:focus-visible { border-color: var(--color-accent, #3b82f6); transform: translateY(-1px); outline: none; }
.lf-pick-icon { flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 19px; color: #fff; background: #3b82f6; }
.lf-pick-chat .lf-pick-icon { background: #1d4ed8; }
.lf-pick-telegram .lf-pick-icon { background: #229ED9; }
.lf-pick-whatsapp .lf-pick-icon { background: #25D366; }
.lf-pick-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lf-pick-text strong { font-size: 14.5px; }
.lf-pick-text small { font-size: 12.5px; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lf-pick-go { color: var(--text-muted); font-size: 16px; }
.lf-pick-live { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #22c55e; margin-right: 7px; box-shadow: 0 0 0 3px rgba(34,197,94,0.2); vertical-align: middle; }
.lf-pick-more { margin: 14px 0 0; font-size: 12.5px; color: var(--text-muted); text-align: center; }
.lf-pick-more a { color: var(--text-muted); }
