/* Shared typography for formatted captions and their editor. */
.pub-caption, .publication-caption-editor .ql-editor { line-height: 1.65; overflow-wrap: anywhere; }
:is(.pub-caption, .publication-caption-editor .ql-editor) > :is(p, ul, ol, blockquote) { margin: 0; }
:is(.pub-caption, .publication-caption-editor .ql-editor) > :is(p, ul, ol, blockquote) + :is(p, ul, ol, blockquote) { margin-top: .75rem; }
.pub-caption ul, .pub-caption ol { padding-left: 1.5rem; }
.pub-caption ul { list-style-type: disc; }
.pub-caption ol { list-style-type: decimal; }
.pub-caption li + li { margin-top: .25rem; }
:is(.pub-caption, .publication-caption-editor .ql-editor) blockquote { border-left: 3px solid #acc5e7; padding-left: 1rem; color: #526174; font-style: italic; }
:is(.pub-caption, .publication-caption-editor .ql-editor) a { color: #0047a0; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
:is(.pub-caption, .publication-caption-editor .ql-editor) .ql-size-small { font-size: .85em; }
:is(.pub-caption, .publication-caption-editor .ql-editor) .ql-size-large { font-size: 1.15em; }
:is(.pub-caption, .publication-caption-editor .ql-editor) .ql-size-huge { font-size: 1.4em; }

:is(.pub-caption, .publication-caption-editor) .course-color-000000 { color: #000000; }
:is(.pub-caption, .publication-caption-editor) .course-color-red { color: #e60000; }
:is(.pub-caption, .publication-caption-editor) .course-color-orange { color: #ff9900; }
:is(.pub-caption, .publication-caption-editor) .course-color-ffff00 { color: #ffff00; }
:is(.pub-caption, .publication-caption-editor) .course-color-green { color: #008a00; }
:is(.pub-caption, .publication-caption-editor) .course-color-blue { color: #0066cc; }
:is(.pub-caption, .publication-caption-editor) .course-color-purple { color: #9933ff; }
:is(.pub-caption, .publication-caption-editor) .course-color-374151 { color: #374151; }
:is(.pub-caption, .publication-caption-editor) .course-color-ffffff { color: #ffffff; }
:is(.pub-caption, .publication-caption-editor) .course-color-facccc { color: #facccc; }
:is(.pub-caption, .publication-caption-editor) .course-color-ffebcc { color: #ffebcc; }
:is(.pub-caption, .publication-caption-editor) .course-color-ffffcc { color: #ffffcc; }
:is(.pub-caption, .publication-caption-editor) .course-color-cce8cc { color: #cce8cc; }
:is(.pub-caption, .publication-caption-editor) .course-color-cce0f5 { color: #cce0f5; }
:is(.pub-caption, .publication-caption-editor) .course-color-ebd6ff { color: #ebd6ff; }
:is(.pub-caption, .publication-caption-editor) .course-color-bbbbbb { color: #bbbbbb; }
:is(.pub-caption, .publication-caption-editor) .course-color-f06666 { color: #f06666; }
:is(.pub-caption, .publication-caption-editor) .course-color-ffc266 { color: #ffc266; }
:is(.pub-caption, .publication-caption-editor) .course-color-ffff66 { color: #ffff66; }
:is(.pub-caption, .publication-caption-editor) .course-color-66b966 { color: #66b966; }
:is(.pub-caption, .publication-caption-editor) .course-color-66a3e0 { color: #66a3e0; }
:is(.pub-caption, .publication-caption-editor) .course-color-c285ff { color: #c285ff; }
:is(.pub-caption, .publication-caption-editor) .course-color-888888 { color: #888888; }
:is(.pub-caption, .publication-caption-editor) .course-color-a10000 { color: #a10000; }
:is(.pub-caption, .publication-caption-editor) .course-color-b26b00 { color: #b26b00; }
:is(.pub-caption, .publication-caption-editor) .course-color-b2b200 { color: #b2b200; }
:is(.pub-caption, .publication-caption-editor) .course-color-006100 { color: #006100; }
:is(.pub-caption, .publication-caption-editor) .course-color-0047b2 { color: #0047b2; }
:is(.pub-caption, .publication-caption-editor) .course-color-6b24b2 { color: #6b24b2; }
:is(.pub-caption, .publication-caption-editor) .course-color-444444 { color: #444444; }
:is(.pub-caption, .publication-caption-editor) .course-color-5c0000 { color: #5c0000; }
:is(.pub-caption, .publication-caption-editor) .course-color-663d00 { color: #663d00; }
:is(.pub-caption, .publication-caption-editor) .course-color-666600 { color: #666600; }
:is(.pub-caption, .publication-caption-editor) .course-color-003700 { color: #003700; }
:is(.pub-caption, .publication-caption-editor) .course-color-002966 { color: #002966; }
:is(.pub-caption, .publication-caption-editor) .course-color-3d1466 { color: #3d1466; }

.publication-caption-editor[hidden], [data-caption-field] [hidden] { display: none !important; }
.publication-caption-editor .ql-toolbar.ql-snow { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .15rem; padding: .4rem; border-color: #ced9e7; border-radius: .65rem .65rem 0 0; background: #f7f9fc; font-family: inherit; }
.publication-caption-editor .ql-toolbar.ql-snow .ql-formats { display: flex; align-items: center; margin: 0 .3rem 0 0; }
.publication-caption-editor .ql-toolbar button { width: 36px; height: 36px; padding: .5rem; }
.publication-caption-editor .ql-toolbar .ql-picker { height: 36px; }
.publication-caption-editor .ql-toolbar .ql-picker-label { display: flex; align-items: center; min-height: 36px; padding-top: 0; padding-bottom: 0; }
.publication-caption-editor .ql-toolbar .ql-color-picker { width: 36px; }
.publication-caption-editor .ql-toolbar .ql-color-picker .ql-picker-label { padding: .5rem; }
.publication-caption-editor .ql-container.ql-snow { border-color: #ced9e7; border-radius: 0 0 .65rem .65rem; background: #fff; font-family: inherit; }
.publication-caption-editor .ql-editor { min-height: 220px; max-height: 480px; padding: 1rem; font-size: 1rem; color: #35485e; }
.publication-caption-editor .ql-editor:focus-visible { outline: 3px solid #0047a0; outline-offset: -3px; border-radius: 0 0 .65rem .65rem; }
.publication-caption-editor .ql-editor[aria-invalid='true'] { outline: 2px solid #b42335; outline-offset: -2px; }
.publication-caption-editor .ql-toolbar :is(button, .ql-picker-label, .ql-picker-item):focus-visible { outline: 2px solid #0047a0; outline-offset: 1px; }
.publication-caption-editor .ql-snow .ql-picker.ql-size .ql-picker-label::before,
.publication-caption-editor .ql-snow .ql-picker.ql-size .ql-picker-item::before { content: 'Normal'; }
.publication-caption-editor .ql-snow .ql-picker.ql-size [data-value='small']::before { content: 'Petit'; }
.publication-caption-editor .ql-snow .ql-picker.ql-size [data-value='large']::before { content: 'Grand'; }
.publication-caption-editor .ql-tooltip { white-space: normal; max-width: min(360px, calc(100% - 1rem)); }
.publication-caption-editor .ql-tooltip::before { content: 'Lien :'; }
.publication-caption-editor .ql-tooltip.ql-editing::before { content: 'Adresse :'; }
.publication-caption-editor .ql-tooltip a.ql-action::after { content: 'Modifier'; }
.publication-caption-editor .ql-tooltip.ql-editing a.ql-action::after { content: 'Enregistrer'; }
.publication-caption-editor .ql-tooltip a.ql-remove::before { content: 'Supprimer'; }
.publication-caption-editor .ql-tooltip input[type='text'] { max-width: 100%; font-size: 1rem; }
.publication-caption-error { color: #b42335; font-size: .85rem; }

@media (max-width: 575px), (pointer: coarse) {
  .publication-caption-editor .ql-toolbar button { width: 44px; height: 44px; padding: .75rem; }
  .publication-caption-editor .ql-toolbar .ql-picker, .publication-caption-editor .ql-toolbar .ql-picker-label { min-height: 44px; height: 44px; }
  .publication-caption-editor .ql-toolbar .ql-color-picker { position: static; width: 44px; }
  .publication-caption-editor .ql-toolbar .ql-color-picker .ql-picker-label { padding: .75rem; }
  .publication-caption-editor .ql-toolbar .ql-color-picker .ql-picker-options { left: .4rem; width: 192px; }
  .publication-caption-editor .ql-toolbar .ql-color-picker .ql-picker-item { width: 24px; height: 24px; }
  .publication-caption-editor .ql-editor { min-height: 180px; max-height: 420px; padding: .85rem; }
}
