/*
 * Original Design Specifications
 * Target: > 1800px
 * Test Resolution: 1920 x 1080
 */
:root {
  --pagination-gap: 2.5rem;
  --pagination-list-gap: 2rem;
  --pagination-button-dimensions: 3rem;
  --pagination-button-icon-dimensions: 2rem;
  --pagination-button-disabled-opacity: 0.5;
  --pagination-button-icon-disabled-opacity: 0.5;
  --pagination-list-item-current-font-weight: 600;
}

/*
 * 2XL Media Query (1536px)
 * Target: 1799px > 1536px
 * Test Resolution: 1536 x 864
 */
@media screen and (max-width: 1799px) {
  :root {
    --pagination-gap: 2.2rem;
    --pagination-list-gap: 1.8rem;
    --pagination-button-dimensions: 2.8rem;
    --pagination-button-icon-dimensions: 1.8rem;
  }
}

/*
 * XL Media Query (1280px)
 * Target: 1535px > 1280px
 * Test Resolution: 1280 x 720
 */
@media screen and (max-width: 1535px) {
  :root {
    --pagination-gap: 2rem;
    --pagination-list-gap: 1.6rem;
    --pagination-button-dimensions: 2.6rem;
    --pagination-button-icon-dimensions: 1.6rem;
  }
}

/*
 * L Media Query (1024px)
 * Target: 1279px > 1024px
 * Test Resolution: 1024 x 768
 */
@media screen and (max-width: 1279px) {
  :root {
    --pagination-gap: 1.8rem;
    --pagination-list-gap: 1.4rem;
    --pagination-button-dimensions: 2.4rem;
    --pagination-button-icon-dimensions: 1.4rem;
  }
}

/*
 * S Media Query (640px)
 * Target: < 767px
 * Test Resolution: 390 x 844
 */
@media screen and (max-width: 767px) {
  :root {
    --pagination-gap: 1.5rem;
    --pagination-list-gap: 1.2rem;
    --pagination-button-dimensions: 2rem;
    --pagination-button-icon-dimensions: 1rem;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--pagination-gap);
}

.pagination-list {
  display: flex;
  gap: var(--pagination-list-gap);
}

.pagination-button {
  width: var(--pagination-button-dimensions);
  height: var(--pagination-button-dimensions);
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagination-button-icon {
  width: var(--pagination-button-icon-dimensions);
  height: var(--pagination-button-icon-dimensions);
  object-fit: contain;
}

.pagination-button.is-disabled {
  cursor: pointer;
  opacity: var(--pagination-button-disabled-opacity);
}

.pagination-button.is-disabled .pagination-button-icon {
  opacity: var(--pagination-button-icon-disabled-opacity);
}

.pagination-button-icon > svg > path {
  fill: var(--theme-color-border);
}

.pagination-button-previous-icon {
  transform: rotate(180deg);
}

.pagination-list-item .current {
  font-weight: var(--pagination-list-item-current-font-weight);
}
