/*
 * Quill Content Rendering CSS
 * Frontend-only styles for rendering Quill editor content.
 * Extracted from quill.snow.css (Quill Editor v2.0.3), scoped to .ql-content
 * instead of .ql-editor.
 *
 * Deliberately omitted: editor chrome (.ql-container), editor-specific
 * .ql-editor properties (height, outline, overflow, padding, cursor, tab-size),
 * clipboard, toolbar, picker, tooltip, and SVG icon rules.
 */

/* Base content rendering */
.ql-content {
    counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    line-height: 1.42;
}

/* Element resets */
.ql-content p,
.ql-content ol,
.ql-content pre,
.ql-content blockquote,
.ql-content h1,
.ql-content h2,
.ql-content h3,
.ql-content h4,
.ql-content h5,
.ql-content h6 {
    margin: 0;
    padding: 0;
}

/* Counter resets for block elements */
@supports (counter-set: none) {
    .ql-content p,
    .ql-content h1,
    .ql-content h2,
    .ql-content h3,
    .ql-content h4,
    .ql-content h5,
    .ql-content h6 {
        counter-set: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    }
}
@supports not (counter-set: none) {
    .ql-content p,
    .ql-content h1,
    .ql-content h2,
    .ql-content h3,
    .ql-content h4,
    .ql-content h5,
    .ql-content h6 {
        counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    }
}

/* Heading sizes */
.ql-content h1 { font-size: 2em; }
.ql-content h2 { font-size: 1.5em; }
.ql-content h3 { font-size: 1.17em; }
.ql-content h4 { font-size: 1em; }
.ql-content h5 { font-size: 0.83em; }
.ql-content h6 { font-size: 0.67em; }

/* Links */
.ql-content a { text-decoration: underline; }

