/* 
 * Shared Markdown Content Styling
 * 
 * Usage: Add the class "markdown-content" to any container that displays markdown-converted HTML
 * 
 * Example:
 * <div class="markdown-content">
 *     @((MarkupString)MarkdownService.ToHtml(content))
 * </div>
 * 
 * This provides consistent styling for:
 * - Headings (h1-h6) with proper hierarchy and borders
 * - Lists (ul/ol) with proper indentation and bullet points
 * - Tables with alternating row colors and borders
 * - Code blocks and inline code with background colors
 * - Blockquotes with left border styling
 * - Links with hover effects
 * - Responsive design for mobile devices
 * - Dark theme support
 */
.markdown-content {
    line-height: 1.6;
    color: var(--mud-palette-text-primary);
    font-family: var(--mud-typography-default-family);
    font-size: var(--mud-typography-body1-size);
}

/* Force proper list styling even if global CSS resets interfere */
.markdown-content ul,
.markdown-content ol {
    display: block !important;
}

.markdown-content li {
    display: list-item !important;
}

.markdown-content h1,
.markdown-content h2,
.markdown-content h3,
.markdown-content h4,
.markdown-content h5,
.markdown-content h6 {
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    font-family: var(--mud-typography-default-family);
}

.markdown-content h1 {
    font-size: 1.5rem;
    border-bottom: 2px solid var(--mud-palette-divider);
    padding-bottom: 0.3rem;
}

.markdown-content h2 {
    font-size: 1.3rem;
    border-bottom: 1px solid var(--mud-palette-divider);
    padding-bottom: 0.2rem;
}

.markdown-content h3 {
    font-size: 1.1rem;
}

.markdown-content p {
    margin-bottom: 1rem;
}

.markdown-content ul,
.markdown-content ol {
    margin-bottom: 1rem;
    padding-left: 2rem;
    margin-left: 0;
}

.markdown-content ul {
    list-style-type: disc;
    list-style-position: outside;
}

.markdown-content ol {
    list-style-type: decimal;
    list-style-position: outside;
}

.markdown-content ul ul {
    list-style-type: circle;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.markdown-content ul ul ul {
    list-style-type: square;
}

.markdown-content li {
    margin-bottom: 0.25rem;
    padding-left: 0.25rem;
}

.markdown-content blockquote {
    border-left: 4px solid var(--mud-palette-primary);
    margin: 1rem 0;
    padding: 0.5rem 1rem;
    background-color: var(--mud-palette-background-grey);
    font-style: italic;
    border-radius: 4px;
}

.markdown-content code {
    background-color: var(--mud-palette-background-grey);
    padding: 0.2rem 0.4rem;
    border-radius: 3px;
    font-family: 'Courier New', monospace;
    font-size: 0.9rem;
    color: var(--mud-palette-text-primary);
}

.markdown-content pre {
    background-color: var(--mud-palette-background-grey);
    padding: 1rem;
    border-radius: 6px;
    overflow-x: auto;
    margin: 1rem 0;
    border: 1px solid var(--mud-palette-divider);
}

.markdown-content pre code {
    background-color: transparent;
    padding: 0;
}

.markdown-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid var(--mud-palette-divider);
}

.markdown-content th,
.markdown-content td {
    border: 1px solid var(--mud-palette-divider);
    padding: 0.75rem;
    text-align: left;
}

.markdown-content th {
    background-color: var(--mud-palette-background-grey);
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.markdown-content tr:nth-child(even) {
    background-color: rgba(var(--mud-palette-background-grey-rgb), 0.3);
}

.markdown-content strong {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.markdown-content em {
    font-style: italic;
}

.markdown-content a {
    color: var(--mud-palette-primary);
    text-decoration: none;
    transition: color 0.2s ease;
}

.markdown-content a:hover {
    text-decoration: underline;
    color: var(--mud-palette-primary-darken);
}

/* Responsive design */
@media (max-width: 768px) {
    .markdown-content {
        font-size: 0.9rem;
    }
    
    .markdown-content h1 {
        font-size: 1.3rem;
    }
    
    .markdown-content h2 {
        font-size: 1.1rem;
    }
    
    .markdown-content h3 {
        font-size: 1rem;
    }
    
    .markdown-content ul,
    .markdown-content ol {
        padding-left: 1.5rem;
    }
    
    .markdown-content table {
        font-size: 0.8rem;
    }
    
    .markdown-content th,
    .markdown-content td {
        padding: 0.5rem;
    }
    
    .markdown-content pre {
        padding: 0.75rem;
        font-size: 0.8rem;
    }
}

/* Dark theme adjustments */
@media (prefers-color-scheme: dark) {
    .markdown-content blockquote {
        background-color: rgba(255, 255, 255, 0.05);
    }
    
    .markdown-content code {
        background-color: rgba(255, 255, 255, 0.1);
    }
    
    .markdown-content pre {
        background-color: rgba(255, 255, 255, 0.05);
        border-color: rgba(255, 255, 255, 0.1);
    }
} 