/* Shared public listing pagination. Kept separate from admin/Bootstrap controls. */
.gh-public.portal-inner main .public-pagination {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:12px 24px;
    margin-top:24px;
    padding-top:16px;
    border-top:1px solid #e2e8f0;
}
.gh-public.portal-inner main .public-pagination__summary {
    margin:0;
    color:#5b6d83;
    font-size:.8125rem;
    line-height:1.6;
}
.gh-public.portal-inner main .public-pagination__summary strong {
    color:#304863;
    font-weight:600;
    font-variant-numeric:tabular-nums;
}
.gh-public.portal-inner main .public-pagination__nav {
    min-width:0;
    max-width:100%;
    margin-inline-start:auto;
}
.gh-public.portal-inner main .public-pagination__controls {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:0;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    list-style:none;
}
.gh-public.portal-inner main .public-pagination__controls > li {
    display:flex;
    margin:0 0 0 -1px;
    padding:0;
}
.gh-public.portal-inner main .public-pagination__controls > li:first-child { margin-inline-start:0; }
.gh-public.portal-inner main .public-pagination__controls > li:first-child > .public-pagination__control { border-radius:6px 0 0 6px; }
.gh-public.portal-inner main .public-pagination__controls > li:last-child > .public-pagination__control { border-radius:0 6px 6px 0; }
.gh-public.portal-inner main .public-pagination__control {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:relative;
    min-width:40px;
    min-height:40px;
    padding:6px 9px;
    border:1px solid #d5dfed;
    border-radius:0;
    background:#fff;
    color:#254c7e;
    font-size:.8125rem;
    font-weight:500;
    line-height:1.4;
    font-variant-numeric:tabular-nums;
    text-align:center;
    text-decoration:none;
    white-space:nowrap;
}
.gh-public.portal-inner main .public-pagination__direction { padding-inline:9px; }
.gh-public.portal-inner main .public-pagination__chevron { display:block; width:18px; height:18px; flex:none; }
.gh-public.portal-inner main a.public-pagination__control:hover {
    background:#e8eff9;
    border-color:#cfdbeb;
    color:#123d76;
    text-decoration:none;
    z-index:1;
}
.gh-public.portal-inner main a.public-pagination__control:focus-visible {
    position:relative;
    z-index:1;
    outline:3px solid var(--page-primary,var(--gh-primary,#1554b7));
    outline-offset:2px;
    background:#fff;
    color:#123d76;
}
.gh-public.portal-inner main .public-pagination__control.is-current {
    z-index:1;
    border-color:var(--page-primary,var(--gh-primary,#1554b7));
    background:var(--page-primary,var(--gh-primary,#1554b7));
    color:#fff;
    font-weight:700;
}
.gh-public.portal-inner main .public-pagination__control.is-disabled {
    color:#96a4b7;
    background:#fafbfd;
    cursor:default;
}
.gh-public.portal-inner main .public-pagination__ellipsis {
    align-items:center;
    justify-content:center;
    min-width:32px;
    min-height:40px;
    border:1px solid #d5dfed;
    background:#fff;
    color:#65758b;
    font-size:.875rem;
}
@media (max-width:640px) {
    .gh-public.portal-inner main .public-pagination { gap:10px; margin-top:20px; padding-top:14px; }
    .gh-public.portal-inner main .public-pagination__summary { flex-basis:100%; }
    .gh-public.portal-inner main .public-pagination__nav { margin-inline-start:0; }
    .gh-public.portal-inner main .public-pagination__controls { justify-content:flex-start; }
    .gh-public.portal-inner main .public-pagination__control { min-width:44px; min-height:44px; }
    .gh-public.portal-inner main .public-pagination__ellipsis { min-height:44px; }
}
@media (forced-colors:active) {
    .gh-public.portal-inner main .public-pagination__control.is-current { border:2px solid Highlight; }
    .gh-public.portal-inner main a.public-pagination__control:focus-visible { outline-color:Highlight; }
}
@media print {
    .gh-public.portal-inner main .public-pagination { display:none; }
}
