/*
 * Pagination
 *
 * Index
 * - Pagination
 * - Page item
 * - List group item
 * - List group label
 * - List group button
 * - List multiple choice
 *
 */


/* PAGINATION
 -------------------- */

.pagination {
  display: flex;
  align-items: center;
  padding-left: 0;
  margin: 0;
  font-family: var(--road-font);
  font-size: var(--road-button-small);
  line-height: 1.5;
  color: var(--road-on-surface);
  list-style: none;
}

/* PAGE ITEM
 -------------------- */

.page-item {
  margin: 0 0.125rem;
}

.page-item:first-child {
  margin: 0 0.5rem 0 0;
}

.page-item:last-child {
  margin: 0 0 0 0.5rem;
}

/* PAGE LINK
 -------------------- */

.page-link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0.5rem;
  color: var(--road-on-surface);
  background: var(--road-surface);
  border-radius: 0.25rem;
  outline: 0;
}

/**
 * Active state
 */

.active .page-link {
  color: var(--road-on-button-primary);
  background: var(--road-button-primary);
}

/**
 * Hover state
 */

@media (hover: hover) {

  .page-link:hover {
    color: var(--road-on-button-primary);
    background: var(--road-button-primary-variant);
  }
}

/**
 * Focus on Tab
 */

.page-link.focus-visible {
  color: var(--road-on-button-primary);
  background: var(--road-button-primary-variant);
}

/* PAGE BUTTON
 -------------------- */

.page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  color: var(--road-on-surface);
  border-radius: 3rem;
  outline: none;
}

/**
 * Disabled state
 */

.page-btn.disabled {
  color: var(--road-on-surface-disabled);
  cursor: not-allowed;
}

/**
 * Hover state
 */

@media (hover: hover) {

  .page-btn:not(.disabled):hover {
    color: var(--road-on-button-primary);
    background: var(--road-button-primary-variant);
  }
}

/**
 * Focus on Tab
 */

.page-btn.focus-visible {
  color: var(--road-on-button-primary);
  background: var(--road-button-primary-variant);
}

/* PAGE ICON
 -------------------- */

.page-icon {
  width: 2rem;
  height: 2rem;
  fill: currentColor;
}

.page-icon-prev {
  transform: rotate(180deg);
}