/* Tables */
.ql-content table { border-collapse: collapse; table-layout: fixed; width: 100%; }
.ql-content td { border: 1px solid #000; padding: 2px 5px; outline: none; }

/* Lists */
.ql-content ol { padding-left: 1.5em; }
.ql-content li[data-list] {
    list-style-type: none;
    padding-left: 1.5em;
    position: relative;
}
.ql-content li > .ql-ui:before {
    display: inline-block;
    margin-left: -1.5em;
    margin-right: 0.3em;
    text-align: right;
    white-space: nowrap;
    width: 1.2em;
}
.ql-content li[data-list=checked] > .ql-ui,
.ql-content li[data-list=unchecked] > .ql-ui {
    color: #777;
}
.ql-content li[data-list=bullet] > .ql-ui:before { content: '\2022'; }
.ql-content li[data-list=checked] > .ql-ui:before { content: '\2611'; }
.ql-content li[data-list=unchecked] > .ql-ui:before { content: '\2610'; }

/* List counter resets */
@supports (counter-set: none) {
    .ql-content li[data-list] {
        counter-set: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    }
}
@supports not (counter-set: none) {
    .ql-content li[data-list] {
        counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
    }
}

/* Ordered list counters */
.ql-content li[data-list=ordered] { counter-increment: list-0; }
.ql-content li[data-list=ordered] > .ql-ui:before { content: counter(list-0, decimal) '. '; }

.ql-content li[data-list=ordered].ql-indent-1 { counter-increment: list-1; }
.ql-content li[data-list=ordered].ql-indent-1 > .ql-ui:before { content: counter(list-1, lower-alpha) '. '; }
@supports (counter-set: none) {
    .ql-content li[data-list].ql-indent-1 { counter-set: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9; }
}
@supports not (counter-set: none) {
    .ql-content li[data-list].ql-indent-1 { counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9; }
}

.ql-content li[data-list=ordered].ql-indent-2 { counter-increment: list-2; }
.ql-content li[data-list=ordered].ql-indent-2 > .ql-ui:before { content: counter(list-2, lower-roman) '. '; }
@supports (counter-set: none) {
    .ql-content li[data-list].ql-indent-2 { counter-set: list-3 list-4 list-5 list-6 list-7 list-8 list-9; }
}
@supports not (counter-set: none) {
    .ql-content li[data-list].ql-indent-2 { counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9; }
}

.ql-content li[data-list=ordered].ql-indent-3 { counter-increment: list-3; }
.ql-content li[data-list=ordered].ql-indent-3 > .ql-ui:before { content: counter(list-3, decimal) '. '; }
@supports (counter-set: none) {
    .ql-content li[data-list].ql-indent-3 { counter-set: list-4 list-5 list-6 list-7 list-8 list-9; }
}
@supports not (counter-set: none) {
    .ql-content li[data-list].ql-indent-3 { counter-reset: list-4 list-5 list-6 list-7 list-8 list-9; }
}

.ql-content li[data-list=ordered].ql-indent-4 { counter-increment: list-4; }
.ql-content li[data-list=ordered].ql-indent-4 > .ql-ui:before { content: counter(list-4, lower-alpha) '. '; }
@supports (counter-set: none) {
    .ql-content li[data-list].ql-indent-4 { counter-set: list-5 list-6 list-7 list-8 list-9; }
}
@supports not (counter-set: none) {
    .ql-content li[data-list].ql-indent-4 { counter-reset: list-5 list-6 list-7 list-8 list-9; }
}

.ql-content li[data-list=ordered].ql-indent-5 { counter-increment: list-5; }
.ql-content li[data-list=ordered].ql-indent-5 > .ql-ui:before { content: counter(list-5, lower-roman) '. '; }
@supports (counter-set: none) {
    .ql-content li[data-list].ql-indent-5 { counter-set: list-6 list-7 list-8 list-9; }
}
@supports not (counter-set: none) {
    .ql-content li[data-list].ql-indent-5 { counter-reset: list-6 list-7 list-8 list-9; }
}

.ql-content li[data-list=ordered].ql-indent-6 { counter-increment: list-6; }
.ql-content li[data-list=ordered].ql-indent-6 > .ql-ui:before { content: counter(list-6, decimal) '. '; }
@supports (counter-set: none) {
    .ql-content li[data-list].ql-indent-6 { counter-set: list-7 list-8 list-9; }
}
@supports not (counter-set: none) {
    .ql-content li[data-list].ql-indent-6 { counter-reset: list-7 list-8 list-9; }
}

.ql-content li[data-list=ordered].ql-indent-7 { counter-increment: list-7; }
.ql-content li[data-list=ordered].ql-indent-7 > .ql-ui:before { content: counter(list-7, lower-alpha) '. '; }
@supports (counter-set: none) {
    .ql-content li[data-list].ql-indent-7 { counter-set: list-8 list-9; }
}
@supports not (counter-set: none) {
    .ql-content li[data-list].ql-indent-7 { counter-reset: list-8 list-9; }
}

.ql-content li[data-list=ordered].ql-indent-8 { counter-increment: list-8; }
.ql-content li[data-list=ordered].ql-indent-8 > .ql-ui:before { content: counter(list-8, lower-roman) '. '; }
@supports (counter-set: none) {
    .ql-content li[data-list].ql-indent-8 { counter-set: list-9; }
}
@supports not (counter-set: none) {
    .ql-content li[data-list].ql-indent-8 { counter-reset: list-9; }
}

.ql-content li[data-list=ordered].ql-indent-9 { counter-increment: list-9; }
.ql-content li[data-list=ordered].ql-indent-9 > .ql-ui:before { content: counter(list-9, decimal) '. '; }

/* Indentation (LTR) */
.ql-content .ql-indent-1:not(.ql-direction-rtl) { padding-left: 3em; }
.ql-content li.ql-indent-1:not(.ql-direction-rtl) { padding-left: 4.5em; }
.ql-content .ql-indent-2:not(.ql-direction-rtl) { padding-left: 6em; }
.ql-content li.ql-indent-2:not(.ql-direction-rtl) { padding-left: 7.5em; }
.ql-content .ql-indent-3:not(.ql-direction-rtl) { padding-left: 9em; }
.ql-content li.ql-indent-3:not(.ql-direction-rtl) { padding-left: 10.5em; }
.ql-content .ql-indent-4:not(.ql-direction-rtl) { padding-left: 12em; }
.ql-content li.ql-indent-4:not(.ql-direction-rtl) { padding-left: 13.5em; }
.ql-content .ql-indent-5:not(.ql-direction-rtl) { padding-left: 15em; }
.ql-content li.ql-indent-5:not(.ql-direction-rtl) { padding-left: 16.5em; }
.ql-content .ql-indent-6:not(.ql-direction-rtl) { padding-left: 18em; }
.ql-content li.ql-indent-6:not(.ql-direction-rtl) { padding-left: 19.5em; }
.ql-content .ql-indent-7:not(.ql-direction-rtl) { padding-left: 21em; }
.ql-content li.ql-indent-7:not(.ql-direction-rtl) { padding-left: 22.5em; }
.ql-content .ql-indent-8:not(.ql-direction-rtl) { padding-left: 24em; }
.ql-content li.ql-indent-8:not(.ql-direction-rtl) { padding-left: 25.5em; }
.ql-content .ql-indent-9:not(.ql-direction-rtl) { padding-left: 27em; }
.ql-content li.ql-indent-9:not(.ql-direction-rtl) { padding-left: 28.5em; }

/* Indentation (RTL) */
.ql-content .ql-indent-1.ql-direction-rtl.ql-align-right { padding-right: 3em; }
.ql-content li.ql-indent-1.ql-direction-rtl.ql-align-right { padding-right: 4.5em; }
.ql-content .ql-indent-2.ql-direction-rtl.ql-align-right { padding-right: 6em; }
.ql-content li.ql-indent-2.ql-direction-rtl.ql-align-right { padding-right: 7.5em; }
.ql-content .ql-indent-3.ql-direction-rtl.ql-align-right { padding-right: 9em; }
.ql-content li.ql-indent-3.ql-direction-rtl.ql-align-right { padding-right: 10.5em; }
.ql-content .ql-indent-4.ql-direction-rtl.ql-align-right { padding-right: 12em; }
.ql-content li.ql-indent-4.ql-direction-rtl.ql-align-right { padding-right: 13.5em; }
.ql-content .ql-indent-5.ql-direction-rtl.ql-align-right { padding-right: 15em; }
.ql-content li.ql-indent-5.ql-direction-rtl.ql-align-right { padding-right: 16.5em; }
.ql-content .ql-indent-6.ql-direction-rtl.ql-align-right { padding-right: 18em; }
.ql-content li.ql-indent-6.ql-direction-rtl.ql-align-right { padding-right: 19.5em; }
.ql-content .ql-indent-7.ql-direction-rtl.ql-align-right { padding-right: 21em; }
.ql-content li.ql-indent-7.ql-direction-rtl.ql-align-right { padding-right: 22.5em; }
.ql-content .ql-indent-8.ql-direction-rtl.ql-align-right { padding-right: 24em; }
.ql-content li.ql-indent-8.ql-direction-rtl.ql-align-right { padding-right: 25.5em; }
.ql-content .ql-indent-9.ql-direction-rtl.ql-align-right { padding-right: 27em; }
.ql-content li.ql-indent-9.ql-direction-rtl.ql-align-right { padding-right: 28.5em; }

/* RTL direction */
.ql-content li.ql-direction-rtl { padding-right: 1.5em; }
.ql-content li.ql-direction-rtl > .ql-ui:before {
    margin-left: 0.3em;
    margin-right: -1.5em;
    text-align: left;
}
.ql-content .ql-direction-rtl { direction: rtl; text-align: inherit; }

/* Alignment */
.ql-content .ql-align-center { text-align: center; }
.ql-content .ql-align-justify { text-align: justify; }
.ql-content .ql-align-right { text-align: right; }

/* Blockquote */
.ql-content blockquote {
    border-left: 4px solid #ccc;
    margin-bottom: 5px;
    margin-top: 5px;
    padding-left: 16px;
}

/* Code */
.ql-content code,
.ql-content .ql-code-block-container {
    background-color: #f0f0f0;
    border-radius: 3px;
}
.ql-content .ql-code-block-container {
    background-color: #23241f;
    color: #f8f8f2;
    margin-bottom: 5px;
    margin-top: 5px;
    overflow: visible;
    padding: 5px 10px;
    font-family: monospace;
}
.ql-content code {
    font-size: 85%;
    padding: 2px 4px;
}

/* Video */
.ql-content .ql-video { display: block; max-width: 100%; }
.ql-content .ql-video.ql-align-center { margin: 0 auto; }
.ql-content .ql-video.ql-align-right { margin: 0 0 0 auto; }

/* Images */
.ql-content img { max-width: 100%; }

/* Background colors */
.ql-content .ql-bg-black { background-color: #000; }
.ql-content .ql-bg-red { background-color: #e60000; }
.ql-content .ql-bg-orange { background-color: #f90; }
.ql-content .ql-bg-yellow { background-color: #ff0; }
.ql-content .ql-bg-green { background-color: #008a00; }
.ql-content .ql-bg-blue { background-color: #06c; }
.ql-content .ql-bg-purple { background-color: #93f; }

/* Text colors */
.ql-content .ql-color-white { color: #fff; }
.ql-content .ql-color-red { color: #e60000; }
.ql-content .ql-color-orange { color: #f90; }
.ql-content .ql-color-yellow { color: #ff0; }
.ql-content .ql-color-green { color: #008a00; }
.ql-content .ql-color-blue { color: #06c; }
.ql-content .ql-color-purple { color: #93f; }

/* Font variants */
.ql-content .ql-font-serif { font-family: Georgia, Times New Roman, serif; }
.ql-content .ql-font-monospace { font-family: Monaco, Courier New, monospace; }

/* Size variants */
.ql-content .ql-size-small { font-size: 0.75em; }
.ql-content .ql-size-large { font-size: 1.5em; }
.ql-content .ql-size-huge { font-size: 2.5em; }

/* UI element positioning (for list markers) */
.ql-content .ql-ui { position: absolute; }

/*
 * Event-box override: disable checkmark bullets inside Quill content.
 * main.css .event-box ul li:before adds checkmarks to ALL <li> elements;
 * we need to suppress that inside .ql-content where Quill handles bullets.
 */
.event-box .ql-content ul li:before {
    content: none;
    display: none;
}
.event-box .ql-content ul li {
    padding-left: 1.5em;
}
