/**
 * Standard table pagination (wfPrintTableFooter / WFUiPagination / printPagination).
 */

.wf-ui-pagination-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

.wf-ui-pagination {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  width: 100%;
}

.wf-ui-pagination__range {
  color: var(--design-text-secondary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  max-width: 340px;
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wf-ui-pagination__nav {
  margin: 0;
}

.wf-ui-pagination__list {
  align-items: center;
  display: flex;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.wf-ui-pagination__item {
  display: flex;
  list-style: none;
}

.wf-ui-pagination-footer .wf-ui-pagination__link {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--design-border-radius);
  box-shadow: none;
  color: var(--design-text-secondary);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  height: 32px;
  justify-content: center;
  line-height: 1;
  margin: 0;
  min-width: 32px;
  padding: 0 8px;
  text-align: center;
  text-decoration: none;
}

.wf-ui-pagination-footer a.wf-ui-pagination__link:hover {
  background: var(--design-bg-subtle);
  color: var(--design-text-primary);
}

.wf-ui-pagination-footer
  .wf-ui-pagination__item.active
  .wf-ui-pagination__link {
  background: var(--design-accent-cream);
  color: var(--design-primary);
  pointer-events: none;
}

.dark_theme
  .wf-ui-pagination-footer
  .wf-ui-pagination__item.active
  .wf-ui-pagination__link {
  color: var(--design-text-primary);
}

.wf-ui-pagination-footer
  .wf-ui-pagination__item.disabled
  .wf-ui-pagination__link {
  background: transparent;
  color: var(--design-text-muted);
  opacity: 0.6;
  pointer-events: none;
}

.wf-ui-pagination-footer
  .wf-ui-pagination__item--arrow
  .wf-ui-pagination__link {
  font-size: 24px;
  font-weight: 400;
  padding-bottom: 2px;
}

.wf-ui-pagination-footer
  .wf-ui-pagination__item--ellipsis
  .wf-ui-pagination__link {
  min-width: 28px;
  padding: 0 4px;
}

@media (max-width: 992px) {
  .wf_descktop_block + .wf-ui-pagination-footer {
    display: none;
  }
}

@media (max-width: 768px) {
  .wf-ui-pagination-footer {
    justify-content: stretch;
    margin-top: 12px;
  }

  .wf_mobile_block .wf-ui-pagination-footer {
    margin-top: 12px;
  }

  .wf-ui-pagination {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .wf-ui-pagination__range {
    font-size: 13px;
    max-width: 100%;
    text-align: center;
    white-space: nowrap;
  }

  .wf-ui-pagination__nav {
    width: 100%;
  }

  .wf-ui-pagination__list {
    gap: 8px;
    justify-content: center;
    width: 100%;
  }

  /* Скрываем лишние номера и многоточие — остаются стрелки и активная страница */
  .wf-ui-pagination__item:not(.wf-ui-pagination__item--arrow):not(.active),
  .wf-ui-pagination__item--ellipsis {
    display: none;
  }

  .wf-ui-pagination__item--arrow .wf-ui-pagination__link {
    font-size: 28px;
    height: 40px;
    min-width: 40px;
    padding: 0;
  }

  .wf-ui-pagination__item.active .wf-ui-pagination__link {
    font-size: 15px;
    height: 40px;
    min-width: 40px;
    padding: 0 12px;
  }
}

/* DataTables pagination inside redesigned table wrapper. */
.wf_design_table_wrapper .dataTables_wrapper > .row:last-child {
  align-items: center;
  margin-top: 16px;
}

.wf_design_table_wrapper .dataTables_info {
  color: var(--design-text-secondary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  max-width: 341px;
  overflow: hidden;
  padding: 0;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wf_design_table_wrapper .dataTables_paginate {
  margin: 0;
}

.wf_design_table_wrapper .dataTables_paginate .pagination {
  align-items: center;
  display: flex;
  gap: 4px;
  justify-content: flex-end;
  margin: 0;
}

.wf_design_table_wrapper .dataTables_paginate .page-item {
  display: flex;
  margin: 0;
}

.wf_design_table_wrapper .dataTables_paginate .page-link {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  color: var(--design-text-secondary);
  display: flex;
  font-size: 14px;
  font-weight: 600;
  height: 32px;
  justify-content: center;
  line-height: 1;
  min-width: 32px;
  padding: 0 8px;
  text-align: center;
}

.wf_design_table_wrapper .dataTables_paginate .page-link:hover,
.wf_design_table_wrapper .dataTables_paginate .page-link:focus {
  background: var(--design-bg-subtle);
  color: var(--design-text-primary);
}

.wf_design_table_wrapper .dataTables_paginate .page-item.active .page-link {
  background: var(--design-accent-cream);
  color: var(--design-primary);
  pointer-events: none;
}

.wf_design_table_wrapper .dataTables_paginate .page-item.disabled .page-link {
  background: transparent;
  color: var(--design-text-muted);
  opacity: 0.6;
  pointer-events: none;
}

.wf_design_table_wrapper
  .dataTables_paginate
  .page-item:is(.previous, .next)
  .page-link {
  font-size: 24px;
  font-weight: 400;
  padding-bottom: 2px;
}

@media (max-width: 768px) {
  .wf_design_table_wrapper .dataTables_wrapper > .row:last-child {
    gap: 10px;
  }

  .wf_design_table_wrapper .dataTables_info {
    max-width: 100%;
    text-align: center;
  }

  .wf_design_table_wrapper .dataTables_paginate .pagination {
    gap: 8px;
    justify-content: center;
  }
}
