.rp-mobile-only { display: none !important; }
.rp-mobile-only[hidden] { display: none !important; }
.page-nav[data-ripro-pagination]:not(.infinite-scroll) {
    display: block;
}
.page-nav[data-ripro-pagination].mt-4:not(.infinite-scroll) { margin-top: 0 !important; }
.page-nav[data-ripro-pagination].mb-4:not(.infinite-scroll) { margin-bottom: 0 !important; }
.ripro-waterfall .rwf-nav:has(.ripro-pagination) { padding-top: 0; margin-block-end: 0; }

.ripro-pagination {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 4px; padding: var(--ripro-pagination-panel-padding, 10px) 8px;
    margin: var(--ripro-pagination-list-gap, 10px) 0 0; list-style: none;
    width: 100%; box-sizing: border-box;
    background: var(--ripro-surface, var(--ri-body-bg));
    border: var(--ripro-border-width, 1px) var(--ripro-border-style, solid) var(--ripro-border, var(--ri-border-color));
    border-radius: var(--ripro-radius, 0);
}
:is(.rwf-nav-top, [data-ripro-latest-pager="top"]) .ripro-pagination {
    margin-block: 0 var(--ripro-pagination-list-gap, 10px);
}
.ripro-pagination > li { display: flex; align-items: center; margin: 0; padding: 0; }
.ripro-pagination .rp-link, .ripro-pagination .rp-jump-input {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 28px; min-height: 28px; padding: 3px 9px; line-height: 1.5; font-size: 12px;
    color: var(--ripro-text, var(--ri-body-color)); background: var(--ripro-surface, var(--ri-body-bg));
    border: var(--ripro-border-width, 1px) var(--ripro-border-style, solid) var(--ripro-border, var(--ri-border-color)); border-radius: var(--ripro-radius, 0);
    text-decoration: none; white-space: nowrap; box-sizing: border-box;
}
.ripro-pagination .rp-link:hover { color: var(--ripro-primary, var(--ri-primary)); border-color: var(--ripro-primary, var(--ri-primary)); }
.ripro-pagination .rp-current, .ripro-pagination .rp-current:hover {
    color: var(--ripro-on-primary, #fff); background: var(--ripro-primary, var(--ri-primary)); border-color: var(--ripro-primary, var(--ri-primary));
}
.ripro-pagination .rp-link.rp-disabled { color: var(--ripro-muted, var(--ri-secondary-color)); background: var(--ripro-subtle, var(--ri-body-bg)); border-color: var(--ripro-border, var(--ri-border-color)); }
.ripro-pagination .rp-ellipsis { padding: 0 4px; color: var(--ripro-muted, var(--ri-secondary-color)); }
.ripro-pagination .rp-jump { display: flex; align-items: center; gap: 4px; margin: 0; white-space: nowrap; font-size: 12px; }
.ripro-pagination .rp-jump-input { width: 44px; padding-inline: 4px; text-align: center; font-family: inherit; }
.ripro-pagination .rp-jump-input:focus-visible, .ripro-pagination a:focus-visible { outline: 2px solid var(--ripro-primary, var(--ri-primary)); outline-offset: 2px; }
.rp-jump-error { margin: 8px 0; color: var(--ripro-danger, var(--ri-danger)); text-align: center; }
.ripro-pagination-dialog { width: min(380px, calc(100% - 32px)); max-width: 100%; position: fixed; padding: 24px; text-align: center; }
.ripro-pagination-dialog::backdrop { background: rgb(0 0 0 / 35%); }
.ripro-pagination-dialog:not([open]) { display: none; }
.ripro-pagination-dialog h3 { margin: 0 0 12px; padding-inline: 8px; }
.ripro-pagination-dialog p, .ripro-pagination-gate p { overflow-wrap: anywhere; }
.ripro-pagination-dialog .rp-close-form { margin: 0; }
.ripro-pagination-dialog .rp-close { position: absolute; inset: 4px 4px auto auto; border: 0; padding: 2px 10px; color: inherit; background: transparent; font-size: 20px; }
.ripro-pagination-dialog, .ripro-pagination-gate { color: var(--ripro-text, var(--ri-body-color)); background: var(--ripro-surface, var(--ri-body-bg)); border: var(--ripro-border-width, 1px) var(--ripro-border-style, solid) var(--ripro-border, var(--ri-border-color)); border-radius: var(--ripro-radius, 0); }
.ripro-pagination-gate { max-width: 700px; margin: 0 auto; padding: 24px; }
.rp-auth-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.infinite-scroll-msg .rp-auth-actions { margin-top: 12px; }
.infinite-scroll-action .infinite-scroll-msg { text-align: center; }
@media (pointer: coarse) {
    .ripro-pagination .rp-link, .ripro-pagination .rp-jump-input { min-height: 44px; min-width: 36px; }
    .ripro-pagination .rp-jump-input { font-size: 16px; }
}
@media (max-width: 767px) {
    .rp-desktop-only { display: none !important; }
    .rp-mobile-only { display: block !important; width: 100%; }
    .page-nav[data-ripro-pagination].infinite-scroll .ripro-pagination { display: flex !important; }
    .page-nav[data-ripro-pagination] > .infinite-scroll-action { display: none !important; }
    .ripro-pagination { flex-wrap: nowrap; justify-content: space-between; }
    .ripro-pagination > .rp-number-item, .ripro-pagination > .rp-ellipsis { display: none; }
    .ripro-pagination > li { min-width: 0; }
    .ripro-pagination .rp-jump { gap: 3px; font-size: 12px; }
    body .ripro-pagination.pagination > li .rp-link,
    body .ripro-pagination.pagination > li .rp-jump-input {
        background: transparent !important; border: 0 !important; min-height: 44px;
    }
    .ripro-pagination .rp-link { padding-inline: 6px; white-space: normal; }
    body .ripro-pagination.pagination .rp-current,
    body.ripro-style-center .ripro-pagination.pagination .rp-current { color: var(--ripro-text, var(--ri-body-color)) !important; }
    .ripro-pagination .rp-jump-item { flex: 1; justify-content: center; }
    body .ripro-pagination.pagination .rp-jump .rp-jump-input {
        width: 3.4em; min-width: 0; padding-inline: 0;
        border-bottom: 1px solid var(--ripro-border, var(--ri-border-color)) !important;
    }
    .ripro-pagination .rp-disabled { opacity: .5; }
}
