/* ─── Pagination ──────────────────────────────────────────────────────
   Archive / search page nav. 44px tap targets; current page brand-filled;
   disabled prev/next muted + non-interactive. !important on color fights
   per-client a:visited (matching :visited rule below). */
.hzo-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--space-sm); list-style: none; margin: var(--space-xl) 0 0; padding: 0; }
.hzo-pagination__link {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; padding: 0 var(--space-smd);
    font-family: var(--font-body); font-weight: var(--fw-600, 600); font-size: 15px;
    color: var(--brand-text) !important; text-decoration: none;
    border: var(--border-1) solid var(--border); border-radius: var(--radius-control);
    transition: background var(--transition-base), border-color var(--transition-base), color var(--transition-base);
}
.hzo-pagination__link:hover { background: var(--brand-pale); border-color: var(--brand); color: var(--brand-text) !important; }
.hzo-pagination__link:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.hzo-pagination__link.is-current { background: var(--brand) !important; border-color: var(--brand); color: var(--text-on-brand) !important; pointer-events: none; }
.hzo-pagination__link.is-disabled,
.hzo-pagination__link[aria-disabled="true"] { color: var(--text-muted) !important; pointer-events: none; opacity: 0.6; }
.hzo-pagination__link:visited { color: var(--brand-text) !important; }

/* ─── G20: WP query-loop + WooCommerce archive pagination ─────────────────────
   WP emits a.page-numbers / span.page-numbers.current inside
   .wp-block-query-pagination (block) and .woocommerce-pagination (WC). Give them
   the SAME 44px-tap, brand-current pager look instead of raw theme defaults. */
.wp-block-query-pagination,
.woocommerce-pagination .page-numbers:not(li) {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: var(--space-sm); margin: var(--space-xl) 0 0; list-style: none; padding: 0;
}
.wp-block-query-pagination-numbers { display: inline-flex; flex-wrap: wrap; gap: var(--space-sm); }
.page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; padding: 0 12px;
    font-family: var(--font-body); font-weight: var(--fw-semibold, 600); font-size: 15px;
    color: var(--brand-text) !important; text-decoration: none;
    border: 1px solid var(--border); border-radius: var(--radius-input);
    transition: background var(--transition-base), border-color var(--transition-base), color var(--transition-base);
}
a.page-numbers:hover,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover { background: var(--brand-pale); border-color: var(--brand); color: var(--brand-text) !important; }
a.page-numbers:focus-visible,
.wp-block-query-pagination-previous:focus-visible,
.wp-block-query-pagination-next:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.page-numbers.current { background: var(--brand) !important; border-color: var(--brand); color: var(--text-on-brand) !important; }
.page-numbers.dots { border-color: transparent; min-width: auto; padding: 0 4px; pointer-events: none; }
.page-numbers:visited { color: var(--brand-text) !important; }
