/**
 * WooCommerce shop pagination — Horizon Core.
 *
 * HORIZON-20260901-081.
 *
 * ⛔⛔ WHY THIS IS IN CORE AND NOT IN A THEME. `woocommerce_pagination()` emits
 * a bare `<ul class="page-numbers">`, and WooCommerce ships no styling for it
 * once a theme drops Woo's own stylesheets (every Horizon theme does, via
 * `add_filter('woocommerce_enqueue_styles', '__return_empty_array')`). Measured
 * 2026-09-01: of the six themes on the fleet, only `wp-child-theme-commerce`
 * carried a rule for it, so three stores (32, 28 and
 * 20 products) were serving a raw bulleted list with default blue links
 * under the product grid — two live client sites and the CEO's own store.
 * `store`, `star` and `fetish` were not affected only because their catalogues
 * are under one page, so they would have inherited the defect on growth.
 *
 * ⭐ The rules are lifted from `wp-child-theme-commerce/assets/css/hp-shop.css`
 * (the one theme that had them) rather than re-designed, so the tenant already
 * styled correctly cannot see a change. Same reasoning as the links-panel hoist:
 * identity is what makes "no tenant sees a rendering change" checkable.
 *
 * ⚠️ THE ONLY DELIBERATE DEVIATION FROM THAT SOURCE: every `var()` carries a
 * fallback. The network root runs stock `twentytwentyfive` with WooCommerce
 * active and defines no `--hp-*` token at all, so the token-only form would
 * resolve to `initial` there and render worse than the unstyled list it
 * replaces. On every Horizon theme the tokens are defined (verified on
 * entertainer, dark-luxury and a per-client theme), so the fallback never applies
 * and the computed result is identical to the commerce original.
 *
 * ⛔ Enqueued with NO dependency array — see `Commerce/storefront-styles.php`.
 *
 * @package Horizon_Core
 */

.woocommerce-pagination {
  margin-top: var(--hp-sp-10, 2.5rem);
  display: flex;
  justify-content: center;
}

.woocommerce-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap; /* HORIZON-20261005-043: seven pages + arrow at 44px each overflowed a 375px phone by 19px */
  justify-content: center;
  align-items: center;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-pagination ul.page-numbers li {
  margin: 0;
  padding: 0;
}

/* Kills the bullet. This pair is the whole visible defect on an unstyled
   theme — the list rendered as bullets with default link colours. */
.woocommerce-pagination ul.page-numbers li::before,
.woocommerce-pagination ul.page-numbers li::marker {
  display: none;
  content: none;
}

.woocommerce-pagination ul.page-numbers .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--hp-border, #e0e0e0);
  border-radius: var(--hp-r-sm, 4px);
  background: transparent;
  color: var(--hp-text-muted, #666666);
  font-size: var(--hp-text-sm, 0.875rem);
  font-weight: 500;
  text-decoration: none;
  transition: border-color var(--hp-dur, 150ms) var(--hp-ease, ease),
              color var(--hp-dur, 150ms) var(--hp-ease, ease),
              background var(--hp-dur, 150ms) var(--hp-ease, ease);
}

.woocommerce-pagination ul.page-numbers .page-numbers:hover {
  border-color: var(--hp-text, #1a1a1a);
  color: var(--hp-text, #1a1a1a);
}

.woocommerce-pagination ul.page-numbers .page-numbers.current {
  background: var(--hp-text, #1a1a1a);
  border-color: var(--hp-text, #1a1a1a);
  color: var(--hp-bg, #ffffff);
  font-weight: 700;
  cursor: default;
}

.woocommerce-pagination ul.page-numbers .next,
.woocommerce-pagination ul.page-numbers .prev {
  letter-spacing: 0;
  font-size: 1rem;
  line-height: 1;
}

.woocommerce-pagination ul.page-numbers .dots {
  border: none;
  color: var(--hp-text-disabled, #aaaaaa);
  min-width: 24px;
  padding: 0;
  pointer-events: none;
}
