/* Body styles for rendered announcement markdown.
   Shared between the customer announcement card and the admin preview so both
   show the same layout, type scale, list bullets, blockquote rule, etc.

   Lives outside Blazor's component CSS isolation because the rendered HTML
   comes from MarkupString — descendant selectors in scoped *.razor.css don't
   reach those elements without ::deep, and we want admin + customer to share
   one source of truth anyway. */

.announcement-body {
    word-break: break-word;
    hyphens: auto;
    color: #1C1C1C;
}

.announcement-body p {
    margin: 0.5rem 0;
    line-height: 1.5;
}

.announcement-body p:first-child { margin-top: 0; }
.announcement-body p:last-child { margin-bottom: 0; }

.announcement-body a {
    color: #1C1C1C;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: #F5B800;
}

.announcement-body h1,
.announcement-body h2,
.announcement-body h3,
.announcement-body h4,
.announcement-body h5,
.announcement-body h6 {
    color: #1C1C1C;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin: 0.75rem 0 0.4rem;
    line-height: 1.25;
}

.announcement-body h1 { font-size: 1.15rem; }
.announcement-body h2 { font-size: 1.05rem; }
.announcement-body h3 { font-size: 1rem; }
.announcement-body h4,
.announcement-body h5,
.announcement-body h6 { font-size: 0.95rem; }

/* Restore list bullets/numbers and emphasis weights that Tailwind preflight
   strips. Without these, ordered/unordered lists render as plain unindented
   runs and bold text loses its weight. */
.announcement-body ul,
.announcement-body ol {
    padding-left: 1.25rem;
    margin: 0.5rem 0;
}

.announcement-body ul { list-style: disc; }
.announcement-body ol { list-style: decimal; }
.announcement-body li { margin: 0.2rem 0; }

.announcement-body strong { font-weight: 700; }
.announcement-body em { font-style: italic; }
.announcement-body del { text-decoration: line-through; }

.announcement-body blockquote {
    margin: 0.6rem 0;
    padding: 0.1rem 0 0.1rem 0.85rem;
    border-left: 3px solid #E8D78A;
    color: #5B5B5B;
}

.announcement-body hr {
    border: 0;
    border-top: 1px solid #E4DFD1;
    margin: 0.75rem 0;
}

.announcement-body code {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    font-size: 0.9em;
    background: rgba(28, 28, 28, 0.06);
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
}

.announcement-body pre {
    font-family: 'JetBrains Mono', ui-monospace, monospace;
    background: rgba(28, 28, 28, 0.06);
    padding: 0.7rem 0.9rem;
    border-radius: 6px;
    margin: 0.75rem 0;
    overflow-x: auto;
}

.announcement-body pre code {
    background: transparent;
    padding: 0;
    border-radius: 0;
}

.announcement-body img {
    max-width: 100%;
    border-radius: 6px;
    margin: 0.5rem 0;
}
