/* ============================================================
   POST COMPONENT
   Single post view - hero image and markdown content styles
============================================================ */

/* Hero Image */
.post-hero {
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: calc(var(--spacing-unit) * 1.5);
    margin-top: calc(var(--spacing-unit) * 1.5);
    image-rendering: -webkit-optimize-contrast;
    image-rendering: auto;
}

/* Markdown Content Styles */
.post-content {
    padding-inline: var(--content-padding-inline);
}

.post-content h1 {
    font-size: var(--font-size-h1);
    margin: 1.5rem 0 1rem;
}

.post-content h2 {
    font-size: var(--font-size-h2);
    margin: 1.25rem 0 0.75rem;
}

.post-content h3 {
    font-size: var(--font-size-h3);
    margin: 1rem 0 0.5rem;
}

.post-content .heading-anchor {
    color: inherit;
    text-decoration: none;
}

.post-content .heading-anchor:hover {
    color: var(--color-link);
}

.post-content p {
    margin-bottom: var(--spacing-unit);
}

.post-content a {
    color: var(--color-link);
    text-decoration: underline;
    cursor: pointer;
}

.post-content a:hover {
    color: var(--color-link-hover);
}

.post-content strong {
    font-weight: 500;
}

.post-content em {
    font-style: italic;
}

.post-content ul,
.post-content ol {
    margin-bottom: var(--spacing-unit);
    padding-left: 1.5rem;
}

.post-content li {
    margin-bottom: 0.5rem;
}

.post-content blockquote {
    border-left: 3px solid var(--color-accent);
    padding-left: var(--spacing-unit);
    margin: var(--spacing-unit) 0;
    color: var(--color-text-muted);
    font-style: italic;
}

.post-content code {
    font-family: var(--font-mono);
    font-size: 0.9em;
    background-color: var(--color-code-bg);
    padding: 0.2em 0.4em;
    border-radius: 3px;
}

.post-content pre {
    background-color: var(--color-code-bg);
    padding: var(--spacing-unit);
    border-radius: 4px;
    overflow-x: auto;
    margin-bottom: var(--spacing-unit);
    /* Break out of content padding for full-width */
    margin-inline: calc(-1 * var(--content-padding-inline));
    padding-inline: calc(var(--spacing-unit) + var(--content-padding-inline));
}

.post-content pre code {
    background: none;
    padding: 0;
}

.post-content hr {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: calc(var(--spacing-unit) * 2) 0;
}

.post-content img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    /* Break out of content padding for full-width */
    margin-inline: calc(-1 * var(--content-padding-inline));
    width: calc(100% + 2 * var(--content-padding-inline));
}
