/* Isolation du HTML utilisateur (descriptions, etc.) contre les styles globaux.
   À appliquer via la classe `.rich-text` sur le conteneur qui wrappe du HTML saisi. */

.rich-text,
.rich-text div,
.rich-text section,
.rich-text header {
    display: block;
}

.rich-text a {
    display: inline;
}

.rich-text h1,
.rich-text h2,
.rich-text h3,
.rich-text h4,
.rich-text h5,
.rich-text h6 {
    text-align: left;
    font-weight: 700;
    margin: 1em 0 0.5em;
    line-height: 1.3;
    text-shadow: none;
}

.rich-text h1 { font-size: 2em; }
.rich-text h2 { font-size: 1.6em; }
.rich-text h3 { font-size: 1.25em; }
.rich-text h4 { font-size: 1.1em; }
.rich-text h5 { font-size: 1em; }
.rich-text h6 { font-size: 0.9em; }

.rich-text p {
    margin: 0 0 1em;
}

.rich-text ul,
.rich-text ol {
    padding-inline-start: 1.5em;
    margin: 0 0 1em;
}

.rich-text li {
    display: list-item;
}

/* Quill 2.x : les listes (puces ET numérotées) sont toutes sérialisées en <ol>,
   avec data-list="bullet" ou data-list="ordered" sur chaque <li>. Le rendu du
   marker est injecté via ::before sur le span .ql-ui contenu dans chaque <li>. */
.rich-text ol {
    counter-reset: rich-list-0;
}

.rich-text ol > li[data-list] {
    list-style-type: none;
}

.rich-text ol > li[data-list="bullet"] > .ql-ui::before {
    content: "•";
    display: inline-block;
    width: 1.2em;
    margin-left: -1.2em;
}

.rich-text ol > li[data-list="ordered"] {
    counter-increment: rich-list-0;
}

.rich-text ol > li[data-list="ordered"] > .ql-ui::before {
    content: counter(rich-list-0, decimal) ". ";
    display: inline-block;
    width: 1.2em;
    margin-left: -1.2em;
}

.rich-text strong {
    font-weight: 700;
}

.rich-text em {
    font-style: italic;
}

.rich-text span {
    line-height: inherit;
}

/* Quill align classes */
.rich-text .ql-align-center { text-align: center; }
.rich-text .ql-align-right { text-align: right; }
.rich-text .ql-align-justify { text-align: justify; }
