/* Ujednolicenie styli list i formatowania pomiędzy edytorem a widokiem wątku */
.ck-content ul,
.ck-content ol {
    padding-left: 40px !important;
    margin-left: 0 !important;
    margin-bottom: 1em !important;
    margin-top: 1em !important;
    list-style-position: outside !important;
}

.ck-content ul ul,
.ck-content ul ol,
.ck-content ol ul,
.ck-content ol ol {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

.ck-content li {
    margin-bottom: 0.2em !important;
}

/* Wymuszenie markerów dla list (nadpisanie list-style-type: inherit z phpBB) */
.ck-content ul {
    list-style-type: disc !important;
}

.ck-content ul ul {
    list-style-type: circle !important;
}

.ck-content ul ul ul {
    list-style-type: square !important;
}

.ck-content ol {
    list-style-type: decimal !important;
}

.ck-content ol ol {
    list-style-type: lower-alpha !important;
}

.ck-content ol ol ol {
    list-style-type: lower-roman !important;
}

.ck-content ol ol ol ol {
    list-style-type: upper-alpha !important;
}

/* Zabezpieczenie przed ucinaniem markerów i lepszy wygląd edytora */
.ck.ck-editor__editable_inline {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* Stylizacja bloków cytowania*/
blockquote.Quote,
.ck-content blockquote.Quote,
.ck-content blockquote {
    font-style: normal !important;
    border: none !important;
    border-left: 4px solid #0076b1 !important;
    background-color: #f7f9fb !important;
    padding: 0 !important;
    margin: 1.2em 0 !important;
    color: #333 !important;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    position: relative !important;
    overflow: visible !important;
    max-height: none !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.Quote_citation,
.ck-content blockquote .Quote_citation {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    font-weight: 600 !important;
    font-size: 0.88em !important;
    color: #495057 !important;
    background-color: #e9ecef !important;
    padding: 7px 14px !important;
    border-bottom: 1px solid #dee2e6 !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    line-height: 1.5 !important;
}

.Quote_citation .Quote_title,
.ck-content blockquote .Quote_citation .Quote_title {
    margin-right: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.Quote_citation a,
.ck-content blockquote .Quote_citation a {
    font-weight: 700 !important;
    color: #105289 !important;
    text-decoration: none !important;
}

.Quote_citation a:hover,
.ck-content blockquote .Quote_citation a:hover {
    text-decoration: underline !important;
}

.Quote_citation .quote-date {
    color: #6c757d !important;
    font-weight: normal !important;
}

/* Odnośnik ze strzałką wyrównany do prawej krawędzi (Pos_right) */
.Quote_citation .Pos_right,
.ck-content blockquote .Quote_citation .Pos_right {
    margin-left: auto !important;
    color: #6c757d !important;
    font-size: 14px !important;
    text-decoration: none !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.Quote_citation .Pos_right:hover,
.ck-content blockquote .Quote_citation .Pos_right:hover {
    color: #105289 !important;
    background-color: rgba(0, 0, 0, 0.08) !important;
}

.Quote_citation .Pos_right i,
.Quote_citation .Pos_right .fa {
    font-family: 'FontAwesome', 'Font Awesome 5 Free', 'Font Awesome 6 Free', sans-serif !important;
    font-style: normal !important;
    font-weight: 900 !important;
    display: inline-block !important;
    line-height: 1 !important;
}

.Quote_citation .Pos_right i.fa-share::before,
.Quote_citation .Pos_right .fa-share::before,
.Quote_citation .Pos_right i::before,
.Quote_citation .Pos_right .fa::before {
    content: "\f064" !important;
    font-family: 'FontAwesome' !important;
}

.Quote_contents,
.ck-content blockquote .Quote_contents,
blockquote.Quote>p {
    padding: 10px 14px !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

/* Rozwijanie długich cytatów - overflowTruncate na elemencie Quote_contents */
blockquote.Quote.is-truncated .Quote_contents,
.ck-content blockquote.Quote.is-truncated .Quote_contents,
blockquote.is-truncated .Quote_contents {
    max-height: 200px !important;
    overflow: hidden !important;
    position: relative !important;
}

blockquote.Quote.is-truncated .Quote_contents::after,
.ck-content blockquote.Quote.is-truncated .Quote_contents::after,
blockquote.is-truncated .Quote_contents::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 70px !important;
    background: linear-gradient(to bottom, rgba(247, 249, 251, 0) 0%, rgba(247, 249, 251, 0.95) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

blockquote.Quote.is-expanded .Quote_contents,
.ck-content blockquote.Quote.is-expanded .Quote_contents,
blockquote.is-expanded .Quote_contents {
    max-height: none !important;
    overflow: visible !important;
}

blockquote.Quote.is-expanded .Quote_contents::after,
.ck-content blockquote.Quote.is-expanded .Quote_contents::after,
blockquote.is-expanded .Quote_contents::after {
    display: none !important;
}

.overflowTruncate {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background-color: #e9ecef !important;
    border-top: 1px solid #dee2e6 !important;
    padding: 7px 14px !important;
    font-size: 0.85em !important;
    font-weight: 600 !important;
    color: #495057 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    border-bottom-left-radius: 4px !important;
    border-bottom-right-radius: 4px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
}

.overflowTruncate:hover {
    background-color: #dee2e6 !important;
    color: #105289 !important;
    text-decoration: none !important;
}

.overflowTruncate span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}

.overflowTruncate i,
.overflowTruncate .fa {
    font-family: 'FontAwesome', 'Font Awesome 5 Free', 'Font Awesome 6 Free', sans-serif !important;
    font-style: normal !important;
    font-weight: 900 !important;
    display: inline-block !important;
}

/* ============================================================ */
/* Spoiler Blokowy & Inline                                 */
/* ============================================================ */

.Spoiler,
.ck-content .Spoiler {
    background: #fdfdfd !important;
    border: 1px solid #ced4da !important;
    border-radius: 4px !important;
    margin: 1.2em 0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
}

.Spoiler_header,
.ck-content .Spoiler_header {
    background-color: #343a40 !important;
    color: #ffffff !important;
    padding: 7px 14px !important;
    font-size: 0.85em !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
    user-select: none !important;
    line-height: 1.4 !important;
}

.Spoiler_toggle,
.ck-content .Spoiler_toggle {
    background: #495057 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 3px !important;
    padding: 2px 8px !important;
    font-size: 0.85em !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
}

.Spoiler_toggle:hover,
.ck-content .Spoiler_toggle:hover {
    background: #6c757d !important;
}

/* W opublikowanym poście treść domyślnie ukryta */
.content .Spoiler .Spoiler_contents,
.postbody .Spoiler .Spoiler_contents {
    display: none;
    padding: 12px 16px !important;
    border-top: 1px solid #dee2e6 !important;
    background: #ffffff !important;
    line-height: 1.6 !important;
}

/* Po otwarciu spoilera */
.content .Spoiler.Spoiler_open .Spoiler_contents,
.postbody .Spoiler.Spoiler_open .Spoiler_contents {
    display: block !important;
    animation: spoilerFadeIn 0.2s ease-out;
}

@keyframes spoilerFadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* W edytorze treść zawsze widoczna do edycji */
.ck-editor__editable .Spoiler .Spoiler_contents {
    display: block !important;
    padding: 12px 16px !important;
    border-top: 1px solid #dee2e6 !important;
    background: #ffffff !important;
    min-height: 40px !important;
}

/*  Spoiler Liniowy (Inline) */
.Spoiler_inline,
.ck-content .Spoiler_inline {
    background-color: #212529 !important;
    color: #212529 !important;
    border-radius: 3px !important;
    padding: 1px 5px !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
    display: inline-block !important;
}

.Spoiler_inline:hover,
.Spoiler_inline.is-revealed,
.ck-content .Spoiler_inline:hover,
.ck-content .Spoiler_inline.is-revealed {
    background-color: #e9ecef !important;
    color: #212529 !important;
    user-select: auto !important;
}

/* W oknie edytora inline spoiler jest łatwy do podglądu i edycji */
.ck-editor__editable .Spoiler_inline {
    background-color: rgba(33, 37, 41, 0.15) !important;
    color: inherit !important;
    border-bottom: 2px dashed #212529 !important;
}

/* Pasek Multi-Quote u dołu ekranu */
.nordata-multiquote-bar {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99999;
    background: #212529;
    color: #ffffff;
    padding: 10px 16px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
    animation: mqSlideUp 0.3s ease-out;
    font-family: inherit;
    font-size: 13px;
}

@keyframes mqSlideUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.nordata-multiquote-bar .mq-container {
    display: flex;
    align-items: center;
    gap: 14px;
}

.nordata-multiquote-bar .mq-info {
    font-weight: 500;
}

.nordata-multiquote-bar .mq-count {
    background: #0076b1;
    color: #fff;
    padding: 2px 7px;
    border-radius: 12px;
    font-size: 0.9em;
}

.nordata-multiquote-bar .mq-actions {
    display: flex;
    gap: 8px;
}

.nordata-multiquote-bar .button1 {
    background-color: #0076b1 !important;
    color: #fff !important;
    border: none !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
}

.nordata-multiquote-bar .button1:hover {
    background-color: #005a87 !important;
}

.nordata-multiquote-bar .button2 {
    background-color: #495057 !important;
    color: #fff !important;
    border: none !important;
    padding: 6px 10px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
}

.nordata-multiquote-bar .button2:hover {
    background-color: #343a40 !important;
}

.nordata-multiquote-btn.is-selected,
.nordata-multiquote-btn.button-active {
    background-color: #0076b1 !important;
    color: #ffffff !important;
}

/* Dymek (pop-up) cytowania zaznaczenia */
.nordata-quote-tooltip {
    display: none;
    position: absolute;
    z-index: 99999;
    background: #212529;
    border-radius: 6px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
    padding: 3px;
    font-size: 13px;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.nordata-quote-tooltip-inner {
    display: flex;
    align-items: center;
    gap: 2px;
}

.nordata-tooltip-btn {
    background: transparent;
    border: none;
    color: #f8f9fa;
    padding: 6px 11px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.nordata-tooltip-btn:hover {
    background-color: #0076b1;
    color: #ffffff;
}

.nordata-tooltip-btn.btn-success {
    background-color: #28a745 !important;
    color: #ffffff !important;
}

.nordata-tooltip-divider {
    width: 1px;
    height: 16px;
    background-color: #495057;
    margin: 0 2px;
}

/* Wielkości czcionki dla klas CKEditor 5 */
.content .text-tiny,
.postbody .text-tiny,
.ck-content .text-tiny {
    font-size: 0.7em !important;
}

.content .text-small,
.postbody .text-small,
.ck-content .text-small {
    font-size: 0.85em !important;
}

.content .text-big,
.postbody .text-big,
.ck-content .text-big {
    font-size: 1.4em !important;
}

.content .text-huge,
.postbody .text-huge,
.ck-content .text-huge {
    font-size: 1.8em !important;
}

/* ============================================================ */
/* Bloki Kodu (CodeBlock) & Kod w Linii (Code)                  */
/* ============================================================ */

.content code,
.postbody .content code,
.ck-content code {
    background-color: rgba(199, 199, 199, 0.3) !important;
    border-radius: 3px;
    padding: 0.15em 0.3em;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 0.9em;
}

.content pre,
.postbody .content pre,
.ck-content pre {
    color: #2b2b2b !important;
    background: #f8f9fa !important;
    border: 1px solid #ced4da !important;
    border-radius: 4px;
    padding: 12px 16px !important;
    margin: 1em 0 !important;
    overflow-x: auto;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
    font-size: 0.9em;
    line-height: 1.5;
    tab-size: 4;
}

.content pre code,
.postbody .content pre code,
.ck-content pre code {
    background: transparent !important;
    border-radius: 0;
    padding: 0 !important;
    font-size: inherit;
    color: inherit;
}

/* ============================================================ */
/* Zakreślacze & Markery Kolorów (Highlight)                    */
/* ============================================================ */

.content .marker-yellow, .postbody .marker-yellow, .ck-content .marker-yellow {
    background-color: #fdfd77 !important;
}

.content .marker-green, .postbody .marker-green, .ck-content .marker-green {
    background-color: #62f962 !important;
}

.content .marker-pink, .postbody .marker-pink, .ck-content .marker-pink {
    background-color: #fc7899 !important;
}

.content .marker-blue, .postbody .marker-blue, .ck-content .marker-blue {
    background-color: #72ccfd !important;
}

.content .pen-red, .postbody .pen-red, .ck-content .pen-red {
    color: #e71313 !important;
    background-color: transparent !important;
}

.content .pen-green, .postbody .pen-green, .ck-content .pen-green {
    color: #128a00 !important;
    background-color: transparent !important;
}

/* ============================================================ */
/* Tabele CKEditor 5 (Table, TableColumnResize, Properties)     */
/* ============================================================ */

.content figure.table,
.postbody figure.table,
.ck-content figure.table {
    margin: 1.2em auto !important;
    display: table;
    max-width: 100% !important;
    overflow-x: auto;
}

.content table.table:not(.layout-table),
.content figure.table:not(.layout-table) > table,
.postbody table.table:not(.layout-table),
.postbody figure.table:not(.layout-table) > table,
.ck-content table.table:not(.layout-table),
.ck-content figure.table:not(.layout-table) > table {
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border: 1px solid #ced4da !important;
    width: 100%;
    margin: 0 auto;
}

.content figure.table > table > thead > tr > th,
.content figure.table > table > tbody > tr > th,
.postbody figure.table > table > thead > tr > th,
.postbody figure.table > table > tbody > tr > th,
.ck-content figure.table > table > thead > tr > th,
.ck-content figure.table > table > tbody > tr > th {
    background-color: #e9ecef !important;
    font-weight: 700 !important;
    border: 1px solid #ced4da !important;
    padding: 8px 12px !important;
    text-align: left;
}

.content figure.table > table > tbody > tr > td,
.postbody figure.table > table > tbody > tr > td,
.ck-content figure.table > table > tbody > tr > td {
    border: 1px solid #dee2e6 !important;
    padding: 8px 12px !important;
    min-width: 2em;
}

.content figure.table > table > caption,
.postbody figure.table > table > caption,
.ck-content figure.table > table > caption {
    caption-side: top;
    text-align: center;
    font-weight: 600;
    color: #495057;
    background-color: #f8f9fa;
    padding: 6px 10px;
    font-size: 0.88em;
    border: 1px solid #ced4da;
    border-bottom: none;
}

/* ============================================================ */
/* Listy Zadań (TodoList)                                       */
/* ============================================================ */

.content ul.todo-list,
.postbody ul.todo-list,
.ck-content ul.todo-list {
    list-style: none !important;
    padding-left: 24px !important;
}

.content .todo-list li,
.postbody .todo-list li,
.ck-content .todo-list li {
    position: relative;
    margin-bottom: 6px;
}

.content .todo-list .todo-list__label > input,
.postbody .todo-list .todo-list__label > input,
.ck-content .todo-list .todo-list__label > input {
    margin-right: 8px;
    vertical-align: middle;
    cursor: pointer;
}

/* ============================================================ */
/* Osadzanie Mediów (MediaEmbed)                                */
/* ============================================================ */

.content .media,
.postbody .media,
.ck-content .media {
    clear: both;
    margin: 1.2em auto;
    display: block;
    max-width: 100%;
}

.content .media.media_resized,
.postbody .media.media_resized,
.ck-content .media.media_resized {
    box-sizing: border-box;
    max-width: 100%;
}

.content .media iframe,
.postbody .media iframe,
.ck-content .media iframe {
    max-width: 100%;
    border-radius: 6px;
}

/* ============================================================ */
/* Linia Pozioma (HorizontalLine)                               */
/* ============================================================ */

.content hr,
.postbody .content hr,
.ck-content hr {
    border: 0 !important;
    height: 2px !important;
    background-color: #dee2e6 !important;
    margin: 1.5em 0 !important;
}

/* ============================================================ */
/* Wzmianki (Mentions) w CKEditor 5 i na Forum                  */
/* ============================================================ */

/* Dropdown listy podpowiedzi wzmianek */
.ck.ck-mentions {
    background: #ffffff !important;
    border: 1px solid #ced4da !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
    padding: 6px 0 !important;
    max-height: 280px !important;
    overflow-y: auto !important;
    min-width: 220px !important;
    z-index: 10000 !important;
}

.ck.ck-mentions .ck-mentions__item {
    padding: 0 !important;
}

.ck.ck-mentions .ck-button {
    width: 100% !important;
    padding: 8px 14px !important;
    border-radius: 0 !important;
    border: none !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease !important;
}

.ck.ck-mentions .ck-button:hover,
.ck.ck-mentions .ck-button.ck-on {
    background-color: #f1f3f5 !important;
}

.ck-mention-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

.ck-mention-item .username {
    font-weight: 600;
    font-size: 13px;
}

.ck-mention-badge {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 10px;
    background: #e9ecef;
    color: #495057;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.5px;
}

.ck-mention-badge--group {
    background: #e7f5ff;
    color: #1971c2;
}

/* Wzmianka w edytorze i poście */
a.username[data-mention-user-id],
a.username[data-mention-group-id] {
    text-decoration: none !important;
    font-weight: 600 !important;
    display: inline-block;
    transition: opacity 0.15s ease;
}

/* Dodanie "spacji" (marginesu) tylko pomiędzy wzmiankami, które bezpośrednio ze sobą sąsiadują */
a.username[data-mention-user-id] + a.username[data-mention-user-id],
a.username[data-mention-group-id] + a.username[data-mention-group-id],
a.username[data-mention-user-id] + a.username[data-mention-group-id],
a.username[data-mention-group-id] + a.username[data-mention-user-id] {
    margin-left: 0.35em !important;
}

a.username[data-mention-user-id]:hover,
a.username[data-mention-group-id]:hover {
    text-decoration: underline !important;
    opacity: 0.85;
}

/* Stylizacja nicków i grup w dymku wzmianek */
.ck-mention-item .username {
    display: inline-block !important;
    color: #333333;
    font-weight: 600;
}

/* Pasek Menu (Menu Bar) CKEditor 5 */
.ck.ck-menu-bar {
    border-bottom: 1px solid var(--ck-color-toolbar-border, #d1d5db) !important;
    background: var(--ck-color-toolbar-background, #f8f9fa) !important;
    padding: 2px 6px !important;
}

.ck.ck-menu-bar .ck-menu-bar__item {
    font-size: 13px;
    font-weight: 500;
}

/* ============================================================ */
/* Responsywność i Skalowanie Grafik CKEditor 5 w Postach       */
/* ============================================================ */

/* Zabezpieczenie przed poziomym scrollem dla wszystkich obrazów w poście */
.content img,
.postbody .content img,
.ck-content img {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
}

/* Domyślny kontener bloku grafiki */
.content figure.image,
.postbody figure.image,
.ck-content figure.image {
    display: table;
    clear: both;
    text-align: center;
    margin: 1.2em auto !important;
    min-width: 50px;
    max-width: 100% !important;
    box-sizing: border-box;
}

.content figure.image img,
.postbody figure.image img,
.ck-content figure.image img {
    display: block;
    margin: 0 auto;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 4px;
}

/* Przeskalowane grafiki (po zmianie rozmiaru w edytorze) */
.content figure.image.image_resized,
.postbody figure.image.image_resized,
.ck-content figure.image.image_resized,
.content figure.image[style*="width"],
.postbody figure.image[style*="width"],
.ck-content figure.image[style*="width"] {
    display: block !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.content figure.image.image_resized img,
.postbody figure.image.image_resized img,
.ck-content figure.image.image_resized img,
.content figure.image[style*="width"] img,
.postbody figure.image[style*="width"] img,
.ck-content figure.image[style*="width"] img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

/* Grafiki w linii (Inline) */
.content .image-inline,
.postbody .image-inline,
.ck-content .image-inline {
    display: inline-block;
    max-width: 100% !important;
    vertical-align: middle;
}

.content .image-inline.image_resized img,
.postbody .image-inline.image_resized img,
.ck-content .image-inline.image_resized img {
    width: 100% !important;
    height: auto !important;
}

/* Wyrównanie: Do prawej / Side */
.content figure.image-style-side,
.postbody figure.image-style-side,
.ck-content figure.image-style-side,
.content figure.image-style-align-right,
.postbody figure.image-style-align-right,
.ck-content figure.image-style-align-right {
    float: right !important;
    margin-left: 1.5em !important;
    margin-bottom: 1em !important;
    max-width: 50% !important;
}

/* Wyrównanie: Do lewej */
.content figure.image-style-align-left,
.postbody figure.image-style-align-left,
.ck-content figure.image-style-align-left {
    float: left !important;
    margin-right: 1.5em !important;
    margin-bottom: 1em !important;
    max-width: 50% !important;
}

/* Wyrównanie: Wyśrodkowane / Blok */
.content figure.image-style-align-center,
.postbody figure.image-style-align-center,
.ck-content figure.image-style-align-center,
.content figure.image-style-block,
.postbody figure.image-style-block,
.ck-content figure.image-style-block {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Podpis pod obrazkiem (Caption) */
.content figure.image > figcaption,
.postbody figure.image > figcaption,
.ck-content figure.image > figcaption {
    display: block;
    caption-side: bottom;
    word-break: break-word;
    color: #6c757d;
    background-color: #f8f9fa;
    padding: 6px 10px;
    font-size: 0.85em;
    font-style: italic;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    border: 1px solid #e9ecef;
    border-top: none;
    text-align: center;
}

/* ============================================================ */
/* Szablon Dokumentu / Pisma (PISMO)                            */
/* ============================================================ */

.pismo,
.content .pismo,
.postbody .pismo,
.ck-content .pismo {
    font-family: 'TypewriterBasiX', 'Lucida Sans Unicode', 'Courier New', sans-serif !important;
    font-size: 1.1em !important;
    line-height: 150% !important;
    background-color: #f5f0e8 !important;
    color: rgb(var(--theme-text_color, 40, 40, 40)) !important;
    margin: 1rem 4rem !important;
    padding: 2rem 3rem !important;
    box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.18), 0 1px 2px rgba(0, 0, 0, 0.10) !important;
    border-radius: 1px !important;
    border: 1px solid #d6cfc0 !important;
    box-sizing: border-box !important;
    display: block !important;
}

[theme="dark"] .pismo,
[data-theme="dark"] .pismo,
.dark-theme .pismo,
[theme="dark"] .content .pismo,
[data-theme="dark"] .content .pismo,
.dark-theme .content .pismo {
    background-color: #2a2520 !important;
    border-color: #4a4035 !important;
    box-shadow: 2px 3px 12px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

@media screen and (max-width: 979px) {
    .pismo,
    .content .pismo,
    .postbody .pismo,
    .ck-content .pismo {
        margin: 1rem 0 !important;
        padding: 32px 24px !important;
    }
}

.pismo .Quote,
.pismo blockquote,
.pismo .ipsQuote,
.content .pismo .Quote,
.content .pismo blockquote {
    background-color: inherit !important;
    color: inherit !important;
}

/* ============================================================ */
/* Papiery Urzędowe (Szablony Nagłówków Postów)                 */
/* ============================================================ */

/* Papiery - Szablony Bazowe */
.papier-mur,
.content .papier-mur,
.postbody .papier-mur,
.ck-content .papier-mur {
    background-position: top center !important;
    background-repeat: no-repeat !important;
    padding: 155px 30px 45px 30px !important;
    margin: 0 0 30px 0 !important;
    border-bottom: 1px solid #cd001a !important;
    font-family: Georgia, 'Times New Roman', Times, serif !important;
    font-size: 9pt !important;
    display: block !important;
    box-sizing: border-box !important;
    background-color: transparent !important;
}

.papier-fn,
.content .papier-fn,
.postbody .papier-fn,
.ck-content .papier-fn {
    background-position: top center !important;
    background-repeat: no-repeat !important;
    padding: 155px 30px 45px 30px !important;
    margin: 0 0 30px 0 !important;
    border-bottom: 1px solid #253090 !important;
    font-size: 9pt !important;
    display: block !important;
    box-sizing: border-box !important;
    background-color: transparent !important;
}

/* Papiery - Grafiki Nagłówków */
.marszalek4rm { background-image: url('https://forum.nordata.org/papierki/MarszałekWielki.png') !important; }
.prezydent4rm { background-image: url('https://forum.nordata.org/papierki/Prezydent.png') !important; }
.prezydent2fn { background-image: url('https://forum.nordata.org/papierki/PREZYDENTFN.png') !important; }
.kongresmen { background-image: url('https://forum.nordata.org/papierki/KONGRESMEN.png') !important; }
.spiker { background-image: url('https://forum.nordata.org/papierki/SPIKER.png') !important; }
.premier { background-image: url('https://forum.nordata.org/papierki/PREMIER.png') !important; }
.minister-sportu { background-image: url('https://forum.nordata.org/papierki/MINISTER_SPORTU.png') !important; }
.rpn { background-image: url('https://forum.nordata.org/papierki/RPN.png') !important; }
.ministerstanu4rm { background-image: url('https://forum.nordata.org/papierki/MinisterStanu.png') !important; }
.minister_spraw_panstwowych { background-image: url('https://forum.nordata.org/papierki/MINISTER_SPRAW_PANSTWOWYCH.png') !important; }
.rzecznik_rzadu { background-image: url('https://forum.nordata.org/papierki/RZECZNIK_RZADU.png') !important; }
.MIiG4rm { background-image: url('https://forum.nordata.org/papierki/MIiG.png') !important; }
.PKW4rm { background-image: url('https://forum.nordata.org/papierki/PKW.png') !important; }

/* Obsługa responsywna na urządzeniach mobilnych */
@media screen and (max-width: 768px) {
    .papier-mur, .papier-fn,
    .content .papier-mur, .content .papier-fn,
    .postbody .papier-mur, .postbody .papier-fn,
    .ck-content .papier-mur, .ck-content .papier-fn {
        background-size: contain !important;
        padding-top: 110px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* ============================================================ */
/* Responsywność i dopasowanie CKEditor 5 do kontenera forum    */
/* ============================================================ */

/* Kontener pola wiadomości w phpBB */
#message-box,
.message-box {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    overflow: visible !important;
}

/* Główna ramka edytora CKEditor 5 */
.ck.ck-editor {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: visible !important;
}

.ck.ck-editor__top,
.ck.ck-editor__main,
.ck.ck-sticky-panel,
.ck.ck-sticky-panel__content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Pasek Menu (Menu Bar) - automatyczne zawijanie pozycji przy zwężaniu ekranu */
.ck.ck-menu-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Pasek Narzędzi (Toolbar) - responsywne zawijanie przycisków */
.ck.ck-toolbar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
}

.ck.ck-toolbar > .ck-toolbar__items {
    flex-wrap: wrap !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Obszar edycyjny tekstu */
.ck.ck-editor__editable_inline,
.ck-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

/* ============================================================ */
/* Pozycjonowanie i zapobieganie ucinaniu paneli Dropdown       */
/* ============================================================ */

/* Panele rozwijane (Dropdowns) */
.ck.ck-dropdown .ck-dropdown__panel {
    max-width: calc(100vw - 32px) !important;
    box-sizing: border-box !important;
    z-index: 10005 !important;
}

/* Panele rozwijane (Dropdowns & Button Groups) */
.ck.ck-dropdown .ck-dropdown__panel,
.ck.ck-toolbar-dropdown > .ck-dropdown__panel,
.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown > .ck-dropdown__panel {
    max-width: calc(100vw - 32px) !important;
    box-sizing: border-box !important;
    z-index: 10005 !important;
}

/* ============================================================ */
/* Wtyczka GIPHY (Formularz, Wyszukiwarka, Siatka GIF-ów)       */
/* ============================================================ */

.ck.ck-giphy-form {
    width: 320px !important;
    max-width: calc(100vw - 36px) !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border-radius: 6px !important;
}

.ck.ck-giphy-form .ck-labeled-field-view {
    margin-bottom: 8px !important;
    width: 100% !important;
}

.ck.ck-giphy-form .ck-input-text {
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 13px !important;
    padding: 6px 10px !important;
    border-radius: 4px !important;
}

.ck.ck-giphy-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px !important;
    max-height: 280px !important;
    overflow-y: auto !important;
    padding: 2px !important;
    box-sizing: border-box !important;
}

.ck.ck-giphy-tile {
    padding: 0 !important;
    margin: 0 !important;
    border: 2px solid transparent !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    background: #111111 !important;
    transition: transform 0.12s ease, border-color 0.12s ease !important;
    display: block !important;
    width: 100% !important;
    height: 90px !important;
    box-sizing: border-box !important;
}

.ck.ck-giphy-tile:hover {
    transform: scale(1.03) !important;
    border-color: #0076b1 !important;
    z-index: 2 !important;
}

.ck.ck-giphy-tile__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Spinner ładowania GIPHY */
.ck-giphy-dropdown .ck-loader-overlay {
    display: none;
}

.ck-giphy-dropdown.ck-giphy-dropdown_loading .ck-loader-overlay {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px 0 !important;
    gap: 8px !important;
}

.ck-giphy-spinner {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    border: 3px solid rgba(0, 0, 0, 0.12) !important;
    border-top-color: #0076b1 !important;
    animation: ckGiphySpin 0.7s linear infinite !important;
}

.ck-giphy-loader-text {
    font-size: 11px !important;
    color: #666666 !important;
}

@keyframes ckGiphySpin {
    to { transform: rotate(360deg); }
}