/* The master owns the banner-to-content gap. Keep page/card interior spacing separate. */
.e_page-shell.e_standard-page {
    --e-page-top-gap: 28px;
    padding-top: var(--e-page-top-gap);
}
.e_standard-page > .e_page-content {
    display: flow-root;
    margin-top: 0;
}
/* Explicit page roots also cover controls rendered inside ASP.NET UpdatePanels.
   !important overrides legacy inline spacing and Bootstrap spacing utilities. */
.e_standard-page :is(
    .e_public-page,
    .e_contact-enquiry,
    .e_confirm-request,
    .e_error-page,
    .e-message-page,
    .e_product-explorer,
    .e_auth-page,
    .e_name-inserts,
    .account-page,
    .terms-page,
    .checkout-shell,
    .e_trade,
    .e_standard-content-start
) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.e_standard-page .e_auth-page {
    min-height: auto;
    align-items: start;
}
/* Bootstrap gutters must not add a second gap above the first content row. */
.e_standard-page .e_support-layout-row,
.e_standard-page .e_support-layout-row > *,
.e_standard-page .e_name-inserts > .row:first-child,
.e_standard-page .e_name-inserts > .row:first-child > * {
    margin-top: 0;
}
@media (max-width: 767.98px) {
    .e_page-shell.e_standard-page { --e-page-top-gap: 16px; }
}
