/* Shared non-menu page headings. Keep legacy hooks and country overrides. */
:root {
    --page-heading-size: 28px;
    --page-heading-weight: 500;
    --page-heading-line-height: 1.3;
    --page-heading-color: var(--gray-900);
    --page-heading-space-before: 38px;
    --card-heading-space-before: 28px;
    --page-heading-space-after: 36px;
    --page-heading-icon-size: 38px;
}
.site-page-title,
:where(.team-page) #menuTexts #mainMenu .page-title:where(.site-page-title),
.repositories-menu h3,
.breadcrumbs li:where(:first-child),
.container.page.tariff-page .page-title {
    font-family: inherit;
    font-size: var(--page-heading-size);
    font-weight: var(--page-heading-weight);
    line-height: var(--page-heading-line-height);
    color: var(--page-heading-color);
    letter-spacing: normal;
    overflow-wrap: anywhere;
}
.site-page-title,
:where(.team-page) #menuTexts #mainMenu .page-title:where(.site-page-title),
.container.page.tariff-page .page-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-block: var(--page-heading-space-before) var(--page-heading-space-after);
    padding: 0;
}
.site-page-title > :where([data-target="#shareModal"]) { margin-inline-start: auto; flex: none; }
.site-page-title > a:where(:not(.page-heading-icon)) { color: inherit; }
/* Card titles retain their existing internal spacing. */
:where(.team-page) #menuTexts #mainMenu .page-title:where(.site-page-title) {
    margin-block-start: var(--card-heading-space-before);
}
/* The heading owns the top gap on repository pages. */
body > .container:where(:has(> .repositories-menu)) { margin-block-start: 0; }
.repositories-menu { padding-block: var(--page-heading-space-before) 14px; }
.repositories-menu h3 { margin-block: 0 var(--page-heading-space-after); }
.page-heading-icon,
.history-actions .step-actions a.icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: var(--page-heading-icon-size);
    height: var(--page-heading-icon-size);
    padding: 0;
    border: 0;
    border-radius: var(--radius-xlarge, 20px);
    background: var(--gray-0);
    color: var(--gray-900);
    font-size: 15px;
    line-height: 1;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
}
.page-heading-icon i,
.container.page.tariff-page .page-title :where(.page-heading-icon) i,
.container.page.tariff-page .page-title [data-toggle="modal"] i {
    font-size: 15px;
    color: inherit;
}
@media (max-width: 767px) {
    :root { --page-heading-size: 24px; --page-heading-space-before: 34px; --card-heading-space-before: 24px; --page-heading-space-after: 24px; }
    .site-page-title { gap: 8px; }
}

.breadcrumbs {
    padding-block: var(--page-heading-space-before) calc(var(--page-heading-space-after) - 16px);
}

@media screen and (max-width: 767px) {
    :where(.angular-resume) {
        --procedure-action-gap: 16px;
    }

    :where(.angular-resume) .breadcrumbs {
        border-bottom-color: transparent;
    }

    :where(.angular-resume:has(.procedure-actions > .panel-top)) .breadcrumbs {
        margin-block-end: var(--procedure-action-gap);
        padding-block-end: 0;
    }

    :where(.angular-resume .procedure-actions) .panel-top {
        margin-block-end: var(--procedure-action-gap);
    }

    :where(.angular-resume .procedure-actions .panel-top) .history-actions {
        margin-block-end: 0;
    }
}
