.academy-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-block: 20px 4px;
    padding: 16px;
    border: 1px solid hsl(var(--primary, 216 98% 52%) / .12);
    border-radius: var(--radius, .75rem);
    background: linear-gradient(135deg, hsl(var(--card, 0 0% 100%)), var(--theme-primary-light, #EAF3FF));
    box-shadow: 0 2px 8px hsl(var(--primary, 216 98% 52%) / .04);
    font-size: 13px;
}

.academy-pagination__summary {
    display: grid;
    gap: 4px;
    color: var(--theme-primary-navy, #082A5E);
    font-weight: 800;
}

.academy-pagination__summary .muted {
    color: hsl(var(--muted-foreground, 215 16% 47%));
    font-size: 12px;
    font-weight: 500;
}

.academy-pagination__controls,
.academy-pagination__links,
.academy-pagination__jump {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.academy-pagination__controls { gap: 16px; }

.academy-pagination .academy-pagination__link,
.academy-pagination .academy-pagination__go {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid hsl(var(--primary, 216 98% 52%) / .16);
    border-radius: 12px;
    background: hsl(var(--card, 0 0% 100%));
    color: var(--theme-primary-dark, #0B3D91);
    text-decoration: none;
    font: inherit;
    font-weight: 800;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.academy-pagination .academy-pagination__link:hover:not([aria-disabled]):not([aria-current]) {
    background: var(--theme-primary-light, #EAF3FF);
    border-color: var(--theme-primary-dark, #0B3D91);
    box-shadow: 0 3px 8px hsl(var(--primary, 216 98% 52%) / .1);
    transform: translateY(-1px);
}

.academy-pagination .academy-pagination__link[aria-current],
.academy-pagination .academy-pagination__go {
    background: var(--theme-button-gradient, linear-gradient(135deg, #082A5E, #0B3D91 56%, #0A58CA));
    border-color: transparent;
    color: hsl(var(--primary-foreground, 0 0% 100%));
    box-shadow: 0 4px 10px hsl(var(--primary, 216 98% 52%) / .18);
}

.academy-pagination .academy-pagination__go { cursor: pointer; }

.academy-pagination .academy-pagination__go:hover {
    background: var(--theme-button-hover, linear-gradient(135deg, #061D42, #082A5E 55%, #0B3D91));
    box-shadow: 0 6px 14px hsl(var(--primary, 216 98% 52%) / .24);
    transform: translateY(-1px);
}

.academy-pagination .academy-pagination__link[aria-disabled] {
    border-color: hsl(var(--border, 0 0% 88%) / .65);
    background: hsl(var(--muted, 0 0% 94%) / .5);
    color: hsl(var(--muted-foreground, 215 16% 47%) / .65);
    cursor: default;
    box-shadow: none;
}

.academy-pagination__ellipsis {
    padding-inline: 3px;
    color: hsl(var(--muted-foreground, 215 16% 47%));
}

.academy-pagination__jump label {
    color: var(--theme-primary-navy, #082A5E);
    font-weight: 700;
}

.academy-pagination .academy-pagination__input {
    width: 68px;
    min-height: 42px;
    padding: 8px;
    border: 1px solid hsl(var(--primary, 216 98% 52%) / .22);
    border-radius: 12px;
    background: hsl(var(--card, 0 0% 100%));
    color: var(--theme-primary-navy, #082A5E);
    font: inherit;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: center;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.academy-pagination a:focus-visible,
.academy-pagination button:focus-visible,
.academy-pagination input:focus-visible {
    outline: 3px solid var(--theme-focus-ring, #0B3D91);
    outline-offset: 3px;
    box-shadow: 0 0 0 5px hsl(var(--primary, 216 98% 52%) / .12);
}

.academy-pagination__error {
    flex-basis: 100%;
    color: hsl(var(--destructive, 0 72% 51%));
    font-size: 13px;
}

.academy-pagination__error:empty { display: none; }

@media (max-width: 640px) {
    .academy-pagination { padding: 14px 10px; }
    .academy-pagination,
    .academy-pagination__controls { width: 100%; }
    .academy-pagination__controls { justify-content: center; gap: 12px; }
    .academy-pagination__summary { width: 100%; text-align: center; }
    .academy-pagination .academy-pagination__number,
    .academy-pagination__ellipsis,
    .academy-pagination .academy-pagination__edge { display: none; }
    .academy-pagination .academy-pagination__number[aria-current] { display: inline-flex; }
    .academy-pagination__jump { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
    .academy-pagination .academy-pagination__link,
    .academy-pagination .academy-pagination__go,
    .academy-pagination .academy-pagination__input { transition: none; }
    .academy-pagination .academy-pagination__link:hover,
    .academy-pagination .academy-pagination__go:hover { transform: none; }
}
