.gfw-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  margin: 24px 0 0 0;
  font-family: inherit;
  font-size: .9em;

  .page-numbers {
    display: inline;
    background: none;
    font-size: 1rem;
    text-decoration: underline;
    border: none;
    border-radius: 0;
    padding: 0 6px;
    margin: 0 2px;
    cursor: pointer;
    transition: color 0.15s, text-decoration 0.15s;
    text-decoration: none;

    &:hover,
    &:focus {
      text-decoration: underline;
      outline: none;
    }
  }

  .page-numbers.current,
  .page-numbers[aria-current="page"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none;
    opacity: .5;
  }

  .page-numbers.next,
  .page-numbers.prev {
    background: none;
    border: none;

    &:hover,
    &:focus {
      text-decoration: underline;
    }
  }
}

/* Responsive styles for tablet and mobile */
@media (max-width: 768px) {
  .gfw-pagination {
    gap: 4px;
    margin-top: 16px;

    .page-numbers {
      font-size: 0.95rem;
      padding: 0 4px;
    }
  }
}

@media (max-width: 480px) {
  .gfw-pagination {
    gap: 2px;
    margin-top: 12px;

    .page-numbers {
      font-size: 0.9rem;
      padding: 0 2px;
    }
  }
}
