/* styles/default/components/c-richtext.css — #30 typografie vykresleného rich textu; stejný soubor se načítá do TinyMCE (body.c-richtext)
   Created :: 2026-10-22
   Updated :: 2026-10-29
   2026-10-29 :: 1.0.4 – tělo editoru bez fokusového prstence, placeholder v barvě text-subtle
   2026-10-28 :: M9 – úklid a revize (viz 04 kap. 3) */

.c-richtext { font-size: var(--fs-md); line-height: var(--lh-relaxed); color: var(--color-text); overflow-wrap: anywhere; }

/* Uvnitř TinyMCE (content_css): fokus kreslí vnější rám (.c-editor.is-focused), tělo textu bez vlastního prstence (base.css :focus-visible by kreslil čáru pod placeholderem);
   placeholder čitelný i v tmavém motivu (oxide-dark má rgba(34,47,62,.7)) – 1.0.4 */
body.mce-content-body { padding-left: var(--sp-4) !important; padding-right: var(--sp-4) !important; }   /* plugin autoresize zapisuje inline padding-left/right: 1px (měření výšky) a přebíjí body.c-richtext – !important je jediná cesta k odstupu textu od rámu (1.0.5) */
body.mce-content-body:focus, body.mce-content-body:focus-visible { outline: none; box-shadow: none; }
.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before { color: var(--color-text-subtle); }
.mce-content-body:not([dir="rtl"])[data-mce-placeholder]:not(.mce-visualblocks)::before { left: var(--sp-4); top: var(--sp-3); }   /* TinyMCE sází placeholder absolutně na left: 1px tímto přesným selektorem (vyšší specificita) – stejný selektor, aby platil náš odstup = začátek textu (1.0.5) */
.c-richtext--compact { font-size: var(--fs-base); line-height: var(--lh-base); }

.c-richtext > * + * { margin-top: var(--sp-2); }
.c-richtext h3 { font-size: var(--fs-lg); font-weight: var(--fw-semibold); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); }
.c-richtext h4 { font-size: var(--fs-md); font-weight: var(--fw-semibold); line-height: var(--lh-tight); }
.c-richtext > * + h3, .c-richtext > * + h4 { margin-top: var(--sp-4); }
.c-richtext--compact h3 { font-size: var(--fs-md); }
.c-richtext--compact h4 { font-size: var(--fs-base); }

.c-richtext ul, .c-richtext ol { padding-left: 2.2rem; }
.c-richtext ul { list-style: disc; }
.c-richtext ol { list-style: decimal; }
.c-richtext ul ul { list-style: circle; }
.c-richtext li + li { margin-top: var(--sp-half); }
.c-richtext li > ul, .c-richtext li > ol { margin-top: var(--sp-half); }

.c-richtext a { color: var(--color-link); text-decoration: none; }
.c-richtext a:hover { text-decoration: underline; text-underline-offset: .15em; }

.c-richtext code { padding: .05em .4em; border: 1px solid var(--color-border); border-radius: var(--r-xs); background: var(--color-surface-2); font-family: var(--font-mono); font-size: .9em; }
.c-richtext pre {
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  background: var(--color-surface-2);
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  tab-size: 2;
}
.c-richtext pre code { padding: 0; border: 0; background: none; font-size: inherit; }

.c-richtext blockquote { padding: var(--sp-half) 0 var(--sp-half) var(--sp-3); border-left: var(--stroke-3) solid var(--color-border-strong); color: var(--color-text-muted); }
.c-richtext blockquote > * + * { margin-top: var(--sp-1); }

.c-richtext mark { background: var(--mark-bg); color: inherit; padding: 0 .15em; border-radius: var(--r-xs); }

.c-richtext img { display: block; max-width: 100%; height: auto; border: 1px solid var(--color-border); border-radius: var(--r-md); cursor: zoom-in; }
.c-richtext img + img { margin-top: var(--sp-2); }

/* Tělo TinyMCE (jen uvnitř iframe editoru – stránka nemá <body class="c-richtext">) */
body.c-richtext { margin: 0; padding: var(--sp-3) var(--sp-4); min-height: 100%; background: var(--color-surface); }
body.c-richtext img[data-mce-selected] { outline: var(--stroke-2) solid var(--color-primary); outline-offset: var(--stroke-2); }
