/* Page controls are bounded UI, independent of the fluid photography canvas. */
.dp-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 var(--dp-line); font-size: 14px; line-height: 1.3; }
.dp-pagination__summary { margin: 0; color: var(--dp-muted); font-size: 13px; }
.dp-pagination__controls { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; max-width: 100%; }
.dp-pagination__pages { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.dp-pagination__number, .dp-pagination__step { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 10px; border: 1px solid var(--dp-line); border-radius: 10px; background: var(--dp-surface); color: var(--dp-ink); text-decoration: none; font-size: 14px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.dp-pagination__number[aria-current="page"] { background: var(--dp-primary); border-color: var(--dp-primary); color: white; }
.dp-pagination [aria-disabled="true"] { opacity: .45; }
.dp-pagination a:hover { background: #ece7ff; border-color: var(--dp-primary); color: var(--dp-primary-strong); }
.dp-pagination a:focus-visible { outline: 3px solid var(--dp-primary); outline-offset: 3px; }
.dp-pagination__ellipsis { width: 16px; text-align: center; color: var(--dp-muted); }
#catalog-results, #flat-results { scroll-margin-top: 140px; }
@media (max-width: 600px) {
    .dp-pagination { justify-content: center; gap: 12px; }
    .dp-pagination__summary { flex-basis: 100%; text-align: center; }
    .dp-pagination__controls { width: 100%; grid-template-columns: 1fr 1fr; gap: 10px; }
    .dp-pagination__pages { grid-row: 1; grid-column: 1 / -1; }
    .dp-pagination__step { grid-row: 2; }
    #catalog-results, #flat-results { scroll-margin-top: 80px; }
}
