.ons-page {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    overflow-x: clip;
    width: 100%;
}

.ons-page__content {
    flex: 1 0 auto;
    // NOTE: padding-bottom: 1px fixes safari scroll issue
    // Issue number #862
    padding-bottom: 1px;
    position: relative;
}

.ons-page__main {
    margin: 2.5rem 0 4rem;

    @include mq('2xs', m) {
        margin-top: 1.5rem;
    }
}

// Adjust margin-top when .ons-page__main contains .ons-panel--error
.ons-breadcrumbs ~ .ons-grid .ons-grid__col .ons-page__main:has(.ons-panel--error) {
    margin-top: 1rem;
}

.ons-page__body {
    h2:not(.ons-document-list__item-title, .ons-details__title, .ons-card__title) {
        @extend .ons-u-fs-xl;
    }
    h3,
    h4,
    h5,
    h6 {
        margin-top: 2rem;
    }
    .ons-panel__body,
    .ons-details {
        h2,
        h3,
        h4,
        h5,
        h6 {
            margin-top: 0;
        }
    }
    h2:not(:first-child, .ons-card__title) {
        margin-top: 2.5rem;
    }
}
