/* Public CKEditor 5 content, not editor chrome or the Agent theme. The renderer marks only
   structures in the authorized Article body, without inserting a wrapper or changing legacy
   direct-child selectors. Match the shipped editor's content geometry, but never copy its
   !important declarations: later tenant/Article CSS and inline authored styles remain in charge.
   No font, heading or paragraph defaults are imposed on customer-authored portal templates. */
:where([data-sb-community-article-content]).table { display: inline-table; width: unset; margin: .9em 0; }
:where([data-sb-community-article-content]).table table { border-collapse: collapse; border-spacing: 0; border: 1px double #b3b3b3; }
:where([data-sb-community-article-content]).table .ck-table-resized { table-layout: fixed; }
:where([data-sb-community-article-content]).table td,
:where([data-sb-community-article-content]).table th { min-width: 2em; padding: .4em; border: 1px solid #bfbfbf; overflow-wrap: break-word; }
:where([data-sb-community-article-content]).table th { font-weight: bold; background: rgba(0,0,0,.05); }
:where([data-sb-community-article-content]).table > figcaption { display: table-caption; caption-side: top; text-align: center; }
:where([data-sb-community-article-content]).image { display: inline-block; clear: both; text-align: center; margin: 10px 5px; min-width: 15px; max-width: 100%; }
:where([data-sb-community-article-content]).image img { display: block; margin: 0; max-width: 100%; min-width: 15px; height: auto; }
:where([data-sb-community-article-content]).image > figcaption { display: table-caption; caption-side: bottom; }
:where([data-sb-community-article-content]):is(.image,.table) > figcaption { word-break: break-word; background: #f7f7f7; color: #333; padding: .6em; font-size: .75em; }
:where([data-sb-community-article-content]).image.image_resized { display: inline-block; box-sizing: border-box; max-width: 100%; }
:where([data-sb-community-article-content]).image.image_resized img { width: 100%; }
:where([data-sb-community-article-content]).image.image_resized > figcaption { display: inline-block; }
:where([data-sb-community-article-content]).image-inline { display: inline-flex; align-items: flex-start; max-width: 100%; }
:where([data-sb-community-article-content]).image-inline picture { display: flex; }
:where([data-sb-community-article-content]).image-inline :is(picture,img) { flex-grow: 1; flex-shrink: 1; max-width: 100%; }
:where([data-sb-community-article-content]):is(.image-style-align-left,.image-style-align-right) { clear: none; }
:where([data-sb-community-article-content]).image-style-side { float: right; max-width: 50%; margin-left: 1.5em; }
:where([data-sb-community-article-content]).image-style-align-left { float: left; margin-right: 1.5em; }
:where([data-sb-community-article-content]).image-style-align-right { float: right; margin-left: 1.5em; }
:where([data-sb-community-article-content]):is(.image-style-block-align-left,.image-style-block-align-right) { max-width: calc(100% - 1.5em); }
:where([data-sb-community-article-content]).image-style-align-center { margin-inline: auto; }
:where([data-sb-community-article-content]).image-style-block-align-left { margin-left: 0; margin-right: auto; }
:where([data-sb-community-article-content]).image-style-block-align-right { margin-left: auto; margin-right: 0; }
/* The shipped editor's base image margin overrides alignment margins with !important.
   Match its resulting geometry by source order, not !important, so tenant CSS can override. */
:where([data-sb-community-article-content]).image { margin: 10px 5px; }
:where([data-sb-community-article-content]).media { clear: both; display: block; margin: .9em 0; max-width: 100%; }
:where([data-sb-community-article-content]).todo-list { list-style: none; }
:where([data-sb-community-article-content]).todo-list li { margin-bottom: 5px; }
:where([data-sb-community-article-content]).todo-list .todo-list { margin-top: 5px; }
:where([data-sb-community-article-content]).todo-list .todo-list__label > input { appearance: none; display: inline-block; position: relative; vertical-align: middle; width: var(--ck-todo-list-checkmark-size,16px); height: var(--ck-todo-list-checkmark-size,16px); border: 0; inset-inline-start: -25px; margin-inline: 0 -15px; }
:where([data-sb-community-article-content]).todo-list .todo-list__label > input::before { display: block; position: absolute; box-sizing: border-box; content: ""; width: 100%; height: 100%; border: 1px solid #333; border-radius: 2px; }
:where([data-sb-community-article-content]).todo-list .todo-list__label > input::after { display: block; position: absolute; box-sizing: content-box; pointer-events: none; content: ""; left: calc(var(--ck-todo-list-checkmark-size,16px) / 3); top: calc(var(--ck-todo-list-checkmark-size,16px) / 5.3); width: calc(var(--ck-todo-list-checkmark-size,16px) / 5.3); height: calc(var(--ck-todo-list-checkmark-size,16px) / 2.6); border-style: solid; border-color: transparent; border-width: 0 calc(var(--ck-todo-list-checkmark-size,16px) / 8) calc(var(--ck-todo-list-checkmark-size,16px) / 8) 0; transform: rotate(45deg); }
:where([data-sb-community-article-content]).todo-list .todo-list__label > input[checked]::before { background: #269e32; border-color: #269e32; }
:where([data-sb-community-article-content]).todo-list .todo-list__label > input[checked]::after { border-color: white; }
:where([data-sb-community-article-content]).todo-list .todo-list__label__description { vertical-align: middle; }
:where([data-sb-community-article-content]).sb-article-toc { border: 1px solid #dee2e6; border-radius: 8px; padding: 12px 16px; margin-block: 12px; }
:where([data-sb-community-article-content]).page-break { display: none; }
:where([data-sb-community-article-content]).marker-yellow { background-color: #fdfd77; }
:where([data-sb-community-article-content]).marker-green { background-color: #62f962; }
:where([data-sb-community-article-content]).marker-pink { background-color: #fc7899; }
:where([data-sb-community-article-content]).marker-blue { background-color: #72ccfd; }
:where([data-sb-community-article-content]).pen-red { color: #e71313; background-color: transparent; }
:where([data-sb-community-article-content]).pen-green { color: #128a00; background-color: transparent; }
@media print {
    :where([data-sb-community-article-content]).page-break { display: block; padding: 0; margin: 0; height: 0; break-after: page; }
}
