/* Shared vertical rhythm for all public posts and pages. */
.entry-content {
    --vn-space-paragraph: 18px;
    --vn-space-heading-before: 32px;
    --vn-space-heading-after: 22px;
    --vn-space-block: 28px;
    --vn-space-caption: 14px;
    --vn-space-after-caption: 22px;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.entry-content > blockquote,
.entry-content > table,
.entry-content > pre {
    margin-top: 0;
    margin-bottom: var(--vn-space-paragraph);
}

.entry-content > :is(h2, h3, h4) {
    margin-top: var(--vn-space-heading-before);
    margin-bottom: var(--vn-space-heading-after);
    line-height: 1.35;
}

.entry-content > :is(h2, h3, h4) + :is(p, ul, ol, figure, table, .vn-train-schedule, .vn-train-price, .vn-train-stops, .vn-train-summary) {
    margin-top: 0;
}

.entry-content > figure,
.entry-content > .wp-caption,
.entry-content > img {
    display: block;
    margin-top: var(--vn-space-block);
    margin-bottom: var(--vn-space-caption);
}

.entry-content > figure img,
.entry-content > .wp-caption img {
    display: block;
    margin: 0;
}

.entry-content > figure figcaption,
.entry-content > .wp-caption .wp-caption-text {
    margin-top: var(--vn-space-caption);
    margin-bottom: 0;
}

.entry-content > figure + *,
.entry-content > .wp-caption + * {
    margin-top: var(--vn-space-after-caption);
}

.entry-content > :is(.vn-train-summary, .vn-train-schedule, .vn-train-price, .vn-train-stops, .vn-train-weather, .datvetau, .datvemaybay, form) {
    margin-top: var(--vn-space-block);
    margin-bottom: var(--vn-space-block);
}

.entry-content > :is(.vn-train-summary, .vn-train-schedule, .vn-train-price, .vn-train-stops) + :is(.vn-train-summary, .vn-train-schedule, .vn-train-price, .vn-train-stops) {
    margin-top: var(--vn-space-paragraph);
}

.entry-content > .wp-block-group,
.entry-content > .wp-block-columns,
.entry-content > .wp-block-cover {
    margin-top: var(--vn-space-block);
    margin-bottom: var(--vn-space-block);
}

.entry-footer,
.inside-article > .post-image + .entry-footer {
    margin-top: 30px;
}

.entry-footer .cat-links,
.entry-footer .tags-links {
    display: block;
    margin: 0 0 14px;
}

.entry-footer + :is(.related-posts, .yarpp-related, .jp-relatedposts, .sharedaddy) {
    margin-top: 28px;
}

:is(.related-posts, .yarpp-related, .jp-relatedposts) {
    margin-bottom: 28px;
}

#secondary .widget {
    margin-bottom: 28px;
}

@media (max-width: 768px) {
    .entry-content {
        --vn-space-paragraph: 16px;
        --vn-space-heading-before: 28px;
        --vn-space-heading-after: 20px;
        --vn-space-block: 24px;
        --vn-space-after-caption: 20px;
    }
}
