/* Animal list pagination – square controls, brand green, a11y focus */
.animal-pagination {
    --animal-pagination-green: #81b92f;
    --animal-pagination-green-text: #3f6e0c; /* darker for WCAG text on white */
    --animal-pagination-size: 2.75rem; /* ~44px touch target */
    margin: 1.25rem 0 1.75rem;
    text-align: center;
}

.animal-pagination__status {
    margin: 0 0 0.75rem;
    color: #4f4f4f;
    font-weight: 600;
    font-size: 1rem;
}

.animal-pagination__list,
ul.f3-widget-paginator.animal-pagination__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

.animal-pagination__item,
ul.f3-widget-paginator.animal-pagination__list li {
    display: block;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.animal-pagination__link,
ul.f3-widget-paginator.animal-pagination__list li a,
ul.f3-widget-paginator.animal-pagination__list li .animal-pagination__link--current {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--animal-pagination-size);
    min-height: var(--animal-pagination-size);
    padding: 0.35rem 0.5rem;
    border: 2px solid var(--animal-pagination-green);
    border-radius: 0.25rem;
    background: var(--animal-pagination-green);
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-align: center;
}

.animal-pagination__link:hover,
.animal-pagination__link:focus-visible,
ul.f3-widget-paginator.animal-pagination__list li a:hover,
ul.f3-widget-paginator.animal-pagination__list li a:focus-visible {
    background: #6fa028;
    border-color: #6fa028;
    color: #fff;
    text-decoration: none;
}

.animal-pagination__link:focus-visible,
ul.f3-widget-paginator.animal-pagination__list li a:focus-visible {
    outline: 3px solid #1a1a1a;
    outline-offset: 2px;
}

/* Current page: green text on white, green border (not a link) */
.animal-pagination__link--current,
ul.f3-widget-paginator.animal-pagination__list li.animal-pagination__item--current .animal-pagination__link--current,
ul.f3-widget-paginator.animal-pagination__list li.current {
    background: #fff;
    border-color: var(--animal-pagination-green);
    color: var(--animal-pagination-green-text);
    cursor: default;
    padding: 0;
}

.animal-pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--animal-pagination-size);
    min-height: var(--animal-pagination-size);
    color: #4f4f4f;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
    .animal-pagination__link {
        transition: none;
    }
}
