:root {
    --dstb-page-gap: clamp(14px, 1.6vw, 24px);
    --dstb-page-inline: clamp(8px, 1.7vw, 24px);
}

/* Derselbe Abstand trennt Inhalt sowohl vom Header als auch vom Footer. */
body > main,
body.is-homepage > main,
body.is-jevents-page > main,
body.is-auth-page > main {
    box-sizing: border-box;
    padding: var(--dstb-page-gap) var(--dstb-page-inline) !important;
}

body > main > .blog-container,
body.is-homepage > main > .blog-container,
body.is-jevents-page > main > .blog-container,
body.is-auth-page > main > .blog-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Semantische Hauptüberschrift jeder Unterseite. */
main .dstb-page-heading,
main h2.dstb-page-heading {
    margin: 0 0 clamp(14px, 1.7vw, 24px);
    color: #fff;
    font-size: clamp(1.75rem, 2.4vw, 2.8rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

body.is-homepage .sb-home-intro > h2:first-child {
    margin-top: 0 !important;
}

@media (max-width: 640px) {
    :root {
        --dstb-page-gap: 10px;
        --dstb-page-inline: 6px;
    }
}
