/* Quillfort engagement blocks (forms, newsletter, comments). Brand tokens
   only, like site/assets/*.css. Served same-origin at /_qf/engage.css. */
.qf-check { display: grid; grid-template-columns: auto 1fr; gap: var(--qf-space-3); align-items: start; }
.qf-check input { width: 1.25rem; height: 1.25rem; margin-top: 0.15rem; accent-color: var(--qf-primary); }
.qf-check .qf-label { font-weight: var(--qf-weight-regular); font-size: var(--qf-step-0, 1rem); }
.qf-required { color: var(--qf-muted); font-weight: var(--qf-weight-regular); }
.qf-form [data-qf-status]:empty { display: none; }
.qf-form [data-qf-status] { margin-bottom: var(--qf-space-5); }
.qf-form [aria-disabled="true"] { opacity: 0.7; cursor: progress; }
.qf-form .qf-alert ul { margin: 0; padding-left: var(--qf-space-5); }
.qf-form .qf-alert a { color: var(--qf-danger); }
.qf-newsletter-row { display: flex; flex-wrap: wrap; gap: var(--qf-space-3); align-items: end; }
.qf-newsletter-row .qf-field { flex: 1 1 16rem; margin-bottom: 0; }

.qf-comments { border-top: 1px solid var(--qf-border); padding-top: var(--qf-space-10); }
.qf-comment-list, .qf-comment-replies { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--qf-space-6); }
.qf-comment-replies { margin-top: var(--qf-space-6); padding-left: var(--qf-space-6); border-left: 2px solid var(--qf-border); }
.qf-comment { display: grid; grid-template-columns: auto 1fr; gap: var(--qf-space-4); }
.qf-comment-avatar {
  width: 2.5rem; height: 2.5rem; border-radius: 50%; display: grid; place-items: center;
  background: var(--qf-surface-alt); color: var(--qf-text); border: 1px solid var(--qf-border);
  font-weight: var(--qf-weight-semibold); font-size: var(--qf-step-n1);
}
.qf-comment-meta { display: flex; flex-wrap: wrap; gap: var(--qf-space-2) var(--qf-space-4); align-items: baseline; }
.qf-comment-author { font-weight: var(--qf-weight-semibold); }
.qf-comment-body { white-space: pre-line; overflow-wrap: anywhere; }
.qf-comment-body p { margin: 0 0 var(--qf-space-3); }
.qf-coaching { border-color: var(--qf-warning); }
