/* One Voice — formatted text (editor in admin, display in app and previews) */
.rich { line-height: 1.6; color: #2f3b40; overflow-wrap: anywhere; }
.rich > :first-child { margin-top: 0; }
.rich > :last-child { margin-bottom: 0; }
.rich p { margin: 0 0 10px; }
.rich h3 { margin: 16px 0 6px; font-size: 1.2em; line-height: 1.3; color: #1b2327; }
.rich h4 { margin: 14px 0 4px; font-size: 1.04em; line-height: 1.3; color: #1b2327; text-transform: none; letter-spacing: 0; }
.rich ul, .rich ol { margin: 0 0 10px; padding-left: 22px; }
.rich li { margin: 2px 0; }
.rich ul li::marker { color: #e39a28; }
.rich blockquote { margin: 10px 0; padding: 8px 14px; border-left: 3px solid #e39a28; background: #fdf3e3; border-radius: 0 8px 8px 0; font-style: italic; }
.rich a { color: #35668f; font-weight: 600; text-decoration: underline; }
.rich strong { font-weight: 700; color: #1b2327; }

/* editor */
.rt { border: 1px solid #e4e7e9; border-radius: 12px; background: #fff; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.rt:focus-within { border-color: #e39a28; box-shadow: 0 0 0 3px rgba(227,154,40,.16); }
.rt-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; padding: 6px 8px; border-bottom: 1px solid #edf0f1; background: #fafbfb; }
.rt-btn { width: 32px; height: 32px; border: 0; border-radius: 8px; background: none; display: grid; place-items: center; color: #44535a; cursor: pointer; font: inherit; }
.rt-btn:hover { background: #eceff0; color: #1b2327; }
.rt-btn.on { background: #fdf3e3; color: #c7811a; }
.rt-t { font-size: 13px; font-style: normal; }
i.rt-t { font-style: italic; font-family: Georgia, serif; font-size: 15px; }
u.rt-t { font-weight: 700; }
.rt-sep { width: 1px; height: 20px; background: #e4e7e9; margin: 0 4px; }
.rt-link { display: flex; gap: 6px; padding: 8px; border-bottom: 1px solid #edf0f1; background: #fffaf2; }
.rt-link input { flex: 1; height: 34px; border: 1px solid #d6dbde; border-radius: 8px; padding: 0 10px; font: inherit; outline: 0; }
.rt-link input:focus { border-color: #e39a28; }
.rt-link button { height: 34px; padding: 0 12px; border-radius: 8px; border: 1px solid #e4e7e9; background: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.rt-link .rt-apply { background: #e39a28; border-color: #e39a28; color: #fff; }
.rt-area { min-height: 180px; max-height: 460px; overflow-y: auto; padding: 14px 16px; outline: 0; font-size: 15px; }
.rt-area:empty::before { content: attr(data-placeholder); color: #9aa5aa; pointer-events: none; }
.rt-foot { display: flex; justify-content: space-between; gap: 10px; padding: 6px 12px; border-top: 1px solid #edf0f1; font-size: 12px; color: #8a969b; background: #fafbfb; }
