/* Platecraft Addons – pagination shared by the list widgets (Pagination kit):
   numbers, previous / next, arrows, "2 / 5", dots, Load more, infinite scroll. */
.pl-pages,
.pl-more {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--pl-pages-justify, center);
  gap: var(--pl-pages-gap, 8px);
  margin-top: var(--pl-pages-space, 36px);
}
.pl-more[hidden] {
  display: none;
}
.pl-pages .pl-page,
.pl-more .pl-more__btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-grow: var(--pl-page-grow, 0);
  min-width: var(--pl-page-w, 40px);
  min-height: var(--pl-page-h, 40px);
  margin: 0;
  padding: 6px 12px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 8px;
  background-color: transparent;
  box-shadow: var(--pl-pag-shadow, none);
  color: inherit;
  font: inherit;
  line-height: 1.2;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, width 0.25s ease;
}
.pl-pages a.pl-page:hover,
.pl-more .pl-more__btn:hover {
  border-color: currentColor;
  background-color: transparent;
  box-shadow: var(--pl-pag-shadow-h, var(--pl-pag-shadow, none));
  color: inherit;
}
.pl-pages .pl-page.is-current {
  border-color: #222;
  background-color: #222;
  color: #fff;
  cursor: default;
}
.pl-pages .pl-page.is-disabled {
  opacity: 0.4;
  cursor: default;
}
.pl-pages .pl-page--gap {
  flex-grow: 0;
  min-width: 0;
  padding-right: 2px;
  padding-left: 2px;
  border-color: transparent;
  cursor: default;
}
.pl-pages .pl-page__icon,
.pl-more .pl-page__icon {
  display: inline-flex;
  font-size: var(--pl-page-icon, 1em);
  line-height: 1;
}
.pl-pages .pl-page__icon svg,
.pl-more .pl-page__icon svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}

/* Arrows (and "2 / 5"): round icon buttons. */
.pl-pages--arrows .pl-page,
.pl-pages--fraction .pl-page {
  width: var(--pl-page-w, 44px);
  height: var(--pl-page-h, 44px);
  padding: 0;
  border-radius: 50%;
}
.pl-pages .pl-pages__fraction {
  min-width: 4em;
  font-weight: 600;
  text-align: center;
}

/* Dots: one per page. */
.pl-pages--dots .pl-page.pl-page--dot {
  flex-grow: 0;
  width: var(--pl-dot, 10px);
  min-width: 0;
  height: var(--pl-dot, 10px);
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background-color: var(--pl-dot-c, rgba(0, 0, 0, 0.2));
}
.pl-pages--dots .pl-page.pl-page--dot:hover {
  background-color: var(--pl-dot-active-c, #222);
}
.pl-pages--dots .pl-page.pl-page--dot.is-current {
  width: var(--pl-dot-active-w, 26px);
  background-color: var(--pl-dot-active-c, #222);
}

/* Load more / infinite scroll. */
.pl-more .pl-more__btn {
  padding: 10px 26px;
}
.pl-more .pl-more__btn:disabled {
  opacity: 0.6;
  cursor: progress;
}
.pl-more--infinite .pl-more__status {
  opacity: 0;
  transition: opacity 0.2s ease;
}
.pl-more.is-loading .pl-more__status,
.pl-more.is-done .pl-more__status {
  opacity: 1;
}

/* While a page loads, and the items it brings. */
.is-pl-loading .plp-items {
  opacity: 0.45;
  transition: opacity 0.2s ease;
}
@keyframes pl-item-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.plp-items > .pl-in {
  animation: pl-item-in 0.4s ease backwards;
}
@media (prefers-reduced-motion: reduce) {
  .plp-items > .pl-in {
    animation: none;
  }
}
