/*
    Typography for HTML the customer wrote themselves.

    Every design wraps customer-authored HTML in .content-info: custom pages
    (each design's own custom.php), the profile bio, and the intro blocks on
    the links, resume and SnippedIt pages. That HTML comes out of the editor in
    the admin, which draws paragraphs, bullets, numbers, headings and quotes -
    and then the site rendered none of it, because defaults.css opens with a
    reset (`ol, ul { list-style: none }`, margins to zero) that every design
    inherits. A numbered list typed in the admin arrived on the site as four
    flush, unnumbered lines with no space between the paragraphs either.

    template98 had already noticed half of it and patched `ul` back under one
    narrow selector (`.blog-single .content .content-info ul`); `ol` was never
    covered, and the other ~50 designs had neither. This is that fix in the one
    place all of them share.

    Loaded after each design's own style.css, so it wins on order as well as on
    specificity. Scoped to .content-info throughout: a design's own lists, menus
    and sliders still get the reset they were built against.

    Values match style/plugins/text-editor-redactor.css in the admin, so the
    page reads the same in the editor as it does on the site.
*/

.content-info p,
.content-info ul,
.content-info ol,
.content-info blockquote,
.content-info table {
    margin: 0 0 0.75em;
}

.content-info ul,
.content-info ol {
    padding-inline-start: 2em;
    /* defaults.css sets `body { line-height: 1 }`, which every design inherits
       and most override for paragraphs but not for lists. Left alone, a list
       item that wraps has its two lines touching. */
    line-height: 1.5;
}

.content-info ul {
    list-style: disc outside;
}

.content-info ol {
    list-style: decimal outside;
}

.content-info ul ul {
    list-style-type: circle;
}

.content-info ul ul ul {
    list-style-type: square;
}

.content-info li {
    /* The reset flattens line-height to the font size, which runs wrapped list
       items together. Inherit the paragraph's instead. */
    line-height: inherit;
    list-style: inherit;
    margin: 0 0 0.25em;
}

/* A nested list belongs to its parent item, not to the gap after it. */
.content-info li > ul,
.content-info li > ol {
    margin: 0.25em 0 0;
}

.content-info h1,
.content-info h2,
.content-info h3,
.content-info h4,
.content-info h5,
.content-info h6 {
    margin: 1.25em 0 0.5em;
    line-height: 1.25;
}

.content-info blockquote {
    padding-inline-start: 1em;
    border-inline-start: 3px solid rgba(127, 127, 127, 0.35);
    font-style: italic;
}

.content-info hr {
    margin: 1.5em 0;
}

/* The design sets the edges of the block. Nothing inside it should add to
   them, or a custom page sits lower than every other page in the same slot. */
.content-info > :first-child {
    margin-top: 0;
}

.content-info > :last-child {
    margin-bottom: 0;
}
